Ö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 | |
| $desc | |
| $style | |
| $isAdmin | |
Definiert in Zeile 51 der Datei Group.class.php.
| 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.
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 | ( | ) |
| 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 = '' |
) |
| 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 }
| 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 |
| 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 = '' |
| Group::$style |
Definiert in Zeile 62 der Datei Group.class.php.
| Group::$tel |
Definiert in Zeile 59 der Datei Group.class.php.
1.5.8