Coder Social home page Coder Social logo

blogotext / blogotext Goto Github PK

View Code? Open in Web Editor NEW
135.0 17.0 31.0 3.34 MB

A little more than a lightweight SQLite Blog-Engine.

License: Other

PHP 73.69% CSS 15.54% HTML 1.07% JavaScript 9.70%
blogotext php blog blog-engine feed-reader booksmark bookmarks-manager

blogotext's Introduction

BlogoText

Build status

This is BlogoText, the lightweight SQLite Blog-Engine.


Features

  • Blog with comments and RSS feeds
  • Links sharing
  • RSS Reader
  • Images/Files uploading and sharing
  • JSON/ZIP/HTML import-export; WordPress import
  • Support Addons

BlogoText screenshot


Requirements

  • PHP > 5.5
  • SQLite or MySQL with PDO support
  • A CSS3 / HTML5 / ES6 compatible Browser, for the admin panel (Firefox, Chrome…)
  • min 2 Mo disk space (more data = more space needed)

Recommended PHP libraries

  • GD (for comments icons / favicons);
  • cURL (for RSS reader, links sharing, comments icons)
  • LibXML (for RSS reader)
  • GZip (for zip exporting function)
  • Intl
  • mbstring

Installation

  • Download the lastest release
  • Upload folder to your site (eg: to https://example.com/blog)
  • Use your browser to go to your site
  • Follow the few steps

blogotext's People

Contributors

bobotig avatar extragornax avatar krisxoofoo avatar locness3 avatar remrem avatar sbgodin avatar timovn avatar vtedesco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blogotext's Issues

[TODO later] Purge translations

I wrote un little Python script to find unused/obsoletes translations.

This is the output of the script find-translations.py:

$ python3 find-translations.py
Fichiers traités : 38
Traductions utilisées : 297

Traductions FR : 412
Traductions EN : 411

Traductions inutilisée FR : 115
Traductions inutilisée EN : 115
1 FR|EN install_remdp
2 FR|EN install_sqlite_no_more_todo
3 FR|EN le
4 FR|EN voir
5 FR|EN filtrer
6 FR|EN repondre
7 FR|EN depuis
8 FR|EN patientez
9 FR|EN secondes
10 FR|EN du
11 FR|EN et
12 FR|EN par
13 FR|EN ajoute
14 FR|EN trouve
15 FR|EN apercu
16 FR|EN label_time
17 FR|EN label_titre
18 FR|EN label_chapo
19 FR|EN label_contenu
20 FR|EN label_description
21 FR|EN label_motscles
22 FR|EN label_allowcomment
23 FR|EN label_image_ajout
24 FR|EN label_fichier_ajout
25 FR|EN label_feed_yours
26 FR|EN label_votre_image
27 FR|EN label_votre_fichier
28 FR|EN label_image_derniers
29 FR|EN label_afficher
30 FR|EN label_ok
31 FR|EN label_quote
32 FR|EN label_code
33 FR|EN label_article
34 FR|EN label_link
35 FR|EN label_element
36 FR|EN label_feed_entry
37 FR|EN label_feed_entrys
38 FR|EN label_fichier
39 FR|EN label_module
40 FR|EN label_note
41 FR|EN label_nouv_note
42 FR|EN label_categories
43 FR|EN label_edit_lien
44 FR|EN label_img_priv
45 FR|EN label_comm_priv
46 FR|EN label_type
47 FR|EN label_extension
48 FR|EN label_taille_fichier
49 FR|EN label_combien
50 FR|EN label_dp_lien
51 FR|EN label_dp_fichier
52 FR|EN label_dp_url
53 FR|EN label_dp_titre
54 FR|EN label_dp_tags
55 FR|EN aucun
56 FR|EN comment_is_visible
57 FR|EN comment_is_invisible
58 FR|EN link_is_public
59 FR|EN link_is_private
60 FR|EN aujourdhui
61 FR|EN hier
62 FR|EN err_prefs_write
63 FR|EN err_prefs_mdp_diff
64 FR|EN err_prefs_mdp_weak
65 FR|EN err_prefs_nbmax
66 FR|EN question_suppr_image
67 FR|EN confirm_article_suppr
68 FR|EN confirm_article_ajout
69 FR|EN confirm_article_maj
70 FR|EN confirm_fichier_ajout
71 FR|EN confirm_fichier_suppr
72 FR|EN confirm_fichier_edit
73 FR|EN confirm_prefs_maj
74 FR|EN confirm_comment_ajout
75 FR|EN confirm_comment_edit
76 FR|EN confirm_comment_valid
77 FR|EN confirm_link_ajout
78 FR|EN confirm_link_suppr
79 FR|EN confirm_link_edit
80 FR|EN confirm_feed_update
81 FR|EN confirm_feeds_edit
82 FR|EN confirm_feed_ajout
83 FR|EN error_image_add
84 FR|EN retour_liste
85 FR|EN bienvenue
86 FR|EN titre_identification
87 FR|EN titre_articles
88 FR|EN titre_preferences
89 FR|EN prefs_legend_image
90 FR|EN pref_commentaires
91 FR|EN note_no_link
92 FR|EN note_no_image
93 FR|EN note_no_fichier
94 FR|EN note_no_feed
95 FR|EN note_no_feed_entry
96 FR|EN bak_chooseaction
97 FR|EN bak_choosefile
98 FR|EN bak_number_articles
99 FR|EN bak_combien_images
100 FR|EN rss_label_unread
101 FR|EN maint_update_youisgood
102 FR|EN succes
103 FR|EN echec
104 FR|EN 0
105 FR|EN 1
106 FR|EN 2
107 FR|EN 3
108 FR|EN 4
109 FR|EN 5
110 FR|EN 6
111 FR|EN 7
112 FR|EN 8
113 FR|EN 9
114 FR|EN derniere_connexion_le
115 FR|EN cet_ordi

Perhaps we could check this after full addon support.

Database stockage

It is more a question than an issue, but still: is it possible to not stock posts formated? Could it be thinkable to have one raw storage in database (using BBCodes, like the one we edit) and only format it on display?

For now, if I want to apply changes into inc/*.php files, I have to edit one post to see effects. If formated text was not in DTB, it would be easier for modifications.

<p> appears when articles are invisibles

Hello,

When setting an article to invisible it would seem that the <p> stored about the chapô starts to appear in the description field of the html header as well as in the edition page of the admin panel (actually, I just checked, for these article it actually appears in the bt_abstract of the sql table while it does not for the others).

Not a major issue and this shouldn't be long to fix, if no one gets to it I'll have a look but someone who knows the structure of the code would do that way faster than I would.

Thanks for the amazing blog engine, I've been using it for a few month and it's amazing!

EDIT Ok, sorry, this is not related to the "invisible" article, I just updated from 3.0.1 to 3.3.7 and got confused. The title is now misleading but there is I believe an issue : when you write an article, then edit it, <p> start to appears in the chapô field and in the description field of the html header, and this is not normal.

Editeur markdown

Salut,

est-ce que ça t'intéresserait d'intégrer un éditeur Markdown dans blogotext ?
je l'ai dans la version perso, via Pagedown, l'éditeur de Stackoverflow (avec le livepreview).

Pour le moment l'éditeur d'origine et pagedown 'cohabitent', il suffit d'un flag 'md' dans l'URL pour passer de l'un à l'autre (je n'ai pas migré tous mes articles), mais on peut imaginer plutôt une option de configuration.

Si ça t'intéresse, je peux préparer une pull request dans la semaine

Kevin

Le chapô n'apparaît nul part

Bonjour,

J'ai fait l'installation très récemment de Blogotext, qui fonctionne très bien, à l'exception du chapô, je l'ai rempli mais j'ai l'impression qu'il ne sert finalement à rien car il ne s'affiche pas sur l'accueil du blog (où l'on voit tous les articles), ni sur l'article une fois ouvert, ni dans le RSS des articles. Il y a une manip à faire en plus ?

Je précise que les fichiers du thème sont bien ceux par défaut, notamment le template/article.html qui affiche {article_contenu} (d'ailleurs ne devrait-il pas plutôt être *chapô ?)

Merci d'avance

"DATE_PREMIER_MESSAGE_BLOG" pas maj après import d’articles plus anciens

Après installation de la version 3.4.7, j'ai essayé d'importer une vieille sauvegarde (de la version 3.3.7) via le fichier json.
Tout fonctionne bien, mis à part que le calendrier dans la sidebar n'affiche aucun article. Comme si les dates n'étaient pas reconnues...
J'ai du coup copier/coller le fichier database.sqlite dans l'espoir de r"soudre le bug, mais ça n'a strictement rien changé.

Une idée pour retrouver les dates ? Merci par avance !

Missing information when sharing an article on Facebook

Hello,
The title and lead description of the article I want to share on Facebook are not automatically retrieved by Facebook (OpenGraph ?). In place, the title and description of the site, and not of article, are retrieved.

See on capture http://imgur.com/rq5AYaZ
See also the original article I want to share http://www.morgangeek.be/blog/index.php?d=2014/01/02/12/32/16-la-selection-naturelle-de-contenus

i'm using theme Free-2.1 (which is using og:XXX tags), but it's the same result with default theme.

Thanks in advance.

Add link to article's comments RSS feed

BT provides a RSS comment feed feature (using the id attribute in rss.php). However, the article view does not provide a link to this feed, which means no one can use it.

It would be great to have a link, for example next to the form to post a comment on the article.

Smileys auto-conversion

Bonjour,
Une petite idée à 3 francs 6 sous : convertir automatiquement certaines chaines de caractères en leur équivalents émoticônes. (Pas des images, peut-être seulement une police).

Exemple :

:) -> ☺
:D -> 😃
:( -> ☹
;) -> 😉
:P -> 😋
:/ -> 😕
:'( -> 😢
oO -> 😮
x.x -> 😵


Share a draft or a private post

It could be helpful to have a link to share post with others. Possibilities are:

  • Show a draft to another person for feedbacks.
  • Have a private post to share with others. This is particularly interesting because we can use the entire blog engine for page sharing (including syntax highlighting).

Username characters set

On the dev branch, I can no longer use my username when validating the preferences form.
Is it possible to allow - and other signs like .? These are quite common.

parse_texte_paragraphs() broken

I finally found a track for my problem when there are lot of spaces added between blocks.
This line cannot understood hr blocks, because its format is not <hr></hr>. So, when I put a manual <hr> in a post, all following content is parsed as an inline element.

Another thing, I refactored this function (less capturing groups, less code repetitions), if you want I can send a PR and see if we can work on OR we try to fix this issue and then I will send a PR. If you are interested of course.

changement de mot de passe

j'ai testé sur plusieurs hébergeur le code OVH 1&1 Amen php 5.5 et + la procédure de changement de mot de passe ne semble pas fonctionner!
seule solution trouver: renommer le fichier config\user.ini qui contient le mot de passe pour relancer la procédure de re création d'un user.ini neuf avec un nouveau mot de passe.
ATTENTION (il faut bien sauvegarder avant car la base sql lite est re crée aussi...)

salutations

install blogotext

pour commencer bravo pour le travail accompli...

voila une petite proposition de modification du code:
dans de nombreux cas au moment du transfert les fichier avec des nom en majuscule se retrouve chez l'hébergeur un fois déposé en ftp en minuscule... c'est le cas des fichier de traduction:
inc\lang\fr_FR.php qui se retrouve en fr.php au lieu de FR.php

tout mettre en minuscule dés le départ ne serait il pas une bonne idée ?

cordialement

Erreur drag'n'drop dans Fichiers

Sur l'onglet Fichiers, la fonction drag'n'drop ne marche pas et impossible de voir les anciens uploads.

J'ai l'erreur suivante dans les logs apache:

PHP Fatal error: Call to undefined function js_drag_n_drop_handle() in /home/www/fichiers.php on line 162, referer: https://blog/fichiers.php?filtre=201606

J'ai revérifié les droits tout semble ok de ce coté la.

Merci pour ce super script ;)

[WIP] Full addons support

(I copied the PR discussion here to keep a trace.)

Work list:

  • [addon] add specific CSS and JS files (commit 5e684e4)
  • [addon] add optional URL for support (commit 95a08d3)
  • [addon] name and description translations (commit 95a08d3)
  • [admin] disable/enable addons (commit 5e684e4)
  • [admin] rework addons presentation (commit 3e69e11)
  • [admin] move the menu entry to the floating menu in the right corner (commit 3e69e11)
  • [admin] find an icon for the menu entry (commit 3e69e11)

Ideas:

  • [addon] add icon?
  • [admin] remove addons?

Missing something?

See addons/calendar/calendar.php for good explanations. There are few simple rules to follow when you write your own addon.


Important changes:

  • [themes] use {includes.css} between head blocks (like any CSS file) to include both current theme and addons styles
  • [themes] Use {includes.js} to include all JS files needed by addons (in the bottom page, do not load scripts in the head block)
  • [addons] for styles, do not add @charset, it is defined by default before any import
  • [addons] each addon has its own directory into addons based on this scheme: addons/addon_tag/addon_tag.php.

Breaking changes:

  • [addons] renamed "calendrier" to "calendar"
  • [addons] to include an addon, use this scheme: {addon_NAME} where NAME is the addon tag

Invalid token issue

The "invalid token error" spawn much too often in Ajax actions (addons, RSS, comments).

Ideas:
We definitely have to keep tokens though, for security reasons, but instead of using a token per query, we could use a token per page. It would be less secure, but what is actually used generates too much errors.

(see comments in pull request #67 )

Lire plus tard

Une idée pour le lecteur de flux rss.
Il y a actuellement une icône pour ajouter l'article dans les liens. De la même façon, il serait pratique d'avoir une icône "lire plus tard", qui permettrait de mettre l'article de côté un peu à la façon de wallabag mais en beaucoup plus léger.

Recherche par tag avec un seul résultat

Je viens de me rendre compte que lors d'une recherche par tag, s'il n'y a qu'un seul résultat, alors le titre de la page est le titre de l'article. C'est dans inc/them.php que ça se passe, voilà un exemple.
Étant donné que rien d'autre n'est utilisé dans ce cas, et pour garder la logique de la recherche simple, peut-on envisager de la supprimer ?

Add addons doc

Ajouter une documentation pour la création d'addons. Ainsi que la possibilité de mettre des dossiers qui ne seront pas considéré comme des addons mais qui sont nécessaire pour les addons.

Par exemple avec un underscore : "_twitterOauth/" comme ça les erreurs sont évitées.

Puis un manager de plugin, ou une liste pour voir les actifs :p

Vacuum not welcome for Mysql

Having a Blogotext configure with mysql, I do this:

  • I go into the maintenance page,
  • I choose cleanup database
  • I set Rebuilt/Clean up database to yes
  • I validate

I get the following message:

Erreur 1429 vacuum : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'VACUUM' at line 1

The error is triggered by admin/maintenance.php

$req = $GLOBALS['db_handle']->prepare('VACUUM');

As far as I know, the Mysql/Maria SGBD doesn't have any VACUUM command. It's for PostgreSQL and sqlite.

Envoi d'un mail à l'auteur d'un article lorsqu'un commentaire est posté.

Bonjour,
Une petite ligne en plus dans le fichier inc/util.php qui permet à l'auteur d'un article de recevoir un mail lorsqu'un commentaire est posté. Ça m'est bien utile alors je le pose là :

@@ -191,10 +191,15 @@
                        $to_send_mail[] = $comment['bt_email'];
                }
        }
+
+    // Add the article author email
+    $to_send_mail[] = $GLOBALS['email'];
+
        unset($liste_comments);
        if (empty($to_send_mail)) {
                return TRUE;
        }
+

        $subject = 'New comment on "'.$article_title.'" - '.$GLOBALS['nom_du_site'];
        $headers  = 'MIME-Version: 1.0'."\r\n".'Content-type: text/html; charset="UTF-8"'."\r\n";

Utilisation des branches pour les différentes version ?

Ne serais-ce pas mieux d'utiliser les branches pour les différentes versions / travaux ?

Exemple :

  • master
  • develop
  • ( pre-release-3 )

Travailler dans develop. Pour les pull-requests : forker Blogotext et les balancer aussi dans develop. Puis quand tout est ok, de merger le tout sur master ?
De cette manière, la branche master sera toujours la plus stable et la plus propre.

git checkout master
git merge --no-ff branche-a-merger-dans-master

Je ne prétend pas être un pro de Git, mais cela me semble mieux, qu'en pensez-vous ? 😄

Admin : erreur 404

Dans la liste des articles, les icônes pour les classes "on" et "off" n'existent plus. En l'occurrence admin/style/cross.png et admin/style/tick.png.

page statique + lien menu

Ca serait top de pouvoir ajouter une pae statique reprenant le design de notre template par défaut.

J'ai essayé de dupliqué le page index, mais dés qu'on touche au code, page blanche.

Quelqu'un a une idée?

[addon] partage sur réseaux sociaux

Je commence à bosser sur un plugin pour partage sur les réseaux sociaux. Je n'ai pas trouvé comment passer d'arguments à l'appel du plugin, donc il n'est disponible que si on affiche le post.
Niveau apparence, on peut peut-être faire mieux. Cependant, j'ai l'impression que même si on déclare un fichier style.css comme dans l'exemple de l'addon calendar, il n'est pas pris en compte. C'est pourquoi j'ai dû utiliser du css dans le html directement :/
À étudier et améliorer.

clean_text() confusion

I installed BlogoText from the dev branch and when editing/creating a post there are many slashes added to the abstract.
So, I looked for the function that add slashes and find that it is currently clean_txt() from inc/conv.php. I also found that many times you call stripslashes(clean_txt()), it seems confusing (I cleanup a little):

inc/conv.php:
htmlspecialchars(stripslashes(clean_txt(...)))

inc/fich.php:   
addslashes(clean_txt(htmlspecialchars(...)))
clean_txt(htmlspecialchars(...))
clean_txt(htmlspecialchars(...))
clean_txt(htmlspecialchars(...))
clean_txt(htmlspecialchars(...))
clean_txt(htmlspecialchars(...))
addslashes(clean_txt(htmlspecialchars(...)))
addslashes(clean_txt(htmlspecialchars(...)))
clean_txt(htmlspecialchars(...))
clean_txt(...)
clean_txt(trim(htmlspecialchars(...)))  # trim() is useless

inc/sqli.php:   
clean_txt(...);
stripslashes(clean_txt(...))
stripslashes(clean_txt(...))
htmlspecialchars(clean_txt(...))
stripslashes(clean_txt(...))
htmlspecialchars(stripslashes(clean_txt(...)))

inc/imgs.php:
stripslashes(clean_txt(...))
stripslashes(clean_txt(...))

The use of clean_txt with other functions is weird, sometimes repetitive or one cancels the other. Are you working on something unified and "less error prone"? Or I can just send a patch for the abstract issue.

Clean up all files

Do you think it is possible de remove trailing spaces/lines from all files? It will prevent commits with changed lines thant do not concern the commit purpose.

You could use this command to remove trailing spaces:

    find . \( -name "*.php" -o -name "*.html" -o -name "*.css" -o -name README.md -o -name LICENSE.txt \) -type f -print0 | xargs -0 perl -pi -e 's/ +$//'

It will ignore data files.

And to remove trailing lines on each file:

    find . \( -name "*.php" -o -name "*.html" -o -name "*.css" -o -name README.md -o -name LICENSE.txt \) -type f -print0 | xargs -0 sed -i -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba'

Sources:

markdown sur blogotext

hello timo c'est sick, moi qui utilise markdown comme github, pourquoi pas blogotext utiliserait le formatage de markdown au lieu du formatage par defaut ?

Probleme d'url pour les rss

Salut timo,

un truc plutot bête je pense,
les url flux rss générés dans le nuage de tag pour les liens sont (avec le tag bug par exemple):

rss.php?tag=buglinks

devraient plutot être:

rss.php?tag=bug&mode=links

J'ai creusé un peu pour voir ou ça se situe, si je me trompe pas ça serait la ligne 250 de inc/html.php ? mais pourquoi $mode nest pas set à la ligne 237, je n'en sais trop rien.
Enfin comme je maitrise fortement pas le php, y a toutes les chances que je me trompe, ou que ce soit déjà corrigé.
Le bug est résent sur la version actuelle de ton blog.

ton blogotext va avoir un nouvel utilisateur sous peu ;)
Et continue ainsi !

Contrainte de violation SQL.

Salut,

Depuis que j'ai restauré je ne peux plus créer de nouveaux articles j'ai ce message d'erreur à chaque fois :
J'utilise SQLite.

Erreur ajout article: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: articles.ID

J'ai mis la dernière version de blogotext et même topo.
C'est embêtant, car je n'ai pas trop envie de me coltiner le copier collé de tous mes articles à la main dans une nouvelle installe ... :/

Probème installation Mysql

Salut,
Lors d'une installation, au moment du choix Mysql (peut être aussi avec autre chose), les paramètres de la BDD n'apparaissent pas, tu peux donc pas les rentrer.
En effet, la div mysql_vars est en style display:none.

Éric

Ajouts de paramètres pour les addons

J'avais déjà lancé le sujet - #70 -
l'idée est de proposer aux développeurs d'addons de pouvoir mettre des paramètres modifiable via l'interface admin.

Les paramètres possibles et par défauts sont présentés dans le fichier .php de l'addon et les paramètres soumis par l'utilisateur sont enregistrés dans un fichier ini dans le répertoire de l'addon, ainsi, pas de requêtes SQL, en cas d'ajout/suppression de paramètre par le développeur lors de la mise à jour de son addon (array php), l'utilisateur ne perd pas sa config (ini).

Supprimer plusieurs articles

Bonjour,
j'utilise votre escellent moteur de blog,j'aimerais savoir si il est possible de supprimer plusirs articles en meme temps ?

Merci pour votre outil.

Lien RSS selon un tag spécifique

Bonjour Timo et premièrement merci pour blogotext.

Je voulais savoir s'il y avait moyen d'avoir un flux RSS spécifique à un tag ou si avec le flux RSS global du blog il était possible de filtrer les articles selon un tag précis. J'ai vu fans le fichier RSS qu'il y avait une histoire de mode pour les articles,commentaires et liens mais je ne suis pas assez calé pour comprendre.

Merci

Bug dev / install (1)

Petit bug dans l'install.

$GLOBALS['step'] = isset($_GET['s']) and is_numeric($_GET['s']) ? $_GET['s'] + 0 : 1;

$GLOBALS['step'] retourne 0

alors que
$GLOBALS['step'] = (isset($_GET['s']) and is_numeric($_GET['s'])) ? $_GET['s'] + 0 : 1;

$GLOBALS['step'] retourne 1

Mauvaise syntaxe sur la condition ternaire.

Update :
Apparemment, la plupart des conditions ternaires ont été modifiées () ? : ; pour ? : ;, personnellement je trouve ça moins lisible et pose des problèmes en cas de multiples conditions (voir ci-dessus), de plus, l'on risque de se retrouver avec deux syntaxes :
$v = ($a === true && $b === true) ? 'ok' : 'Nok' ;
$w = $a ===true ? 'ok' : 'Nok' ;
$x = $a === true;
Je propose que l'on garde le test conditionnel entre () :
$v = ($a === true && $b === true) ? 'ok' : 'Nok' ;
$w = ($a === true) ? 'ok' : 'Nok' ;
$x = ($a === true);

Plusieurs blogs sur different vhost

Salut,

je me suis mis recensement a blogotext, et il y a une fonctionnalité qui me manquait: accéder a différent blogs en fonction du nom du vhost.

Est-ce que ca t'interesserait pour la version officielle ?

une question annexe, c'est pourquoi la configuration se fait en PHP et pas dans la base de donnes ?

pour le moment j'ai garde cette organisation, mais au lieu d'aller chercher les infos dans config/, je vais plutot les prendre dans config/. Donc au niveau des fonctionnalités, je pense que rien ne change: si tu accedes pour la 1ere au blog depuis un vhost donnee, je ne trouve pas le dossier de config et le cree, ensuite il lit les infos PHP.

par contre j'ai du modifier le code pour remplacer tous les includes/tests du dossier config par $GLOBALS['dossier_config'], et dans inc/conf.php je set le nom de dossier en fonction du vhost. J'ai du aussi ajouter des includes de ce fichier en entêtes des fichiers PHP qui sont accede depuis le web.

qu'en penses tu ? si tu es interesse, je mettrai en place un fork Github

a+,

Kevin

Statistiques de vues

Dans la page d'accueil admin, on pourrait imaginer un autre graphique indiquant une évolution approximative du nombres de vues du site.

En soi, ça ne paraît pas impossible à réaliser, mais il me vient tout de même 2 questions :

  • Où enregistrer dans la base sqlite les vues? Ma question doit paraître bête, mais puisque c'est une table inexistante je ne veux pas tout casser. Dans la table "articles" ?
  • Est-ce que ça ne risque pas de ralentir l'affichage des pages?

En attendant, ce petit truc est sympa : https://github.com/felladrin/online-visitors-counter/tree/master/ovc

Le calcul du nombre de commentaires est erroné.

Voici le scénario :

- un article a 2 commentaires (dont un caché, pour X raison)
- je commente cet article
    -> le nombre de commentaires affiché juste au dessus de la liste des commentaires est de 3, alors qu'il devrait être 2 (car il y en a un caché)
- dans l'admin, si je cache/affiche (ou inversement) un commentaire de l'article en question, le bon compte est caclulé (donc 2 sur la page de l'article, et 3 dans l'admin)

C'est assez clair ? Si non, je peux tenter de reformuler.
Je n'ai pas encore trouvé de solution...

Bug dev / install (2)

Lors de la procédure d'installation, le mot de passe utilisateur n'est pas pris en compte (du coup, impossible de se connecter).

Je pense que c'est lié à :
c75fb8c#diff-3dcce3b6e12d1074589a7372b5f04d8c

update
Il serait peut-être plus judicieux de modifier la fonction et les appels à la fonction de sorte à passer le mot de passe et l'identifiant par des paramètres, pour exemple :

function fichier_user( $login , $pass ){
    $user_file = '../'.DIR_CONFIG.'/user.ini';
    $content = '';

    // to do : le formatage et autres tests devrait être dans une/des fonctions 
    //         distinctes pour uniformiser le login, upd/push mot de passe
    $pass = trim( $pass );
    $login = addslashes(clean_txt(htmlspecialchars( $login )))

    if (empty($pass) && defined('USER_PWHASH')) {
        $new_mdp = USER_PWHASH;
    } else if (!empty($pass)){
        $new_mdp = password_hash($pass , PASSWORD_BCRYPT);
    } else {
        return false;
    }

    $content .= '; <?php die(); /*'."\n\n";
    $content .= '; This file contains user login + password hash.'."\n\n";

    $content .= 'USER_LOGIN = \''. $login .'\''."\n";
    $content .= 'USER_PWHASH = \''.$new_mdp.'\''."\n";

    return ( file_put_contents( $user_file , $content ) !== false );
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.