Object Klassenreferenz

Klassendiagramm für Object:

Inheritance graph
base refererrect $classFile.html 5,1115 245,1630rect $classFolder.html 269,1012 499,1732rect $classLink.html 523,1262 664,1483rect $classPage.html 688,1063 891,1682

Aufstellung aller Elemente

Öffentliche Methoden

 Object ($objectid= '')
 getAllObjectIds ()
 full_filename ()
 checkRight ($type)
 hasRight ($type)
 getType ()
 getProperties ()
 path ()
 goodFilename ($filename)
 filename ()
 available ($objectid)
 objectLoad ()
 objectLoadRaw ()
 setDatabaseRow ($row)
 load ()
 objectLoadName ()
 objectSave ($withName=true)
 setTimestamp ()
 ObjectSaveName ()
 objectDelete ()
 objectAdd ()
 checkFilename ()
 filenameIsUnique ($filename)
 checkName ()
 getAclIds ()
 getAllAclIds ()
 getInheritedAclIds ()
 getAllInheritedAclIds ()
 getRelatedAclTypes ()
 getAssocRelatedAclTypes ()
 deleteAllACLs ()
 tmpfileYYYYYY ()
 getTempDir ()
 getTempFileName ($attr=array())
 getTempFile ()
 setOrderId ($orderid)
 setParentId ($parentid)
 getDependentObjectIds ()
 getObjectIdsByFileName ($text)
 getObjectIdsByName ($text)
 getObjectIdsByDescription ($text)
 getObjectIdsByCreateUserId ($userid)
 getObjectIdsByLastChangeUserId ($userid)
 isObjectId ($id)

Öffentliche Attribute

 $id
 $objectid
 $parentid
 $filename = ''
 $name = ''
 $description = 'none'
 $desc = ''
 $createDate
 $lastchangeDate
 $createUser
 $lastchangeUser
 $isFolder = false
 $isFile = false
 $isPage = false
 $isLink = false
 $type = null
 $isRoot = false
 $languageid
 $modelid
 $projectid
 $tmpfile
 $aclMask = null


Ausführliche Beschreibung

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


Dokumentation der Elementfunktionen

Object::available ( objectid  ) 

Stellt fest, ob das Objekt mit der angegebenen Id existiert.

Definiert in Zeile 551 der Datei Object.class.php.

Benutzt $db, $objectid und db_connection().

Wird benutzt von IndexAction::evaluateRequestVars(), Value::generate(), IndexAction::login(), Page::path_to_object(), SearchAction::quicksearch(), XhtmlRenderer::renderElement(), PdfRenderer::renderElement(), HtmlRenderer::renderElement() und HtmlDomRenderer::renderElement().

00552      {
00553           $db = db_connection();
00554 
00555           // Vielleicht k�nnen wir uns den DB-Zugriff auch ganz sparen.
00556           if   ( !is_numeric($objectid) || $objectid <= 0 )
00557                return false; // Objekt-Id ung�ltig.
00558                
00559           $sql = new Sql('SELECT 1 FROM {t_object} '.
00560                          ' WHERE id={objectid}');
00561           $sql->setInt('objectid'  , $objectid  );
00562 
00563           return intval($db->getOne($sql->query)) == 1;
00564      }

Object::checkFilename (  ) 

Pruefung auf Gueltigkeit des Dateinamens

Definiert in Zeile 994 der Datei Object.class.php.

Benutzt filename() und filenameIsUnique().

Wird benutzt von objectAdd() und objectSave().

00995      {
00996           if   ( empty($this->filename) )
00997                $this->filename = $this->objectid;
00998 
00999 //        $this->filename = trim(strtolower($this->filename));
01000 
01001 //        $this->filename = $this->goodFilename( $this->filename);
01002 
01003           if   ( $this->isRoot )
01004                return;
01005 
01006           if   ( !$this->filenameIsUnique( $this->filename ) )
01007           {
01008 //             $this->filename = $this->objectid;
01009 //
01010 //             if   ( !$this->filenameIsUnique( $this->filename ) )
01011                     $this->filename = $this->filename.'.'.md5(microtime());
01012           }
01013      }

Object::checkName (  ) 

Pruefung auf Gueltigkeit des logischen Namens

Definiert in Zeile 1034 der Datei Object.class.php.

Benutzt filename().

Wird benutzt von setDatabaseRow().

01035      {
01036           if   ( empty($this->name) )
01037                $this->name = $this->filename;
01038 
01039           if   ( empty($this->name) )
01040                $this->name = $this->objectid;
01041      }

Object::checkRight ( type  ) 

Pr?fen einer Berechtigung zu diesem Objekt

Definiert in Zeile 331 der Datei Object.class.php.

00332      {
00333           return true;
00334      }

Object::deleteAllACLs (  ) 

Entfernen aller ACLs zu diesem Objekt private

Definiert in Zeile 1168 der Datei Object.class.php.

Benutzt getAllAclIds().

Wird benutzt von objectDelete().

01169      {
01170           foreach( $this->getAllAclIds() as $aclid )
01171           {
01172                $acl = new Acl( $aclid );
01173                $acl->delete();
01174           }
01175      }

Object::filename (  ) 

Ermitteln des Dateinamens und Rueckgabe desselben

Rückgabe:
String Dateiname

Definiert in Zeile 480 der Datei Object.class.php.

Benutzt $conf und goodFilename().

Wird benutzt von checkFilename(), checkName(), File::filenameWithExtension(), Page::full_filename(), full_filename(), getProperties(), goodFilename(), File::mimeType(), objectAdd(), objectLoadName(), objectLoadRaw(), objectSave(), Folder::parentfolder_bak(), File::parse_filename() und setDatabaseRow().

00481      {
00482 
00483           global $conf;
00484 
00485           if   ( $conf['filename']['edit'] && $this->filename != '' && $this->filename != $this->objectid )
00486           {
00487                $this->filename = $this->goodFilename(trim(strtolower($this->name)));
00488                return $this->filename;
00489           }
00490 
00491           if   ( $this->type == OR_TYPE_FOLDER )
00492           {
00493                $this->filename = $this->objectid;
00494           }
00495           elseif    ( $this->orderid == 1              &&
00496                  !empty($conf['filename']['default']) &&
00497                  !$conf['filename']['edit']              )
00498           {
00499                $this->filename = $conf['filename']['default'];
00500           }
00501           else
00502           {
00503                switch( $conf['filename']['style'] )
00504                {
00505                     case 'longid':
00506                          // Eine etwas laengere ID als Dateinamen benutzen
00507                          $this->filename = base_convert(str_pad($this->objectid,6,'a'),11,10);
00508                          break;
00509 
00510                     case 'id':
00511                          // Einfach die Objekt-Id als Dateinamen verwenden.
00512                          $this->filename = $this->objectid;
00513                          break;
00514 
00515                     case 'short':
00516                          // So kurz wie moeglich: Erhoehen der Basis vom 10 auf 36.
00517                          // Beispiele:
00518                          // 1  -> 1
00519                          // 10 -> a
00520                          $this->filename = base_convert($this->objectid,10,36);
00521                          break;
00522 
00523 //                       case 'md5':
00524 //                            $this->filename = md5(md5($this->objectid));
00525 //                            break;
00526                     case  'ss':
00527                          // Imitieren von "StoryServer" URLs. Wers braucht.
00528                          $this->filename = '0,'.
00529                                            base_convert(str_pad($this->parentid,3,'a'),11,10).
00530                                            ','.
00531                                            base_convert(str_pad($this->objectid,7,'a'),11,10).
00532                                            ',00';
00533                          break;
00534 //                       case  'title':
00535 //                            $this->filename = $this->goodFilename(trim(strtolower($this->name)));
00536 //                            break;
00537 
00538                     default:
00539                          die('Unknown filename style: '.$conf['filename']['style'] );
00540                }
00541           }
00542 
00543           return $this->filename;
00544      }

