本文整理汇总了PHP中Pimcore::unsetAdminMode方法的典型用法代码示例。如果您正苦于以下问题:PHP Pimcore::unsetAdminMode方法的具体用法?PHP Pimcore::unsetAdminMode怎么用?PHP Pimcore::unsetAdminMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore
的用法示例。
在下文中一共展示了Pimcore::unsetAdminMode方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* @throws \Zend_Controller_Router_Exception
*/
public function init()
{
// this is only executed once per request (first request)
if (self::$isInitial) {
\Pimcore::getEventManager()->trigger("frontend.controller.preInit", $this);
}
parent::init();
// log exceptions if handled by error_handler
$this->checkForErrors();
// general definitions
if (self::$isInitial) {
\Pimcore::unsetAdminMode();
Document::setHideUnpublished(true);
Object\AbstractObject::setHideUnpublished(true);
Object\AbstractObject::setGetInheritedValues(true);
Object\Localizedfield::setGetFallbackValues(true);
}
// assign variables
$this->view->controller = $this;
// init website config
$config = Config::getWebsiteConfig();
$this->config = $config;
$this->view->config = $config;
$document = $this->getParam("document");
if (!$document instanceof Document) {
\Zend_Registry::set("pimcore_editmode", false);
$this->editmode = false;
$this->view->editmode = false;
self::$isInitial = false;
// check for a locale first, and set it if available
if ($this->getParam("pimcore_parentDocument")) {
// this is a special exception for renderlets in editmode (ajax request), because they depend on the locale of the parent document
// otherwise there'll be notices like: Notice: 'No translation for the language 'XX' available.'
if ($parentDocument = Document::getById($this->getParam("pimcore_parentDocument"))) {
if ($parentDocument->getProperty("language")) {
$this->setLocaleFromDocument($parentDocument->getProperty("language"));
}
}
}
// no document available, continue, ...
return;
} else {
$this->setDocument($document);
// register global locale if the document has the system property "language"
if ($this->getDocument()->getProperty("language")) {
$this->setLocaleFromDocument($this->getDocument()->getProperty("language"));
}
if (self::$isInitial) {
// append meta-data to the headMeta() view helper, if it is a document-request
if (!Model\Staticroute::getCurrentRoute() && $this->getDocument() instanceof Document\Page) {
if (is_array($this->getDocument()->getMetaData())) {
foreach ($this->getDocument()->getMetaData() as $meta) {
// only name
if (!empty($meta["idName"]) && !empty($meta["idValue"]) && !empty($meta["contentValue"])) {
$method = "append" . ucfirst($meta["idName"]);
$this->view->headMeta()->{$method}($meta["idValue"], $meta["contentValue"]);
}
}
}
}
}
}
// this is only executed once per request (first request)
if (self::$isInitial) {
// contains the logged in user if necessary
$user = null;
// default is to set the editmode to false, is enabled later if necessary
\Zend_Registry::set("pimcore_editmode", false);
if (Tool::isFrontentRequestByAdmin()) {
$this->disableBrowserCache();
// start admin session & get logged in user
$user = Authentication::authenticateSession();
}
if (\Pimcore::inDebugMode()) {
$this->disableBrowserCache();
}
if (!$this->document->isPublished()) {
if (Tool::isFrontentRequestByAdmin()) {
if (!$user) {
throw new \Zend_Controller_Router_Exception("access denied for " . $this->document->getFullPath());
}
} else {
throw new \Zend_Controller_Router_Exception("access denied for " . $this->document->getFullPath());
}
}
// logged in users only
if ($user) {
// set the user to registry so that it is available via \Pimcore\Tool\Admin::getCurrentUser();
\Zend_Registry::set("pimcore_admin_user", $user);
// document editmode
if ($this->getParam("pimcore_editmode")) {
\Zend_Registry::set("pimcore_editmode", true);
// check if there is the document in the session
$docKey = "document_" . $this->getDocument()->getId();
$docSession = Session::getReadOnly("pimcore_documents");
if ($docSession->{$docKey}) {
// if there is a document in the session use it
//.........这里部分代码省略.........
示例2: init
public function init()
{
parent::init();
// log exceptions if handled by error_handler
$this->checkForErrors();
// general definitions
Pimcore::unsetAdminMode();
Document::setHideUnpublished(true);
Object_Abstract::setHideUnpublished(true);
Object_Abstract::setGetInheritedValues(true);
// contains the logged in user if necessary
$user = null;
// assign variables
$this->view->controller = $this;
// init website config
$config = Pimcore_Config::getWebsiteConfig();
$this->config = $config;
$this->view->config = $config;
if (!$this->_getParam("document")) {
Zend_Registry::set("pimcore_editmode", false);
$this->editmode = false;
$this->view->editmode = false;
// no document available, continue, ...
return;
} else {
$this->setDocument($this->_getParam("document"));
}
if ($this->_getParam("pimcore_editmode") || $this->_getParam("pimcore_version") || $this->_getParam("pimcore_preview") || $this->_getParam("pimcore_admin") || $this->_getParam("pimcore_object_preview")) {
$specialAdminRequest = true;
$this->disableBrowserCache();
// start admin session & get logged in user
$user = Pimcore_Tool_Authentication::authenticateSession();
}
if (!$this->document->isPublished()) {
if ($specialAdminRequest) {
if (!$user) {
throw new Exception("access denied for " . $this->document->getFullPath());
}
} else {
throw new Exception("access denied for " . $this->document->getFullPath());
}
}
// register global locale if the document has the system property "language"
if ($this->document->getProperty("language")) {
$locale = new Zend_Locale($this->document->getProperty("language"));
Zend_Registry::set('Zend_Locale', $locale);
$this->getResponse()->setHeader("Content-Language", strtolower(str_replace("_", "-", (string) $locale)), true);
}
// for editmode
if ($user) {
if ($this->_getParam("pimcore_editmode") and !Zend_Registry::isRegistered("pimcore_editmode")) {
Zend_Registry::set("pimcore_editmode", true);
// check if there is the document in the session
$docKey = "document_" . $this->getDocument()->getId();
$docSession = new Zend_Session_Namespace("pimcore_documents");
if ($docSession->{$docKey}) {
// if there is a document in the session use it
$this->setDocument($docSession->{$docKey});
} else {
// set the latest available version for editmode if there is no doc in the session
$latestVersion = $this->getDocument()->getLatestVersion();
if ($latestVersion) {
$latestDoc = $latestVersion->loadData();
if ($latestDoc instanceof Document_PageSnippet) {
$this->setDocument($latestDoc);
}
}
}
// register editmode plugin
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Pimcore_Controller_Plugin_Frontend_Editmode($this), 1000);
} else {
Zend_Registry::set("pimcore_editmode", false);
}
} else {
Zend_Registry::set("pimcore_editmode", false);
}
// for preview
if ($user) {
// document preview
if ($this->_getParam("pimcore_preview")) {
// get document from session
$docKey = "document_" . $this->_getParam("document")->getId();
$docSession = new Zend_Session_Namespace("pimcore_documents");
if ($docSession->{$docKey}) {
$this->setDocument($docSession->{$docKey});
}
}
// object preview
if ($this->_getParam("pimcore_object_preview")) {
$key = "object_" . $this->_getParam("pimcore_object_preview");
$session = new Zend_Session_Namespace("pimcore_objects");
if ($session->{$key}) {
$object = $session->{$key};
// add the object to the registry so every call to Object_Abstract::getById() will return this object instead of the real one
Zend_Registry::set("object_" . $object->getId(), $object);
}
}
}
// for version preview
//.........这里部分代码省略.........
示例3:
$request = new \Zend_Controller_Request_Http();
$request->setModuleName(PIMCORE_FRONTEND_MODULE);
$request->setControllerName("default");
$request->setActionName("default");
$front->setRequest($request);
$front->setResponse(new \Zend_Controller_Response_Cli());
// generic pimcore setup
\Pimcore::setSystemRequirements();
\Pimcore::initAutoloader();
\Pimcore::initConfiguration();
\Pimcore::setupFramework();
\Pimcore::initLogger();
\Pimcore::initModules();
\Pimcore::initPlugins();
//Activate Inheritance for cli-scripts
\Pimcore::unsetAdminMode();
Document::setHideUnpublished(true);
Object\AbstractObject::setHideUnpublished(true);
Object\AbstractObject::setGetInheritedValues(true);
Object\Localizedfield::setGetFallbackValues(true);
// CLI has no memory/time limits
@ini_set('memory_limit', -1);
@ini_set('max_execution_time', -1);
@ini_set('max_input_time', -1);
// Error reporting is enabled in CLI
@ini_set("display_errors", "On");
@ini_set("display_startup_errors", "On");
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
// Pimcore\Console handles maintenance mode through the AbstractCommand
if (!$pimcoreConsole) {
// skip if maintenance mode is on and the flag is not set
示例4: prepareDataForIndex
/**
* prepare data for index creation and store is in store table
*
* @param OnlineShop_Framework_ProductInterfaces_IIndexable $object
*/
public function prepareDataForIndex(OnlineShop_Framework_ProductInterfaces_IIndexable $object)
{
$subObjectIds = $this->tenantConfig->createSubIdsForObject($object);
foreach ($subObjectIds as $subObjectId => $object) {
/**
* @var OnlineShop_Framework_ProductInterfaces_IIndexable $object
*/
if ($object->getOSDoIndexProduct() && $this->tenantConfig->inIndex($object)) {
$a = Pimcore::inAdmin();
$b = \Pimcore\Model\Object\AbstractObject::doGetInheritedValues();
Pimcore::unsetAdminMode();
\Pimcore\Model\Object\AbstractObject::setGetInheritedValues(true);
$hidePublishedMemory = \Pimcore\Model\Object\AbstractObject::doHideUnpublished();
\Pimcore\Model\Object\AbstractObject::setHideUnpublished(false);
$categories = $object->getCategories();
$categoryIds = array();
$parentCategoryIds = array();
if ($categories) {
foreach ($categories as $c) {
$parent = $c;
if ($parent != null) {
if ($parent->getOSProductsInParentCategoryVisible()) {
while ($parent && $parent instanceof OnlineShop_Framework_AbstractCategory) {
$parentCategoryIds[$parent->getId()] = $parent->getId();
$parent = $parent->getParent();
}
} else {
$parentCategoryIds[$parent->getId()] = $parent->getId();
}
$categoryIds[$c->getId()] = $c->getId();
}
}
}
ksort($categoryIds);
$virtualProductId = $subObjectId;
$virtualProductActive = $object->isActive();
if ($object->getOSIndexType() == "variant") {
$virtualProductId = $this->tenantConfig->createVirtualParentIdForSubId($object, $subObjectId);
}
$virtualProduct = \Pimcore\Model\Object\AbstractObject::getById($virtualProductId);
if ($virtualProduct && method_exists($virtualProduct, "isActive")) {
$virtualProductActive = $virtualProduct->isActive();
}
$data = array("o_id" => $subObjectId, "o_classId" => $object->getClassId(), "o_virtualProductId" => $virtualProductId, "o_virtualProductActive" => $virtualProductActive, "o_parentId" => $object->getOSParentId(), "o_type" => $object->getOSIndexType(), "categoryIds" => ',' . implode(",", $categoryIds) . ",", "parentCategoryIds" => ',' . implode(",", $parentCategoryIds) . ",", "priceSystemName" => $object->getPriceSystemName(), "active" => $object->isActive(), "inProductList" => $object->isActive(true));
$relationData = array();
$columnConfig = $this->columnConfig->column;
if (!empty($columnConfig->name)) {
$columnConfig = array($columnConfig);
} else {
if (empty($columnConfig)) {
$columnConfig = array();
}
}
foreach ($columnConfig as $column) {
try {
//$data[$column->name] = null;
$value = null;
if (!empty($column->getter)) {
$getter = $column->getter;
$value = $getter::get($object, $column->config, $subObjectId, $this->tenantConfig);
} else {
if (!empty($column->fieldname)) {
$getter = "get" . ucfirst($column->fieldname);
} else {
$getter = "get" . ucfirst($column->name);
}
if (method_exists($object, $getter)) {
$value = $object->{$getter}($column->locale);
}
}
if (!empty($column->interpreter)) {
$interpreter = $column->interpreter;
$value = $interpreter::interpret($value, $column->config);
$interpreterObject = new $interpreter();
if ($interpreterObject instanceof OnlineShop_Framework_IndexService_RelationInterpreter) {
foreach ($value as $v) {
$relData = array();
$relData['src'] = $subObjectId;
$relData['src_virtualProductId'] = $virtualProductId;
$relData['dest'] = $v['dest'];
$relData['fieldname'] = $column->name;
$relData['type'] = $v['type'];
$relationData[] = $relData;
}
} else {
$data[$column->name] = $value;
}
} else {
$data[$column->name] = $value;
}
if (is_array($data[$column->name])) {
$data[$column->name] = OnlineShop_Framework_IndexService_Tenant_IWorker::MULTISELECT_DELIMITER . implode($data[$column->name], OnlineShop_Framework_IndexService_Tenant_IWorker::MULTISELECT_DELIMITER) . OnlineShop_Framework_IndexService_Tenant_IWorker::MULTISELECT_DELIMITER;
}
} catch (Exception $e) {
Logger::err("Exception in IndexService: " . $e->getMessage(), $e);
//.........这里部分代码省略.........
示例5: updateIndex
public function updateIndex(OnlineShop_Framework_ProductInterfaces_IIndexable $object)
{
if (!$this->tenantConfig->isActive($object)) {
Logger::info("Tenant {$this->name} is not active.");
return;
}
$subObjectIds = $this->tenantConfig->createSubIdsForObject($object);
foreach ($subObjectIds as $subObjectId => $object) {
if ($object->getOSDoIndexProduct() && $this->tenantConfig->inIndex($object)) {
$a = Pimcore::inAdmin();
$b = \Pimcore\Model\Object\AbstractObject::doGetInheritedValues();
Pimcore::unsetAdminMode();
\Pimcore\Model\Object\AbstractObject::setGetInheritedValues(true);
$hidePublishedMemory = \Pimcore\Model\Object\AbstractObject::doHideUnpublished();
\Pimcore\Model\Object\AbstractObject::setHideUnpublished(false);
$categories = $object->getCategories();
$themes = $object->getTheme();
$categoryIds = array();
$parentCategoryIds = array();
if ($categories) {
foreach ($categories as $c) {
$parent = $c;
if ($parent != null) {
if ($parent->getOSProductsInParentCategoryVisible()) {
while ($parent && $parent instanceof OnlineShop_Framework_AbstractCategory) {
$parentCategoryIds[$parent->getId()] = $parent->getId();
$parent = $parent->getParent();
}
} else {
$parentCategoryIds[$parent->getId()] = $parent->getId();
}
$categoryIds[$c->getId()] = $c->getId();
}
}
}
$themeIds = array();
if ($themes) {
foreach ($themes as $theme) {
$parent = $theme;
if ($parent != null) {
$themeIds[$theme->getId()] = $theme->getId();
}
}
}
ksort($categoryIds);
$virtualProductId = $subObjectId;
$virtualProductActive = $object->isActive();
if ($object->getOSIndexType() == "variant") {
$virtualProductId = $this->tenantConfig->createVirtualParentIdForSubId($object, $subObjectId);
}
$virtualProduct = \Pimcore\Model\Object\AbstractObject::getById($virtualProductId);
if ($virtualProduct && method_exists($virtualProduct, "isActive")) {
$virtualProductActive = $virtualProduct->isActive();
}
$data = array("o_id" => $subObjectId, "o_classId" => $object->getClassId(), "o_virtualProductId" => $virtualProductId, "o_virtualProductActive" => $virtualProductActive, "o_parentId" => $object->getOSParentId(), "o_type" => $object->getOSIndexType(), "categoryIds" => ',' . implode(",", $categoryIds) . ",", "parentCategoryIds" => ',' . implode(",", $parentCategoryIds) . ",", "priceSystemName" => $object->getPriceSystemName(), "active" => $object->isActive(), "inProductList" => $object->isActive(true), "theme" => ',' . implode(",", $themeIds) . ",");
$relationData = array();
$columnConfig = $this->columnConfig->column;
if (!empty($columnConfig->name)) {
$columnConfig = array($columnConfig);
} else {
if (empty($columnConfig)) {
$columnConfig = array();
}
}
foreach ($columnConfig as $column) {
try {
$value = null;
if (!empty($column->getter)) {
$getter = $column->getter;
$value = $getter::get($object, $column->config, $subObjectId, $this->tenantConfig);
} else {
if (!empty($column->fieldname)) {
$getter = "get" . ucfirst($column->fieldname);
} else {
$getter = "get" . ucfirst($column->name);
}
if (method_exists($object, $getter)) {
$value = $object->{$getter}($column->locale);
}
}
if (!empty($column->interpreter)) {
$interpreter = $column->interpreter;
$value = $interpreter::interpret($value, $column->config);
$interpreterObject = new $interpreter();
if ($interpreterObject instanceof OnlineShop_Framework_IndexService_RelationInterpreter) {
foreach ($value as $v) {
$relData = array();
$relData['src'] = $subObjectId;
$relData['src_virtualProductId'] = $virtualProductId;
$relData['dest'] = $v['dest'];
$relData['fieldname'] = $column->name;
$relData['type'] = $v['type'];
$relationData[] = $relData;
}
} else {
$data[$column->name] = $value;
}
} else {
$data[$column->name] = $value;
}
//.........这里部分代码省略.........
示例6: init
public function init()
{
parent::init();
// log exceptions if handled by error_handler
$this->checkForErrors();
// general definitions
Pimcore::unsetAdminMode();
Document::setHideUnpublished(true);
Object_Abstract::setHideUnpublished(true);
Object_Abstract::setGetInheritedValues(true);
$adminSession = null;
// assign variables
$this->view->controller = $this;
// init website config
$config = Pimcore_Config::getWebsiteConfig();
$this->config = $config;
$this->view->config = $config;
if (!$this->_getParam("document")) {
Zend_Registry::set("pimcore_editmode", false);
$this->editmode = false;
$this->view->editmode = false;
// no document available, continue, ...
return;
} else {
$this->setDocument($this->_getParam("document"));
}
if ($this->_getParam("pimcore_editmode") || $this->_getParam("pimcore_version") || $this->_getParam("pimcore_preview") || $this->_getParam("pimcore_admin") || $this->_getParam("pimcore_object_preview")) {
$specialAdminRequest = true;
Pimcore_Tool_Authentication::initSession();
// start admin session
$adminSession = new Zend_Session_Namespace("pimcore_admin");
}
if (!$this->document->isPublished()) {
if ($specialAdminRequest) {
if (!$adminSession->user instanceof User) {
throw new Exception("access denied for " . $this->document->getFullPath());
}
} else {
throw new Exception("access denied for " . $this->document->getFullPath());
}
}
// register global locale if the document has the system property "language"
if ($this->document->getProperty("language")) {
$locale = new Zend_Locale($this->document->getProperty("language"));
Zend_Registry::set('Zend_Locale', $locale);
}
// for editmode
if ($adminSession && $adminSession->user instanceof User) {
if ($this->_getParam("pimcore_editmode") and !Zend_Registry::isRegistered("pimcore_editmode")) {
Zend_Registry::set("pimcore_editmode", true);
// check if there is the document in the session
$docKey = "document_" . $this->getDocument()->getId();
$docSession = new Zend_Session_Namespace("pimcore_documents");
if ($docSession->{$docKey}) {
// if there is a document in the session use it
$this->setDocument($docSession->{$docKey});
} else {
// set the latest available version for editmode if there is no doc in the session
$latestVersion = $this->getDocument()->getLatestVersion();
if ($latestVersion) {
$latestDoc = $latestVersion->loadData();
if ($latestDoc instanceof Document_PageSnippet) {
$this->setDocument($latestDoc);
}
}
}
// register editmode plugin
$front = Zend_Controller_Front::getInstance();
$front->registerPlugin(new Pimcore_Controller_Plugin_Frontend_Editmode($this), 1000);
} else {
Zend_Registry::set("pimcore_editmode", false);
}
} else {
Zend_Registry::set("pimcore_editmode", false);
}
// for preview
if ($adminSession && $adminSession->user instanceof User) {
// document preview
if ($this->_getParam("pimcore_preview")) {
// get document from session
$docKey = "document_" . $this->_getParam("document")->getId();
$docSession = new Zend_Session_Namespace("pimcore_documents");
if ($docSession->{$docKey}) {
$this->setDocument($docSession->{$docKey});
}
}
// object preview
if ($this->_getParam("pimcore_object_preview")) {
$key = "object_" . $this->_getParam("pimcore_object_preview");
$session = new Zend_Session_Namespace("pimcore_objects");
if ($session->{$key}) {
$object = $session->{$key};
// add the object to the registry so every call to Object_Abstract::getById() will return this object instead of the real one
Zend_Registry::set("object_" . $object->getId(), $object);
}
}
}
// for version preview
if ($this->_getParam("pimcore_version")) {
if ($adminSession && $adminSession->user instanceof User) {
//.........这里部分代码省略.........