Example #1
0
    private function deleteUnusedCategories($activeList) {
        //TODO: do this with delte constraints
        $delete = new Gpf_SqlBuilder_DeleteBuilder();
        $delete->from->add(Pap_Db_Table_BannersCategories::getName());
        $delete->where->add(Pap_Db_Table_BannersCategories::CATEGORYID, 'not in', $activeList);
        $delete->execute();

        $delete = new Gpf_SqlBuilder_DeleteBuilder();
        $delete->from->add(Pap_Db_Table_BannersCategories::getName());
        $delete->where->add(Pap_Db_Table_BannersCategories::CATEGORYID, 'not in', $activeList);
        $delete->execute();
    }
    /**
     * @throws Gpf_DbEngine_TooManyRowsException
     * @throws Gpf_DbEngine_NoRowException
     * @param string $categoryId
     * @return Gpf_Data_Record
     */
    private function getCategoryData($categoryId) {
        $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();

        $selectBuilder->select->add(Pap_Db_Table_BannersCategories::DESCRIPTION, Pap_Db_Table_BannersCategories::DESCRIPTION, 'c');
        $selectBuilder->select->add(Pap_Db_Table_BannersCategories::CATEGORYID, Pap_Db_Table_BannersCategories::CATEGORYID, 'c');
        $selectBuilder->select->add(Gpf_Db_Table_HierarchicalDataNodes::NAME, Gpf_Db_Table_HierarchicalDataNodes::NAME, 'h');
        $selectBuilder->select->add(Gpf_Db_Table_HierarchicalDataNodes::STATE, 'visible', 'h');

        $selectBuilder->from->add(Gpf_Db_Table_HierarchicalDataNodes::getName(), "h");
        $selectBuilder->from->addLeftJoin(Pap_Db_Table_BannersCategories::getName(), "c",
            "h.".Gpf_Db_Table_HierarchicalDataNodes::CODE." = c.".Pap_Db_Table_BannersCategories::CATEGORYID);

        $selectBuilder->where->add(Gpf_Db_Table_HierarchicalDataNodes::TYPE, '=', Pap_Features_BannersCategories_Main::BANNERS_CATEGORIES_HIERARCHICAL_DATE_TYPE);
        $selectBuilder->where->add(Pap_Db_Table_BannersCategories::CATEGORYID,'=',$categoryId);

        $row = $selectBuilder->getOneRow();
        	
        return $row;
    }
 function init() {
     $this->setTable(Pap_Db_Table_BannersCategories::getInstance());
     parent::init();
 }
 /**
  * @return Pap_Db_Table_CampaignsCategories
  */
 public static function getInstance() {
     if(self::$instance === null) {
         self::$instance = new self;
     }
     return self::$instance;
 }