Object::filenameIsUnique ( filename  ) 

Definiert in Zeile 1016 der Datei Object.class.php.

Benutzt $db, $filename und db_connection().

Wird benutzt von checkFilename().

01017      {
01018           $db = db_connection();
01019 
01020           $sql = new Sql('SELECT COUNT(*) FROM {t_object}'.' WHERE parentid={parentid} AND filename={filename} AND NOT id = {objectid}');
01021 
01022           $sql->setString('parentid', $this->parentid);
01023           $sql->setString('objectid', $this->objectid);
01024 
01025           $sql->setString('filename', $filename      );
01026 
01027           return( intval($db->getOne($sql->query)) == 0 );
01028      }

Object::full_filename (  ) 

Erneute Implementation in File und Page.

Definiert in Zeile 316 der Datei Object.class.php.

Benutzt filename() und path().

00317      {
00318           $path = $this->path();
00319 
00320           if ($path != '')
00321                $path.= '/';
00322 
00323           $path.= $this->filename();
00324 
00325           return $path;
00326      }

Object::getAclIds (  ) 

Definiert in Zeile 1044 der Datei Object.class.php.

Benutzt $db und db_connection().

01045      {
01046           $db = db_connection();
01047           
01048           $sql = new Sql( 'SELECT id FROM {t_acl} '.
01049                           '  WHERE objectid={objectid}'.
01050                           '    AND ( languageid IS NULL OR '.
01051                           '          languageid = {languageid} )'.
01052                           '  ORDER BY userid,groupid ASC' );
01053           $sql->setInt('languageid',$this->languageid);
01054           $sql->setInt('objectid'  ,$this->objectid);
01055 
01056           return $db->getCol( $sql->query );
01057      }

Object::getAllAclIds (  ) 

Definiert in Zeile 1060 der Datei Object.class.php.

Benutzt $db und db_connection().

Wird benutzt von deleteAllACLs().

01061      {
01062           $db = db_connection();
01063           
01064           $sql = new Sql( 'SELECT id FROM {t_acl} '.
01065                           '  WHERE objectid={objectid}'.
01066                           '  ORDER BY userid,groupid ASC' );
01067           $sql->setInt('objectid'  ,$this->objectid);
01068 
01069           return $db->getCol( $sql->query );
01070      }

Object::getAllInheritedAclIds (  ) 

Definiert in Zeile 1104 der Datei Object.class.php.

Benutzt $db, db_connection(), getType() und load().

01105      {
01106           $acls = array();
01107           
01108           if   ( $this->getType() == 'unknown' )
01109                $this->load();
01110 
01111           // Root-Ordner erhaelt keine Vererbungen
01112           if   ( $this->isRoot )
01113                return $acls;
01114           
01115           $db = db_connection();
01116           $folder = new Folder( $this->parentid );
01117           
01118           foreach( $folder->parentObjectIds(true,true) as $oid )
01119           {
01120                $sql = new Sql( 'SELECT id FROM {t_acl} '.
01121                                '  WHERE objectid={objectid}'.
01122                                '    AND is_transmit = 1'.
01123                                '  ORDER BY userid,groupid ASC' );
01124                $sql->setInt('objectid'  ,$oid);
01125                $acls = array_merge( $acls,$db->getCol( $sql->query ) );
01126           }
01127 
01128           return $acls;
01129      }

Object::getAllObjectIds (  ) 

Lesen aller Objekte aus dem aktuellen Projekt

Rückgabe:
Array Alle Objekt-IDs des aktuellen Projektes

Definiert in Zeile 292 der Datei Object.class.php.

Benutzt $db, $projectid, $SESS, db_connection() und Session::getProject().

Wird benutzt von LinkAction::edit(), PageelementAction::editlink(), PageelementAction::editlongtext(), PageAction::elsave(), PageAction::form(), ElementAction::properties() und PageelementAction::savelongtext().

00293      {
00294           global $SESS;
00295           $db = db_connection();
00296 
00297           if   ( ! isset($this->projectid) )
00298           {
00299                $project = Session::getProject();
00300                $projectid = $project->projectid;
00301           }
00302           else
00303           {
00304                $projectid = $this->projectid;
00305           }
00306 
00307           $sql = new Sql('SELECT id from {t_object} '.
00308                          '  WHERE projectid={projectid}');
00309           $sql->setInt('projectid', $projectid);
00310 
00311           return $db->getCol($sql->query);
00312      }

Object::getAssocRelatedAclTypes (  ) 

Ermitteln aller Berechtigungsstufen, die fuer diesen Objekttyp wichtig sind

Definiert in Zeile 1151 der Datei Object.class.php.

Benutzt getRelatedAclTypes().

01152      {
01153           $rights = array('read','write','delete','prop','release','publish','create_folder','create_file','create_page','create_link','grant','transmit');
01154           $types  = array();
01155           foreach( $rights as $r )
01156                $types[$r] = false;
01157 
01158           foreach( $this->getRelatedAclTypes() as $t )
01159                $types[$t] = true;
01160 
01161           return $types;
01162      }

Object::getDependentObjectIds (  ) 

Definiert in Zeile 1319 der Datei Object.class.php.

Benutzt $db und db_connection().

01320      {
01321           $db = db_connection();
01322 
01323           $sql = new Sql( 'SELECT {t_page}.objectid FROM {t_value}'.
01324                           '  LEFT JOIN {t_page} '.
01325                           '    ON {t_value}.pageid = {t_page}.id '.
01326                           '  WHERE linkobjectid={objectid}' );
01327           $sql->setInt( 'objectid',$this->objectid );
01328 
01329           return $db->getCol( $sql->query );
01330      }

Object::getInheritedAclIds (  ) 

Definiert in Zeile 1073 der Datei Object.class.php.

Benutzt $db, db_connection(), getType() und load().

