Group Klassenreferenz

Aufstellung aller Elemente

Öffentliche Methoden

 Group ($groupid='')
 getAll ()
 load ()
 save ()
 getProperties ()
 add ($name= '')
 delete ()
 getUsers ()
 getOtherUsers ()
 addUser ($userid)
 delUser ($userid)
 getRights ()
 addRight ($data)
 getAllAcls ()
 delRight ($aclid)

Öffentliche Attribute

 $groupid = 0
 $error = ''
 $name = ''
 $fullname = ''
 $ldap_dn
 $tel
 $mail
 $desc
 $style
 $isAdmin


Ausführliche Beschreibung

Definiert in Zeile 51 der Datei Group.class.php.


Dokumentation der Elementfunktionen

Group::add ( name = ''  ) 

Definiert in Zeile 135 der Datei Group.class.php.

Benutzt $db, $name und db_connection().

00136      {
00137           $db = db_connection();
00138 
00139           if   ( $name != '' )
00140                $this->name = $name;
00141 
00142           $sql = new Sql('SELECT MAX(id) FROM {t_group}');
00143           $this->groupid = intval($db->getOne($sql->query))+1;
00144           
00145           // Gruppe hinzuf?gen
00146           $sql = new Sql( 'INSERT INTO {t_group} '.
00147                           '(id,name) VALUES( {groupid},{name} )');
00148           $sql->setInt   ('groupid',$this->groupid );
00149           $sql->setString('name'   ,$this->name    );
00150 
00151           // Datenbankbefehl ausfuehren
00152           $db->query( $sql->query );
00153      }

Group::addRight ( data  ) 

Definiert in Zeile 303 der Datei Group.class.php.

Benutzt $db, $REQ, $SESS und db_connection().

00304      {
00305           global $REQ,$SESS;
00306           $db = db_connection();
00307           
00308           $sql = new SQL('INSERT INTO {t_acl} '.
00309                          '(userid,groupid,folderid,`read`,`write`,`create`,`delete`,publish) '.
00310                          'VALUES({userid},{groupid},{folderid},{read},{write},{create},{delete},{publish})');
00311                          
00312           $sql->setNull('userid');
00313           $sql->setInt ('groupid',$this->groupid);
00314           $sql->setInt ('projectid',$SESS['projectid']);
00315           $sql->setInt ('folderid',$data['folderid']);
00316 
00317           $sql->setInt ('read'   ,$data['read'   ]);
00318           $sql->setInt ('write'  ,$data['write'  ]);
00319           $sql->setInt ('create' ,$data['create' ]);
00320           $sql->setInt ('delete' ,$data['delete' ]);
00321           $sql->setInt ('publish',$data['publish']);
00322      
00323           // Datenbankabfrage ausf?hren
00324           $db->query( $sql->query );
00325      }

Group::addUser ( userid  ) 

Definiert in Zeile 211 der Datei Group.class.php.

Benutzt $db und db_connection().

00212      {
00213           $db = db_connection();
00214 
00215           $sql = new Sql('SELECT MAX(id) FROM {t_usergroup}');
00216           $usergroupid = intval($db->getOne($sql->query))+1;
00217 
00218           $sql = new Sql( 'INSERT INTO {t_usergroup} '.
00219                           '       (id,userid,groupid) '.
00220                           '       VALUES( {usergroupid},{userid},{groupid} )' );
00221           $sql->setInt('usergroupid',$usergroupid  );
00222           $sql->setInt('userid'     ,$userid        );
00223           $sql->setInt('groupid'    ,$this->groupid );
00224 
00225           $db->query( $sql->query );
00226      
00227      }

Group::delete (  ) 

Definiert in Zeile 157 der Datei Group.class.php.

Benutzt $db und db_connection().

00158      {
00159           $db = db_connection();
00160 
00161           // Berechtigungen zu dieser Gruppe loeschen
00162           $sql = new Sql( 'DELETE FROM {t_acl} '.
00163                           'WHERE groupid={groupid}' );
00164           $sql->setInt   ('groupid',$this->groupid );
00165           $db->query( $sql->query );
00166 
00167 
00168           // Alle Gruppenzugehoerigkeiten zu dieser Gruppe loeschen
00169           $sql = new Sql( 'DELETE FROM {t_usergroup} '.
00170                           'WHERE groupid={groupid}' );
00171           $sql->setInt   ('groupid',$this->groupid );
00172           $res = $db->query($sql->query);
00173 
00174           // Gruppe loeschen
00175           $sql = new Sql( 'DELETE FROM {t_group} '.
00176                           'WHERE id={groupid}' );
00177           $sql->setInt   ('groupid',$this->groupid );
00178           $res = $db->query($sql->query);
00179      }

Group::delRight ( aclid  ) 

Definiert in Zeile 367 der Datei Group.class.php.

