commit 471064c7831f7695dbaba3774d542d187d8afa58
parent cb60fc7924a692300db146c1d80af131b009c036
Author: dankert <devnull@localhost>
Date: Tue, 21 Apr 2009 01:24:58 +0200
Korrektur: Veröffentlichen mehrerer Varianten gleichzeitig.
Diffstat:
2 files changed, 22 insertions(+), 21 deletions(-)
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.32 2009-04-20 23:24:58 dankert
+// Korrektur: Veröffentlichen mehrerer Varianten gleichzeitig.
+//
// Revision 1.31 2009-04-18 00:56:14 dankert
// Beim Verarbeiten von if-empty-Bereichen der Seitenvorlage keine regulären Ausdrücke mehr verwenden (da Binärausgaben wie PDF-Dokumente dabei beschädigt werden).
//
@@ -150,7 +153,7 @@ class Page extends Object
var $fullFilename = '';
var $log_filenames = array();
- var $projectmodelid = 0;
+ var $modelid = 0;
var $publish = null;
var $up_path = '';
@@ -536,7 +539,6 @@ class Page extends Object
{
$oldTemplateId = $this->templateid;
- Logger::debug( 'replacing template of page '.$this->pageid. ' ('.$oldTemplateId.'->'.$newTemplateId.')' );
$db = db_connection();
// Template-id dieser Seite aendern
@@ -611,7 +613,7 @@ class Page extends Object
}
$t = new Template( $this->templateid );
- $t->projectmodelid = $this->modelid;
+ $t->modelid = $this->modelid;
$t->load();
$filename .= '.'.$t->extension;
@@ -750,12 +752,12 @@ class Page extends Object
return $this->value;
}
- $this->generate_elements();
-
$this->template = new Template( $this->templateid );
+ $this->template->modelid = $this->modelid;
$this->template->load();
-
$this->ext = $this->template->extension;
+
+ $this->generate_elements();
$src = $this->template->src;
@@ -835,9 +837,9 @@ class Page extends Object
$this->withLanguage = count($allLanguages) > 1;
// Schleife ueber alle Projektvarianten
- foreach( Model::getAll() as $projectmodelid )
+ foreach( Model::getAll() as $projectmodelid=>$x )
{
- $this->projectmodelid = $projectmodelid;
+ $this->modelid = $projectmodelid;
$this->load();
$this->generate();
@@ -845,9 +847,8 @@ class Page extends Object
// Vorlage ermitteln.
$t = new Template( $this->templateid );
- $t->projectmodelid = $this->modelid;
+ $t->modelid = $this->modelid;
$t->load();
-
// Nur wenn eine Datei-Endung vorliegt wird die Seite veroeffentlicht
if ( !empty($t->extension) )
{
@@ -868,16 +869,13 @@ class Page extends Object
*/
function mimeType()
{
- if ( !empty( $this->mime_type ) )
- return $this->mime_type;
-
- global $conf;
- $mime_types = $conf['mime-types'];
-
if ( ! is_object($this->template) )
+ {
$this->template = new Template( $this->templateid );
+ $this->template->modelid = $this->modelid;
+ $this->template->load();
+ }
- $this->template->load();
$this->mime_type = $this->template->mimeType();
return( $this->mime_type );
diff --git a/objectClasses/Value.class.php b/objectClasses/Value.class.php
@@ -441,6 +441,8 @@ SQL
/**
* Hier findet die eigentliche Bereitstellung des Inhaltes statt, zu
* jedem Elementtyp wird ein Inhalt ermittelt.
+ *
+ * @return void (aber Eigenschaft 'value' wird gesetzt).
*/
function generate()
{
@@ -472,6 +474,7 @@ SQL
$v->simple = $this->simple;
$v->element = $this->element;
$v->languageid = $this->languageid;
+ $v->modelid = $this->modelid;
$v->load();
$v->generate();
$this->value = $v->value;
@@ -524,7 +527,7 @@ SQL
$p = new Page( $oid );
$p->public = $this->page->public;
$p->up_path = $this->page->up_path();
- $p->projectmodelid = $this->page->projectmodelid;
+ $p->modelid = $this->page->modelid;
$p->languageid = $this->languageid;
$p->mime_type = $this->page->mimeType();
$p->load();
@@ -544,7 +547,7 @@ SQL
$p = new Page( $l->linkedObjectId );
$p->public = $this->page->public;
$p->up_path = $this->page->up_path();
- $p->projectmodelid = $this->page->projectmodelid;
+ $p->modelid = $this->page->modelid;
$p->languageid = $this->languageid;
$p->load();
$p->generate();
@@ -590,7 +593,7 @@ SQL
$p = new Page( $objectid );
$p->public = $this->page->public;
$p->up_path = $this->page->up_path();
- $p->projectmodelid = $this->page->projectmodelid;
+ $p->modelid = $this->page->modelid;
$p->languageid = $this->languageid;
$p->mime_type = $this->page->mimeType();
$p->load();
@@ -789,7 +792,6 @@ SQL
$transformer->text = $inhalt;
$transformer->page = $this->page;
$transformer->element = $this->element;
- $transformer->type = $this->page->template->extension;
$transformer->transform();
$inhalt = $transformer->text;
@@ -1226,6 +1228,7 @@ SQL
'va'=>$this->valueid,
'el'=>$this->element->elementid,
'la'=>$this->languageid,
+ 'm' =>$this->page->modelid,
'pu'=>intval($this->publish),
'si'=>intval($this->simple) ) );
return $filename;