01074      {
01075           $acls = array();
01076           
01077           if   ( $this->getType() == 'unknown' )
01078                $this->load();
01079 
01080           // Root-Ordner erhaelt keine Vererbungen
01081           if   ( $this->isRoot )
01082                return $acls;
01083           
01084           $db = db_connection();
01085           $folder = new Folder( $this->parentid );
01086           
01087           foreach( $folder->parentObjectIds(true,true) as $oid )
01088           {
01089                $sql = new Sql( 'SELECT id FROM {t_acl} '.
01090                                '  WHERE objectid={objectid}'.
01091                                '    AND is_transmit = 1'.
01092                                '    AND ( languageid IS NULL OR '.
01093                                '          languageid = {languageid} )'.
01094                                '  ORDER BY userid,groupid ASC' );
01095                $sql->setInt('objectid'  ,$oid);
01096                $sql->setInt('languageid',$this->languageid);
01097                $acls = array_merge( $acls,$db->getCol( $sql->query ) );
01098           }
01099 
01100           return $acls;
01101      }

Object::getObjectIdsByCreateUserId ( userid  ) 

Es werden Objekte mit einer UserId ermittelt

Parameter:
Integer Benutzer-Id der Erstellung
Rückgabe:
Array Liste der gefundenen Objekt-IDs

Definiert in Zeile 1406 der Datei Object.class.php.

Benutzt $db und db_connection().

01407      {
01408           $db = db_connection();
01409           
01410           $sql = new Sql( 'SELECT id FROM {t_object} '.
01411                           ' WHERE create_userid={userid}'.
01412                           '   AND projectid={projectid}'.
01413                           '  ORDER BY lastchange_date DESC' );
01414           $sql->setInt   ( 'projectid',$this->projectid );
01415           $sql->setInt   ( 'userid'   ,$userid          );
01416           
01417           return $db->getCol( $sql->query );
01418      }

Object::getObjectIdsByDescription ( text  ) 

Es werden Objekte mit einer Beschreibung ermittelt

Parameter:
String Suchbegriff
Rückgabe:
Array Liste der gefundenen Objekt-IDs

Definiert in Zeile 1382 der Datei Object.class.php.

Benutzt $db und db_connection().

01383      {
01384           $db = db_connection();
01385           
01386           $sql = new Sql( 'SELECT {t_object}.id FROM {t_object} '.
01387                           ' LEFT JOIN {t_name} '.
01388                           '   ON {t_object}.id={t_name}.objectid'.
01389                           ' WHERE {t_name}.descr LIKE {desc}'.
01390                           '   AND {t_name}.languageid={languageid}'.
01391                           '   AND {t_object}.projectid={projectid}'.
01392                           '  ORDER BY lastchange_date DESC' );
01393           $sql->setInt   ( 'projectid' ,$this->projectid );
01394           $sql->setInt   ( 'languageid',$this->languageid );
01395           $sql->setString( 'desc'      ,'%'.$text.'%' );
01396           
01397           return $db->getCol( $sql->query );
01398      }

Object::getObjectIdsByFileName ( text  ) 

Es werden Objekte mit einem bestimmten Namen ermittelt

Parameter:
String Suchbegriff
Rückgabe:
Array Liste der gefundenen Objekt-IDs

Definiert in Zeile 1338 der Datei Object.class.php.

Benutzt $db und db_connection().

01339      {
01340           $db = db_connection();
01341           
01342           $sql = new Sql( 'SELECT id FROM {t_object} '.
01343                           ' WHERE filename LIKE {filename}'.
01344                           '   AND projectid={projectid}'.
01345                           '  ORDER BY lastchange_date DESC' );
01346           $sql->setInt   ( 'projectid',$this->projectid );
01347           $sql->setString( 'filename','%'.$text.'%' );
01348           
01349           return $db->getCol( $sql->query );
01350      }

Object::getObjectIdsByLastChangeUserId ( userid  ) 

Es werden Objekte mit einer UserId ermittelt

Parameter:
Integer Benutzer-Id der letzten ?nderung
Rückgabe:
Array Liste der gefundenen Objekt-IDs

Definiert in Zeile 1426 der Datei Object.class.php.

Benutzt $db und db_connection().

01427      {
01428           $db = db_connection();
01429           
01430           $sql = new Sql( 'SELECT id FROM {t_object} '.
01431                           ' WHERE lastchange_userid={userid}'.
01432                           '   AND projectid={projectid}'.
01433                           '  ORDER BY lastchange_date DESC' );
01434           $sql->setInt   ( 'projectid',$this->projectid );
01435           $sql->setInt   ( 'userid'   ,$userid          );
01436           
01437           return $db->getCol( $sql->query );
01438      }

Object::getObjectIdsByName ( text  ) 

Es werden Objekte mit einem Namen ermittelt

Parameter:
String Suchbegriff
Rückgabe:
Array Liste der gefundenen Objekt-IDs

Definiert in Zeile 1358 der Datei Object.class.php.

Benutzt $db und db_connection().

01359      {
01360           $db = db_connection();
01361           
01362           $sql = new Sql( 'SELECT {t_object}.id FROM {t_object} '.
01363                           ' LEFT JOIN {t_name} '.
01364                           '   ON {t_object}.id={t_name}.objectid'.
01365                           ' WHERE {t_name}.name LIKE {name}'.
01366                           '   AND {t_name}.languageid={languageid}'.
01367                           '   AND {t_object}.projectid={projectid}'.
01368                           '  ORDER BY lastchange_date DESC' );
01369           $sql->setInt   ( 'projectid' ,$this->projectid );
01370           $sql->setInt   ( 'languageid',$this->languageid );
01371           $sql->setString( 'name'      ,'%'.$text.'%' );
01372           
01373           return $db->getCol( $sql->query );
01374      }

Object::getProperties (  ) 

Erneute Implementation in File, Link und Page.

Definiert in Zeile 424 der Datei Object.class.php.

Benutzt filename() und getType().

00425      {
00426           return Array( 'id'               =>$this->objectid,
00427                         'objectid'         =>$this->objectid,
00428                         'parentid'         =>$this->parentid,
00429                         'filename'         =>$this->filename,
00430                         'name'             =>$this->name,
00431                         'desc'             =>$this->desc,
00432                         'description'      =>$this->desc,
00433                         'create_date'      =>$this->createDate,
00434                         'create_user'      =>$this->createUser,
00435                         'lastchange_date'  =>$this->lastchangeDate,
00436                         'lastchange_user'  =>$this->lastchangeUser,
00437                         'isFolder'         =>$this->isFolder,
00438                         'isFile'           =>$this->isFile,
00439                         'isLink'           =>$this->isLink,
00440                         'isPage'           =>$this->isPage,
00441                         'isRoot'           =>$this->isRoot,
00442                         'languageid'       =>$this->languageid,
00443                         'modelid'          =>$this->modelid,
00444                         'projectid'        =>$this->projectid,
00445                         'type'             =>$this->getType()  );
00446      }

Object::getRelatedAclTypes (  ) 

Ermitteln aller Berechtigungsstufen, die fuer diesen Objekttyp wichtig sind

Definiert in Zeile 1135 der Datei Object.class.php.

Wird benutzt von getAssocRelatedAclTypes().

