Пример #1
0
 public static function get_categories_manager()
 {
     if (self::$categories_manager === null) {
         $categories_items_parameters = new CategoriesItemsParameters();
         $categories_items_parameters->set_table_name_contains_items(ArticlesSetup::$articles_table);
         self::$categories_manager = new CategoriesManager(ArticlesCategoriesCache::load(), $categories_items_parameters);
     }
     return self::$categories_manager;
 }
Пример #2
0
 /**
  * @desc Return the categories manager.
  */
 public static function get_categories_manager()
 {
     if (self::$categories_manager === null) {
         $categories_items_parameters = new CategoriesItemsParameters();
         $categories_items_parameters->set_table_name_contains_items(GallerySetup::$gallery_table);
         $categories_items_parameters->set_field_name_id_category('idcat');
         self::$categories_manager = new CategoriesManager(GalleryCategoriesCache::load(), $categories_items_parameters);
     }
     return self::$categories_manager;
 }
 /**
  * @desc Deletes a category and items.
  * @param int $id Id of the category to delete.
  */
 public function delete($id)
 {
     if (!$this->get_categories_cache()->category_exists($id) || $id == Category::ROOT_CATEGORY) {
         throw new CategoryNotFoundException($id);
     }
     $category = $this->get_categories_cache()->get_category($id);
     $this->db_querier->delete($this->table_name, 'WHERE id=:id', array('id' => $id));
     //Delete items
     $this->db_querier->delete($this->categories_items_parameters->get_table_name_contains_items(), 'WHERE ' . $this->categories_items_parameters->get_field_name_id_category() . '=:id_category', array('id_category' => $id));
     $result = PersistenceContext::get_querier()->select_rows($this->table_name, array('id', 'c_order'), 'WHERE id_parent=:id_parent AND c_order > :order', array('id_parent' => $category->get_id_parent(), 'order' => $category->get_order()));
     while ($row = $result->fetch()) {
         $this->db_querier->update($this->table_name, array('c_order' => $row['c_order'] - 1), 'WHERE id=:id', array('id' => $row['id']));
     }
     $this->regenerate_cache();
 }
 public static function get_streams_manager()
 {
     if (self::$streams_manager === null) {
         $categories_items_parameters = new CategoriesItemsParameters();
         $categories_items_parameters->set_table_name_contains_items(NewsletterSetup::$newsletter_table_archives);
         self::$streams_manager = new CategoriesManager(NewsletterStreamsCache::load(), $categories_items_parameters);
         self::$streams_manager->get_categories_items_parameters()->set_field_name_id_category('stream_id');
     }
     return self::$streams_manager;
 }