openrat-cms

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

commit 1518859dfcd601ba11b470f0f70641ddc3c632b9
parent 5c68640fa95251f6688a77a2735e7c7804f7a938
Author: dankert <devnull@localhost>
Date:   Tue, 30 Oct 2007 00:19:28 +0100

Auslagerung der Auswertung von Request-Variablen in eigene Methode.

Diffstat:
actionClasses/IndexAction.class.php | 235+++++++++++++++++++++++++++++++++++++++++++++++++------------------------------
1 file changed, 147 insertions(+), 88 deletions(-)

diff --git a/actionClasses/IndexAction.class.php b/actionClasses/IndexAction.class.php @@ -590,36 +590,13 @@ class IndexAction extends Action $this->callSubAction('show'); } - if ( $this->getRequestId() != 0 ) - $project = new Project( $this->getRequestId() ); - else - $project = new Project( $this->getRequestVar('projectid') ); + $this->evaluateRequestVars( array('projectid'=>$this->getRequestId()) ); + + $project = Session::getProject(); + $language = Session::getProjectLanguage(); - if ( $project->projectid != PROJECTID_ADMIN ) - { - $project->load(); - - Session::setProject( $project ); - - $language = new Language( $this->hasRequestVar('languageid')?$this->getRequestVar('languageid'):$project->getDefaultLanguageId() ); - $language->load(); - Session::setProjectLanguage( $language ); - - $model = new Model( $this->hasRequestVar('modelid')?$this->getRequestVar('modelid'):$project->getDefaultModelId() ); - $model->load(); - Session::setProjectModel( $model ); - - $object = new Object( $project->getRootObjectId() ); - $object->objectLoadRaw(); - Session::setObject( $object ); - - $user->loadRights( $project->projectid,$language->languageid ); - Session::setUser( $user ); - } - else - { - Session::setProject( $project ); - } + $user->loadRights( $project->projectid,$language->languageid ); + Session::setUser( $user ); } @@ -630,49 +607,18 @@ class IndexAction extends Action { $this->callSubAction('show'); } - - $object = new Object( $this->getRequestId() ); - $object->objectLoadRaw(); - Session::setObject( $object ); - - $project = new Project( $object->projectid ); - $project->load(); - Session::setProject( $project ); - - $language = new Language( $this->hasRequestVar('languageid')?$this->getRequestVar('languageid'):$project->getDefaultLanguageId() ); - $language->load(); - Session::setProjectLanguage( $language ); - - $model = new Model( $this->hasRequestVar('modelid')?$this->getRequestVar('modelid'):$project->getDefaultModelId() ); - $model->load(); - Session::setProjectModel( $model ); - + + $this->evaluateRequestVars( array('objectid'=>$this->getRequestId()) ); + $this->evaluateRequestVars( array('objectid'=>$this->getRequestId()) ); + $user->loadRights( $project->projectid,$language->languageid ); Session::setUser( $user ); } function language() - { - $language = new Language( $this->getRequestId() ); - $language->load(); - Session::setProjectLanguage( $language ); - - $project = new Project( $language->projectid ); - $project->load(); - Session::setProject( $project ); - - $model = Session::getProjectModel(); - if ( !is_object($model) ) - { - $model = new Model( $project->getDefaultModelId() ); - $model->load(); - Session::setProjectModel( $model ); - } - - $object = new Object( $project->getRootObjectId() ); - $object->objectLoadRaw(); - Session::setObject( $object ); + { + $this->evaluateRequestVars( array('languageid'=>$this->getRequestId()) ); $user = Session::getUser(); $user->loadRights( $project->projectid,$language->languageid ); @@ -681,30 +627,115 @@ class IndexAction extends Action function model() - { - $model = new Model( $this->getRequestId() ); - $model->load(); - Session::setProjectModel( $model ); - - $project = new Project( $model->projectid ); - $project->load(); - Session::setProject( $project ); - - $language = Session::getProjectLanguage(); - if ( !is_object($language) || $language->projectid != $project->projectid ) - { - $language = new Language( $project->getDefaultLanguageId() ); - $language->load(); - Session::setProjectLanguage( $language ); - } - - $object = new Object( $project->getRootObjectId() ); - $object->objectLoadRaw(); - Session::setObject( $object ); - + { + $this->evaluateRequestVars( array('modelid'=>$this->getRequestId()) ); + $user = Session::getUser(); $user->loadRights( $project->projectid,$language->languageid ); Session::setUser( $user ); + } + + + /** + * Auswerten der Request-Variablen. + * + * @param Array $add + */ + function evaluateRequestVars( $add = array() ) + { + global $REQ; + $vars = $REQ + $add; + + if ( isset($vars['objectid']) ) + { + $object = new Object( $this->getRequestId() ); + $object->objectLoadRaw(); + Session::setObject( $object ); + + $project = new Project( $object->projectid ); + $project->load(); + Session::setProject( $project ); + + $language = new Language( isset($vars['languageid'])?$vars['languageid']:$project->getDefaultLanguageId() ); + $language->load(); + Session::setProjectLanguage( $language ); + + $model = new Model( isset($vars['modelid'])?$vars['modelid']:$project->getDefaultModelId() ); + $model->load(); + Session::setProjectModel( $model ); + } + elseif ( isset($vars['languageid']) ) + { + $language = new Language( $vars['languageid'] ); + $language->load(); + Session::setProjectLanguage( $language ); + + $project = new Project( $language->projectid ); + $project->load(); + Session::setProject( $project ); + + $model = Session::getProjectModel(); + if ( !is_object($model) ) + { + $model = new Model( $project->getDefaultModelId() ); + $model->load(); + Session::setProjectModel( $model ); + } + + $object = new Object( $project->getRootObjectId() ); + $object->objectLoadRaw(); + Session::setObject( $object ); + + $user = Session::getUser(); + $user->loadRights( $project->projectid,$language->languageid ); + Session::setUser( $user ); + + } + elseif ( isset($vars['modelid']) ) + { + $model = new Model( $vars['modelid'] ); + $model->load(); + Session::setProjectModel( $model ); + + $project = new Project( $model->projectid ); + $project->load(); + Session::setProject( $project ); + + $language = Session::getProjectLanguage(); + if ( !is_object($language) || $language->projectid != $project->projectid ) + { + $language = new Language( $project->getDefaultLanguageId() ); + $language->load(); + Session::setProjectLanguage( $language ); + } + + $object = new Object( $project->getRootObjectId() ); + $object->objectLoadRaw(); + Session::setObject( $object ); + + $user = Session::getUser(); + $user->loadRights( $project->projectid,$language->languageid ); + Session::setUser( $user ); + } + elseif ( isset($vars['projectid']) ) + { + $project = new Project( $vars['projectid'] ); + $project->load(); + + Session::setProject( $project ); + + $language = new Language( isset($vars['languageid'])?$vars['languageid']:$project->getDefaultLanguageId() ); + $language->load(); + Session::setProjectLanguage( $language ); + + $model = new Model( isset($vars['modelid'])?$vars['modelid']:$project->getDefaultModelId() ); + $model->load(); + Session::setProjectModel( $model ); + + $object = new Object( $project->getRootObjectId() ); + $object->objectLoadRaw(); + Session::setObject( $object ); + } } @@ -773,8 +804,36 @@ class IndexAction extends Action $projectid = intval( $this->getRequestVar('projectid' ) ); $languageid = intval( $this->getRequestVar('languageid') ); + $modelid = intval( $this->getRequestVar('modelid' ) ); $objectid = intval( $this->getRequestVar('objectid' ) ); - + $elementid = intval( $this->getRequestVar('elementid' ) ); + + if ( $projectid != 0 ) + { + $project = new Project( $projectid ); + Session::setProject($project); + } + elseif ( $languageid != 0 ) + { + $language = new Language( $languageid ); + Session::setProjectLanguage($language); + } + elseif ( $modelid != 0 ) + { + $model = new Model( $modelid ); + Session::setProjectModel($model); + } + elseif ( $objectid != 0 ) + { + $object = new Object( $objectid ); + Session::setObject($object); + } + if ( $elementid != 0 ) + { + $element = new Element( $elementid ); + Session::setElement($element); + } + $project = Session::getProject(); if ( $project->projectid == PROJECTID_ADMIN )