commit 490c4c5e50cabcf094de5c7296404c7047630b43
parent 7ae3cb98169b923127694c85523320e245dbd197
Author: dankert <devnull@localhost>
Date: Tue, 17 Mar 2009 02:27:29 +0100
Überarbeitung der temporären Dateinamen.
Diffstat:
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;
}