From d6506f29fe9c3045c394a5ccc7ef3440c79af195 Mon Sep 17 00:00:00 2001 From: jipexu Date: Fri, 3 May 2024 11:28:13 +0200 Subject: [PATCH] 16.8 (#551) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * first commit ... réduction des erreurs * mauvaise valeur (vide) pour un type decimal dans la table génère erreur : remplacé par 0 * erreur nom de champ * clean code * stabilisation comment system + code + bad variable type in mktime * missing globalisation for $NPDS_Prefix #546 * better condition ! * champ devenu trop court (suite full utf8) generait une erreur fatale : data too long * comment sondage et sondage erreur url de retour et bug + indent et condition ternaire * modification de l'ordre des arguments dans la fonction - suite à la remise en ordre des argument requis/facultatif imposé désormais par php * typo * regex dans requête pour mysql8 Co-Authored-By: Nicolas2 <138593106+nicolas2@users.noreply.github.com> * regex dans requête pour mysql8 + longueur de champ url dans champs form et controle Co-Authored-By: Nicolas2 <138593106+nicolas2@users.noreply.github.com> * missing var * missing var * system comment + regexp dans mysql8 + code epic battle with missing variable regexp and settype .... Co-Authored-By: Nicolas2 <129994189+nicolas2dev@users.noreply.github.com> * clean old $site_font var (global et paramètre de la fonction import_css) reste à modifier settings .. et le formulaire d'entrée * clean $site_font modification du formulaire et remplacer par var $not_used3 dans le conf * update version 2 => version 3 * no need images #521 fait pour ces 3 ressources ... pour le reste les icons forum sont encore utilisés par des metamots ou le core * typo => Réponse <= Réponse * php required * original config file for 16.8 * tarteaucitron : no gtag @start + year * tarteaucitron no gtag @ start + ternary condition * implementation de dataimagetofileurl() #545 * création du répertoire utilisateur (si n'existe pas) à partir de l'édition du journal utilisateur ... - la fonction dataimagetofileurl() transforme et classe les images en base64. dans ce cas précis l'utilisation de cette fonction dans le cadre du journal utilisateur posait un problème (non existence du répertoire) quand l'utilisateur n'avait pas de dossier (créé seulement par l'octroi d'un mns par l'admin) ... * code : ternary * bad controle with settype() + remove comment +year pour eviter : Undefined variable $Mmember * no need ! - si le template est recopié pour l'écriture d'un nouveau module alors ce module n'apparaitra pas dans la liste des modules .... - la présence de ce fichier n'est utile que pour les modules du core !!! * ternary condition + year * missing check of $cookie pas de cookie quand c'est un anonyme qui poste un lien == Trying to access array offset on value of type null * missing $npds_prefix et instruction mysql en majuscule Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * nettoyage de globales inutiles ex : $NPDS_Prefix ou manquantes +code + year + condition ternaire + identation Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * typo on ternary condition Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * int type in mktime() function + search term required in search bloc - mauvais typage des variables dans mktime() + terme de recherche requis dans le bloc de recherche (évite qu'un return n'envoi une valeur vide faisant dérailler les requêtes ...) * year * prefixe suite + year les tribulations de $NPDS_Prefix ... and more details Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * erreur quand variable $dossier non defini + ternary condition * implémentation bloc des groupes pour la création d'un bloc avec la liste des groupes (ouvert == avec membre) et un lien de demande de participation aux groupes par les utilisateurs ... Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * code - year - ternary condition - instruction sql en majuscule Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * missing $imgtmpPI + code - year - ternary condition * code -ternary condition - clean ... * forgotten each !! - int() for mktime() - code Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * update * support PHPMailer - introduction librairie - modifications interface settings.php - modifications code settings_save.php - ajout d'un fichier de conf indépendant - de la fonction send_mail() - traductions Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * remove strftime +year + remove old class * fixe une erreur oubliée set $gr_from to 0 pour éviter une erreur dans un certain contexte (mais je me rappelle plus lequel ...) * fixe undefined variable * ternary and undefined variable * forgotten each ... the last Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * bad encoding * some sql_free_result() correction + minor code Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * no need generate an error ... * missing . * no need ! html entities dans le sujet du mail & remove html entities dans autodoc & year * mysql8 bad value in the request ... == erreur PHP et pas d'entrée dans la base * code (ternary) * remove iso support + bug sur selecteur langue et doc type Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * interface + bug + code - stabilisation de la cohérence de l'interface (champ obligatoire) lors de la première utilisation (ie quand il n'y a pas de catégories définie) - ternary condition - correction affichage des icones des droits dans le tableau (défaillants à cause de comparaison non adaptée au type de la variable) - rajout d'une option d'entête dans le select des catégories pour que cela entraine obligatoirement un onchange nécessaire au remplissage de l'input ce qui n'était pas le cas quand on avait une seule catégorie - rajout droits à tous par défaut - extension du nombre de car max pour durl (controle du formulaire) Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * mise à jour * update small typo * php8 - clean code - - correction : fatal erreur lors du vidage des fichiers logs - year - ternary - code remove unused var - add $adminmail for the sender Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * bug canonical + code Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * PHPmailer implémentation - suppression des options de fonction d'envoi d'email mail() et email()? - utilisation de la librairie PHPmailer - avec choix du protocole SMTP(S) ou non - avec authentification ou non - avec chiffrage ou non (tls ou ssl) - rajout d'une variable pour la gestion des pieces jointes - génération automatique DKIM ou utilisation DKIM serveur - option debug (non interfacée) - doc et trad ... Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * forgotten new $dkim_auto Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * doc admin log * fatal typo ... * path for help file ... * chemin pour admin help file et requete inutile - requête de création inutile la table DOIT exister - global $dbname probablement inutile ici * old error on sitemap generation - quand le sitemap.php se déclenchait sur une page de l'admin on avait une erreur (non dysfonctionelle) $PAGES n'était pas là ... * global pour $PAGES - pas sûr à 100% qu'elle soit nécessaire correction en relation avec commit a5427bc3bb8bbadacf0a18ca1d60f8fb3a133d27 * metamot obsolète suppression (en attente d'une éventuelle réécriture) * year * spanish manuels update - html correction (structure, entity) - nouveau contenu * html type for email * french admin manuel work : contenu et html * no html stuf for text type ... Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * spanish manuels : html + contenu * manuels german work : html + contenu * manuels french work : html + contenu * manuels english on work : html trad contenu * manuels german on works : add reseaux sociaux * add help file + year * manuel english work : html + trad * manuels french works : html + contenu * manuels enqlish works : html * manuel german work : html + contenu * manuels chines work : html + trad + contenu * manuel chinese work : html + contenu * geoloc doc trad + inclusion dans la navigation manuel ... * manuels works : html + contenu * chinese trad in admin * bloc multilang doit dépendre de l'option multilang pas de bloc langue quand multilang est désactivé ! Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * manuels all works : html + contenu mistake : lazzy is not lazy ! ... contenu : doc + trad de archives stories * archives stories : support manuel et lang + doc spanish + code undefined var * doc : manuels metatags * defaut conf PHPmailer * metatags and multilang - rappatriement des fonctions metatags dans metatags.php - chat need mainfile and $nuke_url - modification function language_iso() - fichier meta.php originel * bug js sur masquage/validation preferences système de messagerie PHPmailer * modififcation fonction userpopover - rajout d'un argument qui permet soit d'avoir l'avatar seul soit l'avatar et le popover ... et donc implémentation des avatar dans la fenetre du chat ... * metamot !login! bug et html https://labo.infocapagde.com/viewtopic.php?topic=1668&forum=18 * suppression support mysql4 < 5.5 * bug à l'install bloc note + year + autodoc la table peu avoir été créée par l'administration des groupes avant l'intall-auto ! donc ... add IF NOT EXISTS et ON DUPLICATE KEY UPDATE - controle si la table existe - controle sur l'insert dans la table metalang si la clef def exist alors (-stratagème- ...) on update juste le champ type_meta ... * marquetapage install.conf : doc + year * need mainfile pour fonction language_iso() ! (Call to undefined function) - suite à modif langage / metatag * need mainfile ... * doc admin modules * modules et module_install : code + interface code : - prise en compte $npds_prefix dans expression régulière - suppression support mysql4 - ajout fonction et droit dans la liste des tables modifées * pas d'affichage lat/long dans user ... correction empirique incertaine ...(je ne sais toujours pas pourquoi $C7 et $C8 n'arrive pas par sform ...) * bugs + year - correction du switch ($op) sur 'ConfigFiles_load' entrainait l'affichage de deux fonctions ...(mais qui était masqué par d'autres erreurs ...) - still to do : - éviter le changement des fins de lignes des fichiers visualisés ! qui passent de LF à CRLF (par fopen?)... pénible ... - optimisation d'écriture du code de la fonction ConfigFiles_save - pourquoi ne pas passer dans les urls le nom complet du fichier ?.... * geoloc : doc - suppression stamen provider + few trad + be lazy still to do : mise à jour doc et trad es, de zh ..... * geoloc : suppression stamen provider + error mysql8 + changement de lib color + html * more safe ublock ! Co-Authored-By: Nicolas2 <129994189+Nicolas2dev@users.noreply.github.com> * missing argument dans send_mail + translation of subject as text ... * ternary + year * maj + clean + code - suppression des fonctions inutilisées : getmicrotime() , check_html(), unhtmlentities() - geolocalisation des ip : - modification des conditions - rajout d'une possibilité en http - rajout d'une clef désormais obligatoire pour extreme-ip-lookup.com - to do passer le bloc de code dans un fichier de geoloc ... - fonction Site_Active() : changement de nom de variable $who_online ??? pour $aff - suppression du -1 pour exclure anonyme dans le total des membres >> passé dans req_stat() - $NPDS_Prefix still missing dans bloc admin !!! - ternary condition and code .... * suppression de getmicrotime() + utilisation de $_SERVER["REQUEST_TIME_FLOAT"] + doc + interface - dans les metamots debugON et debugOFF - dans les fichiers devenu inutiles .. - utilisation de $_SERVER["REQUEST_TIME_FLOAT"] permet de supprimer la demande de temps dans header_before.inc - add icon sut l'interface - to do : faudra bien trouver une solution pour activer desactiver ce pseudo-module à partir de l'admin des modules * rajout clef extreme-ip-lookup + code et geoloc.conf origine * code * geoloc transfert fonction de georeferencement des IP du mainfile vers geoloc_refip + fonction online fonction online : dysfonctionnement en anonyme of course ... $cookie[1] ... * code ternary * isset * isset * code no need * ternary + html + appel news_aff * code * clockpicker update * interface formulaire pour membre/choix groupe - affichage du choix de groupe que si membre est coché (sinon on a un comportement normal mais déstabilisant) quand on choisi un groupe alors que membre n'est pas coché - add userpopover -validation du fromulaire : add required sur topic - improve : affichage du logo ou du nom dans la prévisualisation * traduction * traduction * clockpicker implementation * corrections diverses ... - correction et interface bloc ancien article - copy_to_email() add argument à send_mail() - ctrl_aff() : code ... - news_aff() : still not clear ... - themepreview() : html * envoi mail lors d'un commentaire + code * update * code + html * update various * update install auto * update upload lang and conf * year * maj version licence 2 > 3 * 2024 ... * Maj BS5.3 ressources et suppressions appel au css.map et js.map * update bootstrap-icons 1.11 * select content no need https://labo.infocapagde.com/viewtopic.php?topic=1752&forum=18 * requête en doublon https: //labo.infocapagde.com/viewtopic.php?topic=1765&forum=18 Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * unused argument https: //labo.infocapagde.com/viewtopic.php?topic=1761&forum=18 Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * réécriture de la condition ... https: //labo.infocapagde.com/viewtopic.php?topic=1743&forum=18 Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * pas la bonne variable !! https: //labo.infocapagde.com/viewtopic.php?topic=1741&forum=18 Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * bad variables pour écriture des logs https://labo.infocapagde.com/viewtopic.php?topic=1737&forum=18 (...lignes de code probablement héritées de friend.php ...) Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * no need https: //labo.infocapagde.com/viewtopic.php?topic=1735&forum=18 Co-Authored-By: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> * Update install-fr.php * conflict * no need --------- Co-authored-by: Nicolas2 <138593106+nicolas2@users.noreply.github.com> Co-authored-by: Nicolas2 <129994189+nicolas2dev@users.noreply.github.com> Co-authored-by: Nicolas2 <158532428+nicolas2-dev@users.noreply.github.com> --- README.md | 2 +- revolution_16/abla.php | 8 +- revolution_16/admin.php | 31 +- revolution_16/admin/adminblock.php | 2 +- revolution_16/admin/adminedito.php | 131 +- revolution_16/admin/adminfaq.php | 8 +- revolution_16/admin/authors.php | 9 +- revolution_16/admin/automated.php | 181 +- revolution_16/admin/banners.php | 4 +- revolution_16/admin/blocks.php | 12 +- revolution_16/admin/configfiles.php | 22 +- revolution_16/admin/die.php | 7 +- revolution_16/admin/download.php | 166 +- revolution_16/admin/email_user.php | 4 +- revolution_16/admin/ephemerids.php | 4 +- revolution_16/admin/groupes.php | 1884 +++--- revolution_16/admin/headlines.php | 11 +- revolution_16/admin/leftblocks.php | 8 +- revolution_16/admin/links.php | 8 +- revolution_16/admin/lnl.php | 47 +- revolution_16/admin/mainblock.php | 4 +- revolution_16/admin/meta_lang.php | 11 +- revolution_16/admin/metatags.php | 207 +- revolution_16/admin/module-install.php | 184 +- revolution_16/admin/modules.php | 93 +- revolution_16/admin/optimysql.php | 48 +- revolution_16/admin/overload.php | 6 +- revolution_16/admin/phpbbconfig.php | 4 +- revolution_16/admin/phpbbforum.php | 4 +- revolution_16/admin/phpbbmaint.php | 236 +- revolution_16/admin/plugins.php | 4 +- revolution_16/admin/polls.php | 6 +- revolution_16/admin/referers.php | 6 +- revolution_16/admin/reviews.php | 4 +- revolution_16/admin/rightblocks.php | 8 +- revolution_16/admin/savemysql.php | 4 +- revolution_16/admin/sections.php | 64 +- revolution_16/admin/settings.php | 286 +- revolution_16/admin/settings_save.php | 202 +- revolution_16/admin/stories.php | 103 +- revolution_16/admin/submissions.php | 6 +- revolution_16/admin/topics.php | 180 +- revolution_16/admin/users.php | 17 +- revolution_16/article.php | 180 +- revolution_16/auth.inc.php | 4 +- revolution_16/auth.php | 4 +- revolution_16/autodoc.php | 8 +- revolution_16/backend.php | 4 +- revolution_16/banners.php | 31 +- revolution_16/cache.class.php | 4 +- revolution_16/cache.config.php | 4 +- revolution_16/cache.timings.php | 4 +- revolution_16/carnet.php | 6 +- revolution_16/chat.php | 63 +- revolution_16/chatinput.php | 6 +- revolution_16/chatrafraich.php | 7 +- revolution_16/chattop.php | 5 +- revolution_16/config.php | 14 +- revolution_16/counter.php | 4 +- revolution_16/download.php | 9 +- .../tinymce/themes/advanced/npds.conf.php | 2 +- revolution_16/editpost.php | 4 +- revolution_16/faq.php | 4 +- revolution_16/footer.php | 4 +- revolution_16/forum.php | 4 +- revolution_16/friend.php | 504 +- revolution_16/functions.php | 10 +- revolution_16/getfile.php | 6 +- revolution_16/grab_globals.php | 4 +- revolution_16/header.php | 29 +- revolution_16/humans.txt | 5 + .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- revolution_16/images/forum/www_icon.gif | Bin 981 -> 0 bytes revolution_16/images/stats/question.gif | Bin 873 -> 0 bytes revolution_16/images/upload/arrow.gif | Bin 88 -> 0 bytes revolution_16/index.php | 108 +- .../install/sql/build_sql-create.php | 2 +- revolution_16/language/lang-adm-chinese.php | 129 +- revolution_16/language/lang-adm-english.php | 23 +- revolution_16/language/lang-adm-french.php | 4 +- revolution_16/language/lang-adm-german.php | 26 +- revolution_16/language/lang-adm-spanish.php | 23 +- revolution_16/language/lang-chinese.php | 10 +- revolution_16/language/lang-english.php | 12 +- revolution_16/language/lang-french.php | 4 +- revolution_16/language/lang-german.php | 10 +- revolution_16/language/lang-mods.php | 4 +- revolution_16/language/lang-multi.php | 4 +- revolution_16/language/lang-spanish.php | 10 +- revolution_16/lib/PHPMailer/COMMITMENT | 46 + revolution_16/lib/PHPMailer/LICENSE | 502 ++ .../lib/PHPMailer/PHPmailer.conf.php | 31 + revolution_16/lib/PHPMailer/README.md | 230 + revolution_16/lib/PHPMailer/SECURITY.md | 37 + revolution_16/lib/PHPMailer/VERSION | 1 + revolution_16/lib/PHPMailer/composer.json | 78 + .../lib/PHPMailer/get_oauth_token.php | 182 + .../kernel => lib/PHPMailer/index.html} | 0 revolution_16/lib/PHPMailer/key/index.html | 0 .../lib/PHPMailer/language/index.html | 0 .../PHPMailer/language/phpmailer.lang-de.php | 28 + .../PHPMailer/language/phpmailer.lang-es.php | 31 + .../PHPMailer/language/phpmailer.lang-fr.php | 37 + .../language/phpmailer.lang-zh_cn.php | 36 + .../lib/PHPMailer/src/DSNConfigurator.php | 245 + revolution_16/lib/PHPMailer/src/Exception.php | 40 + revolution_16/lib/PHPMailer/src/OAuth.php | 139 + .../lib/PHPMailer/src/OAuthTokenProvider.php | 44 + revolution_16/lib/PHPMailer/src/PHPMailer.php | 5130 +++++++++++++++++ revolution_16/lib/PHPMailer/src/POP3.php | 467 ++ revolution_16/lib/PHPMailer/src/SMTP.php | 1466 +++++ revolution_16/lib/PHPMailer/src/index.html | 0 .../bootstrap/dist/css/bootstrap-icons.css | 292 +- .../lib/bootstrap/dist/css/bootstrap.min.css | 7 +- .../dist/css/fonts/bootstrap-icons.woff | Bin 150592 -> 176196 bytes .../dist/css/fonts/bootstrap-icons.woff2 | Bin 112440 -> 130764 bytes .../bootstrap/dist/js/bootstrap.bundle.min.js | 6 +- .../lib/css/bootstrap-clockpicker.min.css | 2 +- revolution_16/lib/file.class.php | 4 +- revolution_16/lib/formhelp.java.php | 2 +- .../lib/js/bootstrap-clockpicker.min.js | 698 ++- revolution_16/lib/js/checkfieldinp.js | 2 +- revolution_16/lib/multi-langue.php | 4 +- revolution_16/lib/mysql.php | 4 +- revolution_16/lib/mysqli.php | 9 +- revolution_16/lib/sample.rewrite_engine.php | 2 +- revolution_16/license.txt | 528 +- revolution_16/lnl.php | 43 +- revolution_16/mainfile.php | 798 ++- revolution_16/manuels/chinese/admin.html | 75 +- revolution_16/manuels/chinese/adminblock.html | 45 +- revolution_16/manuels/chinese/authors.html | 73 +- revolution_16/manuels/chinese/automated.html | 10 +- revolution_16/manuels/chinese/banners.html | 9 +- revolution_16/manuels/chinese/blocks.html | 38 +- revolution_16/manuels/chinese/config.html | 36 +- .../manuels/chinese/configfiles.html | 9 +- revolution_16/manuels/chinese/downloads.html | 79 +- revolution_16/manuels/chinese/edito.html | 77 +- revolution_16/manuels/chinese/email_user.html | 9 +- revolution_16/manuels/chinese/ephem.html | 53 +- revolution_16/manuels/chinese/faqs.html | 47 +- revolution_16/manuels/chinese/forumcat.html | 9 +- .../manuels/chinese/forumconfig.html | 8 +- revolution_16/manuels/chinese/forummaint.html | 9 +- revolution_16/manuels/chinese/groupes.html | 62 +- revolution_16/manuels/chinese/headlines.html | 63 +- revolution_16/manuels/chinese/lnl.html | 11 +- revolution_16/manuels/chinese/mainblock.html | 74 +- revolution_16/manuels/chinese/men_com.html | 36 + .../manuels/chinese/men_contenu.html | 37 + revolution_16/manuels/chinese/men_gen.html | 32 + revolution_16/manuels/chinese/men_inter.html | 30 + .../manuels/chinese/men_modules.html | 34 + revolution_16/manuels/chinese/men_syst.html | 40 + .../manuels/chinese/men_utilisateurs.html | 31 + revolution_16/manuels/chinese/meta_lang.html | 18 +- revolution_16/manuels/chinese/metatags.html | 146 +- revolution_16/manuels/chinese/modules.html | 53 +- revolution_16/manuels/chinese/newarticle.html | 97 +- revolution_16/manuels/chinese/overload.html | 9 +- revolution_16/manuels/chinese/plugins.html | 17 + revolution_16/manuels/chinese/referer.html | 9 +- revolution_16/manuels/chinese/reviews.html | 9 +- revolution_16/manuels/chinese/sections.html | 8 +- revolution_16/manuels/chinese/social.html | 39 + .../manuels/chinese/submissions.html | 9 +- revolution_16/manuels/chinese/surveys.html | 9 +- revolution_16/manuels/chinese/template.html | 9 +- revolution_16/manuels/chinese/topics.html | 62 +- revolution_16/manuels/chinese/users.html | 72 +- revolution_16/manuels/chinese/weblinks.html | 86 +- revolution_16/manuels/english/abla.html | 5 +- revolution_16/manuels/english/admin.html | 78 +- revolution_16/manuels/english/adminblock.html | 12 +- revolution_16/manuels/english/authors.html | 11 +- revolution_16/manuels/english/automated.html | 3 +- revolution_16/manuels/english/banners.html | 52 +- revolution_16/manuels/english/blocks.html | 133 +- revolution_16/manuels/english/config.html | 509 +- .../manuels/english/configfiles.html | 5 +- revolution_16/manuels/english/downloads.html | 10 +- revolution_16/manuels/english/edito.html | 6 +- revolution_16/manuels/english/email_user.html | 15 +- revolution_16/manuels/english/ephem.html | 7 +- revolution_16/manuels/english/faqs.html | 5 +- .../manuels/english/filemanager.html | 5 +- revolution_16/manuels/english/forumcat.html | 120 +- .../manuels/english/forumconfig.html | 58 +- revolution_16/manuels/english/forummaint.html | 42 +- revolution_16/manuels/english/groupes.html | 14 +- revolution_16/manuels/english/headlines.html | 6 +- revolution_16/manuels/english/ipban.html | 27 + revolution_16/manuels/english/lnl.html | 61 +- revolution_16/manuels/english/logs.html | 18 +- revolution_16/manuels/english/mainblock.html | 5 +- revolution_16/manuels/english/men_com.html | 5 +- .../manuels/english/men_contenu.html | 5 +- revolution_16/manuels/english/men_gen.html | 6 +- revolution_16/manuels/english/men_inter.html | 5 +- .../manuels/english/men_modules.html | 34 + revolution_16/manuels/english/men_syst.html | 7 +- .../manuels/english/men_utilisateurs.html | 7 +- revolution_16/manuels/english/meta_lang.html | 69 +- revolution_16/manuels/english/metatags.html | 72 +- .../manuels/english/mod-archive-stories.html | 23 +- revolution_16/manuels/english/modules.html | 5 +- revolution_16/manuels/english/newarticle.html | 15 +- revolution_16/manuels/english/optimysql.html | 9 +- revolution_16/manuels/english/overload.html | 5 +- revolution_16/manuels/english/referer.html | 23 +- revolution_16/manuels/english/reviews.html | 22 +- revolution_16/manuels/english/savemysql.html | 9 +- revolution_16/manuels/english/sections.html | 5 +- revolution_16/manuels/english/social.html | 20 +- .../manuels/english/submissions.html | 3 +- revolution_16/manuels/english/surveys.html | 30 +- revolution_16/manuels/english/template.html | 3 +- revolution_16/manuels/english/topics.html | 6 +- revolution_16/manuels/english/users.html | 10 +- revolution_16/manuels/english/weblinks.html | 88 +- revolution_16/manuels/french/abla.html | 4 +- revolution_16/manuels/french/admin.html | 14 +- revolution_16/manuels/french/adminblock.html | 7 +- revolution_16/manuels/french/authors.html | 9 +- revolution_16/manuels/french/automated.html | 2 +- revolution_16/manuels/french/banners.html | 8 +- revolution_16/manuels/french/blocks.html | 165 +- revolution_16/manuels/french/config.html | 57 +- revolution_16/manuels/french/configfiles.html | 4 +- revolution_16/manuels/french/downloads.html | 9 +- revolution_16/manuels/french/edito.html | 5 +- revolution_16/manuels/french/email_user.html | 4 +- revolution_16/manuels/french/ephem.html | 6 +- revolution_16/manuels/french/faqs.html | 4 +- revolution_16/manuels/french/filemanager.html | 5 +- revolution_16/manuels/french/forumcat.html | 8 +- revolution_16/manuels/french/forumconfig.html | 15 +- revolution_16/manuels/french/forummaint.html | 8 +- revolution_16/manuels/french/groupes.html | 4 +- revolution_16/manuels/french/headlines.html | 7 +- revolution_16/manuels/french/index.html | 0 revolution_16/manuels/french/ipban.html | 9 +- revolution_16/manuels/french/lnl.html | 6 +- revolution_16/manuels/french/logs.html | 13 +- revolution_16/manuels/french/mainblock.html | 5 +- revolution_16/manuels/french/men_com.html | 4 +- revolution_16/manuels/french/men_contenu.html | 4 +- revolution_16/manuels/french/men_gen.html | 4 +- revolution_16/manuels/french/men_inter.html | 4 +- revolution_16/manuels/french/men_modules.html | 14 +- revolution_16/manuels/french/men_syst.html | 4 +- .../manuels/french/men_utilisateurs.html | 11 +- revolution_16/manuels/french/meta_lang.html | 37 +- revolution_16/manuels/french/metatags.html | 76 +- .../manuels/french/mod-archive-stories.html | 18 +- revolution_16/manuels/french/modules.html | 41 +- revolution_16/manuels/french/newarticle.html | 4 +- revolution_16/manuels/french/optimysql.html | 6 +- revolution_16/manuels/french/overload.html | 5 +- revolution_16/manuels/french/referer.html | 4 +- revolution_16/manuels/french/reviews.html | 6 +- revolution_16/manuels/french/savemysql.html | 6 +- revolution_16/manuels/french/sections.html | 5 +- revolution_16/manuels/french/social.html | 39 + revolution_16/manuels/french/submissions.html | 0 revolution_16/manuels/french/surveys.html | 8 +- revolution_16/manuels/french/topics.html | 6 +- revolution_16/manuels/french/upload.html | 4 +- revolution_16/manuels/french/users.html | 12 +- revolution_16/manuels/french/weblinks.html | 30 +- revolution_16/manuels/german/abla.html | 4 +- revolution_16/manuels/german/admin.html | 7 +- revolution_16/manuels/german/adminblock.html | 12 +- revolution_16/manuels/german/authors.html | 7 +- revolution_16/manuels/german/automated.html | 2 +- revolution_16/manuels/german/banners.html | 4 +- revolution_16/manuels/german/blocks.html | 16 +- revolution_16/manuels/german/config.html | 440 +- revolution_16/manuels/german/configfiles.html | 8 +- revolution_16/manuels/german/downloads.html | 29 +- revolution_16/manuels/german/edito.html | 12 +- revolution_16/manuels/german/email_user.html | 4 +- revolution_16/manuels/german/ephem.html | 20 +- revolution_16/manuels/german/faqs.html | 8 +- revolution_16/manuels/german/filemanager.html | 48 + revolution_16/manuels/german/forumcat.html | 98 +- revolution_16/manuels/german/forumconfig.html | 76 +- revolution_16/manuels/german/forummaint.html | 49 +- revolution_16/manuels/german/groupes.html | 4 +- revolution_16/manuels/german/headlines.html | 45 +- revolution_16/manuels/german/ipban.html | 30 + revolution_16/manuels/german/lnl.html | 63 +- revolution_16/manuels/german/logs.html | 33 + revolution_16/manuels/german/mainblock.html | 44 +- revolution_16/manuels/german/men_com.html | 4 +- revolution_16/manuels/german/men_contenu.html | 6 +- revolution_16/manuels/german/men_gen.html | 10 +- revolution_16/manuels/german/men_inter.html | 6 +- revolution_16/manuels/german/men_modules.html | 17 +- revolution_16/manuels/german/men_syst.html | 12 +- .../manuels/german/men_utilisateurs.html | 5 +- revolution_16/manuels/german/meta_lang.html | 52 +- revolution_16/manuels/german/metatags.html | 90 +- .../manuels/german/mod-archive-stories.html | 38 + revolution_16/manuels/german/modules.html | 27 +- revolution_16/manuels/german/newarticle.html | 28 +- revolution_16/manuels/german/optimysql.html | 26 + revolution_16/manuels/german/overload.html | 4 +- revolution_16/manuels/german/referer.html | 4 +- revolution_16/manuels/german/reviews.html | 16 +- revolution_16/manuels/german/savemysql.html | 26 + revolution_16/manuels/german/sections.html | 44 +- revolution_16/manuels/german/social.html | 39 + revolution_16/manuels/german/submissions.html | 4 +- revolution_16/manuels/german/surveys.html | 8 +- revolution_16/manuels/german/template.html | 2 +- revolution_16/manuels/german/topics.html | 28 +- revolution_16/manuels/german/users.html | 11 +- revolution_16/manuels/german/weblinks.html | 52 +- revolution_16/manuels/list.php | 4 +- revolution_16/manuels/spanish/abla.html | 27 + revolution_16/manuels/spanish/admin.html | 9 +- revolution_16/manuels/spanish/adminblock.html | 4 +- revolution_16/manuels/spanish/authors.html | 4 +- revolution_16/manuels/spanish/automated.html | 15 +- revolution_16/manuels/spanish/banners.html | 4 +- revolution_16/manuels/spanish/blocks.html | 4 +- revolution_16/manuels/spanish/config.html | 90 +- .../manuels/spanish/configfiles.html | 4 +- revolution_16/manuels/spanish/downloads.html | 4 +- revolution_16/manuels/spanish/edito.html | 4 +- revolution_16/manuels/spanish/email_user.html | 4 +- revolution_16/manuels/spanish/ephem.html | 6 +- revolution_16/manuels/spanish/faqs.html | 4 +- .../manuels/spanish/filemanager.html | 90 +- revolution_16/manuels/spanish/forumcat.html | 8 +- .../manuels/spanish/forumconfig.html | 15 +- revolution_16/manuels/spanish/forummaint.html | 8 +- revolution_16/manuels/spanish/groupes.html | 4 +- revolution_16/manuels/spanish/headlines.html | 7 +- revolution_16/manuels/spanish/ipban.html | 30 + revolution_16/manuels/spanish/lnl.html | 4 +- revolution_16/manuels/spanish/logs.html | 34 + revolution_16/manuels/spanish/mainblock.html | 4 +- revolution_16/manuels/spanish/men_com.html | 4 +- .../manuels/spanish/men_contenu.html | 12 +- revolution_16/manuels/spanish/men_gen.html | 4 +- revolution_16/manuels/spanish/men_inter.html | 4 +- .../manuels/spanish/men_modules.html | 34 + revolution_16/manuels/spanish/men_syst.html | 14 +- .../manuels/spanish/men_utilisateurs.html | 4 +- revolution_16/manuels/spanish/meta_lang.html | 55 + revolution_16/manuels/spanish/metatags.html | 78 +- .../manuels/spanish/mod-archive-stories.html | 38 + revolution_16/manuels/spanish/modules.html | 27 +- revolution_16/manuels/spanish/newarticle.html | 10 +- revolution_16/manuels/spanish/optimysql.html | 26 + revolution_16/manuels/spanish/overload.html | 4 +- revolution_16/manuels/spanish/referer.html | 4 +- revolution_16/manuels/spanish/reviews.html | 6 +- .../docip.html => spanish/savemysql.html} | 21 +- revolution_16/manuels/spanish/sections.html | 9 +- revolution_16/manuels/spanish/social.html | 39 + .../manuels/spanish/submissions.html | 2 +- revolution_16/manuels/spanish/surveys.html | 8 +- revolution_16/manuels/spanish/template.html | 24 +- revolution_16/manuels/spanish/topics.html | 6 +- revolution_16/manuels/spanish/users.html | 4 +- revolution_16/manuels/spanish/weblinks.html | 12 +- revolution_16/map.php | 154 +- revolution_16/memberslist.php | 23 +- revolution_16/meta/meta.php | 37 +- revolution_16/minisite.php | 37 +- revolution_16/modules.php | 14 +- .../admin/monmodule_admin.php | 6 +- .../_monmodule_template/install.conf.php | 4 +- .../_monmodule_template/install/install.txt | 2 +- .../lang/monmodule-chinese.php | 4 +- .../lang/monmodule-english.php | 4 +- .../lang/monmodule-french.php | 4 +- .../lang/monmodule-german.php | 4 +- .../lang/monmodule-spanish.php | 4 +- .../modules/_monmodule_template/monmodule.php | 6 +- .../admin/archive-stories_set.php | 20 +- .../archive-stories/archive-stories.conf.php | 4 +- .../archive-stories/archive-stories.php | 21 +- .../modules/archive-stories/cache.timings.php | 4 +- .../modules/bloc-notes/bloc-notes.php | 4 +- .../modules/bloc-notes/blocnotes-read.php | 5 +- .../modules/bloc-notes/blocnotes.php | 6 +- .../modules/bloc-notes/install.conf.php | 10 +- .../modules/bloc-notes/install/blocnotes.sql | 2 +- revolution_16/modules/blog/readnews.php | 28 +- .../modules/blog/upload_minisite.php | 4 +- .../modules/cluster-paradise/cluster-E.php | 4 +- .../modules/cluster-paradise/cluster-M.php | 4 +- .../cluster-paradise/cluster-activate.php | 4 +- .../sample.data-cluster-E.php | 4 +- .../sample.data-cluster-M.php | 4 +- revolution_16/modules/comments/admin.php | 7 +- .../modules/comments/article.conf.php | 10 +- revolution_16/modules/comments/comments.php | 547 +- .../modules/comments/comments_extender.php | 4 +- revolution_16/modules/comments/edito.conf.php | 4 +- .../modules/comments/pollBoth.conf.php | 9 +- revolution_16/modules/comments/reply.php | 157 +- .../modules/comments/reviews.conf.php | 8 +- .../modules/comments/reviews.form.php | 4 +- revolution_16/modules/contact/contact.php | 4 +- .../modules/f-manager/class.navigator.php | 103 +- revolution_16/modules/f-manager/f-manager.php | 13 +- .../f-manager/lang/f-manager-chinese.php | 4 +- .../f-manager/lang/f-manager-english.php | 4 +- .../f-manager/lang/f-manager-french.php | 4 +- .../f-manager/lang/f-manager-german.php | 4 +- .../f-manager/lang/f-manager-spanish.php | 4 +- .../modules/f-manager/pic-manager.php | 4 +- .../f-manager/users/bank-groupe.conf.php | 4 +- .../f-manager/users/bank-groupe.mod.php | 4 +- .../f-manager/users/bank-membre.conf.php | 4 +- .../f-manager/users/bank-membre.mod.php | 2 +- .../f-manager/users/bank-public.conf.php | 4 +- .../f-manager/users/bank-public.mod.php | 4 +- .../modules/f-manager/users/default.conf.php | 4 +- .../modules/f-manager/users/download.conf.php | 4 +- .../modules/f-manager/users/download.mod.php | 4 +- .../modules/f-manager/users/groupe.conf.php | 4 +- .../modules/f-manager/users/membre.conf.php | 4 +- .../f-manager/users/minisite-ges.conf.php | 4 +- .../users/minisite-lec-groupe.conf.php | 4 +- .../users/minisite-lec-groupe.mod.php | 4 +- .../f-manager/users/minisite-lec.conf.php | 4 +- .../f-manager/users/minisite-lec.mod.php | 4 +- .../f-manager/users/modele.admin.conf.php | 4 +- .../modules/f-manager/users/root.conf.php | 4 +- .../modules/geoloc/admin/geoloc_set.php | 4 +- .../modules/geoloc/doc/aide_geo-chinese.html | 58 +- .../modules/geoloc/doc/aide_geo-english.html | 56 +- .../modules/geoloc/doc/aide_geo-french.html | 54 +- .../modules/geoloc/doc/aide_geo-german.html | 60 +- .../modules/geoloc/doc/aide_geo-spanish.html | 103 +- .../geoloc/doc/images/view_stamenbw.jpg | Bin 115806 -> 0 bytes .../geoloc/doc/images/view_stamendessin.jpg | Bin 126395 -> 0 bytes .../geoloc/doc/images/view_stamenrelief.jpg | Bin 100602 -> 0 bytes revolution_16/modules/geoloc/geoloc.conf | 25 +- revolution_16/modules/geoloc/geoloc.php | 44 +- revolution_16/modules/geoloc/geoloc_bloc.php | 4 +- revolution_16/modules/geoloc/geoloc_locip.php | 6 +- revolution_16/modules/geoloc/geoloc_refip.php | 122 + revolution_16/modules/geoloc/include/wp.php | 2 +- .../geoloc/lang/geoloc.lang-chinese.php | 4 +- .../geoloc/lang/geoloc.lang-english.php | 4 +- .../geoloc/lang/geoloc.lang-french.php | 4 +- .../geoloc/lang/geoloc.lang-german.php | 4 +- .../geoloc/lang/geoloc.lang-spanish.php | 4 +- .../modules/include/footer_after.inc | 19 +- .../modules/include/header_after.inc | 4 +- .../modules/include/header_before.inc | 6 +- revolution_16/modules/include/header_head.inc | 4 +- .../modules/include/sample.body_onload.inc | 4 +- .../modules/include/sample.footer_after.inc | 4 +- .../modules/include/sample.footer_before.inc | 4 +- .../modules/include/sample.header_after.inc | 4 +- .../modules/include/sample.header_before.inc | 4 +- .../modules/include/sample.header_head.inc | 4 +- .../modules/include/sample.new_user.inc | 4 +- revolution_16/modules/include/sample.user.inc | 4 +- revolution_16/modules/include/url_protect.php | 4 +- revolution_16/modules/include/user.inc | 4 +- .../modules/ipban/lang/ipban.lang-chinese.php | 4 +- .../modules/ipban/lang/ipban.lang-english.php | 4 +- .../modules/ipban/lang/ipban.lang-french.php | 4 +- .../modules/ipban/lang/ipban.lang-german.php | 4 +- .../modules/ipban/lang/ipban.lang-spanish.php | 4 +- revolution_16/modules/ipban/setban.php | 4 +- .../modules/links/admin/create_tables.php | 4 +- revolution_16/modules/links/admin/links.php | 8 +- revolution_16/modules/links/install.txt | 23 +- revolution_16/modules/links/links-1.php | 7 +- revolution_16/modules/links/links-2.php | 4 +- revolution_16/modules/links/links-3.php | 6 +- revolution_16/modules/links/links-view.php | 69 +- revolution_16/modules/links/links.ban_01.php | 4 +- revolution_16/modules/links/links.ban_02.php | 4 +- revolution_16/modules/links/links.ban_03.php | 4 +- revolution_16/modules/links/links.conf.php | 4 +- revolution_16/modules/links/links.php | 28 +- .../modules/marquetapage/install.conf.php | 6 +- .../modules/marquetapage/marquetapage.php | 4 +- .../modules/meta-lang/adv-meta_lang-doc.php | 4 +- .../modules/meta-lang/adv-meta_lang.php | 19 +- .../modules/npds_twi/admin/npds_twi_set.php | 10 +- .../npds_twi/lang/twi.lang-chinese.php | 4 +- .../npds_twi/lang/twi.lang-english.php | 4 +- .../modules/npds_twi/lang/twi.lang-french.php | 4 +- .../modules/npds_twi/lang/twi.lang-german.php | 4 +- .../npds_twi/lang/twi.lang-spanish.php | 4 +- .../modules/npds_twi/npds_to_twi.php | 6 +- revolution_16/modules/npds_twi/twi_conf.php | 4 +- .../modules/page-time/footer_after.inc | 25 - .../modules/page-time/header_before.inc | 18 - revolution_16/modules/page-time/install.txt | 9 +- .../push/language/push-lang-chinese.php | 2 +- .../push/language/push-lang-english.php | 2 +- .../push/language/push-lang-french.php | 2 +- .../push/language/push-lang-german.php | 2 +- .../push/language/push-lang-spanish.php | 4 +- revolution_16/modules/push/push.conf.php | 4 +- revolution_16/modules/push/push.js | 2 +- revolution_16/modules/push/push.php | 4 +- .../admin/reseaux-sociaux_set.php | 7 +- .../reseaux-sociaux/lang/rs-chinese.php | 4 +- .../reseaux-sociaux/lang/rs-english.php | 4 +- .../reseaux-sociaux/lang/rs-french.php | 4 +- .../reseaux-sociaux/lang/rs-german.php | 4 +- .../reseaux-sociaux/lang/rs-spanish.php | 4 +- .../reseaux-sociaux/reseaux-sociaux.conf.php | 4 +- .../reseaux-sociaux/reseaux-sociaux.php | 6 +- .../session-log/lang/session-log-chinese.php | 4 +- .../session-log/lang/session-log-english.php | 4 +- .../session-log/lang/session-log-french.php | 4 +- .../session-log/lang/session-log-german.php | 4 +- .../session-log/lang/session-log-spanish.php | 4 +- .../modules/session-log/session-log.php | 529 +- .../modules/sform/contact/contact.php | 6 +- .../modules/sform/contact/formulaire.php | 4 +- .../sform/extend-user/adm_extend-user.php | 4 +- .../sform/extend-user/adm_formulaire.php | 4 +- .../sform/extend-user/aff_extend-user.php | 4 +- .../sform/extend-user/aff_formulaire.php | 4 +- .../modules/sform/extend-user/extend-user.php | 4 +- .../sform/extend-user/extender/formulaire.php | 4 +- .../modules/sform/extend-user/formulaire.php | 4 +- .../sform/extend-user/mod_extend-user.php | 4 +- .../sform/extend-user/mod_formulaire.php | 4 +- .../modules/sform/forum/formulaire.php | 4 +- .../modules/sform/forum/forum_extender.php | 4 +- .../modules/sform/links/formulaire.php | 2 +- .../modules/sform/links/link_detail.php | 2 +- .../modules/sform/links/link_maj.php | 2 +- .../modules/sform/links/sample.formulaire.php | 2 +- revolution_16/modules/sform/sform.php | 4 +- revolution_16/modules/upload/admin/upload.php | 2 +- .../modules/upload/include/fileupload.php | 4 +- .../modules/upload/include/mimetypes.php | 4 +- .../modules/upload/include/minigf.php | 2 +- .../include_editeur/upload.conf.editeur.php | 2 +- .../include_editeur/upload_editeur2.php | 4 +- .../include_forum/upload.conf.forum.php | 4 +- .../include_forum/upload.func.forum.php | 4 +- .../upload/include_forum/upload_forum2.php | 6 +- revolution_16/modules/upload/upload.conf.php | 2 +- revolution_16/modules/upload/upload_forum.php | 2 +- revolution_16/modules/wspad/config.php | 4 +- revolution_16/modules/wspad/export.php | 4 +- revolution_16/modules/wspad/lang/chinese.php | 2 +- revolution_16/modules/wspad/lang/english.php | 2 +- revolution_16/modules/wspad/lang/french.php | 2 +- revolution_16/modules/wspad/lang/german.php | 2 +- revolution_16/modules/wspad/lang/spanish.php | 2 +- revolution_16/modules/wspad/pages.php | 4 +- revolution_16/modules/wspad/preview.php | 4 +- .../modules/wspad/tiny_mce_setup.php | 4 +- revolution_16/modules/wspad/ws_verrou.php | 4 +- revolution_16/modules/wspad/wspad.php | 8 +- revolution_16/more_emoticon.php | 10 +- revolution_16/newtopic.php | 4 +- revolution_16/npds_api.php | 4 +- revolution_16/pollBooth.php | 479 +- revolution_16/powerpack.php | 6 +- revolution_16/powerpack_f.php | 204 +- revolution_16/preview.php | 76 +- revolution_16/print.php | 344 +- revolution_16/prntopic.php | 35 +- revolution_16/publication.php | 27 +- revolution_16/readpmsg.php | 25 +- revolution_16/readpmsg_imm.php | 24 +- revolution_16/reply.php | 94 +- revolution_16/replyH.php | 6 +- revolution_16/replypmsg.php | 22 +- revolution_16/reviews.php | 10 +- revolution_16/sample.proxy.conf.php | 4 +- revolution_16/search.php | 4 +- revolution_16/searchbb.php | 43 +- revolution_16/sections.config.php | 4 +- revolution_16/sections.php | 4 +- revolution_16/signat.php | 4 +- revolution_16/sitemap.php | 334 +- revolution_16/sql/revolution_16.sql | 36 +- revolution_16/static.php | 4 +- revolution_16/static/changelog-rev16.txt | 58 +- revolution_16/stats.php | 54 +- revolution_16/submit.php | 8 +- revolution_16/themes/BaseRoc/footer.php | 2 +- revolution_16/themes/BaseRoc/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../BaseRoc/images/forum/smilies/smilies.php | 2 +- .../themes/BaseRoc/include/footer_before.inc | 2 +- .../themes/BaseRoc/include/header_head.inc | 2 +- revolution_16/themes/BaseRoc/pages.php | 2 +- revolution_16/themes/BaseRoc/theme.php | 2 +- revolution_16/themes/MyBlogNPDS/footer.php | 2 +- revolution_16/themes/MyBlogNPDS/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- revolution_16/themes/MyBlogNPDS/theme.php | 2 +- revolution_16/themes/NBOR/footer.php | 2 +- revolution_16/themes/NBOR/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../NBOR/images/forum/smilies/smilies.php | 2 +- .../themes/NBOR/include/footer_before.inc | 2 +- .../themes/NBOR/include/header_head.inc | 2 +- revolution_16/themes/NBOR/pages.php | 2 +- revolution_16/themes/NBOR/theme.php | 2 +- revolution_16/themes/Rev2016/central.php | 2 +- revolution_16/themes/Rev2016/footer.php | 2 +- revolution_16/themes/Rev2016/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../Rev2016/images/forum/smilies/smilies.php | 2 +- .../themes/Rev2016/include/footer_before.inc | 2 +- .../themes/Rev2016/include/header_head.inc | 2 +- .../Rev2016/include/sample.body_onload.inc | 2 +- revolution_16/themes/Rev2016/pages.php | 2 +- revolution_16/themes/Rev2016/theme.php | 2 +- .../themes/_skins/cerulean/_bootswatch.scss | 26 +- .../themes/_skins/cerulean/_variables.scss | 3 +- .../themes/_skins/cerulean/bootstrap.css | 2598 ++++++--- .../themes/_skins/cerulean/bootstrap.min.css | 11 +- .../themes/_skins/cosmo/_bootswatch.scss | 8 +- .../themes/_skins/cosmo/_variables.scss | 2 +- .../themes/_skins/cosmo/bootstrap.css | 2446 ++++++-- .../themes/_skins/cosmo/bootstrap.min.css | 11 +- .../themes/_skins/cyborg/_bootswatch.scss | 15 +- .../themes/_skins/cyborg/_variables.scss | 9 +- .../themes/_skins/cyborg/bootstrap.css | 2392 ++++++-- .../themes/_skins/cyborg/bootstrap.min.css | 11 +- .../themes/_skins/darkly/_bootswatch.scss | 27 +- .../themes/_skins/darkly/_variables.scss | 13 +- .../themes/_skins/darkly/bootstrap.css | 2423 ++++++-- .../themes/_skins/darkly/bootstrap.min.css | 11 +- .../themes/_skins/default/bootstrap.min.css | 7 +- .../themes/_skins/flatly/_bootswatch.scss | 30 +- .../themes/_skins/flatly/_variables.scss | 22 +- .../themes/_skins/flatly/bootstrap.css | 2511 +++++--- .../themes/_skins/flatly/bootstrap.min.css | 11 +- .../themes/_skins/journal/_bootswatch.scss | 26 +- .../themes/_skins/journal/_variables.scss | 6 +- .../themes/_skins/journal/bootstrap.css | 2519 +++++--- .../themes/_skins/journal/bootstrap.min.css | 11 +- .../themes/_skins/litera/_bootswatch.scss | 23 +- .../themes/_skins/litera/_variables.scss | 11 +- .../themes/_skins/litera/bootstrap.css | 2518 +++++--- .../themes/_skins/litera/bootstrap.min.css | 11 +- .../themes/_skins/lumen/_bootswatch.scss | 20 +- .../themes/_skins/lumen/_variables.scss | 19 +- .../themes/_skins/lumen/bootstrap.css | 2519 +++++--- .../themes/_skins/lumen/bootstrap.min.css | 11 +- .../themes/_skins/lux/_bootswatch.scss | 64 +- .../themes/_skins/lux/_variables.scss | 14 +- revolution_16/themes/_skins/lux/bootstrap.css | 2475 ++++++-- .../themes/_skins/lux/bootstrap.min.css | 11 +- .../themes/_skins/materia/_bootswatch.scss | 10 +- .../themes/_skins/materia/_variables.scss | 2 +- .../themes/_skins/materia/bootstrap.css | 2437 ++++++-- .../themes/_skins/materia/bootstrap.min.css | 11 +- .../themes/_skins/minty/_bootswatch.scss | 16 +- .../themes/_skins/minty/_variables.scss | 13 +- .../themes/_skins/minty/bootstrap.css | 2500 +++++--- .../themes/_skins/minty/bootstrap.min.css | 11 +- .../themes/_skins/morph/_bootswatch.scss | 114 +- .../themes/_skins/morph/_variables.scss | 17 +- .../themes/_skins/morph/bootstrap.css | 2522 ++++++-- .../themes/_skins/morph/bootstrap.min.css | 11 +- .../themes/_skins/pulse/_bootswatch.scss | 6 +- .../themes/_skins/pulse/_variables.scss | 7 +- .../themes/_skins/pulse/bootstrap.css | 2436 ++++++-- .../themes/_skins/pulse/bootstrap.min.css | 11 +- .../themes/_skins/quartz/_bootswatch.scss | 18 +- .../themes/_skins/quartz/_variables.scss | 17 +- .../themes/_skins/quartz/bootstrap.css | 2416 ++++++-- .../themes/_skins/quartz/bootstrap.min.css | 11 +- .../themes/_skins/sandstone/_bootswatch.scss | 8 +- .../themes/_skins/sandstone/_variables.scss | 6 +- .../themes/_skins/sandstone/bootstrap.css | 2465 +++++--- .../themes/_skins/sandstone/bootstrap.min.css | 11 +- .../themes/_skins/simplex/_bootswatch.scss | 9 +- .../themes/_skins/simplex/_variables.scss | 5 +- .../themes/_skins/simplex/bootstrap.css | 2497 +++++--- .../themes/_skins/simplex/bootstrap.min.css | 11 +- .../themes/_skins/sketchy/_bootswatch.scss | 27 +- .../themes/_skins/sketchy/_variables.scss | 14 +- .../themes/_skins/sketchy/bootstrap.css | 2484 +++++--- .../themes/_skins/sketchy/bootstrap.min.css | 11 +- .../themes/_skins/slate/_bootswatch.scss | 148 +- .../themes/_skins/slate/_variables.scss | 35 +- .../themes/_skins/slate/bootstrap.css | 2698 ++++++--- .../themes/_skins/slate/bootstrap.min.css | 11 +- .../themes/_skins/solar/_bootswatch.scss | 14 +- .../themes/_skins/solar/_variables.scss | 18 +- .../themes/_skins/solar/bootstrap.css | 2432 ++++++-- .../themes/_skins/solar/bootstrap.min.css | 11 +- .../themes/_skins/spacelab/_bootswatch.scss | 10 +- .../themes/_skins/spacelab/_variables.scss | 5 +- .../themes/_skins/spacelab/bootstrap.css | 2510 +++++--- .../themes/_skins/spacelab/bootstrap.min.css | 11 +- .../themes/_skins/superhero/_bootswatch.scss | 17 +- .../themes/_skins/superhero/_variables.scss | 74 +- .../themes/_skins/superhero/bootstrap.css | 2552 +++++--- .../themes/_skins/superhero/bootstrap.min.css | 11 +- .../themes/_skins/united/_bootswatch.scss | 8 +- .../themes/_skins/united/_variables.scss | 2 +- .../themes/_skins/united/bootstrap.css | 2507 +++++--- .../themes/_skins/united/bootstrap.min.css | 11 +- .../themes/_skins/vapor/_bootswatch.scss | 43 +- .../themes/_skins/vapor/_variables.scss | 16 +- .../themes/_skins/vapor/bootstrap.css | 2446 ++++++-- .../themes/_skins/vapor/bootstrap.min.css | 11 +- .../themes/_skins/yeti/_bootswatch.scss | 52 +- .../themes/_skins/yeti/_variables.scss | 29 +- .../themes/_skins/yeti/bootstrap.css | 2595 ++++++--- .../themes/_skins/yeti/bootstrap.min.css | 11 +- .../themes/_skins/zephyr/_bootswatch.scss | 12 +- .../themes/_skins/zephyr/_variables.scss | 22 +- .../themes/_skins/zephyr/bootstrap.css | 2526 +++++--- .../themes/_skins/zephyr/bootstrap.min.css | 11 +- revolution_16/themes/blocskin.php | 2 +- revolution_16/themes/corporate/central.php | 2 +- revolution_16/themes/corporate/footer.php | 2 +- revolution_16/themes/corporate/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- .../themes/corporate/include/header_head.inc | 2 +- revolution_16/themes/corporate/pages.php | 2 +- revolution_16/themes/corporate/theme.php | 2 +- .../default/include/sample.body_onload.inc | 2 +- .../default/include/sample.header_head.inc | 2 +- revolution_16/themes/list.php | 2 +- revolution_16/themes/listskin.php | 2 +- revolution_16/themes/npds-blocs_sk/footer.php | 2 +- revolution_16/themes/npds-blocs_sk/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- revolution_16/themes/npds-blocs_sk/theme.php | 2 +- revolution_16/themes/npds-boost_sk/footer.php | 2 +- revolution_16/themes/npds-boost_sk/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- .../npds-boost_sk/include/header_head.inc | 2 +- revolution_16/themes/npds-boost_sk/theme.php | 2 +- revolution_16/themes/npds-grid_sk/footer.php | 2 +- revolution_16/themes/npds-grid_sk/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- revolution_16/themes/npds-grid_sk/theme.php | 2 +- revolution_16/themes/pages.php | 2 +- .../themes/right-boost_sk/footer.php | 2 +- .../themes/right-boost_sk/header.php | 2 +- .../images/forum/smilies/more/smilies.php | 2 +- .../images/forum/smilies/smilies.php | 2 +- revolution_16/themes/right-boost_sk/theme.php | 2 +- .../themes/themes-dynamic/footer.php | 2 +- .../themes/themes-dynamic/header.php | 2 +- revolution_16/themes/themes-dynamic/theme.php | 58 +- revolution_16/top.php | 4 +- revolution_16/topicadmin.php | 4 +- revolution_16/topics.php | 10 +- revolution_16/user.php | 124 +- revolution_16/viewforum.php | 6 +- revolution_16/viewpmsg.php | 26 +- revolution_16/viewtopic.php | 4 +- revolution_16/viewtopicH.php | 25 +- 773 files changed, 66824 insertions(+), 25716 deletions(-) mode change 100755 => 100644 revolution_16/admin.php mode change 100755 => 100644 revolution_16/admin/adminedito.php mode change 100755 => 100644 revolution_16/admin/adminfaq.php mode change 100755 => 100644 revolution_16/admin/authors.php mode change 100755 => 100644 revolution_16/admin/automated.php mode change 100755 => 100644 revolution_16/admin/blocks.php mode change 100755 => 100644 revolution_16/admin/configfiles.php mode change 100755 => 100644 revolution_16/admin/die.php mode change 100755 => 100644 revolution_16/admin/download.php mode change 100755 => 100644 revolution_16/admin/groupes.php mode change 100755 => 100644 revolution_16/admin/headlines.php mode change 100755 => 100644 revolution_16/admin/leftblocks.php mode change 100755 => 100644 revolution_16/admin/links.php mode change 100755 => 100644 revolution_16/admin/lnl.php mode change 100755 => 100644 revolution_16/admin/meta_lang.php mode change 100755 => 100644 revolution_16/admin/metatags.php mode change 100755 => 100644 revolution_16/admin/module-install.php mode change 100755 => 100644 revolution_16/admin/modules.php mode change 100755 => 100644 revolution_16/admin/optimysql.php mode change 100755 => 100644 revolution_16/admin/phpbbmaint.php mode change 100755 => 100644 revolution_16/admin/polls.php mode change 100755 => 100644 revolution_16/admin/referers.php mode change 100755 => 100644 revolution_16/admin/rightblocks.php mode change 100755 => 100644 revolution_16/admin/sections.php mode change 100755 => 100644 revolution_16/admin/settings.php mode change 100755 => 100644 revolution_16/admin/stories.php mode change 100755 => 100644 revolution_16/admin/submissions.php mode change 100755 => 100644 revolution_16/admin/topics.php mode change 100755 => 100644 revolution_16/admin/users.php mode change 100755 => 100644 revolution_16/autodoc.php mode change 100755 => 100644 revolution_16/chat.php mode change 100755 => 100644 revolution_16/chattop.php mode change 100755 => 100644 revolution_16/download.php mode change 100755 => 100644 revolution_16/functions.php mode change 100755 => 100644 revolution_16/header.php delete mode 100644 revolution_16/images/forum/www_icon.gif delete mode 100644 revolution_16/images/stats/question.gif delete mode 100644 revolution_16/images/upload/arrow.gif mode change 100755 => 100644 revolution_16/language/lang-chinese.php mode change 100755 => 100644 revolution_16/language/lang-english.php mode change 100755 => 100644 revolution_16/language/lang-german.php mode change 100755 => 100644 revolution_16/language/lang-spanish.php create mode 100644 revolution_16/lib/PHPMailer/COMMITMENT create mode 100644 revolution_16/lib/PHPMailer/LICENSE create mode 100644 revolution_16/lib/PHPMailer/PHPmailer.conf.php create mode 100644 revolution_16/lib/PHPMailer/README.md create mode 100644 revolution_16/lib/PHPMailer/SECURITY.md create mode 100644 revolution_16/lib/PHPMailer/VERSION create mode 100644 revolution_16/lib/PHPMailer/composer.json create mode 100644 revolution_16/lib/PHPMailer/get_oauth_token.php rename revolution_16/{modules/_monmodule_template/kernel => lib/PHPMailer/index.html} (100%) create mode 100644 revolution_16/lib/PHPMailer/key/index.html create mode 100644 revolution_16/lib/PHPMailer/language/index.html create mode 100644 revolution_16/lib/PHPMailer/language/phpmailer.lang-de.php create mode 100644 revolution_16/lib/PHPMailer/language/phpmailer.lang-es.php create mode 100644 revolution_16/lib/PHPMailer/language/phpmailer.lang-fr.php create mode 100644 revolution_16/lib/PHPMailer/language/phpmailer.lang-zh_cn.php create mode 100644 revolution_16/lib/PHPMailer/src/DSNConfigurator.php create mode 100644 revolution_16/lib/PHPMailer/src/Exception.php create mode 100644 revolution_16/lib/PHPMailer/src/OAuth.php create mode 100644 revolution_16/lib/PHPMailer/src/OAuthTokenProvider.php create mode 100644 revolution_16/lib/PHPMailer/src/PHPMailer.php create mode 100644 revolution_16/lib/PHPMailer/src/POP3.php create mode 100644 revolution_16/lib/PHPMailer/src/SMTP.php create mode 100644 revolution_16/lib/PHPMailer/src/index.html mode change 100755 => 100644 revolution_16/lib/bootstrap/dist/css/bootstrap-icons.css mode change 100755 => 100644 revolution_16/lib/bootstrap/dist/css/fonts/bootstrap-icons.woff mode change 100755 => 100644 revolution_16/lib/bootstrap/dist/css/fonts/bootstrap-icons.woff2 mode change 100755 => 100644 revolution_16/lib/js/bootstrap-clockpicker.min.js mode change 100755 => 100644 revolution_16/lib/mysqli.php mode change 100755 => 100644 revolution_16/lnl.php mode change 100755 => 100644 revolution_16/mainfile.php create mode 100644 revolution_16/manuels/chinese/men_com.html create mode 100644 revolution_16/manuels/chinese/men_contenu.html create mode 100644 revolution_16/manuels/chinese/men_gen.html create mode 100644 revolution_16/manuels/chinese/men_inter.html create mode 100644 revolution_16/manuels/chinese/men_modules.html create mode 100644 revolution_16/manuels/chinese/men_syst.html create mode 100644 revolution_16/manuels/chinese/men_utilisateurs.html create mode 100644 revolution_16/manuels/chinese/plugins.html create mode 100644 revolution_16/manuels/chinese/social.html create mode 100644 revolution_16/manuels/english/ipban.html create mode 100644 revolution_16/manuels/english/men_modules.html mode change 100755 => 100644 revolution_16/manuels/french/abla.html mode change 100755 => 100644 revolution_16/manuels/french/admin.html mode change 100755 => 100644 revolution_16/manuels/french/adminblock.html mode change 100755 => 100644 revolution_16/manuels/french/authors.html mode change 100755 => 100644 revolution_16/manuels/french/automated.html mode change 100755 => 100644 revolution_16/manuels/french/banners.html mode change 100755 => 100644 revolution_16/manuels/french/blocks.html mode change 100755 => 100644 revolution_16/manuels/french/config.html mode change 100755 => 100644 revolution_16/manuels/french/configfiles.html mode change 100755 => 100644 revolution_16/manuels/french/downloads.html mode change 100755 => 100644 revolution_16/manuels/french/edito.html mode change 100755 => 100644 revolution_16/manuels/french/email_user.html mode change 100755 => 100644 revolution_16/manuels/french/ephem.html mode change 100755 => 100644 revolution_16/manuels/french/faqs.html mode change 100755 => 100644 revolution_16/manuels/french/filemanager.html mode change 100755 => 100644 revolution_16/manuels/french/forumcat.html mode change 100755 => 100644 revolution_16/manuels/french/forumconfig.html mode change 100755 => 100644 revolution_16/manuels/french/forummaint.html mode change 100755 => 100644 revolution_16/manuels/french/groupes.html mode change 100755 => 100644 revolution_16/manuels/french/headlines.html mode change 100755 => 100644 revolution_16/manuels/french/index.html mode change 100755 => 100644 revolution_16/manuels/french/ipban.html mode change 100755 => 100644 revolution_16/manuels/french/lnl.html mode change 100755 => 100644 revolution_16/manuels/french/logs.html mode change 100755 => 100644 revolution_16/manuels/french/mainblock.html mode change 100755 => 100644 revolution_16/manuels/french/men_com.html mode change 100755 => 100644 revolution_16/manuels/french/men_contenu.html mode change 100755 => 100644 revolution_16/manuels/french/men_gen.html mode change 100755 => 100644 revolution_16/manuels/french/men_inter.html mode change 100755 => 100644 revolution_16/manuels/french/men_modules.html mode change 100755 => 100644 revolution_16/manuels/french/men_syst.html mode change 100755 => 100644 revolution_16/manuels/french/men_utilisateurs.html mode change 100755 => 100644 revolution_16/manuels/french/meta_lang.html mode change 100755 => 100644 revolution_16/manuels/french/metatags.html mode change 100755 => 100644 revolution_16/manuels/french/mod-archive-stories.html mode change 100755 => 100644 revolution_16/manuels/french/modules.html mode change 100755 => 100644 revolution_16/manuels/french/newarticle.html mode change 100755 => 100644 revolution_16/manuels/french/optimysql.html mode change 100755 => 100644 revolution_16/manuels/french/overload.html mode change 100755 => 100644 revolution_16/manuels/french/referer.html mode change 100755 => 100644 revolution_16/manuels/french/reviews.html mode change 100755 => 100644 revolution_16/manuels/french/savemysql.html mode change 100755 => 100644 revolution_16/manuels/french/sections.html create mode 100644 revolution_16/manuels/french/social.html mode change 100755 => 100644 revolution_16/manuels/french/submissions.html mode change 100755 => 100644 revolution_16/manuels/french/surveys.html mode change 100755 => 100644 revolution_16/manuels/french/topics.html mode change 100755 => 100644 revolution_16/manuels/french/upload.html mode change 100755 => 100644 revolution_16/manuels/french/users.html mode change 100755 => 100644 revolution_16/manuels/french/weblinks.html create mode 100644 revolution_16/manuels/german/filemanager.html create mode 100644 revolution_16/manuels/german/ipban.html create mode 100644 revolution_16/manuels/german/logs.html mode change 100755 => 100644 revolution_16/manuels/german/men_com.html mode change 100755 => 100644 revolution_16/manuels/german/men_contenu.html mode change 100755 => 100644 revolution_16/manuels/german/men_gen.html mode change 100755 => 100644 revolution_16/manuels/german/men_inter.html mode change 100755 => 100644 revolution_16/manuels/german/men_modules.html mode change 100755 => 100644 revolution_16/manuels/german/men_syst.html mode change 100755 => 100644 revolution_16/manuels/german/men_utilisateurs.html create mode 100644 revolution_16/manuels/german/mod-archive-stories.html create mode 100644 revolution_16/manuels/german/optimysql.html create mode 100644 revolution_16/manuels/german/savemysql.html create mode 100644 revolution_16/manuels/german/social.html create mode 100644 revolution_16/manuels/spanish/abla.html create mode 100644 revolution_16/manuels/spanish/ipban.html create mode 100644 revolution_16/manuels/spanish/logs.html create mode 100644 revolution_16/manuels/spanish/men_modules.html create mode 100644 revolution_16/manuels/spanish/meta_lang.html create mode 100644 revolution_16/manuels/spanish/mod-archive-stories.html create mode 100644 revolution_16/manuels/spanish/optimysql.html rename revolution_16/manuels/{english/docip.html => spanish/savemysql.html} (50%) create mode 100644 revolution_16/manuels/spanish/social.html mode change 100755 => 100644 revolution_16/memberslist.php mode change 100755 => 100644 revolution_16/modules.php mode change 100755 => 100644 revolution_16/modules/archive-stories/admin/archive-stories_set.php mode change 100755 => 100644 revolution_16/modules/archive-stories/archive-stories.php mode change 100755 => 100644 revolution_16/modules/bloc-notes/bloc-notes.php mode change 100755 => 100644 revolution_16/modules/bloc-notes/install.conf.php mode change 100755 => 100644 revolution_16/modules/blog/readnews.php mode change 100755 => 100644 revolution_16/modules/comments/comments.php mode change 100755 => 100644 revolution_16/modules/comments/reply.php delete mode 100644 revolution_16/modules/geoloc/doc/images/view_stamenbw.jpg delete mode 100644 revolution_16/modules/geoloc/doc/images/view_stamendessin.jpg delete mode 100644 revolution_16/modules/geoloc/doc/images/view_stamenrelief.jpg mode change 100755 => 100644 revolution_16/modules/geoloc/geoloc.conf mode change 100755 => 100644 revolution_16/modules/geoloc/geoloc.php create mode 100644 revolution_16/modules/geoloc/geoloc_refip.php mode change 100755 => 100644 revolution_16/modules/include/header_head.inc mode change 100755 => 100644 revolution_16/modules/links/admin/links.php mode change 100755 => 100644 revolution_16/modules/links/links-1.php mode change 100755 => 100644 revolution_16/modules/links/links.php delete mode 100644 revolution_16/modules/page-time/footer_after.inc delete mode 100644 revolution_16/modules/page-time/header_before.inc mode change 100755 => 100644 revolution_16/modules/reseaux-sociaux/admin/reseaux-sociaux_set.php mode change 100755 => 100644 revolution_16/modules/session-log/session-log.php mode change 100755 => 100644 revolution_16/modules/upload/include_forum/upload_forum2.php mode change 100755 => 100644 revolution_16/modules/wspad/wspad.php mode change 100755 => 100644 revolution_16/pollBooth.php mode change 100755 => 100644 revolution_16/powerpack.php mode change 100755 => 100644 revolution_16/powerpack_f.php mode change 100755 => 100644 revolution_16/prntopic.php mode change 100755 => 100644 revolution_16/readpmsg.php mode change 100755 => 100644 revolution_16/readpmsg_imm.php mode change 100755 => 100644 revolution_16/reply.php mode change 100755 => 100644 revolution_16/replyH.php mode change 100755 => 100644 revolution_16/searchbb.php mode change 100755 => 100644 revolution_16/sections.php mode change 100755 => 100644 revolution_16/sql/revolution_16.sql mode change 100755 => 100644 revolution_16/themes/themes-dynamic/theme.php mode change 100755 => 100644 revolution_16/user.php mode change 100755 => 100644 revolution_16/viewforum.php mode change 100755 => 100644 revolution_16/viewtopicH.php diff --git a/README.md b/README.md index 2e461d9f2..9d0d238e8 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Ses points forts : sa richesse fonctionnelle, sa sécurité, sa rapidité, sa fa ## Required un serveur (local ou distant : Lamp, Wamp ...) avec -- php >= 5.6 +- php >= 7 - mysql >= 5.5.3 - une base de donnée existante diff --git a/revolution_16/abla.php b/revolution_16/abla.php index 61d6cd04a..137f6351a 100644 --- a/revolution_16/abla.php +++ b/revolution_16/abla.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2020 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!stristr($_SERVER['PHP_SELF'],'admin.php')) include("admin/die.php"); @@ -24,7 +24,7 @@ admindroits($aid,$f_meta_nom); //<== controle droit global $language; -$hlpfile = ''; +$hlpfile = '/manuels/'.$language.'/abla.html'; global $admin; if ($admin) { @@ -244,4 +244,4 @@ adminfoot('','','',''); } else redirect_url("index.php"); -?> +?> \ No newline at end of file diff --git a/revolution_16/admin.php b/revolution_16/admin.php old mode 100755 new mode 100644 index 802718147..6c7cc1c74 --- a/revolution_16/admin.php +++ b/revolution_16/admin.php @@ -4,11 +4,11 @@ /* =========================== */ /* */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists("Mysql_Connexion")) @@ -194,11 +194,22 @@ function GraphicAdmin($hlpfile) { sql_num_rows(sql_query("SELECT * FROM ".$NPDS_Prefix."seccont_tempo")): sql_num_rows(sql_query("SELECT * FROM ".$NPDS_Prefix."seccont_tempo WHERE author='$aid'")); if($newpubli) sql_query("UPDATE ".$NPDS_Prefix."fonctions SET fetat='1',fretour='".$newpubli."', fretour_h='".adm_translate("Publication(s) en attente de validation")."' WHERE fid='50'"); else sql_query("UPDATE ".$NPDS_Prefix."fonctions SET fetat='0',fretour='0' WHERE fid='50'"); + //utilisateur(s) en attente de groupe + $directory = "users_private/groupe"; + $iterator = new DirectoryIterator($directory); + $j=0; + foreach ($iterator as $fileinfo) { + if ($fileinfo->isFile() and strpos($fileinfo->getFilename(),'ask4group') !== false) + $j++; + } + if($j>0) + sql_query("UPDATE ".$NPDS_Prefix."fonctions SET fetat='1',fretour='".$j."',fretour_h='".adm_translate("Utilisateur en attente de groupe !")."' WHERE fid='46'"); + else + sql_query("UPDATE ".$NPDS_Prefix."fonctions SET fetat='0',fretour='0' WHERE fid='46'"); //<== etc...etc recupérations des états des fonctions d'ALERTE et maj //==> Pour les modules installés produisant des notifications - - $alert_modules=sql_query("SELECT * FROM fonctions f LEFT JOIN modules m ON m.mnom = f.fnom WHERE m.minstall=1 AND fcategorie=9"); + $alert_modules=sql_query("SELECT * FROM ".$NPDS_Prefix."fonctions f LEFT JOIN ".$NPDS_Prefix."modules m ON m.mnom = f.fnom WHERE m.minstall=1 AND fcategorie=9"); if($alert_modules) { while($am=sql_fetch_array($alert_modules)) { include("modules/".$am['fnom']."/admin/adm_alertes.php"); @@ -216,16 +227,13 @@ function GraphicAdmin($hlpfile) { } } } - //<== Pour les modules installés produisant des notifications //==> construction des blocs menu : selection de fonctions actives ayant une interface graphique de premier niveau et dont l'administrateur connecté en posséde les droits d'accès // on prend tout ce qui a une interface - if ($Q['radminsuper']==1) - $R = sql_query("SELECT * FROM ".$NPDS_Prefix."fonctions f WHERE f.finterface =1 AND f.fetat != '0' ORDER BY f.fcategorie, f.fordre"); - else - $R = sql_query("SELECT * FROM ".$NPDS_Prefix."fonctions f LEFT JOIN droits d ON f.fdroits1 = d.d_fon_fid LEFT JOIN authors a ON d.d_aut_aid =a.aid WHERE f.finterface =1 AND fetat!=0 AND d.d_aut_aid='$aid' AND d.d_droits REGEXP'^1' ORDER BY f.fcategorie, f.fordre"); - + $R = $Q['radminsuper']==1 ? + sql_query("SELECT * FROM ".$NPDS_Prefix."fonctions f WHERE f.finterface =1 AND f.fetat != '0' ORDER BY f.fcategorie, f.fordre") : + sql_query("SELECT * FROM ".$NPDS_Prefix."fonctions f LEFT JOIN ".$NPDS_Prefix."droits d ON f.fdroits1 = d.d_fon_fid LEFT JOIN ".$NPDS_Prefix."authors a ON d.d_aut_aid =a.aid WHERE f.finterface =1 AND fetat!=0 AND d.d_aut_aid='$aid' AND d.d_droits REGEXP'^1' ORDER BY f.fcategorie, f.fordre") ; $j=0; while($SAQ=sql_fetch_assoc($R)) { @@ -282,7 +290,7 @@ function GraphicAdmin($hlpfile) { $li_c .=''; $ul_f=''; if ($j!==0) - $ul_f =' + $ul_f =' '; - - echo ' -
-
- - -
-
-

 '.adm_translate("Liste des groupes").'

-
-
'; - $lst_gr_json=''; - if ($one_gp) { - sort($tab_groupeIII); - foreach($tab_groupeIII as $bidon => $gp){ - $lst_user_json=''; - $result=sql_fetch_assoc(sql_query("SELECT groupe_id, groupe_name, groupe_description, groupe_forum, groupe_mns, groupe_chat, groupe_blocnote, groupe_pad FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$gp'")); - echo ' -
-
- '.$gp.' -

'.aff_langue($result['groupe_name']).'

'.aff_langue($result['groupe_description']); - if (file_exists ('users_private/groupe/'.$gp.'/groupe.png')) - echo'logo_groupe'; - echo ' -

-
'; - $tab_groupe=explode(' ',ltrim($tab_groupeII[$gp])); - $nb_mb=(count($tab_groupe))-1; - echo ' -    -  '.$nb_mb.'  '; - $lst_uid_json=''; - $lst_uidna_json=''; - - //==> liste membres du groupe - echo ''; - $lst_user_json=rtrim($lst_user_json,','); - $lst_uid_json=rtrim($lst_uid_json,','); - - //==> pliage repliage listes membres groupes - echo' - - '; - //<== liste membres du groupe - - //==> menu groupe - echo ' -
-
- '; - echo $result['groupe_pad']==1 ? - '' : - ''; - echo $result['groupe_blocnote']==1 ? - '' : - ''; - echo file_exists('modules/f-manager/users/groupe_'.$gp.'.conf.php') ? - '' : - ''; - echo $result['groupe_forum']==1 ? - '' : - ' '; - echo $result['groupe_mns']==1 ? - '' : - ''; - echo $result['groupe_chat']==0 ? - '' : - ''; - echo ' -
-
'; - //<== menu groupe - } - } - - // groupes sans membre - $result=sql_query("SELECT groupe_id, groupe_name, groupe_description FROM ".$NPDS_Prefix."groupes ORDER BY groupe_id ASC"); - while (list($gp, $gp_name, $gp_description)=sql_fetch_row($result)) { - $gpA=true; - if ($tab_groupeIII) { - foreach($tab_groupeIII as $bidon => $gpU ){ - if ($gp==$gpU) $gpA=false; - } - } - if ($gpA) { - $lst_gr_json.='\'mbgr_'.$gp.'\': { gp: \''.$gp.'\'},'; - echo ' -
-
- '.$gp.' - -

'.aff_langue($gp_name).'

-

'.aff_langue($gp_description); - if (file_exists ('users_private/groupe/'.$gp.'/groupe.png')) - echo''; - echo' -

-
-
- 0 -
-
- -
-
'; - } - } - $lst_gr_json=rtrim ($lst_gr_json,','); - echo ' -
-
'; - adminfoot('','','',''); -} - -// MEMBRE -function membre_add($gp) { - global $hlpfile, $f_meta_nom, $f_titre, $adminimg; - include ('header.php'); - GraphicAdmin($hlpfile); - adminhead($f_meta_nom, $f_titre, $adminimg); - echo ' -
-

'.adm_translate("Ajouter des membres").' / '.adm_translate("Groupe").' : '.$gp.'

-
-
- -
- - - -
- - -
- -
-
-
'; - $arg1=' - var formulid = ["groupesaddmb"]; - inpandfieldlen("luname",255); - '; - echo auto_complete_multi ('membre','uname','users','luname','inner join users_status on users.uid=users_status.uid WHERE users.uid<>1 and groupe not regexp \'[[:<:]]'.$gp.'[[:>:]]\''); - adminfoot('fv','',$arg1,''); -} - -function membre_add_finish($groupe_id, $luname) { - global $NPDS_Prefix; - include('powerpack_f.php'); - $image='18.png'; - $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$groupe_id."'"); - list($gn)=sql_fetch_row($r); - $luname=rtrim ( $luname ,', '); - $luname=str_replace(' ','',$luname); - $list_membres=explode(',',$luname); - $nbremembres=count($list_membres); - $subject=adm_translate('Nouvelles du groupe').' '.$gn; - $message=adm_translate('Vous faites désormais partie des membres du groupe').' : '.$gn.' ['.$groupe_id.'].'; - $copie=''; - $from_userid=1; - - for ($j=0;$j<$nbremembres;$j++) { - $uname=$list_membres[$j]; - $result1 = sql_query("SELECT uid FROM ".$NPDS_Prefix."users WHERE uname='$uname'"); - $ibid=sql_fetch_assoc($result1); - if ($ibid['uid']) { - $to_userid=$uname; - $result2 = sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='".$ibid['uid']."'"); - $ibid2=sql_fetch_assoc($result2); - $lesgroupes=explode(',',$ibid2['groupe']); - $nbregroupes=count($lesgroupes); - - $groupeexistedeja=false; - for ($i=0; $i<$nbregroupes;$i++) { - if ($lesgroupes[$i]==$groupe_id) { $groupeexistedeja=true; break; } - } - if (!$groupeexistedeja) { - if ($ibid2['groupe']) $groupesmodif=$ibid2['groupe'].','.$groupe_id; - else $groupesmodif=$groupe_id; - $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='".$ibid['uid']."'"); - } - writeDB_private_message($to_userid,$image,$subject,$from_userid,$message, $copie); - } - } - global $aid; Ecr_Log('security', "AddMemberToGroup($groupe_id, $luname) by AID : $aid", ''); - Header("Location: admin.php?op=groupes"); -} - -function retiredugroupe($groupe_id, $uid, $uname) { - global $NPDS_Prefix; - include('powerpack_f.php'); - $image='18.png'; - $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$groupe_id."'"); - list($gn)=sql_fetch_row($r); - - $pat='#^\b'.$uid.'\b$#'; - $mes_sys=''; - $q=''; - $ok=0; - $res=sql_query("SELECT f.forum_id, f.forum_name, f.forum_moderator FROM ".$NPDS_Prefix."forums f WHERE f.forum_pass='$groupe_id' AND cat_id='-1'"); - while ($row = sql_fetch_row($res)) { - if (preg_match($pat, $row[2])) { - $mes_sys='mod_'.$uname; - $q='&al='.$mes_sys; - $ok=1; - } - } - - if ($ok==0) { - $pat='#\b'.$uid.'\b#'; - $res=sql_query("SELECT f.forum_id, f.forum_name, f.forum_moderator FROM ".$NPDS_Prefix."forums f WHERE f.forum_pass='$groupe_id' AND cat_id='-1'"); - while ($r = sql_fetch_row($res)) { - $new_moder=preg_replace('#,,#',',',trim(preg_replace ($pat,'',$r[2]),',')); - sql_query("UPDATE ".$NPDS_Prefix."forums SET forum_moderator='$new_moder' WHERE forum_id='$r[0]'"); - }; - - $resultat=sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='$uid'"); - $subject=adm_translate('Nouvelles du groupe').' '.$gn; - $message=adm_translate('Vous ne faites plus partie des membres du groupe').' : '.$gn.' ['.$groupe_id.'].'; - $copie=''; - $from_userid=1; - $to_userid=$uname; - $valeurs=sql_fetch_assoc($resultat); - $lesgroupes=explode(',',$valeurs['groupe']); - $nbregroupes=count($lesgroupes); - $groupesmodif=''; - for ($i=0; $i<$nbregroupes;$i++) { - if ($lesgroupes[$i]!=$groupe_id) { - if ($groupesmodif=='') $groupesmodif.=$lesgroupes[$i]; - else $groupesmodif.=','.$lesgroupes[$i]; - } - } - $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='$uid'"); - writeDB_private_message($to_userid,$image,$subject,$from_userid,$message, $copie); - global $aid; Ecr_Log('security', "DeleteMemberToGroup($groupe_id, $uname) by AID : $aid", ''); - } - Header("Location: admin.php?op=groupes".$q); -} - -function retiredugroupe_all($groupe_id,$tab_groupe) { - global $NPDS_Prefix; - $tab_groupe=explode ( ',', $tab_groupe ); - foreach($tab_groupe as $bidon => $uidZ){ - if ($uidZ) { - // a rajouter enlever modérateur forum - $resultat=sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='$uidZ'"); - $valeurs=sql_fetch_assoc($resultat); - $lesgroupes=explode(',',$valeurs['groupe']); - $nbregroupes=count($lesgroupes); - $groupesmodif=''; - for ($i=0; $i<$nbregroupes;$i++) { - if ($lesgroupes[$i]!=$groupe_id) { - if ($groupesmodif=='') $groupesmodif.=$lesgroupes[$i]; - else $groupesmodif.=','.$lesgroupes[$i]; - } - } - $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='$uidZ'"); - global $aid; Ecr_Log('security', "DeleteAllMemberToGroup($groupe_id, $uidZ) by AID : $aid", ''); - } - } - Header("Location: admin.php?op=groupes"); -} - -// GROUPES -function groupe_edit($groupe_id) { - global $hlpfile, $NPDS_Prefix, $f_meta_nom, $f_titre, $adminimg; - include ('header.php'); - GraphicAdmin($hlpfile); - adminhead ($f_meta_nom, $f_titre, $adminimg); - $result=sql_fetch_assoc(sql_query("SELECT groupe_name, groupe_description FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$groupe_id'")); - if ($groupe_id != 'groupe_add') - echo ' -
-

'.adm_translate("Modifier le groupe").' : '.$groupe_id.'

'; - else - echo ' -
-

'.adm_translate("Créer un groupe.").'

'; - echo ' -
-
- '."\n"; - - if ($groupe_id != 'groupe_add') - echo ''; - else - echo ' -
- - (2...126) -
'; - echo ' -
- - - -
-
- - -
'; - if ($groupe_id != 'groupe_add') - echo ' - '; - else - echo ' - '; - echo ' -
- -
-
-
'; - $arg1=' - var formulid = ["groupesaddmod"]; - inpandfieldlen("grname",1000); - '; - adminfoot('fv','',$arg1,''); -} -function groupe_maj($sub_op) { - global $hlpfile, $NPDS_Prefix, $groupe_id, $groupe_name, $groupe_description; - - if ($sub_op==adm_translate("Sauver les modifications")) { - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_name='$groupe_name', groupe_description='$groupe_description' WHERE groupe_id='$groupe_id'"); - global $aid; Ecr_Log("security", "UpdateGroup($groupe_id) by AID : $aid", ''); - } - if ($sub_op==adm_translate("Supprimer")) { - $result = sql_query("SELECT uid, groupe FROM ".$NPDS_Prefix."users_status WHERE groupe!='' ORDER BY uid ASC"); - $maj_ok=true; - while (list($to_userid, $groupeX) = sql_fetch_row($result)) { - $tab_groupe=explode(',',$groupeX); - if ($tab_groupe) { - foreach($tab_groupe as $groupevalue) { - if ($groupevalue==$groupe_id) { - $maj_ok=false; - break; - } - } - } - } - if ($maj_ok) - groupe_delete($groupe_id); - } - Header("Location: admin.php?op=groupes"); -} -function groupe_delete($groupe_id) { - global $hlpfile, $NPDS_Prefix, $groupe_name, $groupe_description, $sub_op; - - sql_query("DELETE FROM ".$NPDS_Prefix."lblocks WHERE member='$groupe_id'"); - sql_query("DELETE FROM ".$NPDS_Prefix."rblocks WHERE member='$groupe_id'"); - sql_query("DELETE FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$groupe_id'"); - sql_query("DELETE FROM ".$NPDS_Prefix."blocnotes WHERE bnid='".md5("WS-BN".$groupe_id)."'"); - - forum_groupe_delete($groupe_id); - workspace_archive($groupe_id); - groupe_mns_delete($groupe_id); - - global $aid; Ecr_Log('security', "DeleteGroup($groupe_id) by AID : $aid", ''); -} - -// -------------- - -// WORKSPACE -function workspace_create($groupe_id) { - global $NPDS_Prefix; - - //==>creation fichier conf du groupe - @copy('modules/f-manager/users/groupe.conf.php','modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); - $file = file('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); - $file[29] =" \$access_fma = \"$groupe_id\";\n"; - $fic = fopen('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php', "w"); - foreach($file as $n => $ligne){ - fwrite($fic, $ligne); - } - fclose($fic); - - include ("modules/upload/upload.conf.php"); - if ($DOCUMENTROOT=='') { - global $DOCUMENT_ROOT; - if ($DOCUMENT_ROOT) - $DOCUMENTROOT=$DOCUMENT_ROOT; - else - $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; - } - $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; - - // DOCUMENTS_GROUPE - @mkdir('users_private/groupe/'.$groupe_id.'/documents_groupe'); - $repertoire=$user_dir.'/documents_groupe'; - $directory=$racine.'/modules/groupe/matrice/documents_groupe'; - $handle=opendir($DOCUMENTROOT.$directory); - while (false!==($file = readdir($handle))) $filelist[] = $file; - asort($filelist); - foreach($filelist as $key => $file) { - if ($file<>'.' and $file<>'..') - @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); - } - closedir($handle); - unset ($filelist); - - // IMAGES_GROUPE - @mkdir('users_private/groupe/'.$groupe_id.'/images_groupe'); - $repertoire=$user_dir.'/images_groupe'; - $directory=$racine.'/modules/groupe/matrice/images_groupe'; - $handle=opendir($DOCUMENTROOT.$directory); - while (false!==($file = readdir($handle))) $filelist[] = $file; - asort($filelist); - foreach($filelist as $key => $file) { - if ($file<>'.' and $file<>'..') - @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); - } - closedir($handle); - unset ($filelist); - @unlink('users_private/groupe/'.$groupe_id.'/delete'); - - global $aid; Ecr_Log('security', "CreateWS($groupe_id) by AID : $aid", ''); -} - -// PAD -function pad_create($groupe_id) { - global $NPDS_Prefix; - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_pad = '1' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "CreatePadWS($groupe_id) by AID : $aid", ''); -} -function pad_remove($groupe_id) { - global $NPDS_Prefix; - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_pad = '0' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "DeletePadWS($groupe_id) by AID : $aid", ''); -} - -// BLOC-NOTE -function note_create($groupe_id) { - global $NPDS_Prefix; - $type_engine=''; - // => Creation table blocnotes - if (version_compare(PHP_VERSION, '7.0.0') >= 0) {$type_engine=6;}// a affiner - else {$type_engine=(int)substr(mysql_get_server_info(), 0, 1);}// a affiner - - $sql="CREATE TABLE IF NOT EXISTS ".$NPDS_Prefix."blocnotes ( - bnid text COLLATE utf8mb4_unicode_ci NOT NULL, - texte text COLLATE utf8mb4_unicode_ci, - PRIMARY KEY (bnid(32)) - )"; - if ($type_engine>=5) - $sql.=" ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"; - else - $sql.=" TYPE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"; - sql_query($sql); - - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_blocnote = '1' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "CreateBlocnoteWS($groupe_id) by AID : $aid", ''); -} -function note_remove($groupe_id) { - global $NPDS_Prefix; - - sql_query("DELETE FROM ".$NPDS_Prefix."blocnotes WHERE bnid='".md5("WS-BN".$groupe_id)."'"); - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_blocnote = '0' WHERE groupe_id = '$groupe_id';"); - - global $aid; Ecr_Log('security', "DeleteBlocnoteWS($groupe_id) by AID : $aid", ''); -} - -function workspace_archive($groupe_id) { - //=> archivage espace groupe - $fp=fopen ('users_private/groupe/'.$groupe_id.'/delete','w'); - fclose($fp); - //suppression fichier conf - @unlink('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); - global $aid; Ecr_Log('security', "ArchiveWS($groupe_id) by AID : $aid", ''); -} - -// FORUMS -function forum_groupe_create($groupe_id,$groupe_name,$description,$moder) { - global $NPDS_Prefix; - - // creation forum - // creation catégorie forum_groupe - $result=sql_query("SELECT cat_id FROM ".$NPDS_Prefix."catagories WHERE cat_id = -1;"); - list($cat_id)=sql_fetch_row($result); - if (!$cat_id) - sql_query("INSERT INTO ".$NPDS_Prefix."catagories VALUES (-1, '".adm_translate("Groupe de travail")."')"); - //==>creation forum - - echo "$groupe_id,$groupe_name,$description,$moder"; - - sql_query("INSERT INTO ".$NPDS_Prefix."forums VALUES (NULL, '$groupe_name', '$description', '1', '$moder', '-1', '7', '$groupe_id', '0', '0', '0')"); - //=> ajout etat forum (1 ou 0) dans le groupe - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_forum = '1' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log("security", "CreateForumWS($groupe_id) by AID : $aid", ''); -} - -function moderateur_update($forum_id,$forum_moderator) { - global $NPDS_Prefix; - sql_query("UPDATE ".$NPDS_Prefix."forums SET forum_moderator = '$forum_moderator' WHERE forum_id='$forum_id'"); -} - -function forum_groupe_delete($groupe_id) { - global $NPDS_Prefix; - $result=sql_query("SELECT forum_id FROM ".$NPDS_Prefix."forums WHERE forum_pass='$groupe_id' and cat_id='-1'"); - list($forum_id) = sql_fetch_row($result); - // suppression des topics - sql_query("DELETE FROM ".$NPDS_Prefix."forumtopics WHERE forum_id='$forum_id'"); - // maj table lecture - sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE forum_id='$forum_id'"); - - //=> suppression du forum - sql_query("DELETE FROM ".$NPDS_Prefix."forums WHERE forum_id='$forum_id'"); - // =>remise à 0 forum dans le groupe - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_forum = '0' WHERE groupe_id='$groupe_id'"); - global $aid; Ecr_Log('security', "DeleteForumWS($forum_id) by AID : $aid", ''); -} - -// MNS -function groupe_mns_create($groupe_id) { - global $NPDS_Prefix; - include ("modules/upload/upload.conf.php"); - - if ($DOCUMENTROOT=='') { - global $DOCUMENT_ROOT; - if ($DOCUMENT_ROOT) - $DOCUMENTROOT=$DOCUMENT_ROOT; - else - $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; - } - $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; - $repertoire=$user_dir.'/mns'; - if (!is_dir($user_dir)) { - @umask("0000"); - if (@mkdir($user_dir,0777)) { - $fp = fopen($user_dir.'/index.html', 'w'); - fclose($fp); - @umask("0000"); - if (@mkdir($repertoire,0777)) { - $fp = fopen($repertoire.'/index.html', 'w'); - fclose($fp); - $fp = fopen($repertoire.'/.htaccess', 'w'); - @fputs($fp, 'Deny from All'); - fclose($fp); - } - } - } else { - @umask("0000"); - if (@mkdir($repertoire,0777)) { - $fp = fopen($repertoire.'/index.html', 'w'); - fclose($fp); - $fp = fopen($repertoire.'/.htaccess', 'w'); - @fputs($fp, 'Deny from All'); - fclose($fp); - } - } - // copie de la matrice par défaut - $directory=$racine.'/modules/groupe/matrice/mns_groupe'; - $handle=opendir($DOCUMENTROOT.$directory); - while (false!==($file = readdir($handle))) $filelist[] = $file; - asort($filelist); - foreach($filelist as $key => $file){ - if ($file<>'.' and $file<>'..') - @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); - } - closedir($handle); - unset ($filelist); - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_mns = '1' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "CreateMnsWS($groupe_id) by AID : $aid", ''); -} -function groupe_mns_delete($groupe_id) { - global $NPDS_Prefix; - include ("modules/upload/upload.conf.php"); - - if ($DOCUMENTROOT=='') { - global $DOCUMENT_ROOT; - if ($DOCUMENT_ROOT) { - $DOCUMENTROOT=$DOCUMENT_ROOT; - } else { - $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; - } - } - $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; - - // Supprimer son ministe s'il existe - if (is_dir($user_dir.'/mns')) { - $dir = opendir($user_dir.'/mns'); - while(false!==($nom = readdir($dir))) { - if ($nom != '.' && $nom != '..' && $nom != '') { - @unlink($user_dir.'/mns/'.$nom); - } - } - closedir($dir); - @rmdir($user_dir.'/mns'); - } - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_mns = '0' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "DeleteMnsWS($groupe_id) by AID : $aid", ''); -} - -// CHAT -function groupe_chat_create($groupe_id) { - global $NPDS_Prefix; - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_chat = '1' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "ActivateChatWS($groupe_id) by AID : $aid", ''); -} - -function groupe_chat_delete($groupe_id) { - global $NPDS_Prefix; - sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_chat = '0' WHERE groupe_id = '$groupe_id';"); - global $aid; Ecr_Log('security', "DesactivateChatWS($groupe_id) by AID : $aid", ''); -} - -function bloc_groupe_create($groupe_id) { - global $NPDS_Prefix; - // Creation bloc espace de travail user - // On créer le bloc s'il n'existe pas déjà - $bloc=false; - $menu_workspace="function#bloc_espace_groupe\r\nparams#$groupe_id,1"; - $row=sql_fetch_row(sql_query("SELECT COUNT(id) FROM ".$NPDS_Prefix."lblocks WHERE content='$menu_workspace'")); - if ($row[0]==0) { - $row=sql_fetch_row(sql_query("SELECT COUNT(id) FROM ".$NPDS_Prefix."rblocks WHERE content='$menu_workspace'")); - if ($row[0]<>0) - $bloc=true; - } else { - $bloc=true; - } - if ($bloc==false) { - sql_query("INSERT INTO ".$NPDS_Prefix."lblocks VALUES (NULL, '', '$menu_workspace', '$groupe_id', '3', '0', '1', '0', NULL)"); - } -} - -switch ($op) { - case 'membre_add': - membre_add($groupe_id); - break; - case 'membre_add_finish': - membre_add_finish($groupe_id,$luname); - break; - case 'retiredugroupe': - retiredugroupe($groupe_id,$uid,$uname); - break; - case 'retiredugroupe_all': - retiredugroupe_all($groupe_id,$tab_groupe); - break; - - case 'pad_create': - pad_create($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - case 'pad_remove': - pad_remove($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - - case 'note_create': - note_create($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - case 'note_remove': - note_remove($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - - case 'workspace_create': - workspace_create($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - case 'workspace_archive': - workspace_archive($groupe_id); - Header("Location: admin.php?op=groupes"); - break; - - case 'forum_groupe_create': - forum_groupe_create($groupe_id,$groupe_name,$description,$moder); - break; - case 'moderateur_update': - moderateur_update($forum_id,$forum_moderator); - Header('location: admin.php?op=groupes'); - break; - case 'forum_groupe_delete': - forum_groupe_delete($groupe_id); - Header('location: admin.php?op=groupes'); - break; - - case 'groupe_mns_create': - groupe_mns_create($groupe_id); - Header('location: admin.php?op=groupes'); - break; - case 'groupe_mns_delete': - groupe_mns_delete($groupe_id); - Header('location: admin.php?op=groupes'); - break; - case 'groupe_chat_create': - groupe_chat_create($groupe_id); - Header('location: admin.php?op=groupes'); - break; - case 'groupe_chat_delete': - groupe_chat_delete($groupe_id); - Header('location: admin.php?op=groupes'); - break; - case 'groupe_edit': - groupe_edit($groupe_id); - break; - case 'groupe_maj': - groupe_maj($sub_op); - break; - case 'groupe_add': - groupe_edit("groupe_add"); - break; - case 'bloc_groupe_create': - bloc_groupe_create($groupe_id); - Header('location: admin.php?op=groupes'); - break; - case 'groupe_add_finish': - $ok_grp=false; - if (($groupe_id=='') or ($groupe_id<2) or ($groupe_id>126)) { - $row=sql_fetch_row(sql_query("SELECT MAX(groupe_id) FROM ".$NPDS_Prefix."groupes")); - if ($row[0]<126) { - if ($row[0]==0) $row[0]=1; - $groupe_id=$row[0]+1; - $ok_grp=true; - } - } else { - $ok_grp=true; - } - if ($ok_grp) { - sql_query("INSERT INTO ".$NPDS_Prefix."groupes VALUES ('$groupe_id', '$groupe_name','$groupe_description','0','0','0','0','0')"); - @mkdir('users_private/groupe/'.$groupe_id); - $fp=fopen ('users_private/groupe/'.$groupe_id.'/index.html','w'); - fclose($fp); - @copy('modules/groupe/matrice/groupe.png','users_private/groupe/'.$groupe_id.'/groupe.png'); - @unlink('users_private/groupe/'.$groupe_id.'/delete'); - - global $aid; Ecr_Log('security', "CreateGroupe($groupe_id, $groupe_name) by AID : $aid", ''); - } - default: - group_liste(); - break; -} + controle droit +admindroits($aid,$f_meta_nom); +//<== controle droit +global $language,$adminimg, $admf_ext; +$hlpfile = "manuels/$language/groupes.html"; + +settype($al,'string'); +if ($al) { + if (preg_match ('#^mod#',$al)) { + $al=explode ('_',$al); + $mes=adm_translate("Vous ne pouvez pas exclure").' '.$al[1].' '.adm_translate("car il est modérateur unique de forum. Oter ses droits de modération puis retirer le du groupe."); + } +} + +function group_liste() { + global $hlpfile, $NPDS_Prefix, $al, $mes, $f_meta_nom, $f_titre, $adminimg; + + include ('header.php'); + GraphicAdmin($hlpfile); + $result = sql_query("SELECT uid, groupe FROM ".$NPDS_Prefix."users_status WHERE groupe!='' ORDER BY uid ASC"); + $one_gp=false; + $tab_groupeII=array(); + $tab_groupeIII = array(); + $r = sql_query("SELECT groupe_id FROM ".$NPDS_Prefix."groupes ORDER BY groupe_id ASC"); + while($gl = sql_fetch_assoc($r)) { + $tab_groupeII[$gl['groupe_id']]=''; + } + while(list($uid, $groupe) = sql_fetch_row($result)) { + $one_gp=true; + $tab_groupe=explode(',',$groupe); + if ($tab_groupe) { + foreach($tab_groupe as $groupevalue) { + if ($groupevalue!='') { + $tab_groupeII[$groupevalue].=$uid.' '; + $tab_groupeIII[$groupevalue]=$groupevalue; + } + } + } + } + + adminhead ($f_meta_nom, $f_titre, $adminimg); + echo ''; + + echo ' +
+
+ + +
+
+

 '.adm_translate("Liste des groupes").'

+
+
'; + $lst_gr_json=''; + if ($one_gp) { + sort($tab_groupeIII); + foreach($tab_groupeIII as $bidon => $gp){ + $lst_user_json=''; + $result=sql_fetch_assoc(sql_query("SELECT groupe_id, groupe_name, groupe_description, groupe_forum, groupe_mns, groupe_chat, groupe_blocnote, groupe_pad FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$gp'")); + echo ' +
+
+ '.$gp.' +

'.aff_langue($result['groupe_name']).'

'.aff_langue($result['groupe_description']); + if (file_exists ('users_private/groupe/'.$gp.'/groupe.png')) + echo'logo_groupe'; + echo ' +

+
'; + $tab_groupe=explode(' ',ltrim($tab_groupeII[$gp])); + $nb_mb=(count($tab_groupe))-1; + echo ' +    +  '.$nb_mb.'  '; + $lst_uid_json=''; + $lst_uidna_json=''; + + //==> liste membres du groupe + echo ''; + $lst_user_json=rtrim($lst_user_json,','); + $lst_uid_json=rtrim($lst_uid_json,','); + + //==> pliage repliage listes membres groupes + echo' + + '; + //<== liste membres du groupe + + //==> menu groupe + echo ' +
+
+ '; + echo $result['groupe_pad']==1 ? + '' : + ''; + echo $result['groupe_blocnote']==1 ? + '' : + ''; + echo file_exists('modules/f-manager/users/groupe_'.$gp.'.conf.php') ? + '' : + ''; + echo $result['groupe_forum']==1 ? + '' : + ' '; + echo $result['groupe_mns']==1 ? + '' : + ''; + echo $result['groupe_chat']==0 ? + '' : + ''; + echo ' +
+
'; + //<== menu groupe + } + } + + // groupes sans membre + $result=sql_query("SELECT groupe_id, groupe_name, groupe_description FROM ".$NPDS_Prefix."groupes ORDER BY groupe_id ASC"); + while (list($gp, $gp_name, $gp_description)=sql_fetch_row($result)) { + $gpA=true; + if ($tab_groupeIII) { + foreach($tab_groupeIII as $bidon => $gpU ){ + if ($gp==$gpU) $gpA=false; + } + } + if ($gpA) { + $lst_gr_json.='\'mbgr_'.$gp.'\': { gp: \''.$gp.'\'},'; + echo ' +
+
+ '.$gp.' + +

'.aff_langue($gp_name).'

+

'.aff_langue($gp_description); + if (file_exists ('users_private/groupe/'.$gp.'/groupe.png')) + echo''; + echo' +

+
+
+ 0 +
+
+ +
+
'; + } + } + $lst_gr_json=rtrim ($lst_gr_json,','); + echo ' +
+
'; + adminfoot('','','',''); +} + +// MEMBRE +function membre_add($gp) { + global $hlpfile, $f_meta_nom, $f_titre, $adminimg; + include ('header.php'); + GraphicAdmin($hlpfile); + adminhead($f_meta_nom, $f_titre, $adminimg); + echo ' +
+

'.adm_translate("Ajouter des membres").' / '.adm_translate("Groupe").' : '.$gp.'

+
+
+ +
+ + + +
+ + +
+ +
+
+
'; + $arg1=' + var formulid = ["groupesaddmb"]; + inpandfieldlen("luname",255); + '; + echo (mysqli_get_client_info() <= '8.0') ? + auto_complete_multi ('membre','uname','users','luname','inner join users_status on users.uid=users_status.uid WHERE users.uid<>1 AND groupe NOT REGEXP \'[[:<:]]'.$gp.'[[:>:]]\'') : + auto_complete_multi ('membre','uname','users','luname','inner join users_status on users.uid=users_status.uid WHERE users.uid<>1 AND groupe NOT REGEXP \'\\b'.$gp.'\\b\'') ; + adminfoot('fv','',$arg1,''); +} + +function membre_add_finish($groupe_id, $luname) { + global $NPDS_Prefix; + include('powerpack_f.php'); + $image='18.png'; + $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$groupe_id."'"); + list($gn)=sql_fetch_row($r); + $luname=rtrim ( $luname ,', '); + $luname=str_replace(' ','',$luname); + $list_membres=explode(',',$luname); + $nbremembres=count($list_membres); + $subject=adm_translate('Nouvelles du groupe').' '.$gn; + $message=adm_translate('Vous faites désormais partie des membres du groupe').' : '.$gn.' ['.$groupe_id.'].'; + $copie=''; + $from_userid=1; + + for ($j=0;$j<$nbremembres;$j++) { + $uname=$list_membres[$j]; + $result1 = sql_query("SELECT uid FROM ".$NPDS_Prefix."users WHERE uname='$uname'"); + $ibid=sql_fetch_assoc($result1); + if ($ibid['uid']) { + $to_userid=$uname; + $result2 = sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='".$ibid['uid']."'"); + $ibid2=sql_fetch_assoc($result2); + $lesgroupes=explode(',',$ibid2['groupe']); + $nbregroupes=count($lesgroupes); + + $groupeexistedeja=false; + for ($i=0; $i<$nbregroupes;$i++) { + if ($lesgroupes[$i]==$groupe_id) { $groupeexistedeja=true; break; } + } + if (!$groupeexistedeja) { + if ($ibid2['groupe']) $groupesmodif=$ibid2['groupe'].','.$groupe_id; + else $groupesmodif=$groupe_id; + $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='".$ibid['uid']."'"); + } + writeDB_private_message($to_userid,$image,$subject,$from_userid,$message, $copie); + } + } + global $aid; Ecr_Log('security', "AddMemberToGroup($groupe_id, $luname) by AID : $aid", ''); + Header("Location: admin.php?op=groupes"); +} + +function retiredugroupe($groupe_id, $uid, $uname) { + global $NPDS_Prefix; + include('powerpack_f.php'); + $image='18.png'; + $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$groupe_id."'"); + list($gn)=sql_fetch_row($r); + + $pat='#^\b'.$uid.'\b$#'; + $mes_sys=''; + $q=''; + $ok=0; + $res=sql_query("SELECT f.forum_id, f.forum_name, f.forum_moderator FROM ".$NPDS_Prefix."forums f WHERE f.forum_pass='$groupe_id' AND cat_id='-1'"); + while ($row = sql_fetch_row($res)) { + if (preg_match($pat, $row[2])) { + $mes_sys='mod_'.$uname; + $q='&al='.$mes_sys; + $ok=1; + } + } + + if ($ok==0) { + $pat='#\b'.$uid.'\b#'; + $res=sql_query("SELECT f.forum_id, f.forum_name, f.forum_moderator FROM ".$NPDS_Prefix."forums f WHERE f.forum_pass='$groupe_id' AND cat_id='-1'"); + while ($r = sql_fetch_row($res)) { + $new_moder=preg_replace('#,,#',',',trim(preg_replace ($pat,'',$r[2]),',')); + sql_query("UPDATE ".$NPDS_Prefix."forums SET forum_moderator='$new_moder' WHERE forum_id='$r[0]'"); + }; + + $resultat=sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='$uid'"); + $subject=adm_translate('Nouvelles du groupe').' '.$gn; + $message=adm_translate('Vous ne faites plus partie des membres du groupe').' : '.$gn.' ['.$groupe_id.'].'; + $copie=''; + $from_userid=1; + $to_userid=$uname; + $valeurs=sql_fetch_assoc($resultat); + $lesgroupes=explode(',',$valeurs['groupe']); + $nbregroupes=count($lesgroupes); + $groupesmodif=''; + for ($i=0; $i<$nbregroupes;$i++) { + if ($lesgroupes[$i]!=$groupe_id) { + if ($groupesmodif=='') $groupesmodif.=$lesgroupes[$i]; + else $groupesmodif.=','.$lesgroupes[$i]; + } + } + $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='$uid'"); + writeDB_private_message($to_userid,$image,$subject,$from_userid,$message, $copie); + global $aid; Ecr_Log('security', "DeleteMemberToGroup($groupe_id, $uname) by AID : $aid", ''); + } + Header("Location: admin.php?op=groupes".$q); +} + +function retiredugroupe_all($groupe_id,$tab_groupe) { + global $NPDS_Prefix; + $tab_groupe=explode ( ',', $tab_groupe ); + foreach($tab_groupe as $bidon => $uidZ){ + if ($uidZ) { + // a rajouter enlever modérateur forum + $resultat=sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='$uidZ'"); + $valeurs=sql_fetch_assoc($resultat); + $lesgroupes=explode(',',$valeurs['groupe']); + $nbregroupes=count($lesgroupes); + $groupesmodif=''; + for ($i=0; $i<$nbregroupes;$i++) { + if ($lesgroupes[$i]!=$groupe_id) { + if ($groupesmodif=='') $groupesmodif.=$lesgroupes[$i]; + else $groupesmodif.=','.$lesgroupes[$i]; + } + } + $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='$uidZ'"); + global $aid; Ecr_Log('security', "DeleteAllMemberToGroup($groupe_id, $uidZ) by AID : $aid", ''); + } + } + Header("Location: admin.php?op=groupes"); +} + +// GROUPES +function groupe_edit($groupe_id) { + global $hlpfile, $NPDS_Prefix, $f_meta_nom, $f_titre, $adminimg; + include ('header.php'); + GraphicAdmin($hlpfile); + adminhead ($f_meta_nom, $f_titre, $adminimg); + $result=sql_fetch_assoc(sql_query("SELECT groupe_name, groupe_description FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$groupe_id'")); + if ($groupe_id != 'groupe_add') + echo ' +
+

'.adm_translate("Modifier le groupe").' : '.$groupe_id.'

'; + else + echo ' +
+

'.adm_translate("Créer un groupe.").'

'; + echo ' +
+
+ '."\n"; + + if ($groupe_id != 'groupe_add') + echo ''; + else + echo ' +
+ + (2...126) +
'; + echo ' +
+ + + +
+
+ + +
'; + if ($groupe_id != 'groupe_add') + echo ' + '; + else + echo ' + '; + echo ' +
+ +
+
+
'; + $arg1=' + var formulid = ["groupesaddmod"]; + inpandfieldlen("grname",1000); + '; + adminfoot('fv','',$arg1,''); +} +function groupe_maj($sub_op) { + global $hlpfile, $NPDS_Prefix, $groupe_id, $groupe_name, $groupe_description; + + if ($sub_op==adm_translate("Sauver les modifications")) { + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_name='$groupe_name', groupe_description='$groupe_description' WHERE groupe_id='$groupe_id'"); + global $aid; Ecr_Log("security", "UpdateGroup($groupe_id) by AID : $aid", ''); + } + if ($sub_op==adm_translate("Supprimer")) { + $result = sql_query("SELECT uid, groupe FROM ".$NPDS_Prefix."users_status WHERE groupe!='' ORDER BY uid ASC"); + $maj_ok=true; + while (list($to_userid, $groupeX) = sql_fetch_row($result)) { + $tab_groupe=explode(',',$groupeX); + if ($tab_groupe) { + foreach($tab_groupe as $groupevalue) { + if ($groupevalue==$groupe_id) { + $maj_ok=false; + break; + } + } + } + } + if ($maj_ok) + groupe_delete($groupe_id); + } + Header("Location: admin.php?op=groupes"); +} +function groupe_delete($groupe_id) { + global $hlpfile, $NPDS_Prefix, $groupe_name, $groupe_description, $sub_op; + + sql_query("DELETE FROM ".$NPDS_Prefix."lblocks WHERE member='$groupe_id'"); + sql_query("DELETE FROM ".$NPDS_Prefix."rblocks WHERE member='$groupe_id'"); + sql_query("DELETE FROM ".$NPDS_Prefix."groupes WHERE groupe_id='$groupe_id'"); + sql_query("DELETE FROM ".$NPDS_Prefix."blocnotes WHERE bnid='".md5("WS-BN".$groupe_id)."'"); + + forum_groupe_delete($groupe_id); + workspace_archive($groupe_id); + groupe_mns_delete($groupe_id); + + global $aid; Ecr_Log('security', "DeleteGroup($groupe_id) by AID : $aid", ''); +} + +// -------------- + +// WORKSPACE +function workspace_create($groupe_id) { + global $NPDS_Prefix; + + //==>creation fichier conf du groupe + @copy('modules/f-manager/users/groupe.conf.php','modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); + $file = file('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); + $file[29] =" \$access_fma = \"$groupe_id\";\n"; + $fic = fopen('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php', "w"); + foreach($file as $n => $ligne){ + fwrite($fic, $ligne); + } + fclose($fic); + + include ("modules/upload/upload.conf.php"); + if ($DOCUMENTROOT=='') { + global $DOCUMENT_ROOT; + if ($DOCUMENT_ROOT) + $DOCUMENTROOT=$DOCUMENT_ROOT; + else + $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; + } + $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; + + // DOCUMENTS_GROUPE + @mkdir('users_private/groupe/'.$groupe_id.'/documents_groupe'); + $repertoire=$user_dir.'/documents_groupe'; + $directory=$racine.'/modules/groupe/matrice/documents_groupe'; + $handle=opendir($DOCUMENTROOT.$directory); + while (false!==($file = readdir($handle))) $filelist[] = $file; + asort($filelist); + foreach($filelist as $key => $file) { + if ($file<>'.' and $file<>'..') + @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); + } + closedir($handle); + unset ($filelist); + + // IMAGES_GROUPE + @mkdir('users_private/groupe/'.$groupe_id.'/images_groupe'); + $repertoire=$user_dir.'/images_groupe'; + $directory=$racine.'/modules/groupe/matrice/images_groupe'; + $handle=opendir($DOCUMENTROOT.$directory); + while (false!==($file = readdir($handle))) $filelist[] = $file; + asort($filelist); + foreach($filelist as $key => $file) { + if ($file<>'.' and $file<>'..') + @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); + } + closedir($handle); + unset ($filelist); + @unlink('users_private/groupe/'.$groupe_id.'/delete'); + + global $aid; Ecr_Log('security', "CreateWS($groupe_id) by AID : $aid", ''); +} + +// PAD +function pad_create($groupe_id) { + global $NPDS_Prefix; + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_pad = '1' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "CreatePadWS($groupe_id) by AID : $aid", ''); +} +function pad_remove($groupe_id) { + global $NPDS_Prefix; + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_pad = '0' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "DeletePadWS($groupe_id) by AID : $aid", ''); +} + +// BLOC-NOTE +function note_create($groupe_id) { + global $NPDS_Prefix; + $sql="CREATE TABLE IF NOT EXISTS ".$NPDS_Prefix."blocnotes ( + bnid text COLLATE utf8mb4_unicode_ci NOT NULL, + texte text COLLATE utf8mb4_unicode_ci, + PRIMARY KEY (bnid(32)) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"; + sql_query($sql); + + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_blocnote = '1' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "CreateBlocnoteWS($groupe_id) by AID : $aid", ''); +} + +function note_remove($groupe_id) { + global $NPDS_Prefix; + sql_query("DELETE FROM ".$NPDS_Prefix."blocnotes WHERE bnid='".md5("WS-BN".$groupe_id)."'"); + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_blocnote = '0' WHERE groupe_id = '$groupe_id';"); + + global $aid; Ecr_Log('security', "DeleteBlocnoteWS($groupe_id) by AID : $aid", ''); +} + +function workspace_archive($groupe_id) { + //=> archivage espace groupe + $fp=fopen ('users_private/groupe/'.$groupe_id.'/delete','w'); + fclose($fp); + //suppression fichier conf + @unlink('modules/f-manager/users/groupe_'.$groupe_id.'.conf.php'); + global $aid; Ecr_Log('security', "ArchiveWS($groupe_id) by AID : $aid", ''); +} + +// FORUMS +function forum_groupe_create($groupe_id,$groupe_name,$description,$moder) { + global $NPDS_Prefix; + + // creation forum + // creation catégorie forum_groupe + $result=sql_query("SELECT cat_id FROM ".$NPDS_Prefix."catagories WHERE cat_id = -1;"); + list($cat_id)=sql_fetch_row($result); + if (!$cat_id) + sql_query("INSERT INTO ".$NPDS_Prefix."catagories VALUES (-1, '".adm_translate("Groupe de travail")."')"); + //==>creation forum + + echo "$groupe_id,$groupe_name,$description,$moder"; + + sql_query("INSERT INTO ".$NPDS_Prefix."forums VALUES (NULL, '$groupe_name', '$description', '1', '$moder', '-1', '7', '$groupe_id', '0', '0', '0')"); + //=> ajout etat forum (1 ou 0) dans le groupe + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_forum = '1' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log("security", "CreateForumWS($groupe_id) by AID : $aid", ''); +} + +function moderateur_update($forum_id,$forum_moderator) { + global $NPDS_Prefix; + sql_query("UPDATE ".$NPDS_Prefix."forums SET forum_moderator = '$forum_moderator' WHERE forum_id='$forum_id'"); +} + +function forum_groupe_delete($groupe_id) { + global $NPDS_Prefix; + $result=sql_query("SELECT forum_id FROM ".$NPDS_Prefix."forums WHERE forum_pass='$groupe_id' and cat_id='-1'"); + list($forum_id) = sql_fetch_row($result); + // suppression des topics + sql_query("DELETE FROM ".$NPDS_Prefix."forumtopics WHERE forum_id='$forum_id'"); + // maj table lecture + sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE forum_id='$forum_id'"); + + //=> suppression du forum + sql_query("DELETE FROM ".$NPDS_Prefix."forums WHERE forum_id='$forum_id'"); + // =>remise à 0 forum dans le groupe + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_forum = '0' WHERE groupe_id='$groupe_id'"); + global $aid; Ecr_Log('security', "DeleteForumWS($forum_id) by AID : $aid", ''); +} + +// MNS +function groupe_mns_create($groupe_id) { + global $NPDS_Prefix; + include ("modules/upload/upload.conf.php"); + + if ($DOCUMENTROOT=='') { + global $DOCUMENT_ROOT; + if ($DOCUMENT_ROOT) + $DOCUMENTROOT=$DOCUMENT_ROOT; + else + $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; + } + $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; + $repertoire=$user_dir.'/mns'; + if (!is_dir($user_dir)) { + @umask("0000"); + if (@mkdir($user_dir,0777)) { + $fp = fopen($user_dir.'/index.html', 'w'); + fclose($fp); + @umask("0000"); + if (@mkdir($repertoire,0777)) { + $fp = fopen($repertoire.'/index.html', 'w'); + fclose($fp); + $fp = fopen($repertoire.'/.htaccess', 'w'); + @fputs($fp, 'Deny from All'); + fclose($fp); + } + } + } else { + @umask("0000"); + if (@mkdir($repertoire,0777)) { + $fp = fopen($repertoire.'/index.html', 'w'); + fclose($fp); + $fp = fopen($repertoire.'/.htaccess', 'w'); + @fputs($fp, 'Deny from All'); + fclose($fp); + } + } + // copie de la matrice par défaut + $directory=$racine.'/modules/groupe/matrice/mns_groupe'; + $handle=opendir($DOCUMENTROOT.$directory); + while (false!==($file = readdir($handle))) $filelist[] = $file; + asort($filelist); + foreach($filelist as $key => $file){ + if ($file<>'.' and $file<>'..') + @copy($DOCUMENTROOT.$directory.'/'.$file, $repertoire.'/'.$file); + } + closedir($handle); + unset ($filelist); + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_mns = '1' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "CreateMnsWS($groupe_id) by AID : $aid", ''); +} +function groupe_mns_delete($groupe_id) { + global $NPDS_Prefix; + include ("modules/upload/upload.conf.php"); + + if ($DOCUMENTROOT=='') { + global $DOCUMENT_ROOT; + if ($DOCUMENT_ROOT) { + $DOCUMENTROOT=$DOCUMENT_ROOT; + } else { + $DOCUMENTROOT=$_SERVER['DOCUMENT_ROOT']; + } + } + $user_dir=$DOCUMENTROOT.$racine.'/users_private/groupe/'.$groupe_id; + + // Supprimer son ministe s'il existe + if (is_dir($user_dir.'/mns')) { + $dir = opendir($user_dir.'/mns'); + while(false!==($nom = readdir($dir))) { + if ($nom != '.' && $nom != '..' && $nom != '') { + @unlink($user_dir.'/mns/'.$nom); + } + } + closedir($dir); + @rmdir($user_dir.'/mns'); + } + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_mns = '0' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "DeleteMnsWS($groupe_id) by AID : $aid", ''); +} + +// CHAT +function groupe_chat_create($groupe_id) { + global $NPDS_Prefix; + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_chat = '1' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "ActivateChatWS($groupe_id) by AID : $aid", ''); +} + +function groupe_chat_delete($groupe_id) { + global $NPDS_Prefix; + sql_query("UPDATE ".$NPDS_Prefix."groupes SET groupe_chat = '0' WHERE groupe_id = '$groupe_id';"); + global $aid; Ecr_Log('security', "DesactivateChatWS($groupe_id) by AID : $aid", ''); +} + +function bloc_groupe_create($groupe_id) { + global $NPDS_Prefix; + // Creation bloc espace de travail user + // On créer le bloc s'il n'existe pas déjà + $bloc=false; + $menu_workspace="function#bloc_espace_groupe\r\nparams#$groupe_id,1"; + $row=sql_fetch_row(sql_query("SELECT COUNT(id) FROM ".$NPDS_Prefix."lblocks WHERE content='$menu_workspace'")); + if ($row[0]==0) { + $row=sql_fetch_row(sql_query("SELECT COUNT(id) FROM ".$NPDS_Prefix."rblocks WHERE content='$menu_workspace'")); + if ($row[0]<>0) + $bloc=true; + } else + $bloc=true; + if ($bloc==false) + sql_query("INSERT INTO ".$NPDS_Prefix."lblocks VALUES (NULL, '', '$menu_workspace', '$groupe_id', '3', '0', '1', '0', NULL)"); +} + +function groupe_member_ask() { + global $sub_op, $NPDS_Prefix, $f_meta_nom, $f_titre, $adminimg, $myrow, $hlpfile, $groupe_asked, $user_asked; + $directory = "users_private/groupe"; + if (isset($sub_op)) { + include_once('powerpack_f.php'); + $res = sql_query("SELECT uname FROM ".$NPDS_Prefix."users WHERE uid='".$user_asked."'"); + list($uname) = sql_fetch_row($res); + + $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$groupe_asked."'"); + list($gn)=sql_fetch_row($r); + $subject=adm_translate('Nouvelles du groupe').' '.$gn; + $image = '18.png'; + if($sub_op==adm_translate("Oui")) { + $message='✅ '.adm_translate('Demande acceptée.'). ' '.adm_translate('Vous faites désormais partie des membres du groupe').' : '.$gn.' ['.$groupe_asked.'].'; + unlink($directory.'/ask4group_'.$user_asked.'_'.$groupe_asked.'_.txt'); + $result2 = sql_query("SELECT groupe FROM ".$NPDS_Prefix."users_status WHERE uid='".$user_asked."'"); + $ibid2=sql_fetch_assoc($result2); + $lesgroupes=explode(',',$ibid2['groupe']); + $nbregroupes=count($lesgroupes); + $groupeexistedeja=false; + for ($i=0; $i<$nbregroupes;$i++) { + if ($lesgroupes[$i]==$groupe_asked) { $groupeexistedeja=true; break; } + } + if (!$groupeexistedeja) { + $groupesmodif = $ibid2['groupe'] ? $ibid2['groupe'].','.$groupe_asked : $groupe_asked; + $resultat = sql_query("UPDATE ".$NPDS_Prefix."users_status SET groupe='$groupesmodif' WHERE uid='".$user_asked."'"); + } + writeDB_private_message($uname,$image,$subject,1,$message, ''); + global $aid; Ecr_Log('security', "AddMemberToGroup($groupe_asked, $uname) by AID : $aid", ''); + Header("Location: admin.php?op=groupes"); + } + if($sub_op==adm_translate("Non")){ + $message='🚫 '.adm_translate('Demande refusée pour votre participation au groupe').' : '.$gn.' ['.$groupe_asked.'].'; + unlink($directory.'/ask4group_'.$user_asked.'_'.$groupe_asked.'_.txt'); + writeDB_private_message($uname,$image,$subject,1,$message, ''); + Header("Location: admin.php?op=groupes"); + } + } + + include ('header.php'); + GraphicAdmin($hlpfile); + adminhead ($f_meta_nom, $f_titre, $adminimg); + + $iterator = new DirectoryIterator($directory); + $j=0; + foreach ($iterator as $fileinfo) { + if ($fileinfo->isFile() and strpos($fileinfo->getFilename(),'ask4group') !== false) { + $us_gr = explode('_',$fileinfo->getFilename()); + $myrow= get_userdata_from_id($us_gr[1]); + $r = sql_query("SELECT groupe_name FROM ".$NPDS_Prefix."groupes WHERE groupe_id='".$us_gr[2]."'"); + list($gn)=sql_fetch_row($r); + + echo ' +
+
+ '.adm_translate("Accepter").' '.$myrow['uname'].' '.adm_translate("dans le groupe").' '.$us_gr[2].' : '.$gn.' ? +
+ + + +
+ + +
+
'; + $j++; + } + } +} + +switch ($op) { + case 'membre_add': + membre_add($groupe_id); + break; + case 'membre_add_finish': + membre_add_finish($groupe_id,$luname); + break; + case 'retiredugroupe': + retiredugroupe($groupe_id,$uid,$uname); + break; + case 'retiredugroupe_all': + retiredugroupe_all($groupe_id,$tab_groupe); + break; + + case 'pad_create': + pad_create($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + case 'pad_remove': + pad_remove($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + + case 'note_create': + note_create($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + case 'note_remove': + note_remove($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + + case 'workspace_create': + workspace_create($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + case 'workspace_archive': + workspace_archive($groupe_id); + Header("Location: admin.php?op=groupes"); + break; + + case 'forum_groupe_create': + forum_groupe_create($groupe_id,$groupe_name,$description,$moder); + break; + case 'moderateur_update': + moderateur_update($forum_id,$forum_moderator); + Header('location: admin.php?op=groupes'); + break; + case 'forum_groupe_delete': + forum_groupe_delete($groupe_id); + Header('location: admin.php?op=groupes'); + break; + + case 'groupe_mns_create': + groupe_mns_create($groupe_id); + Header('location: admin.php?op=groupes'); + break; + case 'groupe_mns_delete': + groupe_mns_delete($groupe_id); + Header('location: admin.php?op=groupes'); + break; + case 'groupe_chat_create': + groupe_chat_create($groupe_id); + Header('location: admin.php?op=groupes'); + break; + case 'groupe_chat_delete': + groupe_chat_delete($groupe_id); + Header('location: admin.php?op=groupes'); + break; + case 'groupe_edit': + groupe_edit($groupe_id); + break; + case 'groupe_maj': + groupe_maj($sub_op); + break; + case 'groupe_add': + groupe_edit("groupe_add"); + break; + case 'bloc_groupe_create': + bloc_groupe_create($groupe_id); + Header('location: admin.php?op=groupes'); + break; + case 'groupe_member_ask': + groupe_member_ask(); + break; + case 'groupe_add_finish': + global $NPDS_Prefix; + $ok_grp=false; + if (($groupe_id=='') or ($groupe_id<2) or ($groupe_id>126)) { + $row=sql_fetch_row(sql_query("SELECT MAX(groupe_id) FROM ".$NPDS_Prefix."groupes")); + if ($row[0]<126) { + if ($row[0]==0) $row[0]=1; + $groupe_id=$row[0]+1; + $ok_grp=true; + } + } else + $ok_grp=true; + if ($ok_grp) { + sql_query("INSERT INTO ".$NPDS_Prefix."groupes VALUES ('$groupe_id', '$groupe_name','$groupe_description','0','0','0','0','0')"); + @mkdir('users_private/groupe/'.$groupe_id); + $fp=fopen ('users_private/groupe/'.$groupe_id.'/index.html','w'); + fclose($fp); + @copy('modules/groupe/matrice/groupe.png','users_private/groupe/'.$groupe_id.'/groupe.png'); + @unlink('users_private/groupe/'.$groupe_id.'/delete'); + + global $aid; Ecr_Log('security', "CreateGroupe($groupe_id, $groupe_name) by AID : $aid", ''); + } + default: + group_liste(); + break; +} ?> \ No newline at end of file diff --git a/revolution_16/admin/headlines.php b/revolution_16/admin/headlines.php old mode 100755 new mode 100644 index c00bf67d2..ea3e4cc59 --- a/revolution_16/admin/headlines.php +++ b/revolution_16/admin/headlines.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -140,11 +140,10 @@ function HeadlinesEdit($hid) {
diff --git a/revolution_16/admin/leftblocks.php b/revolution_16/admin/leftblocks.php old mode 100755 new mode 100644 index 001adfa89..dd6d3df26 --- a/revolution_16/admin/leftblocks.php +++ b/revolution_16/admin/leftblocks.php @@ -5,16 +5,16 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) include('die.php'); -$f_meta_nom ='blocks';// à voir si on réimplémente les droits spécifique droit et gauche +$f_meta_nom ='blocks'; //==> controle droit admindroits($aid,$f_meta_nom); //<== controle droit @@ -83,7 +83,7 @@ function deletelblock($id) { } settype($css,'integer'); -//settype($Mmember,'string'); +$Mmember = isset($Mmember) ? $Mmember : '' ; settype($Sactif,'string'); settype($SHTML,'string'); diff --git a/revolution_16/admin/links.php b/revolution_16/admin/links.php old mode 100755 new mode 100644 index d3022426d..ff0a896a7 --- a/revolution_16/admin/links.php +++ b/revolution_16/admin/links.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* This version name NPDS Copyright (c) 2001-2022 by Philippe Brunier */ +/* This version name NPDS Copyright (c) 2001-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -19,7 +19,7 @@ //==> controle droit admindroits($aid,$f_meta_nom); //<== controle droit -global $language, $NPDS_Prefix; +global $language; $hlpfile = "manuels/$language/weblinks.html"; // valeur du pas de pagination @@ -1024,7 +1024,7 @@ function LinksAddLink($new, $lid, $title, $url, $cat, $xtext, $name, $email, $su $subject = html_entity_decode(adm_translate("Votre Lien"),ENT_COMPAT | ENT_HTML401,cur_charset)." : $sitename"; $message = adm_translate("Bonjour")." $name :\n\n".adm_translate("Nous avons approuvé votre contribution à notre moteur de recherche.")."\n\n".adm_translate("Titre de la page")." : $title\n".adm_translate("URL de la Page : ")."$url\n".adm_translate("Description : ")."$xtext\n".adm_translate("Vous pouvez utiliser notre moteur de recherche sur : ")." $nuke_url/modules.php?ModPath=links&ModStart=links\n\n".adm_translate("Merci pour votre Contribution !")."\n"; include("signat.php"); - send_email($email, $subject, $message, '', false, 'html'); + send_email($email, $subject, $message, '', false, 'html', ''); } } global $aid; Ecr_Log('security', "AddLinks($title) by AID : $aid", ''); diff --git a/revolution_16/admin/lnl.php b/revolution_16/admin/lnl.php old mode 100755 new mode 100644 index 21b01efd7..75aecda3a --- a/revolution_16/admin/lnl.php +++ b/revolution_16/admin/lnl.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -19,7 +19,7 @@ //==> controle droit admindroits($aid,$f_meta_nom); //<== controle droit -global $language; +global $language, $NPDS_Prefix; $hlpfile = "manuels/$language/lnl.html"; function error_handler($ibid) { @@ -44,7 +44,7 @@ function ShowHeader() { while (list($ref, $text, $html) = sql_fetch_row($result)) { $text=nl2br(htmlspecialchars($text,ENT_COMPAT|ENT_HTML401,cur_charset)); if (strlen($text)>100) - $text=substr($text,0,100).' .....'; + $text=substr($text,0,100).' .....'; if ($html==1) $html='html'; else $html='txt'; echo ' @@ -496,8 +496,8 @@ function Test($Yheader, $Ybody, $Yfooter) { $result = sql_query("SELECT text, html FROM ".$NPDS_Prefix."lnl_head_foot WHERE type='FOT' AND html='$Xheader[1]' AND ref='$Yfooter'"); $Xfooter=sql_fetch_row($result); // For Meta-Lang - global $cookie; - $uid=$cookie[0]; +// global $cookie; // a quoi ca sert +// $uid=$cookie[0]; // a quoi ca sert if ($Xheader[1]==1) { echo '
@@ -517,7 +517,7 @@ function Test($Yheader, $Ybody, $Yfooter) {
'.adm_translate("Retour en arrière").''; global $adminmail; - send_email($adminmail,'LNL TEST',$message, '', true, $Xmime); + send_email($adminmail,'LNL TEST',$message, $adminmail, true, $Xmime, ''); adminfoot('','','',''); } @@ -713,11 +713,7 @@ function lnl_user_list() { $message =$Yheader[0].$Ybody[0].$Yfooter[0]; global $sitename; - if ($Yheader[1]==1) - $Xmime='html-nobr'; - else - $Xmime='text'; - + $Xmime = $Yheader[1]==1 ? 'html-nobr' : 'text'; if ($Xtype=="All") { $Xtype="Out"; $OXtype="All"; @@ -739,7 +735,7 @@ function lnl_user_list() { $Xmessage=$message."\n\n------------------------------------------------------------------\n"; $Xmessage.= adm_translate("Pour supprimer votre abonnement à notre Lettre, suivez ce lien")." : $nuke_url/lnl.php?op=unsubscribe&email=$email"; } - send_email($email, $subject, meta_lang($Xmessage), "", true, $Xmime); + send_email($email, $subject, meta_lang($Xmessage), "", true, $Xmime, ''); $number_send++; } } @@ -775,7 +771,7 @@ function lnl_user_list() { if (($email!="Anonyme") or ($email!="Anonymous")) { if ($email!='') { if (($message!='') and ($subject!='')) { - send_email($email, $subject, meta_lang($message), "", true, $Xmime); + send_email($email, $subject, meta_lang($message), "", true, $Xmime, ''); $number_send++; } } @@ -785,10 +781,11 @@ function lnl_user_list() { } $deb=$debut+$limit; $chartmp=''; + settype($OXtype, 'string'); if ($deb>=$nrows) { if ((($OXtype=="All") and ($Xtype=="Mbr")) OR ($OXtype=="")) { if (($message!='') and ($subject!='')) { - $timeX=strftime("%Y-%m-%d %H:%M:%S",time()); + $timeX=date("Y-m-d H:m:s",time()); if ($OXtype=="All") {$Xtype="All";} if (($Xtype=="Mbr") and ($Xgroupe!="")) {$Xtype=$Xgroupe;} sql_query("INSERT INTO ".$NPDS_Prefix."lnl_send VALUES ('0', '$Xheader', '$Xbody', '$Xfooter', '$number_send', '$Xtype', '$timeX', 'OK')"); @@ -815,11 +812,21 @@ function redirect() { setTimeout(\"redirect()\",10000); //]]> "; - echo " -

"; - echo adm_translate("Transmission LNL en cours")." => ".$chartmp; - echo '

NPDS - Portal System -

+ echo ' + + + + +
+
+ Loading... +
+
+
+
+ '.adm_translate("Transmission LNL en cours").' => '.$chartmp.'

NPDS - Portal System +
+
'; break; diff --git a/revolution_16/admin/mainblock.php b/revolution_16/admin/mainblock.php index edbb2f05c..99e69decc 100755 --- a/revolution_16/admin/mainblock.php +++ b/revolution_16/admin/mainblock.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) diff --git a/revolution_16/admin/meta_lang.php b/revolution_16/admin/meta_lang.php old mode 100755 new mode 100644 index 499acda9a..1d6e543f0 --- a/revolution_16/admin/meta_lang.php +++ b/revolution_16/admin/meta_lang.php @@ -5,11 +5,11 @@ /* */ /* NEO - 2007 */ /* */ -/* This version name NPDS Copyright (c) 2001-2022 by Philippe Brunier */ +/* This version name NPDS Copyright (c) 2001-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -19,7 +19,7 @@ //==> controle droit admindroits($aid,$f_meta_nom); //<== controle droit -global $language, $NPDS_Prefix; +global $language; $hlpfile = 'manuels/'.$language.'/meta_lang.html'; function go_back($label) { @@ -175,7 +175,7 @@ function Edit_Meta_Lang() { if ($Q['obligatoire'] != true) echo '

'.adm_translate("Modifier un ").' META-MOT

'; - echo aff_local_langue('','','local_user_language').'
'; + echo aff_local_langue('','local_user_language').'
',''; echo '
META
@@ -291,7 +291,7 @@ function Edit_Meta_Lang() { } function Creat_Meta_Lang() { - global $NPDS_Prefix, $hlpfile, $type_meta, $f_meta_nom, $f_titre, $adminimg; + global $hlpfile, $type_meta, $f_meta_nom, $f_titre, $adminimg; include ("header.php"); GraphicAdmin($hlpfile); adminhead ($f_meta_nom, $f_titre, $adminimg); @@ -302,7 +302,6 @@ function Creat_Meta_Lang() { if (!$type_meta) echo adm_translate("Veuillez choisir un type de META-MOT").' '; echo list_meta_type($type_meta); -// echo $type_meta; if ($type_meta) { echo '
diff --git a/revolution_16/admin/metatags.php b/revolution_16/admin/metatags.php old mode 100755 new mode 100644 index bdd008c11..30667f747 --- a/revolution_16/admin/metatags.php +++ b/revolution_16/admin/metatags.php @@ -3,11 +3,11 @@ /* DUNE by NPDS */ /* =========================== */ /* */ -/* This version name NPDS Copyright (c) 2001-2022 by Philippe Brunier */ +/* This version name NPDS Copyright (c) 2001-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -18,24 +18,27 @@ admindroits($aid,$f_meta_nom); //<== controle droit -function MetaTagAdmin($saved = false) { +function MetaTagAdmin(bool $meta_saved = false) { global $hlpfile, $f_meta_nom, $f_titre, $adminimg; $tags = GetMetaTags("meta/meta.php"); -/// var_dump($tags);//// include("header.php"); GraphicAdmin($hlpfile); adminhead ($f_meta_nom, $f_titre, $adminimg); $sel=' selected="selected"'; echo '
'; - if ($saved) // this not work - echo '
'.adm_translate("Vos MétaTags ont été modifiés avec succès !").'
'; + if ($meta_saved) + echo ' +
+ '.adm_translate("Vos MétaTags ont été modifiés avec succès !").' + +
'; echo '
- '. adm_translate("(Ex. : nom du webmaster)").' + '.adm_translate("(Ex. : nom du webmaster)").'
@@ -47,16 +50,6 @@ function MetaTagAdmin($saved = false) { '.adm_translate("(Ex. : l'adresse e-mail du webmaster)").'
-
- - -
@@ -107,15 +100,6 @@ function MetaTagAdmin($saved = false) { '.adm_translate("(Ex. : 16 days. Remarque : ne définissez pas de fréquence inférieure à 14 jours !)").'
-
-
- - -
-
'; - } - echo ' + } + sql_free_result($resultT); + echo '
'; - } - echo ' + } + sql_free_result($resultF); + echo '
'; - sql_free_result(); - adminfoot('','','',''); + adminfoot('','','',''); } function ForumMaintTopicDetail($topic, $topic_title) { @@ -140,83 +136,81 @@ function ForumMaintTopicDetail($topic, $topic_title) {

'.adm_translate("Supprimer massivement les Topics").'

Topic : '.$topic.' | '.stripslashes($topic_title).'
-

[ '.convertdate($post_time).' ]

- '.stripslashes($post_text).' +

[ '.convertdate($post_time).' ]

'.stripslashes($post_text).'
-
-'; + '; + sql_free_result($resultTT); adminfoot('','','',''); } function ForumMaintTopicMassiveSup($topics) { - global $NPDS_Prefix; - if ($topics) { - foreach($topics as $topic_id => $value) { - if ($value=='on') { - $sql = "DELETE FROM ".$NPDS_Prefix."posts WHERE topic_id = '$topic_id'"; - if (!$result = sql_query($sql)) - forumerror('0009'); - $sql = "DELETE FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topic_id'"; - if (!$result = sql_query($sql)) - forumerror('0010'); - $sql = "DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid = '$topic_id'"; - if (!$r = sql_query($sql)) - forumerror('0001'); - control_efface_post("forum_npds","",$topic_id,""); - } - } - sql_free_result(); - } - Q_Clean(); - header("location: admin.php?op=MaintForumAdmin"); + global $NPDS_Prefix; + if ($topics) { + foreach($topics as $topic_id => $value) { + if ($value=='on') { + $sql = "DELETE FROM ".$NPDS_Prefix."posts WHERE topic_id = '$topic_id'"; + if (!$result = sql_query($sql)) + forumerror('0009'); + $sql = "DELETE FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topic_id'"; + if (!$result = sql_query($sql)) + forumerror('0010'); + $sql = "DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid = '$topic_id'"; + if (!$r = sql_query($sql)) + forumerror('0001'); + control_efface_post("forum_npds","",$topic_id,""); + } + } + } + Q_Clean(); + header("location: admin.php?op=MaintForumAdmin"); } function ForumMaintTopicSup($topic) { - global $NPDS_Prefix; - $sql = "DELETE FROM ".$NPDS_Prefix."posts WHERE topic_id = '$topic'"; - if (!$result = sql_query($sql)) - forumerror('0009'); - $sql = "DELETE FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topic'"; - if (!$result = sql_query($sql)) - forumerror('0010'); - $sql = "DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid = '$topic'"; - if (!$r = sql_query($sql)) - forumerror('0001'); - sql_free_result(); - control_efface_post("forum_npds","",$topic,""); - Q_Clean(); - header("location: admin.php?op=MaintForumTopics"); + global $NPDS_Prefix; + $sql = "DELETE FROM ".$NPDS_Prefix."posts WHERE topic_id = '$topic'"; + if (!$result = sql_query($sql)) + forumerror('0009'); + $sql = "DELETE FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topic'"; + if (!$result = sql_query($sql)) + forumerror('0010'); + $sql = "DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid = '$topic'"; + if (!$r = sql_query($sql)) + forumerror('0001'); + control_efface_post("forum_npds","",$topic,""); + Q_Clean(); + header("location: admin.php?op=MaintForumTopics"); } function SynchroForum() { - global $NPDS_Prefix; - // affectation d'un topic à un forum - if (!$result1 = sql_query("SELECT topic_id, forum_id FROM ".$NPDS_Prefix."forumtopics ORDER BY topic_id ASC")) - forumerror('0009'); - while (list($topi_cid, $foru_mid)=sql_fetch_row($result1)) { - sql_query("UPDATE ".$NPDS_Prefix."posts SET forum_id='$foru_mid' WHERE topic_id='$topi_cid' and forum_id>0"); - } - sql_free_result(); + global $NPDS_Prefix; + // affectation d'un topic à un forum + if (!$result1 = sql_query("SELECT topic_id, forum_id FROM ".$NPDS_Prefix."forumtopics ORDER BY topic_id ASC")) + forumerror('0009'); + while (list($topi_cid, $foru_mid)=sql_fetch_row($result1)) { + sql_query("UPDATE ".$NPDS_Prefix."posts SET forum_id='$foru_mid' WHERE topic_id='$topi_cid' and forum_id>0"); + } + sql_free_result($result1); - // table forum_read et contenu des topic - if (!$result1 = sql_query("SELECT topicid, uid, rid FROM ".$NPDS_Prefix."forum_read ORDER BY topicid ASC")) - forumerror('0009'); - while (list($topicid, $uid, $rid)=sql_fetch_row($result1)) { - if (($topicid.$uid)==$tmp) - $resultD = sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid='$topicid' and uid='$uid' and rid='$rid'"); - $tmp=$topicid.$uid; - if ($result2 = sql_query("SELECT topic_id FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topicid'")) { - list($topic_id)=sql_fetch_row($result2); - if (!$topic_id) - $result3 = sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid='$topicid'"); - } - } - sql_free_result(); - header("location: admin.php?op=MaintForumAdmin"); + // table forum_read et contenu des topic + if (!$result1 = sql_query("SELECT topicid, uid, rid FROM ".$NPDS_Prefix."forum_read ORDER BY topicid ASC")) + forumerror('0009'); + while (list($topicid, $uid, $rid)=sql_fetch_row($result1)) { + if (($topicid.$uid)==$tmp) + $resultD = sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid='$topicid' and uid='$uid' and rid='$rid'"); + $tmp=$topicid.$uid; + if ($result2 = sql_query("SELECT topic_id FROM ".$NPDS_Prefix."forumtopics WHERE topic_id = '$topicid'")) { + list($topic_id)=sql_fetch_row($result2); + if (!$topic_id) + $result3 = sql_query("DELETE FROM ".$NPDS_Prefix."forum_read WHERE topicid='$topicid'"); + } + sql_free_result($result2); + } + sql_free_result($result1); + header("location: admin.php?op=MaintForumAdmin"); } function MergeForum() { @@ -240,13 +234,13 @@ function MergeForum() { echo ' '; } while($myrow = sql_fetch_assoc($result)); - } else - echo ' - '; } else echo ' + '; + } else + echo ' '; - echo ' + echo '
@@ -254,19 +248,19 @@ function MergeForum() {
@@ -278,30 +272,30 @@ function MergeForum() { '; - sql_free_result(); - adminfoot('','','',''); + sql_free_result($result); + adminfoot('','','',''); } + function MergeForumAction($oriforum,$destforum) { - global $upload_table; - global $NPDS_Prefix; - $sql = "UPDATE ".$NPDS_Prefix."forumtopics SET forum_id='$destforum' WHERE forum_id='$oriforum'"; - if (!$r = sql_query($sql)) - forumerror('0010'); - $sql = "UPDATE ".$NPDS_Prefix."posts SET forum_id='$destforum' WHERE forum_id='$oriforum'"; - if (!$r = sql_query($sql)) - forumerror('0010'); - $sql = "UPDATE ".$NPDS_Prefix."forum_read SET forum_id='$destforum' WHERE forum_id='$oriforum'"; - if (!$r = sql_query($sql)) - forumerror('0001'); - $sql = "UPDATE $upload_table SET forum_id='$destforum' WHERE apli='forum_npds' and forum_id='$oriforum'"; - sql_query($sql); - sql_free_result(); - Q_Clean(); - header("location: admin.php?op=MaintForumAdmin"); + global $upload_table; + global $NPDS_Prefix; + $sql = "UPDATE ".$NPDS_Prefix."forumtopics SET forum_id='$destforum' WHERE forum_id='$oriforum'"; + if (!$r = sql_query($sql)) + forumerror('0010'); + $sql = "UPDATE ".$NPDS_Prefix."posts SET forum_id='$destforum' WHERE forum_id='$oriforum'"; + if (!$r = sql_query($sql)) + forumerror('0010'); + $sql = "UPDATE ".$NPDS_Prefix."forum_read SET forum_id='$destforum' WHERE forum_id='$oriforum'"; + if (!$r = sql_query($sql)) + forumerror('0001'); + $sql = "UPDATE $upload_table SET forum_id='$destforum' WHERE apli='forum_npds' and forum_id='$oriforum'"; + sql_query($sql); + Q_Clean(); + header("location: admin.php?op=MaintForumAdmin"); } function ForumMaintAdmin() { - global $hlpfile, $NPDS_Prefix, $f_meta_nom, $f_titre, $adminimg, $language; + global $hlpfile, $f_meta_nom, $f_titre, $adminimg, $language; include ("header.php"); GraphicAdmin($hlpfile); adminhead ($f_meta_nom, $f_titre, $adminimg); diff --git a/revolution_16/admin/plugins.php b/revolution_16/admin/plugins.php index 666c40931..6d45303cd 100755 --- a/revolution_16/admin/plugins.php +++ b/revolution_16/admin/plugins.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) diff --git a/revolution_16/admin/polls.php b/revolution_16/admin/polls.php old mode 100755 new mode 100644 index d14998d22..bc7a41a64 --- a/revolution_16/admin/polls.php +++ b/revolution_16/admin/polls.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -23,7 +23,7 @@ $hlpfile = "manuels/$language/surveys.html"; function poll_createPoll() { - global $hlpfile, $maxOptions, $f_meta_nom, $f_titre, $adminimg; + global $hlpfile, $maxOptions, $f_meta_nom, $f_titre, $adminimg, $NPDS_Prefix; include ('header.php'); GraphicAdmin($hlpfile); adminhead ($f_meta_nom, $f_titre, $adminimg); diff --git a/revolution_16/admin/referers.php b/revolution_16/admin/referers.php old mode 100755 new mode 100644 index 5619e849e..ca37ccd08 --- a/revolution_16/admin/referers.php +++ b/revolution_16/admin/referers.php @@ -5,11 +5,11 @@ /* */ /* Admin DUNE Prototype */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -23,7 +23,7 @@ $hlpfile = "manuels/$language/referer.html"; function hreferer($filter) { - global $hlpfile, $f_meta_nom, $adminimg, $admf_ext, $f_titre; + global $hlpfile, $f_meta_nom, $adminimg, $admf_ext, $f_titre, $NPDS_Prefix; include ("header.php"); GraphicAdmin($hlpfile); diff --git a/revolution_16/admin/reviews.php b/revolution_16/admin/reviews.php index e2fcb1c22..d6aca4d39 100755 --- a/revolution_16/admin/reviews.php +++ b/revolution_16/admin/reviews.php @@ -4,11 +4,11 @@ /* =========================== */ /* */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) diff --git a/revolution_16/admin/rightblocks.php b/revolution_16/admin/rightblocks.php old mode 100755 new mode 100644 index 9e54bc2bd..139ba9398 --- a/revolution_16/admin/rightblocks.php +++ b/revolution_16/admin/rightblocks.php @@ -5,16 +5,16 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) include('die.php'); -$f_meta_nom ='blocks';// à voir si on réimplémente les droits spécifique droit et gauche +$f_meta_nom ='blocks'; //==> controle droit admindroits($aid,$f_meta_nom); //<== controle droit @@ -83,7 +83,7 @@ function deleterblock($id) { } settype($css,'integer'); -//settype($Mmember,'string'); +$Mmember = isset($Mmember) ? $Mmember : '' ; settype($Sactif,'string'); settype($SHTML,'string'); diff --git a/revolution_16/admin/savemysql.php b/revolution_16/admin/savemysql.php index 17fe0ffd2..ab69ff0aa 100755 --- a/revolution_16/admin/savemysql.php +++ b/revolution_16/admin/savemysql.php @@ -3,11 +3,11 @@ /* DUNE by NPDS */ /* =========================== */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ /*********************************************************************************************/ /* NPDS V - SavemySQL_Databases 0.5 (20040611) */ diff --git a/revolution_16/admin/sections.php b/revolution_16/admin/sections.php old mode 100755 new mode 100644 index d6322c007..c5d1db5db --- a/revolution_16/admin/sections.php +++ b/revolution_16/admin/sections.php @@ -4,11 +4,11 @@ /* =========================== */ /* */ /* Major changes from ALAT 2004-2005 */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) include('die.php'); @@ -31,10 +31,9 @@ function groupe($groupe) { if (($groupe_id==$groupevalue) and ($groupe_id!=0)) $selectionne=1; } } - if ($selectionne==1) - $str.=''; - else - $str.=''; + $str.= $selectionne==1 ? + '' : + '' ; $nbg++; } if ($nbg>5) $nbg=5; @@ -149,10 +148,9 @@ function sections() { include("header.php"); GraphicAdmin($hlpfile); adminhead($f_meta_nom, $f_titre, $adminimg); - if ($radminsuper==1) - $result = sql_query("SELECT rubid, rubname, enligne, ordre FROM ".$NPDS_Prefix."rubriques ORDER BY ordre"); - else - $result = sql_query("SELECT DISTINCT r.rubid, r.rubname, r.enligne, r.ordre FROM ".$NPDS_Prefix."rubriques r, ".$NPDS_Prefix."sections s, ".$NPDS_Prefix."publisujet p WHERE (r.rubid=s.rubid AND s.secid=p.secid2 AND p.aid='$aid') ORDER BY ordre"); + $result = $radminsuper==1 ? + sql_query("SELECT rubid, rubname, enligne, ordre FROM ".$NPDS_Prefix."rubriques ORDER BY ordre") : + sql_query("SELECT DISTINCT r.rubid, r.rubname, r.enligne, r.ordre FROM ".$NPDS_Prefix."rubriques r, ".$NPDS_Prefix."sections s, ".$NPDS_Prefix."publisujet p WHERE (r.rubid=s.rubid AND s.secid=p.secid2 AND p.aid='$aid') ORDER BY ordre") ; $nb_rub=sql_num_rows($result); echo ' @@ -175,7 +173,7 @@ function sections() { '; if ($nb_rub > 0) { - $i=-1; + $i=-1; echo '

'.adm_translate("Liste des rubriques").'

'; @@ -189,9 +187,12 @@ function sections() { } $rubname = aff_langue($rubname); if ($rubname=='') $rubname=adm_translate("Sans nom"); - if ($enligne==0) { $online=''.adm_translate("Hors Ligne").''; } else if ($enligne==1) { $online = ''.adm_translate("En Ligne").''; } + if ($enligne==0) + $online = ''.adm_translate("Hors Ligne").''; + else if ($enligne==1) + $online = ''.adm_translate("En Ligne").''; echo ' -
+
 '.$rubname.' '.$online.' '.$href1.$href2.$href3.'
'; @@ -203,9 +204,9 @@ function sections() { if (sql_num_rows($result2) > 0) { echo '
-
'.sql_num_rows($result2).''.adm_translate("Sous-rubriques").''; +
'.sql_num_rows($result2).''.adm_translate("Sous-rubriques").''; if ($radminsuper==1) - echo ''; + echo ''; echo '
'; while (list($secid, $secname) = sql_fetch_row($result2)) { @@ -214,23 +215,20 @@ function sections() { $result3 = sql_query("SELECT artid, title FROM ".$NPDS_Prefix."seccont WHERE secid='$secid' ORDER BY ordre"); echo ' -
'; - if (sql_num_rows($result3) > 0) - echo' - '; - else - echo' - '; +
'; + echo (sql_num_rows($result3) > 0) ? + '' : + ' - ' ; echo'   - '.$secname.'  - - '; + '.$secname.' + '; if ($droit_pub>0 and $droit_pub!=4) // à revoir pas suffisant - echo ''; - if (($droit_pub==7) or ($droit_pub==4)) - echo ''; - echo ' -
'; + echo ''; + if (($droit_pub==7) or ($droit_pub==4)) + echo ''; + echo ' +
'; if (sql_num_rows($result3) > 0) { $ibid=true; echo ' @@ -344,7 +342,7 @@ function sections() { echo '

'.adm_translate("Droits des auteurs").'

'; - $result = sql_query("SELECT aid, name, radminsuper FROM authors"); + $result = sql_query("SELECT aid, name, radminsuper FROM ".$NPDS_Prefix."authors"); echo '
'; while(list($Xaid, $name, $Xradminsuper) = sql_fetch_row($result)) { if (!$Xradminsuper) { @@ -1000,12 +998,12 @@ function secartpublish($artid, $secid, $title, $content, $author, $members, $Mme sql_query("INSERT INTO ".$NPDS_Prefix."seccont VALUES (NULL,'$secid','$title','$content', '0', '$author', '99', '$members', '$timestamp')"); global $aid; Ecr_Log('security', "PublicateArticleSections($artid, $secid, $title) by AID : $aid", ''); - $result = sql_query("SELECT email FROM authors WHERE aid='$author'"); + $result = sql_query("SELECT email FROM ".$NPDS_Prefix."authors WHERE aid='$author'"); list($lemail) = sql_fetch_row($result); $sujet = html_entity_decode(adm_translate("Validation de votre publication"),ENT_COMPAT | ENT_HTML401,cur_charset); $message = adm_translate("La publication que vous aviez en attente vient d'être validée"); global $notify_from; - send_email($lemail, $sujet, $message, $notify_from, true, "html"); + send_email($lemail, $sujet, $message, $notify_from, true, "html", ''); } Header("Location: admin.php?op=sections"); } @@ -1135,7 +1133,7 @@ function secartdelete2($artid, $ok=0) { global $NPDS_Prefix; if ($ok==1) { sql_query("DELETE FROM ".$NPDS_Prefix."seccont_tempo WHERE artid='$artid'"); - global $aid; Ecr_Log('security', "DeleteArticlesSectionsTempo($rubid) by AID : $aid", ''); + global $aid; Ecr_Log('security', "DeleteArticlesSectionsTempo($artid) by AID : $aid", ''); Header("Location: admin.php?op=sections"); } else { global $hlpfile, $f_meta_nom, $f_titre, $adminimg; diff --git a/revolution_16/admin/settings.php b/revolution_16/admin/settings.php old mode 100755 new mode 100644 index 9ee3b1ce4..8c5120b48 --- a/revolution_16/admin/settings.php +++ b/revolution_16/admin/settings.php @@ -5,11 +5,11 @@ /* */ /* Based on PhpNuke 4.x source code */ /* */ -/* NPDS Copyright (c) 2002-2022 by Philippe Brunier */ +/* NPDS Copyright (c) 2002-2024 by Philippe Brunier */ /* */ /* This program is free software. You can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ -/* the Free Software Foundation; either version 2 of the License. */ +/* the Free Software Foundation; either version 3 of the License. */ /************************************************************************/ if (!function_exists('admindroits')) @@ -658,15 +658,13 @@ function Configure() {
 '.adm_translate("Système de Messagerie (Email)").'
@@ -922,12 +1033,6 @@ function Configure() {
-
- -
- -
-
'; + // le validateur pour topicadmin ne fonctionne pas ?!! $fv_parametres = ' topicadmin: { validators: { @@ -115,6 +121,8 @@ function topicsmanager() { callback: function(value, validator, $field) { diff=""; var value = $field.val(); + console.log(value);// + if (value === "") {return true;} function split( n ) { return n.split( /,\s*/ ); @@ -131,8 +139,8 @@ function split( n ) { topicname: { validators: { regexp: { - regexp: /^[a-z]+$/i, - message: "This must be a simple word without space." + regexp: /^\w+$/i, + message: "'.adm_translate("Doit être un mot sans espace.").'" } } }, @@ -141,11 +149,10 @@ function split( n ) { validators: { regexp: { regexp: /^[\w]+\\.(jpg|jpeg|png|gif)$/, - message: "This must be a valid file name with one of this extension jpg, jpeg, png, gif." + message: "'.adm_translate("Doit être un nom de fichier valide avec une de ces extensions : jpg, jpeg, png, gif.").'" } } }, - '; $arg1=' @@ -170,7 +177,7 @@ function topicedit($topicid) { adminhead ($f_meta_nom, $f_titre, $adminimg); echo '
-

'.adm_translate("Editer le Sujet :").' '.aff_langue($topicname).'

'; +

'.adm_translate("Editer le Sujet :").' '.aff_langue($topicname).'

'; if ($topicimage!='') { echo '
image-sujet
'; @@ -181,14 +188,14 @@ function topicedit($topicid) {
- + '.adm_translate("(un simple nom sans espaces)").' - '.adm_translate("max caractères").' :
- + '.adm_translate("(description ou nom complet du sujet)").' - '.adm_translate("max caractères").' :
@@ -203,7 +210,7 @@ function topicedit($topicid) {
- +
@@ -222,7 +229,7 @@ function topicedit($topicid) {
- + '.adm_translate("max caractères").' :
@@ -231,7 +238,7 @@ function topicedit($topicid) {
- +
@@ -277,16 +284,16 @@ function topicedit($topicid) { callback: { message: "Please choose an administrator from the provided list.", callback: function(value, validator, $field) { - diff=""; - var value = $field.val(); - if (value === "") {return true;} - function split( n ) { - return n.split( /,\s*/ ); - } - diff = $(split(value)).not(admin).get(); - console.log(diff); - if (diff!="") {return false;} - return true; + diff=""; + var value = $field.val(); + if (value === "") {return true;} + function split( n ) { + return n.split( /,\s*/ ); + } + diff = $(split(value)).not(admin).get(); + console.log(diff); + if (diff!="") {return false;} + return true; } } } @@ -302,7 +309,7 @@ function split( n ) { topicname: { validators: { regexp: { - regexp: /^[a-z]+$/i, + regexp: /^\w+$/i, message: "This must be a simple word without space." } } @@ -313,7 +320,7 @@ function split( n ) { inpandfieldlen("topictext",250); inpandfieldlen("topicimage",20); inpandfieldlen("name",30); - inpandfieldlen("url",200); + inpandfieldlen("url",320); '; echo auto_complete_multi('admin','aid','authors','topicadmin',''); adminfoot('fv',$fv_parametres,$arg1,''); @@ -334,18 +341,18 @@ function relatededit($tid, $rid) {

'.adm_translate("Sujet : ").' '.$topictext.'

'.adm_translate("Editer les Liens Relatifs").'

'; - if ($topicimage!="") { + if ($topicimage!="") echo '
'.$topictext.' -
';} + '; echo' -
+
- +
@@ -356,7 +363,7 @@ function relatededit($tid, $rid) { - + @@ -366,19 +373,16 @@ function relatededit($tid, $rid) {
- +
-
- '; - adminfoot('fv','','',''); + '; + $arg1 =' + var formulid = ["editrelatedlink"]; + inpandfieldlen("name",30); + inpandfieldlen("url",320); + '; + adminfoot('fv','',$arg1,''); } function relatedsave($tid, $rid, $name, $url) { @@ -396,19 +400,24 @@ function relateddelete($tid, $rid) { function topicmake($topicname, $topicimage, $topictext, $topicadmin) { global $NPDS_Prefix; $topicname = stripslashes(FixQuotes($topicname)); + $istopicname = sql_num_rows(sql_query("SELECT * FROM ".$NPDS_Prefix."topics WHERE topicname='$topicname'")); + if ($istopicname !== 0) { + Header("Location: admin.php?op=topicsmanager&nook=nook#addtopic"); + die(); + } $topicimage = stripslashes(FixQuotes($topicimage)); $topictext = stripslashes(FixQuotes($topictext)); sql_query("INSERT INTO ".$NPDS_Prefix."topics VALUES (NULL,'$topicname','$topicimage','$topictext','0', '$topicadmin')"); global $aid; Ecr_Log("security", "topicMake ($topicname) by AID : $aid", ""); $topicadminX = explode(",",$topicadmin); array_pop($topicadminX); - for ($iX = 0; $iX < count($topicadminX); $iX++) { - $nres = sql_num_rows(sql_query("SELECT * FROM ".$NPDS_Prefix."droits WHERE d_aut_aid='$topicadminX[$iX]' and d_droits=11112")); - if($nres == 0){ - sql_query("INSERT INTO ".$NPDS_Prefix."droits VALUES ('$topicadminX[$iX]', '2', '11112')"); - } + for ($i = 0; $i < count($topicadminX); $i++) { + trim($topicadminX[$i]); + $nres = sql_num_rows(sql_query("SELECT * FROM ".$NPDS_Prefix."droits WHERE d_aut_aid='$topicadminX[$i]' and d_droits=11112")); + if($nres == 0) + sql_query("INSERT INTO ".$NPDS_Prefix."droits VALUES ('$topicadminX[$i]', '2', '11112')"); } - Header("Location: admin.php?op=topicsmanager#Add"); + Header("Location: admin.php?op=topicsmanager#addtopic"); } function topicchange($topicid, $topicname, $topicimage, $topictext, $topicadmin, $name, $url) { @@ -424,24 +433,25 @@ function topicchange($topicid, $topicname, $topicimage, $topictext, $topicadmin, } foreach ($topad as $value){//pour chaque droit adminsujet on regarde le nom de l'adminsujet if (!in_array($value, $topicadminX)) {//si le nom de l'adminsujet n'est pas dans les nouveaux adminsujet - //on cherche si il administre un aure sujet - $resu=sql_query("SELECT * FROM ".$NPDS_Prefix."topics WHERE topicadmin REGEXP '[[:<:]]".$value."[[:>:]]'"); + //on cherche si il administre un autre sujet + $resu = mysqli_get_client_info() <= '8.0' ? + sql_query("SELECT * FROM ".$NPDS_Prefix."topics WHERE topicadmin REGEXP '[[:<:]]".$value."[[:>:]]'") : + sql_query("SELECT * FROM ".$NPDS_Prefix."topics WHERE topicadmin REGEXP '\\b".$value."\\b'") ; $nbrow = sql_num_rows($resu); list($tid) = sql_fetch_row($resu); if( ($nbrow==1) and ($topicid==$tid) ) {sql_query("DELETE FROM ".$NPDS_Prefix."droits WHERE d_aut_aid='$value' AND d_droits=11112 AND d_fon_fid=2");} } } - $topicname = stripslashes(FixQuotes($topicname)); - $topicimage = stripslashes(FixQuotes($topicimage)); - $topictext = stripslashes(FixQuotes($topictext)); - $name = stripslashes(FixQuotes($name)); - $url = stripslashes(FixQuotes($url)); - sql_query("UPDATE ".$NPDS_Prefix."topics SET topicname='$topicname', topicimage='$topicimage', topictext='$topictext', topicadmin='$topicadmin' WHERE topicid='$topicid'"); - global $aid; Ecr_Log("security", "topicChange ($topicname, $topicid) by AID : $aid", ""); - if ($name) { - sql_query("INSERT INTO ".$NPDS_Prefix."related VALUES (NULL, '$topicid','$name','$url')"); - } + $topicname = stripslashes(FixQuotes($topicname)); + $topicimage = stripslashes(FixQuotes($topicimage)); + $topictext = stripslashes(FixQuotes($topictext)); + $name = stripslashes(FixQuotes($name)); + $url = stripslashes(FixQuotes($url)); + sql_query("UPDATE ".$NPDS_Prefix."topics SET topicname='$topicname', topicimage='$topicimage', topictext='$topictext', topicadmin='$topicadmin' WHERE topicid='$topicid'"); + global $aid; Ecr_Log("security", "topicChange ($topicname, $topicid) by AID : $aid", ""); + if ($name) + sql_query("INSERT INTO ".$NPDS_Prefix."related VALUES (NULL, '$topicid','$name','$url')"); Header("Location: admin.php?op=topicedit&topicid=$topicid"); } @@ -467,26 +477,26 @@ function topicdelete($topicid, $ok=0) { } Header("Location: admin.php?op=topicsmanager"); } else { - global $hlpfile, $tipath, $topicimage, $f_meta_nom, $f_titre, $adminimg; - include("header.php"); - GraphicAdmin($hlpfile); - $result2=sql_query("SELECT topicimage, topictext FROM ".$NPDS_Prefix."topics WHERE topicid='$topicid'"); - list($topicimage, $topictext) = sql_fetch_row($result2); - adminhead($f_meta_nom, $f_titre, $adminimg); - echo ' -

'.adm_translate("Effacer le Sujet").' : '.aff_langue($topictext).'

'; - echo'