Vikidia:Achille/sources/form.php
< Vikidia:Achille | sources
Aller à la navigation
Aller à la recherche
Version 0.1.5 (c) Ces pages sont données pour consultation. Si vous souhaitez utiliser Achille, téléchargez de préférence les sources au format zip |
<?php /* Achille/form.php GPL v3 Thomas Pimmel 2008 */ // Regroupement de tous les formulaires // Bouton connexion function form_connect() { $status=$_SESSION['status']; $user=$_SESSION['user']; if ($status==3) message ("Ceci est une démonstration, les fonctions d'écriture sont inactivées"); print ('<table style="width:100%; margin:0px; clear:both;"><tbody><tr><td valign="top" align="left">'); form_aide($_SESSION['command']); print ('</td>'); if ($status) { print('<td valign="top" align="right"><form method="post" action="index.php">'); print ('<button value="deconnect" name="menu" type="submit"><img src="images/actions/system-log-out.png" align="left">'); if ($status==2) print ("$user (administrateur)"); else print ("$user (utilisateur)"); print('</button></form></td>'); } print ('</tr></tbody></table>'); } // Bouton retour menu principal (css) function form_mainmenu() { print(' <form method="post" action="index.php"> <table class="invtable"> <tbody> <tr> <td style="text-align: center;"><button value="mainmenu" name="menu" style="width : 50%" type="submit"> <img src="images/actions/go-home.png" align="left">Retour au menu principal</button></td> </tr> </tbody> </table> </form>'); } // Menu admin (css) function form_admin() { print(' <form method="post" action="index.php"> <table class="invtable"> <tbody> <tr> <td style="text-align: center;">Menu de l'Administrateur d'Achille</td> </tr> <tr><td style="text-align: center;"><button value="userprefs" name="menu" style="width : 50%;" type="submit"> <img src="images/actions/system-lock-screen.png" align="left">Changer de mot de passe</button></td></tr> <tr> <td style="text-align: center;"><button value="gestion" name="menu" style="width : 50%;" type="submit"> <img src="images/actions/system-users.png" align="left">Gestion des utilisateurs</button></td> </tr> <tr> <td style="text-align: center;"><button value="preferences" name="menu" style="width : 50%;" type="submit"> <img src="images/actions/preferences-system.png" align="left">Préférences</button> </td> </tr> </tbody> </table> </form>'); } // Menu user (css) function form_user() { $pcent="90%"; $pcent2="45%"; if (isset($_SESSION['ctc'])) { $disa=false; $ctext="Déconnexion de Vikidia"; $cim="images/actions/system-log-out.png"; } else { $disa="disabled='disabled'"; $ctext="Connexion à Vikidia"; $cim="images/actions/applications-internet.png"; } print(" <form method='post' action='index.php'>"); print(" <table class='invtable' style='width:100%'><tbody><tr><td style='width:50%'> <div style='width:80%;float:right'> <table class='invtable' style='width:100%'> <tbody> <tr><td style='text-align: center;'>Menu utilisateur</td></tr> <tr><td style='text-align: center;'><button value='userprefs' name='menu' style='width : $pcent;' type='submit'> <img src='images/actions/system-lock-screen.png' align='left'>Changer de mot de passe</button></td></tr> <tr><td style='text-align: center;'><button value='test' name='menu' style='width : $pcent;' type='submit'> <img src='images/actions/utilities-system-monitor.png' align='left'>Tester les connexions</button></td></tr> <tr><td style='text-align:center;'><button value='connectwiki' name='menu' style='width : $pcent;' type='submit'> <img src='$cim' align='left'>$ctext</button></td></tr> <tr> <td style='text-align: center;'><button value='readmail' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/mail-message-new.png' align='left'>Page de discussion</button></td> </tr> <tr> <td style='text-align: center;'><button value='readlog' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/x-office-calendar.png' align='left'>Page de logs</button></td> </tr> <tr> <td style='text-align: center;'><button value='readreq' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/req.png' align='left'>Page de demandes</button></td> </tr> <tr><td style='text-align: center;'>Importation d'images</td></tr> <tr><td style='text-align: center;'> <button value='import' name='menu' style='width : $pcent2;' type='submit' $disa> <img src='images/actions/emblem-photos.png' align='left'>Importation d'images</button> <button value='pod' name='menu' style='width : $pcent2;' type='submit' $disa> <img src='images/actions/application-certificate.png' align='left'>Fichier Image du jour</button> </td></tr> </tbody></table></div></td> <td style='width:50%'> <div style='width:80%;float:left'> <table class='invtable' style='width:100%'><tbody> <tr><td style='text-align: center;'>Travaux</td></tr> <tr> <td style='text-align: center;'><button value='annonce' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/mail-forward.png' align='left'>Envoyer des messages</button></td> </tr> <tr> <td style='text-align: center;'><button value='rncat' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/cat-change.png' align='left'>Changer de catégorie</button></td> </tr> <tr> <td style='text-align: center;'><button value='replace' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/edit-find-replace.png' align='left'>Chercher / Remplacer</button></td> </tr> <tr> <td style='text-align: center;'><button value='wikif' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/bookmark-new.png' align='left'>Wikifier un mot</button></td> </tr> <tr><td style='text-align: center;'>Maintenance</td></tr> <tr> <td style='text-align: center;'><button value='image' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/applications-graphics.png' align='left'>Vérifier des images</button></td> </tr> <tr> <td style='text-align: center;'><button value='inter' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/inter.png' align='left'>Liens Interwiki</button></td> </tr> <tr> <td style='text-align: center;'><button value='typo' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/format-text-bold.png' align='left'>Corriger la typographie</button></td> </tr> <tr> <td style='text-align: center;'><button value='cato' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/folder-new.png' align='left'>Maintenance des catégories</button></td> </tr> </tbody></table></div></td></tr> </tbody> </table> </form>"); /* <tr> <td style='text-align: center;'><button value='tmp' name='menu' style='width : $pcent;' type='submit' $disa> <img src='images/actions/format-text-bold.png' align='left'>Mise en forme</button></td> </tr>*/ } // Demande mot de passe (css) function form_mdp() { /*message ("Si vous utilisez Internet explorer, Achille ne fonctionnera pas. Ceci est dû au non-respect de Microsoft des spécifications internationales concernant le HTML.");*/ print(' <form method="post" action="index.php"><br> <table class="invtable"> <tbody> <tr> <td style="text-align: right;">Identifiant</td> <td style="text-align: left;"><input name="user"></td> </tr> <tr> <td style="text-align: right;" valign="undefined">Mot de passe</td> <td style="text-align: left;"><input name="passwd" type="password"></td> </tr> <tr> <td style="text-align: center;" colspan="2" rowspan="1" > <button type="submit">Envoyer</button></td> </tr> </tbody> </table> </form>'); } //Liste des utilisateurs (css) function form_userlist() { $statx=array("supprimé","utilisateur","administrateur","démonstration"); //comptage des entrées $nbusers=us_comptage(); //début tableau print ("<center><b>Gestion des utilisateurs</b></center> <table class='modiftable' border='1'> <tbody> <tr> <td colspan='3' rowspan='1'>Nombre d'utilisateurs : $nbusers</td> </tr>"); //liste if ($nbusers) { $liste=us_read(); for ($n=0 ; $n<$nbusers ; $n++) { $pseudo=$liste[$n+1][USUSER]; $stat=$statx[$liste[$n+1][USTAT]]; print ("<form method='post' action='index.php'>"); print ("<INPUT TYPE=HIDDEN NAME='user' value="); print('"'); print("$pseudo"); print('">'); print("<tr><td>$pseudo ($stat)</td>"); print("<td><button style='width : 100%;' name='menu' value='deluser' type='submit'>Supprimer</button></td></tr></form>"); } } //fin tableau if ($nbusers<MAX_USERS) { print (' <tr> <form method="post" action="index.php"> <td style="width:80%;"></td> <td style="width:20%;"><button name="menu" value="adduser" style="width:100%;" type="submit">Ajouter</button></td> </form> </tr>'); } else { // Limites de la constante MAX_USERS print (' <tr> <td style="width:80%;"><b>Limite du nombre d'utilisateurs atteinte<b></td> <td style="width:20%;"></td> </form> </tr>'); } // fin de tableau print('</tbody> </table> </form>'); } // Bouton retour menu principal (css) function form_retour($message) { message ($message,2); print(" <form method='post' action='index.php'> <div style='text-align: center;'><button value='gestion' name='menu' style='width : 50%' type='submit'> <img src='images/actions/go-home.png' align='left'>Retour au menu gestion</button></div> </form>"); } // Ajouter un utilisateur (css) function form_add_user() { print(' <form method="post" action="index.php"><br> <table class="modiftable" border="1"> <tbody> <tr> <td style="text-align: right;">Compte Vikidia</td> <td><input name="user"></td> </tr> <tr> <td style="text-align: right;">Mot de passe provisoire</td> <td> <input name="passwd" type="password"></td></tr> <tr> <tr> <td style="text-align: right;">Entrez le mot de passe à nouveau</td> <td> <input name="passwd2" type="password"></td></tr> <tr> <td style="text-align: right;"> <button type="submit">Ajouter</button> <select name="stat"> <option>Administrateur</option> <option selected="selected">Utilisateur</option> <option>Démonstration</option> </select> </td> <td style="text-align: left;"><button value="gestion" name="menu" type="submit">Annuler</button></td> </tr> </tbody> </table> </form>'); } // Préférences (css) function form_prefs() { $max=MAX_USERS; $delay=EDIT_DELAY; $url=URL_VIKIDIA; print(" <center><b>Préférences (lecture seule)</b></center> <table class='infotable' border='1'> <tbody> <tr><td>Nombre d'utilisateurs maxi</td><td>$max</td></tr> <tr><td>Attente entre deux éditons</td><td>$delay secondes</td></tr> <tr><td>URL de Vikidia</td><td>$url</td></tr> </tbody> </table>"); } // préférences utilisateur function form_userprefs() { if ($_SESSION['status']==3) { message ("Cette fonction n'est pas accessible en mode démonstration",1); return; } // changer le mot de passe print(' <form method="post" action="index.php"><br> <table class="modiftable" border="1"> <tbody> <tr><td style="text-align: center;" colspan="2" rowspan="1">Changement du mot de passe</td></tr> <tr> <td style="text-align: right;">Nouveau mot de passe</td> <td><input name="newpassword" type="password"></td> </tr> <tr> <td style="text-align: right;">Entrer à nouveau</td> <td><input name="password2" type="password"></td> </tr> <tr> <td style="text-align: center;" colspan="2" rowspan="1"> <button type="submit">Changer</button></td> </tr> </tbody> </table> </form>'); } // formulaire image du jour function form_pod() { // démo ? if ($_SESSION['status']==3) { message ("Fonction désactivée en mode démonstration",1); return; } // charger le fichier POD $pod=@file_get_contents("users/".$_SESSION['user'].".podfile"); if (!$pod) { message ("Le fichier POD est vide, importez des images",1); return; } print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Création d'images du jour</b><br>D'après le fichier des images importées</center><br> <table style='width:100%;'> <tbody> <tr><td colspan='2'><textarea wrap='soft' cols='1' rows='20' name='podlist' style='width: 100%;'>$pod</textarea> <tr><td align=right>Date de début aaaa-mm-jj (exemple : 2008-04-01) :</td> <td width=50%><input name='date' value='' style='width:100%;'></td></tr> </tbody> </table> <div style='text-align: right;'> <button value='pod' name='pod' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Création des images du jour</b></font></button> </div> </div></form>"); } // Formulaire création liste d'importation function form_import($url='',$cat='',$reduce=true,$day=false) { // chercher catégorie de départ print ("<div id='msgid' style='width=100%'><center> Chargement des catégories... veuillez patienter</center></div>"); flush(); @ob_flush(); $listcat=GetCatList("Image par thème"); print ("<script type='text/javascript'>masque('msgid')</script>"); flush(); @ob_flush(); // formulaire print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Importation d'images de Commons</b></center><br> <table style='width:100%;'> <tbody> <tr><td align=right>Page de Commons (voir aide) :</td><td width=80%><input name='url' value=\"$url\" style='width:100%;'></td></tr> <tr><td align=right>Catégorie principale :</td> <td><select name='maincat'>"); $n=0; while (isset($listcat[$n])) { if ($cat==$listcat[$n]) { print ("<option selected='selected'>$listcat[$n]</option>"); $cat=''; } else print ("<option>$listcat[$n]</option>"); $n++; } print (" </select> </td></tr> <tr><td align=right>Autre catégorie :</td><td width=80%><input name='othercat' value=\"$cat\" style='width:100%;'></td></tr> <tr> <td align=right>Options :</td><td> <label><input name='reduce' value='1' type='checkbox'"); if ($reduce) print (" checked='checked'"); print (">Réduire les images</label> <label><input name='day' value='1' type='checkbox'"); if ($day) print (" checked='checked'"); print (">Ajouter aux images du jour</label> </td> </tr> </tbody> </table> <div style='text-align: right;'><button value='first' name='import' type='submit'>Import des images</button></div> </div></form>"); } function form_next_image() { require ("includes/adrs.php"); $cat=$_SESSION['import']['maincat']; $nb=$_SESSION['import']['nb']; $list=$_SESSION['import']['list']; $listcat=$_SESSION['import']['catlist']; // total atteint ? $total=count($list); if (!isset($list[$nb])) { message ("Fin de la liste",2); form_import ($_SESSION['import']['url'],$_SESSION['import']['cat'], $_SESSION['import']['reduce'],$_SESSION['import']['day']); return false; } // info page commons $image=str_replace(" ", "_",$list[$nb]); $page=w_Curl($adrs['commons']['idx']."/".$image); if ($page) $url=extract_url($page); else $url=false; $imagered=$url[1]; $imagefull=$url[0]; // description et auteur $page=w_GetPage($image,$adrs['commons']['api']); if ($page) { $des=GetTemplArgs2("fr",$page); if (!$des) $des=GetImInfo($page,'Description'); $des=str_replace(":fr:","",$des); $auteur=GetImInfo($page,'Author'); $date=GetImInfo($page,'Date'); $date=str_replace("[","",$date); $date=str_replace("]","",$date); } // licences $listmod=w_GetPageInfo($image,'templates',$adrs['commons']['api']); $l=modlicence_exists("Template:CC-BY-",$listmod); if (is_int($l)) $licence1=str_replace("Template:","",$listmod[$l]); $l=modlicence_exists("Template:GFDL",$listmod); if (is_int($l)) $licence2=str_replace("Template:","",$listmod[$l]); $l=modlicence_exists("Template:CopyrightedFreeUse",$listmod); if (is_int($l)) $licence3=str_replace("Template:","",$listmod[$l]); $l=modlicence_exists("Template:PD",$listmod); if (is_int($l)) { $licence3=str_replace("Template:","",$listmod[$l]); $lics=array("PD-user","PD-old","PD-USGov-NASA","PD-NASA","PD-self","PD-author","PD-USGov-CIA-WF","PD-OpenClipart","money-EU"); $licr=array("DP-auteur","DP-vieux","DP-US-NASA","DP-US-NASA","DP-auteur","DP-auteur","DP-US-CIA","DP-openclipart","Monnaie-UE"); $licence3=str_ireplace($lics,$licr,$licence3); if (is_int(stripos($licence3,"PD-USGov"))) $licence3="DP-US"; $licence3=str_ireplace("pd","DP",$licence3); } // affichage $nbr=$nb+1; $link="<a href='".$adrs['commons']['idx']."/".$list[$nb]."' target='_blank'>".$list[$nb]."</a>"; print("<form method='post' action='index.php'> <div class='vikidiv'> <table style='width:100%;'> <tbody> <tr><td align=center> <b>Importation : Image $nbr / $total</b><br>$link </td></tr> <tr><td> <textarea wrap='soft' cols='1' rows='3' name='imagedes' style='width: 100%;'>$des</textarea> </td></tr> <tr><td> Licence Commons : <input name='licence1' value=\"$licence1\"> Licence GNU : <input name='licence2' value=\"$licence2\"> Autre licence : <input name='licence3' value=\"$licence3\"> </td></tr> <tr><td> Auteur : <input name='auteur' value=\"$auteur\" style='width: 40%;'> Date : <input name='date' value=\"$date\" style='width: 40%;'> </td></tr> <tr><td>Catégorie de l'image : <select name='cat'>"); $n=0; while (isset($listcat[$n])) { if ($n==0) print ("<option selected='selected'>$listcat[$n]</option>"); else print ("<option>$listcat[$n]</option>"); $n++; } print (" </select> <input name='catbis' value='' style='width: 40%;'> </td></tr> <tr><td align=center> <button value='pass' name='import' style='width:40%;' type='submit'> <img src='images/actions/edit-clear.png' align='left'>Passer l'image</button> <button value='import' name='import' style='width:40%;' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Importer</b></font></button> </td></tr> <tr> <td align=center><img src='$imagered'></td> </tr> </tbody> </table> </div> <input name='imagered' value=\"$imagered\" type='hidden'> <input name='imagefull' value=\"$imagefull\" type='hidden'> </form>"); } // Formulaire annonce function form_annonce($category,$section,$message) { if (!$_SESSION['msg']['catlist']) { print ("<div id='msgid' style='width=100%'><center> Chargement des catégories utilisateurs... veuillez patienter</center></div>"); flush(); @ob_flush(); $_SESSION['msg']['catlist']=FilterCat(w_GetPagesCat("Utilisateurs")); print ("<script type='text/javascript'>masque('msgid')</script>"); flush(); @ob_flush(); } $list=$_SESSION['msg']['catlist']; // formulaire print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Envoyer un message à une liste</b></center><br> <table style='width:100%;'> <tbody> <tr> <td>Envoyer à la liste :</td> <td><select name='category'>"); $n=0; while (isset($list[$n])) { if ($category==$list[$n]) print ("<option selected='selected'>$list[$n]</option>"); else print ("<option>$list[$n]</option>"); $n++; } print (" </select></td> <tr> <td>Titre :</td> <td style='width: 80%;'><input name='section' value=\"$section\" style='width: 100%;'></td> </tr> <tr> <td valign='top'>Message :</td> <td style='width: 80%;'><textarea wrap='soft' cols='1' rows='10' name='message' style='width: 100%;'>$message</textarea></td> </tr> </tbody> </table> <div style='text-align: right;'><button value='preview' name='annonce' type='submit'>Aperçu</button></div> </div></form>"); } // Formulaire annonce -> prévisualiser function form_preview($msg) { $user=$_SESSION['user']; $texte=$msg['texte']; $section=$msg['section']; $category=$msg['category']; print("<div align=center><b>Prévisualisation du message</b><br>Envoyé à la liste : $category"); print ("<br> <p align=left><big><b>$section</b></big> <hr noshade style='width:100%; color:gray; height:1px;'> </p>"); $mois=GetMois(date("F")); $date=date("d ").$mois.date(" Y à G:i (T)"); $prev=w_Parse("{{Achille message|$user $date|".$category."|".$texte."}}"); print ($prev); print ("<br /><form method='post' action='index.php'> <div style='text-align: center;'> <button value='annonce' name='annonce' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Envoyer</b></font></button> <button value='correction' name='annonce' type='submit'> <img src='images/actions/edit-clear.png' align='left'>Corriger</button> </div></form></div>"); } // Formulaire renommage catégorie function form_rncat($from,$to,$com) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Changer de catégorie</b></center><br> <table style='width:100%;'> <tbody> <td style='text-align:right;'><b>De</b> (exemple, <i>léporidé</i>) :</td> <td style='width: 60%;'><input name='from' value=\"$from\" style='width: 100%;'></td> </tr> <tbody> <td style='text-align:right;'><b>Vers</b> (exemple, <i>lagomorphe</i>) :</td> <td style='width: 60%;'><input name='to' value=\"$to\" style='width: 100%;'></td> </tr> <tbody> <td style='text-align:right;'><b>Commentaire</b> (laissez vide pour défaut) :</td> <td style='width: 60%;'><input name='com' value=\"$com\" style='width: 100%;'></td> </tr> </tbody> </table> <div style='text-align: right;'><button value='preview' name='rncat' type='submit'>Changer</button></div> </div></form>"); } // preview et confirmation function form_rn_preview($mode) { $rnfrom=$_SESSION['rncat']['from']; $rnto=$_SESSION['rncat']['to']; $rncom=$_SESSION['rncat']['com']; if (!$rncom) { $rncom='Changement catégorie de \'' .$rnfrom. '\' vers \'' . $rnto.'\''; $_SESSION['rncat']['com']=$rncom; } if ($_SESSION['rncat']['list']) $result=$_SESSION['rncat']['list']; else $result=w_GetPagesCat($rnfrom); if (!$result) { message ("La page de catégorie $rnfrom est vide ou n'existe pas<br>"); form_rncat($rnfrom,$rnto,''); return false; } // haut print(" <form method='post' action='index.php'> <div class='vikidiv100'> <center> <b>Renommer une catégorie de $rnfrom vers $rnto</b><br>Liste des pages concernées<br> <table border='1'><tbody><tr> "); // liste $n=0; $i=0; $line=0; while (isset($result[$n])) { if ($line==3) { $line=0; print ("</tr><tr>"); } $chkbox='<td>'.$result[$n].'</td><td><input name="select[]" value="' . $result[$n] . '" type="checkbox"'; print ("$chkbox"); switch ($mode) { case 0: print (" checked='checked'"); break; case 1: break; case 2: if (isset($_POST['select'][$i]) && $_POST['select'][$i]==$result[$n]) $i++; else print (" checked='checked'"); break; } print ("></td>"); $n++; $line++; } // bas print (" </tr> </tbody></table> <p> Sélection : <button value='selall' name='rncat' type='submit'>Tous</button> <button value='selno' name='rncat' type='submit'>Aucun</button> <button value='selinv' name='rncat' type='submit'>Inverser</button></p> <p>Commentaire d'édition : $rncom</p> </center> <div style='text-align: center;'><button value='rncat' name='rncat' style='width:40%;' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Changer</b></font></button> <button value='correction' name='rncat' style='width:40%;' type='submit'> <img src='images/actions/edit-clear.png' align='left'>Corriger</button></div> </div></form> "); return $result; } // menu recherche remplacement function form_sr($search,$replace,$com,$case,$maj,$cat,$namesp=0) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Rechercher / Remplacer</b></center><br> <table style='width:90%; margin-left:auto; margin-right:auto;'> <tbody> <td style='text-align:right;'><b>Rechercher</b> :</td> <td><input name='search' value=\"$search\" style='width: 100%;'></td> </tr> <td style='text-align:right;'><b>Remplacer</b> :</td> <td><input name='replace' value=\"$replace\" style='width: 100%;'></td> </tr> <td style='text-align:right;'><b>Commentaire :</b><br>(laissez vide pour défaut)</td> <td><input name='com' value=\"$com\" style='width: 100%;'></td> </tr> <tr><td></td><td style='text-align:right;'> <label><input name='case' value='1' type='checkbox'"); if ($case) print (" checked='checked'"); print (">Sensible à la casse</label> <label><input name='maj' value='1' type='checkbox'"); if ($maj) print (" checked='checked'"); print (">Respecter première majuscule</label> </td></tr> <tr><td colspan='2' style='text-align:center;'><b>Domaine de la recherche</b></td></tr> <tr> <td style='text-align:right;'>Par catégorie :</td> <td> <input name='cat' value=\"$cat\" style='width: 50%;'> <label><input name='model' value='1' type='checkbox'"); if ($namesp&1) print (" checked='checked'"); print (">Modèles</label> <label><input name='image' value='2' type='checkbox'"); if ($namesp&2) print (" checked='checked'"); print (">Images</label> </td> </tr> </tbody> </table> <div style='text-align: right;'><button value='preview' name='sr' type='submit'>Chercher/Remplacer</button></div> </div></form>"); } // menu preview recherche/remplacmeent function form_sr_preview($mode) { $search=$_SESSION['sr']['search']; $replace=$_SESSION['sr']['replace']; $com=$_SESSION['sr']['com']; $case=$_SESSION['sr']['case']; $maj=$_SESSION['sr']['maj']; $cat=$_SESSION['sr']['cat']; $namesp=$_SESSION['sr']['namesp']; $details=$_SESSION['sr']['details']; if ($_SESSION['sr']['list']) $result=$_SESSION['sr']['list']; else { $namespace="0"; if ($namesp&2) $namespace=$namespace."|6"; if ($namesp&1) $namespace=$namespace."|10"; if (!$cat) $result=w_Search($search,$namespace); else $result=w_GetPagesCat($cat); } if (!$result) { message ("La recherche ne donne pas de résultats"); form_sr($search,$replace,$com,$case,$maj,$cat,$namesp); return false; } if (!$com) { $com='Remplacement de \'' .$search. '\' par \'' . $replace . '\''; $_SESSION['sr']['com']=$com; } // haut print(" <form method='post' action='index.php'> <div class='vikidiv100'> <center> <b>Remplacer $search par $replace</b><br>Liste des pages concernées "); if (isset($details)) print ("<button value='details' name='sr' type='submit'>Cacher les détails</button>"); else print ("<button value='details' name='sr' type='submit'>Voir les détails (lent)</button>"); print ("<br> <table border='1'><tbody><tr> "); // liste $n=0; $ligne=0; $i=0; if (isset($details)) $colomns=1; else $colomns=3; while (isset($result[$n])) { if ($line==$colomns) { $line=0; print ("</tr><tr>"); } $chkbox='<td>'.$result[$n].'</td><td><input name="select[]" value="' . $result[$n] . '" type="checkbox"'; print ("$chkbox"); switch ($mode) { case 0: print (" checked='checked'"); break; case 1: break; case 2: if (isset($_POST['select'][$i]) && $_POST['select'][$i]==$result[$n]) $i++; else print (" checked='checked'"); break; case 3: if ($_SESSION['sr']['details'][$n]) print (" checked='checked'"); break; case 4: if (isset($_POST['select'][$i]) && $_POST['select'][$i]==$result[$n]) { $i++; print (" checked='checked'"); } break; } print ("></td>"); if (isset($details)) print ("<td>$details[$n]</td>"); $n++; $line++; } // bas print (" </tr> </tbody></table> <p> Sélection : <button value='allart' name='sr' type='submit'>Tous</button> <button value='noart' name='sr' type='submit'>Aucun</button> <button value='invart' name='sr' type='submit'>Inverser</button></p> <p>Commentaire d'édition : $com</p> </center> <div style='text-align: center;'><button value='sr' name='sr' style='width:40%;' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Remplacer</b></font></button> <button value='correction' name='sr' style='width:40%;' type='submit'> <img src='images/actions/edit-clear.png' align='left'>Corriger</button></div> </div></form> "); return $result; } // menu wikification function form_wikif($mot,$com,$pluriel) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Wikifier un mot</b></center><br> <table style='width:80%;'> <tbody> <td style='text-align:right;'><b>Mot à wikifier</b> (exemple, <i>tortue<i>) :</td> <td style='width: 60%;'><input name='mot' value=\"$mot\" style='width: 100%;'></td> </tr> <tr> <td colspan='2' style='text-align:right;'><label><input name='pluriel' value='1' type='checkbox'"); if ($pluriel) print (" checked='checked'"); print (">Gérer le pluriel (<b>en s</b>)</label></td> </tr> <td style='text-align:right;'><b>Commentaire</b> (laissez vide pour défaut) :</td> <td style='width: 60%;'><input name='com' value='$com' style='width: 100%;'></td> </tr> </tbody> </table> <div style='text-align: right;'><button value='preview' name='wikif' type='submit'>Wikifier</button></div> </div></form>"); } // menu preview recherche/remplacmeent function form_wikif_preview($mode) { $mot=$_SESSION['wikif']['mot']; $com=$_SESSION['wikif']['com']; $pluriel=$_SESSION['wikif']['pluriel']; $details=$_SESSION['wikif']['details']; if ($_SESSION['wikif']['list']) $result=$_SESSION['wikif']['list']; else $result=w_Search($mot,"0"); if (!$result) { message ("La recherche ne donne pas de résultats"); form_wikif($mot,$com,$pluriel); return false; } if (!$com) { $com='Wikification de "' .$mot . '"'; $_SESSION['wikif']['com']=$com; } // haut print(" <form method='post' action='index.php'> <div class='vikidiv100'> <center> <b>Wikifier $mot</b><br>Liste des pages concernées "); if (isset($details)) print ("<button value='details' name='wikif' type='submit'>Cacher les détails</button>"); else print ("<button value='details' name='wikif' type='submit'>Voir les détails (lent)</button>"); print("<br> <table border='1'><tbody><tr> "); // liste $n=0; $ligne=0; $i=0; if (isset($details)) $colomns=1; else $colomns=3; while (isset($result[$n])) { if ($line==$colomns) { $line=0; print ("</tr><tr>"); } $chkbox='<td>'.$result[$n].'</td><td><input name="select[]" value="' . $result[$n] . '" type="checkbox"'; print ("$chkbox"); switch ($mode) { case 0: print (" checked='checked'"); break; case 1: break; case 2: if (isset($_POST['select'][$i]) && $_POST['select'][$i]==$result[$n]) $i++; else print (" checked='checked'"); break; case 3: if ($_SESSION['wikif']['details'][$n]) print (" checked='checked'"); break; case 4: if (isset($_POST['select'][$i]) && $_POST['select'][$i]==$result[$n]) { $i++; print (" checked='checked'"); } break; } print ("></td>"); if (isset($details)) print ("<td>$details[$n]</td>"); $n++; $line++; } // bas print (" </tr> </tbody></table> <p> Sélection : <button value='allart' name='wikif' type='submit'>Tous</button> <button value='noart' name='wikif' type='submit'>Aucun</button> <button value='invart' name='wikif' type='submit'>Inverser</button></p> <p>Commentaire d'édition : $com</p> </center> <div style='text-align: center;'><button value='wikif' name='wikif' style='width:40%;' type='submit'> <img src='images/actions/go.png' align='left'><font color=#0000AA><b>Wikifier</b></font></button> <button value='correction' name='wikif' style='width:40%;' type='submit'> <img src='images/actions/edit-clear.png' align='left' type='submit'>Corriger</button></div> </div></form> "); return $result; } function form_verif_image($from='',$nbr=500,$flag=15,$jours=0,$heures=0) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Maintenance des images</b></center><br> <table style='width:100%;'> <tbody> <tr> <td>Commencer à <br>(<i>exemple, télévision<i>) :</td><td><input name='from' value='$from' style='width:100%;'></td> <td>Nombre d'images (1 - 500) :</td><td><input name='nbr' value=$nbr></td> </tr> <tr> <td colspan='2'>Limiter aux importations récentes :</td>"); form_rc($jours,$heures); //<td><input name='jours' value=$jours> jour(s)</td><td><input name='heures' value=$heures> heure(s)</td> print("</tr> <tr> <td colspan='4' align=center><b>Opérations à effectuer</b></td> </tr> <tr> <td><label>Mettre bandeau mise en forme<input name='chmef' value=1 type='checkbox'"); if ($flag&1) print("checked='checked'"); print ("></label></td> <td><label>Vérifier licence<input name='chlicence' value=2 type='checkbox'"); if ($flag&2) print("checked='checked'"); print ("></label></td> <td><label>Vérifier source<input name='chsource' value=4 type='checkbox'"); if ($flag&4) print("checked='checked'"); print ("></label></td> <td><label>Vérifier catégorie<input name='chcat' value=8 type='checkbox'"); if ($flag&8) print("checked='checked'"); print ("></label></td> </tr> <tr><td></td><td></td><td></td><td><button value='mif' name='mif' type='submit'> <img src='images/actions/go.png' align=left><font color=#0000AA>Vérifier les images</font></button></td> </tbody> </table> </div></form>"); } function form_inter($from='',$nbr=500,$jours=0,$heures=0) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Maintenance des liens Interwiki</b></center><br> <table style='width:100%;'> <tbody> <tr> <td>Commencer à <br>(<i>exemple, lapin<i>) :</td><td><input name='from' value='$from' style='width:100%;'></td> </tr> <td>Nombre d'articles (1 - 500) :</td><td><input name='nbr' value='$nbr'></td> </tr> <tr> <td>Limiter aux créations récentes :</td>"); //<td><input name='jours' value=$jours> jour(s)<input name='heures' value=$heures> heure(s)</td> form_rc($jours,$heures,true); print("</tr> <tr><td></td><td><button value='inter' name='inter' type='submit'> <img src='images/actions/go.png' align=left><font color=#0000AA>Vérifier les liens</font></button></td> </tbody> </table> </div></form>"); } function form_typo($from='',$nbr=500,$flag=15,$jours=0,$heures=0) { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Maintenance des articles : typographie</b></center><br> <table style='width:100%;'> <tbody> <tr> <td>Commencer à <br>(<i>exemple, télévision<i>) :</td><td><input name='from' value='$from' style='width:100%;'></td> <td>Nombre d'articles (1 - 500) :</td><td><input name='nbr' value=$nbr></td> </tr> <tr> <td colspan='2'>Limiter aux changements récents :</td>"); form_rc($jours,$heures); //<td><input name='jours' value=$jours> jour(s)</td><td><input name='heures' value=$heures> heure(s)</td> print(" </tr> <tr> <td colspan='4' align=center><b>Typographie à vérifier</b></td> </tr> <tr> <td><label>Vérifier la ponctuation et les espaces<input name='chpon' value=1 type='checkbox'"); if ($flag&1) print("checked='checked'"); print ("></label></td> <td><label>Remplacer les guillemets<input name='chgui' value=2 type='checkbox'"); if ($flag&2) print("checked='checked'"); print ("></label></td> <td><label>Remplacer les tirets<input name='chtir' value=4 type='checkbox'"); if ($flag&4) print("checked='checked'"); print ("></label></td> <td><label>Limiter aux créations récentes<input name='chmod' value=8 type='checkbox'"); if ($flag&8) print("checked='checked'"); print ("></label></td> </tr> <tr><td></td><td></td><td></td><td><button value='typo' name='typo' type='submit'> <img src='images/actions/go.png' align=left><font color=#0000AA>Vérifier la typographie</font></button></td> </tbody> </table> </div></form>"); } // formulaire maintenance cat function form_cato($from='',$nbr=500,$flag=15,$jours=0,$heures=0,$categ='') { print("<form method='post' action='index.php'> <div class='vikidiv'> <center><b>Maintenance des articles : catégorie</b></center><br> <table style='width:100%;'> <tbody> <tr> <td>Commencer à <br>(<i>exemple, télévision<i>) :</td><td><input name='from' value='$from' style='width:100%;'></td> <td>Nombre d'articles (1 - 500) :</td><td><input name='nbr' value=$nbr></td> </tr> <tr> <td colspan='2'>Limiter à la catégorie (<i>exemple, Mammifère<i>) :</td> <td colspan='2'><input name='categ' value='$categ' style='width:100%;'></td> </tr> <tr> <td colspan='2'>Limiter aux changements récents :</td>"); form_rc($jours,$heures); print("</tr> <tr> <td colspan='4' align=center><b>Catégories à vérifier</b></td> </tr> <tr> <td><label>Ajouter<br><i>Article à illustrer</i><input name='illplus' value=1 type='checkbox'"); if ($flag&1) print("checked='checked'"); print ("></label></td> <td><label>Enlever<br><i>Article à illustrer</i><input name='illmoins' value=2 type='checkbox'"); if ($flag&2) print("checked='checked'"); print ("></label></td> <td><label>Ajouter<br><i>Illustration manquante</i><input name='missplus' value=4 type='checkbox'"); if ($flag&4) print("checked='checked'"); print ("></label></td> <td><label>Enlever<br><i>Illustration manquante</i><input name='missmoins' value=8 type='checkbox'"); if ($flag&8) print("checked='checked'"); print ("></label></td> </tr> <tr><td></td><td></td><td></td><td><button value='cato' name='cato' type='submit'> <img src='images/actions/go.png' align=left><font color=#0000AA>Maintenir les catégories</font></button></td> </tbody> </table> </div></form>"); } // pour modifs récentes function form_rc($jours,$heures,$span=false) { $n=0; print ("<td>Jours : <select name='jours'>"); while ($n<16) { if ($n==$jours) print ("<option selected='selected'>$n</option>"); else print ("<option>$n</option>"); $n++; } if ($span) print ("</select> "); else print ("</select></td><td>"); $n=0; print ("Heures : <select name='heures'>"); while ($n<24) { if ($n==$heures) print ("<option selected='selected'>$n</option>"); else print ("<option>$n</option>"); $n++; } print ("</select></td>"); //"<td><input name='jours' value=$jours> jour(s)</td><td><input name='heures' value=$heures> heure(s)</td>" } // fonction utiles function form_test() { print(" <div class='vikidiv'> <center><b>Connexions des serveurs</b></center><br> <center> <table style='width:80%;' border='2'> <tbody> <tr><th>Site (page d'accueil)</th><th>Temps de chargement</th></tr> <tr><td><a href='http://fr.vikidia.org/index.php/Accueil' target=_blank>Vikidia</a></td><td><p id='url1' align='right'>###</p></td></tr> <tr><td><a href='http://commons.wikimedia.org/wiki/Main_Page' target=_blank>Commons</a></td><td><p id='url2' align='right'>###</p></td></tr> <tr><td><a href='http://fr.wikipedia.org/wiki/Accueil' target=_blank>Wikipédia</a></td><td><p id='url3' align='right'>###</p></td></tr> <tr><td><a href='http://kennisnet.wikia.com/wikikids/wiki/Hoofdpagina' target=_blank>Wikikids</a></td><td><p id='url4' align='right'>###</p></td></tr> </tbody> </table> </center> </div>"); flush(); @ob_flush(); // changer vikidia get_url_time("http://fr.vikidia.org/index.php/Accueil","url1"); get_url_time("http://commons.wikimedia.org/wiki/Main_Page","url2"); get_url_time("http://fr.wikipedia.org/wiki/Accueil","url3"); get_url_time("http://kennisnet.wikia.com/wikikids/wiki/Hoofdpagina","url4"); } // appeler une page et mesurer le temps function get_url_time($url,$id) { $start=microtime(true); $result=w_Curl($url); if (!$result) print ("<script type='text/javascript'>chgp('$id','(erreur)')</script>"); else { $time=round (microtime(true)-$start,1); $time=str_replace (".",",",$time); print ("<script type='text/javascript'>chgp('$id','$time seconde(s)')</script>"); } flush(); @ob_flush(); } // Affichage d'une erreur function message($msg,$importance=0) { switch ($importance) { // warning case 0: print('<div class="divwarn"><img src="images/actions/dialog-warning.png" align="left">'); break; // erreur case 1: print('<div class="divfatal"><img src="images/actions/dialog-error.png" align="left">'); break; // ok case 2: print('<div class="divok"><img src="images/actions/dialog-information.png" align="left">'); break; default: print('<div>'); break; } print("<center><b>$msg</b></center></div>"); } //écrire sous forme de log function dateprint($text) { $date=date("H:i:s"); print ("$date $text<br>"); } //éliminer les \ dans une sélection function antislash($select) { $n=0; while (isset($select[$n])) { $select[$n]=stripslashes($select[$n]); $n++; } return $select; } //Filtrer une catégorie (éliminer users et catégorie) function FilterCat ($list) { $n=0; $i=0; $newlist=false; while (isset($list[$n])) { // tester si cat if (strncasecmp("Catégorie:",$list[$n],10)==0) { $newlist[$i]=substr($list[$n],11,255); $i++; } $n++; } return $newlist; } // Filtrer utilisateur function FilterUser($user) { // tester si user if (strncasecmp("Utilisateur:",$user,12)==0) { $new=substr($user,12,255); $slash=strpos($user,'/'); // pas de sous-page ! if (is_int($slash)) $new=false; return $new; } return false; } // traduire les mois function GetMois($mois) { switch ($mois) { case "January": return "janvier"; case "February": return "février"; case "March": return "mars"; case "April": return "avril"; case "May": return "mai"; case "June": return "juin"; case "July": return "juillet"; case "August": return "août"; case "September": return "septembre"; case "October": return "octobre"; case "November": return "novembre"; case "December": return "décembre"; default: return "mois inconnu"; } } ?>