8,7 → 8,8 |
private $conteneur = null; |
private $outils = null; |
private $messages = null; |
private $restClient = null; |
private $restClient = null; |
private $bdd = null; |
private $dossierBase = ''; |
private $index = array(); |
|
20,7 → 21,8 |
$this->URL_WIKI_EFLORE = $this->conteneur->getParametre('wiki.eflore'); |
$this->outils = $conteneur->getOutils(); |
$this->messages = $conteneur->getMessages(); |
$this->restClient = $conteneur->getRestClient(); |
$this->restClient = $conteneur->getRestClient(); |
$this->bdd = $conteneur->getBdd(); |
$this->dossierBase = dirname(__FILE__).'/'; |
} |
|
94,7 → 96,7 |
$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt'; |
if (file_exists($fichier) === true) { |
$txt = file_get_contents($fichier); |
$this->envoyerPage($tagDsc, $txt); |
$this->envoyerPage($tagCle, $txt); |
$envoyes[$tagCle] = 'OK'; |
} else { |
$this->messages->traiterErreur("Le fichier $fichier est introuvable."); |
105,13 → 107,59 |
echo "\n"; |
} |
|
public function chargerTxtDansWikiEflore() { |
$this->chargerIndex(); |
$envoyes = array(); |
foreach ($this->index as $nom) { |
$tagDsc = $nom['page_wiki_dsc']; |
if (isset($envoyes[$tagDsc]) == false) { |
$fichier = $this->dossierBase.self::DOSSIER_V2.'dsc/'.$tagDsc.'.txt'; |
if (file_exists($fichier) === true) { |
$txt = file_get_contents($fichier); |
$this->enregistrerPage($tagDsc, $txt); |
$envoyes[$tagDsc] = 'OK'; |
} else { |
$this->messages->traiterErreur("Le fichier $fichier est introuvable."); |
} |
} |
|
$tagCle = $nom['page_wiki_cle']; |
if (isset($envoyes[$tagCle]) == false) { |
$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt'; |
if (file_exists($fichier) === true) { |
$txt = file_get_contents($fichier); |
$this->enregistrerPage($tagCle, $txt); |
$envoyes[$tagCle] = 'OK'; |
} else { |
$this->messages->traiterErreur("Le fichier $fichier est introuvable."); |
} |
} |
$this->messages->afficherAvancement("Enregistrement des textes dans le wikini eFlore"); |
} |
echo "\n"; |
} |
|
public function chargerIndexDansWikiEflore() { |
$index = $this->creerIndex(); |
foreach ($index as $titre => $txt) { |
$this->enregistrerPage($titre, $txt); |
} |
} |
|
public function uploaderIndexDansWikiEflore() { |
$index = $this->creerIndex(); |
foreach ($index as $titre => $txt) { |
$this->envoyerPage($titre, $txt); |
} |
} |
|
public function creerIndex() { |
$this->chargerIndex(); |
$envoyes = array(); |
$pageIndexFamille = "==Index Famille Coste==\n\n"; |
$pageIndexGenre = "==Index Genre Coste==\n\n"; |
$pageIndexFamille = "==Index Famille Coste==\n\n"; |
$pageIndexGenre = "==Index Genre Coste==\n\n"; |
$pageIndexEspece = "==Index Espèce Coste==\n\n"; |
foreach ($this->index as $nom) { |
foreach ($this->index as $nom) { |
$indentation = $this->getIndentationTxtLien($nom); |
$txtLien = $this->getTxtLienGenerique($nom); |
|
118,12 → 166,12 |
$tagDsc = $nom['page_wiki_dsc']; |
if (isset($envoyes[$tagDsc]) == false) { |
$fichier = $this->dossierBase.self::DOSSIER_V2.'dsc/'.$tagDsc.'.txt'; |
if ($nom['rang'] <= 180) { |
$pageIndexFamille .= "$indentation- [[$tagDsc $txtLien]]\n"; |
} elseif ($nom['rang'] == 220) { |
$pageIndexGenre .= "$indentation- [[$tagDsc $txtLien]]\n"; |
} else { |
$pageIndexEspece .= "$indentation- [[$tagDsc $txtLien]]\n"; |
if ($nom['rang'] <= 180) { |
$pageIndexFamille .= "$indentation- [[$tagDsc $txtLien]]\n"; |
} elseif ($nom['rang'] == 220) { |
$pageIndexGenre .= "$indentation- [[$tagDsc $txtLien]]\n"; |
} else { |
$pageIndexEspece .= "$indentation- [[$tagDsc $txtLien]]\n"; |
} |
$envoyes[$tagDsc] = 'OK'; |
} |
131,22 → 179,22 |
$tagCle = $nom['page_wiki_cle']; |
if (isset($envoyes[$tagCle]) == false) { |
$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt'; |
$indentation = $indentation.' '; |
$indentation = $indentation.' '; |
if ($nom['rang'] <= 180) { |
$pageIndexFamille = rtrim($pageIndexFamille, "\n"); |
$pageIndexFamille = rtrim($pageIndexFamille, "\n"); |
$pageIndexFamille .= " - [[$tagCle Clé]]\n"; |
} elseif ($nom['rang'] == 220) { |
$pageIndexGenre = rtrim($pageIndexGenre, "\n"); |
$pageIndexGenre .= " - [[$tagCle Clé]]\n"; |
} elseif ($nom['rang'] == 220) { |
$pageIndexGenre = rtrim($pageIndexGenre, "\n"); |
$pageIndexGenre .= " - [[$tagCle Clé]]\n"; |
} |
$envoyes[$tagCle] = 'OK'; |
} |
$this->messages->afficherAvancement("Upload des index dans le wikini eFlore"); |
$this->messages->afficherAvancement("Création des pages d'index pour le wikini eFlore"); |
} |
$this->envoyerPage('IndexFamille', $pageIndexFamille); |
$this->envoyerPage('IndexGenre', $pageIndexGenre); |
$this->envoyerPage('IndexEspece', $pageIndexEspece); |
echo "\n"; |
echo "\n"; |
|
$index = array('IndexFamille' => $pageIndexFamille, 'IndexGenre' => $pageIndexGenre, 'IndexEspece' => $pageIndexEspece); |
return $index; |
} |
|
private function getIndentationTxtLien($nom) { |
180,6 → 228,15 |
$this->restClient->ajouter($this->URL_WIKI_EFLORE, $donnees); |
} |
|
private function enregistrerPage($titre, $txt) { |
$titre = $this->bdd->proteger($titre); |
$time = $this->bdd->proteger(date('Y-m-d H:i:s')); |
$txt = $this->bdd->proteger($txt); |
$requete = "INSERT INTO `coste_pages` (`tag`, `time`, `body`, `body_r`, `owner`, `user`, `latest`, `handler`, `comment_on`) VALUES ". |
"($titre, $time, $txt, '', '', 'ScriptEflore', 'Y', 'page', '')"; |
$this->bdd->requeter($requete); |
} |
|
private function telechargerTxt($url) { |
$json = $this->restClient->consulter($url); |
$donnees = json_decode($json, true); |