01136      {
01137           if   ( $this->isFolder )
01138                return( array('read','write','delete','prop','release','publish','create_folder','create_file','create_page','create_link','grant','transmit') );
01139           if   ( $this->isFile )
01140                return( array('read','write','delete','prop','release','publish','grant') );
01141           if   ( $this->isPage )
01142                return( array('read','write','delete','prop','release','publish','grant') );
01143           if   ( $this->isLink )
01144                return( array('read','write','delete','prop','grant') );
01145      }

Object::getTempDir (  ) 

Liefert einen Verzeichnisnamen fuer temporaere Dateien.

Definiert in Zeile 1217 der Datei Object.class.php.

Benutzt $conf und $tmpfile.

Wird benutzt von Code::execute(), getTempFileName() und File::tmpfile().

01218      {
01219           global $conf;
01220           $tmpdir = @$conf['cache']['tmp_dir'];
01221           $tmpfile = @tempnam( $tmpdir,'openrat_tmp' );
01222 
01223           // 2. Versuch: Temp-Dir aus "upload_tmp_dir".
01224           if   ( $tmpfile === FALSE )
01225           {
01226                $tmpdir = ini_get('upload_tmp_dir');
01227                $tmpfile = @tempnam( $tmpdir,'openrat_tmp' );
01228           }
01229           
01230           elseif    ( $tmpfile === FALSE )
01231           {
01232                $tmpfile = @tempnam( '','openrat_tmp' );
01233           }
01234           
01235           $tmpdir = dirname($tmpfile);
01236           @unlink($tmpfile);
01237                
01238           return $tmpdir;
01239      }

Object::getTempFile (  ) 

Gibt ein fertiges Dateihandle fuer eine temporaere Datei zurück.

Rückgabe:
Resource

Definiert in Zeile 1276 der Datei Object.class.php.

01277      {
01278           return tmpfile();
01279      }

Object::getTempFileName ( attr = array()  ) 

Liefert einen temporären Dateinamen.

Parameter:
$attr Attribute fuer den Dateinamen, um diesen eindeutig zu gestalten.
Rückgabe:
unknown_type

Definiert in Zeile 1248 der Datei Object.class.php.

Benutzt $conf, $filename und getTempDir().

Wird benutzt von Value::tmpfile() und Page::tmpfile().

01249      {
01250           global $conf;
01251           
01252 //        if   ( $conf['cache']['enable_cache'] )
01253 //        {
01254                $filename = Object::getTempDir().'/openrat';
01255                foreach( $attr as $a=>$w )
01256                     $filename .= '_'.$a.$w;
01257                     
01258                $filename .= '.tmp';
01259                return $filename;
01260 //        }
01261 //        else
01262 //        {
01263 //             $tmpdir = @$conf['cache']['tmp_dir'];
01264 //             $tmpfile = tempnam( $tmpdir,'openrat_tmp' );
01265 //             
01266 //             return $tmpfile;
01267 //        }
01268      }

Object::getType (  ) 

Typ des Objektes ermitteln

Rückgabe:
String der Typ des Objektes entweder 'folder','file','page' oder 'link'

Erneute Implementation in Link.

Definiert in Zeile 409 der Datei Object.class.php.

Wird benutzt von getAllInheritedAclIds(), getInheritedAclIds() und getProperties().

00410      {
00411           if ($this->isFolder)
00412                return OR_TYPE_FOLDER;
00413           if ($this->isFile)
00414                return OR_TYPE_FILE;
00415           if ($this->isPage)
00416                return OR_TYPE_PAGE;
00417           if ($this->isLink)
00418                return OR_TYPE_LINK;
00419 
00420           return 'unknown';
00421      }

Object::goodFilename ( filename  ) 

Ueberpruft einen Dateinamen auf Gueltigkeit.

Definiert in Zeile 465 der Datei Object.class.php.

Benutzt $filename und filename().

Wird benutzt von filename().

00466      {
00467           // Dateiname muss gueltig sein,
00468           // ungueltige Zeichen werden entfernt
00469           $gueltig = 'abcdefghijklmnopqrstuvwxyz0123456789.-_';
00470           $tmp = strtr($filename, $gueltig, str_repeat('#', strlen($gueltig)));
00471           return( str_replace('-','',strtr($this->filename, $tmp, str_repeat('-', strlen($tmp)))) );
00472      }

Object::hasRight ( type  ) 

Pr?fen einer Berechtigung zu diesem Objekt

Definiert in Zeile 340 der Datei Object.class.php.

Benutzt $conf, $db, $type, db_connection(), Session::getProject(), Session::getProjectLanguage() und Session::getUser().

00341      {
00342 //        $user = Session::getUser();
00343 //        return $user->hasRight( $this->objectid,$type ) || (isset($this->parentid)&&$user->hasRight($this->parentid,$type)&&$user->hasRight($this->parentid,ACL_TRANSMIT));
00344           
00345           if   ( is_null($this->aclMask) )
00346           {
00347                $this->aclMask = 0;
00348                
00349                $project  = Session::getProject();
00350                $language = Session::getProjectLanguage();
00351                $user     = Session::getUser();
00352                
00353                if   ( $user->isAdmin && !$conf['security']['readonly'] )
00354                     $this->aclMask = ACL_READ +
00355                                      ACL_WRITE +
00356                                      ACL_PROP +
00357                                      ACL_DELETE +
00358                                      ACL_RELEASE +
00359                                      ACL_PUBLISH +
00360                                      ACL_CREATE_FOLDER +
00361                                      ACL_CREATE_FILE +
00362                                      ACL_CREATE_LINK +
00363                                      ACL_CREATE_PAGE +
00364                                      ACL_GRANT +
00365                                      ACL_TRANSMIT;
00366 
00367                if   ( $user->isAdmin && $type & ACL_READ )
00368                     return true;
00369      
00370                $sql = new Sql( <<<SQL
00371 SELECT {t_acl}.* FROM {t_acl}
00372                       LEFT JOIN {t_object}
00373                              ON {t_object}.id={t_acl}.objectid
00374                       WHERE objectid={objectid}
00375                         AND ( languageid={languageid} OR languageid IS NULL )
00376                         AND ( {t_acl}.userid={userid} OR {group_clause}
00377                                                                  OR ({t_acl}.userid IS NULL AND {t_acl}.groupid IS NULL) )
00378 SQL
00379 );
00380 
00381                $sql->setInt  ( 'languageid'  ,$language->languageid   );
00382                $sql->setInt  ( 'objectid'    ,$this->objectid         );
00383                $sql->setInt  ( 'userid'      ,$user->userid           );
00384                $sql->setParam( 'group_clause',$user->getGroupClause() );
00385      
00386                $db = db_connection();
00387                foreach( $db->getAll( $sql->query ) as $row )
00388                {
00389                     $acl = new Acl();
00390                     $acl->setDatabaseRow( $row );
00391                     #Html::debug($acl,"ACL");
00392                     
00393                     $this->aclMask |= $acl->getMask();
00394                }
00395           }
00396           
00397 //        Html::debug($type,"Anfrage");
00398 //        Html::debug($this->aclMask,"Maske fuer Objekt ".$this->objectid);
00399 //        Html::debug($this->aclMask & $type,"Ergebnis");
00400           return $this->aclMask & $type;
00401      }

