Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1105 → Rev 1106

/branches/v5.1-prillieux/index_mobile.php
3,8 → 3,10
/** Inclusion du fichier principal de l'application*/
require_once 'eflore.php';
 
echo AppControleur::getContenuCorps();
echo AppControleur::getContenuCorps();
echo AppControleur::getContenuPied();
//echo AppControleur::getChrono();
//echo AppControleur::getExceptions();
 
// Débogage
echo AppControleur::getChrono();
echo AppControleur::getExceptions();
?>
/branches/v5.1-prillieux/metier/api_0.1/Eflore.php
57,6 → 57,7
}
$tpl = str_replace('{'.$key.'}',rawurlencode($value),$tpl);
}
Debug::printr($tpl);
return $tpl;
}
 
/branches/v5.1-prillieux/configurations/config.defaut.ini
61,7 → 61,7
; URL de base où se situe le .htaccess réalisant la réécriture d'URL pour les permaliens de l'application
base_url_application_permalien = "{ref:base_url_application}"
; URL de base pour les fiches mobiles
base_url_mobile = "{ref:base_url_application}index_mobile.php"
base_url_mobile = "http://{ref:domaine}/mobile:{referentiel}-nn-{num_nom}"
 
; +------------------------------------------------------------------------------------------------------+
; URL CSS commun du site
248,5 → 248,7
; chemin de stockage temporaire pour les QrCode
dossierQrCode = "{ref:chemincache}qrcode/"
 
; +------------------------------------------------------------------------------------------------------+
; Fiche Mobile
; Nombre d'image max par projet pour le slider de la fiche mobile
pictures.number.max = 3
/branches/v5.1-prillieux/configurations/test-conf.sed
1,6 → 1,7
/^(debogage|benchmark_chrono)\>/s|= .*|= true|
/^base_url_application/s|/eflore/|/eflore-test/|
/^base_url_widget/s|/widget:cel:saisie|/widget-test:cel:saisie|
/^base_url_mobile/s|/mobile|/mobile-test|
/^cache/s|= .*|= false|
/^chemincache/s|= .*|= /home/telabotap/www/tmp/eflore-test_v5_cache/|
/^texteWikiTpl/s|/eFloreRedaction/|/eFloreRedactionTest/|
/branches/v5.1-prillieux/modules/fiche/Fiche.php
70,21 → 70,21
}
 
public function executerFiche(){
 
$squelette = 'fiche_'.$this->onglet;
 
//Gestion du niveau
$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : 2;
if ($this->onglet == 'synthese' && $niveau != null) {
$squelette .= '_niveau'.$niveau;
}
 
// Récupération parametres et données
$donnees = $this->parametres;
$donnees = array_merge($this->obtenirDonnees(), $donnees);
$donnees['i18n'] = I18n::get('Fiche');
$verna = (isset($donnees['ethnobotanique']['nomsVerna'])) ? $donnees['ethnobotanique']['nomsVerna'][0]['nom_vernaculaire'] : "";
 
// titre, description et tag de la page
$this->setSortie('titre', $this->nom_retenu->get('nom_sci'));
$this->setSortie('description', "Fiche descriptive de ".$this->nom_retenu->get('nom_sci')." ".
91,16 → 91,16
$verna." ".$donnees['description']['titre']." ".implode(" ", $donnees['description']['description']));
$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
",botanique,plante,description,ecologie,reconnaitre,fiche espece");
 
// titre de la fiche
$donnees['nom_retenu_html'] = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
$donnees['famille'] = $this->nom_retenu->getTaxonSupRang('180');
$donnees['nom_vernaculaire'] = $verna;
 
// moteur de recherche
$this->executerAction('Recherche', 'executerAccueil', $this->parametres);
 
// page synthese
$blocs_niveaux = $this->conteneur->getParametreTableau('blocs_fiche_defaut');
$donnees['blocs'] = '"'.str_replace('|', '","', $blocs_niveaux[Registre::get('parametres.niveau')]).'"';
109,7 → 109,7
$donnees['onglet'] = $this->onglet;
$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
$donnees['base_url_onglets'] = Config::get('base_url_application_onglets');
 
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
$this->ajouterPiedDePage();
}
119,12 → 119,12
$export = $this->getVue('fiche_pdf_lien', $donnees);
return $export;
}
 
