This commit is contained in:
2026-05-15 18:33:51 +02:00
parent 3601be572f
commit c980004309
8442 changed files with 783630 additions and 1 deletions

View File

@@ -0,0 +1,493 @@
<?php
/**
* Klasa prostych artykulow
*
*/
class SimpleArticle_MfArticle extends DataObject {
static $TYPEART = 1;
static $TYPENEWS = 2;
static $TYPESTAGE = 3;
static $TYPEGAL = 4;
static $TYPEMAIN = 5;
/**
* nazwa tabeli
*/
static $tableName = 'mf_article';
/**
* nazwa klucza tabeli
*/
static $classTablePK = 'id_mf_article';
/**
* nazwa klasy
*/
static $className = __CLASS__;
static $types = array(
1 =>'Artykuł',
2 =>'Aktualość' ,
3 =>'Scena' ,
4 =>'Galeria' ,
5 =>'Strona Główna'
);
static $categoryName = array(
1 =>'Narzędzia i oprzyrządowanie do smaru',
2 =>'Narzędzia i oprzyrządowanie do oleju' ,
3 =>'Narzędzia i oprzyrządowanie do płynów'
);
/**
* tabela mapująca pola z bazy SQL na pola klasy.
*/
static $fields = array(
'id_mf_article' =>'id',
'date' =>'date' ,
'publication' =>'publication' ,
'weight' =>'weight' ,
'url' =>'url',
'special' =>'special',
'id_mf_picture' => 'idPicture',
'id_mf_picture_mini' => 'idPictureMini',
'id_structure' => 'idStructure',
'type' =>'type',
'id_category' =>'idCategory',
'date_shown'=>'dateShown',
'date_publication'=> 'datePublication',
'zz_date_add' => 'addDate',
'zz_date_edit' => 'editDate',
'id_mf_image_group' => 'idImageGroup'
);
protected $id;
private $date;
private $publication;
private $weight;
private $url;
private $lang;
private $articleDescriptionObj;
private $idPicture = 0;
private $idPictureMini = 0;
private $idStructure = 0;
private $picture;
private $pictureMini;
private $special = 0;
private $type;
private $idCategory;
private $dateShown;
private $datePublication;
private $addDate;
private $editDate;
private $idImageGroup;
public $tag;
public $customer;
public $structure;
public $arrayImage;
public function GetId() {
return $this->id;
}
public function SetId($id) {
$this->id = $id;
}
public function GetDate() {
return $this->date;
}
public function SetDate($date) {
$this->date = $date;
}
public function GetSpecial() {
return $this->special;
}
public function SetSpecial($special) {
$this->special = $special;
}
public function GetPublication() {
return $this->publication;
}
public function SetPublication($publication) {
$this->publication = $publication;
}
public function GetWeight() {
return $this->weight;
}
public function SetWeight($weight) {
$this->weight = $weight;
}
public function GetUrl() {
return $this->url;
}
public function SetUrl($url) {
$this->url = $url;
}
public function GetLang() {
if($this->lang=='') {
$this->SetLang(Router::$curLang);
}
return $this->lang;
}
public function SetIdPicture($idPicture) {
$this->idPicture = $idPicture;
}
public function GetIdPicture() {
return $this->idPicture;
}
public function SetIdPictureMini($idPictureMini) {
$this->idPictureMini = $idPictureMini;
}
public function GetIdPictureMini() {
return $this->idPictureMini;
}
public function SetIdStructure($idStructure) {
$this->idStructure = $idStructure;
}
public function GetIdStructure() {
return $this->idStructure;
}
public function SetLang($lang) {
$this->lang = $lang;
}
public function GetDescriptionObj() {
if(!is_object($this->articleDescriptionObj)) {
$articleDescriptionObj = SimpleArticle_MfArticleDescriptionDAL::GetResult(array('publication' => 1, 'lang'=>$this->GetLang(), 'id_mf_article'=>$this->GetId()), array('title', 'browser_title', 'description', 'shortnote', 'publication'));
if(isset($articleDescriptionObj[0]) && is_object($articleDescriptionObj[0])) {
$this->SetArticleDescriptionObj($articleDescriptionObj[0]);
} else {
throw new UserException('Brak wersji jezykowej dla tego rekordu! ('.$this->GetId().' '.$this->GetLang().')');
}
}
return $this->articleDescriptionObj;
}
public function SetArticleDescriptionObj($articleDescriptionObj) {
$this->articleDescriptionObj = $articleDescriptionObj;
}
public function SetSimpleArticle_MfArticleDescription($articleDescriptionObj) {
$this->articleDescriptionObj = $articleDescriptionObj;
}
/*
* Eksperymentalne przeciazenie metod kierowane do podobiektu slownikowego
*/
public function __call($name, $param) {
$obj = $this->GetDescriptionObj();
return $obj->$name($param);
}
public function GetMfLinkDescription() {
return $this->mfLinkDescription;
}
public function SetMfLinkDescription($mfLinkDescription) {
$this->mfLinkDescription = $mfLinkDescription;
}
public function GetMfLinkWeight() {
return $this->mfLinkWeight;
}
public function SetMfLinkWeight($mfLinkWeight) {
$this->mfLinkWeight = $mfLinkWeight;
}
public function GetMfLinkType() {
return $this->mfLinkType;
}
public function SetMfLinkType($mfLinkType) {
$this->mfLinkType = $mfLinkType;
}
public function SetPicture($picture) {
$this->picture = $picture;
}
public function GetPicture() {
if (!$this->picture && (int)$this->idPicture > 0) {
$this->picture = PictureDAL::GetById($this->GetIdPicture());
}
return $this->picture;
}
public function GetPictureUrl() {
if ($this->GetPicture()) {
return Config::Get('URL_STATIC_CONTENT') . '/upload/Article/' . $this->GetPicture()->GetLink();
} else {
return null;
}
}
public function GetPicturePath() {
if ($this->GetPicture()) {
return Config::Get('PATH_STATIC_CONTENT') . 'upload/Article/' . $this->GetPicture()->GetLink();
} else {
return null;
}
}
public function SetPictureMini($pictureMini) {
$this->pictureMini = $pictureMini;
}
public function GetPictureMini() {
if (!$this->pictureMini && (int)$this->idPictureMini > 0) {
$this->pictureMini = PictureDAL::GetById($this->GetIdPictureMini());
}
return $this->pictureMini;
}
public function GetPictureMiniUrl() {
if ($this->GetPictureMini()) {
return Config::Get('URL_STATIC_CONTENT') . '/upload/Article/' . $this->GetPictureMini()->GetLink();
} else {
return null;
}
}
public function GetDateShown() {
return $this->dateShown;
}
public function SetDateShown($date) {
$this->dateShown = $date;
}
public function GetDatePublication() {
return $this->datePublication;
}
public function GetDatePublicationWithoutTime() {
return substr($this->datePublication, 0, -9);
}
public function GetDatePublicationTime() {
if (!$this->datePublication) {
return '00';
} else {
return substr($this->datePublication, 11, -6);
}
}
public function SetDatePublication($datePublication) {
$this->datePublication = $datePublication;
}
public function GetDateUpdate() {
return $this->dateUpdate;
}
public function GetDateUpdateWithoutTime() {
return substr($this->dateUpdate, 0, -9);
}
public function GetDateUpdateTime() {
return substr($this->dateUpdate, 11, -6);
}
public function SetDateUpdate($dateUpdate) {
$this->dateUpdate = $dateUpdate;
}
public function GetType() {
return $this->type;
}
public function SetType($type) {
$this->type = $type;
}
public function GetIdCategory() {
return $this->idCategory;
}
public function SetIdCategory($idCategory) {
$this->idCategory = $idCategory;
}
public function GetAddDate() {
return $this->addDate;
}
public function SetAddDate($add) {
$this->addDate = $add;
}
public function GetEditDate() {
return $this->editDate;
}
public function SetEditDate($edit) {
$this->editDate = $edit;
}
// public function getTags() {
// if($this->tag=='') {
// $this->setTags(TagDAL::GetResultByLink('mf_article', $this->GetId(), array()));
// }
// return $this->tag;
// }
//
// public function setTags($tag) {
// $this->tag = $tag;
// }
//
// public function getTagsArrayId() {
// $arrayObj = $this->getTags();
// $arraySel = array();
// foreach ($arrayObj as $obj) {
// $arraySel[] = $obj->GetId();
// }
// return $arraySel;
// }
//
// public function getCustomer() {
// if($this->customer=='') {
// $this->setCustomer(TagDAL::GetResultCustomerByLink('mf_article', $this->GetId(), array()));
// }
// return $this->customer;
// }
//
// public function getCustomerArrayId() {
// $arrayObj = $this->getCustomer();
// $arraySel = array();
// foreach ($arrayObj as $obj) {
// $arraySel[] = $obj->GetId();
// }
// return $arraySel;
// }
//
// public function setCustomer($c) {
// $this->customer = $c;
// }
//
// public function getStringTag($delimiter = ", ")
// {
// $stringTag = "";
// if (is_array($this->getTags())) {
//
//
// foreach($this->tag as $key => $value)
// {
// $stringTag .= $value->GetTag() . $delimiter;
// }
// }
//
// return substr($stringTag,0,strlen($stringTag)-strlen($delimiter));
// }
public function setStructure($s) {
$this->structure = $s;
}
public function getStructure()
{
return $this->structure;
}
public function setArrayImage($arrayImage) {
$this->arrayImage = $arrayImage;
}
public function getArrayImage() {
if (!$this->arrayImage && $this->idImageGroup > 0) {
//$this->setArrayImage(ImageDAL::GetResultByLink('mf_article', $this->id));
$this->setArrayImage(ImageDAL::GetResult(array('id_image_group' => $this->idImageGroup, 'size' => 2),null,'weight'));
}
return $this->arrayImage;
}
public function setIdImageGroup($idImageGroup) {
$this->idImageGroup = $idImageGroup;
}
public function getIdImageGroup() {
return $this->idImageGroup;
}
/**
* Konstruktor klasy
*
* @param integer $id
*/
public function __construct($id = -1) {
$this->SetId($id);
}
/**
* Pobiera nazwę tabeli reprezentującej obiekt w SQL
* @return string
*/
public function GetTableName(){
return self::$tableName;
}
/**
* Pobiera taablice mapującą pola klasy na pola tabeli
* @return array
*/
public function GetFields(){
return self::$fields;
}
/**
* Pobiera nazwę klasy
* @return string
*/
public function GetClassName(){
return self::$className;
}
public function GetClassTablePK() {
return self::$classTablePK;
}
public function GetTypes(){
return self::$types;
}
public function GetTypeName($type){
return self::$fields[$type];
}
public function GetCategoryNameTest($type){
return self::$categoryName[$type];
}
public static function GetCategory(){
return self::$categoryName;
}
}
?>

