[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/mozilla_profiles/ -> thunderbird.php (source)

   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&#233;der &#224; 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&#233;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&#233;ployer les profils dans tous les espaces personnels existants")."</OPTION>\n";}
  75      else {$form .= "<OPTION VALUE='deploy_all'>".gettext("D&#233;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&#233;ployer les profils dans certains espaces personnels")." </OPTION>\n";}
  78      else {$form .= "<OPTION VALUE='deploy_grp'>".gettext("D&#233;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&#233;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&#234;me s'ils contiennent des donn&#233;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&#233;faut les profils contenant des donn&#233;es sont ignor&#233;s, mais si vous le d&#233;sirez, vous pouvez forcer leur ecrasement. <br>Une sauvegarde sera alors effectue&#233; dans le r&#233;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&#233;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&#233;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&#233;ploiement du profil Mozilla thunderbird dans les espaces personnels existants :")."</h4>";
 132          echo "<h4>".gettext("La requ&#234;te sera lanc&#233;e en arri&#232;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&#233;ploiement du profil Mozilla thunderbird dans les espaces personnels s&#233;lectionn&#233;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&#234;te sera lanc&#233;e en arri&#232;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&#233;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  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1