getByName() публичный статический Метод

public static getByName ( $name ) : Config
$name
Результат Config
Пример #1
0
 /**
  * @return array
  */
 public function load()
 {
     $properties = [];
     $propertiesData = $this->db->fetchAll($this->model->getFilter(), $this->model->getOrder());
     foreach ($propertiesData as $propertyData) {
         $properties[] = Config::getByName($propertyData["id"]);
     }
     $this->model->setTags($properties);
     return $properties;
 }
Пример #2
0
 public function tagManagementUpdateAction()
 {
     $this->checkPermission("tag_snippet_management");
     $tag = Model\Tool\Tag\Config::getByName($this->getParam("name"));
     $data = \Zend_Json::decode($this->getParam("configuration"));
     $data = array_htmlspecialchars($data);
     $items = array();
     foreach ($data as $key => $value) {
         $setter = "set" . ucfirst($key);
         if (method_exists($tag, $setter)) {
             $tag->{$setter}($value);
         }
         if (strpos($key, "item.") === 0) {
             $cleanKeyParts = explode(".", $key);
             $items[$cleanKeyParts[1]][$cleanKeyParts[2]] = $value;
         }
     }
     $tag->resetItems();
     foreach ($items as $item) {
         $tag->addItem($item);
     }
     // parameters get/post
     $params = array();
     for ($i = 0; $i < 5; $i++) {
         $params[] = array("name" => $data["params.name" . $i], "value" => $data["params.value" . $i]);
     }
     $tag->setParams($params);
     if ($this->getParam("name") != $data["name"]) {
         $tag->setName($this->getParam("name"));
         // set the old name again, so that the old file get's deleted
         $tag->delete();
         // delete the old config / file
         $tag->setName($data["name"]);
     }
     $tag->save();
     $this->_helper->json(array("success" => true));
 }
Пример #3
0
 /**
  *
  */
 public function dispatchLoopShutdown()
 {
     if (!\Pimcore\Tool::isHtmlResponse($this->getResponse())) {
         return;
     }
     $cacheKey = "outputfilter_tagmngt";
     $tags = Cache::load($cacheKey);
     if (!is_array($tags)) {
         $dir = Tool\Tag\Config::getWorkingDir();
         $tags = array();
         $files = scandir($dir);
         foreach ($files as $file) {
             if (strpos($file, ".xml")) {
                 $name = str_replace(".xml", "", $file);
                 $tags[] = Tool\Tag\Config::getByName($name);
             }
         }
         Cache::save($tags, $cacheKey, array("tagmanagement"), null, 100);
     }
     if (empty($tags)) {
         return;
     }
     $html = null;
     $body = $this->getResponse()->getBody();
     $requestParams = array_merge($_GET, $_POST);
     foreach ($tags as $tag) {
         $method = strtolower($tag->getHttpMethod());
         $pattern = $tag->getUrlPattern();
         $textPattern = $tag->getTextPattern();
         // site check
         if (\Site::isSiteRequest() && $tag->getSiteId()) {
             if (\Site::getCurrentSite()->getId() != $tag->getSiteId()) {
                 continue;
             }
         } else {
             if (!\Site::isSiteRequest() && $tag->getSiteId()) {
                 continue;
             }
         }
         $requestPath = rtrim($this->getRequest()->getPathInfo(), "/");
         if (($method == strtolower($this->getRequest()->getMethod()) || empty($method)) && (empty($pattern) || @preg_match($pattern, $requestPath)) && (empty($textPattern) || strpos($body, $textPattern) !== false)) {
             $paramsValid = true;
             foreach ($tag->getParams() as $param) {
                 if (!empty($param["name"])) {
                     if (!empty($param["value"])) {
                         if (!array_key_exists($param["name"], $requestParams) || $requestParams[$param["name"]] != $param["value"]) {
                             $paramsValid = false;
                         }
                     } else {
                         if (!array_key_exists($param["name"], $requestParams)) {
                             $paramsValid = false;
                         }
                     }
                 }
             }
             if (is_array($tag->getItems()) && $paramsValid) {
                 foreach ($tag->getItems() as $item) {
                     if (!empty($item["element"]) && !empty($item["code"]) && !empty($item["position"])) {
                         if (!$html) {
                             include_once "simple_html_dom.php";
                             $html = str_get_html($body);
                         }
                         if ($html) {
                             $element = $html->find($item["element"], 0);
                             if ($element) {
                                 if ($item["position"] == "end") {
                                     $element->innertext = $element->innertext . "\n\n" . $item["code"] . "\n\n";
                                 } else {
                                     // beginning
                                     $element->innertext = "\n\n" . $item["code"] . "\n\n" . $element->innertext;
                                 }
                                 // we havve to reinitialize the html object, otherwise it causes problems with nested child selectors
                                 $body = $html->save();
                                 $html->clear();
                                 unset($html);
                                 $html = null;
                             }
                         }
                     }
                 }
             }
         }
     }
     if ($html && method_exists($html, "clear")) {
         $html->clear();
         unset($html);
     }
     $this->getResponse()->setBody($body);
 }