[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 5 * Deploiement et modification des profils thunderbird des postes clients 6 * @Version $Id: thunderbird.php 8558 2015-03-15 13:04:49Z plouf $ 7 8 9 * @Projet LCS / SambaEdu 10 11 * @auteurs franck.molle@ac-rouen.fr 12 13 * @Licence Distribue selon les termes de la licence GPL 14 15 * @note 16 17 */ 18 19 /** 20 21 * @Repertoire: mozilla_profiles 22 * file: thunderbird.php 23 24 */ 25 26 27 28 require("entete.inc.php"); 29 30 //Verification existence utilisateur dans l'annuaire 31 require("config.inc.php"); 32 require ("ldap.inc.php"); 33 34 //permet l'autehtification is_admin 35 require("ihm.inc.php"); 36 require_once ("lang.inc.php"); 37 bindtextdomain('se3-mozilla',"/var/www/se3/locale"); 38 textdomain ('se3-mozilla'); 39 40 //AUTHENTIFICATION 41 if (is_admin("computer_is_admin",$login)!="Y") 42 die (gettext("Vous n'avez pas les droits suffisants pour accéder à cette fonction")."</BODY></HTML>"); 43 44 //aide 45 $_SESSION["pageaide"]="Gestion_Mozilla#Mozilla_Thunderbird"; 46 47 48 $choix=$_POST['choix']; 49 $config=$_GET['config']; 50 $autres_gr=$_POST['autres_gr']; 51 $classe_gr=$_POST['classe_gr']; 52 $equipe_gr=$_POST['equipe_gr']; 53 $home=$_POST['home']; 54 $page_dem=$_POST['page_dem']; 55 $user=$_POST['user']; 56 57 $option=isset($_POST['option']) ? $_POST['option'] : ""; 58 59 60 // Titre 61 echo "<h1>".gettext("Déploiement mozilla thunderbird")."</h1>\n"; 62 63 64 //EVALUE SI UNE SAISIE A ETE EFFECTUEE : 65 if ($config==""||$config=="init") { 66 67 68 $form = "<form action=\"thunderbird.php?config=init\" method=\"post\">\n"; 69 // Form de selection d'actions 70 $form .="<H3>".gettext("Deploiement des profils Mozilla Thunderbird :")." </H3>\n"; 71 $form .= "<SELECT name=\"choix\" onchange=submit()>\n"; 72 $form .= "<OPTION VALUE='choix'>-----------------------------".gettext(" Choisir ")."---------------------------------</OPTION>\n"; 73 74 if($choix=="deploy_all") {$form .= "<OPTION SELECTED VALUE='deploy_all'>".gettext("Déployer les profils dans tous les espaces personnels existants")."</OPTION>\n";} 75 else {$form .= "<OPTION VALUE='deploy_all'>".gettext("Déployer les profils dans tous les espaces personnels existants")."</OPTION>\n";} 76 77 if($choix=="deploy_grp") {$form .= "<OPTION SELECTED VALUE='deploy_all'>".gettext("Déployer les profils dans certains espaces personnels")." </OPTION>\n";} 78 else {$form .= "<OPTION VALUE='deploy_grp'>".gettext("Déployer les profils dans certains espaces personnels")." </OPTION>\n";} 79 80 81 $form .= "</SELECT>\n"; 82 $form.="</form>\n"; 83 echo $form; 84 echo "<br>"; 85 86 87 if($choix=="deploy_grp") { 88 echo "<form action=\"thunderbird.php?config=suite\" name=\"form2\" method=\"post\">\n"; 89 echo "<input type=\"hidden\" name=\"choix\" value=\"deploy_grp\">"; 90 91 // Etablissement des listes des groupes disponibles 92 affiche_all_groups(left, user); 93 94 // echo "<h3>Nouvelle page de démarrage pour Mozilla thunderbird : </h3><INPUT TYPE=\"TEXT\" NAME=\"page_dem\" size=50><br><br>"; 95 // 96 97 echo " 98 <h3>".gettext("Ecraser les profils Thunderbird même s'ils contiennent des données ?")." </h3> 99 <INPUT TYPE=\"RADIO\" NAME=\"option\" value=\"force_move\" >".gettext(" Oui ")."<br> 100 <INPUT TYPE=\"RADIO\" NAME=\"option\" value=\"no_force\" checked >".gettext(" Non ")."<BR><BR>"; 101 102 echo gettext("Par défaut les profils contenant des données sont ignorés, mais si vous le désirez, vous pouvez forcer leur ecrasement. <br>Une sauvegarde sera alors effectueé dans le répertoire profil/appdata de l'espace personnel de l'utilisateur")."<br><br>"; 103 104 echo "<input type=\"submit\" value=\"".gettext("valider")."\"> 105 <input type=\"reset\" value=\"".gettext("Réinitialiser")."\">"; 106 107 //echo "<input type=\"text\" name=\"choix\" value=\"$choix\" size=\"30\" />"; 108 109 echo "</form>"; 110 111 } 112 elseif($choix=="deploy_all") 113 { 114 echo "<form action=\"thunderbird.php?config=suite \" name=\"form2\" method=\"post\">\n"; 115 echo "<input type=\"hidden\" name=\"choix\" value=\"deploy_all\">"; 116 echo "<div align='left'><input type=\"submit\" value=\"".gettext("valider")."\"> 117 <input type=\"reset\" value=\"".gettext("Réinitialiser")."\"></div>"; 118 echo "</form>"; 119 } 120 121 122 } else { 123 124 $nomscript=date("Y_m_d_H_i_s"); 125 $nomscript="tmp_thunderbird_$nomscript.sh"; 126 $nbr_user=0; 127 system ("echo \"#!/bin/bash\n\" > /tmp/$nomscript"); 128 129 130 if($choix=="deploy_all") { 131 echo "<h4>".gettext("Redéploiement du profil Mozilla thunderbird dans les espaces personnels existants :")."</h4>"; 132 echo "<h4>".gettext("La requête sera lancée en arrière-plan dans une minute")."</h4>"; 133 system("echo \"sudo /usr/share/se3/scripts/deploy_mozilla_tb_final.sh all \n\" >> /tmp/$nomscript"); 134 system("echo \"rm -f /tmp/$nomscript \n\" >> /tmp/$nomscript"); 135 chmod ("/tmp/$nomscript",0700); 136 exec("at -f /tmp/$nomscript now + 1 minute"); 137 } elseif($choix=="deploy_grp") { 138 echo "<h4>".gettext("Redéploiement du profil Mozilla thunderbird dans les espaces personnels sélectionnés :")." </h4>"; 139 //On change la page pour les groupe ou le user selectionne 140 if (count($classe_gr) ) { 141 foreach ($classe_gr as $grp){ 142 $uids = search_uids ("(cn=".$grp.")"); 143 $people = search_people_groups ($uids,"(sn=*)","cat"); 144 $nbr_user=$nbr_user+count($people); 145 echo gettext("Groupe Classe")." <A href=\"/annu/group.php?filter=$grp\">$grp</A> <br>"; 146 system("echo \"sudo /usr/share/se3/scripts/deploy_mozilla_tb_final.sh $grp $option \n\" >> /tmp/$nomscript"); 147 } 148 } 149 150 if (count($equipe_gr) ) { 151 foreach ($equipe_gr as $grp){ 152 $uids = search_uids ("(cn=".$grp.")"); 153 $people = search_people_groups ($uids,"(sn=*)","cat"); 154 $nbr_user=$nbr_user+count($people); 155 echo gettext("Groupe Equipe")." <A href=\"/annu/group.php?filter=$grp\">$grp</A> <br>"; 156 157 system("echo \"sudo /usr/share/se3/scripts/deploy_mozilla_tb_final.sh $grp $option \n\" >> /tmp/$nomscript"); 158 } 159 } 160 if (count($autres_gr) ) { 161 foreach ($autres_gr as $grp){ 162 echo gettext("Groupe")."<A href=\"/annu/group.php?filter=$grp\">$grp</A> <br>"; 163 $uids = search_uids ("(cn=".$grp.")"); 164 $people = search_people_groups ($uids,"(sn=*)","cat"); 165 $nbr_user=$nbr_user+count($people); 166 system("echo \"sudo /usr/share/se3/scripts/deploy_mozilla_tb_final.sh $grp $option \n\" >> /tmp/$nomscript"); 167 } 168 } 169 170 //teste si utilisateur saisi pour recherche dans ldap 171 if ($user!="") 172 { 173 //recherche dans ldap si $user est valide 174 $tabresult=search_people("uid=$user"); 175 if(count($tabresult)!=0) { 176 //echo "- L'utilisateur $user <br>"; 177 $nbr_user=$nbr_user+1; 178 system("echo \"sudo /usr/share/se3/scripts/deploy_mozilla_tb_final.sh $user $option \n\" >> /tmp/$nomscript"); 179 } else { 180 echo "<h4>".gettext("Erreur,")." \"$user\" ".gettext("n'existe pas !")."<h4>"; 181 } 182 } 183 184 //le script se supprime a la fin de son exec 185 system("echo \"rm -f /tmp/$nomscript \n\" >> /tmp/$nomscript"); 186 chmod ("/tmp/$nomscript",0700); 187 188 if($nbr_user>20){ 189 //execution differee d'une minute pour ne pas attendre la page trop longtemps 190 echo "<h4>".gettext("La requête sera lancée en arrière-plan dans une minute")."</h4>"; 191 exec("at -f /tmp/$nomscript now + 1 minute"); 192 #========================================================================= 193 # Ajout: Creation du fichier d'information. 194 # Il est modifie par la suite par le script /usr/share/se3/scripts/deploy_mozilla_tb_final.sh 195 # Il faut que le dossier /var/www/se3/tmp existe et que www-se3 ait le droit d'y ecrire. 196 $fichier_info=fopen('/var/www/se3/tmp/recopie_profils_thunderbird.html','w+'); 197 fwrite($fichier_info,'<html> 198 <meta http-equiv="refresh" content="2"> 199 <html> 200 <body> 201 <h1 align="center">Traitement des profils</h1> 202 <p align="center">Le traitement va démarrer dans la minute qui vient...<br></p> 203 </body> 204 </html>'); 205 fclose($fichier_info); 206 207 # Ouverture d'une fenetre popup: 208 echo "\n<script language=\"JavaScript\">\nwindow.open('../tmp/recopie_profils_thunderbird.html','".gettext("Suivi_recopie_profils_Thunderbird")."','width=300,height=200,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');\n</script>\n"; 209 #========================================================================= 210 211 } 212 else { 213 //execution immediate du script 214 system("/tmp/$nomscript"); 215 } 216 217 } 218 219 } 220 include("pdp.inc.php"); 221 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |