Öffentliche Methoden | |
| Acl ($aclid=0) | |
| load () | |
| loadRaw () | |
| setDatabaseRow ($row) | |
| getProperties () | |
| getAvailableRights () | |
| getMask () | |
| getTrueProperties () | |
| delete () | |
| add () | |
Öffentliche Attribute | |
| $aclid | |
| $objectid = 0 | |
| $userid = 0 | |
| $groupid = 0 | |
| $languageid = 0 | |
| $languagename = '' | |
| $isDefault = false | |
| $username = '' | |
| $groupname = '' | |
| $read = true | |
| $write = false | |
| $prop = false | |
| $delete = false | |
| $release = false | |
| $publish = false | |
| $create_folder = false | |
| $create_file = false | |
| $create_link = false | |
| $create_page = false | |
| $grant = false | |
| $transmit = false | |
Definiert in Zeile 75 der Datei Acl.class.php.
| Acl::Acl | ( | $ | aclid = 0 |
) |
Konstruktor
| Integer | Acl-ID |
Definiert in Zeile 211 der Datei Acl.class.php.
Benutzt $aclid.
| Acl::add | ( | ) |
Definiert in Zeile 395 der Datei Acl.class.php.
Benutzt $db und db_connection().
00396 { 00397 if ( $this->delete ) 00398 $this->prop = true; 00399 00400 $db = db_connection(); 00401 00402 $sql = new Sql('SELECT MAX(id) FROM {t_acl}'); 00403 $this->aclid = intval($db->getOne($sql->query))+1; 00404 00405 $sql = new Sql( 'INSERT INTO {t_acl} '. 00406 ' (id,userid,groupid,objectid,is_write,is_prop,is_create_folder,is_create_file,is_create_link,is_create_page,is_delete,is_release,is_publish,is_grant,is_transmit,languageid)'. 00407 ' VALUES( {aclid},{userid},{groupid},{objectid},{write},{prop},{create_folder},{create_file},{create_link},{create_page},{delete},{release},{publish},{grant},{transmit},{languageid} )' ); 00408 00409 $sql->setInt('aclid' ,$this->aclid ); 00410 $sql->setInt('objectid',$this->objectid); 00411 00412 if ( intval($this->groupid) == 0 ) 00413 $sql->setNull('groupid'); 00414 else 00415 $sql->setInt ('groupid',$this->groupid); 00416 00417 if ( intval($this->userid) == 0 ) 00418 $sql->setNull('userid'); 00419 else 00420 $sql->setInt ('userid',$this->userid); 00421 00422 $sql->setBoolean('is_default' ,$this->isDefault ); 00423 $sql->setBoolean('prop' ,$this->prop ); 00424 $sql->setBoolean('write' ,$this->write ); 00425 $sql->setBoolean('delete' ,$this->delete ); 00426 $sql->setBoolean('release' ,$this->release ); 00427 $sql->setBoolean('publish' ,$this->publish ); 00428 $sql->setBoolean('grant' ,$this->grant ); 00429 $sql->setBoolean('transmit' ,$this->transmit ); 00430 $sql->setBoolean('create_folder',$this->create_folder ); 00431 $sql->setBoolean('create_file' ,$this->create_file ); 00432 $sql->setBoolean('create_link' ,$this->create_link ); 00433 $sql->setBoolean('create_page' ,$this->create_page ); 00434 00435 if ( intval($this->languageid) == 0 ) 00436 $sql->setNull('languageid'); 00437 else $sql->setInt ('languageid',$this->languageid); 00438 00439 $db->query( $sql->query ); 00440 }
| Acl::delete | ( | ) |
Definiert in Zeile 378 der Datei Acl.class.php.
Benutzt $db und db_connection().
00379 { 00380 $db = db_connection(); 00381 00382 $sql = new Sql( 'DELETE FROM {t_acl} '. 00383 ' WHERE id = {aclid} '. 00384 ' AND objectid= {objectid}' ); 00385 00386 $sql->setInt('aclid' ,$this->aclid ); 00387 $sql->setInt('objectid',$this->objectid); 00388 00389 $db->query( $sql->query ); 00390 00391 $this->aclid = 0; 00392 }
| Acl::getAvailableRights | ( | ) |
Definiert in Zeile 318 der Datei Acl.class.php.
Wird benutzt von UserAction::rights() und GroupAction::rights().
00319 { 00320 return array( 'read', 00321 'write', 00322 'prop', 00323 'create_folder', 00324 'create_file', 00325 'create_link', 00326 'create_page', 00327 'delete', 00328 'release', 00329 'publish', 00330 'grant', 00331 'transmit' ); 00332 00333 }
| Acl::getMask | ( | ) |
Erzeugt eine Bitmaske mit allen Berechtigungen
Definiert in Zeile 339 der Datei Acl.class.php.
Benutzt Logger::trace().
00340 { 00341 // intval(boolean) erzeugt numerisch 0 oder 1 00342 $this->mask = ACL_READ; // immer lesen 00343 $this->mask += ACL_WRITE *intval($this->write ); 00344 $this->mask += ACL_PROP *intval($this->prop ); 00345 $this->mask += ACL_DELETE *intval($this->delete ); 00346 $this->mask += ACL_RELEASE *intval($this->release ); 00347 $this->mask += ACL_PUBLISH *intval($this->publish ); 00348 $this->mask += ACL_CREATE_FOLDER *intval($this->create_folder); 00349 $this->mask += ACL_CREATE_FILE *intval($this->create_file ); 00350 $this->mask += ACL_CREATE_LINK *intval($this->create_link ); 00351 $this->mask += ACL_CREATE_PAGE *intval($this->create_page ); 00352 $this->mask += ACL_GRANT *intval($this->grant ); 00353 $this->mask += ACL_TRANSMIT *intval($this->transmit ); 00354 Logger::trace('mask of acl'.$this->aclid.': '.$this->mask ); 00355 return $this->mask; 00356 }
| Acl::getProperties | ( | ) |
Definiert in Zeile 292 der Datei Acl.class.php.
00293 { 00294 return Array( 'read' => true, 00295 'write' => $this->write, 00296 'prop' => $this->prop, 00297 'create_folder'=> $this->create_folder, 00298 'create_file' => $this->create_file, 00299 'create_link' => $this->create_link, 00300 'create_page' => $this->create_page, 00301 'delete' => $this->delete, 00302 'release' => $this->release, 00303 'publish' => $this->publish, 00304 'grant' => $this->grant, 00305 'transmit' => $this->transmit, 00306 'is_default' => $this->isDefault, 00307 'userid' => $this->userid, 00308 'username' => $this->username, 00309 'groupid' => $this->groupid, 00310 'groupname' => $this->groupname, 00311 'languageid' => $this->languageid, 00312 'languagename' => $this->languagename, 00313 'objectid' => $this->objectid ); 00314 00315 }
| Acl::getTrueProperties | ( | ) |
Definiert in Zeile 359 der Datei Acl.class.php.
00360 { 00361 $erg = array('read'); 00362 if ( $this->write ) $erg[] = 'write'; 00363 if ( $this->prop ) $erg[] = 'prop'; 00364 if ( $this->create_folder ) $erg[] = 'create_folder'; 00365 if ( $this->create_file ) $erg[] = 'create_file'; 00366 if ( $this->create_link ) $erg[] = 'create_link'; 00367 if ( $this->create_page ) $erg[] = 'create_page'; 00368 if ( $this->delete ) $erg[] = 'delete'; 00369 if ( $this->release ) $erg[] = 'release'; 00370 if ( $this->publish ) $erg[] = 'publish'; 00371 if ( $this->grant ) $erg[] = 'grant'; 00372 if ( $this->transmit ) $erg[] = 'transmit'; 00373 00374 return $erg; 00375 }
| Acl::load | ( | ) |
Laden einer ACL inklusive Benutzer-, Gruppen- und Sprachbezeichnungen
Definiert in Zeile 221 der Datei Acl.class.php.
Benutzt $db, db_connection(), lang() und setDatabaseRow().
00222 { 00223 $db = db_connection(); 00224 00225 $sql = new Sql( 'SELECT {t_acl}.*,{t_user}.name as username,{t_group}.name as groupname,{t_language}.name as languagename'. 00226 ' FROM {t_acl} '. 00227 ' LEFT JOIN {t_user} ON {t_user}.id = {t_acl}.userid '. 00228 ' LEFT JOIN {t_group} ON {t_group}.id = {t_acl}.groupid '. 00229 ' LEFT JOIN {t_language} ON {t_language}.id = {t_acl}.languageid '. 00230 ' WHERE {t_acl}.id={aclid}' ); 00231 00232 $sql->setInt('aclid',$this->aclid); 00233 00234 $row = $db->getRow( $sql->query ); 00235 00236 $this->setDatabaseRow( $row ); 00237 00238 if ( intval($this->languageid)==0 ) 00239 $this->languagename = lang('GLOBAL_ALL_LANGUAGES'); 00240 else $this->languagename = $row['languagename']; 00241 $this->username = $row['username' ]; 00242 $this->groupname = $row['groupname' ]; 00243 }
| Acl::loadRaw | ( | ) |
Laden einer ACL (ohne verknuepfte Namen)
Definiert in Zeile 249 der Datei Acl.class.php.
Benutzt $db, db_connection() und setDatabaseRow().
00250 { 00251 $db = db_connection(); 00252 00253 $sql = new Sql( 'SELECT * '. 00254 ' FROM {t_acl} '. 00255 ' WHERE {t_acl}.id={aclid}' ); 00256 00257 $sql->setInt('aclid',$this->aclid); 00258 00259 $row = $db->getRow( $sql->query ); 00260 00261 $this->setDatabaseRow( $row ); 00262 }
| Acl::setDatabaseRow | ( | $ | row | ) |
Setzt die Eigenschaften des Objektes mit einer Datenbank-Ergebniszeile
| row | Ergebniszeile aus ACL-Datenbanktabelle |
Definiert in Zeile 270 der Datei Acl.class.php.
Wird benutzt von load() und loadRaw().
00271 { 00272 $this->aclid = $row['id']; 00273 00274 $this->write = ( $row['is_write' ] == '1' ); 00275 $this->prop = ( $row['is_prop' ] == '1' ); 00276 $this->delete = ( $row['is_delete' ] == '1' ); 00277 $this->release = ( $row['is_release' ] == '1' ); 00278 $this->publish = ( $row['is_publish' ] == '1' ); 00279 $this->create_folder = ( $row['is_create_folder'] == '1' ); 00280 $this->create_file = ( $row['is_create_file' ] == '1' ); 00281 $this->create_page = ( $row['is_create_page' ] == '1' ); 00282 $this->create_link = ( $row['is_create_link' ] == '1' ); 00283 $this->grant = ( $row['is_grant' ] == '1' ); 00284 $this->transmit = ( $row['is_transmit' ] == '1' ); 00285 00286 $this->objectid = intval($row['objectid' ]); 00287 $this->languageid = intval($row['languageid']); 00288 $this->userid = intval($row['userid' ]); 00289 $this->groupid = intval($row['groupid' ]); 00290 }
| Acl::$aclid |
eindeutige ID dieser ACL Integer
Definiert in Zeile 81 der Datei Acl.class.php.
Wird benutzt von Acl().
| Acl::$create_file = false |
Datei anlegen (bzw. hochladen) Boolean
Definiert in Zeile 180 der Datei Acl.class.php.
| Acl::$create_folder = false |
Unterordner anlegen Boolean
Definiert in Zeile 174 der Datei Acl.class.php.
| Acl::$create_link = false |
Verkn?pfung anlegen Boolean
Definiert in Zeile 186 der Datei Acl.class.php.
| Acl::$create_page = false |
Seite anlegen Boolean
Definiert in Zeile 192 der Datei Acl.class.php.
| Acl::$delete = false |
Objekt l?schen Boolean
Definiert in Zeile 156 der Datei Acl.class.php.
| Acl::$grant = false |
Berechtigungen vergeben Boolean
Definiert in Zeile 198 der Datei Acl.class.php.
| Acl::$groupid = 0 |
ID der Gruppe ( = 0 falls die Berechtigung f?r einen Benutzer gilt) Integer
Definiert in Zeile 101 der Datei Acl.class.php.
| Acl::$groupname = '' |
Name der Gruppe, f?r die diese Berechtigung gilt String
Definiert in Zeile 132 der Datei Acl.class.php.
| Acl::$isDefault = false |
Es handelt sich um eine Standard-Berechtigung (Falls false, dann Zugriffs-Berechtigung) Boolean
Definiert in Zeile 120 der Datei Acl.class.php.
| Acl::$languageid = 0 |
ID der Sprache Integer
Definiert in Zeile 107 der Datei Acl.class.php.
| Acl::$languagename = '' |
Name der Sprache String
Definiert in Zeile 113 der Datei Acl.class.php.
| Acl::$objectid = 0 |
ID des Objektes, f?r das diese Berechtigung gilt Integer
Definiert in Zeile 87 der Datei Acl.class.php.
| Acl::$prop = false |
Eigenschaften bearbeiten Boolean
Definiert in Zeile 150 der Datei Acl.class.php.
| Acl::$publish = false |
Objekt ver?ffentlichen Boolean
Definiert in Zeile 168 der Datei Acl.class.php.
| Acl::$read = true |
Inhalt lesen (ist immer wahr) Boolean
Definiert in Zeile 138 der Datei Acl.class.php.
| Acl::$release = false |
Objektinhalt freigeben Boolean
Definiert in Zeile 162 der Datei Acl.class.php.
| Acl::$transmit = false |
Berechtigungen an Unterobjekte vererben Boolean
Definiert in Zeile 204 der Datei Acl.class.php.
| Acl::$userid = 0 |
ID des Benutzers ( = 0 falls die Berechtigung f?r eine Gruppe gilt) Integer
Definiert in Zeile 94 der Datei Acl.class.php.
| Acl::$username = '' |
Name des Benutzers, f?r den diese Berechtigung gilt String
Definiert in Zeile 126 der Datei Acl.class.php.
| Acl::$write = false |
Inhalt bearbeiten Boolean
Definiert in Zeile 144 der Datei Acl.class.php.
1.5.8