View File

@@ -0,0 +1,224 @@
<?php
/**
* Klasa kategorii artukułow
*
*/
class SimpleArticle_MfArticleCategory extends DataObject {
/**
* nazwa tabeli
*/
static $tableName = 'mf_article_category';
/**
* nazwa klucza tabeli
*/
static $classTablePK = 'id_mf_article_category';
/**
* nazwa klasy
*/
static $className = __CLASS__;
static $exts = array(
'jpg',
'gif',
'jpeg',
'bmp',
'png'
);
/**
* tabela mapująca pola z bazy SQL na pola klasy.
*/
static $fields = array(
'id_mf_article_category' =>'id',
'weight' =>'weight',
'id_parent' =>'idParent',
'publication' =>'publication',
'type' => 'type',
'location' => 'location'
);
protected $id;
private $weight;
private $publication;
private $idParent;
private $articleCategoryDescriptionObj;
private $articleDescriptionObj;
private $lang;
private $type;
private $location;
public function GetId() {
return $this->id;
}
public function SetId($id) {
$this->id = $id;
}
public function GetPublication() {
return $this->publication;
}
public function SetPublication($publication) {
$this->publication = $publication;
}
public function SetIdParent($parent) {
$this->idParent = $parent;
}
public function GetIdParent() {
return $this->idParent;
}
public function GetWeight() {
return $this->weight;
}
public function SetWeight($weight) {
$this->weight = $weight;
}
public function GetUrl() {
return $this->url;
}
public function SetUrl($url) {
$this->url = $url;
}
public function GetLang() {
return $this->lang;
}
public function SetLang($lang) {
$this->lang = $lang;
}
public function GetType() {
return $this->type;
}
public function SetType($t) {
$this->type = $t;
}
public function GetLocation() {
return $this->location;
}
public function SetLocation($l) {
$this->location = $l;
}
public function GetDescriptionObj() {
if(!is_object($this->articleDescriptionObj)) {
$articleCategoryDescriptionObj = SimpleArticle_MfArticleCategoryDescriptionDAL::GetResult(array('lang'=>$this->GetLang(), 'id_mf_article_category'=>$this->GetId()), array('name', 'lang', 'publication', 'id_mf_article_category'));
if(isset($articleCategoryDescriptionObj[0]) && is_object($articleCategoryDescriptionObj[0])) {
$this->SetArticleCategoryDescriptionObj($articleCategoryDescriptionObj[0]);
} else {
throw new UserException('Brak wersji jezykowej dla tego rekordu! ('.$this->GetId().' '.$this->GetLang().')');
}
}
return $this->articleCategoryDescriptionObj;
}
public function SetArticleCategoryDescriptionObj($articleCategoryDescriptionObj) {
$this->articleCategoryDescriptionObj = $articleCategoryDescriptionObj;
}
public function SetArticle_MfArticleCategoryDescription($articleCategoryDescriptionObj) {
$this->articleCategoryDescriptionObj = $articleCategoryDescriptionObj;
}
/*
* Eksperymentalne przeciazenie metod kierowane do podobiektu slownikowego
*/
public function __call($name, $param) {
$obj = $this->GetDescriptionObj();
return $obj->$name($param);
}
public function GetMfLinkCategoryDescription() {
return $this->mfLinkCategoryDescription;
}
public function SetMfLinkCategoryDescription($mfLinkCategoryDescription) {
$this->mfLinkCategoryDescription = $mfLinkCategoryDescription;
}
public function GetMfLinkWeight() {
return $this->mfLinkWeight;
}
public function SetMfLinkWeight($mfLinkWeight) {
$this->mfLinkWeight = $mfLinkWeight;
}
public function GetMfLinkType() {
return $this->mfLinkType;
}
public function SetMfLinkType($mfLinkType) {
$this->mfLinkType = $mfLinkType;
}
/**
* Konstruktor klasy
*
* @param integer $id
*/
public function __construct($id = -1) {
$this->SetId($id);
}
/**
* Pobiera nazwę tabeli reprezentującej obiekt w SQL
* @return string
*/
public function GetTableName(){
return self::$tableName;
}
/**
* Pobiera taablice mapującą pola klasy na pola tabeli
* @return array
*/
public function GetFields(){
return self::$fields;
}
/**
* Pobiera nazwę klasy
* @return string
*/
public function GetClassName(){
return self::$className;
}
public function GetClassTablePK() {
return self::$classTablePK;
}
public function GetIconUrl() {
$return = null;
foreach(self::$exts as $ext) {
$path = PATH_STATIC_CONTENT."/image/Admin/Categories/Icons/".$this->id.".".$ext;
$url = URL_STATIC_CONTENT."/image/Admin/Categories/Icons/".$this->id.".".$ext;
if(file_exists($path)) {
$return = $url;
}
}
return $return;
}
}
?>

