本文整理汇总了PHP中rex::setProperty方法的典型用法代码示例。如果您正苦于以下问题:PHP rex::setProperty方法的具体用法?PHP rex::setProperty怎么用?PHP rex::setProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rex
的用法示例。
在下文中一共展示了rex::setProperty方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testGetServer
public function testGetServer()
{
$origServer = rex::getProperty('server');
rex::setProperty('server', 'http://www.redaxo.org');
$this->assertEquals('http://www.redaxo.org/', rex::getServer());
$this->assertEquals('https://www.redaxo.org/', rex::getServer('https'));
$this->assertEquals('www.redaxo.org/', rex::getServer(''));
rex::setProperty('server', $origServer);
}
示例2: updateFromPrevious
public static function updateFromPrevious()
{
// ----- vorhandenen seite updaten
$err_msg = '';
if ($err_msg == '') {
$version = rex::getVersion();
rex::setProperty('version', rex::getConfig('version'));
try {
include rex_path::core('update.php');
} catch (rex_functional_exception $e) {
$err_msg .= $e->getMessage();
} catch (rex_sql_exception $e) {
$err_msg .= 'SQL error: ' . $e->getMessage();
}
rex::setProperty('version', $version);
}
if ($err_msg == '') {
$err_msg .= self::installAddons();
}
return $err_msg;
}
示例3: testFactoryUrlProxy
public function testFactoryUrlProxy()
{
rex::setProperty('socket_proxy', 'proxy.example.com:8888');
$socket = rex_socket::factoryUrl('www.example.com');
$this->assertEquals('rex_socket_proxy', get_class($socket));
}
示例4: array_merge
$config = array_merge(rex_file::getConfig(rex_path::core('default.config.yml')), rex_file::getConfig($configFile));
$settings = rex_post('settings', 'array', []);
foreach (['server', 'servername', 'error_email', 'lang'] as $key) {
if (!isset($settings[$key]) || !$settings[$key]) {
$error[] = rex_i18n::msg($key . '_required');
continue;
}
$config[$key] = $settings[$key];
try {
rex::setProperty($key, $settings[$key]);
} catch (InvalidArgumentException $e) {
$error[] = rex_i18n::msg($key . '_invalid');
}
}
$config['debug'] = isset($settings['debug']) && $settings['debug'];
rex::setProperty('debug', $config['debug']);
foreach (rex_system_setting::getAll() as $setting) {
$key = $setting->getKey();
if (isset($settings[$key])) {
if (($msg = $setting->setValue($settings[$key])) !== true) {
$error[] = $msg;
}
}
}
if (empty($error)) {
if (rex_file::putConfig($configFile, $config) > 0) {
$success = rex_i18n::msg('info_updated');
}
}
}
$sel_lang = new rex_select();
示例5: checkRequirements
/**
* @param string $temppath
* @param string $version
* @param rex_addon[] $addons
*
* @throws rex_functional_exception
*/
private function checkRequirements($temppath, $version, array $addons)
{
// ---- update "version", "requires" and "conflicts" properties
$coreVersion = rex::getVersion();
rex::setProperty('version', $version);
$versions = new SplObjectStorage();
$requirements = new SplObjectStorage();
$conflicts = new SplObjectStorage();
foreach ($addons as $addonkey => $config) {
$addon = rex_addon::get($addonkey);
$addonPath = $temppath . 'addons/' . $addonkey . '/';
if (isset($config['requires'])) {
$requirements[$addon] = $addon->getProperty('requires');
$addon->setProperty('requires', $config['requires']);
}
if (isset($config['conflicts'])) {
$conflicts[$addon] = $addon->getProperty('conflicts');
$addon->setProperty('conflicts', $config['conflicts']);
}
$versions[$addon] = $addon->getVersion();
$addon->setProperty('version', $config['version']);
foreach ($addon->getAvailablePlugins() as $plugin) {
if (is_dir($addonPath . 'plugins/' . $plugin->getName())) {
$config = rex_file::getConfig($addonPath . 'plugins/' . $plugin->getName() . '/' . rex_package::FILE_PACKAGE);
if (isset($config['requires'])) {
$requirements[$plugin] = $plugin->getProperty('requires');
$plugin->setProperty('requires', $config['requires']);
}
if (isset($config['conflicts'])) {
$conflicts[$plugin] = $plugin->getProperty('conflicts');
$plugin->setProperty('conflicts', $config['conflicts']);
}
if (isset($config['version'])) {
$versions[$plugin] = $plugin->getProperty('version');
$plugin->setProperty('requires', $config['version']);
}
}
}
}
// ---- check requirements
$messages = [];
foreach (rex_package::getAvailablePackages() as $package) {
$manager = rex_package_manager::factory($package);
if (!$manager->checkRequirements()) {
$messages[] = $package->getPackageId() . ': ' . $manager->getMessage();
} elseif (!$manager->checkConflicts()) {
$messages[] = $package->getPackageId() . ': ' . $manager->getMessage();
}
}
// ---- reset "version", "requires" and "conflicts" properties
rex::setProperty('version', $coreVersion);
foreach ($versions as $package) {
$package->setProperty('version', $versions[$package]);
}
foreach ($requirements as $package) {
$package->setProperty('requires', $requirements[$package]);
}
foreach ($conflicts as $package) {
$package->setProperty('conflicts', $conflicts[$package]);
}
if (!empty($messages)) {
throw new rex_functional_exception(implode('<br />', $messages));
}
}
示例6:
$rex_user_loginmessage = $login->getMessage();
// Fehlermeldung von der Datenbank
if (is_string($loginCheck)) {
$rex_user_loginmessage = $loginCheck;
}
$pages['login'] = rex_be_controller::getLoginPage();
$page = 'login';
rex_be_controller::setCurrentPage('login');
} else {
// Userspezifische Sprache einstellen
$user = $login->getUser();
$lang = $user->getLanguage();
if ($lang && $lang != 'default' && $lang != rex::getProperty('lang')) {
rex_i18n::setLocale($lang);
}
rex::setProperty('user', $user);
}
// Safe Mode
if (($safeMode = rex_get('safemode', 'boolean', null)) !== null) {
if ($safeMode) {
rex_set_session('safemode', true);
} else {
rex_unset_session('safemode');
}
}
}
rex_be_controller::setPages($pages);
// ----- Prepare Core Pages
if (rex::getUser()) {
rex_be_controller::appendLoggedInPages();
rex_be_controller::setCurrentPage(trim(rex_request('page', 'string')));
示例7: catch
continue;
}
try {
rex::setProperty($key, $config[$key]);
} catch (InvalidArgumentException $e) {
$error_array[] = rex_view::error(rex_i18n::msg($key . '_invalid'));
}
}
foreach ($config as $key => $value) {
if (in_array($key, $check)) {
continue;
}
if (in_array($key, ['fileperm', 'dirperm'])) {
$value = octdec($value);
}
rex::setProperty($key, $value);
}
if (count($error_array) == 0) {
if (!rex_file::putConfig($configFile, $config)) {
$error_array[] = rex_view::error(rex_i18n::msg('setup_401'));
}
}
if (count($error_array) == 0) {
try {
$err = rex_setup::checkDb($config, $redaxo_db_create);
} catch (PDOException $e) {
$err = rex_i18n::msg('setup_415', $e->getMessage());
}
if ($err != '') {
$error_array[] = rex_view::error($err);
}
示例8: setUp
public function setUp()
{
rex::setProperty('myCoreProperty', 'myCorePropertyValue');
rex_addon::get('tests')->setProperty('myPackageProperty', 'myPackagePropertyValue');
}
示例9: createUser
/**
* Creates the user object if it does not already exist.
*
* Helpful if you want to check permissions of the backend user in frontend.
* If you only want to know if there is any backend session, use {@link rex_backend_login::hasSession()}.
*
* @return rex_user
*/
public static function createUser()
{
if (!self::hasSession()) {
return null;
}
if ($user = rex::getUser()) {
return $user;
}
$login = new self();
rex::setProperty('login', $login);
if ($login->checkLogin()) {
$user = $login->getUser();
rex::setProperty('user', $user);
return $user;
}
return null;
}
示例10: rex_request
rex_perm::register('moveArticle[]', null, rex_perm::OPTIONS);
rex_perm::register('moveCategory[]', null, rex_perm::OPTIONS);
rex_perm::register('copyArticle[]', null, rex_perm::OPTIONS);
rex_perm::register('copyContent[]', null, rex_perm::OPTIONS);
rex_perm::register('publishArticle[]', null, rex_perm::OPTIONS);
rex_perm::register('publishCategory[]', null, rex_perm::OPTIONS);
rex_perm::register('article2startarticle[]', null, rex_perm::OPTIONS);
rex_perm::register('article2category[]', null, rex_perm::OPTIONS);
rex_complex_perm::register('structure', 'rex_structure_perm');
require_once __DIR__ . '/functions/function_rex_url.php';
if (rex_request('article_id', 'int') == 0) {
rex::setProperty('article_id', rex::getProperty('start_article_id'));
} else {
$article_id = rex_request('article_id', 'int');
$article_id = rex_article::get($article_id) ? $article_id : rex::getProperty('notfound_article_id');
rex::setProperty('article_id', $article_id);
}
if (rex::isBackend() && rex::getUser()) {
rex_view::addJsFile($this->getAssetsUrl('linkmap.js'));
rex_extension::register('PAGE_SIDEBAR', function () {
$category_id = rex_request('category_id', 'int');
$article_id = rex_request('article_id', 'int');
$clang = rex_request('clang', 'int');
$ctype = rex_request('ctype', 'int');
$category_id = rex_category::get($category_id) ? $category_id : 0;
$article_id = rex_article::get($article_id) ? $article_id : 0;
$clang = rex_clang::exists($clang) ? $clang : rex_clang::getStartId();
// TODO - CHECK PERM
$context = new rex_context(['page' => 'structure', 'category_id' => $category_id, 'article_id' => $article_id, 'clang' => $clang, 'ctype' => $ctype]);
// check if a new category was folded
$category_id = rex_request('toggle_category_id', 'int', -1);
示例11: prepare
public static function prepare()
{
$clang = rex_clang::getCurrentId();
// call_by_article allowed
if (self::$call_by_article_id == 'allowed' && rex_request('article_id', 'int') > 0) {
$url = rex_getUrl(rex_request('article_id', 'int'));
} else {
if (!isset($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'], 1);
if (isset($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
}
}
$url = urldecode($_SERVER['REQUEST_URI']);
}
// because of server differences
if (substr($url, 0, 1) == '/') {
$url = substr($url, 1);
}
// delete params
if (($pos = strpos($url, '?')) !== false) {
$url = substr($url, 0, $pos);
}
// delete anker
if (($pos = strpos($url, '#')) !== false) {
$url = substr($url, 0, $pos);
}
$host = self::getHost();
$http = 'http://';
if (self::isHttps()) {
$http = 'https://';
}
if (isset(self::$paths['paths'][$host])) {
$domain = self::$domainsByName[$host];
} else {
// check for aliases
if (isset(self::$aliasDomains[$host])) {
/** @var rex_yrewrite_domain $domain */
$domain = self::$aliasDomains[$host]['domain'];
if (!$url && isset(self::$paths['paths'][$domain->getName()][$domain->getStartId()][self::$aliasDomains[$host]['clang_start']])) {
$url = self::$paths['paths'][$domain->getName()][$domain->getStartId()][self::$aliasDomains[$host]['clang_start']];
}
// forward to original domain permanent move 301
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $http . $domain->getName() . '/' . $url);
exit;
// no domain, no alias, domain with root mountpoint ?
} elseif (isset(self::$domainsByMountId[0][$clang])) {
$domain = self::$domainsByMountId[0][$clang];
// no root domain -> undefined
} else {
$domain = self::$domainsByName['undefined'];
}
}
rex::setProperty('domain_article_id', $domain->getMountId());
rex::setProperty('start_article_id', $domain->getStartId());
rex::setProperty('notfound_article_id', $domain->getNotfoundId());
rex::setProperty('server', $http . $domain->getName());
// if no path -> startarticle
if ($url == '') {
rex_addon::get('structure')->setProperty('article_id', $domain->getStartId());
rex_clang::setCurrentId($domain->getStartClang());
return true;
}
// normal exact check
foreach (self::$paths['paths'][$domain->getName()] as $i_id => $i_cls) {
foreach (rex_clang::getAllIds() as $clang_id) {
if (isset($i_cls[$clang_id]) && ($i_cls[$clang_id] == $url || $i_cls[$clang_id] . '/' == $url)) {
rex_addon::get('structure')->setProperty('article_id', $i_id);
rex_clang::setCurrentId($clang_id);
return true;
}
}
}
$params = rex_extension::registerPoint(new rex_extension_point('YREWRITE_PREPARE', '', ['url' => $url, 'domain' => $domain, 'http' => $http]));
if (isset($params['article_id']) && $params['article_id'] > 0) {
if (isset($params['clang']) && $params['clang'] > -1) {
$clang = $params['clang'];
}
if ($article = rex_article::get($params['article_id'], $clang)) {
rex_addon::get('structure')->setProperty('article_id', $params['article_id']);
rex_clang::setCurrentId($clang);
return true;
}
}
// no article found -> domain not found article
rex_addon::get('structure')->setProperty('article_id', $domain->getNotfoundId());
rex_clang::setCurrentId($domain->getStartClang());
foreach (self::$paths['paths'][$domain->getName()][$domain->getStartId()] as $clang => $clangUrl) {
if ($clang != $domain->getStartClang() && 0 === strpos($url, $clangUrl)) {
rex_clang::setCurrentId($clang);
break;
}
}
return true;
}
示例12: tearDown
protected function tearDown()
{
rex::setProperty('socket_proxy', $this->proxy);
}