Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3828 → Rev 3829

/trunk/widget/modules/photo/Photo.php
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);
}
}
}
?>