Object::isObjectId ( id  ) 

Gibt true zur?ck, wenn die angegebene Objekt-ID existiert

Parameter:
Integer Objekt-ID
Rückgabe:
Boolean

Definiert in Zeile 1446 der Datei Object.class.php.

Benutzt $db, $id und db_connection().

01447      {
01448           $db = db_connection();
01449           
01450           $sql = new Sql( 'SELECT id FROM {t_object} '.
01451                           ' WHERE id={objectid}'.
01452                           '   AND projectid={projectid}' );
01453           $sql->setInt   ( 'projectid' ,$this->projectid );
01454           $sql->setInt   ( 'objectid'  ,$id              );
01455 
01456           return ($db->getOne($sql->query) == intval($id) );
01457      }

Object::load (  ) 

Laden des Objektes

Veraltet:
bitte objectLoad() benutzen

Erneute Implementation in File, Folder, Link und Page.

Definiert in Zeile 722 der Datei Object.class.php.

Benutzt objectLoad().

Wird benutzt von getAllInheritedAclIds() und getInheritedAclIds().

00723      {
00724           $this->objectLoad();
00725      }

Object::Object ( objectid = ''  ) 

Konstruktor F?llen des neuen Objektes mit Init-Werten Es werden die Standardwerte aus der Session benutzt, um Sprach-ID, Projektmodell-Id und Projekt-ID zu setzen

Parameter:
Integer Objekt-ID (optional)

Definiert in Zeile 266 der Datei Object.class.php.

Benutzt $objectid, $SESS, Session::getProject(), Session::getProjectLanguage() und Session::getProjectModel().

Wird benutzt von File::File(), Folder::Folder(), Folder::getFirstPageOrLink(), Folder::getLastPageOrLink(), Folder::getObjects(), Link::Link(), Page::Page(), Page::path_to_object() und Folder::publish().

00267      {
00268           global $SESS;
00269 
00270           if   ( is_numeric($objectid) )
00271           {
00272                $this->objectid = $objectid;
00273                $this->id       = $objectid;
00274           }
00275 
00276 
00277           $language = Session::getProjectLanguage();
00278           $this->languageid = $language->languageid;
00279 
00280           $model = Session::getProjectModel();
00281           $this->modelid = $model->modelid;
00282 
00283           $project = Session::getProject();
00284           $this->projectid = $project->projectid;
00285      }

Object::objectAdd (  ) 

Objekt hinzufuegen

Definiert in Zeile 919 der Datei Object.class.php.

Benutzt $db, $SESS, checkFilename(), db_connection(), filename() und Session::getUser().

Wird benutzt von Page::add(), Link::add(), Folder::add() und File::add().

00920      {
00921           global $SESS;
00922           $db = db_connection();
00923 
00924           // Neue Objekt-Id bestimmen
00925           $sql = new Sql('SELECT MAX(id) FROM {t_object}');
00926           $this->objectid = intval($db->getOne($sql->query))+1;
00927 
00928           $this->checkFilename();
00929           $sql = new Sql('INSERT INTO {t_object}'.
00930                          ' (id,parentid,projectid,filename,orderid,create_date,create_userid,lastchange_date,lastchange_userid,is_folder,is_file,is_page,is_link)'.
00931                          ' VALUES( {objectid},{parentid},{projectid},{filename},{orderid},{time},{userid},{time},{userid},{is_folder},{is_file},{is_page},{is_link} )');
00932 
00933           if   ( $this->isRoot )
00934                $sql->setNull('parentid');
00935           else $sql->setInt ('parentid',$this->parentid );
00936 
00937           $sql->setInt   ('objectid' , $this->objectid );
00938           $sql->setString('filename' , $this->filename );
00939           $sql->setString('projectid', $this->projectid);
00940           $sql->setInt   ('orderid'  , 99999           );
00941           $sql->setInt   ('time'     , time()          );
00942           $user = Session::getUser();
00943           $sql->setInt   ('userid'   , $user->userid   );
00944 
00945           $sql->setBoolean('is_folder',$this->isFolder);
00946           $sql->setBoolean('is_file',  $this->isFile);
00947           $sql->setBoolean('is_page',  $this->isPage);
00948           $sql->setBoolean('is_link',  $this->isLink);
00949 
00950           $db->query($sql->query);
00951 
00952           if   ( !empty($this->name) )
00953                $this->objectSaveName();
00954                
00955           $acl = new Acl();
00956           $acl->userid = $user->userid;
00957           $acl->objectid = $this->objectid;
00958           
00959           // Standard-Rechte fuer dieses neue Objekt setzen.
00960           // Der Benutzer hat Lese- und Schreibrechte auf das Objekt.
00961           $acl->read   = true;
00962           $acl->write  = true;
00963           $acl->prop   = true;
00964           $acl->delete = true;
00965           $acl->grant = true;
00966           if   ( $this->isFolder )
00967           {
00968                $acl->create_file   = true;
00969                $acl->create_page   = true;
00970                $acl->create_folder = true;
00971                $acl->create_link   = true;
00972           }
00973           $acl->add();
00974 
00975           // Aus dem Eltern-Ordner vererbbare Berechtigungen übernehmen.
00976           $folder = new Folder( $this->parentid );
00977           foreach( $folder->getAclIds() as $aclid )
00978           {
00979                $acl = new Acl( $aclid );
00980                $acl->load();
00981                
00982                if   ( $acl->transmit ) // ACL is vererbbar, also kopieren.
00983                {
00984                     $acl->objectid = $this->objectid;
00985                     $acl->add(); // ... und hinzufuegen.
00986                }
00987           }
00988      }

Object::objectDelete (  ) 

Objekt loeschen. Es muss sichergestellt sein, dass auch das Unterobjekt geloeschet wird. Diese Methode wird daher normalerweise nur vom Unterobjekt augerufen protected

Definiert in Zeile 879 der Datei Object.class.php.

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

Wird benutzt von Page::delete(), Link::delete() und File::delete().

00880      {
00881           $db = db_connection();
00882 
00883           $sql = new Sql( 'UPDATE {t_element} '.
00884                           '  SET default_objectid=NULL '.
00885                           '  WHERE default_objectid={objectid}' );
00886           $sql->setInt('objectid',$this->objectid);
00887           $db->query( $sql->query );
00888 
00889           $sql = new Sql( 'UPDATE {t_value} '.
00890                           '  SET linkobjectid=NULL '.
00891                           '  WHERE linkobjectid={objectid}' );
00892           $sql->setInt('objectid',$this->objectid);
00893           $db->query( $sql->query );
00894 
00895           $sql = new Sql( 'UPDATE {t_link} '.
00896                           '  SET link_objectid=NULL '.
00897                           '  WHERE link_objectid={objectid}' );
00898           $sql->setInt('objectid',$this->objectid);
00899           $db->query( $sql->query );
00900 
00901 
00902           // Objekt-Namen l?schen
00903           $sql = new Sql('DELETE FROM {t_name} WHERE objectid={objectid}');
00904           $sql->setInt('objectid', $this->objectid);
00905           $db->query($sql->query);
00906 
00907           // Objekt l?schen
00908           $sql = new Sql('DELETE FROM {t_object} WHERE id={objectid}');
00909           $sql->setInt('objectid', $this->objectid);
00910           $db->query($sql->query);
00911 
00912           $this->deleteAllACLs();
00913      }

