"); //EVALUE SI UNE SAISIE A ETE EFFECTUEE: AUTO-APPEL DE LA PAGE APRES FORMULAIRE REMPLI if (isset($browser)) { //rajoute indirectement l'avertissement sur /home mais supprime dans la suite de la page si non choisi $browser = preg_replace('/\\\++/','/', $browser); //gestion de \ qui passe mal (suppression des \\ en les remplaçant par un /) exec("sudo /usr/share/se3/scripts/warn_quota.sh $browser"); $query="UPDATE params SET value=\"$browser\" WHERE name=\"quota_browser\";"; mysql_query($query); } if (isset($quota) or isset($suppr)) { $nomscript=date("Y_m_d_H_i_s"); $nomscript="tmp_quotas_$nomscript.sh"; $nbr_user=0; system ("echo \"#!/bin/bash\n\" > /tmp/$nomscript"); // system ("echo \" \n\" >> /tmp/$nomscript"); // chmod ("/tmp/$nomscript",0700);//} if (isset($suppr)) { $uids = search_uids ("(cn=".$nom.")"); $people = search_people_groups ($uids,"(sn=*)","cat"); $nbr_user=$nbr_user+count($people); system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $nom $partition suppr \n\" >> /tmp/$nomscript"); } //EVALUE SI UN NOUVEAU QUOTA A ETE DEMANDE: AUTO-APPEL DE LA PAGE APRES FORMULAIRE REMPLI //si aucun quota specifie: quota par defaut de 20% if ($depassement == "") {$depassement = "20 %";} //transforme le depassement de quota en nombre $depassement = preg_replace('/\s%/', '', $depassement); //Teste si case quota non vide et si c'est un nombre et si superieur à 10Mo dans le cas de la partition /home (pour eviter les problemes avec les repertories profiles, etc... if ($quota <> "" and $quota >= 0 and $depassement >= 0 and (intval($quota)>=10 or intval($quota)==0 or $partition=="/var/se3")){ //PB CI DESSUS AVEC LE TEST POUR SAVOIR SI LA CHAINE EST UN ENTIER VALIDE //and is_int($quota) => a modifier if ($depassement == "") { $depassement="0"; } //Si le quota est valide et les choix valides, fixe les quotas if (count($classe_gr) ) { foreach ($classe_gr as $grp){ $uids = search_uids ("(cn=".$grp.")"); $people = search_people_groups ($uids,"(sn=*)","cat"); $nbr_user=$nbr_user+count($people); //system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $[$quota *($depassement+100)/100] \n\" >> /tmp/$nomscript"); $hard_quota = (int) ($quota * ($depassement+100)/100 ); system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $hard_quota \n\" >> /tmp/$nomscript"); } } if (count($equipe_gr) ) { foreach ($equipe_gr as $grp){ $uids = search_uids ("(cn=".$grp.")"); $people = search_people_groups ($uids,"(sn=*)","cat"); $nbr_user=$nbr_user+count($people); $hard_quota = (int) ($quota * ($depassement+100)/100 ); system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $hard_quota \n\" >> /tmp/$nomscript"); } } if (count($matiere_gr) ) { foreach ($matiere_gr as $grp){ $uids = search_uids ("(cn=".$grp.")"); $people = search_people_groups ($uids,"(sn=*)","cat"); $nbr_user=$nbr_user+count($people); $hard_quota = (int) ($quota * ($depassement+100)/100 ); system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $hard_quota \n\" >> /tmp/$nomscript"); } } if (count($autres_gr) ) { foreach ($autres_gr as $grp){ $uids = search_uids ("(cn=".$grp.")"); $people = search_people_groups ($uids,"(sn=*)","cat"); $nbr_user=$nbr_user+count($people); $hard_quota = (int) ($quota * ($depassement+100)/100 ); // echo $hard_quota; system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $hard_quota \n\" >> /tmp/$nomscript"); } } //teste si utilisateur saisi pour recherche dans ldap if ($user<>"") { //recherche dans ldap si $user est valide $tabresult=search_people("uid=$user"); if(count($tabresult)==1){ if($user!="admin" and $user!="root" and $user!="www-se3" and $user!="adminse3"){ //comme $user existe et non admin et non root => fixe le quota! $nbr_user=$nbr_user+1; $hard_quota = (int) ($quota * ($depassement+100)/100 ); // echo $hard_quota; system("echo \"sudo /usr/share/se3/scripts/quota_fixer_mysql.sh $grp $partition $quota $hard_quota \n\" >> /tmp/$nomscript"); } } } }//fin du if($quota valide) //le script se supprime a la fin de son exec //system("echo \"rm -f /tmp/$nomscript \n\" >> /tmp/$nomscript"); chmod ("/tmp/$nomscript",0700); // on est alors dans le cas: if(isset($quota or $suppr)) donc on execute le script if($nbr_user>100000){ //execution differee d'une minute pour ne pas attendre la page trop longtemps echo "