openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 490c4c5e50cabcf094de5c7296404c7047630b43
parent 7ae3cb98169b923127694c85523320e245dbd197
Author: dankert <devnull@localhost>
Date:   Tue, 17 Mar 2009 02:27:29 +0100

Überarbeitung der temporären Dateinamen.

Diffstat:
objectClasses/Object.class.php | 46+++++++++++++++++++++++++++++++++++++++++++++-
objectClasses/Page.class.php | 12++++++++++--
objectClasses/Value.class.php | 28+++++++++++++++-------------
3 files changed, 70 insertions(+), 16 deletions(-)

diff --git a/objectClasses/Object.class.php b/objectClasses/Object.class.php @@ -20,6 +20,9 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ +// Revision 1.30 2009-03-17 01:27:28 dankert +// Ãœberarbeitung der temporären Dateinamen. +// // Revision 1.29 2009-03-02 21:20:02 dankert // Korrektur in "getTempDir()" // @@ -1111,7 +1114,7 @@ class Object /** - * Dateinamen der temporaeren Datei bestimmen + * Liefert einen Verzeichnisnamen fuer temporaere Dateien. */ function getTempDir() { @@ -1137,6 +1140,47 @@ class Object return $tmpdir; } + + + /** + * Liefert einen temporären Dateinamen. + * @param $attr Attribute fuer den Dateinamen, um diesen eindeutig zu gestalten. + * @return unknown_type + */ + function getTempFileName( $attr = array() ) + { + global $conf; + + if ( $conf['cache']['enable_cache'] ) + { + $filename = Object::getTempDir().'/openrat'; + foreach( $attr as $a=>$w ) + $filename .= '_'.$a.$w; + + $filename .= '.tmp'; + return $filename; + } + else + { + $tmpdir = @$conf['cache']['tmp_dir']; + $tmpfile = tempnam( $tmpdir,'openrat_tmp' ); + + return $tmpfile; + } + } + + + + /** + * Gibt ein fertiges Dateihandle fuer eine temporaere Datei zurück. + * @return Resource + */ + function getTempFile() + { + return tmpfile(); + } + + /** * Reihenfolge-Sequenznr. dieses Objektes neu speichern diff --git a/objectClasses/Page.class.php b/objectClasses/Page.class.php @@ -20,6 +20,9 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ +// Revision 1.29 2009-03-17 01:27:29 dankert +// Ãœberarbeitung der temporären Dateinamen. +// // Revision 1.28 2009-03-02 22:41:45 dankert // Bugfix in setTimestamp() // @@ -709,7 +712,7 @@ class Page extends Object foreach( $elements as $elementid=>$element ) { - // neues Elementobjekt erzeugen + // neues Inhaltobjekt erzeugen $val = new Value(); $val->publish = $this->public; $val->element = $element; @@ -888,7 +891,12 @@ class Page extends Object function tmpfile() { $db = db_connection(); - $filename = $this->getTempDir().'/openrat_db'.$db->id.'_o'.$this->objectid.'_l'.$this->languageid.'_m'.$this->modelid.'.tmp'; + $filename = $this->getTempFileName( array('db'=>$db->id, + 'o' =>$this->objectid, + 'l' =>$this->languageid, + 'm' =>$this->modelid, + 'p' =>intval($this->public), + 's' =>intval($this->simple) ) ); return $filename; } diff --git a/objectClasses/Value.class.php b/objectClasses/Value.class.php @@ -50,7 +50,7 @@ class Value var $pageid; /** - * Kennzeichen, ob der Inhalt mit dem Inhalt einer anderern Seite verknüpft wird. + * Kennzeichen, ob der Inhalt mit dem Inhalt einer anderern Seite verkn�pft wird. * @type Object */ var $isLink = false; @@ -437,7 +437,7 @@ SQL return; } - // Inhalt ist mit anderer Seite verknüpft. + // Inhalt ist mit anderer Seite verkn�pft. if ( in_array($this->element->type,array('text','longtext','date','number')) && intval($this->linkToObjectId) != 0 && !$this->isLink ) { $p = new Page( $this->linkToObjectId ); @@ -459,7 +459,7 @@ SQL // Html::debug( $this->element->type ); switch( $this->element->type ) { - case 'list' : // nur wg. Rückwärtskompabilität. + case 'list' : // nur wg. R�ckw�rtskompabilit�t. case 'insert': $objectid = $this->linkToObjectId; @@ -475,9 +475,6 @@ SQL if ( $object->isFolder ) { - $this->page->up_path(); - - if ( $this->simple ) { $f = new Folder( $objectid ); @@ -760,7 +757,7 @@ SQL if ( !$this->element->html && !$this->element->wiki && $this->page->mimeType()=='text/html') $inhalt = Text::encodeHtml( $inhalt ); - // Wenn HTML nicht erlaubt ist, dann Sonderzeichen in HTML übersetzen + // Wenn HTML nicht erlaubt ist, dann Sonderzeichen in HTML �bersetzen if ( !$this->element->wiki && !$this->element->wiki && $this->page->mimeType()=='text/html' ) $inhalt = Text::encodeHtmlSpecialChars( $inhalt ); @@ -901,7 +898,7 @@ SQL 'file not found:'.$fileName); } - // Wenn HTML-Ausgabe, dann Sonderzeichen in HTML übersetzen + // Wenn HTML-Ausgabe, dann Sonderzeichen in HTML �bersetzen if ( $this->page->mimeType()=='text/html' ) $inhalt = Text::encodeHtmlSpecialChars( $inhalt ); @@ -918,7 +915,7 @@ SQL { case 'date_published': // START_TIME wird zu Beginn im Controller gesetzt. - // So erhält jede Datei das gleiche Veröffentlichungsdatum. + // So erh�lt jede Datei das gleiche Ver�ffentlichungsdatum. $inhalt = date( $this->element->dateformat,START_TIME ); break; @@ -1096,7 +1093,7 @@ SQL if ( !$raw && $this->page->mimeType()=='text/html' ) $inhalt = Text::encodeHtml( $inhalt ); - // Wenn HTML-Ausgabe, dann Sonderzeichen in HTML übersetzen + // Wenn HTML-Ausgabe, dann Sonderzeichen in HTML �bersetzen if ( $this->page->mimeType()=='text/html' ) $inhalt = Text::encodeHtmlSpecialChars( $inhalt ); @@ -1174,7 +1171,7 @@ SQL /** - * Es wird das Objekt ermittelt, welches der Benutzer zuletzt geändert hat. + * Es wird das Objekt ermittelt, welches der Benutzer zuletzt ge�ndert hat. * * @return Integer Objekt-Id */ @@ -1199,12 +1196,17 @@ SQL /** - * Ermittelt einen temporären Dateinamen für diesen Inhalt. + * Ermittelt einen tempor�ren Dateinamen f�r diesen Inhalt. */ function tmpfile() { $db = db_connection(); - $filename = Object::getTempDir().'/openrat_db'.$db->id.'_p'.$this->pageid.'_v'.$this->valueid.'_e'.$this->element->elementid.'_l'.$this->languageid.'_s'.intval($this->simple).'.tmp'; + $filename = Object::getTempFileName( array('db'=>$db->id, + 'va'=>$this->valueid, + 'el'=>$this->element->elementid, + 'la'=>$this->languageid, + 'pu'=>intval($this->publish), + 'si'=>intval($this->simple) ) ); return $filename; }