Subversion Repositories eFlore/Applications.cel

Rev

Rev 587 | Rev 627 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 587 Rev 588
Line 30... Line 30...
30
	/**
30
	/**
31
	 * Méthode appelée par défaut pour charger ce widget.
31
	 * Méthode appelée par défaut pour charger ce widget.
32
	 */
32
	 */
33
	public function executer() {
33
	public function executer() {
34
		$retour = null;
34
		$retour = null;
-
 
35
		// Pour la création de l'id du cache nous ne tenons pas compte du paramètre de l'url callback
-
 
36
		unset($this->parametres['callback']);
35
		extract($this->parametres);
37
		extract($this->parametres);
Line 36... Line 38...
36
 
38
 
37
		if (!isset($mode)) {
39
		if (!isset($mode)) {
38
			$mode = self::SERVICE_DEFAUT;
40
			$mode = self::SERVICE_DEFAUT;
Line 43... Line 45...
43
		
45
		
44
		$cache_activation = $this->config['photo.cache']['activation'];
46
		$cache_activation = $this->config['photo.cache']['activation'];
45
		$cache_stockage = $this->config['photo.cache']['stockageDossier'];
47
		$cache_stockage = $this->config['photo.cache']['stockageDossier'];
46
		$ddv = $this->config['photo.cache']['dureeDeVie'];
48
		$ddv = $this->config['photo.cache']['dureeDeVie'];
47
		$cache = new Cache($cache_stockage, $ddv, $cache_activation);
49
		$cache = new Cache($cache_stockage, $ddv, $cache_activation);
48
		$id_cache = 'photo-'.md5("$mode-{$this->flux_rss_url}");
50
		$id_cache = 'photo-'.hash('adler32', print_r($this->parametres, true));
49
		if (! $contenu = $cache->charger($id_cache)) {
51
		if (! $contenu = $cache->charger($id_cache)) {
50
			$methode = $this->traiterNomMethodeExecuter($mode);
52
			$methode = $this->traiterNomMethodeExecuter($mode);
51
			if (method_exists($this, $methode)) {
53
			if (method_exists($this, $methode)) {
52
				$retour = $this->$methode();
54
				$retour = $this->$methode();
Line 60... Line 62...
60
				$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
62
				$squelette = dirname(__FILE__).self::DS.'squelettes'.self::DS.$retour['squelette'].'.tpl.html';
61
				$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
63
				$contenu = $this->traiterSquelettePhp($squelette, $retour['donnees']);
62
				$cache->sauver($id_cache, $contenu);
64
				$cache->sauver($id_cache, $contenu);
63
			}
65
			}
64
		}
66
		}
65
		if (isset($retour['type']) && $retour['type'] == 'jsonp') {
67
		if (isset($_GET['callback'])) {
66
			$this->envoyerJsonp(array('contenu' => $contenu));
68
			$this->envoyerJsonp(array('contenu' => $contenu));
67
		} else {
69
		} else {
68
			$this->envoyer($contenu);
70
			$this->envoyer($contenu);
69
		}
71
		}
70
	}
72
	}
Line 71... Line 73...
71
	
73
	
72
	private function executerAjax() {
74
	private function executerAjax() {
73
		$widget = $this->executerPhoto();
75
		$widget = $this->executerPhoto();
74
		$widget['squelette'] = 'photo_ajax';
-
 
75
		$widget['type'] = 'jsonp';
76
		$widget['squelette'] = 'photo_ajax';
76
		return $widget;
77
		return $widget;
Line 77... Line 78...
77
	}
78
	}
78
	
79