Object::objectLoad (  ) 

Lesen der Eigenschaften aus der Datenbank Es werden

  • die sprachunabh?ngigen Daten wie Dateiname, Typ sowie Erstellungs- und ?nderungsdatum geladen
  • die sprachabh?ngigen Daten wie Name und Beschreibung geladen

Definiert in Zeile 573 der Datei Object.class.php.

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

Wird benutzt von Page::load(), load(), Link::load(), Folder::load() und File::load().

00574      {
00575           global $SESS;
00576           $db = db_connection();
00577 
00578           $sql = new Sql('SELECT {t_object}.*,' .
00579                          '       {t_name}.name,{t_name}.descr,'.
00580                          '       lastchangeuser.name     as lastchange_username,     '.
00581                          '       lastchangeuser.fullname as lastchange_userfullname, '.
00582                          '       lastchangeuser.mail     as lastchange_usermail,     '.
00583                          '       createuser.name         as create_username,     '.
00584                          '       createuser.fullname     as create_userfullname, '.
00585                          '       createuser.mail         as create_usermail,     '.
00586                          '       {t_name}.name,{t_name}.descr'.
00587                          ' FROM {t_object}'.
00588                          ' LEFT JOIN {t_name} '.
00589                          '        ON {t_object}.id={t_name}.objectid AND {t_name}.languageid={languageid} '.
00590                          ' LEFT JOIN {t_user} as lastchangeuser '.
00591                          '        ON {t_object}.lastchange_userid=lastchangeuser.id '.
00592                          ' LEFT JOIN {t_user} as createuser '.
00593                          '        ON {t_object}.create_userid=createuser.id '.
00594                          ' WHERE {t_object}.id={objectid}');
00595           $sql->setInt('objectid'  , $this->objectid  );
00596           $sql->setInt('languageid', $this->languageid);
00597 
00598           $row = $db->getRow($sql->query);
00599           
00600           if   ( count($row)==0 )
00601                die('cannot load object '.$this->objectid );
00602 
00603           $this->setDatabaseRow( $row );
00604 
00605           if (count($row) == 0)
00606                die('fatal: Object::objectLoad(): objectid not found: '.$this->objectid.', SQL='.$sql->query );
00607 
00608      }

Object::objectLoadName (  ) 

Lesen von logischem Namen und Beschreibung Diese Eigenschaften sind sprachabhaengig und stehen deswegen in einer separaten Tabelle private

Definiert in Zeile 733 der Datei Object.class.php.

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

00734      {
00735           die();
00736           global $SESS;
00737           $db = db_connection();
00738 
00739           $sql = new Sql('SELECT *'.' FROM {t_name}'.' WHERE objectid={objectid}'.'   AND languageid={languageid}');
00740           $sql->setInt('objectid'  , $this->objectid  );
00741           $sql->setInt('languageid', $this->languageid);
00742           $res = $db->query($sql->query);
00743 
00744           if ($res->numRows() == 0)
00745           {
00746                // Wenn Name in dieser Sprache nicht vorhanden, dann irgendeinen Namen lesen
00747                $sql->setQuery('SELECT *'.' FROM {t_name}'.' WHERE objectid={objectid}'.'   AND name != {blank}');
00748                $sql->setString('blank', '');
00749                $res = $db->query($sql->query);
00750           }
00751           $row = $res->fetchRow();
00752 
00753           $this->name = $row['name'];
00754           $this->desc = $row['description'];
00755 
00756           // Falls leer, id<objectnr> als Dateinamen verwenden
00757           if ($this->name == '')
00758                $this->name = $this->filename;
00759      }

Object::objectLoadRaw (  ) 

Lesen der Eigenschaften aus der Datenbank Es werden

  • die sprachunabhaengigen Daten wie Dateiname, Typ sowie Erstellungs- und Aenderungsdatum geladen

Definiert in Zeile 616 der Datei Object.class.php.

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

00617      {
00618           global $SESS;
00619           $db = db_connection();
00620 
00621           $sql = new Sql('SELECT * FROM {t_object}'.
00622                        ' WHERE {t_object}.id={objectid}');
00623           $sql->setInt('objectid'  , $this->objectid  );
00624           $row = $db->getRow($sql->query);
00625 
00626           if (count($row) == 0)
00627                die('fatal: Object::objectLoadRaw(): objectid not found: '.$this->objectid.', SQL='.$sql->query);
00628 
00629           $this->parentid  = $row['parentid' ];
00630           $this->filename  = $row['filename' ];
00631           $this->projectid = $row['projectid'];
00632           
00633           if   ( intval($this->parentid) == 0 )
00634                $this->isRoot = true;
00635           else
00636                $this->isRoot = false;
00637 
00638           $this->name = 'n/a';
00639 
00640           $this->create_date       = $row['create_date'];
00641           $this->create_userid     = $row['create_userid'];
00642           $this->lastchange_date   = $row['lastchange_date'];
00643           $this->lastchange_userid = $row['lastchange_userid'];
00644 
00645 
00646           $this->isFolder = ( $row['is_folder'] == '1' );
00647           $this->isFile   = ( $row['is_file'  ] == '1' );
00648           $this->isPage   = ( $row['is_page'  ] == '1' );
00649           $this->isLink   = ( $row['is_link'  ] == '1' );
00650      }

Object::objectSave ( withName = true  ) 

Eigenschaften des Objektes in Datenbank speichern

Definiert in Zeile 764 der Datei Object.class.php.

Benutzt $db, $SESS, checkFilename(), db_connection(), filename() und Session::getUser().

Wird benutzt von Page::save(), Link::save(), Folder::save() und File::save().

00765      {
00766           global $SESS;
00767           $db = db_connection();
00768 
00769           $this->checkFilename();
00770 
00771           $sql = new Sql('UPDATE {t_object} SET '.
00772                          '  parentid={parentid},'.
00773                          '  lastchange_date   = {time}  ,'.
00774                          '  lastchange_userid = {userid},'.
00775                          '  filename  = {filename}'.
00776                          ' WHERE id={objectid}');
00777 
00778           if   ( $this->isRoot )
00779                $sql->setNull('parentid');
00780           else $sql->setInt ('parentid',$this->parentid );
00781 
00782           $sql->setInt   ('objectid', $this->objectid);
00783           $sql->setString('filename', $this->filename);
00784 
00785           $user = Session::getUser();
00786           $this->lastchangeUser = $user;
00787           $this->lastchangeDate = time();
00788 
00789           $sql->setInt   ('userid'  ,$this->lastchangeUser->userid  );
00790           $sql->setInt   ('time'    ,$this->lastchangeDate          );
00791 
00792           $db->query($sql->query);
00793 
00794           // Nur wenn nicht Wurzelordner
00795           if   ( !$this->isRoot && $withName )
00796           {
00797                if   ( $this->name == '' )
00798                     $this->name = $this->filename;
00799 
00800                $this->objectSaveName();
00801           }
00802      }

