void blog($con, [$prefix=''], [$pub_mode='1'], [$encoding='ISO-8859-1'])
=== Parametres ===
* con - Objet de type connection
* prefix - Préfixe des noms des tables
* pub_mode - Niveau de publication
* encoding - Jeu de caractère
Constructeur. Cette méthode initialise l'objet Blog.
==== setPubMode ====
void setPubMode($mode)
=== Parametres ===
* mode - Niveau de publication
Cette méthode définit le niveau de plublication des éléments (billets et commentaires) que l'on va traiter avec l'objet. Il prend les valeurs 0 (éléments non publiés uniquement), 1 (éléments publiés uniquement) ou NULL (tous les éléments)
Le niveau de publication sera pris en compte dans nombre de méthodes de sélection des billets ou des commentaires.
==== setLang ====
void setLang($lang)
=== Parametres ===
* lang - Langue
Définit un critère de tri pour la langue des billets. Utilisable sur la partie publique si on souhaite n'afficher que les billets d'une certaine langue.
==== setDateFormat ====
void setDateFormat([$d='%A %e %B %Y'], [$h='%H:%M'])
=== Parametres ===
* d - Format de la date
* h - Format de l'heure
Définit le format de la date des éléments qui seront retournés.
==== setURL ====
void setURL($type, $url)
=== Parametres ===
* type - Type d'URL
* url - Modèle d'URL
Définit les différents modèles d'URL du blog.
==== resetError ====
void resetError()
Remet les erreurs à zéro.
==== setError ====
void setError($msg, [$no=0])
=== Parametres ===
* msg - Message
* no - Numéro de l'erreur
Ajoute une erreur dans la pile des erreurs.
==== error ====
string error([$html=false], [$with_nb=true])
=== Parametres ===
* html - Au format HTML
* with_nb - Avec les numéros
Récupère les erreurs et renvoie une chaîne ou false si aucune erreur.
Le paramètre $html indique si l'on souhaite obtenir les erreurs au format HTML et $with_nb si la méthode doit également renvoyer les numéros (uniquement visibles au format HTML)
===== Méthodes de gestion des utilisateurs =====
==== setUser ====
void setUser($id, [$force=false])
=== Parametres ===
* id - ID de l'utilisateur
* force - Forcer l'utilisateur
Force un utilisateur, seulement si user_level est inférieur à 5 ou si $force est vrai.
==== checkUser ====
boolean checkUser($id, [$pwd=NULL], [$level=NULL], [$md5=true])
=== Parametres ===
* id - ID de l'utilisateur
* pwd - Mot de passe
* level - Niveau de l'utilisateur
* md5 - Passage du mot de passe en md5
Existence d'un utilisateur. Cette méthode renvoie vrai ou faux selon que l'utilisateur existe ou non. Les mots de passe et niveau sont optionnels. Le paramètre $md5 indique si la chaîne de mot de passe est passé en clair ou comme md5 à la méthode.
==== getUser ====
recordset getUser([$id=''])
=== Parametres ===
* id - ID de l'utilisateur
Renvoie les données concernant un ou plusieurs utilisateurs. Si aucun paramètre $id n'est donné, tous les utilisateurs seront renvoyés dans un recordset. La méthode renvoie false si elle échoue.
==== addUser ====
boolean addUser($id, $level, $pwd, $nom, $prenom, $pseudo, $email, [$post_format='html'], [$edit_size=10], [$pref_cat=1], [$lang=''], [$delta=0], [$post_pub=true])
=== Parametres ===
* id - ID de l'utilisateur
* level - Niveau de l'utilisateur
* pwd - Mot de passe
* nom - Nom de l'utilisateur
* prenom - Prénom de l'utilisateur
* pseudo - Pseudo de l'utilisateur
* email - Email de l'utilisateur
* post_format - Format d'édition préféré
* edit_size - Hauteur de la zone d'éditions
* pref_cat - Catégorie préférée
* lang - Langue de l'utilisateur
* delta - Décalage horaire
* post_pub - Status de publication par défaut
Ajout d'un utilisateur. Renvoie vrai en cas de succès.
==== updUser ====
boolean updUser($id, $new_id, $level, $pwd, $nom, $prenom, $pseudo, $email, [$post_format='html'], [$edit_size=10], [$pref_cat=1], [$lang=''], [$delta=0], [$post_pub=true])
=== Parametres ===
* id - ID de l'utilisateur
* new_id - Nouvel ID de l'utilisateur
* level - Niveau de l'utilisateur
* pwd - Mot de passe
* nom - Nom de l'utilisateur
* prenom - Prénom de l'utilisateur
* pseudo - Pseudo de l'utilisateur
* email - Email de l'utilisateur
* post_format - Format d'édition préféré
* edit_size - Hauteur de la zone d'éditions
* pref_cat - Catégorie préférée
* lang - Langue de l'utilisateur
* delta - Décalage horaire
* post_pub - Status de publication par défaut
Modification d'un utilisateur. Renvoie vrai en cas de succès.
Si le mot de passe est vide, il ne sera pas changé.
==== delUser ====
boolean delUser($id)
=== Parametres ===
* id - ID de l'utilisateur
Suppression d'un utilisateur. Renvoie vrai en cas de succès.
===== Méthodes de gestion des catégories =====
==== checkCat ====
boolean checkCat($cat_id)
=== Parametres ===
* cat_id - ID de la catégorie
Vérifie l'existence d'une catégorie. Renvoie vrai ou faux.
==== getCat ====
recordset getCat([$cat_id=''], [$order_by='cat_ord'])
=== Parametres ===
* cat_id - Identifiant de la catégorie
* order_by - Champ par lequel ordonner les résultats
Sélectionne une ou plusieurs catégories. La paramètre $cat_id peut être un entier, le champ cat_id sera alors pris en compte. S'il s'agit d'une chaine, la comparaison sera faite sur cat_libelle_url.
Si le paramètre $cat_id est une chaine vide, toutes les catégories seront renvoyées dans le recordset (fonctionnement par défaut).
La méthode renvoie false en cas d'erreur.
==== addCat ====
boolean addCat($libelle, [$desc=''], [$libelle_url=''])
=== Parametres ===
* libelle - Libellé de la catégorie
* desc - Description de la catégorie
* libelle_url - Libellé "URLisé" de la catégorie
Ajout d'un catégorie. Renvoie vrai en cas de succès.
==== updCat ====
boolean updCat($cat_id, $libelle, [$desc=''], [$libelle_url=''])
=== Parametres ===
* cat_id - ID de la catégorie à modifier
* libelle - Libellé de la catégorie
* desc - Description de la catégorie
* libelle_url - Libellé "URLisé" de la catégorie
Modification d'un catégorie. Renvoie vrai en cas de succès.
==== delCat ====
boolean delCat($cat_id)
=== Parametres ===
* cat_id - ID de la catégorie
Suppression d'une catégorie donnée. Renvoie vrai en cas de succès.
==== reordCats ====
void reordCats([$chekc_url=false], [$byname=false])
=== Parametres ===
* chekc_url - Normaliser les titres URLisés
* byname - Ordonner par noms
Réordonner les catégories. Cette méthode va remettre les catégorie dans l'ordre (selon les ID ou selon les noms si $byname est vrai).
Si $check_url est vrai, les titres "URLisés" seront normalisés.
==== ordCats ====
boolean ordCats($ord)
=== Parametres ===
* ord - Tableau contenant l'ordre de chaque catégorie
Ordonne les catégories en utilisant les valeurs du tableau $ord. La clé est l'identifiant de la catégorie et la valeur, l'ordre de celle-ci.
La méthode renvoie vrai en cas de succès.
===== Méthodes de gestion des billets =====
==== SQL ====
string SQL([$reqPlus=''], [$order='post_dt ASC'], $limit)
=== Parametres ===
* reqPlus - Critères SQL supplémentaires
* order - Critère de tri des billets
* limit - Critère de limitation des résultats
Cette méthode renvoie une requête SQL prête à être exploitée pour sélectionner des billets selon divers critères.
La valeur de $reqPlus doit commencer par AND. $limit peut être un nombre ou un critère de limite classique (0,n).
==== getLastNews ====
recordset getLastNews([$limit=20], $cat, [$order='post_dt DESC'], [$selected=false], $lang)
=== Parametres ===
* limit - Nombre de résultats à renvoyer
* cat - Restreindre à la catégorié donnée
* order - Critère de tri
* selected - Uniquement les billets marqués ''post_selected''
* lang - Restreindre à la langue donnée
Cette functions renvoie un recordset (ou l'objet défini par la propriété rs_blogpost) contenant les n derniers billets.
$cat peut être une chaîne ou un entier selon que l'on souhaite travailler avec cat_id ou cat_libelle_url.
==== getPostByID ====
recordset getPostByID($id)
=== Parametres ===
* id - ID du billet
Sélection d'un billet par son ID. Cette méthode renvoie un recordset étendu (comme la précédente) contenant le billet sélectionné.
==== getPostByDate ====
recordset getPostByDate($y, $m, [$d=''], $cat, [$order='post_dt DESC'], [$selected=false], $lang)
=== Parametres ===
* y - Année
* m - Mois
* d - Jour
* cat - Restreindre à la catégorié donnée
* order - Critère de tri
* selected - Uniquement les billets marqués ''post_selected''
* lang - Restreindre à la langue donnée
Sélection de billet par une date. Les paramètre de mois et d'année sont obligatoire. Les aures optionnels. La catégorie peut être une chaîne ou un entier.
La méthode renvoie un recordset étendu.
==== searchPost ====
recordset searchPost($w)
=== Parametres ===
* w - Mots clé
Recherche d'un billet selon des mots clé et renvoie un recordset étendu. La recherche est faite sur les champs post_content, post_titre et post_chapo.
==== getAllDates ====
array getAllDates($type, [$y=''], [$m=''], [$d=''], [$cat=''])
=== Parametres ===
* type - Type de date ; y, d ou m
* y - Année
* m - Mois
* d - Jour
* cat - Restreindre à la catégorié donnée
Obtenir les dates (jours ou mois) du blog. Cette méthode renvoie un tableau contenant toutes les dates du blog. On peut restreindre la recherche à une année, un mois (d'une année donnée) ou un jour.
Le critère de catégorie peut être une chaîne ou un entier.
La tableau renvoyé est un tableau de plusieurs lignes dont la clé est un timestamp et la valeur la date au format YYYY-MM-DD.
==== getEarlierDate ====
string getEarlierDate($cat)
=== Parametres ===
* cat - Identifiant de la catégorie
Renvoie la date au format standard du billet le plus récent ou false en cas d'erreur. $cat peut être une chaîne ou un entier.
==== getNextID ====
recordset getNextID($ts, $dir)
=== Parametres ===
* ts - Timestamp du billet
* dir - Direction de recherche
Renvoie un recordset contenant l'id, le titre et la date du billet suivant le timestamp donné par $ts. $dir prend les valeurs 1 (billet suivant) ou 0 (billet précédent).
==== getPostLanguages ====
recordset getPostLanguages()
Renvoie un recordset contenant toutes les langues du blog, ou false en cas d'erreur.
==== addPost ====
integer addPost($user_id, $titre, $titre_url, $chapo, $content, $notes, $cat_id, [$format='html'], [$publish=true], [$open_comment=true], [$open_tb=true], [$lang=''], [$selected=false], [$delta=0])
=== Parametres ===
* user_id - ID de l'utilisateur
* titre - Titre du billet
* titre_url - Titre "URLisé" du billet
* chapo - Chapo
* content - Contenu
* notes - Notes
* cat_id - ID de la catégorie du billet
* format - Format du billet, html ou wiki
* publish - Publier le billet
* open_comment - Ouvrir les commentaires du billet
* open_tb - Ouvrir les trackbacks sur le billet
* lang - Langue du billet
* selected - Billet sélectionné
* delta - Décalage horaire du rédacteur
Création d'un billet. Renvoie l'ID du billet en cas de succès et false en cas d'erreur.
==== updPost ====
boolean updPost($post_id, $titre, $titre_url, $chapo, $content, $notes, $cat_id, [$format='html'], [$publish=true], [$open_comment=true], [$open_tb=true], $date, [$lang=''], [$selected=false], [$delta=0])
=== Parametres ===
* post_id - ID du billet à modifier
* titre - Titre du billet
* titre_url - Titre "URLisé" du billet
* chapo - Chapo
* content - Contenu
* notes - Notes
* cat_id - ID de la catégorie du billet
* format - Format du billet, html ou wiki
* publish - Publier le billet
* open_comment - Ouvrir les commentaires du billet
* open_tb - Ouvrir les trackbacks sur le billet
* date - Nouveau timestamp du billet
* lang - Langue du billet
* selected - Billet sélectionné
* delta - Décalage horaire du rédacteur
Modification d'un billet. Renvoie vrai en cas de succès.
==== updPostCat ====
boolean updPostCat($post_id, $cat_id)
=== Parametres ===
* post_id - ID du billet
* cat_id - ID de la catégorie
Change la catégorie d'un billet donné. Renvoi vrai en cas de succès.
==== statusPost ====
boolean statusPost($id)
=== Parametres ===
* id - ID du billet
Inverse le status de publication d'un billet.
==== delPost ====
boolean delPost($id)
=== Parametres ===
* id - ID du billet
Supprime un billet et tous les commentaires associés. Renvoie vrai en cas de succès.
==== triggerMassUpd ====
void triggerMassUpd()
"Déclencheur" changeant la date d'un fichier pour indiquer la dernière modification. Le fichier est défini par la constante DC_UPDATE_FILE et la constante DC_UPDATE_FILE_W indique si ce dernier est accessible en écriture.
==== triggerPostNbComment ====
boolean triggerPostNbComment($id)
=== Parametres ===
* id - ID du billet
"Déclencheur" pour mettre à jour le nombre de commentaires publiés d'un billet. Renvoie vrai en cas de succès.
==== triggerLog ====
boolean triggerLog($table, $key, $log, $user)
=== Parametres ===
* table - Nom de la table
* key - Valeur de la clé de la table
* log - Description du log
* user - ID de l'utilisateur
"Déclencheur" remplissant la table de logs. Renvoie vrai en cas de succès.
===== Méthodes de gestion des commentaires =====
==== getNbComments ====
integer getNbComments($id)
=== Parametres ===
* id - ID du billet
Retourn le nombre de commentaires d'un billet sous forme d'un entier.
==== getNbTrackbacks ====
integer getNbTrackbacks($id)
=== Parametres ===
* id - ID du billet
Retourn le nombre de trackbacks d'un billet sous forme d'un entier.
==== getComments ====
recordset getComments([$post_id=''], [$order='ASC'], [$limit=NULL])
=== Parametres ===
* post_id - ID du billet
* order - Send de l'ordre des commentaires, ASC ou DESC
* limit - Nombre de commentaires à séléctionner
Sélection des commentaires et trackbacks d'un billet. Renvoie un recordset étendu du type défini par la propriété rs_blogcomment. Si la valeur de $post_id est vide, tous les commentaires seront renvoyés.
==== getComment ====
recordset getComment($id)
=== Parametres ===
* id - ID du commentaire
Récupération d'un commentaire par son ID. Renvoie un recordset étendu.
==== addComment ====
boolean addComment($post_id, $auteur, $email, $site, $content, [$trackback=false], [$delta=0], [$pub=true])
=== Parametres ===
* post_id - ID du billet
* auteur - Nom de l'auteur du commentaire
* email - Email de l'auteur du commentaire
* site - Site de l'auteur du commentaire
* content - Contenu du commentaire
* trackback - Le commentaire est un trackback
* delta - Décalage horaire de l'auteur du commentaire
* pub - Commentaire publié
Création d'un commentaire. Renvoie vrai en cas de succès.
==== updComment ====
boolean updComment($id, $auteur, $email, $site, $content, [$pub=true])
=== Parametres ===
* id - ID du commentaire
* auteur - Nom de l'auteur du commentaire
* email - Email de l'auteur du commentaire
* site - Site de l'auteur du commentaire
* content - Contenu du commentaire
* pub - Commentaire publié
Modification d'un commentaire. Renvoie vrai en cas de succès.
==== statusComment ====
boolean statusComment($id)
=== Parametres ===
* id - ID du commentaire
Inversion du status d'un commentaire. Renvoie vrai en cas de succès.
==== delComment ====
boolean delComment($id)
=== Parametres ===
* id - ID du commentaire
Suppression d'un commentaire. Renvoie vrai en cas de succès.
===== Méthodes de gestion des trackback et des pings =====
==== postTbPingURL ====
boolean postTbPingURL($post_id, $url, $blog_name, [$content=''])
=== Parametres ===
* post_id - ID du billet
* url - URL à pinguer
* blog_name - Nom du blog à envoyer
* content - Contenu facultatif du ping
Effectue un ping sur un autre blog. Renvoie vrai en cas de succès.
Si le contenu du ping n'est pas donné, les 255 premier caractères du billet ou du chapo seront utilisés à la place.
==== postPingNotify ====
boolean postPingNotify($post_id, $url)
=== Parametres ===
* post_id - ID du billet
* url - URL du ping
Notification du trackback dans la table d'historique des pings. Renvoie vrai en cas de succès.
==== postPingCheck ====
boolean postPingCheck($post_id, $url)
=== Parametres ===
* post_id - ID du billet
* url - URL du ping
Vérification si ping pas déjà fait pour un post. Renvoie vrai si il y a déjà un ping dans la table.
==== postGetPings ====
recordset postGetPings($post_id)
=== Parametres ===
* post_id - ID du billet
Sélection des ping réalisés pour un post donnée. Renvoie un recordset.
===== Méthodes relatives à la base de données =====
==== optimize ====
boolean optimize()
Optimise les tables de la base de données. Les tables concernées sont uniquement celles prises en charge par la classe. Renvoie vrai en cas de succès.
==== countAll ====
void countAll()
Recompte l'ensemble des commentaires et trackbacks du blog.
===== Méthodes utilitaires =====
==== parseContent ====
string parseContent($string)
=== Parametres ===
* string - Chaine à parser
Cette méthode remplace les URL et les liens mailto par des liens HTML dans la chaîne $string et renvoie une chaîne transformée.
==== parseUri ====
string parseUri($matches)
=== Parametres ===
* matches - Tableau contenant l'URL
Cette fonction est utilisée par parseContent pour créer le lien HTML depuis une URL. L'intitulé est raccourci si l'URL dépasse 25 caractères.
C'est une fonction de callback qui n'est d'aucune utilité sortie de son contexte.
==== getPermissions ====
array getPermissions($str)
=== Parametres ===
* str - Chaîne des permissions
Méthode statique qui transforme une chaine de permission au format |perm1|perm2| en un tableau PHP.
==== secureString ====
string secureString($str)
=== Parametres ===
* str - Chaîne à sécurisé
Renvoie une chaîne après en avoir supprimé les tags HTML et passé les caractères spéciaux en entités.
==== isEmail ====
boolean isEmail($str)
=== Parametres ===
* str - Chaîne à tester
Teste si une chaîne est une adresse email valide.
==== getPart ====
string getPart($string, $l)
=== Parametres ===
* string - Chaîne à couper
* l - Longueur désirée
Renvoie une partie de la chaîne $string en coupant à la longueur $l désirée. La chaîne est coupée aux espaces.
==== toXML ====
string toXML($string, [$utf8=false])
=== Parametres ===
* string - Chaîne à transformer
* utf8 - Chaîne en UTF-8
Renvoie une chaîne propre à être passée dans un fichier XML (entités numériques, etc.). La paramètre $utf8 n'est plus d'aucune utilité.
==== removeEntities ====
string removeEntities($string)
=== Parametres ===
* string - Chaîne à transformer
Remplace les entités d'une chaîne par leurs équivalents normaux. Les caractères provenant du jeu de caractère incorect de Windows sont également convertis.
Cette méthode utilise la propriété encoding de la classe et transforme les caractères en UTF-8 si le jeu de caractère est UTF-8.
Cette méthode est utilisée par la méthode toXML.
==== str2url ====
string str2url($str)
=== Parametres ===
* str - Chaîne à transformer
Transforme la chaîne $str en une chaîne propre à être un élément d'une URL.
===== Exemples d'utilisation =====
Ces exemples supposent qu'un objet $blog soit une instance de la classe.
==== Sélection des derniers billets ====
Dans cet exemple, nous sélectionnons les 10 derniers billets du blog dans la catégorie dont l'ID est 1, puis nous en affichons le titre.
getLastNews(10,1);
while ($rs->fetch()) {
echo ''.$rs->f('post_titre').'
';
}
?>