View File

@@ -0,0 +1,334 @@
<?php
/**
* Klasa do obsługi prostych kategorii artykulow
*
*/
class SimpleArticle_MfArticleCategoryDAL extends DefaultDAL {
protected static $objClassName;
protected static $objClassTable;
protected static $objClassTablePK;
private static $optClass;
public static function Save( $obj) {
$id = null;
if($obj->GetId()==-1) {
$id = self::Insert($obj);
} else {
self::Update($obj);
$id = $obj->GetId();
}
return $id;
}
/**
* @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) {
//Utils::ArrayDisplay($obj);
$dalData = new DalData();
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setObj($obj);
return self::DefaultUpdate($dalData);
}
public static function Delete($obj) {
$dalData = new DalData();
$dalData->setObjClassTable(self::GetObjClassTable());
$dalData->setObjClassTablePK(self::GetObjClassTablePK());
$dalData->setObj($obj);
SimpleArticle_MfArticleCategoryDescriptionDAL::DeleteByParentId($obj->GetId());
return self::DefaultDelete($dalData);
}
public static function GetById($id, $lang = 'pl') {
$dalData = self::GetDalDataObj();
$dalData->setCondition(array('mf_article_category.'.self::GetObjClassTablePK()=>$id, 'lang' => $lang));
$dalData->setJoin(array('Article_MfArticleCategory' => ' LEFT JOIN mf_article_category_description ON mf_article_category.id_mf_article_category=mf_article_category_description.id_mf_article_category'));
$dalData->setLimit(1);
$result = self::GetResult($dalData);
if ((count($result) > 0) && (is_object($result[0]))) {
return $result[0];
} else {
//throw new Exception('Brak rekordu w tablicy '.self::GetObjClassTable().' o id <b>'.$id.'</b>!');
return self::GetEmptyObj();
}
}
public static function GetResult($dalData, $showSql = null) {
return self::DefaultGetResult($dalData, $showSql);
}
public static function GetEmptyObj() {
//Utils::ArrayDisplay('tu jestem ');
$obj = new Article_MfArticleCategory(-1);
$obj->SetArticleCategoryDescriptionObj(Article_MfArticleCategoryDescriptionDAL::GetEmptyObj());
return $obj;
}
/*
* Pobiera listę kategorii sortując je po wadze (pole weight) rosnąco
*/
public static function GetArrayObjAll() {
return self::GetResult(array(), array(), null, 'weight ASC');
}
public static function GetList($limit = 20, $sortBy = 'id_mf_article') {
return self::GetResult(array(), array('id_mf_article', 'date', 'url', 'weight'), $limit, $sortBy);
}
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 = $objId ;
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;$i<count($array);$i++)
{
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($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 function SaveFromPost($post) {
//Utils::ArrayDisplay($post);
if (isset($post['Article']['idArticleCategory']) && $post['Article']['idArticleCategory'] > 0) {
$objArticle = SimpleArticle_MfArticleCategoryDAL::GetById($post['Article']['idArticleCategory']);
$objArticleDescription = SimpleArticle_MfArticleCategoryDescriptionDAL::GetResult(array('publication' => 1, 'lang' => $objArticle->GetLang(), 'id_mf_article' => $objArticle->GetId()), array('id_mf_article_description', 'title', 'description', 'shortnote'));
$objArticleDescription = $objArticleDescription[0];
} else {
$objArticle = new SimpleArticle_MfArticle();
$objArticleDescription = new SimpleArticle_MfArticleCategoryDescription();
}
// var_dump($objArticleDescription->GetId());
$objArticle->SetDate(date('Y-d-m'));
$objArticle->SetWeight(10);
//$objArticle->SetPublication(1);
//Utils::ArrayDisplay($objArticle);
$iid = SimpleArticle_MfArticleDAL::Save($objArticle);
$objArticleDescription->SetLang('pl');
$objArticleDescription->SetDescription($_POST['Article']['tresc']);
$objArticleDescription->SetShortnote($_POST['Article']['zajawka']);
$objArticleDescription->SetTitle($_POST['tytul']);
$objArticleDescription->SetBrowserTitle($_POST['Article']['tytulWPrzegladarce']);
$objArticleDescription->SetPublication($_POST['publication']);
$objArticleDescription->SetIdMfArticle($iid);
SimpleArticle_MfArticleDescriptionDAL::Save($objArticleDescription);
return $iid;
}
public static function SaveSort($sortArray) {
$array = self::GetArrayObjAll();
foreach($array as $obj) {
$obj->SetWeight($sortArray[$obj->GetId()]);
self::Update($obj);
}
}
public static function GetCountAll() {
$db = Registry::Get('db');
$sql = " SELECT count(*) as ile ".
" FROM ".self::GetObjClassTable();
$stmt = $db->prepare($sql)
->execute();
$array = $stmt->fetchAllAssoc();
return $array[0]["ile"];
}
public static function CheckIsPublication($ids) {
if(empty($ids)) {
return false;
}
if(!is_array($ids)) {
$ids = array($ids);
}
$sql = sprintf('SELECT count(publication) as count FROM mf_article_category WHERE id_mf_article_category IN (%s)', implode(',', $ids));
$res = Registry::Get('db')->Prepare($sql)->Execute()->FetchAllAssoc();
if($res[0]['count'] > 0) {
return true;
} else {
return false;
}
}
public static function GetCategoriesForArticles($type) {
$sql = 'SELECT '.SQL::ToSelect('MfArticleCategory').' FROM mf_article_category where id_mf_Article_category in (
SELECT distinct mf_link.id_destination FROM `mf_article`
JOIN mf_link
ON mf_link.source_type = \'mf_article\' AND
mf_link.destination_type= \'mf_article_category\' AND
mf_article.id_mf_article = id_source
WHERE mf_article.type = '.$type.'
AND mf_article.`publication` = 1
) AND publication=1 ORDER BY weight';
$res = Registry::Get('db') -> prepare($sql) -> execute() -> FetchAllAssoc();
$return = array();
foreach($res AS $row) {
$obj = new MfArticleCategory();
$obj -> FromArray($row,1);
$return[] = $obj;
}
return $return;
}
/**
* 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());
return $dalData;
}
}
?>

View File

@@ -0,0 +1,144 @@
<?php
/**
* Klasa jezykowa prostych artykulow
*
*/
class SimpleArticle_MfArticleCategoryDescription extends DataObject {
/**
* nazwa tabeli
*/
static $tableName = 'mf_article_category_description';
/**
* nazwa klucza tabeli
*/
static $classTablePK = 'id_mf_article_category_description';
/**
* nazwa klasy
*/
static $className = __CLASS__;
/**
* tabela mapująca pola z bazy SQL na pola klasy.
*/
static $fields = array(
'id_mf_article_category_description' => 'id',
'name' => 'name',
'lang' => 'lang',
'publication' => 'publication',
'id_mf_article_category' => 'idMfArticleCategory',
'type' => 'type',
'location' => 'location'
);
protected $id;
private $name;
private $lang;
private $publication;
private $idMfArticleCategory;
private $type;
private $location;
public function GetId() {
return $this->id;
}
public function SetId($id) {
$this->id = $id;
}
public function GetIdMfArticleCategory() {
return $this->idMfArticleCategory;
}
public function SetIdMfArticleCategory($idMfArticleCategory) {
$this->idMfArticleCategory = $idMfArticleCategory;
}
public function GetName() {
return $this->name;
}
public function SetName($name) {
$this->name = $name;
}
public function GetLang() {
return $this->lang;
}
public function SetLang($lang) {
$this->lang = $lang;
}
public function GetPublication() {
return $this->publication;
}
public function SetPublication($publication) {
$this->publication = $publication;
}
public function GetType() {
return $this->type;
}
public function SetType($t) {
$this->type = $t;
}
public function GetLocation() {
return $this->location;
}
public function SetLocation($l) {
$this->location = $l;
}
/**
* Konstruktor klasy
*
* @param integer $id
*/
public function __construct($id = -1) {
$this->SetId($id);
}
/**
* Pobiera nazwę tabeli reprezentującej obiekt w SQL
* @return string
*/
public function GetTableName(){
return self::$tableName;
}
/**
* Pobiera taablice mapującą pola klasy na pola tabeli
* @return array
*/
public function GetFields(){
return self::$fields;
}
/**
* Pobiera nazwę klasy
* @return string
*/
public function GetClassName(){
return self::$className;
}
public function GetClassTablePK() {
return self::$classTablePK;
}
}
?>

View File

@@ -0,0 +1,255 @@
<?php
/**
* Klasa do obs<62>ugi prostych artykulow
*
*/
class SimpleArticle_MfArticleCategoryDescriptionDAL extends DefaultDAL {
protected static $objClassName;
protected static $objClassTable;
protected static $objClassTablePK;
private static $optClass;
public static function Save($obj) {
return self::DefaultSave(self::GetObjClassTable(), self::GetObjClassTablePK(), $obj);
}
public static function Insert($obj) {
return self::DefaultInsert(self::GetObjClassTable(), $obj);
}
public static function Update($obj) {
self::DefaultUpdate(self::GetObjClassTable(), self::GetObjClassTablePK(), $obj);
}
public static function Delete($id) {
self::DefaultDelete(self::GetObjClassTable(), self::GetObjClassTablePK(), $id);
}
public static function DeleteByParentId($id) {
$sql = "DELETE FROM `mf_article_category_description` WHERE `id_mf_article_category`=: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_MfArticleCategoryDescription(-1);
return $obj;
}
public static function GetArrayObjAll() {
return self::GetResult(array());
}
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;$i<count($array);$i++)
{
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($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;$i<count($array);$i++)
{
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($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;
}
}
?>

View File

@@ -0,0 +1,368 @@
<?php
/**
* Klasa do obs<62>ugi prostych artykulow
*
*/
class SimpleArticle_MfArticleDAL extends DefaultDAL {
protected static $objClassName;
protected static $objClassTable;
protected static $objClassTablePK;
private static $optClass;
public static function Save( $obj) {
$id = null;
if($obj->GetId()==-1) {
$id = self::Insert($obj);
} else {
self::Update($obj);
$id = $obj->GetId();
}
return $id;
}
/**
* @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) {
//Utils::ArrayDisplay($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);
SimpleArticle_MfArticleDescriptionDAL::DeleteByParentId($obj->GetId());
return self::DefaultDelete($dalData);
}
/**
*
* @param $id
*/
public static function GetById($id, $lang = 'pl') {
$dalData = self::GetDalDataObj();
$dalData->setCondition(array('mf_article.'.self::GetObjClassTablePK()=>$id, 'lang' => $lang));
$dalData->setJoin(array('SimpleArticle_MfArticleDescription' => ' LEFT JOIN mf_article_description ON mf_article.id_mf_article=mf_article_description.id_mf_article'));
$dalData->setLimit(1);
$result = self::GetResult($dalData);
if ((count($result) > 0) && (is_object($result[0]))) {
return $result[0];
} else {
//throw new Exception('Brak rekordu w tablicy '.self::GetObjClassTable().' o id <b>'.$id.'</b>!');
return self::GetEmptyObj();
}
}
public static function GetResult($dalData, $showSql = null) {
return self::DefaultGetResult($dalData, $showSql);
}
public static function GetEmptyObj() {
//Utils::ArrayDisplay('tu jestem ');
$obj = new SimpleArticle_MfArticle(-1);
$obj->SetArticleDescriptionObj(SimpleArticle_MfArticleDescriptionDAL::GetEmptyObj());
return $obj;
}
public static function GetArrayObjAll() {
}
public static function GetResultOld($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(`mf_article`.`id_mf_article`) as count";
} else {
$select =" " . SQL::ToSelect(self::GetOptClass(),$queryFields) . " ";
}
$sql = " SELECT $select FROM " . self::GetObjClassTable() . ", mf_article_description WHERE 1=1 AND mf_article.id_mf_article=mf_article_description.id_mf_article ";
$q = new QueryCache($queryCacheName,$sql);
}
foreach ($data as $key => $value) {
if($key == "id") {
$key = 'id_mf_article';
}
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();
//Utils::ArrayDisplay($sql);
$array = $stmt->fetchAllAssoc();
if($count == true) {
return $array[0]['count'];
}
$done = array();
for($i=0;$i<count($array);$i++) {
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($array[$i],1);
$done[] = $obj;
}
return $done;
}
public static function GetList($data = array(), $limit = 20, $sortBy = 'id_mf_article') {
$dalData = self::GetDalDataObj();
$dalData->setJoin(array('SimpleArticle_MfArticleDescription' => ' LEFT JOIN mf_article_description ON mf_article.id_mf_article=mf_article_description.id_mf_article ', 'Structure' => ' LEFT JOIN mf_structure ON mf_article.id_structure=mf_structure.id_mf_structure '));
$dalData->setCondition($data);
$dalData->setLimit($limit);
$dalData->setSortBy($sortBy);
$result = self::GetResult($dalData);
return $result;
}
public static function GetArrayIds($data = array(), $sortBy = 'id_mf_article') {
$dalData = self::GetDalDataObj();
$dalData->setJoin(array('SimpleArticle_MfArticleDescription' => ' LEFT JOIN mf_article_description ON mf_article.id_mf_article=mf_article_description.id_mf_article '));
$dalData->setCondition($data);
$dalData->setQueryFields(array('id_mf_article'));
$dalData->setSortBy($sortBy);
$result = self::GetResult($dalData);
$array = array();
foreach ($result as $obj) {
$array[] = $obj->GetId();
}
return $array;
}
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 = $objId ;
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;$i<count($array);$i++)
{
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($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 function SaveFromPost($_POST, $className) {
// //Utils::ArrayDisplay($_POST);
// if (isset($_POST['Article']['idArticle']) && $_POST['Article']['idArticle'] > 0) {
//
// $objArticle = SimpleArticle_MfArticleDAL::GetById($_POST['Article']['idArticle']);
// $objArticleDescription = SimpleArticle_MfArticleDescriptionDAL::GetResult(array('publication' => 1, 'lang' => $objArticle->GetLang(), 'id_mf_article' => $objArticle->GetId()), array('id_mf_article_description', 'title', 'description', 'shortnote'));
// $objArticleDescription = $objArticleDescription[0];
// } else {
// $objArticle = new SimpleArticle_MfArticle();
// $objArticleDescription = new SimpleArticle_MfArticleDescription();
//
//
// }
//
// // var_dump($objArticleDescription->GetId());
//
// $objArticle->SetDate(date('Y-d-m'));
// $objArticle->SetWeight(10);
// //$objArticle->SetPublication(1);
// //Utils::ArrayDisplay($objArticle);
// $iid = SimpleArticle_MfArticleDAL::Save($objArticle);
//
// $objArticleDescription->SetLang('pl');
// $objArticleDescription->SetDescription($_POST['Article']['tresc']);
// $objArticleDescription->SetShortnote($_POST['Article']['zajawka']);
// $objArticleDescription->SetTitle($_POST['tytul']);
// $objArticleDescription->SetBrowserTitle($_POST['Article']['tytulWPrzegladarce']);
// $objArticleDescription->SetPublication($_POST['publication']);
// $objArticleDescription->SetIdMfArticle($iid);
//
// SimpleArticle_MfArticleDescriptionDAL::Save($objArticleDescription);
//
// return $iid;
// }
public function Special($id, $specjal) {
$db = Registry::Get('db');
$sql = "UPDATE mf_article SET special = $specjal
WHERE id_mf_article = $id ";
//Utils::ArrayDisplay($sql);
$stmt = $db->prepare($sql)
->execute();
}
/**
* 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());
return $dalData;
}
}
?>

View File

@@ -0,0 +1,194 @@
<?php
/**
* Klasa jezykowa prostych artykulow
*
*/
class SimpleArticle_MfArticleDescription extends DataObject {
/**
* nazwa tabeli
*/
static $tableName = 'mf_article_description';
/**
* nazwa klucza tabeli
*/
static $classTablePK = 'id_mf_article_description';
/**
* nazwa klasy
*/
static $className = __CLASS__;
/**
* tabela mapująca pola z bazy SQL na pola klasy.
*/
static $fields = array(
'id_mf_article_description' => 'id',
'id_mf_article' => 'idMfArticle' ,
'title' => 'title' ,
'browser_title' => 'browserTitle',
'description' => 'description' ,
'description_add' => 'descriptionAdd' ,
'shortnote' => 'shortnote',
'lang' => 'lang',
'publication' => 'publication',
'autor' => 'autor'
);
protected $id;
private $idMfArticle;
private $title;
private $browserTitle;
private $description;
private $descriptionAdd;
private $shortnote;
private $lang;
private $publication;
private $autor;
public function GetId() {
return $this->id;
}
public function SetId($id) {
$this->id = $id;
}
public function GetIdMfArticle() {
return $this->idMfArticle;
}
public function SetIdMfArticle($idMfArticle) {
$this->idMfArticle = $idMfArticle;
}
public function GetTitle() {
return $this->title;
}
public function GetTitleInput() {
return Utils::SaveInput($this->title);
}
public function SetTitle($title) {
$this->title = $title;
}
public function GetBrowserTitle() {
return $this->browserTitle;
}
public function SetBrowserTitle($browserTitle) {
if ($browserTitle) {
$this->browserTitle = $browserTitle;
} else {
$this->browserTitle = $this->title;
}
}
public function GetDescription() {
return str_replace('"2cms', '"'.URL_STATIC_CONTENT.'/upload/edytor/2cms', $this->description);
}
public function SetDescription($description) {
$this->description = $description;
}
public function SetDescriptionAdd($descriptionAdd) {
$this->descriptionAdd = $descriptionAdd;
}
public function GetDescriptionAdd() {
return $this->descriptionAdd;
}
public function GetShortnote() {
return $this->shortnote;
}
public function SetShortnote($shortnote) {
$this->shortnote = $shortnote;
}
public function GetLang() {
return $this->lang;
}
public function SetLang($lang) {
$this->lang = $lang;
}
public function GetAutor() {
return $this->autor;
}
public function SetAutor($s) {
$this->autor = $s;
}
public function GetPublication() {
return $this->publication;
}
public function SetPublication($publication) {
$this->publication = $publication;
}
public function GetDescriptionArray() {
$array = explode('<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>', stripslashes($this->description));
//Utils::ArrayDisplay($array);
$this->SetDescriptionArray($array);
return $array;
}
public function SetDescriptionArray($descriptionArray) {
$this->descriptionArray = $descriptionArray;
}
/**
* Konstruktor klasy
*
* @param integer $id
*/
public function __construct($id = -1) {
$this->SetId($id);
}
/**
* Pobiera nazwę tabeli reprezentującej obiekt w SQL
* @return string
*/
public function GetTableName(){
return self::$tableName;
}
/**
* Pobiera taablice mapującą pola klasy na pola tabeli
* @return array
*/
public function GetFields(){
return self::$fields;
}
/**
* Pobiera nazwę klasy
* @return string
*/
public function GetClassName(){
return self::$className;
}
public function GetClassTablePK() {
return self::$classTablePK;
}
}
?>

View File

@@ -0,0 +1,314 @@
<?php
/**
* Klasa do obs<62>ugi prostych artykulow
*
*/
class SimpleArticle_MfArticleDescriptionDAL extends DefaultDAL {
protected static $objClassName;
protected static $objClassTable;
protected static $objClassTablePK;
private static $optClass;
public static function Save( $obj) {
if($obj->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 <b>'.$id.'</b>!');
}
}
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;$i<count($array);$i++)
// {
// $className=self::GetObjClassName();
// $obj = new $className();
// $obj->FromArray($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;$i<count($array);$i++)
{
$className=self::GetObjClassName();
$obj = new $className();
$obj->FromArray($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;
}
}
?>