Object::ObjectSaveName (  ) 

Logischen Namen und Beschreibung des Objektes in Datenbank speichern (wird von objectSave() automatisch aufgerufen)

private

Definiert in Zeile 838 der Datei Object.class.php.

Benutzt $db, $SESS und db_connection().

00839      {
00840           global $SESS;
00841           $db = db_connection();
00842 
00843           $sql = new Sql('SELECT COUNT(*) FROM {t_name} '.' WHERE objectid  ={objectid}'.'   AND languageid={languageid}');
00844           $sql->setInt( 'objectid'  , $this->objectid   );
00845           $sql->setInt( 'languageid', $this->languageid );
00846           $count = $db->getOne($sql->query);
00847 
00848           if ($count > 0)
00849           {
00850                $sql->setQuery('UPDATE {t_name} SET '.
00851                               '  name  = {name},'.
00852                               '  descr = {desc} '.
00853                               ' WHERE objectid  ={objectid}'.
00854                               '   AND languageid={languageid}');
00855                $sql->setString('name', $this->name);
00856                $sql->setString('desc', $this->desc);
00857                $db->query($sql->query);
00858           }
00859           else
00860           {
00861                $sql = new Sql('SELECT MAX(id) FROM {t_name}');
00862                $nameid = intval($db->getOne($sql->query))+1;
00863 
00864                $sql->setQuery('INSERT INTO {t_name}'.'  (id,objectid,languageid,name,descr)'.' VALUES( {nameid},{objectid},{languageid},{name},{desc} )');
00865                $sql->setInt   ('objectid'  , $this->objectid    );
00866                $sql->setInt   ('languageid', $this->languageid  );
00867                $sql->setInt   ('nameid', $nameid    );
00868                $sql->setString('name'  , $this->name);
00869                $sql->setString('desc'  , $this->desc);
00870                $db->query($sql->query);
00871           }
00872      }

Object::path (  ) 

Ermitteln des physikalischen Dateipfades, in dem sich das Objekt befindet

Rückgabe:
String Pfadangabe, z.B. 'pfad/zu/objekt'

Definiert in Zeile 453 der Datei Object.class.php.

Wird benutzt von Page::full_filename() und full_filename().

00454      {
00455           $folder = new Folder($this->parentid);
00456 
00457           return implode('/', $folder->parentObjectFileNames(false, true));
00458      }

Object::setDatabaseRow ( row  ) 

Setzt die Eigenschaften des Objektes mit einer Datenbank-Ergebniszeile

Parameter:
row Ergebniszeile aus Datenbanktabelle

Definiert in Zeile 658 der Datei Object.class.php.

Benutzt checkName(), filename() und Session::getProject().

Wird benutzt von objectLoad().

00659      {
00660           if   ( count($row)==0 )
00661                die('setDatabaseRow() got empty array, oid='.$this->objectid);
00662 
00663           $this->parentid  = $row['parentid' ];
00664           $this->projectid = $row['projectid'];
00665           $this->filename  = $row['filename' ];
00666           $this->orderid   = $row['orderid'  ];
00667           
00668           if   ( intval($this->parentid) == 0 )
00669                $this->isRoot = true;
00670           else $this->isRoot = false;
00671 
00672           $this->createDate     = $row['create_date'    ];
00673           $this->lastchangeDate = $row['lastchange_date'];
00674 
00675           $this->createUser = new User();
00676           $this->createUser->userid       = $row['create_userid'          ];
00677           if   ( !empty($row['create_username']) )
00678           {
00679                $this->createUser->name         = $row['create_username'        ];
00680                $this->createUser->fullname     = $row['create_userfullname'    ];
00681                $this->createUser->mail         = $row['create_usermail'        ];
00682           }
00683 
00684           $this->lastchangeUser = new User();
00685           $this->lastchangeUser->userid   = $row['lastchange_userid'      ];
00686           
00687           if   ( !empty($row['lastchange_username']) )
00688           {
00689                $this->lastchangeUser->name     = $row['lastchange_username'    ];
00690                $this->lastchangeUser->fullname = $row['lastchange_userfullname'];
00691                $this->lastchangeUser->mail     = $row['lastchange_usermail'    ];
00692           }
00693 
00694           $this->isFolder = ( $row['is_folder'] == '1' );
00695           $this->isFile   = ( $row['is_file'  ] == '1' );
00696           $this->isPage   = ( $row['is_page'  ] == '1' );
00697           $this->isLink   = ( $row['is_link'  ] == '1' );
00698 
00699           if   ( $this->isRoot )
00700           {
00701                $project = Session::getProject();
00702                $this->name        = $project->name;
00703                $this->desc        = '';
00704                $this->description = '';
00705           }
00706           else
00707           {
00708                $this->name        = $row['name' ];
00709                $this->desc        = $row['descr'];
00710                $this->description = $row['descr'];
00711           }
00712 
00713           $this->checkName();
00714      }

Object::setOrderId ( orderid  ) 

Reihenfolge-Sequenznr. dieses Objektes neu speichern die Nr. wird sofort in der Datenbank gespeichert.

Parameter:
Integer neue Sequenz-Nr.

Erneute Implementation in Folder.

Definiert in Zeile 1289 der Datei Object.class.php.

Benutzt $db und db_connection().

01290      {
01291           $db = db_connection();
01292 
01293           $sql = new Sql('UPDATE {t_object} '.'  SET orderid={orderid}'.'  WHERE id={objectid}');
01294           $sql->setInt('objectid', $this->objectid);
01295           $sql->setInt('orderid', $orderid);
01296 
01297           $db->query($sql->query);
01298      }

Object::setParentId ( parentid  ) 

?bergeordnete Objekt-ID dieses Objektes neu speichern die Nr. wird sofort in der Datenbank gespeichert.

Parameter:
Integer ?bergeordnete Objekt-ID

Definiert in Zeile 1307 der Datei Object.class.php.

Benutzt $db, $parentid und db_connection().

01308      {
01309           $db = db_connection();
01310 
01311           $sql = new Sql('UPDATE {t_object} '.'  SET parentid={parentid}'.'  WHERE id={objectid}');
01312           $sql->setInt('objectid', $this->objectid);
01313           $sql->setInt('parentid', $parentid);
01314 
01315           $db->query($sql->query);
01316      }

Object::setTimestamp (  ) 

Aenderungsdatum auf Systemzeit setzen

Erneute Implementation in File und Page.

