当前位置: 首页>>代码示例>>PHP>>正文


PHP MVCUtils::initializeViewer方法代码示例

本文整理汇总了PHP中MVCUtils::initializeViewer方法的典型用法代码示例。如果您正苦于以下问题:PHP MVCUtils::initializeViewer方法的具体用法?PHP MVCUtils::initializeViewer怎么用?PHP MVCUtils::initializeViewer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MVCUtils的用法示例。


在下文中一共展示了MVCUtils::initializeViewer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * Construct the viewer and load values
  *
  * If you intend on overriding this classes constructor you should ensure 
  * that you call parent::__construct(); to ensure that the class 
  * is loaded correctly.
  * 
  * @param string $templateID The ID of the template for the page to be viewed. This ID is the ID of the template in the database.
  * @param string $formName The name of the form (if any) which has been submitted
  * @param array $fieldData An associative array for field/value pairs from the submitted form (if any)
  * @todo Add authnetication checks to call processInvalid or processInvalid accordingly.
  */
 public function __construct($templateIDS, $formName = null, $modelModuleName, $viewerModuleName, &$fieldData = array(), &$errors = array())
 {
     //Store class variables
     $this->templateIDStack = $templateIDS;
     $this->templateID = end($templateIDS);
     $this->formName = $formName;
     $this->fieldData =& $fieldData;
     $this->errors =& $errors;
     if (count($errors) > 0) {
         $this->processInvalid();
     } else {
         $this->processValid();
     }
     //something
     //Initialise the viewer
     $this->viewer = MVCUtils::initializeViewer($this->templateIDStack, $formName, $viewerModuleName, $fieldData, $errors);
     //The $viewer class variable is now loaded
     $this->code = $this->viewer->getCode();
 }
开发者ID:radiowarwick,项目名称:digiplay_legacy,代码行数:31,代码来源:Model.class.php

示例2: __construct

 /**
  * Initialise the Renderer object
  * 
  * Will determine if the required request variables are present.
  * If not present an exception will be thrown and caught 
  * 
  * @var string
  */
 public function __construct($templateID, $templateIDS, $fieldData = array(), $errors = array())
 {
     global $cfg;
     try {
         $this->templateIDStack = $templateIDS;
         $this->templateIDStack[] = $templateID;
         $this->fieldData = $fieldData;
         $this->errors = $errors;
         if ($this->checkAuth()) {
             $db = Database::getInstance($cfg['MVC']['dsn']);
             $this->viewerModuleName = $db->getOne("SELECT modulename FROM templates WHERE templateid = ?", array(end($this->templateIDStack)));
             $newViewer = MVCUtils::initializeViewer($this->templateIDStack, null, $this->viewerModuleName, $this->fieldData, $this->errors);
         } else {
             $templateID = MVCUtils::getTemplateID($cfg['Auth']['rendererPermissionErrorTemplate']);
             array_pop($this->templateIDStack);
             $this->templateIDStack[] = $templateID;
             $newViewer = MVCUtils::initializeViewer($this->templateIDStack, null, 'tkfecommon', $this->fieldData, $this->errors);
         }
         $this->viewer = $newViewer;
         //If a problem occured then return a textual error
     } catch (Exception $e) {
         $this->viewer = new ExceptionViewer($e);
     }
 }
开发者ID:radiowarwick,项目名称:digiplay_legacy,代码行数:32,代码来源:Renderer.class.php

示例3: __construct


