Exemplo n.º 1
0
 public function blacklistAction()
 {
     if (!$this->getUser()->isAllowed("emails")) {
         throw new \Exception("Permission denied, user needs 'emails' permission.");
     }
     if ($this->getParam("data")) {
         $data = \Zend_Json::decode($this->getParam("data"));
         if (is_array($data)) {
             foreach ($data as &$value) {
                 $value = trim($value);
             }
         }
         if ($this->getParam("xaction") == "destroy") {
             $address = Tool\Email\Blacklist::getByAddress($data);
             $address->delete();
             $this->_helper->json(array("success" => true, "data" => array()));
         } elseif ($this->getParam("xaction") == "update") {
             $address = Tool\Email\Blacklist::getByAddress($data["address"]);
             $address->setValues($data);
             $address->save();
             $this->_helper->json(array("data" => $address, "success" => true));
         } elseif ($this->getParam("xaction") == "create") {
             unset($data["id"]);
             $address = new Tool\Email\Blacklist();
             $address->setValues($data);
             $address->save();
             $this->_helper->json(array("data" => $address, "success" => true));
         }
     } else {
         // get list of routes
         $list = new Tool\Email\Blacklist\Listing();
         $list->setLimit($this->getParam("limit"));
         $list->setOffset($this->getParam("start"));
         $sortingSettings = \Pimcore\Admin\Helper\QueryParams::extractSortingSettings($this->getAllParams());
         if ($sortingSettings['orderKey']) {
             $orderKey = $sortingSettings['orderKey'];
         }
         if ($sortingSettings['order']) {
             $order = $sortingSettings['order'];
         }
         if ($this->getParam("filter")) {
             $list->setCondition("`address` LIKE " . $list->quote("%" . $this->getParam("filter") . "%"));
         }
         $data = $list->load();
         $this->_helper->json(array("success" => true, "data" => $data, "total" => $list->getTotalCount()));
     }
     $this->_helper->json(false);
 }