22,41 → 22,50 |
* Méthode appelée avec une requête de type GET. |
*/ |
public function getElement($params) { |
$retour = null; |
$parametres = $this->traiterParametres(array('sortie', 'utilisateur'), $params, false); |
$parametres = $this->traiterParametres(array('mode', 'utilisateur'), $params, false); |
extract($parametres); |
|
if (isset($sortie)) { |
$methode = $this->traiterNomMethodeGet($sortie); |
if (method_exists($this, $methode)) { |
$retour = $this->$methode($parametres); |
$contenu = ''; |
|
if ($this->authentifierUtilisateur()) { |
$retour = null; |
|
if (isset($mode)) { |
$methode = $this->traiterNomMethodeGet($mode); |
if (method_exists($this, $methode)) { |
$retour = $this->$methode($parametres); |
} else { |
$service = get_class($this); |
$this->messages[] = "Ce type de mode '$mode' pour le service '$service' n'est pas disponible."; |
} |
} else { |
$this->messages[] = "Ce type de carte '$methode' n'est pas disponible."; |
$this->messages[] = "Vous devez indiquer un type de mode."; |
} |
} else { |
$this->messages[] = "Vous devez indiquer un type de sortie."; |
} |
|
if (is_null($retour)) { |
$info = 'Un problème est survenu : '.print_r($this->messages, true); |
$this->envoyer($info); |
} else { |
if ($retour['type'] == 'widget') { |
$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html'; |
$html = $this->traiterSquelettePhp($squelette, $retour['donnees']); |
$this->envoyer($html); |
} else if ($retour['type'] == 'json') { |
$this->envoyer($retour['donnees']); |
|
if (is_null($retour)) { |
$contenu = 'Un problème est survenu : '.print_r($this->messages, true); |
} else { |
if ($retour['type'] == 'widget') { |
$squelette = dirname(__FILE__).DIRECTORY_SEPARATOR.'squelettes'.DIRECTORY_SEPARATOR.$retour['squelette'].'.tpl.html'; |
$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']); |
} else if ($retour['type'] == 'json') { |
$contenu = $retour['donnees']; |
} |
} |
} |
|
// Envoie sur la sortie standard |
$encodage = 'UTF-8'; |
$mime = 'text/html'; |
$formatage_json = (isset($retour) && $retour['type'] == 'json') ? true : false; |
$this->envoyer($contenu, $mime, $encodage, $formatage_json); |
} |
|
/** |
* Carte par défaut |
*/ |
public function getDoublonHtml($parametres) { |
private function getDoublonHtml($parametres) { |
$widget = null; |
extract($parametres); |
$utilisateur = $this->getAuthIdentifiant(); |
|
// Création des infos du widget |
$widget['type'] = 'widget'; |