Add comments to PHP and JS files
Co-authored-by: LeOSW42 <673670+LeOSW42@users.noreply.github.com>
This commit is contained in:
1 parent
bb8e2d9746
commit
7f0143604c
25 files changed
+177
-8
No files matched your search
@@ -13,6 +13,7 @@ namespace Kabano;
|
||||
require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
|
||||
require_once($config['includes_folder']."database.php");
|
||||
|
||||
// Objet représentant un article de blog.
|
||||
class BlogArticle
|
||||
{
|
||||
public $content_id = NULL;
|
||||
@@ -39,6 +40,7 @@ class BlogArticle
|
||||
return '';
|
||||
}
|
||||
|
||||
// Le contenu est stocké comme {"text": "..."} en base.
|
||||
$decoded = json_decode($value, true);
|
||||
if (!is_array($decoded)) {
|
||||
return '';
|
||||
@@ -53,6 +55,7 @@ class BlogArticle
|
||||
public function checkPermalink($permalink, $withArchive=0, $elementNb=0) {
|
||||
global $config;
|
||||
|
||||
// Recherche de la dernière version publiée.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT content_versions.id AS version_id, * FROM contents INNER JOIN content_locales ON contents.id = content_locales.content_id INNER JOIN content_versions ON content_locales.id = content_versions.locale_id WHERE permalink=$1 AND type='blog'";
|
||||
@@ -145,6 +148,7 @@ class BlogArticle
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Protection contre l'édition sans identifiants valides.
|
||||
if($this->content_id == 0 || $this->locale_id == 0 || $this->version_id == 0)
|
||||
die("Cannot update entry without giving ID");
|
||||
|
||||
@@ -173,6 +177,7 @@ class BlogArticle
|
||||
|
||||
$this->version_id = pg_fetch_assoc($result)['id'];
|
||||
|
||||
// Association de l'auteur comme contributeur.
|
||||
$query = "INSERT INTO content_contributors (content, contributor) VALUES
|
||||
($1, $2) ON CONFLICT (content, contributor) DO NOTHING";
|
||||
|
||||
@@ -181,6 +186,7 @@ class BlogArticle
|
||||
$result = pg_execute($con, "prepare3", array($this->locale_id, $user->id))
|
||||
or die ("Cannot execute statement\n");
|
||||
|
||||
// Mise à jour du flag de commentaires.
|
||||
$query = "UPDATE contents SET is_commentable = $1 WHERE id = $2";
|
||||
pg_prepare($con, "prepare4", $query)
|
||||
or die ("Cannot prepare statement\n");
|
||||
@@ -252,6 +258,7 @@ class BlogArticle
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Création d'un article publié par défaut.
|
||||
$con = sql_connect();
|
||||
|
||||
pg_query($con, "BEGIN");
|
||||
@@ -288,6 +295,7 @@ class BlogArticle
|
||||
|
||||
$this->version_id = pg_fetch_assoc($result)['id'];
|
||||
|
||||
// Ajout du contributeur.
|
||||
$query = "INSERT INTO content_contributors (content, contributor) VALUES
|
||||
($1, $2)";
|
||||
|
||||
@@ -310,6 +318,7 @@ class BlogArticle
|
||||
** Converts the Markdown content to HTML
|
||||
*****/
|
||||
public function md2html() {
|
||||
// Transforme le contenu Markdown en HTML.
|
||||
$this->content_html = \Michelf\MarkdownExtra::defaultTransform($this->content);
|
||||
}
|
||||
|
||||
@@ -317,6 +326,7 @@ class BlogArticle
|
||||
** Converts the Markdown content to text
|
||||
*****/
|
||||
public function md2txt() {
|
||||
// Transforme le contenu Markdown en texte brut.
|
||||
$this->md2html();
|
||||
$this->content_txt = strip_tags($this->content_html);
|
||||
}
|
||||
@@ -331,6 +341,7 @@ class BlogArticle
|
||||
***********************************************************
|
||||
**********************************************************/
|
||||
|
||||
// Liste paginée des articles de blog.
|
||||
class BlogArticles
|
||||
{
|
||||
public $objs = array();
|
||||
@@ -342,6 +353,7 @@ class BlogArticles
|
||||
public function listArticles($first, $count, $archive=0) {
|
||||
global $config;
|
||||
|
||||
// Récupère les versions non archivées.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT content_versions.id AS version_id, * FROM contents INNER JOIN content_locales ON contents.id = content_locales.content_id INNER JOIN content_versions ON content_locales.id = content_versions.locale_id WHERE is_archive=FALSE ";
|
||||
@@ -370,6 +382,7 @@ class BlogArticles
|
||||
public function number($archive=0) {
|
||||
global $config;
|
||||
|
||||
// Compte le nombre d'articles.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT content_versions.id AS version_id, * FROM contents INNER JOIN content_locales ON contents.id = content_locales.content_id INNER JOIN content_versions ON content_locales.id = content_versions.locale_id WHERE is_archive=FALSE ";
|
||||
@@ -393,6 +406,7 @@ class BlogArticles
|
||||
public function getHistory($url) {
|
||||
global $config;
|
||||
|
||||
// Récupère l'historique des versions d'un article.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT content_versions.id AS version_id, * FROM contents INNER JOIN content_locales ON contents.id = content_locales.content_id INNER JOIN content_versions ON content_locales.id = content_versions.locale_id WHERE permalink=$1 AND type='blog' ORDER BY update_date DESC";
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace Kabano;
|
||||
require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
|
||||
require_once($config['includes_folder']."database.php");
|
||||
|
||||
// Objet représentant un commentaire sur un contenu.
|
||||
class Comment
|
||||
{
|
||||
public $id = NULL;
|
||||
@@ -35,6 +36,7 @@ class Comment
|
||||
public function checkID($id) {
|
||||
global $config;
|
||||
|
||||
// Chargement du commentaire par ID.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM content_comments WHERE id=$1";
|
||||
@@ -64,6 +66,7 @@ class Comment
|
||||
return;
|
||||
}
|
||||
|
||||
// Mapping des champs SQL vers les propriétés.
|
||||
if (array_key_exists('id', $row)) {
|
||||
$this->id = $row['id'];
|
||||
}
|
||||
@@ -102,6 +105,7 @@ class Comment
|
||||
public function insert() {
|
||||
global $config;
|
||||
|
||||
// Insertion d'un nouveau commentaire.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "INSERT INTO content_comments (version, creation_date, update_date, author, is_public, is_archive, content, comment, locale) VALUES
|
||||
@@ -124,6 +128,7 @@ class Comment
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Archivage logique du commentaire.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE content_comments SET is_public = FALSE WHERE id = $1";
|
||||
@@ -148,6 +153,7 @@ class Comment
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Restauration d'un commentaire archivé.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE content_comments SET is_public = TRUE WHERE id = $1";
|
||||
@@ -169,6 +175,7 @@ class Comment
|
||||
** Converts the Markdown comment to HTML
|
||||
*****/
|
||||
public function md2html() {
|
||||
// Conversion Markdown -> HTML.
|
||||
$this->comment_html = \Michelf\MarkdownExtra::defaultTransform($this->comment);
|
||||
}
|
||||
|
||||
@@ -176,6 +183,7 @@ class Comment
|
||||
** Converts the Markdown comment to text
|
||||
*****/
|
||||
public function md2txt() {
|
||||
// Conversion Markdown -> texte brut.
|
||||
$this->md2html();
|
||||
$this->comment_txt = strip_tags($this->comment_html);
|
||||
}
|
||||
@@ -190,11 +198,13 @@ class Comment
|
||||
***********************************************************
|
||||
**********************************************************/
|
||||
|
||||
// Liste de commentaires liée à un contenu.
|
||||
class Comments
|
||||
{
|
||||
public $objs = array();
|
||||
public $number = NULL;
|
||||
|
||||
// Retourne la liste des commentaires pour un contenu.
|
||||
/*****
|
||||
** Return the list of different articles
|
||||
*****/
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace Kabano;
|
||||
|
||||
require_once($config['includes_folder']."database.php");
|
||||
|
||||
// Objet représentant une locale (langue).
|
||||
class Locale
|
||||
{
|
||||
public $name = 0;
|
||||
@@ -24,6 +25,7 @@ class Locale
|
||||
public function checkName($name) {
|
||||
global $config;
|
||||
|
||||
// Chargement de la locale par son code.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM locales WHERE name=$1";
|
||||
@@ -53,6 +55,7 @@ class Locale
|
||||
return;
|
||||
}
|
||||
|
||||
// Mapping des champs SQL.
|
||||
if (array_key_exists('name', $row)) {
|
||||
$this->name = $row['name'];
|
||||
}
|
||||
@@ -78,12 +81,14 @@ class Locales
|
||||
public $number = 0;
|
||||
public $objs = array();
|
||||
|
||||
// Charge toutes les locales disponibles.
|
||||
/*****
|
||||
** Get all locales
|
||||
*****/
|
||||
public function getAll() {
|
||||
global $config;
|
||||
|
||||
// Récupère la liste complète des locales.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM locales";
|
||||
|
||||
@@ -14,6 +14,7 @@ require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
|
||||
require_once($config['includes_folder']."poi_types.struct.php");
|
||||
require_once($config['includes_folder']."database.php");
|
||||
|
||||
// Objet représentant un point d'intérêt.
|
||||
class Poi
|
||||
{
|
||||
public $content_id = NULL;
|
||||
@@ -46,6 +47,7 @@ class Poi
|
||||
return [];
|
||||
}
|
||||
|
||||
// Les paramètres sont stockés en JSON.
|
||||
$decoded = json_decode($value, true);
|
||||
if (!is_array($decoded)) {
|
||||
return [];
|
||||
@@ -60,6 +62,7 @@ class Poi
|
||||
public function checkPermalink($permalink, $withArchive=0, $elementNb=0) {
|
||||
global $config;
|
||||
|
||||
// Récupère la dernière version du POI.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT
|
||||
@@ -134,6 +137,7 @@ class Poi
|
||||
return;
|
||||
}
|
||||
|
||||
// Décode les paramètres JSON et mappe les champs.
|
||||
$decodedParameters = null;
|
||||
if (array_key_exists('parameters', $row)) {
|
||||
$decodedParameters = $this->decodeJsonArray($row['parameters']);
|
||||
@@ -214,6 +218,7 @@ class Poi
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Création d'un nouveau POI.
|
||||
$con = sql_connect();
|
||||
|
||||
pg_query($con, "BEGIN");
|
||||
@@ -282,6 +287,7 @@ class Poi
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Vérifie que les identifiants sont chargés.
|
||||
if ($this->content_id == 0 || $this->locale_id == 0 || $this->version_id == 0)
|
||||
die("Cannot update entry without giving ID");
|
||||
|
||||
@@ -342,6 +348,7 @@ class Poi
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Archivage logique du POI.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE contents SET is_public = FALSE WHERE id = $1";
|
||||
@@ -365,6 +372,7 @@ class Poi
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Restauration d'un POI archivé.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE contents SET is_public = TRUE WHERE id = $1";
|
||||
@@ -382,14 +390,17 @@ class Poi
|
||||
}
|
||||
}
|
||||
|
||||
// Liste de points d'intérêt (POI).
|
||||
class Pois
|
||||
{
|
||||
public $objs = [];
|
||||
public $number = 0;
|
||||
|
||||
// Liste des POIs publiés (ou archivés si demandé).
|
||||
public function listPois($archive=0) {
|
||||
global $config;
|
||||
|
||||
// Chargement des POIs avec leurs versions actives.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT
|
||||
@@ -453,6 +464,7 @@ class Pois
|
||||
public function getHistory($permalink) {
|
||||
global $config;
|
||||
|
||||
// Historique des versions d'un POI.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT
|
||||
|
||||
@@ -23,6 +23,7 @@ $ranks = array(
|
||||
"visitor" => array(0,"Visiteur", "black", "visitor")
|
||||
);
|
||||
|
||||
// Objet représentant un utilisateur.
|
||||
class User
|
||||
{
|
||||
public $id = 0;
|
||||
@@ -52,6 +53,7 @@ class User
|
||||
public function checkID($id) {
|
||||
global $config;
|
||||
|
||||
// Recherche de l'utilisateur par identifiant.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM users WHERE id=$1";
|
||||
@@ -79,6 +81,7 @@ class User
|
||||
public function login($login, $pass) {
|
||||
global $config;
|
||||
|
||||
// Connexion à partir du nom et du mot de passe.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM users WHERE name=$1 AND password=$2";
|
||||
@@ -105,6 +108,7 @@ class User
|
||||
return;
|
||||
}
|
||||
|
||||
// Mapping des champs SQL vers les propriétés.
|
||||
if (array_key_exists('id', $row)) {
|
||||
$this->id = $row['id'];
|
||||
}
|
||||
@@ -152,6 +156,7 @@ class User
|
||||
public function get_rank() {
|
||||
global $ranks;
|
||||
|
||||
// Renvoie l'affichage HTML du rang.
|
||||
return '<span class="userrole" style="color: '.$ranks[$this->rank][2].';">'.$ranks[$this->rank][1].'</span>';
|
||||
}
|
||||
public function get_locale() {
|
||||
@@ -174,6 +179,7 @@ class User
|
||||
public function rankIsHigher($rank) {
|
||||
global $ranks;
|
||||
|
||||
// Compare le niveau de rang.
|
||||
return $ranks[$this->rank][0] >= $ranks[$rank][0];
|
||||
}
|
||||
|
||||
@@ -183,6 +189,7 @@ class User
|
||||
public function availableName() {
|
||||
global $config;
|
||||
|
||||
// Vérifie l'unicité du pseudo.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT * FROM users WHERE lower(name)=$1";
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace Kabano;
|
||||
require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
|
||||
require_once($config['includes_folder']."database.php");
|
||||
|
||||
// Objet représentant une page wiki.
|
||||
class WikiPage
|
||||
{
|
||||
public $content_id = NULL;
|
||||
@@ -38,6 +39,7 @@ class WikiPage
|
||||
return '';
|
||||
}
|
||||
|
||||
// Contenu stocké sous la forme {"text": "..."}.
|
||||
$decoded = json_decode($value, true);
|
||||
if (!is_array($decoded)) {
|
||||
return '';
|
||||
@@ -52,6 +54,7 @@ class WikiPage
|
||||
public function checkPermalink($permalink, $withArchive=0, $elementNb=0) {
|
||||
global $config;
|
||||
|
||||
// Récupère la dernière version de la page.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "SELECT content_versions.id AS version_id, * FROM contents INNER JOIN content_locales ON contents.id = content_locales.content_id INNER JOIN content_versions ON content_locales.id = content_versions.locale_id WHERE permalink=$1 AND type='wiki'";
|
||||
@@ -85,6 +88,7 @@ class WikiPage
|
||||
return;
|
||||
}
|
||||
|
||||
// Mapping des champs SQL vers les propriétés.
|
||||
$decodedContent = null;
|
||||
if (array_key_exists('content', $row)) {
|
||||
$decodedContent = $this->decodeJsonText($row['content']);
|
||||
@@ -144,6 +148,7 @@ class WikiPage
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Protection contre les mises à jour sans IDs.
|
||||
if($this->content_id == 0 || $this->locale_id == 0 || $this->version_id == 0)
|
||||
die("Cannot update entry without giving ID");
|
||||
|
||||
@@ -172,6 +177,7 @@ class WikiPage
|
||||
|
||||
$this->version_id = pg_fetch_assoc($result)['id'];
|
||||
|
||||
// Ajout du contributeur si absent.
|
||||
$query = "INSERT INTO content_contributors (content, contributor) VALUES
|
||||
($1, $2) ON CONFLICT (content, contributor) DO NOTHING";
|
||||
|
||||
@@ -197,6 +203,7 @@ class WikiPage
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Archivage logique de la page.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE contents SET is_public=FALSE WHERE permalink=$1 AND type='wiki'";
|
||||
@@ -221,6 +228,7 @@ class WikiPage
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Restauration d'une page archivée.
|
||||
$con = sql_connect();
|
||||
|
||||
$query = "UPDATE contents SET is_public=TRUE WHERE permalink=$1 AND type='wiki'";
|
||||
@@ -245,6 +253,7 @@ class WikiPage
|
||||
global $config;
|
||||
global $user;
|
||||
|
||||
// Création d'une nouvelle page wiki.
|
||||
$con = sql_connect();
|
||||
|
||||
pg_query($con, "BEGIN");
|
||||
@@ -303,6 +312,7 @@ class WikiPage
|
||||
** Converts the Markdown content to HTML
|
||||
*****/
|
||||
public function md2html() {
|
||||
// Conversion Markdown -> HTML.
|
||||
$this->content_html = \Michelf\MarkdownExtra::defaultTransform($this->content);
|
||||
}
|
||||
}
|
||||
@@ -315,11 +325,13 @@ class WikiPage
|
||||
***********************************************************
|
||||
**********************************************************/
|
||||
|
||||
// Liste de pages wiki.
|
||||
class WikiPages
|
||||
{
|
||||
public $objs = array();
|
||||
public $number = NULL;
|
||||
|
||||
// Historique des versions d'une page.
|
||||
/*****
|
||||
** Checks if a page at this URL exists and return the ID
|
||||
*****/
|
||||
|
||||
Reference in new issue
Block a user