Definiert in Zeile 809 der Datei Object.class.php.

Benutzt $db, db_connection() und Session::getUser().

00810      {
00811           $db = db_connection();
00812 
00813           $sql = new Sql('UPDATE {t_object} SET '.
00814                          '  lastchange_date   = {time}  ,'.
00815                          '  lastchange_userid = {userid} '.
00816                          ' WHERE id={objectid}');
00817 
00818           $user = Session::getUser();
00819           $this->lastchangeUser = $user;
00820           $this->lastchangeDate = time();
00821 
00822           $sql->setInt   ('userid'  ,$this->lastchangeUser->userid  );
00823           $sql->setInt   ('objectid',$this->objectid                );
00824           $sql->setInt   ('time'    ,$this->lastchangeDate          );
00825 
00826           $db->query( $sql->query );
00827           
00828      }

Object::tmpfileYYYYYY (  ) 

Dateinamen der temporaeren Datei bestimmen

Definiert in Zeile 1181 der Datei Object.class.php.

Benutzt $conf, Logger::debug() und Html::debug().

01182      {
01183           if   ( isset($this->tmpfile) && $this->tmpfile != '' )
01184                return $this->tmpfile; // Tempor�rer Dateiname bereits vorhanden.
01185 
01186           global $conf;
01187           
01188           // 1. Versuch: Temp-Dir aus Konfiguration.
01189           $tmpdir = @$conf['cache']['tmp_dir'];
01190           if   ( $this->tmpfile === FALSE )
01191                $this->tmpfile = @tempnam( $tmpdir,'openrat_tmp' );
01192 
01193           // 2. Versuch: Temp-Dir aus "upload_tmp_dir".
01194           if   ( $this->tmpfile === FALSE )
01195           {
01196                Html::debug($this->tmpfile,"nochmal");
01197                $tmpdir = ini_get('upload_tmp_dir');
01198                $this->tmpfile = @tempnam( $tmpdir,'openrat_tmp' );
01199           }
01200           
01201           elseif    ( $this->tmpfile === FALSE )
01202           {
01203           Html::debug($this->tmpfile,"nochmal");
01204                $this->tmpfile = @tempnam( '','openrat_tmp' );
01205           }
01206                
01207           Html::debug($this->tmpfile,"tmpfile in objekt");
01208           Logger::debug( 'creating temporary file: '.$this->tmpfile );
01209 
01210           return $this->tmpfile;
01211      }


Dokumentation der Datenelemente

Object::$aclMask = null

Definiert in Zeile 257 der Datei Object.class.php.

Object::$createDate

Zeitpunkt der Erstellung. Die Variable beinhaltet den Unix-Timestamp. Integer

Definiert in Zeile 177 der Datei Object.class.php.

Object::$createUser

Benutzer, welcher dieses Objekt erstellt hat. Integer

Definiert in Zeile 187 der Datei Object.class.php.

Object::$desc = ''

Erneute Implementation in Folder.

Definiert in Zeile 172 der Datei Object.class.php.

Object::$description = 'none'

Logische (sprachabhaengige) Beschreibung des Objektes (wird in Tabelle name abgelegt) String

Definiert in Zeile 171 der Datei Object.class.php.

Object::$filename = ''

Physikalischer Dateiname des Objektes (bei Links nicht gef?llt) enth?lt nicht die Dateinamen-Erweiterung String

Erneute Implementation in Folder.

Definiert in Zeile 159 der Datei Object.class.php.

Wird benutzt von filenameIsUnique(), Page::full_filename(), File::full_filename(), getTempFileName(), goodFilename(), File::parse_filename() und Page::tmpfile().

Object::$id

eindeutige ID dieses Objektes

Siehe auch:
$objectid Integer

Definiert in Zeile 141 der Datei Object.class.php.

Wird benutzt von Folder::addParentFolder(), Page::generate() und isObjectId().

Object::$isFile = false

Kennzeichen, ob Objekt eine binaere Datei ist Boolean

Definiert in Zeile 204 der Datei Object.class.php.

Object::$isFolder = false

Kennzeichen, ob Objekt ein Ordner ist Boolean

Definiert in Zeile 198 der Datei Object.class.php.

Object::$isLink = false

Kennzeichen, ob Objekt eine Verknuepfung (Link) ist Boolean

Definiert in Zeile 216 der Datei Object.class.php.

Object::$isPage = false

Kennzeichen, ob Objekt eine Seite ist Boolean

Definiert in Zeile 210 der Datei Object.class.php.

Object::$isRoot = false

Kennzeichen ob Objekt den Wurzelordner des Projektes darstellt (parentid ist dann NULL) Boolean

Definiert in Zeile 229 der Datei Object.class.php.

Object::$languageid

Sprach-ID

Siehe auch:
Language Integer

Definiert in Zeile 235 der Datei Object.class.php.

Wird benutzt von Page::publish().

Object::$lastchangeDate

Zeitpunkt der letzten Aenderung. Die Variable beinhaltet den Unix-Timestamp. Integer

Definiert in Zeile 182 der Datei Object.class.php.

Object::$lastchangeUser

Benutzer, welcher dieses Objekt zuletzt geaendert hat. Integer

Definiert in Zeile 192 der Datei Object.class.php.

Object::$modelid

Projektmodell-ID

Siehe auch:
Projectmodel Integer

Erneute Implementation in Page.

Definiert in Zeile 242 der Datei Object.class.php.

Object::$name = ''

Logischer (sprachabhaengiger) Name des Objektes (wird in Tabelle name abgelegt) String

Erneute Implementation in Folder.

Definiert in Zeile 165 der Datei Object.class.php.

Object::$objectid

eindeutige ID dieses Objektes Integer

Definiert in Zeile 146 der Datei Object.class.php.

Wird benutzt von available(), File::File(), Folder::Folder(), Page::getPageIdFromObjectId(), Link::Link(), Object(), Page::Page() und Page::path_to_object().

Object::$parentid

Objekt-ID des Ordners, in dem sich dieses Objekt befindet Kann "null" oder "0" sein, wenn es sich um den Wurzelordner des Projektes handelt

Siehe auch:
$isRoot Integer

Definiert in Zeile 153 der Datei Object.class.php.

Wird benutzt von Folder::parentfolder_bak() und setParentId().

Object::$projectid

Projekt-ID

Siehe auch:
Project Integer

Erneute Implementation in Folder.

Definiert in Zeile 249 der Datei Object.class.php.

Wird benutzt von getAllObjectIds().

Object::$tmpfile

Dateiname der temporaeren Datei String

Erneute Implementation in File.

Definiert in Zeile 255 der Datei Object.class.php.

Wird benutzt von getTempDir().

Object::$type = null

Kennzeichnet den Typ dieses Objektes. Muss den Inhalt OR_FILE, OR_FOLDER, OR_PAGE oder OR_LINK haben. Vorbelegung mit null. Integer

Definiert in Zeile 224 der Datei Object.class.php.

Wird benutzt von hasRight().


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