commit 058bcf586ea300ebbda1695cbf3261f1f210e417
parent 4e8c4f813836ed2b029fafc4f3565e1f690181c8
Author: dankert <openrat@jandankert.de>
Date: Sun, 5 Dec 2021 15:33:29 +0100
Cleanup: Removed unusable properties from class 'Value'.
Diffstat:
10 files changed, 195 insertions(+), 250 deletions(-)
diff --git a/modules/cms/action/PageelementAction.class.php b/modules/cms/action/PageelementAction.class.php
@@ -326,18 +326,12 @@ class PageelementAction extends BaseAction
*/
protected function saveText()
{
- $value = new Value();
- $value->publisher = $this->page->publisher;
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
+ $value->load();
if ( !$this->request->has('elementid') )
throw new ValidationException('elementid');
- $value->element = new Element( $this->request->getText('elementid') );
-
- $value->element->load();
- $value->load();
if ( $this->request->has('linkobjectid') )
$value->linkToObjectId = $this->request->getText('linkobjectid');
@@ -441,18 +435,8 @@ class PageelementAction extends BaseAction
*/
protected function saveDate()
{
- $value = new Value();
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
- $value->publisher = $this->page->publisher;
-
- if ( !$this->request->has('elementid') )
- throw new ValidationException('elementid');
-
- $value->element = new Element( $this->request->getText('elementid') );
- $value->element->load();
- $value->load();
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
if ( $this->request->has('linkobjectid') )
$value->linkToObjectId = $this->request->getText('linkobjectid');
@@ -473,18 +457,12 @@ class PageelementAction extends BaseAction
*/
protected function saveSelect()
{
- $value = new Value();
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
- $value->publisher = $this->page->publisher;
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
+ $value->load();
if ( !$this->request->has('elementid') )
throw new ValidationException('elementid');
- $value->element = new Element( $this->request->getText('elementid') );
-
- $value->element->load();
- $value->load();
$value->text = $this->request->getText('text');
@@ -500,17 +478,9 @@ class PageelementAction extends BaseAction
*/
protected function saveLink()
{
- $value = new Value();
- $value->publisher = $this->page->publisher;
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
-
- if ( !$this->request->has('elementid') )
- throw new ValidationException('elementid');
- $value->element = new Element( $this->request->getText('elementid') );
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
- $value->element->load();
$value->load();
if ( $this->request->has('linkurl') )
@@ -542,18 +512,9 @@ class PageelementAction extends BaseAction
*/
protected function saveInsert()
{
- $value = new Value();
- $value->publisher = $this->page->publisher;
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
-
- if ( !$this->request->has('elementid') )
- throw new ValidationException('elementid');
- $value->element = new Element( $this->request->getText('elementid') );
-
- $value->element->load();
- $value->load();
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
+ $value->load();
$value->linkToObjectId = intval($this->request->getText('linkobjectid'));
@@ -569,23 +530,14 @@ class PageelementAction extends BaseAction
*/
protected function saveNumber()
{
- $value = new Value();
- $value->publisher = $this->page->publisher;
- $value->languageid = $this->page->languageid;
- $value->objectid = $this->page->objectid;
- $value->pageid = Page::getPageIdFromObjectId( $this->page->objectid );
+ $value = new Value();
+ $value->contentid = $this->pageContent->contentId;
- if ( !$this->request->has('elementid') )
- throw new ValidationException('elementid');
- $value->element = new Element( $this->request->getText('elementid') );
-
- $value->element->load();
- $value->load();
if ( $this->request->has('linkobjectid') )
- $value->linkToObjectId = $this->request->getText('linkobjectid');
+ $value->linkToObjectId = $this->request->getText('linkobjectid');
else
- $value->number = $this->request->getText('number') * pow(10,$value->element->decimals);
+ $value->number = $this->request->getText('number') * pow(10,$value->element->decimals);
$this->afterSave($value);
}
@@ -596,7 +548,7 @@ class PageelementAction extends BaseAction
{
$pageContext = new PageContext( $this->page->objectid, Producer::SCHEME_PREVIEW );
$pageContext->modelId = 0;
- $pageContext->languageId = $this->value->languageid;
+ $pageContext->languageId = $this->request->getNumber('languageid');
$linkFormat = $pageContext->getLinkScheme();
@@ -652,14 +604,18 @@ class PageelementAction extends BaseAction
foreach( $project->getModelIds() as $modelId ) {
- $pageContext = new PageContext( $this->page->objectid, Producer::SCHEME_PUBLIC );
- $pageContext->modelId = $modelId;
- $pageContext->languageId = $this->value->languageid;
- $pageGenerator = new PageGenerator( $pageContext );
+ foreach( $project->getLanguageIds() as $languageId ) {
- $publisher->addOrderForPublishing( new PublishOrder( $pageGenerator->getCache()->load()->getFilename(),$pageGenerator->getPublicFilename(), $this->page->lastchangeDate ) );
- $this->page->setPublishedTimestamp();
+ $pageContext = new PageContext($this->page->objectid, Producer::SCHEME_PUBLIC);
+ $pageContext->modelId = $modelId;
+ $pageContext->languageId = $languageId;
+
+ $pageGenerator = new PageGenerator($pageContext);
+
+ $publisher->addOrderForPublishing(new PublishOrder($pageGenerator->getCache()->load()->getFilename(), $pageGenerator->getPublicFilename(), $this->page->lastchangeDate));
+ $this->page->setPublishedTimestamp();
+ }
}
$publisher->publish();
@@ -699,10 +655,7 @@ class PageelementAction extends BaseAction
$linkObject = new BaseObject( $value->linkToObjectId );
$linkObject->load();
- $name = $linkObject->getNameForLanguage( $value->languageid )->name;
-
- if ( empty( $name ))
- $name = $linkObject->filename();
+ $name = $linkObject->filename();
return $name;
diff --git a/modules/cms/action/pageelement/PageelementAdvancedAction.class.php b/modules/cms/action/pageelement/PageelementAdvancedAction.class.php
@@ -3,35 +3,39 @@ namespace cms\action\pageelement;
use cms\action\Method;
use cms\action\PageelementAction;
use cms\model\Element;
+use cms\model\PageContent;
+use cms\model\Value;
class PageelementAdvancedAction extends PageelementAction implements Method {
public function view() {
- $this->value->objectid = $this->page->objectid;
- $this->value->pageid = $this->page->pageid;
- $this->value->page = $this->page;
- $this->value->element = &$this->element;
- $this->value->elementid = $this->element->elementid;
- $this->value->element->load();
- $this->setTemplateVar('name' ,$this->value->element->label );
- $this->setTemplateVar('description',$this->value->element->desc );
- $this->setTemplateVar('elementid' ,$this->value->element->elementid);
- $this->setTemplateVar('type' ,$this->value->element->getTypeName() );
+ $this->element->load();
+ $this->setTemplateVar('name' ,$this->element->label );
+ $this->setTemplateVar('description',$this->element->desc );
+ $this->setTemplateVar('elementid' ,$this->element->elementid );
+ $this->setTemplateVar('type' ,$this->element->getTypeName() );
$languages = array();
foreach ( $this->page->getProject()->getLanguages() as $languageId=>$languageName )
{
- $this->value->languageid = $languageId;
- $this->value->load();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $this->page->pageid;
+ $pageContent->languageid = $languageId;
+ $pageContent->elementId = $this->element->elementid;
+ $pageContent->load();
+
+ $value = new Value();
+ $value->contentid = $pageContent->contentId;
+ $value->load();
$languages[$languageId] = array(
'languageid' => $languageId,
'languagename' => $languageName,
- 'text' => $this->calculateValue($this->value, 0),
- 'number' => $this->value->number,
- 'date' => $this->value->date,
- 'linkObjectId' => $this->value->linkToObjectId,
+ 'text' => $this->calculateValue($value, $this->element->typeid),
+ 'number' => $value->number,
+ 'date' => $value->date,
+ 'linkObjectId' => $value->linkToObjectId,
'editors' => Element::getAvailableFormats()
);
}
diff --git a/modules/cms/action/pageelement/PageelementEditAction.class.php b/modules/cms/action/pageelement/PageelementEditAction.class.php
@@ -2,33 +2,36 @@
namespace cms\action\pageelement;
use cms\action\Method;
use cms\action\PageelementAction;
+use cms\model\PageContent;
+use cms\model\Value;
class PageelementEditAction extends PageelementAction implements Method {
public function view() {
- $this->value->objectid = $this->page->objectid;
- $this->value->pageid = $this->page->pageid;
- $this->value->page = $this->page;
- $this->value->element = &$this->element;
- $this->value->elementid = $this->element->elementid;
- $this->value->element->load();
-
- $this->setTemplateVar('name' ,$this->value->element->label );
- $this->setTemplateVar('description',$this->value->element->desc );
- $this->setTemplateVar('elementid' ,$this->value->element->elementid);
- $this->setTemplateVar('type' ,$this->value->element->getTypeName() );
+
+ $this->element->load();
+ $this->setTemplateVar('name' ,$this->element->label );
+ $this->setTemplateVar('description',$this->element->desc );
+ $this->setTemplateVar('elementid' ,$this->element->elementid );
+ $this->setTemplateVar('type' ,$this->element->getTypeName() );
$languages = array();
foreach ( $this->page->getProject()->getLanguages() as $languageId=>$languageName )
{
- $value = clone $this->value; // do not overwrite the value
- $value->languageid = $languageId;
- $value->load();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $this->page->pageid;
+ $pageContent->languageid = $languageId;
+ $pageContent->elementId = $this->element->elementid;
+ $pageContent->load();
+
+ $value = new Value();
+ $value->contentid = $pageContent->contentId;
+ $value->load();
$languages[$languageId] = array(
'languageid' => $languageId,
'languagename' => $languageName,
- 'text' => $this->calculateValue($value, 0),
+ 'text' => $this->calculateValue($value, $this->element->typeid),
'number' => $value->number,
'date' => $value->date,
'linkObjectId' => $value->linkToObjectId,
diff --git a/modules/cms/action/pageelement/PageelementLinkAction.class.php b/modules/cms/action/pageelement/PageelementLinkAction.class.php
@@ -2,21 +2,28 @@
namespace cms\action\pageelement;
use cms\action\Method;
use cms\action\PageelementAction;
+use cms\model\PageContent;
use cms\model\Permission;
use cms\model\BaseObject;
use cms\model\Folder;
use cms\model\Page;
use cms\model\Project;
use cms\model\Template;
+use cms\model\Value;
class PageelementLinkAction extends PageelementAction implements Method {
+
public function view() {
- $this->value->languageid = $this->page->languageid;
- $this->value->objectid = $this->page->objectid;
- $this->value->pageid = $this->page->pageid;
- $this->value->element = &$this->element;
- $this->value->element->load();
- $this->value->load();
+
+ $pageContent = new PageContent();
+ $pageContent->pageId = $this->page->pageid;
+ $pageContent->languageid = $this->page->getProject()->getDefaultLanguageId();
+ $pageContent->elementId = $this->element->elementid;
+ $pageContent->load();
+
+ $value = new Value();
+ $value->contentid = $pageContent->contentId;
+ $value->load();
$this->setTemplateVar('name' ,$this->value->element->name );
$this->setTemplateVar('desc' ,$this->value->element->desc );
@@ -26,9 +33,9 @@ class PageelementLinkAction extends PageelementAction implements Method {
// Ermitteln, welche Objekttypen verlinkt werden d�rfen.
if ( empty($this->value->element->subtype) )
- $types = array('page','file','link'); // Fallback: Alle erlauben :)
+ $types = array('page','file','link'); // Fallback: Alle erlauben :)
else
- $types = explode(',',$this->value->element->subtype );
+ $types = explode(',',$this->value->element->subtype );
$objects = array();
@@ -58,14 +65,10 @@ class PageelementLinkAction extends PageelementAction implements Method {
$this->setTemplateVar('objects' ,$objects);
$this->setTemplateVar('linkobjectid',$this->value->linkToObjectId);
- $this->value->page = new Page( $this->page->objectid );
- $this->value->page->languageid = $this->value->languageid;
- $this->value->page->load();
-
- $this->setTemplateVar( 'release',$this->value->page->hasRight(Permission::ACL_RELEASE) );
- $this->setTemplateVar( 'publish',$this->value->page->hasRight(Permission::ACL_PUBLISH) );
+ $this->setTemplateVar( 'release',$this->page->hasRight(Permission::ACL_RELEASE) );
+ $this->setTemplateVar( 'publish',$this->page->hasRight(Permission::ACL_PUBLISH) );
- $this->setTemplateVar( 'objectid',$this->value->page->objectid );
+ $this->setTemplateVar( 'objectid',$this->page->objectid );
}
diff --git a/modules/cms/generator/ValueGenerator.class.php b/modules/cms/generator/ValueGenerator.class.php
@@ -288,6 +288,7 @@ class ValueGenerator extends BaseGenerator
if ( empty($targetElementName) )
break;
+ // TODO: missing element-id
$element = new Element();
$element->name = $linkElementName;
$element->load();
@@ -295,12 +296,8 @@ class ValueGenerator extends BaseGenerator
if ( intval($element->elementid)==0 )
break;
+ // TODO: does not work
$linkValue = new Value();
- $linkValue->elementid = $element->elementid;
- $linkValue->element = $element;
- $linkValue->pageid = $page->pageid;
- $linkValue->page = $page;
- $linkValue->languageid = $value->languageid;
$linkValue->load();
if ( !BaseObject::available( $linkValue->linkToObjectId ) )
@@ -337,11 +334,14 @@ class ValueGenerator extends BaseGenerator
$element = new Element($elementId);
$element->load();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $page->pageid;
+ $pageContent->languageid = $pageContext->languageId;
+ $pageContent->elementId = $elementId;
+ $pageContent->load();
+
$linkValue = new Value();
- $linkValue->elementid = $element->elementid;
- $linkValue->element = $element;
- $linkValue->pageid = $page->pageid;
- $linkValue->languageid = $value->languageid;
+ $linkValue->contentid = $pageContent->contentId;
$linkValue->load();
$objectid = $linkValue->linkToObjectId;
@@ -353,7 +353,6 @@ class ValueGenerator extends BaseGenerator
break;
$linkedObject = new BaseObject( $objectid );
- $linkedObject->languageid = $value->languageid;
$linkedObject->load();
switch( $element->subtype )
@@ -385,11 +384,11 @@ class ValueGenerator extends BaseGenerator
break;
case 'name':
- $inhalt = $linkedObject->name;
+ $inhalt = $linkedObject->getDefaultName()->getName();
break;
case 'description':
- $inhalt = $linkedObject->description;
+ $inhalt = $linkedObject->getDefaultName()->description;
break;
case 'create_user_desc':
@@ -550,17 +549,20 @@ class ValueGenerator extends BaseGenerator
$element = new Element($elementId);
$element->load();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $page->pageid;
+ $pageContent->languageid = $pageContext->languageId;
+ $pageContent->elementId = $elementId;
+ $pageContent->load();
+
$linkValue = new Value();
- $linkValue->elementid = $element->elementid;
- $linkValue->element = $element;
- $linkValue->pageid = $page->pageid;
- $linkValue->languageid = $value->languageid;
+ $linkValue->contentid = $pageContent->contentId;
$linkValue->load();
$objectid = $linkValue->linkToObjectId;
if ( intval($objectid) == 0 )
- $objectid = $linkValue->element->defaultObjectId;
+ $objectid = $element->defaultObjectId;
if ( !BaseObject::available( $objectid ) )
break;
@@ -606,12 +608,22 @@ class ValueGenerator extends BaseGenerator
$format = $value->format;
// Wenn Inhalt leer, dann versuchen, den Inhalt der Default-Sprache zu laden.
- if ( $inhalt == '' && Configuration::subset('content')->subset('language')->is('use_default_language',true) )
+ if ( $inhalt == '' && Configuration::subset(['content','language'])->is('use_default_language',true) )
{
$project = new Project($page->projectid);
- $value->languageid = $project->getDefaultLanguageId();
- $value->load();
- $inhalt = $value->text;
+
+ $otherPageContent = new PageContent();
+ $otherPageContent->elementId = $pageContent->elementId;
+ $otherPageContent->pageId = $pageContent->pageId;
+ $otherPageContent->languageid = $project->getDefaultLanguageId();
+ $otherPageContent->load();
+
+ if ( $otherPageContent->isPersistent() ) {
+ $otherValue = new Value();
+ $otherValue->contentid = $pageContent->contentId;
+ $otherValue->load();
+ $inhalt = $otherValue->text;
+ }
}
// Wenn Inhalt leer, dann Vorbelegung verwenden
diff --git a/modules/cms/macros/MacroRunner.class.php b/modules/cms/macros/MacroRunner.class.php
@@ -5,6 +5,7 @@ namespace cms\macros;
use cms\generator\PageContext;
use cms\model\Element;
+use cms\model\PageContent;
use cms\model\Template;
use cms\model\Value;
use logger\Logger;
@@ -49,17 +50,22 @@ class MacroRunner
$resolver->addResolver('setting',function ($var) {
return ArrayUtils::getSubValue($this->page->getSettings(), explode('.', $var));
});
- $resolver->addResolver('element',function ($var) {
+ $resolver->addResolver('element',function ($var) use($pageContext) {
$template = new Template($this->page->templateid);
$elements = $template->getElementNames();
$elementid = array_search($var, $elements);
+ $element = new Element($elementid);
+ $element->load();
+
+ $pageContent = new PageContent();
+ $pageContent->pageId = $this->page->pageid;
+ $pageContent->languageid = $pageContext->languageId;
+ $pageContent->elementId = $elementid;
+ $pageContent->load();
+
$value = new Value();
- $value->elementid = $elementid;
- $value->element = new Element($elementid);
- $value->element->load();
- $value->pageid = $this->page->pageid;
- $value->languageid = $this->page->languageid;
+ $value->contentid = $pageContent->contentId;
$value->load();
return $value->getRawValue();
diff --git a/modules/cms/model/Page.class.php b/modules/cms/model/Page.class.php
@@ -193,8 +193,11 @@ SQL
/**
- * Kopieren der Inhalts von einer anderen Seite
- * @param $otherpageid integer ID der Seite, von der der Inhalt kopiert werden soll
+ * Copy another page.
+ *
+ * Copies the contents of another page and merge it into this one.
+ *
+ * @param $otherpageid integer ID of the page which should be copied
*/
function copyValuesFromPage( $otherpageid )
{
@@ -202,25 +205,41 @@ SQL
foreach( $this->getElementIds() as $elementid )
{
- $project = new Project( $this->projectid );
+ $project = $this->getProject();
foreach( $project->getLanguages() as $lid=>$lname )
{
- $val = new Value();
- $val->element = new Element( $elementid );
-
- $val->objectid = $otherpageid;
- $val->pageid = Page::getPageIdFromObjectId( $otherpageid );
- $val->languageid = $lid;
- $val->load();
-
- // Inhalt nur speichern, wenn vorher vorhanden
- if ( $val->isPersistent() )
- {
- $val->objectid = $this->objectid;
- $val->pageid = Page::getPageIdFromObjectId( $this->objectid );
- $val->add();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $this->pageid;
+ $pageContent->languageid = $lid;
+ $pageContent->elementId = $elementid;
+ $pageContent->load();
+
+ $value = new Value();
+ $value->contentid = $pageContent->contentId;
+ $value->load();
+
+ $otherPageContent = new PageContent();
+ $otherPageContent->pageId = $this->pageid;
+ $otherPageContent->languageid = $lid;
+ $otherPageContent->elementId = $elementid;
+ $otherPageContent->load();
+
+ if ( $otherPageContent->isPersistent() ) {
+
+ $value = new Value();
+ $value->contentid = $otherPageContent->contentId;
+ $value->load();
+
+ if ( $value->isPersistent() ) {
+ if ( !$pageContent->isPersistent() )
+ $pageContent->persist();
+
+ $value->contentid = $pageContent->contentId;
+ $value->persist();
+ }
}
}
+
}
}
diff --git a/modules/cms/model/Project.class.php b/modules/cms/model/Project.class.php
@@ -460,30 +460,8 @@ SQL
*/
public function checkLimit()
{
- $root = new Folder( $this->getRootObjectId() );
- $root->projectid = $this->projectid;
-
- $pages = $this->getAllObjectIds( array('page') );
- $languages = $this->getLanguageIds();
-
- foreach( $pages as $objectid )
- {
- $page = new Page( $objectid );
- $page->load();
- foreach( $page->getElementIds() as $eid )
- {
- foreach( $languages as $lid )
- {
- $value = new Value();
- $value->element = new Element($eid);
- $value->pageid = $page->pageid;
- $value->languageid = $lid;
-
- $value->checkLimit();
- }
- }
- }
-
+ // not necessary any more.
+ // this is done while saving a value!
}
diff --git a/modules/cms/model/Value.class.php b/modules/cms/model/Value.class.php
@@ -28,7 +28,7 @@ class Value extends ModelBase
* ID dieser Inhaltes
* @type Integer
*/
- var $valueid=0;
+ public $valueid=0;
/**
* Content ID.
@@ -36,20 +36,7 @@ class Value extends ModelBase
*/
public $contentid;
- /**
- * Seiten-Objekt der ?bergeordneten Seite
- * @type Page
- * @deprecated
- */
- var $page;
-
- /**
- * Seiten-Id der uebergeordneten Seite
- * @type Integer
- * @deprecated
- */
- var $pageid;
-
+
/**
* Objekt-ID, auf die verlinkt wird
* @type Integer
@@ -81,19 +68,6 @@ class Value extends ModelBase
* @deprecated
*/
var $element;
-
- /**
- * Element-Id
- * @type Integer
- * @deprecated
- */
- var $elementid;
-
- /**
- * Der eigentliche Inhalt des Elementes
- * @type String
- */
- var $value;
/**
* file blob
@@ -120,36 +94,21 @@ class Value extends ModelBase
var $lastchangeUserName;
/**
- * Schalter, ob dieser Inhalt der aktive Inhalt ist
+ * Is this content active?
+ *
+ * Only 1 value (mostly the latest) in a content is active.
+ *
* @type Boolean
*/
var $active;
/**
- * @type Publish
- */
- public $publisher;
-
- /**
+ * Is this content public available?
* @type boolean
*/
var $publish = false;
/**
- * @type Boolean
- * @deprecated
- */
- public $simple;
-
-
- /**
- * Sprach-Id.
- * @var int
- * @deprecated
- */
- public $languageid;
-
- /**
* Format
*
* @var int
@@ -315,10 +274,6 @@ SQL
$storeValueAsBase64 = DB::get()->conf['base64'];
- if ( $storeValueAsBase64 )
- $this->value = base64_decode( $this->value );
-
-
if ( $this->file === null )
$stmt->setNull ( 'file' );
elseif( $storeValueAsBase64 )
diff --git a/modules/util/Tree.class.php b/modules/util/Tree.class.php
@@ -4,6 +4,7 @@ namespace util;
use cms\action\RequestParams;
use cms\base\Language as L;
+use cms\model\PageContent;
use cms\model\Permission;
use cms\model\Alias;
use cms\model\Element;
@@ -372,6 +373,13 @@ class Tree
}
+ /**
+ * Gets the linked object (if there is one).
+ *
+ * @param $id
+ * @return void
+ * @throws exception\ObjectNotFoundException
+ */
public function pageelement($id)
{
$ids = explode('_', $id);
@@ -385,22 +393,27 @@ class Tree
$element = new Element($elementid);
$element->load();
+ $pageContent = new PageContent();
+ $pageContent->pageId = $page->pageid;
+ $pageContent->elementId = $elementid;
+ $project = $page->getProject();
+ $pageContent->languageid = $project->getDefaultLanguageId();
+ $pageContent->load();
+
$value = new Value();
- $value->pageid = $page->pageid;
- $value->element = $element;
- $value->languageid = $page->languageid;
+ $value->contentid = $pageContent->contentId;
$value->load();
if (BaseObject::available($value->linkToObjectId)) {
$o = new BaseObject($value->linkToObjectId);
$o->load();
$treeElement = new TreeElement();
- $treeElement->type = $o->getType();
+ $treeElement->type = $o->getType();
$treeElement->action = $o->getType();
- $treeElement->id = $o->objectid;
+ $treeElement->id = $o->objectid;
$treeElement->internalId = $o->objectid;
$treeElement->extraId = array();
- $treeElement->text = $o->getName();
+ $treeElement->text = $o->getName();
$treeElement->description = L::lang('' . $o->getType()) . ' ' . $o->objectid;
$this->addTreeElement($treeElement);
@@ -412,7 +425,6 @@ class Tree
public function value($id)
{
- //echo "id: $id";
if ($id != 0) {
$value = new Value();
$value->loadWithId($id);
@@ -432,7 +444,7 @@ class Tree
}
$treeElement->action = $object->getType();
$treeElement->icon = $object->getType();
- $treeElement->extraId = array(RequestParams::PARAM_LANGUAGE_ID => $value->languageid);
+ $treeElement->extraId = array(RequestParams::PARAM_LANGUAGE_ID => $object->getProject()->getDefaultLanguageId());
$treeElement->description = L::lang('' . $object->getType());
if ($object->desc != '')