[ Index ]
 

Code source de phpMyVisites 2.3

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/core/include/ -> UserConfigDb.class.php (source)

   1  <?php
   2  /* 
   3   * phpMyVisites : website statistics and audience measurements
   4   * Copyright (C) 2002 - 2006
   5   * http://www.phpmyvisites.net/ 
   6   * phpMyVisites is free software (license GNU/GPL)
   7   * Authors : phpMyVisites team
   8  */
   9  
  10  // $Id: UserConfigDb.class.php 29 2006-08-18 07:35:21Z matthieu_ $
  11  
  12  /**
  13   * deals with sites in the database
  14   */
  15  class UserConfigDb
  16  {
  17  	function UserConfigDb()
  18      {
  19      }
  20      
  21  	function addUser( $a_info )
  22      {
  23          //var_dump($a_info);
  24  
  25          $a_info['rss_hash'] = md5( $a_info['login'] . time() );
  26          $a_info['date_registered'] = time();
  27          insertLine( T_USERS, array_keys($a_info), array_values($a_info) );
  28      }
  29      
  30  	function modUser( $a_info )
  31      {
  32          //var_dump($a_info);
  33          
  34          updateLine( T_USERS, $a_info, 'login');
  35      }
  36      
  37  	function delUser( $login )
  38      {
  39          $r = query("DELETE 
  40          FROM ".T_USERS."
  41          WHERE login = '$login'
  42          ");
  43      
  44          $r = query("DELETE
  45          FROM ". T_USERS_LINK_GROUPS ."
  46          WHERE login = '$login'
  47          ");
  48      }
  49      
  50  	function setSiteGroups( $idSite, $idGroup, $loginValidated)
  51      {
  52          // delete all permissions!
  53          foreach($loginValidated as $login)
  54          {
  55              if(!($idGroup == 1 && $login == 'anonymous'))
  56              {
  57                  $r = query("DELETE FROM ".T_USERS_LINK_GROUPS."
  58                      WHERE idsite = $idSite
  59                      AND login = '".$login."'");
  60              }
  61          }
  62  
  63          // case we set new permissions for logins
  64          // if no permission asked, do nothing because we already deleted all permissions
  65          if($idGroup != 'no_permission')
  66          {
  67              foreach($loginValidated as $login)
  68              {
  69                  if(!($idGroup == 1 && $login == 'anonymous'))
  70                  {
  71                      // set permission to "idGroup" for all login for the current site
  72                      $r = query("INSERT INTO ".T_USERS_LINK_GROUPS."
  73                                  (idsite, idgroups, login)
  74                                  VALUES
  75                                  ($idSite, $idGroup, '$login')");
  76                  }
  77              }
  78          }
  79      }
  80  	function getUserByGroup( $idGroup, $idSite )
  81      {
  82          // no permission user
  83          if($idGroup == 'no_permission')
  84          {
  85              $allUser = array();
  86              $r = query("SELECT login, alias, email, send_mail
  87                          FROM  ".T_USERS);
  88              while($rr=mysql_fetch_assoc($r))
  89              {
  90                  $allUser[$rr['login']] = $rr;
  91              }
  92              
  93              // select users with a right on this site
  94              $r = query("SELECT login
  95                          FROM ".T_USERS_LINK_GROUPS."
  96                          WHERE idsite = $idSite
  97                          ");
  98              while($rr = mysql_fetch_assoc($r))
  99              {
 100                  // remove the user with right element in all user array
 101                  // we keep only user with no right on this site
 102                  unset($allUser[$rr['login']]);
 103              }
 104              return $allUser;
 105          }
 106          else
 107          {
 108              // select users with a right on this site
 109              $return = array();
 110              $r = query("SELECT u.login, alias, email, send_mail
 111                          FROM ".T_USERS_LINK_GROUPS." as l, ".T_USERS." as u
 112                          WHERE idgroups = $idGroup
 113                          AND idsite = $idSite
 114                          AND l.login = u.login");
 115              while($rr = mysql_fetch_assoc($r))
 116              {
 117                  $return[] = $rr;
 118              }
 119              return $return;
 120          }
 121      }
 122  	function getGroups()
 123      {
 124          $return = array();
 125          $r = query("SELECT idgroups, name
 126                      FROM ".T_GROUPS);
 127          while($rr = mysql_fetch_assoc($r))
 128          {
 129              $return[$rr['idgroups']] = $rr['name'];
 130          }
 131          return $return;
 132      }
 133  }
 134  ?>


Généré le : Mon Nov 26 14:10:01 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics