本文整理汇总了PHP中Cx\Core\Setting\Controller\Setting::errorHandler方法的典型用法代码示例。如果您正苦于以下问题:PHP Setting::errorHandler方法的具体用法?PHP Setting::errorHandler怎么用?PHP Setting::errorHandler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cx\Core\Setting\Controller\Setting
的用法示例。
在下文中一共展示了Setting::errorHandler方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _coreUpdate
//.........这里部分代码省略.........
*****************************************/
$path = ASCMS_DOCUMENT_ROOT . '/themes';
foreach (scandir($path) as $theme) {
if (!in_array($theme, array('.', '..', '.svn'))) {
$theme = $path . '/' . $theme;
$file = $theme . '/index.html';
if (file_exists($file)) {
try {
$objFile = new \Cx\Lib\FileSystem\File($file);
if (($data = $objFile->getData()) && !empty($data)) {
if (strpos($data, '{JAVASCRIPT}') === false) {
$data = preg_replace('/(\\s*)<\\/head>/ms', "\$1 {JAVASCRIPT}\$1</head>", $data);
if ($data) {
$objFile->write($data);
}
}
}
} catch (\Cx\Lib\FileSystem\FileSystemException $e) {
\DBG::msg($e->getMessage());
}
}
}
}
/********************************
* EXTENSION: Timezone *
* ADDED: Contrexx v3.0.0 *
********************************/
try {
\Cx\Lib\UpdateUtil::sql('ALTER TABLE `' . DBPREFIX . 'log` CHANGE `datetime` `datetime` TIMESTAMP NULL DEFAULT "0000-00-00 00:00:00"');
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
/**********************************************************
* EXTENSION: Session garbage collector considers now *
* the individual lifetime of each session *
* (needed since remember me is implemented) *
* ADDED: Contrexx v3.0.1 *
***********************************************************/
try {
$arrColumns = $objDatabase->MetaColumnNames(DBPREFIX . 'sessions');
if ($arrColumns === false) {
setUpdateMsg(sprintf($_ARRAYLANG['TXT_UNABLE_GETTING_DATABASE_TABLE_STRUCTURE'], DBPREFIX . 'sessions'));
return false;
}
if (!isset($arrColumns['REMEMBER_ME'])) {
\Cx\Lib\UpdateUtil::sql('ALTER TABLE `' . DBPREFIX . 'sessions` ADD `remember_me` INT(1) NOT NULL DEFAULT 0 AFTER `sessionid`');
}
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
/**********************************************************
* EXTENSION: Delete old cache class which causes *
* classloader confliction. *
* ADDED: Contrexx v3.0.1 *
***********************************************************/
$path = ASCMS_DOCUMENT_ROOT . '/lib/FRAMEWORK/Cache.class.php';
if (file_exists($path)) {
if (!\Cx\Lib\FileSystem\FileSystem::delete_file($path)) {
setUpdateMsg('Die Datei "/lib/FRAMEWORK/Cache.class.php" konnte nicht gelöscht werden. Bitte löschen Sie diese manuell.', 'error');
setUpdateMsg('<input type="submit" value="' . $_CORELANG['TXT_UPDATE_TRY_AGAIN'] . '" name="updateNext" /><input type="hidden" name="processUpdate" id="processUpdate" />', 'button');
return false;
}
}
/********************************************************
* EXTENSION: Add new access id (178) to those groups *
* having access to the news (10) or *
* blog (119) module. *
* ADDED: Contrexx v3.1.0 *
********************************************************/
try {
\Cx\Lib\UpdateUtil::sql('
INSERT INTO `' . DBPREFIX . 'access_group_static_ids` (`access_id`, `group_id`)
SELECT 178, `group_id` FROM `' . DBPREFIX . 'access_group_static_ids` WHERE (`access_id` = 10) OR (`access_id` = 119) GROUP BY `group_id`
ON DUPLICATE KEY UPDATE `access_id` = `access_id`
');
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
try {
Text::errorHandler();
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
try {
\Cx\Core\Setting\Controller\Setting::errorHandler();
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
/********************************************************
* EXTENSION: ADD COMPONENTS TABLE *
* ADDED: Contrexx v3.1.0 *
********************************************************/
try {
\Cx\Lib\UpdateUtil::table(DBPREFIX . 'component', array('id' => array('type' => 'INT(11)', 'notnull' => true, 'auto_increment' => true, 'primary' => true), 'name' => array('type' => 'VARCHAR(100)', 'after' => 'id'), 'type' => array('type' => 'ENUM(\'core\',\'core_module\',\'module\')', 'after' => 'name')), null, 'InnoDB');
\Cx\Lib\UpdateUtil::sql("\n INSERT IGNORE INTO `" . DBPREFIX . "component` (`id`, `name`, `type`) VALUES\n (70, 'Workbench', 'core_module'),\n (71, 'FrontendEditing', 'core_module'),\n (72, 'ContentManager', 'core')\n ");
} catch (\Cx\Lib\UpdateException $e) {
return \Cx\Lib\UpdateUtil::DefaultActionHandler($e);
}
return true;
}
示例2: errorHandler
/**
* Fixes database errors.
*
* Also migrates settings from the old Shop settings table to \Cx\Core\Setting.
* @return boolean False. Always.
* @throws Cx\Lib\Update_DatabaseException
*/
static function errorHandler()
{
global $_CONFIGURATION;
// ShopSettings
\Cx\Core\Setting\Controller\Setting::errorHandler();
\Cx\Core\Setting\Controller\Setting::init('Shop', 'config');
$table_name = DBPREFIX . 'module_shop_config';
$i = 0;
if (\Cx\Lib\UpdateUtil::table_exist($table_name)) {
// Migrate all entries using the \Cx\Core\Setting\Controller\Setting class
$query = "\n SELECT `name`, `value`, `status`\n FROM " . DBPREFIX . "module_shop_config\n ORDER BY `id` ASC";
$objResult = \Cx\Lib\UpdateUtil::sql($query);
if (!$objResult) {
throw new \Cx\Lib\Update_DatabaseException('Failed to query old Shop settings', $query);
}
while (!$objResult->EOF) {
$name = $objResult->fields['name'];
$value = $objResult->fields['value'];
$status = $objResult->fields['status'];
$name_status = null;
switch ($name) {
// OBSOLETE
case 'tax_default_id':
case 'tax_enabled':
case 'tax_included':
case 'tax_number':
// Ignore, do not migrate!
$name = null;
break;
// VALUE ONLY (RE: arrConfig\[.*?\]\[.value.\])
// VALUE ONLY (RE: arrConfig\[.*?\]\[.value.\])
case 'confirmation_emails':
$name = 'email_confirmation';
break;
case 'country_id':
case 'datatrans_merchant_id':
case 'datatrans_request_type':
break;
case 'datatrans_status':
$name = 'datatrans_active';
break;
case 'datatrans_use_testserver':
case 'email':
case 'fax':
case 'orderitems_amount_max':
case 'paypal_default_currency':
case 'postfinance_mobile_ijustwanttotest':
case 'postfinance_mobile_sign':
case 'postfinance_mobile_status':
case 'postfinance_mobile_webuser':
case 'product_sorting':
case 'saferpay_finalize_payment':
case 'saferpay_window_option':
break;
case 'shop_address':
case 'shop_company':
case 'shop_show_products_default':
case 'shop_thumbnail_max_height':
case 'shop_thumbnail_max_width':
case 'shop_thumbnail_quality':
case 'shop_weight_enable':
$name = preg_replace('/^shop_/', '', $name);
break;
case 'telephone':
case 'vat_default_id':
case 'vat_enabled_foreign_customer':
case 'vat_enabled_foreign_reseller':
case 'vat_enabled_home_customer':
case 'vat_enabled_home_reseller':
case 'vat_included_foreign_customer':
case 'vat_included_foreign_reseller':
case 'vat_included_home_customer':
case 'vat_included_home_reseller':
case 'vat_number':
case 'vat_other_id':
break;
case 'yellowpay_accepted_payment_methods':
case 'yellowpay_authorization_type':
case 'yellowpay_hash_seed':
case 'yellowpay_hash_signature_in':
case 'yellowpay_hash_signature_out':
case 'yellowpay_use_testserver':
$name = preg_replace('/^yellowpay(.*)$/', 'postfinance$1', $name);
break;
case 'yellowpay_id':
// Obsolete
$name = null;
break;
// VALUE & STATUS
// VALUE & STATUS
case 'paypal_account_email':
$name_status = 'paypal_active';
break;
//.........这里部分代码省略.........
示例3: errorHandler
/**
* Handles errors ocurring in this class
*
* Applies to the section (module) SettingsDb has been initialized with.
* In particular, tries to add missing Settings using the defaults.
* However, you will have to set them to their correct values after this.
* Note that you *MUST* call \Cx\Core\Setting\Controller\Setting::init() using the proper section
* and group parameters beforehand. Otherwise, no settings will be added.
*/
static function errorHandler()
{
// Yellowpay
\Cx\Core\Setting\Controller\Setting::errorHandler();
// You *MUST* call this yourself beforehand, using the proper section!
//\Cx\Core\Setting\Controller\Setting::init('Shop', 'config');
// Signature: ($name, $value, $ord, $type, $values, $key)
\Cx\Core\Setting\Controller\Setting::add('postfinance_shop_id', 'Ihr Kontoname', 1, \Cx\Core\Setting\Controller\Setting::TYPE_TEXT);
\Cx\Core\Setting\Controller\Setting::add('postfinance_active', '0', 2, \Cx\Core\Setting\Controller\Setting::TYPE_CHECKBOX, '1');
\Cx\Core\Setting\Controller\Setting::add('postfinance_authorization_type', 'SAL', 3, \Cx\Core\Setting\Controller\Setting::TYPE_DROPDOWN, 'RES:Reservation,SAL:Verkauf');
// OBSOLETE
// As it appears that in_array(0, $array) is true for each non-empty
// $array, indices for the entries must be numbered starting at 1.
// $arrPayments = array();
// foreach (self::$arrKnownPaymentMethod as $index => $name) {
// $arrPayments[$index] = $name;
// }
// \Cx\Core\Setting\Controller\Setting::add('postfinance_accepted_payment_methods', '',
// 4, \Cx\Core\Setting\Controller\Setting::TYPE_CHECKBOXGROUP,
// \Cx\Core\Setting\Controller\Setting::joinValues($arrPayments));
\Cx\Core\Setting\Controller\Setting::add('postfinance_hash_signature_in', 'Mindestens 16 Buchstaben, Ziffern und Zeichen', 5, \Cx\Core\Setting\Controller\Setting::TYPE_TEXT);
\Cx\Core\Setting\Controller\Setting::add('postfinance_hash_signature_out', 'Mindestens 16 Buchstaben, Ziffern und Zeichen', 6, \Cx\Core\Setting\Controller\Setting::TYPE_TEXT);
\Cx\Core\Setting\Controller\Setting::add('postfinance_use_testserver', '1', 7, \Cx\Core\Setting\Controller\Setting::TYPE_CHECKBOX, '1');
// Always
return false;
}