public function ajouterPiedDePage() {
$description = new Description($this->conteneur);
$taxons = new Taxons($this->conteneur);
$referentiel = $this->conteneur->getParametre('referentiel');
$urlMobile = $this->url->obtenirUrlMobile($this->parametres['num_nom'], $this->parametres['type_nom'], $this->parametres['nom']);
$urlMobile = $this->url->obtenirUrlMobile($this->parametres['num_nom']);
$donnees = array('wikipedia' => $description->getUrlWikipedia(),
'export_pdf' => $this->ajouterLienModuleExport(),
'permalien_num_nom' => $taxons->getUrlPermalienNumNom($referentiel, 1, $this->conteneur->getNomCourant()->getNns()),
138,7 → 138,7
);
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_pied_page', $donnees), true);
}
 
private function obtenirUrlQrCode($urlMobile) {
$qr = $this->conteneur->getQrCode();
$qr->setUrl(htmlspecialchars_decode($urlMobile));
146,7 → 146,7
$urlQrCode = $qr->dessiner($idQrCode);
return $urlQrCode;
}
 
public function executerOnglet(){
$this->viderSorties();
$donnees = $this->obtenirDonnees();
/branches/v5.1-prillieux/modules/mobile/Mobile.php
30,7 → 30,7
$this->nom_retenu = $this->conteneur->getNomCourant()->getNomRetenu();
spl_autoload_register(array($this, 'chargerClassesSources'));
}
 
private function chargerClassesSources($classe) {
$base = dirname(__FILE__).DS;
$cheminSources = $base.'sources'.DS;
45,36 → 45,26
}
 
private function capturerParametres() {
if (isset($_GET['num_nom'])) {
$this->parametres['num_nom'] = $_GET['num_nom'];
}
if (isset($_GET['nom'])) {
$this->parametres['nom'] = $_GET['nom'];
}
if (isset($_GET['type_nom'])) {
$this->parametres['type_nom'] = $_GET['type_nom'];
}
if (isset($_GET['referentiel'])) {
$this->parametres['referentiel'] = $_GET['referentiel'];
Registre::set('parametres.referentiel', $_GET['referentiel']);
}
if (isset($_GET['niveau'])) {
Registre::set('parametres.niveau', $_GET['niveau']);
}
if (isset($_GET['theme'])) {
$this->theme = $_GET['theme'];
}
$this->parametres['num_nom'] = isset($_GET['num_nom']) ? $_GET['num_nom'] : '';
$this->parametres['nom'] = isset($_GET['nom']) ? $_GET['nom'] : '';
$this->parametres['type_nom'] = isset($_GET['type_nom']) ? $_GET['type_nom'] : 'nom_scientifique';
$this->theme = isset($_GET['theme']) ? $_GET['theme'] : $this->theme;
 
$referentiel = isset($_GET['referentiel']) ? $_GET['referentiel'] : '';
Registre::set('parametres.referentiel', $referentiel);
 
$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : '1';
Registre::set('parametres.niveau', $niveau);
}
 
public function executerActionParDefaut() {
$this->executerFiche();
}
 
public function executerFiche(){
$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : '1';
$squelette = 'theme_'.$this->theme.'_niveau'.$niveau;
$niveau = Registre::get('parametres.niveau');
$squelette = "theme_{$this->theme}_niveau{$niveau}";
 
$donnees = $this->parametres;
$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
$donnees['famille'] = $this->nom_retenu->getTaxonSupRang('180');
82,19 → 72,19
$donnees['css'] = $this->obtenirLienCss();
$donnees['url_absolue'] = "http://".$_SERVER['SERVER_NAME'].'/'.$_SERVER['REQUEST_URI'];
$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
$donnees['lien'] = $this->url->obtenirUrlMobile($this->parametres['num_nom'], $this->parametres['type_nom'], $this->parametres['nom']);
$donnees['lien'] = $this->url->obtenirUrlMobile($this->parametres['num_nom']);
$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche', $donnees), true);
//print_r($donnees);
}
 
