| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /*
- * This file is part of MODX Revolution.
- *
- * Copyright (c) MODX, LLC. All Rights Reserved.
- *
- * For complete copyright and license information, see the COPYRIGHT and LICENSE
- * files found in the top-level directory of this distribution.
- */
- /**
- * Loads the view context preview page.
- *
- * @package modx
- * @subpackage manager.controllers
- */
- class ContextViewManagerController extends modManagerController {
- public $contextKey = '';
- /**
- * Check for any permissions or requirements to load page
- * @return bool
- */
- public function checkPermissions() {
- return $this->modx->hasPermission('view_context');
- }
- /**
- * Register custom CSS/JS for the page
- * @return void
- */
- public function loadCustomCssJs() {
- $this->addHtml("<script>
- Ext.onReady(function() {
- MODx.load({
- xtype: 'page-context-view'
- ,key: MODx.request.key
- });
- });</script>");
- }
- /**
- * Custom logic code here for setting placeholders, etc
- * @param array $scriptProperties
- * @return mixed
- */
- public function process(array $scriptProperties = array()) {
- /* get context by key */
- $context= $this->modx->getObjectGraph('modContext', '{"ContextSettings":{}}', $scriptProperties['key']);
- if ($context == null) {
- return $this->failure($this->modx->lexicon('context_with_key_not_found',array('key' => $scriptProperties['key'])));
- }
- if (!$context->checkPolicy('view')) return $this->failure($this->modx->lexicon('permission_denied'));
- /* prepare context data for display */
- if (!$context->prepare()) {
- return $this->failure($this->modx->lexicon('context_err_load_data'), $context->toArray());
- }
- /* assign context and display */
- $placeholders = array();
- $placeholders['context'] = $context;
- $placeholders['_ctx'] = $context->get('key');
- $this->contextKey = $context->get('key');
- return $this->modx->smarty->fetch('context/view.tpl');
- }
- /**
- * Return the pagetitle
- *
- * @return string
- */
- public function getPageTitle() {
- return $this->modx->lexicon('context').': '.$this->contextKey;
- }
- /**
- * Return the location of the template file
- * @return string
- */
- public function getTemplateFile() {
- return 'context/view.tpl';
- }
- /**
- * Specify the language topics to load
- * @return array
- */
- public function getLanguageTopics() {
- return array('context');
- }
- /**
- * Get the Help URL
- * @return string
- */
- public function getHelpUrl() {
- return 'Contexts';
- }
- }
|