Exemplo n.º 1
0
 /**
  * Runs update index for all tenants
  *  - but does not run processPreparationQueue or processUpdateIndexQueue
  *
  * @param $objectListClass
  * @param string $condition
  * @param bool $updateIndexStructures
  * @param string $loggername
  */
 public static function updateIndex($objectListClass, $condition = "", $updateIndexStructures = false, $loggername = "indexupdater")
 {
     $updater = OnlineShop_Framework_Factory::getInstance()->getIndexService();
     if ($updateIndexStructures) {
         \Pimcore\Model\Cache::clearTag("ecommerceconfig");
         $updater->createOrUpdateIndexStructures();
     }
     $page = 0;
     $pageSize = 100;
     $count = $pageSize;
     while ($count > 0) {
         self::log($loggername, "=========================");
         self::log($loggername, "Update Index Page: " . $page);
         self::log($loggername, "=========================");
         $products = new $objectListClass();
         $products->setUnpublished(true);
         $products->setOffset($page * $pageSize);
         $products->setLimit($pageSize);
         $products->setObjectTypes(array("object", "folder", "variant"));
         $products->setIgnoreLocalizedFields(true);
         $products->setCondition($condition);
         foreach ($products as $p) {
             self::log($loggername, "Updating product " . $p->getId());
             $updater->updateIndex($p);
         }
         $page++;
         $count = count($products->getObjects());
         Pimcore::collectGarbage();
     }
 }
Exemplo n.º 2
0
 public function glossaryAction()
 {
     if ($this->getParam("data")) {
         $this->checkPermission("glossary");
         Cache::clearTag("glossary");
         if ($this->getParam("xaction") == "destroy") {
             $data = \Zend_Json::decode($this->getParam("data"));
             if (\Pimcore\Tool\Admin::isExtJS5()) {
                 $id = $data["id"];
             } else {
                 $id = $data;
             }
             $glossary = Glossary::getById($id);
             $glossary->delete();
             $this->_helper->json(array("success" => true, "data" => array()));
         } else {
             if ($this->getParam("xaction") == "update") {
                 $data = \Zend_Json::decode($this->getParam("data"));
                 // save glossary
                 $glossary = Glossary::getById($data["id"]);
                 if ($data["link"]) {
                     if ($doc = Document::getByPath($data["link"])) {
                         $tmpLink = $data["link"];
                         $data["link"] = $doc->getId();
                     }
                 }
                 $glossary->setValues($data);
                 $glossary->save();
                 if ($link = $glossary->getLink()) {
                     if (intval($link) > 0) {
                         if ($doc = Document::getById(intval($link))) {
                             $glossary->setLink($doc->getFullPath());
                         }
                     }
                 }
                 $this->_helper->json(array("data" => $glossary, "success" => true));
             } else {
                 if ($this->getParam("xaction") == "create") {
                     $data = \Zend_Json::decode($this->getParam("data"));
                     unset($data["id"]);
                     // save glossary
                     $glossary = new Glossary();
                     if ($data["link"]) {
                         if ($doc = Document::getByPath($data["link"])) {
                             $tmpLink = $data["link"];
                             $data["link"] = $doc->getId();
                         }
                     }
                     $glossary->setValues($data);
                     $glossary->save();
                     if ($link = $glossary->getLink()) {
                         if (intval($link) > 0) {
                             if ($doc = Document::getById(intval($link))) {
                                 $glossary->setLink($doc->getFullPath());
                             }
                         }
                     }
                     $this->_helper->json(array("data" => $glossary, "success" => true));
                 }
             }
         }
     } else {
         // get list of glossaries
         $list = new Glossary\Listing();
         $list->setLimit($this->getParam("limit"));
         $list->setOffset($this->getParam("start"));
         if ($this->getParam("sort")) {
             $list->setOrderKey($this->getParam("sort"));
             $list->setOrder($this->getParam("dir"));
         }
         if ($this->getParam("filter")) {
             $list->setCondition("`text` LIKE " . $list->quote("%" . $this->getParam("filter") . "%"));
         }
         $list->load();
         $glossaries = array();
         foreach ($list->getGlossary() as $glossary) {
             if ($link = $glossary->getLink()) {
                 if (intval($link) > 0) {
                     if ($doc = Document::getById(intval($link))) {
                         $glossary->setLink($doc->getFullPath());
                     }
                 }
             }
             $glossaries[] = $glossary;
         }
         $this->_helper->json(array("data" => $glossaries, "success" => true, "total" => $list->getTotalCount()));
     }
     $this->_helper->json(false);
 }
Exemplo n.º 3
0
 /**
  * @return void
  */
 public function clearDependentCache()
 {
     // this is mostly called in Redirect\Resource not here
     try {
         \Pimcore\Model\Cache::clearTag("redirect");
     } catch (\Exception $e) {
         \Logger::crit($e);
     }
 }
Exemplo n.º 4
0
 public function clearCacheAction()
 {
     \Pimcore\Model\Cache::clearTag("ecommerceconfig");
     exit;
 }
Exemplo n.º 5
0
 /**
  * @return void
  */
 public function clearDependentCache()
 {
     // this is mostly called in Staticroute\Dao not here
     try {
         \Pimcore\Model\Cache::clearTag("staticroute");
     } catch (\Exception $e) {
         \Logger::crit($e);
     }
 }
Exemplo n.º 6
0
 /**
  * @return void
  */
 public function delete()
 {
     // empty object cache
     try {
         Cache::clearTag("customlayout_" . $this->getId());
     } catch (\Exception $e) {
     }
     // empty output cache
     try {
         Cache::clearTag("output");
     } catch (\Exception $e) {
     }
     $this->getResource()->delete();
 }
Exemplo n.º 7
0
 /**
  * @return void
  */
 public function delete()
 {
     // delete all objects using this class
     $list = new Listing();
     $list->setCondition("o_classId = ?", $this->getId());
     $list->load();
     foreach ($list->getObjects() as $o) {
         $o->delete();
     }
     $this->deletePhpClasses();
     // empty object cache
     try {
         Cache::clearTag("class_" . $this->getId());
     } catch (\Exception $e) {
     }
     // empty output cache
     try {
         Cache::clearTag("output");
     } catch (\Exception $e) {
     }
     $customLayouts = new ClassDefinition\CustomLayout\Listing();
     $customLayouts->setCondition("classId = " . $this->getId());
     $customLayouts = $customLayouts->load();
     foreach ($customLayouts as $customLayout) {
         $customLayout->delete();
     }
     $this->getDao()->delete();
 }