//.........这里部分代码省略.........
         }
         //Load the module names
         $this->viewerModuleName = $db->getOne("SELECT modulename FROM templates WHERE templateid = ?", array($this->templateID));
         if (isset($this->fieldData['moduleName']) && $this->fieldData['moduleName'] != '') {
             $this->modelModuleName = $this->fieldData['moduleName'];
         } else {
             $this->modelModuleName = 'MVC';
         }
         ### Check that the user has permission to use the submitted form
         // get the realmid of the submitted form
         $sql = 'SELECT realmid FROM forms WHERE formname = ? AND modulename = ?';
         $realmid = $db->getOne($sql, array($this->formName, $this->modelModuleName));
         $auth = Auth::getInstance();
         // If the realm id could not found then allow access
         // (this will cause 'Model' to be used - so no processing occurs)
         if (!$realmid) {
             //Access is allowed
             $modelAccess = true;
         } else {
             //Check if the user has access to the realm associated with the form
             if (!$auth->isLoggedIn()) {
                 $auth->attemptLogin($cfg['Auth']['anonuser']);
             } else {
                 $auth->attemptLogin();
             }
             $path = AuthUtil::getRealmPath($realmid);
             if (!AuthUtil::getDetailedUserrealmAccess($path, $auth->getUserID())) {
                 //If the user does not have permission, show an error
                 $modelAccess = false;
                 $errors = array('permission' => 'You do not have permission to use the submited form');
             } else {
                 //Set access flag to false
                 $modelAccess = true;
             }
         }
         //If access to the requested form is allowed
         if ($modelAccess) {
             //If a form was submitted
             if (isset($this->formName) && !is_null($this->formName)) {
                 //Then validate the form data
                 //Store any errors in $errors
                 $errors = $this->validate();
             }
         }
         //If the user has access to the requested template
         if ($this->checkAuth()) {
             if ($modelAccess) {
                 $newModel = MVCUtils::initializeModel(array($this->templateID), $this->formName, $this->modelModuleName, $this->viewerModuleName, $this->fieldData, $errors);
             } else {
                 $this->templateID = MVCUtils::getPermErrorTemplateID();
                 $newModel = MVCUtils::initializeModel(array($this->templateID), null, 'MVC', 'Auth', $this->fieldData, $errors);
             }
             //If there are errors then these will be passed in the $errors array,
             //if there are no errors then $errors will simple be an empty array
             //If no form name was passed, $this->formName will be null
         } else {
             //The user is not authorised to access this area
             $auth = Auth::getInstance();
             //Set the template ID to that of the permission error template
             $this->templateID = MVCUtils::getPermErrorTemplateID();
             //Get the reason for failure and specify an error message
             $reason = $auth->getFailureReason();
             if (count($errors) == 0) {
                 if ($reason == 2) {
                     $errors = array('permission' => 'Your session has been inactive for too long');
                 } elseif ($reason != 0) {
                     $errors = array('permission' => 'Unfortunately, an error has occurred. Please attempt logging in again.');
                 } else {
                     $errors = array('permission' => 'You do not have permission to view this page');
                 }
             }
             //Initialise the viewer for the permission error template
             if ($auth->getUserID() == $cfg['Auth']['anonuserID'] && $cfg['Auth']['anonuserredirect'] == 'y') {
                 $permErrorTID = $cfg['Auth']['anonuserRedirectTemplateID'];
                 $newModel = MVCUtils::initializeViewer(array($permErrorTID), null, 'tkfecommon', null, $errors);
             } else {
                 $permErrorTID = MVCUtils::getTemplateID($cfg['Auth']['permissionErrorTemplate']);
                 $newModel = MVCUtils::initializeViewer(array($permErrorTID), null, 'tkfecommon', null, $errors);
             }
         }
         //Print out the page
         echo $newModel->getCode();
     } catch (Exception $e) {
         //If a problem occured then create an error page
         $ev = new ExceptionViewer($e);
         $ev->printTemplate();
         exit;
     }
     //Show the execution time if set in config file
     if ($cfg['smarty']['showExecTime']) {
         list($usec, $sec) = explode(" ", microtime());
         $endTime = (double) $usec + (double) $sec;
         $totalTime = round($endTime - $startTime, 3);
         $log = Database::getQueryLog();
         echo "Total time to parse page: {$totalTime} seconds<br />\n";
         echo "Total number of queries: " . Database::getTotalQueries();
         echo "<br />Log: ";
         print_r($log);
     }
 }
开发者ID:radiowarwick,项目名称:digiplay_legacy,代码行数:101,代码来源:Page.class.php


注:本文中的MVCUtils::initializeViewer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。