42,8 → 42,12 |
'X3L' => '1600px', |
'O' => 'Format original (Taille inconnue)' |
]; |
const START_DEFAUT = 0; |
const LIMIT_DEFAUT = 100; |
private $url_widget = null; |
private $eflore_url_tpl = null; |
private $service_images_url = null; |
private $flux_rss_url = null; |
private $eflore_url_tpl = null; |
|
// Suffixe de template pour la langue (vide par défaut, correspond à "fr" au français) |
private $suffixeLangue = ''; |
60,7 → 64,7 |
if (!isset($mode)) { |
$mode = self::SERVICE_DEFAUT; |
} |
|
$this->url_widget = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'photo'); |
$this->eflore_url_tpl = $this->config['photo']['efloreUrlTpl']; |
$this->service_images_url = $this->config['photo']['celUrlImages']; |
$this->flux_rss_url = $this->config['photo']['fluxRssUrl']; |
107,7 → 111,7 |
} |
} |
if (isset($_GET['callback'])) { |
$this->envoyerJsonp(array('contenu' => $contenu)); |
$this->envoyerJsonp(['contenu' => $contenu]); |
|
} else { |
$this->envoyer($contenu); |
115,11 → 119,19 |
} |
} |
|
// maintenir la retrocompatibilité avec l'ancien mode ajax |
private function executerAjax() { |
$widget = $this->executerPhoto(); |
unset($this->parametres['mode']); |
|
$widget['squelette'] = 'photo_ajax'; |
$chaineRequete = http_build_query($this->parametres); |
$chaineRequete = $chaineRequete ? '?'.$chaineRequete : ''; |
$widget['donnees']['url_widget'] = $this->url_widget.$chaineRequete; |
|
$id = '-'.(isset($this->parametres['id']) ? $this->parametres['id'] : '1'); |
$widget['donnees']['id'] = $id; |
|
$widget['squelette'] = 'photo_retrocompatibilite_ajax'; |
|
return $widget; |
} |
|
131,10 → 143,11 |
$widget['donnees']['url_image'] = $_GET['url_image']; |
$widget['donnees']['infos_images'] = $_SESSION[$galerie_id]['infos_images']; |
$widget['donnees']['urls'] = $_SESSION[$galerie_id]['urls']; |
$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'photo'); |
$widget['donnees']['url_widget'] = $this->url_widget; |
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/'); |
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/'); |
$widget['donnees']['max_photo'] = $_SESSION[$galerie_id]['max_photo']; |
$widget['donnees']['start'] = $_SESSION[$galerie_id]['start']; |
$widget['donnees']['url_ws_regenerer_img'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], self::WS_IMG_LIST) . '/regenerer-miniatures?ids-img='; |
$widget['donnees']['popup_url'] = isset( $_GET['popup_url'] ) ? $_GET['popup_url'] : null; |
$widget['donnees']['url_base_telechargement'] = sprintf($this->config['chemins']['baseURLServicesCelTpl'], 'CelImageFormat/'); |
148,7 → 161,7 |
private function executerContact() { |
session_start(); |
|
$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'photo'); |
$widget['donnees']['url_widget'] = $this->url_widget; |
$widget['donnees']['id_image'] = $_GET['id_image']; |
$widget['donnees']['nom_sci'] = $_GET['nom_sci']; |
$widget['donnees']['nn'] = $_GET['nn']; |
179,6 → 192,9 |
|
$widget = null; |
|
$this->parametres['start'] = $this->parametres['start'] ?? self::START_DEFAUT; |
$this->parametres['limit'] = $this->parametres['limit'] ?? self::LIMIT_DEFAUT; |
|
extract($this->parametres); |
|
$hasTriedValueInConfig = false; |
194,9 → 210,19 |
|
list($colonne, $ligne) = explode(',', $vignette); |
$extra = (isset($extra) && $extra == 0) ? false : (!$this->config['photo']['extraActif'] ? false : ($colonne == 1 || $ligne == 1 ? false : true)); |
|
$champ_recherche = $champ_recherche ? $this->obtenirBooleen($champ_recherche) : ($this->config['photo']['champRecherche'] ? $this->obtenirBooleen($this->config['photo']['champRecherche']) : false) ; |
$max_photo = $colonne * $ligne; |
if ( $extra && 2 == $colonne ) { |
$max_photo = $max_photo - 1; |
} elseif ( $extra && 2 < $colonne ) { |
$max_photo = $max_photo - 3; |
} |
$limit = $limit < $max_photo ? $limit : $max_photo; |
$this->parametres['limit'] = $limit; |
$parametresTraites = $this->traiterParametres(); |
$this->flux_rss_url .= $parametresTraites; |
$url = $this->service_images_url.(!empty($parametresTraites) ? $parametresTraites : '*'); |
$url = $this->service_images_url.(!empty($parametresTraites) ? $parametresTraites.'&' : '?'); |
$json = $this->getDao()->consulter($url); |
|
|
210,25 → 236,28 |
if (empty($tableau['total']) || empty($tableau['images'])) { |
$this->messages[] = 'Aucune photo ne correspond à vos critères'; |
} else { |
|
$parametresPhotoSuivante = $this->parametres; |
$parametresPhotoSuivante['start'] = $start + $limit; |
|
$widget['donnees']['total'] = $tableau['total']; |
$widget['donnees']['id'] = $id; |
$widget['donnees']['titre'] = $titre; |
// $widget['donnees']['service_images_url'] = $this->service_images_url; |
$widget['donnees']['flux_rss_url'] = $this->flux_rss_url; |
$widget['donnees']['url_widget'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'photo'); |
$widget['donnees']['url_widget'] = $this->url_widget; |
$widget['donnees']['url_widget_photos_suivantes'] = $this->url_widget.'?'.http_build_query($parametresPhotoSuivante); |
$widget['donnees']['url_css'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/css/'); |
$widget['donnees']['url_js'] = sprintf($this->config['chemins']['baseURLAbsoluDyn'], 'modules/photo/squelettes/js/'); |
$widget['donnees']['colonne'] = $colonne; |
$widget['donnees']['ligne'] = $ligne; |
$widget['donnees']['extra_actif'] = $extra; |
$widget['donnees']['icone_rss'] = $icone_rss; |
$widget['donnees']['champ_recherche'] = $champ_recherche; |
$widget['donnees']['start'] = $start; |
$widget['donnees'] ['limit'] = $limit; |
$widget['donnees']['utilise_fancybox'] = $utilise_fancybox; |
$widget['donnees']['prod'] = ($this->config['parametres']['modeServeur'] === 'prod'); |
|
$max_photo = $colonne * $ligne; |
if ( $extra && 2 == $colonne ) { |
$max_photo = $max_photo - 1; |
} elseif ( $extra && 2 < $colonne ) { |
$max_photo = $max_photo - 3; |
} |
$num = 0; |
$galerie_id = md5(http_build_query($_GET)); |
$widget['donnees']['galerie_id'] = $galerie_id; |
261,6 → 290,7 |
$item['height'] = $image_size[1]; |
$_SESSION[$galerie_id]['urls'][] = $url_galerie_popup; |
$_SESSION[$galerie_id]['max_photo'] = $max_photo; |
$_SESSION[$galerie_id]['start'] = $start; |
$_SESSION[$galerie_id]['infos_images'][$url_galerie_popup] = $item; |
} |
|
273,7 → 303,29 |
|
private function traiterParametres() { |
$parametres_flux = '?'; |
$criteres = array('utilisateur', 'commune', 'dept', 'taxon', 'commentaire', 'date', 'tag', 'motcle', 'projet', 'num_taxon', 'num_nom', 'referentiel', 'groupe_zones_geo'); |
$criteres = [ |
'taxon', |
'referentiel', |
'date_deb', |
'date_fin', |
'commune', |
'dept', |
'pays', |
'auteur', |
'programme', |
'tag', |
'non_standard', |
'indesirable', |
'pn_smartphone_anonyme', |
'recherche', |
'date', |
'motcle', |
'projet', |
'num_taxon', |
'num_nom', |
'start', |
'limit' |
]; |
|
foreach($this->parametres as $nom_critere => $valeur_critere) { |
if (in_array($nom_critere, $criteres)) { |
292,5 → 344,17 |
|
return $parametres_flux; |
} |
|
private function obtenirBooleen($var) { |
switch ($var) { |
case 'false' : |
case 'null' : |
case 'non' : |
case 'no' : |
return false; |
default: |
return boolval($var); |
} |
} |
} |
?> |