Benutzt $db.

00368      {
00369           $sql = new SQL('DELETE FROM {t_acl} WHERE id={aclid}');
00370           $sql->setInt( 'aclid',$aclid );
00371      
00372           // Datenbankabfrage ausf?hren
00373           $db->query( $sql->query );
00374      }

Group::delUser ( userid  ) 

Definiert in Zeile 231 der Datei Group.class.php.

Benutzt $db und db_connection().

00232      {
00233           $db = db_connection();
00234 
00235           $sql = new Sql( 'DELETE FROM {t_usergroup} '.
00236                           '  WHERE userid={userid} AND groupid={groupid}' );
00237           $sql->setInt   ('userid'  ,$userid        );
00238           $sql->setInt   ('groupid' ,$this->groupid );
00239 
00240           $db->query( $sql->query );
00241      }

Group::getAll (  ) 

Definiert in Zeile 75 der Datei Group.class.php.

Benutzt $conf, $db und db_connection().

Wird benutzt von ObjectAction::aclform(), AdministrationTree::groups(), UserAction::groups(), GroupAction::listing(), UserAction::savegroups() und StatusAction::show().

00076      {
00077           global $conf;
00078           $db = db_connection();
00079 
00080           $sql = new Sql( 'SELECT id,name FROM {t_group}' );
00081 
00082           return $db->getAssoc( $sql->query );
00083      }

Group::getAllAcls (  ) 

Ermitteln aller Berechtigungen dieser Gruppe.
Diese Daten werden auf der Gruppenseite in der Administration angezeigt.

Rückgabe:
unknown

Definiert in Zeile 335 der Datei Group.class.php.

Benutzt $db, db_connection() und lang().

00336      {
00337           $db = db_connection();
00338           $sql = new Sql( 'SELECT {t_acl}.*,{t_object}.projectid,{t_language}.name AS languagename FROM {t_acl}'.
00339                           '  LEFT JOIN {t_object} '.
00340                           '         ON {t_object}.id={t_acl}.objectid '.
00341                           '  LEFT JOIN {t_language} '.
00342                           '         ON {t_language}.id={t_acl}.languageid '.
00343                           '  WHERE ( {t_acl}.groupid={groupid} OR ({t_acl}.userid IS NULL AND {t_acl}.groupid IS NULL) )'.
00344                           '  ORDER BY {t_object}.projectid,{t_acl}.languageid' );
00345           $sql->setInt  ( 'groupid'    ,$this->groupid );
00346 
00347           $aclList = array();
00348 
00349           foreach( $db->getAll( $sql->query ) as $row )
00350           {
00351                $acl = new Acl();
00352                $acl->setDatabaseRow( $row );
00353                $acl->projectid    = $row['projectid'   ];
00354                if   ( intval($acl->languageid) == 0 )
00355                     $acl->languagename = lang('GLOBAL_ALL_LANGUAGES');
00356                else
00357                     $acl->languagename = $row['languagename'];
00358                $aclList[] = $acl;
00359           }
00360           
00361           return $aclList;
00362      }

Group::getOtherUsers (  ) 

Definiert in Zeile 197 der Datei Group.class.php.

Benutzt $db und db_connection().

00198      {
00199           $db = db_connection();
00200 
00201           $sql = new Sql( 'SELECT {t_user}.id,{t_user}.name FROM {t_user}'.
00202                           '   LEFT JOIN {t_usergroup} ON {t_usergroup}.userid={t_user}.id AND {t_usergroup}.groupid={groupid}'.
00203                           '   WHERE {t_usergroup}.groupid IS NULL' );
00204           $sql->setInt('groupid'  ,$this->groupid );
00205 
00206           return $db->getAssoc( $sql->query );
00207      }

Group::getProperties (  ) 

Rueckgabe aller Eigenschaften

Rückgabe:
Array

Definiert in Zeile 127 der Datei Group.class.php.

00128      {
00129           return Array( 'name'   =>$this->name,
00130                         'groupid'=>$this->groupid );
00131      }

Group::getRights (  ) 

Definiert in Zeile 245 der Datei Group.class.php.

Benutzt $db, $SESS und db_connection().

