本文整理汇总了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();
}
示例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);
}
}
示例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);
}
}