wefra/modules/ClassController.php

90 lines
2.5 KiB
PHP

<?php
interface InterfaceController {
public function getPage($graphical_theme);
}
class ClassController extends ClassConfig implements InterfaceController {
private $_returnRequest;
public function __construct($request){
return $this->_returnRequest = $request;
}
public function getPage($graphical_theme, $lang_code='source'){
$this->_graphicalTheme = $graphical_theme;
$this->_langCode = $lang_code;
$fileName = $this->_returnRequest['page'];
$oPDOLink = ClassConfig::databaseConnect();
// Select good model for each view with all languages
$sql="
SELECT model
FROM core_feature
WHERE url_feature_translation_id=(
SELECT id
FROM core_feature_translation
WHERE (".$this->_langCode."=:url
OR source=:url)
LIMIT 1)
LIMIT 1
";
$execSQL = $oPDOLink->prepare($sql);
$execSQL->execute(array(':url'=>$this->_returnRequest['page']));
$row = $execSQL->fetch(PDO::FETCH_ASSOC);
define("FILENAME_MODEL" , "./models/".$row['model'].".php");
if(file_exists(FILENAME_MODEL)){
require_once(FILENAME_MODEL);
} else {
//return false;
echo "Impossible de trouver le model ".$row['model'];
}
define("FILENAME_VIEW" , "./themes/".$this->_graphicalTheme."/views/".$row['model'].".php");
if(file_exists(FILENAME_VIEW)){
require_once(FILENAME_VIEW);
} else {
//return false;
echo "Impossible de trouver la vue ".$row['model'];
}
}
private function _getModel($page, $lang_code){
// Select good model for each view with all languages
$this->_page = $page;
$oPDOLink = ClassConfig::databaseConnect();
$sql="
SELECT model
FROM core_feature
WHERE url_feature_translation_id=(SELECT id FROM core_feature_translation WHERE ".$this->_langCode."=:url LIMIT 1)
LIMIT 1
";
$execSQL = $oPDOLink->prepare($sql);
$execSQL->execute(array(':url'=>$this->_page));
$row = $execSQL->fetch(PDO::FETCH_ASSOC);
return $row['model'];
}
public function getMetaHTML($meta_tag, $lang_code){
$this->_metaTag = $meta_tag;
$this->_langCode = $lang_code;
$page = $this->_returnRequest['page'];
$model = $this->_getModel($page, $this->_langCode);
$oPDOLink = ClassConfig::databaseConnect();
$sql="
SELECT (SELECT ".$this->_langCode." FROM core_feature_translation WHERE id=cf.".$this->_metaTag.") AS meta
FROM core_feature cf
WHERE cf.model=:model
LIMIT 1;
";
$execSQL = $oPDOLink->prepare($sql);
$execSQL->execute(array(':model'=>$model));
$row = $execSQL->fetch(PDO::FETCH_ASSOC);
return $row['meta'];
}
}
?>