[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Interface de gestion des acl 7 * @Version $Id: visuacls.php 8553 2015-03-15 12:36:03Z plouf $ 8 9 10 * @Projet LCS / SambaEdu 11 12 * @auteurs Equipe Tice academie de Caen 13 14 * @Licence Distribue selon les termes de la licence GPL 15 16 * @note 17 18 */ 19 20 /** 21 22 * @Repertoire: acls 23 * file: visuacls.php 24 25 */ 26 27 28 include "entete.inc.php"; 29 include "ihm.inc.php"; 30 include "ldap.inc.php"; 31 32 require_once ("lang.inc.php"); 33 bindtextdomain('se3-acls',"/var/www/se3/locale"); 34 textdomain ('se3-acls'); 35 36 37 if (is_admin("se3_is_admin",$login)=="Y") { 38 39 // Aide 40 $_SESSION["pageaide"]="ACL#En_utilisant_l.27interface_SambaEdu"; 41 42 $repertoire=isset($_POST['repertoire']) ? $_POST['repertoire'] : (isset($_GET['repertoire']) ? $_GET['repertoire'] : ""); 43 44 $type_fich=isset($_POST['type_fich']) ? $_POST['type_fich'] : (isset($_GET['type_fich']) ? $_GET['type_fich'] : ""); 45 46 $noms=isset($_POST['noms']) ? $_POST['noms'] : ""; 47 $propagation=isset($_POST['propagation']) ? $_POST['propagation'] : ""; 48 $choix=isset($_POST['choix']) ? $_POST['choix'] : ""; 49 $nouveau=isset($_POST['nouveau']) ? $_POST['nouveau'] : ""; 50 $nomformulaire=isset($_POST['nomformulaire']) ? $_POST['nomformulaire'] : array(); 51 $valide=isset($_POST['valide']) ? $_POST['valide'] : NULL; 52 $nouveaulecture=isset($_POST['nouveaulecture']) ? $_POST['nouveaulecture'] : ""; 53 $nouveauecriture=isset($_POST['nouveauecriture']) ? $_POST['nouveauecriture'] : ""; 54 $nouveauexecution=isset($_POST['nouveauexecution']) ? $_POST['nouveauexecution'] : ""; 55 $nouveauheritage=isset($_POST['nouveauheritage']) ? $_POST['nouveauheritage'] : ""; 56 57 58 if (isset($valide)) { 59 $nom = explode (",",$noms); 60 $valeur = 0; 61 62 if ($propagation == "oui") $propagation="-R"; 63 64 for ($loop=0; $loop < count ($nom) ; $loop++){ 65 $tri=explode (" ",$nom[$loop]); 66 if ($nomformulaire[$valeur]== "oui") $lecture="r"; 67 else $lecture="-"; 68 $valeur = $valeur + 1; 69 if ($nomformulaire[$valeur]== "oui") $ecriture="w"; 70 else $ecriture="-"; 71 $valeur = $valeur + 1; 72 if ($nomformulaire[$valeur]== "oui") $execution="x"; 73 else $execution="-"; 74 $valeur = $valeur + 1; 75 76 if ($tri[0] != "Heritage") { 77 $defaut="non"; 78 if ($tri[0]=="Utilisateur") $type="u"; 79 elseif ($tri[0]=="Groupe") $type="g"; 80 elseif ($tri[0]=="Autres") $type="o"; 81 elseif ($tri[0]=="Proprietaire") $type="u"; 82 if ($nomformulaire[$valeur]== "oui") $effacer="eff"; 83 else $effacer="-m"; 84 $valeur = $valeur + 1; 85 $nom1 = $tri[1]; 86 if ($tri[0]=="Autres" || $tri[0] == "Proprietaire" || $tri[1] == "proprietaire") { 87 $nom1="x"; 88 } 89 exec ("/usr/bin/sudo /usr/share/se3/scripts/acls.sh $effacer $type $nom1 $lecture $ecriture $execution \"$repertoire\" $defaut $propagation"); 90 91 } 92 93 if ($tri[0] == "Heritage") { 94 $defaut = "oui"; 95 if ($tri[1]=="utilisateur") $type="u"; 96 elseif ($tri[1]=="groupe") $type="g"; 97 elseif ($tri[1]=="autres") $type="o"; 98 elseif ($tri[1]=="proprietaire") $type="u"; 99 if ($nomformulaire[$valeur]== "oui") $effacer="effd"; 100 else $effacer="-m"; 101 $valeur = $valeur + 1; 102 $nom1 = $tri[2]; 103 if ($tri[1]=="autres" || $tri[1] == "proprietaire" || $tri[2] == "proprietaire") { 104 $nom1="x"; 105 } 106 exec ("/usr/bin/sudo /usr/share/se3/scripts/acls.sh $effacer $type $nom1 $lecture $ecriture $execution \"$repertoire\" $defaut $propagation"); 107 } 108 109 }//for ($loop=0; $loop < count ($nom) ; $loop++){ 110 111 if ($nouveau != "") { 112 $defaut = "non"; 113 $effacer="-m"; 114 if ($nouveaulecture == "oui") $lecture = "r"; 115 else $lecture="-"; 116 if ($nouveauecriture == "oui") $ecriture="w"; 117 else $ecriture="-"; 118 if ($nouveauexecution == "oui") $execution="x"; 119 else $execution="-"; 120 $type=$choix; 121 $nom1=$nouveau; 122 exec ("/usr/bin/sudo /usr/share/se3/scripts/acls.sh $effacer $type $nom1 $lecture $ecriture $execution \"$repertoire\" $defaut $propagation"); 123 if ( $nouveauheritage == "oui") { 124 $defaut = "oui"; 125 exec ("/usr/bin/sudo /usr/share/se3/scripts/acls.sh $effacer $type $nom1 $lecture $ecriture $execution \"$repertoire\" $defaut $propagation"); 126 } 127 } 128 echo "<H1>".gettext("Attribution d'acls")."</H1><P>\n"; 129 echo gettext(" Les acls sont maintenant :")." <p>"; 130 131 } 132 133 exec ("/usr/bin/sudo /usr/share/se3/scripts/getfacl.sh \"$repertoire\""); 134 $acl = file("/tmp/test.tmp"); 135 $a = 0; 136 if (!isset($valide)) { 137 echo "<H1>".gettext("Attribution d'acls")."</H1><P>"; 138 echo gettext("Acls du répertoire")." $repertoire"; 139 echo "<form name=\"visu\" action=\"visuacls.php\" method=\"post\">\n"; 140 } 141 echo "<table border=\"0\" cellspacing=\"\"> 142 <thead> 143 <tr> 144 <B><td>".gettext("Noms")."</td> 145 <td>".gettext("Lecture")."</td> 146 <td>".gettext("Ecriture")."</td> 147 <td>".gettext("Exécution")."</td>\n"; 148 if (!isset($valide)) { 149 echo "<td>".gettext("Supprimer")."</td>\n"; 150 } 151 echo "</B></tr> 152 </thead> 153 <tbody><tr>\n"; 154 155 $boucle = count ($acl) - 1; 156 for ($loop=1 ;$loop < $boucle; $loop++) { 157 158 $test=explode(":",$acl[$loop]); 159 160 for ($i=0 ; $i < count ($test) ; $i++) { 161 $test[$i]=trim($test[$i]); 162 } 163 164 if ( ! ($test[0]=="# owner" || $test[0]=="# group" || $test[0]=="mask" || ($test[0]=="default"&&$test[1]=="mask"))) { 165 echo "<td valign=\"top\">\n"; 166 } 167 168 if ($test[0]=="# owner") { 169 $proprio=$test[1]; 170 } 171 if ($test[0]=="# group") { 172 $groupeproprio=$test[1]; 173 } 174 if ($test[0]=="other") { 175 $nom[$loop]="Autres"; 176 echo "$nom[$loop]"; 177 $lecture=substr($test[2],0,1); 178 $ecriture=substr($test[2],-2,1); 179 $execution=substr($test[2],-1); 180 } 181 if ($test[0]=="user") { 182 if ($test[1]!= "") { 183 $nom[$loop]="Utilisateur ".$test[1]; 184 echo "$nom[$loop]"; 185 $lecture=substr($test[2],0,1); 186 $ecriture=substr($test[2],-2,1); 187 $execution=substr($test[2],-1); 188 } 189 if ($test[1] == "") { 190 $nom[$loop]="Proprietaire ".$proprio; 191 echo "$nom[$loop]"; 192 $lecture=substr($test[2],0,1); 193 $ecriture=substr($test[2],-2,1); 194 $execution=substr($test[2],-1); 195 } 196 } 197 if ($test[0]=="group") { 198 if ($test[1]!= "") { 199 $nom[$loop]="Groupe ".$test[1]; 200 echo "$nom[$loop]"; 201 $lecture=substr($test[2],0,1); 202 $ecriture=substr($test[2],-2,1); 203 $execution=substr($test[2],-1); 204 } 205 if ($test[1] == "") { 206 $nom[$loop]="Groupe proprietaire ".$groupeproprio; 207 echo "$nom[$loop]"; 208 $lecture=substr($test[2],0,1); 209 $ecriture=substr($test[2],-2,1); 210 $execution=substr($test[2],-1); 211 } 212 } 213 214 elseif ($test[0]=="default") { 215 216 if ($test[1]=="other") { 217 $nom[$loop]="Heritage autres"; 218 echo "$nom[$loop]"; 219 $lecture=substr($test[3],0,1); 220 $ecriture=substr($test[3],-2,1); 221 $execution=substr($test[3],-1); 222 } 223 if ($test[1]=="user") { 224 if ($test[2]!= "") { 225 $nom[$loop]="Heritage utilisateur ".$test[2]; 226 echo "$nom[$loop]"; 227 $lecture=substr($test[3],0,1); 228 $ecriture=substr($test[3],-2,1); 229 $execution=substr($test[3],-1); 230 } 231 if ($test[2] == "") { 232 $nom[$loop]="Heritage proprietaire ".$proprio; 233 echo "$nom[$loop]"; 234 $lecture=substr($test[3],0,1); 235 $ecriture=substr($test[3],-2,1); 236 $execution=substr($test[3],-1); 237 } 238 } 239 if ($test[1]=="group") { 240 if ($test[2]!= "") { 241 $nom[$loop]="Heritage groupe ".$test[2]; 242 echo "$nom[$loop]"; 243 $lecture=substr($test[3],0,1); 244 $ecriture=substr($test[3],-2,1); 245 $execution=substr($test[3],-1); 246 } 247 if ($test[2] == "") { 248 $nom[$loop]="Heritage groupe proprietaire ".$groupeproprio; 249 echo "$nom[$loop]"; 250 $lecture=substr($test[3],0,1); 251 $ecriture=substr($test[3],-2,1); 252 $execution=substr($test[3],-1); 253 } 254 } 255 } 256 257 if ( ! ($test[0]=="# owner" || (($test[0]=="default")&&($test[1]=="mask")) || $test[0]=="# group" || $test[0]=="mask")) { 258 echo "</td>\n"; 259 260 $nomformulaire[$a] = "lecture".$nom[$loop] ; 261 if ($lecture =="r") { 262 echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\" CHECKED> </td>\n"; 263 } 264 else echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\"></td>\n"; 265 $a= $a +1; 266 $nomformulaire[$a] = "ecriture".$nom[$loop]; 267 268 if ($ecriture =="w") { 269 echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\" checked > </td>\n"; 270 } 271 else echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\"></td>\n"; 272 273 $a = $a +1; 274 $nomformulaire[$a] = "execution".$nom[$loop]; 275 276 if ($execution =="x") { 277 echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\" checked></td>\n"; 278 } 279 else echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\"></td>\n"; 280 281 $a= $a + 1; 282 $nomformulaire[$a] = "supprimer".$nom[$loop]; 283 if (!(($test[0] == "user"&&$test[1]=="") || ($test[0] == "group"&& $test[1]=="") || $test[0]=="other" || ($test[1] == "user"&&$test[2]=="") || ($test[1] == "group"&& $test[2]=="") || $test[1]=="other" )) { 284 if (!isset($valide)) { 285 echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nomformulaire[$a]\" VALUE=\"".gettext("oui")."\"></td>\n"; 286 } 287 } 288 $a= $a +1; 289 echo "</tr>\n"; 290 } 291 } 292 293 $noms = implode(",",$nom); 294 echo "</tbody></table>\n"; 295 echo "<br /><br />\n"; 296 if (!isset($valide)) { 297 echo "<TD><B>".gettext("Ajout d'un nouvel utilisateur ou groupe :")."</B></TD>\n"; 298 echo "<table border=\"0\">\n"; 299 echo "<TR><TD>".gettext("Nom")."</td> <td valign=\"top\"><input type=\"text\" name=\"nouveau\" value=\"$nouveau\" size=\"20\" ></TD>\n"; 300 echo "<TD><input type=\"button\" value=\"".gettext("Recherche dans l'annuaire")."\" onclick=\"popuprecherche('searchacls.php','popuprecherche','width=500,height=500');\"></TD></TR>\n"; 301 echo "<TR><TD>".gettext("Utilisateur")."</td><td valign=\"top\"><input type=\"radio\" name=\"choix\" value=\"u\"></td></tr> 302 <TR><TD>".gettext("Groupe")."</td><td valign=\"top\"><input type=\"radio\" name=\"choix\" value=\"g\"></td></tr>\n"; 303 304 echo "<TR><TD>".gettext("Lecture")."</td> <td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nouveaulecture\" VALUE=\"oui\"></td></tr>\n"; 305 echo "<TR><TD>".gettext("Ecriture")."</td> <td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nouveauecriture\" VALUE=\"oui\"></td></tr>\n"; 306 echo "<TR><TD>".gettext("Execution")."</td> <td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nouveauexecution\" VALUE=\"oui\"></td></tr>\n"; 307 /* 308 //Stephane Boireau (21/03/2006) 309 //Modification de la variable 'type' en 'type_fich' 310 //parce que la variable 'type' est utilisee avec 311 //plusieurs autres significations dans la page courante (visuacls.php) 312 if ($type=="repertoire"){ 313 */ 314 if ($type_fich=="repertoire"){ 315 echo "<TR><TD>".gettext("Propagation de l'acl par Héritage")."</td>\n"; 316 echo "<td valign=\"top\">\n<INPUT TYPE=\"checkbox\" NAME=\"nouveauheritage\" VALUE=\"oui\"></td></tr>\n"; 317 } 318 echo "</table><br />\n"; 319 //if ($type=="répertoire"){ 320 if ($type_fich=="repertoire"){ 321 echo "<B><br />".gettext("Appliquer les changements aux sous dossiers et fichiers déjà existants")." <B><INPUT TYPE=\"checkbox\" NAME=\"propagation\" VALUE=\"".gettext("oui")."\"><br /><br />\n"; 322 } 323 echo "<input type=\"hidden\" name=\"noms\" value=\"$noms\">" ; 324 echo "<input type=\"hidden\" name=\"repertoire\" value=\"$repertoire\">" ; 325 echo "<input type=\"hidden\" name=\"type_fich\" value=\"$type_fich\">" ; 326 echo "<input type=\"hidden\" name=\"valide\" value=\"$valide\">" ; 327 echo "<input type=\"submit\" value=\"".gettext("valider les acls")."\">\n"; 328 echo "</form>\n"; 329 } 330 331 if (isset($valide)) { 332 /* 333 //Stephane Boireau (21/03/2006) 334 //Ajout de la variable 'type_fich' pour conserver la possibilite d'Heritage lors d'un clic sur 'Modifier a nouveau' 335 //echo "<a href=\"visuacls.php?repertoire=$repertoire\" > Modifier a nouveau </a>"; } 336 */ 337 echo "<a href=\"visuacls.php?repertoire=$repertoire&type_fich=$type_fich\" >".gettext(" Modifier à nouveau")." </a>"; 338 } 339 340 }//fin is_admin 341 else echo gettext("Vous n'avez pas les droits necessaires pour ouvrir cette page..."); 342 include ("pdp.inc.php"); 343 344 ?>
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 |