00246      {
00247           global $SESS,$conf_php;
00248           $db = db_connection();
00249           $var = array();
00250 
00251           // Alle Projekte lesen
00252           $sql = new Sql( 'SELECT id,name FROM {t_project}' );
00253           $projects = $db->getAssoc( $sql->query );    
00254 
00255           foreach( $projects as $projectid=>$projectname )
00256           {
00257                $var[$projectid] = array();
00258                $var[$projectid]['name'] = $projectname;
00259                $var[$projectid]['folders'] = array();
00260                $var[$projectid]['rights'] = array();
00261 
00262                $sql = new Sql( 'SELECT {t_acl}.* FROM {t_acl}'.
00263                                '  LEFT JOIN {t_folder} ON {t_acl}.folderid = {t_folder}.id'.
00264                                '  WHERE {t_folder}.projectid={projectid}'.
00265                                '    AND {t_acl}.groupid={groupid}' );
00266                $sql->setInt('projectid',$projectid    );
00267                $sql->setInt('groupid'   ,$this->groupid );
00268                
00269                $acls = $db->getAll( $sql->query );
00270 
00271                foreach( $acls as $acl )
00272                {
00273                     $aclid = $acl['id'];
00274                     $folder = new Folder( $acl['folderid'] );
00275                     $folder->load();
00276                     $var[$projectid]['rights'][$aclid] = $acl;
00277                     $var[$projectid]['rights'][$aclid]['foldername'] = implode(' » ',$folder->parentfolder( false,true ));
00278                     $var[$projectid]['rights'][$aclid]['delete_url'] = 'user.'.$conf_php.'?useraction=delright&aclid='.$aclid;
00279                }
00280                
00281                $sql = new Sql( 'SELECT id FROM {t_folder}'.
00282                                '  WHERE projectid={projectid}' );
00283                $sql->setInt('projectid',$projectid);
00284                $folders = $db->getCol( $sql->query );
00285 
00286                $var[$projectid]['folders'] = array();
00287 
00288                foreach( $folders as $folderid )
00289                {
00290                     $folder = new Folder( $folderid );
00291                     $folder->load();
00292                     $var[$projectid]['folders'][$folderid] = implode(' » ',$folder->parentfolder( false,true ));
00293                }
00294 
00295                asort( $var[$projectid]['folders'] );
00296           }
00297           
00298           return $var;
00299      }

Group::getUsers (  ) 

Definiert in Zeile 183 der Datei Group.class.php.

Benutzt $db und db_connection().

00184      {
00185           $db = db_connection();
00186 
00187           $sql = new Sql( 'SELECT {t_user}.id,{t_user}.name FROM {t_user} '.
00188                           'LEFT JOIN {t_usergroup} ON {t_usergroup}.userid={t_user}.id '.
00189                           'WHERE {t_usergroup}.groupid={groupid}' );
00190           $sql->setInt('groupid',$this->groupid );
00191 
00192           return $db->getAssoc( $sql->query );
00193      }

Group::Group ( groupid = ''  ) 

Definiert in Zeile 67 der Datei Group.class.php.

Benutzt $groupid.

00068      {
00069           if   ( is_numeric($groupid) )
00070                $this->groupid = $groupid;
00071      }

Group::load (  ) 

Definiert in Zeile 87 der Datei Group.class.php.

Benutzt $db und db_connection().

00088      {
00089           $db = db_connection();
00090 
00091           $sql = new Sql( 'SELECT * FROM {t_group}'.
00092                           ' WHERE id={groupid}' );
00093           $sql->setInt( 'groupid',$this->groupid );
00094 
00095           $row = $db->getRow( $sql->query );
00096           if   ( count($row) > 0 )
00097                $this->name = $row['name'    ];
00098           else
00099                $this->name = '';
00100      }

Group::save (  ) 

Definiert in Zeile 104 der Datei Group.class.php.

Benutzt $db, db_connection() und lang().

00105      {
00106           if   ( empty($this->name) )
00107                $this->name = lang('GLOBAL_GROUP').' '.$this->groupid;
00108                
00109           $db = db_connection();
00110 
00111           // Gruppe speichern      
00112           $sql = new Sql( 'UPDATE {t_group} '.
00113                           'SET name = {name} '.
00114                           'WHERE id={groupid}' );
00115           $sql->setString( 'name'  ,$this->name    );
00116           $sql->setInt   ('groupid',$this->groupid );
00117 
00118           // Datenbankabfrage ausfuehren
00119           $db->query( $sql->query );
00120      }


Dokumentation der Datenelemente

Group::$desc

Definiert in Zeile 61 der Datei Group.class.php.

Group::$error = ''

Definiert in Zeile 54 der Datei Group.class.php.

Group::$fullname = ''

Definiert in Zeile 57 der Datei Group.class.php.

Group::$groupid = 0

Definiert in Zeile 53 der Datei Group.class.php.

Wird benutzt von Group().

Group::$isAdmin

Definiert in Zeile 63 der Datei Group.class.php.

Group::$ldap_dn

Definiert in Zeile 58 der Datei Group.class.php.

Group::$mail

Definiert in Zeile 60 der Datei Group.class.php.

Group::$name = ''

Definiert in Zeile 56 der Datei Group.class.php.

Wird benutzt von add().

Group::$style

Definiert in Zeile 62 der Datei Group.class.php.

Group::$tel

Definiert in Zeile 59 der Datei Group.class.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Thu May 14 00:55:50 2009 für OpenRat von  doxygen 1.5.8