104 lines
3.1 KiB
PHP
104 lines
3.1 KiB
PHP
|
<?php
|
||
|
class ClassContent extends ClassConfig {
|
||
|
public function __construct(){}
|
||
|
public function __destruct(){}
|
||
|
|
||
|
public function listContent($lang_code){
|
||
|
$this->_langCode = $lang_code;
|
||
|
$oPDOLink = ClassConfig::databaseConnect();
|
||
|
$sql = "
|
||
|
SELECT id, code, source, ".$this->_langCode."
|
||
|
FROM content_content;
|
||
|
";
|
||
|
$execSQL = $oPDOLink->prepare($sql);
|
||
|
$execSQL->execute(array());
|
||
|
$rows = $execSQL->fetchAll(PDO::FETCH_ASSOC);
|
||
|
|
||
|
$res = array();
|
||
|
foreach($rows as $k=>$v){
|
||
|
$res[$rows[$k]['code']] = array('source'=>$rows[$k]['source'], $this->_langCode=>$rows[$k][$this->_langCode]);
|
||
|
}
|
||
|
return $res;
|
||
|
}
|
||
|
|
||
|
public function getContentFromDatabase($code, $lang){
|
||
|
$this->_code = $code;
|
||
|
$this->_lang = $lang;
|
||
|
$oPDOLink = ClassConfig::databaseConnect();
|
||
|
|
||
|
$sql="
|
||
|
SELECT source, ".$this->_lang."
|
||
|
FROM content_content
|
||
|
WHERE code=:code
|
||
|
LIMIT 1
|
||
|
";
|
||
|
$execSQL = $oPDOLink->prepare($sql);
|
||
|
$execSQL->execute(array(':code'=>$this->_code));
|
||
|
$row = $execSQL->fetch(PDO::FETCH_ASSOC);
|
||
|
return $row;
|
||
|
}
|
||
|
|
||
|
public function getContent($code, $lang){
|
||
|
$this->_code = $code;
|
||
|
$this->_lang = $lang;
|
||
|
|
||
|
if(!isset($_SESSION['content'][$this->_code]) or $_SESSION['content'][$this->_code]['source']==''){
|
||
|
$row = $this->getContentFromDatabase($this->_code, $this->_lang);
|
||
|
$_SESSION['content'][$this->_code][$this->_lang] = $row[$this->_lang];
|
||
|
$_SESSION['content'][$this->_code]['source'] = $row['source'];
|
||
|
}
|
||
|
|
||
|
if($_SESSION['content'][$this->_code][$this->_lang] != ''){
|
||
|
return $_SESSION['content'][$this->_code][$this->_lang];
|
||
|
} else {
|
||
|
return $_SESSION['content'][$this->_code]['source'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function listContentForTranslation($lang_code){
|
||
|
$this->_langCode = $lang_code;
|
||
|
$oPDOLink = ClassConfig::databaseConnect();
|
||
|
$sql = "
|
||
|
SELECT id, code, source, ".$this->_langCode." AS content, is_active
|
||
|
FROM content_content;
|
||
|
";
|
||
|
$execSQL = $oPDOLink->prepare($sql);
|
||
|
$execSQL->execute(array());
|
||
|
$rows = $execSQL->fetchAll(PDO::FETCH_ASSOC);
|
||
|
return $rows;
|
||
|
}
|
||
|
|
||
|
public function getContentDependingOnId($lang_code, $content_id){
|
||
|
$this->_langCode = $lang_code;
|
||
|
$this->_contentId = $content_id;
|
||
|
$oPDOLink = ClassConfig::databaseConnect();
|
||
|
$sql = "
|
||
|
SELECT id, code, source, ".$this->_langCode." AS content, is_active
|
||
|
FROM content_content
|
||
|
WHERE id=:id;
|
||
|
";
|
||
|
$execSQL = $oPDOLink->prepare($sql);
|
||
|
$execSQL->execute(array(':id'=>$this->_contentId));
|
||
|
$rows = $execSQL->fetch(PDO::FETCH_ASSOC);
|
||
|
return $rows;
|
||
|
}
|
||
|
|
||
|
public function updateContentDependingOnId($lang_code, $content_id, $content){
|
||
|
$this->_langCode = $lang_code;
|
||
|
$this->_contentId = $content_id;
|
||
|
$this->_content = $content;
|
||
|
$oPDOLink = ClassConfig::databaseConnect();
|
||
|
$sql = "
|
||
|
UPDATE content_content SET ".$this->_langCode."=:content
|
||
|
WHERE id=:id;
|
||
|
";
|
||
|
$execSQL = $oPDOLink->prepare($sql);
|
||
|
if($execSQL->execute(array(':content'=>$this->_content, ':id'=>$this->_contentId))){
|
||
|
return 'success';
|
||
|
} else {
|
||
|
return 'failure';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|