本文整理汇总了PHP中modX::setOption方法的典型用法代码示例。如果您正苦于以下问题:PHP modX::setOption方法的具体用法?PHP modX::setOption怎么用?PHP modX::setOption使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类modX
的用法示例。
在下文中一共展示了modX::setOption方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
/**
* Ensure all tests have a reference to the MODX object
*/
public function setUp()
{
$this->modx =& MODxTestHarness::getFixture('modX', 'modx');
if ($this->modx->request) {
$this->modx->request->loadErrorHandler();
$this->modx->error->reset();
}
/* setup some basic test-environment options to allow us to simulate a site */
$this->modx->setOption('http_host', 'unit.modx.com');
$this->modx->setOption('base_url', '/');
$this->modx->setOption('site_url', 'http://unit.modx.com/');
}
示例2: getEditorName
/**
* Get the configured editor name
*
* @return string
*/
protected function getEditorName()
{
// First check for an RTE defined on our particular "namespace"
$editor = $this->modx->getOption("{$this->config['namespace']}.which_editor", null, $this->modx->getOption("{$this->config['namespace']}.which_editor", $this->options, null));
if (!$editor || empty($editor)) {
// No particular namespace editor found, let's fall back to the global one
$editor = $this->modx->getOption('which_editor', null, null);
} else {
// We have an RTE defined, which might not be the "default" system wide one (which_editor setting)
$this->modx->setOption('which_editor', $editor);
}
return $editor;
}
示例3: getInstance
/**
* Return the appropriate Resource controller class based on the class_key request parameter
*
* @static
* @param modX $modx A reference to the modX instance
* @param string $className The controller class name that is attempting to be loaded
* @param array $config An array of configuration options for the action
* @return modManagerController The proper controller class
*/
public static function getInstance(modX &$modx, $className, array $config = array())
{
$resourceClass = 'modDocument';
$isDerivative = false;
if (!empty($_REQUEST['class_key'])) {
$isDerivative = true;
$resourceClass = in_array($_REQUEST['class_key'], array('modDocument', 'modResource')) ? 'modDocument' : $_REQUEST['class_key'];
if ($resourceClass == 'modResource') {
$resourceClass = 'modDocument';
}
} else {
if (!empty($_REQUEST['id']) && $_REQUEST['id'] != 'undefined' && strlen($_REQUEST['id']) === strlen((int) $_REQUEST['id'])) {
/** @var modResource $resource */
$resource = $modx->getObject('modResource', array('id' => $_REQUEST['id']));
if ($resource && !in_array($resource->get('class_key'), array('modDocument', 'modResource'))) {
$isDerivative = true;
$resourceClass = $resource->get('class_key');
} else {
if ($resource && $resource->get('class_key') == 'modResource') {
/* fix improper class key */
$resource->set('class_key', 'modDocument');
$resource->save();
}
}
}
}
if ($isDerivative) {
$resourceClass = str_replace(array('../', '..', '/', '\\'), '', $resourceClass);
if (!class_exists($resourceClass) && !$modx->loadClass($resourceClass)) {
$resourceClass = 'modDocument';
}
$delegateView = $modx->call($resourceClass, 'getControllerPath', array(&$modx));
$action = strtolower(str_replace(array('Resource', 'ManagerController'), '', $className));
$className = str_replace('mod', '', $resourceClass) . ucfirst($action) . 'ManagerController';
$controllerFile = $delegateView . $action . '.class.php';
if (!file_exists($controllerFile)) {
// We more than likely are using a custom manager theme without overridden controller, let's try with the default theme
$theme = $modx->getOption('manager_theme', null, 'default');
$modx->setOption('manager_theme', 'default');
$delegateView = $modx->call($resourceClass, 'getControllerPath', array(&$modx));
$controllerFile = $delegateView . $action . '.class.php';
// Restore custom theme (so we don't process/use default theme assets)
$modx->setOption('manager_theme', $theme);
}
require_once $controllerFile;
}
$controller = new $className($modx, $config);
$controller->resourceClass = $resourceClass;
return $controller;
}
示例4: ajaxResult
/**
* Show the AJAX result
*
* @param array $options Template options
* @return string
*/
public function ajaxResult($options)
{
$options['language'] = in_array($options['language'], $this->getOption('languages')) ? $options['language'] : 'en';
$this->modx->setOption('cultureKey', $options['language']);
$output = array();
if ($options['add']) {
$index = $this->add($options['add']);
if ($index !== false) {
$fields = array_merge($_SESSION['rememberThis'][$index]['element'], array('deleteurl' => $this->modx->makeUrl($this->modx->getOption('site_start'), '', array($this->getOption('queryDelete') => $index + 1)), 'deleteid' => $index + 1));
$output['result'] = $this->modx->getChunk($this->getOption('rowTpl'), $fields);
$output['count'] = count($_SESSION['rememberThis']);
}
if ($this->getOption('debug')) {
$output['debug'] = '<pre>DEBUG: $_SESSION[\'rememberThis\'] = ' . print_r($_SESSION['rememberThis'], true) . '</pre>';
}
} else {
if ($options['delete']) {
$this->delete($options['delete']);
if (count($_SESSION['rememberThis']) > 0) {
$output['result'] = '';
$output['count'] = count($_SESSION['rememberThis']);
} else {
$output['result'] = $this->modx->getChunk($this->getOption('noResultsTpl'));
$output['count'] = $this->getOption('showZeroCount') ? '0' : '';
}
if ($this->getOption('debug')) {
$output['debug'] = '<pre>DEBUG: $_SESSION["rememberThis"] = ' . print_r($_SESSION['rememberThis'], true) . '</pre>';
}
}
}
return $output;
}
示例5: getInstance
/**
* Return the appropriate Resource controller class based on the class_key request parameter
*
* @static
* @param modX $modx A reference to the modX instance
* @param string $className The controller class name that is attempting to be loaded
* @param array $config An array of configuration options for the action
* @return modManagerController The proper controller class
*/
public static function getInstance(modX &$modx, $className, array $config = array())
{
$resourceClass = 'modDocument';
$isDerivative = false;
if (!empty($_REQUEST['class_key'])) {
$isDerivative = true;
$resourceClass = in_array($_REQUEST['class_key'], array('modDocument', 'modResource')) ? 'modDocument' : $_REQUEST['class_key'];
if ($resourceClass == 'modResource') {
$resourceClass = 'modDocument';
}
} else {
if (!empty($_REQUEST['id']) && $_REQUEST['id'] != 'undefined') {
/** @var modResource $resource */
$resource = $modx->getObject('modResource', $_REQUEST['id']);
if ($resource && !in_array($resource->get('class_key'), array('modDocument', 'modResource'))) {
$isDerivative = true;
$resourceClass = $resource->get('class_key');
} else {
if ($resource && $resource->get('class_key') == 'modResource') {
/* fix improper class key */
$resource->set('class_key', 'modDocument');
$resource->save();
}
}
}
}
if ($isDerivative) {
$resourceClass = str_replace(array('../', '..', '/', '\\'), '', $resourceClass);
if (!class_exists($resourceClass) && !$modx->loadClass($resourceClass)) {
$resourceClass = 'modDocument';
}
$delegateView = $modx->call($resourceClass, 'getControllerPath', array(&$modx));
$action = strtolower(str_replace(array('Resource', 'ManagerController'), '', $className));
$className = str_replace('mod', '', $resourceClass) . ucfirst($action) . 'ManagerController';
$controllerFile = $delegateView . $action . '.class.php';
if (!file_exists($controllerFile)) {
$modx->setOption('manager_theme', 'default');
$delegateView = $modx->call($resourceClass, 'getControllerPath', array(&$modx));
$controllerFile = $delegateView . $action . '.class.php';
}
require_once $controllerFile;
}
$controller = new $className($modx, $config);
$controller->resourceClass = $resourceClass;
return $controller;
}
示例6: setUp
/**
* Ensure all tests have a reference to the MODX object
*/
public function setUp()
{
$this->modx =& MODxTestHarness::getFixture('modX', 'modx');
if ($this->modx->request) {
$this->modx->request->loadErrorHandler();
$this->modx->error->reset();
}
/* setup some basic test-environment options to allow us to simulate a site */
$this->modx->setOption('http_host', 'unit.modx.com');
$this->modx->setOption('base_url', '/');
$this->modx->setOption('site_url', 'http://unit.modx.com/');
$corePath = $this->modx->getOption('base_path') . 'extras/minishop/core/components/minishop2/';
require_once $corePath . 'model/minishop2/minishop2.class.php';
$this->modx->setOption('minishop2.assets_path', $this->modx->getOption('base_path') . 'extras/minishop/assets/components/minishop2/');
$this->modx->setOption('minishop2.assets_url', $this->modx->getOption('base_url') . 'extras/minishop/assets/components/minishop2/');
$this->modx->miniShop2 = new miniShop2($this->modx);
$this->modx->lexicon->load('minishop2:default');
$this->path = array('processors_path' => $this->modx->getOption('processorsPath', $this->modx->miniShop2->config, $corePath . 'processors/'));
}
示例7: modX
$modx= new modX('', $options);
/* set debugging/logging options */
//$modx->setDebug(E_ALL & ~E_NOTICE);
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
//$modx->setLogTarget('FILE');
/* initialize the proper context */
$ctx = isset($_REQUEST['ctx']) && !empty($_REQUEST['ctx']) ? $_REQUEST['ctx'] : 'mgr';
$modx->initialize($ctx);
if (defined('MODX_REQP') && MODX_REQP === false) {
} else if (!$modx->context->checkPolicy('load')) {
@session_write_close();
die();
}
if ($ctx == 'mgr') {
$ml = $modx->getOption('manager_language',null,'en');
if ($ml != 'en') {
$modx->lexicon->load($ml.':core:default');
$modx->setOption('cultureKey',$ml);
}
}
/* handle the request */
$connectorRequestClass = $modx->getOption('modConnectorRequest.class',null,'modConnectorRequest');
$modx->config['modRequest.class'] = $connectorRequestClass;
$modx->getRequest();
$modx->request->sanitizeRequest();
示例8: dirname
if (is_readable(VAPOR_DIR . 'config.php')) {
$vaporConfigOptions = @(include VAPOR_DIR . 'config.php');
if (is_array($vaporConfigOptions)) {
$vaporOptions = array_merge($vaporOptions, $vaporConfigOptions);
}
}
include dirname(dirname(__FILE__)) . '/config.core.php';
include MODX_CORE_PATH . 'model/modx/modx.class.php';
if (!XPDO_CLI_MODE && !ini_get('safe_mode')) {
set_time_limit(0);
}
$options = array('log_level' => xPDO::LOG_LEVEL_INFO, 'log_target' => array('target' => 'FILE', 'options' => array('filename' => 'vapor-' . strftime('%Y%m%dT%H%M%S', $startTime) . '.log')), xPDO::OPT_CACHE_DB => false, xPDO::OPT_SETUP => true);
$modx = new modX('', $options);
$modx->setLogTarget($options['log_target']);
$modx->setLogLevel($options['log_level']);
$modx->setOption(xPDO::OPT_CACHE_DB, false);
$modx->setOption(xPDO::OPT_SETUP, true);
$modx->setDebug(-1);
$modx->startTime = $startTime;
$modx->getVersionData();
$modxVersion = $modx->version['full_version'];
if (version_compare($modxVersion, '2.2.1-pl', '>=')) {
$modx->initialize('mgr', $options);
} else {
$modx->initialize('mgr');
}
if (!$modx->hasPermission('Vapor')) {
die('Access denied');
}
$modx->setLogTarget($options['log_target']);
$modx->setLogLevel($options['log_level']);
示例9: changeOrderStatus
/**
* Switch order status
*
* @param integer $order_id The id of msOrder
* @param integer $status_id The id of msOrderStatus
*
* @return boolean|string
*/
public function changeOrderStatus($order_id, $status_id)
{
// This method can be overriden by order class
if (empty($this->order) || !is_object($this->order)) {
$ctx = !$this->modx->context->key || $this->modx->context->key == 'mgr' ? 'web' : $this->modx->context->key;
$this->initialize($ctx);
}
if (is_object($this->order) && method_exists($this->order, 'changeOrderStatus')) {
return $this->order->changeOrderStatus($order_id, $status_id);
}
$error = '';
/* @var msOrder $order */
if (!($order = $this->modx->getObject('msOrder', $order_id))) {
$error = 'ms2_err_order_nf';
}
/* @var msOrderStatus $status */
if (!($status = $this->modx->getObject('msOrderStatus', array('id' => $status_id, 'active' => 1)))) {
$error = 'ms2_err_status_nf';
} else {
if ($old_status = $this->modx->getObject('msOrderStatus', array('id' => $order->get('status'), 'active' => 1))) {
if ($old_status->get('final')) {
$error = 'ms2_err_status_final';
} else {
if ($old_status->get('fixed')) {
if ($status->get('rank') <= $old_status->get('rank')) {
$error = 'ms2_err_status_fixed';
}
}
}
}
}
if ($order->get('status') == $status_id) {
$error = 'ms2_err_status_same';
}
if (!empty($error)) {
return $this->modx->lexicon($error);
}
$response = $this->invokeEvent('msOnBeforeChangeOrderStatus', array('order' => $order, 'status' => $order->get('status')));
if (!$response['success']) {
return $response['message'];
}
$order->set('status', $status_id);
if ($order->save()) {
$response = $this->invokeEvent('msOnChangeOrderStatus', array('order' => $order, 'status' => $status_id));
if (!$response['success']) {
return $response['message'];
}
$this->orderLog($order->get('id'), 'status', $status_id);
/* @var modContext $context */
if ($context = $this->modx->getObject('modContext', array('key' => $order->get('context')))) {
$context->prepare(true);
$lang = $context->getOption('cultureKey');
$this->modx->setOption('cultureKey', $lang);
$this->modx->lexicon->load($lang . ':minishop2:default', $lang . ':minishop2:cart');
}
$pls = $order->toArray();
$pls['cost'] = $this->formatPrice($pls['cost']);
$pls['cart_cost'] = $this->formatPrice($pls['cart_cost']);
$pls['delivery_cost'] = $this->formatPrice($pls['delivery_cost']);
$pls['weight'] = $this->formatWeight($pls['weight']);
$pls['payment_link'] = '';
if ($payment = $order->getOne('Payment')) {
if ($class = $payment->get('class')) {
$this->loadCustomClasses('payment');
if (class_exists($class)) {
/* @var msPaymentHandler|PayPal $handler */
$handler = new $class($order);
if (method_exists($handler, 'getPaymentLink')) {
$link = $handler->getPaymentLink($order);
$pls['payment_link'] = $this->modx->lexicon('ms2_payment_link', array('link' => $link));
}
}
}
}
/* @var modChunk $chunk*/
if ($status->get('email_manager')) {
$subject = '';
if ($chunk = $this->modx->newObject('modChunk', array('snippet' => $status->get('subject_manager')))) {
$chunk->setCacheable(false);
$subject = $this->processTags($chunk->process($pls));
}
$body = 'no chunk set';
if ($chunk = $this->modx->getObject('modChunk', $status->get('body_manager'))) {
$chunk->setCacheable(false);
$body = $this->processTags($chunk->process($pls));
}
$emails = array_map('trim', explode(',', $this->modx->getOption('ms2_email_manager', null, $this->modx->getOption('emailsender'))));
if (!empty($subject)) {
foreach ($emails as $email) {
if (preg_match('/^[^@а-яА-Я]+@[^@а-яА-Я]+(?<!\\.)\\.[^\\.а-яА-Я]{2,}$/m', $email)) {
$this->sendEmail($email, $subject, $body);
}
//.........这里部分代码省略.........
示例10: dirname
/**
* Include the main MODX Class
*/
require_once dirname(dirname(__FILE__)) . '/config.core.php';
if (!(include_once MODX_CORE_PATH . 'model/modx/modx.class.php')) {
include MODX_CORE_PATH . 'error/unavailable.include.php';
die('HandyMan temporarily unavailable!');
}
/**
* Instantiate the main MODX class for the manager context, load the parser and the lexicon service.
*/
$modx = new modX();
$modx->initialize('mgr');
$modx->getParser();
$modx->getService('lexicon', 'modLexicon');
$modx->setOption('modRequest.class', 'modRequest');
$modx->getRequest();
/* Include the main HandyMan class.
* This class takes care of authentication and provides the extension
* with functions to execute the requests.
*
* After inclusion, set up the $hm variable as the main object.
**/
define('HANDYMAN', true);
$hmPath = $modx->getOption('handyman.core_path');
if (empty($hmPath)) {
$hmPath = MODX_CORE_PATH . 'components/handyman/';
}
require_once $hmPath . 'classes/handyman.class.php';
$hm = new HandyMan($modx);
$hm->initialize();
示例11: process
public function process()
{
//$startTime = microtime(true);
try {
$vaporOptions = array('excludeExtraTablePrefix' => array(), 'excludeExtraTables' => array(), 'excludeFiles' => array(MODX_BASE_PATH . 'vapor', MODX_BASE_PATH . 'phpmyadmin', MODX_BASE_PATH . 'assets', MODX_BASE_PATH . 'core'));
if (is_readable(VAPOR_DIR . 'config.php')) {
$vaporConfigOptions = @(include VAPOR_DIR . 'config.php');
if (is_array($vaporConfigOptions)) {
$vaporOptions = array_merge($vaporOptions, $vaporConfigOptions);
}
}
if (!XPDO_CLI_MODE && !ini_get('safe_mode')) {
set_time_limit(0);
}
$options = array('log_level' => xPDO::LOG_LEVEL_INFO, 'log_target' => array('target' => 'FILE', 'options' => array('filename' => 'vapor-' . strftime('%Y%m%dT%H%M%S', $this->getProperty('startTime')) . '.log')), xPDO::OPT_CACHE_DB => false, xPDO::OPT_SETUP => true);
$modx = new modX('', $options);
$modx->setLogTarget($options['log_target']);
$modx->setLogLevel($options['log_level']);
$modx->setOption(xPDO::OPT_CACHE_DB, false);
$modx->setOption(xPDO::OPT_SETUP, true);
$modx->setDebug(-1);
$modx->startTime = $this->getProperty('startTime');
$modx->getVersionData();
$modxVersion = $modx->version['full_version'];
if (version_compare($modxVersion, '2.2.1-pl', '>=')) {
$modx->initialize('mgr', $options);
} else {
$modx->initialize('mgr');
}
/*$modx->setLogTarget($options['log_target']);
$modx->setLogLevel($options['log_level']);*/
$modx->setOption(xPDO::OPT_CACHE_DB, false);
$modx->setOption(xPDO::OPT_SETUP, true);
$modx->setDebug(-1);
$modxDatabase = $modx->getOption('dbname', $options, $modx->getOption('database', $options));
$modxTablePrefix = $modx->getOption('table_prefix', $options, '');
$core_path = realpath($modx->getOption('core_path', $options, MODX_CORE_PATH)) . '/';
$assets_path = realpath($modx->getOption('assets_path', $options, MODX_ASSETS_PATH)) . '/';
$manager_path = realpath($modx->getOption('manager_path', $options, MODX_MANAGER_PATH)) . '/';
$base_path = realpath($modx->getOption('base_path', $options, MODX_BASE_PATH)) . '/';
$modx->log(modX::LOG_LEVEL_INFO, "core_path=" . $core_path);
$modx->log(modX::LOG_LEVEL_INFO, "assets_path=" . $assets_path);
$modx->log(modX::LOG_LEVEL_INFO, "manager_path=" . $manager_path);
$modx->log(modX::LOG_LEVEL_INFO, "base_path=" . $base_path);
$modx->loadClass('transport.modPackageBuilder', '', false, true);
$builder = new modPackageBuilder($modx);
/** @var modWorkspace $workspace */
$workspace = $modx->getObject('modWorkspace', 1);
if (!$workspace) {
$modx->log(modX::LOG_LEVEL_FATAL, "no workspace!");
}
$package = $builder->createPackage(PKG_NAME, PKG_VERSION, PKG_RELEASE);
/* Defines the classes to extract (also used for truncation) */
$classes = $this->getClassesList();
$attributes = array('vehicle_class' => 'xPDOFileVehicle');
/* get all files from the components directory */
/*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_CORE_PATH . 'components');
$package->put(
array(
'source' => MODX_CORE_PATH . 'components',
'target' => 'return MODX_CORE_PATH;'
),
array(
'vehicle_class' => 'xPDOFileVehicle'
)
);*/
/* get all files from the assets directory */
/*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_BASE_PATH . 'assets');
$package->put(
array(
'source' => MODX_BASE_PATH . 'assets',
'target' => 'return MODX_BASE_PATH;'
),
array(
'vehicle_class' => 'xPDOFileVehicle'
)
);*/
/* get all files from the manager/components directory */
/*$modx->log(modX::LOG_LEVEL_INFO, "Packaging " . MODX_MANAGER_PATH . 'components');
$package->put(
array(
'source' => MODX_MANAGER_PATH . 'components',
'target' => 'return MODX_MANAGER_PATH;'
),
array(
'vehicle_class' => 'xPDOFileVehicle'
)
);*/
/* find other files/directories in the MODX_BASE_PATH */
$excludes = array('_build', 'setup', 'assets', 'ht.access', 'index.php', 'config.core.php', dirname(MODX_CORE_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_CORE_PATH) : 'core', dirname(MODX_CONNECTORS_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_CONNECTORS_PATH) : 'connectors', dirname(MODX_MANAGER_PATH) . '/' === MODX_BASE_PATH ? basename(MODX_MANAGER_PATH) : 'manager');
if (isset($vaporOptions['excludeFiles']) && is_array($vaporOptions['excludeFiles'])) {
$excludes = array_unique($excludes + $vaporOptions['excludeFiles']);
}
/*if ($dh = opendir(MODX_BASE_PATH)) {
$includes = array();
while (($file = readdir($dh)) !== false) {
/* ignore files/dirs starting with . or matching an exclude */
/*if (strpos($file, '.') === 0 || in_array(strtolower($file), $excludes)) {
continue;
}
//.........这里部分代码省略.........
示例12: die
*/
if (php_sapi_name() != "cli") {
die('CLI mode only!');
}
define('MODX_API_MODE', true);
// Full path to the index
require_once dirname(__DIR__) . '/index.php';
$modx = new modX();
$modx->initialize('mgr');
$filesystem_id = !empty($argv[1]) ? intval($argv[1]) : 1;
$fs_prefix = 1 == $filesystem_id ? 'assets/elements/' : '';
$blacklist = file(__DIR__ . '/blacklist.csv', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
/**
* Maintenance mode
*/
$modx->setOption('site_status', false);
/**
* Paths for types of elements
*
* @var array $elements [type_name => path_to_files]
*/
$types = ['snippets' => ['modSnippet', '.php', 'name', "<?php\n"], 'templates' => ['modTemplate', '.html', 'templatename', ''], 'chunks' => ['modChunk', '.html', 'name', ''], 'plugins' => ['modPlugin', '.php', 'name', "<?php\n"]];
foreach (array_keys($types) as $type) {
$elements[$type] = $type . '/';
$cat_paths[$type][0] = $elements[$type];
}
/**
* Paths for categories
*
* @var array $cat_paths [type][category_id => relative_path_to_category]
*/
示例13: init
public function init()
{
if (isset($this->sp['resource'])) {
if (!$this->sp['resource']->richtext) {
return false;
}
}
$useEditor = $this->modx->getOption('use_editor', false);
$whichEditor = $this->modx->getOption('which_editor', '');
if ($useEditor && $whichEditor != 'MarkdownEditor') {
$initCondition = $this->md->getOption('init.condition');
if (empty($initCondition)) {
$initCondition = '[]';
}
$initCondition = $this->modx->fromJSON($initCondition);
if (!empty($initCondition)) {
$c = $this->modx->newQuery('modResource');
$c->where([['id' => $this->sp['resource']->id], $initCondition]);
$check = $this->modx->getObject('modResource', $c);
if ($check) {
$this->modx->setOption('which_editor', 'MarkdownEditor');
$whichEditor = 'MarkdownEditor';
}
}
}
if ($useEditor && $whichEditor == 'MarkdownEditor') {
return true;
}
return false;
}