Example #1
0
 public function deleteAjaxAction(\Difra\Param\AnyInt $id, \Difra\Param\AjaxCheckbox $confirm = null)
 {
     if (!$confirm or !$confirm->val()) {
         $cat = \Difra\Plugins\Catalog\Category::get($id->val());
         $this->ajax->display('<span>' . $this->locale->getXPath('catalog/adm/category-delete-confirm-1') . htmlspecialchars($cat->getName()) . $this->locale->getXPath('catalog/adm/category-delete-confirm-2') . '</span>' . '<form action="/adm/catalog/categories/delete/' . $id . '" method="post" class="ajaxer">' . '<input type="hidden" name="confirm" value="1"/>' . '<input type="submit" value="Да"/>' . '<a href="#" onclick="ajaxer.close(this)" class="button">Нет</a>' . '</form>');
     } else {
         \Difra\Plugins\Catalog::getInstance()->deleteCategory($id->val());
         $this->ajax->refresh();
     }
 }
Example #2
0
 public function indexAction()
 {
     $catId = 0;
     $nextCat = null;
     $linkParts = self::$parameters;
     $title = [];
     while (!empty(self::$parameters)) {
         $next = rawurldecode(self::$parameters[0]);
         if ($nextCat = \Difra\Plugins\Catalog\Category::getByLink($next, $catId)) {
             array_shift(self::$parameters);
             $catId = $nextCat->getId();
             $title[] = $nextCat->getName();
             continue;
         }
         break;
     }
     \Difra\Plugins\Catalog::getInstance()->setSelectedCategory($catId);
     // get page
     if (sizeof(self::$parameters) >= 2 and self::$parameters[sizeof(self::$parameters) - 2] == 'page' and is_numeric(self::$parameters[sizeof(self::$parameters) - 1])) {
         $page = array_pop(self::$parameters);
         array_pop(self::$parameters);
         array_pop($linkParts);
         array_pop($linkParts);
     } else {
         $page = 1;
     }
     $action = 'view';
     switch (sizeof(self::$parameters)) {
         case 0:
             \Difra\Plugins\Catalog\View::getInstance()->viewCategory($this, $catId, $page, $linkParts, $title);
             break;
             /** @noinspection PhpMissingBreakStatementInspection */
         /** @noinspection PhpMissingBreakStatementInspection */
         case 2:
             $action = array_pop(self::$parameters);
             // no break
         // no break
         case 1:
             \Difra\Plugins\Catalog\View::getInstance()->viewItem($this, self::$parameters[0], $action, $title);
             self::$parameters = [];
             break;
     }
 }
Example #3
0
 /**
  * Возвращает полный URI к элементу
  * @return string
  */
 public function getFullLink()
 {
     return Category::get($this->category)->getFullLink() . '/' . $this->id . '-' . $this->link;
 }
Example #4
0
 /**
  * Переместить категорию «ниже»
  * @param int $id
  */
 public function moveCategoryDown($id)
 {
     \Difra\Plugins\Catalog\Category::get($id)->moveDown();
 }