[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/annu/ -> respop_group.php (source)

   1  <?php
   2  
   3  
   4     /**
   5     
   6     * Expedie une popup a un group
   7     * @Version $Id: respop_group.php 2932 2008-05-04 08:12:26Z plouf $ 
   8     
   9     * @Projet LCS / SambaEdu 
  10     
  11     * @auteurs Philippe Peter
  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     * @Repertoire: annu
  22     * file: respop_group.php
  23     */
  24  
  25  
  26  
  27  
  28  include  "entete.inc.php";
  29  include  "ldap.inc.php";
  30  include  "ihm.inc.php";
  31  
  32  require_once  ("lang.inc.php");
  33  bindtextdomain('se3-annu',"/var/www/se3/locale");
  34  textdomain ('se3-annu');
  35  
  36  
  37  if ((is_admin("annu_can_read",$login)=="Y") || (is_admin("Annu_is_admin",$login)=="Y") || (is_admin("savajon_is_admin",$login)=="Y"))  {
  38      
  39      $messsage=$_POST['message'];
  40  
  41      // Aide
  42      $_SESSION["pageaide"]="Annuaire";
  43  
  44      echo "<h1>".gettext("Popup")."</h1>";
  45  
  46  
  47      // test existence message
  48  
  49      if(isset($message)) {
  50          $file = fopen("/tmp/popup.txt","w+");
  51          fwrite($file,($message));
  52          fclose($file);
  53      }
  54  
  55      // recuperation du champ hidden de pop_group.php
  56      $filter= $_POST['nomgroupe'];
  57      $group=search_groups ("(cn=".$filter.")");
  58      $uids = search_uids ("(cn=".$filter.")");
  59      $people = search_people_groups ($uids,"(sn=*)","cat");
  60      
  61      #$TimeStamp_1=microtime();
  62        #############
  63        # DEBUG     #
  64        #############
  65        #echo "<u>debug</u> :Temps de recherche = ".duree($TimeStamp_0,$TimeStamp_1)."&nbsp;s<BR><BR>";
  66        #############
  67        # Fin DEBUG #
  68        #############
  69  
  70      if (count($people)) {
  71              // affichage des r?sultats
  72              // Nettoyage des _ dans l'intitul? du groupe
  73              $intitule =  strtr($filter,"_"," ");
  74              echo "<H1>".gettext("Pop Up vers")." $intitule <font size=\"-2\">".$group[0]["description"]."</font></H1>\n";
  75              echo "<H3>".gettext("Il y a ").count($people).gettext(" membre");
  76              if ( count($people) >1 ) echo "s";
  77              echo gettext(" dans ce groupe.")."</H3>\n";
  78      
  79              echo "<H3>".gettext("Les r&#233;sultats du Pop Up sont :")."</H3>";
  80               $nmbconnect=0;
  81  
  82              for ($loop=0; $loop < count($people); $loop++) {
  83  
  84                    $uid=$people[$loop]["uid"];
  85                    $connect=`smbstatus -u $uid|grep $uid`;
  86        
  87                    if (empty($connect)) {
  88                       // echo "<H1>Pop Down :-)</H1><P>";
  89                       // echo "<br>";
  90                       // echo "<br>";
  91                       // echo $people[$loop]["fullname"]."</TD><TD>pas de session ouverte</TD><TD></TD>\n";
  92                          } else {
  93                         $nmbconnect=$nmbconnect +1;
  94         
  95                  // recherche de la machine sur laquelle est connecte 
  96                  // l'utilisateur et envoi du pop up
  97                        if (($tri=="") OR (($tri != 0) AND ($tri != 2)) ) $tri=2; // tri par ip par defaut
  98                  // modif du tri
  99                  // /usr/bin/smbstatus -S| awk 'NF>6 {print $2,$5,$6}'|sort -u +2
 100                  // le +POS de la fin donne le rang de la variable de tri (0,1,2...)
 101                  if ("$smbversion" == "samba3") {
 102                             exec ("/usr/bin/smbstatus -b | grep -v root | grep -v nobody | awk 'NF>4 {print $2,$4,$5}' | sort -u",$out); }
 103                  elseif ($tri == 0) {
 104                             exec ("/usr/bin/smbstatus -S | grep -v root | grep -v nobody | awk 'NF>6 {print $2,$5,$6}' | sort -u",$out); 
 105                  } else  {
 106                      exec ("/usr/bin/smbstatus -S | grep -v root | grep -v nobody | awk 'NF>6 {print $2,$5,$6}' | sort -u +2",$out); 
 107                  }
 108  
 109                  for ($i = 0; $i < count($out) ; $i++) {
 110                          $test=explode(" ",$out[$i]);
 111                          $test[2]=strtr($test[2],"()","  ");
 112                          $test[2]=trim($test[2]);
 113  
 114                          $uidtest=$test[0];
 115                          $machine=$test[1];
 116                          $ip=$test[2];
 117  
 118                          if ("$uid" == "$uidtest") {
 119                            exec ("cat /tmp/popup.txt|smbclient -U 'Administrateur Samba Edu 3' -M $test[1]");
 120                              echo "<li><small><b>".$machine."</b>".gettext(" est destinataire du Pop Up (session ouverte par")." <b>".$people[$loop]["fullname"]." </b>)</small></li>\n";
 121                              echo "<br>";
 122                          }
 123                  } 
 124                 } //fin else { $nmbconnect=$nmbconnect +1;
 125             } //fin for ($loop=0; $loop < count($people); $loop++)
 126     
 127      }  else {
 128          echo " <STRONG>".gettext("Pas de membres")."</STRONG>".gettext(" dans le groupe")." $filter.<BR>";
 129      }
 130           
 131      if  ($nmbconnect==0) {
 132          echo"<b><small>".gettext("pas d'&#233;mission de Pop Up car il n'y aucun membre du groupe connect&#233; !")."</small></b>";
 133      } else {
 134             echo "<H3>".gettext("Nombre total de Pop Up &#233;mis:")." $nmbconnect </H3>\n";
 135      }
 136  
 137  }
 138  include ("pdp.inc.php");
 139  ?>


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