public function obtenirDonnees() {
$donnees = array();
$num_nom = $this->nomCourant->getNns();
$referentiel = $this->conteneur->getParametre('referentiel');
 
$taxons = new Taxons($this->conteneur);
$donnees['permalien_num_nom'] = $taxons->getUrlPermalienNumNom($referentiel, 1, $num_nom);
 
$sources = array('illustrations', 'repartition', 'texte', 'floraison', 'nomsCommuns');
foreach ($sources as $source) {
$nom_classe = ucfirst($source);
104,14 → 94,13
 
return $donnees;
}
 
private function obtenirLienCss() {
$lien = 'modules/mobile/presentations/css/';
$theme = $this->theme;
if (strcmp($this->theme, 'pyracantha') >= 0) {
$lien .= 'pyracantha_blanc.css';
} else {
$lien .= 'gentiana.css';
$theme = 'pyracantha_blanc';
}
$lien = "modules/mobile/presentations/css/$theme.css";
return $lien;
}
}
/branches/v5.1-prillieux/bibliotheque/QrCode.php
33,7 → 33,7
public function setUrl($url = '') {
$this->contenu = $url;
}
 
/**
* Taille du QRcode en pixel. Cela sera forcément un carré.
*
42,7 → 42,7
public function setTaille($taille) {
$this->taille = $taille;
}
 
/**
* Generate QR code image
*
56,6 → 56,10
$cheminImg = $this->dossierQrCode.$idQrCode;
if (file_exists($cheminImg) == false) {
$ch = curl_init();
// For Debugging
//curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
//curl_setopt($ch, CURLOPT_STDERR, $f = fopen("$cheminImg.txt", "w+"));
 
curl_setopt($ch, CURLOPT_URL, $this->API_CHART_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "chs={$this->taille}x{$this->taille}&cht=qr&chl=".urlencode($this->contenu));
64,7 → 68,10
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$img = curl_exec($ch);
curl_close($ch);
 
// For Debugging
//fclose($f);
 
file_put_contents($cheminImg, $img);
}
$urlQrCode = sprintf($this->urlQrCodeTpl, $idQrCode);
/branches/v5.1-prillieux/bibliotheque/AppUrls.php
11,7 → 11,7
$this->urlBase = (is_null($urlBase)) ? Registre::get('eFlore.urlBase') : $urlBase;
$this->urlBaseDossier = (is_null($urlBaseDossier)) ? Registre::get('eFlore.urlBaseDossier') : $urlBaseDossier;
$this->urlPopUp = (is_null($urlPopUp)) ? Registre::get('eFlore.urlPopUp') : $urlPopUp;
$this->urlMobile = (is_null($urlMobile)) ? Registre::get('eFlore.urlMobile') : $urlMobile;
$this->urlMobileTpl = (is_null($urlMobile)) ? Registre::get('eFlore.urlMobileTpl') : $urlMobile;
}
 
public function obtenirUrlBase() {
60,10 → 60,10
 
public function getParametresUrlRecherche() {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'module' => 'recherche',
'action' => 'rechercheSimple',
'submit' => 'Rechercher'
'referentiel' => Registre::get('parametres.referentiel'),
'module' => 'recherche',
'action' => 'rechercheSimple',
'submit' => 'Rechercher'
);
return $parametres;
}
76,18 → 76,18
$url = $this->urlBase->getURL();
return $url;
}
 
public function getParametresUrlRechercheAvancee() {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'niveau' => Registre::get('parametres.niveau'),
'module' => 'recherche',
'action' => 'rechercheAvancee',
'type_nom' => 'nom_scientifique'
);
'referentiel' => Registre::get('parametres.referentiel'),
'niveau' => Registre::get('parametres.niveau'),
'module' => 'recherche',
'action' => 'rechercheAvancee',
'type_nom' => 'nom_scientifique'
);
return $parametres;
}
 
public function obtenirUrlResultatAvanceOnglets($onglet, $params = array()) {
$parametres = $this->getParametresUrlRechercheAvancee();
$parametres['resultat'] = $onglet;
96,7 → 96,7
$url = $this->urlBase->getURL();
return $url;
}
 
public function obtenirUrlRechercheAvancee($params = array()) {
$parametres = $this->getParametresUrlRechercheAvancee();
$parametres = array_merge($parametres,$params);
107,13 → 107,13
 
public function getParametresUrlResultat() {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'module' => 'recherche',
'niveau' => Registre::get('parametres.niveau'),
'action' => Registre::get('parametres.action'),
'submit' => 'Rechercher',
'type_nom' => isset($_GET['type_nom']) ? $_GET['type_nom'] : 'nom_scientifique',
'nom' => isset($_GET['nom']) ? $_GET['nom'] : ''
'referentiel' => Registre::get('parametres.referentiel'),
'module' => 'recherche',
'niveau' => Registre::get('parametres.niveau'),
'action' => Registre::get('parametres.action'),
'submit' => 'Rechercher',
'type_nom' => isset($_GET['type_nom']) ? $_GET['type_nom'] : 'nom_scientifique',
'nom' => isset($_GET['nom']) ? $_GET['nom'] : ''
);
return $parametres;
}
133,7 → 133,7
$url = $this->urlBase->getURL();
return $url;
}
 
public function obtenirUrlResultatRetenu() {
$parametres = $this->getParametresUrlResultat();
$parametres['resultat'] = 'retenu';
169,26 → 169,18
$url = $this->urlBase->getURL();
return $url;
}
public function getParametresUrlMobile() {
 
public function obtenirUrlMobile($numNom) {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'niveau' => 1,
'module' => 'mobile',
'action' => 'fiche'
'num_nom' => $numNom
);
return $parametres;
$urlMobile = $this->urlMobileTpl;
foreach ($parametres as $cle => $val) {
$urlMobile = str_replace('{'.$cle.'}', rawurlencode($val), $urlMobile);
}
return $urlMobile;
}
public function obtenirUrlMobile($numNom, $type_nom = 'nom_vernaculaire', $nom = '') {
$parametres = $this->getParametresUrlMobile();
$parametres['num_nom'] = $numNom;
$parametres['type_nom'] = $type_nom;
$parametres['nom'] = $nom;
$this->urlMobile->setRequete($parametres);
$url = $this->urlMobile->getURL();
return $url;
}
 
public function getParametresUrlMetaDonnees() {
$parametres = array(
205,16 → 197,16
$url = $this->urlBase->getURL();
return $url;
}
 
 
public function getParametresUrlListeFancyBoxPhytosocio() {
$parametres = array(
'module' => 'liste-fancy-box-phytosocio',
'action' => 'lister'
'module' => 'liste-fancy-box-phytosocio',
'action' => 'lister'
);
return $parametres;
}
 
public function obtenirUrlListeFancyBoxPhytosocio($liste,$referentiel,$num_nom, $catminat) {
$parametres = $this->getParametresUrlListeFancyBoxPhytosocio();
$parametres['type'] = $liste;
228,9 → 220,9
 
public function getParametresUrlPopUpIllustrations() {
$parametres = array(
'module' => 'popup-illustrations',
'action' => 'fiche',
'referentiel' => Registre::get('parametres.referentiel')
'module' => 'popup-illustrations',
'action' => 'fiche',
'referentiel' => Registre::get('parametres.referentiel')
);
return $parametres;
}
242,18 → 234,18
$url = $this->urlPopUp->getURL();
return $url;
}
 
public function getParametresPdfExport() {
$parametres = array(
'referentiel' => Registre::get('parametres.referentiel'),
'niveau' => Registre::get('parametres.niveau'),
'module' => 'pdf-export',
'action' => 'pdf-export'
'referentiel' => Registre::get('parametres.referentiel'),
'niveau' => Registre::get('parametres.niveau'),
'module' => 'pdf-export',
'action' => 'pdf-export'
);
return $parametres;
}
 
 
public function obtenirUrlPdfExport($numNom) {
$parametres = $this->getParametresPdfExport();
$parametres['num_nom'] = $numNom;
265,9 → 257,9
public function getParametresUrlPopUpContact($action) {
$action = is_null($action) ? 'form' : $action;
$parametres = array(
'module' => 'popup-contact',
'action' => $action,
'referentiel' => Registre::get('parametres.referentiel')
'module' => 'popup-contact',
'action' => $action,
'referentiel' => Registre::get('parametres.referentiel')
);
return $parametres;
}
/branches/v5.1-prillieux/controleurs/AppControleur.php
107,7 → 107,7
Registre::set('eFlore.urlCourante', self::getUrlCourante());
Registre::set('eFlore.urlRedirection', self::getUrlRedirection());
Registre::set('eFlore.urlPopUp', new Url(Config::get('base_url_application_popup')));
Registre::set('eFlore.urlMobile', new Url(Config::get('base_url_mobile')));
Registre::set('eFlore.urlMobileTpl', Config::get('base_url_mobile'));
 
Registre::set('parametres.referentiel', self::$parametres['referentiel']);
Registre::set('parametres.module', self::$parametres['module']);
/branches/v5.1-prillieux/.
Property changes:
Modified: svn:mergeinfo
Merged /trunk:r1105