GetId()==-1) { return self::Insert($obj); } else { return self::Update($obj); } } /** * @param Feed $obj * */ public static function Insert($obj) { $dalData = new DalData(); $dalData->setObjClassTable(self::GetObjClassTable()); $dalData->setObj($obj); $id = self::DefaultInsert($dalData); return $id; } /** * @param Text $obj * */ public static function Update($obj) { $dalData = new DalData(); $dalData->setObjClassTable(self::GetObjClassTable()); $dalData->setObjClassTablePK(self::GetObjClassTablePK()); $dalData->setObj($obj); return self::DefaultUpdate($dalData); } /** * * @param integer $id * */ public static function Delete($obj) { $dalData = new DalData(); $dalData->setObjClassTable(self::GetObjClassTable()); $dalData->setObjClassTablePK(self::GetObjClassTablePK()); $dalData->setObj($obj); return self::DefaultDelete($dalData); } /** * * @param $id */ public static function GetById($id) { $result = self::GetResult(array(self::GetObjClassTablePK()=>$id), array(), 1); if(is_object($result[0])) { return $result[0]; } else { throw new Exception('Brak rekordu w tablicy '.self::GetObjClassTable().' o id '.$id.'!'); } } public static function GetResult($data,$queryFields = array(),$limit = 0, $sortBy = null,$count = null, $cache = true) { $dalData = new DalData(); $dalData->setObjClassName(self::GetObjClassName()); $dalData->setObjClassTable(self::GetObjClassTable()); $dalData->setObjClassTablePK(self::GetObjClassTablePK()); $dalData->setOptClass(self::GetOptClass()); $dalData->setCondition($data); $dalData->setQueryFields($queryFields); $dalData->setLimit($limit); $dalData->setSortBy($sortBy); $dalData->setCount($count); return self::DefaultGetResult($dalData); } public static function DeleteByParentId($id) { $sql = "DELETE FROM `mf_article_description` WHERE `id_mf_article`=:0"; $db = Registry::Get('db'); $db->Prepare($sql) ->BindParam(0, $id) ->Execute(); } // public static function GetById($id) { // return self::DefaultGetById(self::GetOptClass(), self::GetObjClassTable(), self::GetObjClassName(), self::GetObjClassTablePK(), $id); // } public static function GetEmptyObj() { $obj = new SimpleArticle_MfArticleDescription(-1); return $obj; } public static function GetArrayObjAll() { } // public static function GetResult($data,$queryFields = array(),$limit = 0, $sortBy = null,$count = null) { // // if(!is_array($data)){ // $data = array(); // } // // $db = Registry::Get('db'); // // $queryCacheName = __CLASS__. "_" .__FUNCTION__. "_" .md5(implode($queryFields)); // // if(isset(QueryCacheTemp::$cacheQuery[$queryCacheName])) // { // $sql = QueryCacheTemp::$cacheQuery[$queryCacheName]; // } // else // { // if($count == true) // $select = "count(*) as count"; // else // $select =" " . SQL::ToSelect(self::GetOptClass(),$queryFields) . " "; // // $sql = " SELECT $select FROM " . self::GetObjClassTable() . " WHERE 1=1 "; // $q = new QueryCache($queryCacheName,$sql); // } // // foreach ($data as $key => $value) // { // if($key == "id") // $key = 'id_mf_article_description' ; // // if(is_array($value)) // $sql .= ( is_numeric($value['value']) || $value ? " AND ".$key." ".$value['condition']." '". $value['value'] ."' " : ""); // else // $sql .= ( is_numeric($value) || $value ? " AND ".$key." = '". $value ."' " : ""); // } // // $sql .= ( $sortBy ? " ORDER BY $sortBy " : ""). // ( $limit ? " LIMIT " . $limit : ""). // " "; // // $stmt = $db->prepare($sql) // ->execute(); // // // $array = $stmt->fetchAllAssoc(); // // if($count == true) // return $array[0]['count']; // // $done = array(); // // for($i=0;$iFromArray($array[$i],1); // $done[] = $obj; // } // return $done; // // } public static function GetByLink($sourceType, $sourceId, $lang) { $data = array('mf_link.source_type'=>'"'.$sourceType.'"', 'mf_link.id_source'=>$sourceId, 'mf_link.destination_type'=>'"'.self::GetObjClassTable().'"', 'mf_link.id_destination'=>self::GetObjClassTable().".".self::GetObjClassTablePK(), 'mf_link.id_mf_link'=>'mf_link_description.id_mf_link', 'mf_link_description.lang'=>'"'.$lang.'"'); $sortBy = 'mf_link.link_type, mf_link.link_type'; $queryFields = array(); $limit = null; $count = null; $db = Registry::Get('db'); $queryCacheName = __CLASS__. "_" .__FUNCTION__. "_" .md5(implode($queryFields)); if(isset(QueryCacheTemp::$cacheQuery[$queryCacheName])) { $sql = QueryCacheTemp::$cacheQuery[$queryCacheName]; } else { if($count == true) $select = "count(*) as count"; else $select =" " . SQL::ToSelect(self::GetOptClass(),$queryFields) . " "; $sql = " SELECT $select, mf_link_description.description as mf_link_description, mf_link.weight as mf_link_weight, mf_link.link_type as mf_link_type FROM " . self::GetObjClassTable() . ", mf_link, mf_link_description WHERE 1=1 "; $q = new QueryCache($queryCacheName,$sql); } foreach ($data as $key => $value) { if($key == "id") $key = 'id_mf_article_description' ; if(is_array($value)) $sql .= ( is_numeric($value['value']) || $value ? " AND ".$key." ".$value['condition']." ". $value['value'] : ""); else $sql .= ( is_numeric($value) || $value ? " AND ".$key." = ". $value : ""); } $sql .= ( $sortBy ? " ORDER BY $sortBy " : ""). ( $limit ? " LIMIT " . $limit : ""). " "; $stmt = $db->prepare($sql) ->execute(); $array = $stmt->fetchAllAssoc(); if($count == true) return $array[0]['count']; $done = array(); for($i=0;$iFromArray($array[$i],1); $obj->SetMfLinkDescription($array[$i]['mf_link_description']); $obj->SetMfLinkWeight($array[$i]['mf_link_weight']); $obj->SetMfLinkType($array[$i]['mf_link_type']); $obj->SetLang($lang); $done[] = $obj; } return $done; } public static function GetIdByParentId($pid) { $sql = "SELECT `id_mf_article_description` FROM `mf_article` WHERE `id_mf_article`=:0"; $res = $db = Registry::Get('db') ->Prepare($sql) ->BindParam(0, $pid) ->Execute() ->FetchAllAssoc(); return $res[0]['id_mf_article_description']; } /** * Pusty konstruktor * */ public function __construct() { } public static function GetObjClassName() { if(self::$objClassName != '') { $class = self::$objClassName; } else { $class = str_replace('DAL', '', __CLASS__); } return $class; } public static function GetOptClass() { if(self::$optClass!=null) { return self::$optClass; } else { return self::GetObjClassName(); } } public static function GetObjClassTablePK() { if(self::$objClassTablePK != '') { $return = self::$objClassTablePK; } else { $class = self::GetObjClassName(); $classObj = new $class(); $return = $classObj->GetClassTablePK(); } return $return; } public static function GetObjClassTable() { if(self::$objClassTable!='') { $return = self::$objClassTable; } else { $class = self::GetObjClassName(); $classObj = new $class(); $return = $classObj->GetTableName(); } return $return; } public static function GetDalDataObj() { $dalData = new DalData(); $dalData->setObjClassName(self::GetObjClassName()); $dalData->setObjClassTable(self::GetObjClassTable()); $dalData->setObjClassTablePK(self::GetObjClassTablePK()); $dalData->setOptClass(self::GetOptClass()); //$dalData->setDatabaseType('dbTemp'); return $dalData; } } ?>