Example #1
0
 private function deleteUnusedCategories($activeList) {
     //TODO: do this with delte constraints
     $delete = new Gpf_SqlBuilder_DeleteBuilder();
     $delete->from->add(Pap_Db_Table_CampaignsCategories::getName());
     $delete->where->add(Pap_Db_Table_CampaignsCategories::CATEGORYID, 'not in', $activeList);
     $delete->execute();
     
     $delete = new Gpf_SqlBuilder_DeleteBuilder();
     $delete->from->add(Pap_Db_Table_CampaignsInCategory::getName());
     $delete->where->add(Pap_Db_Table_CampaignsInCategory::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_CampaignsCategories::DESCRIPTION, Pap_Db_Table_CampaignsCategories::DESCRIPTION, 'c');
		$selectBuilder->select->add(Pap_Db_Table_CampaignsCategories::CATEGORYID, Pap_Db_Table_CampaignsCategories::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_CampaignsCategories::getName(), "c",
            "h.".Gpf_Db_Table_HierarchicalDataNodes::CODE." = c.".Pap_Db_Table_CampaignsCategories::CATEGORYID);

		$selectBuilder->where->add(Gpf_Db_Table_HierarchicalDataNodes::TYPE, '=', Pap_Features_CampaignsCategories_Main::CAMPAIGNS_CATEGORIES_HIERARCHICAL_DATE_TYPE);
        $selectBuilder->where->add(Pap_Db_Table_CampaignsCategories::CATEGORYID,'=',$categoryId);
		
        $row = $selectBuilder->getOneRow();
		 
		return $row;
	}
 /**
  * @return Pap_Db_Table_CampaignsCategories
  */
 public static function getInstance() {
     if(self::$instance === null) {
         self::$instance = new self;
     }
     return self::$instance;
 }
 function init() {
     $this->setTable(Pap_Db_Table_CampaignsCategories::getInstance());
     parent::init();
 }