/** * Charge la vue $viewName en lui passant éventuellement les variables $pdata * @param string $viewName nom de la vue à charger * @param mixed $pData variable ou tableau associatif à passer à la vue<br>Si une variable est passée, elle aura pour nom <b>$data</b> dans la vue,<br> * Si un tableau associatif est passé, la vue récupère des variables du nom des clés du tableau * @param boolean $asString Si vrai, la vue n'est pas affichée mais retournée sous forme de chaîne (utilisable dans une variable) * @throws Exception * @return string */ public function loadView($viewName,$pData="",$asString=false){ $config=$GLOBALS["config"]; $fileName=ROOT.DS."views/".$viewName; $ext=pathinfo($fileName,PATHINFO_EXTENSION); if($ext==null) $viewName=$viewName.".php"; $fileName=ROOT.DS."views/".$viewName; if(file_exists($fileName)){ $data=$pData; if(!StrUtils::endswith($fileName, ".php") && @$config["templateEngine"] instanceof TemplateEngine){ return $config["templateEngine"]->render($viewName, $pData, $asString); } if(is_array($pData)){ extract($pData); } if($asString) return $this->includeFileAsString($fileName); else include($fileName); }else{ throw new \Exception("Vue inexistante : ".$viewName); } }
public function run() { global $config; session_start(); Logger::init(); if ($config["test"]) { $config["siteUrl"] = "http://127.0.0.1:8090/"; } extract($config["database"]); $db = $config["database"]; DAO::connect($db["dbName"], @$db["serverName"], @$db["port"], @$db["user"], @$db["password"]); $url = $_GET["c"]; if (!$url) { $url = $config["documentRoot"]; } if (StrUtils::endswith($url, "/")) { $url = substr($url, 0, strlen($url) - 1); } $this->urlParts = explode("/", $url); $u = $this->urlParts; $urlSize = sizeof($this->urlParts); if (class_exists($this->urlParts[0]) && StrUtils::startswith($this->urlParts[0], "_") === false) { //Construction de l'instance de la classe (1er élément du tableau) try { $obj = new $this->urlParts[0](); $obj->initialize(); try { switch ($urlSize) { case 1: $obj->index(); break; case 2: //Appel de la méthode (2ème élément du tableau) if (method_exists($obj, $u[1])) { $obj->{$u}[1](); } else { print "La méthode `{$u[1]}` n'existe pas sur le contrôleur `" . $u[0] . "`<br/>"; } break; default: //Appel de la méthode en lui passant en paramètre le reste du tableau $obj->{$u}[1](array_slice($u, 2)); break; } } catch (\Exception $e) { print "Error!: " . $e->getMessage() . "<br/>"; die; } } catch (\Exception $e) { print "Error!: " . $e->getMessage() . "<br/>"; die; } $obj->finalize(); } else { print "Le contrôleur `" . $u[0] . "` n'existe pas <br/>"; } }
public function run(){ $config=$GLOBALS["config"]; set_error_handler(array($this, 'errorHandler')); $config=$GLOBALS["config"]; try { if(array_key_exists("templateEngine", $config)){ $engine=new $config["templateEngine"](); if ($engine instanceof TemplateEngine) $GLOBALS["config"]["templateEngine"]=$engine; } } catch (\Exception $e) { echo $e->getTraceAsString(); } session_start(); \Logger::init(); if($config["test"]){ $GLOBALS["config"]["siteUrl"]="http://127.0.0.1:8090/"; } extract($config["database"]); $db=$config["database"]; DAO::connect($db["dbName"],@$db["serverName"],@$db["port"],@$db["user"],@$db["password"]); $url=$_GET["c"]; if(!$url){ $url=$config["documentRoot"]; } if(StrUtils::endswith($url, "/")) $url=substr($url, 0,strlen($url)-1); $this->urlParts=explode("/", $url); $u=$this->urlParts; if(class_exists($u[0]) && StrUtils::startswith($u[0],"_")===false){ //Construction de l'instance de la classe (1er élément du tableau) try{ if(array_key_exists("onStartup", $config)){ if(is_callable($config['onStartup'])){ $config["onStartup"]($u); } } self::runAction($u); }catch (\Exception $e){ print "Error!: " . $e->getMessage() . "<br/>"; die(); } }else{ print "Le contrôleur `".$u[0]."` n'existe pas <br/>"; } }
public static function setChecked($elementPrefix, $values) { $retour = ""; if (is_array($values)) { foreach ($values as $value) { $retour .= "\$('#" . $elementPrefix . $value . "').attr('checked', true);\n"; } } else { $retour = "\$('#" . $elementPrefix . "').attr('checked', " . StrUtils::getBooleanStr($values) . ");\n"; } return Jquery::addToCodes($retour); }