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;
}
}
?>