[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-synchro/var/www/se3/unison/ -> synchro.php (source)

   1  <?php
   2  
   3     /**
   4     
   5     * Configure la synchro unison
   6     * @Version $Id: synchro.php 8572 2015-03-15 14:47:16Z plouf $ 
   7     
   8     * @Projet LCS / SambaEdu 
   9     
  10     * @auteurs Denis Bonnenfant
  11  
  12     * @Licence Distribue selon les termes de la licence GPL
  13     
  14     * @note 
  15     
  16     */
  17  
  18     /**
  19  
  20     * @Repertoire: /unison
  21     * file: synchro.php
  22  
  23    */    
  24  
  25  
  26  require("entete.inc.php");
  27  require  ("ihm.inc.php");
  28  
  29  require_once  ("lang.inc.php");
  30  require_once  ("ldap.inc.php");
  31  bindtextdomain('se3-infos',"/var/www/se3/locale");
  32  textdomain ('se3-infos');
  33  
  34  
  35  
  36  function modif_loginshell ($uid,$shell) {
  37  
  38  
  39      /**
  40      * Modifie le shell d'un utilisateur
  41  
  42      * @Parametres $uid - Le nom 
  43      * @Parametres $shell - La valeur a rentrer, si entree vide on met /bin/true
  44      * @Return Retourne 1 ou 0 si pas d'erreur
  45      */
  46  
  47        global $ldap_server, $ldap_port, $dn, $defaultshell;
  48        global $error;
  49      
  50      if($defaultshell=="/bin/true") {        
  51          $ds = @ldap_connect ( $ldap_server, $ldap_port );
  52            if ( $ds ) {
  53                 $adminLdap=get_infos_admin_ldap2();
  54              $r=@ldap_bind($ds,$adminLdap["adminDn"],$adminLdap["adminPw"]); // Bind admin LDAP
  55              if ($r) {
  56                  $uid_entree="uid=$uid,".$dn["people"];
  57                  $mod_shell=array();
  58                  $mod_shell["loginshell"][0]=$shell;
  59                  $result = ldap_modify ( $ds, $uid_entree, $mod_shell );
  60              }
  61              @ldap_close($ds);
  62            }
  63      }
  64  }
  65  
  66  //aide 
  67  $_SESSION["pageaide"]="Synchro";
  68  
  69  if (( is_admin("system_is_admin",$login)!="Y") && ( is_admin("unison_users",$login)!="Y"))
  70       die ("<h1>Synchronisation</h1><br>".gettext("Vous n'avez pas les droits suffisants pour acc&#233;der &#224; cette fonction")."</BODY></HTML>");
  71  
  72  $activer = $_POST['activer'];
  73  $docs = $_POST['docs'];
  74  $classe = $_POST['classe'];
  75  $valider = $_POST['valider'];
  76  $eleves = $_POST['eleves'];
  77  $groupe = $_POST['groupe'];
  78  
  79  if (isset($valider)) {
  80  if ("$activer" =="1") {
  81          echo "<H4>".gettext("creation de l'installeur pour $login.<br> Un fichier unison_$login.zip est cr�� dans k:\Docs. Copiez ce fichier sur votre disque externe ou votre portable, d�zippez-le, puis lancez setup.exe")."</H4>";
  82          modif_loginshell($login,"/usr/bin/scponly");
  83          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_keys.sh $login"); 
  84  }
  85  if ("$docs" == "1") {
  86          echo "<H4>".gettext("activation de la synchro de K:\Docs")."</H4>";
  87          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -d $login");
  88  }
  89  if ("$classe" == "1") {
  90          echo "<H4>".gettext("activation de la synchro de vos classes")."</H4>";
  91          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -c $login"); 
  92  }
  93  if ("$classe" == "2") {
  94          echo "<H4>".gettext("activation de la synchro de vos classes avec les r�pertoires �l�ves")."</H4>";
  95          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -e $login"); 
  96  }
  97  if ("$docs" == "x") {
  98          echo "<H4>".gettext("Desactivation de la synchro de K:\Docs")."</H4>";
  99          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -k $login");
 100  }
 101  if ("$classe" == "x") {
 102          echo "<H4>".gettext("Desactivation de la synchro de vos classes")."</H4>";
 103          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -x $login"); 
 104  }
 105  if ("$groupe" == "x") {
 106          echo "<H4>".gettext("Desactivation de la synchro de vos groupes")."</H4>";
 107          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -q $login"); 
 108  }
 109  if ("$groupe" == "1") {
 110          echo "<H4>".gettext("Activation de la synchro de vos groupes")."</H4>";
 111          exec("/usr/bin/sudo /usr/share/se3/scripts/unison_links.sh -p $login"); 
 112  }
 113  
 114      
 115  require("pdp.inc.php");
 116  }
 117  ?>
 118  <H1>Synchronisation des dossiers</H1>
 119  
 120  <form method="post" name='synchro' action="synchro.php">
 121  <table width='80%'>
 122  <tr>
 123   <td><h3>Activer la synchronisation :<br>(cr&#233;ation de l'installeur<br> et g&#233;n&#233;ration d'une nouvelle cl&#233; d'authentification)<br>
 124    </h3>
 125   </td>
 126   <td><input type='radio' name='activer' value=1 ></td>
 127  </tr>
 128  
 129  
 130  <tr><th align="left"><h3>Choisir les dossiers :</h3></th></tr>
 131   <tr><td>Mes Documents (K:\Docs) <br><br></td>
 132  <?php
 133   system("[ -L /var/se3/synchro/$login/Docs ]", $test);
 134   if ("$test" == "0"){
 135       echo " <td>Desactiver la synchro <input type='radio' name='docs' value='x' ></td></tr>";
 136   } else {
 137       echo " <td>activer la synchro <input type='radio' name='docs' value=1 ></td></tr>";
 138   }
 139  ?>        
 140  <tr><td>Classes <h3>( attention, le volume de donn&#233;es peut &#234;tre tr&#233;s important)</h3></td>       
 141  <?php
 142  system("[ -d /var/se3/synchro/$login/Classes ]", $test);
 143  if ("$test" == "0") {
 144      echo " <td> Desactiver la synchro <input type='radio' name='classe' value='x' ></td></tr>";
 145  } else {
 146      if (are_you_in_group($login, profs)) {
 147           echo "<td>Activer la synchro <input type='radio' name='classe' value=1 >Classes sans &#233;l&#232;ves
 148  <input type='radio' name='classe' value=2 >Classes avec &#233;l&#232;ves</td></tr>";
 149      } else {
 150          echo "<td>Activer la synchro<input type='radio' name='classe' value=1 ></td></tr>";
 151      }
 152  }
 153  ?>
 154  <tr><td>Groupes de Projets</td>       
 155  <?php
 156  system("[ -d /var/se3/synchro/$login/Groupes ]", $test);
 157  if ("$test" == "0") {
 158      echo " <td>Desactiver la synchro <input type='radio' name='groupe' value='x' ></td></tr>";
 159  } else {
 160      echo "<td>Activer la synchro <input type='radio' name='groupe' value=1 ></td></tr>";
 161  }
 162  ?>
 163  <tr><br><br><th align="left"><h3>Valider</h3></th>
 164  <td><input type='submit' name='valider' value='Valider'> </td>
 165  </tr></table></form>
 166  <?php
 167      require ("pdp.inc.php");
 168  ?>


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