Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 487 | Rev 492 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 487 Rev 488
Line 7... Line 7...
7
	private $URL_WIKI_EFLORE = '';
7
	private $URL_WIKI_EFLORE = '';
8
	private $conteneur = null;
8
	private $conteneur = null;
9
	private $outils = null;
9
	private $outils = null;
10
	private $messages = null;
10
	private $messages = null;
11
	private $restClient = null;
11
	private $restClient = null;
-
 
12
	private $bdd = null;
12
	private $dossierBase = '';
13
	private $dossierBase = '';
13
	private $index = array();
14
	private $index = array();
Line 14... Line 15...
14
 
15
 
15
	public function __construct(Conteneur $conteneur) {
16
	public function __construct(Conteneur $conteneur) {
Line 19... Line 20...
19
		$this->URL_WIKI = $this->conteneur->getParametre('wiki.travail');
20
		$this->URL_WIKI = $this->conteneur->getParametre('wiki.travail');
20
		$this->URL_WIKI_EFLORE = $this->conteneur->getParametre('wiki.eflore');
21
		$this->URL_WIKI_EFLORE = $this->conteneur->getParametre('wiki.eflore');
21
		$this->outils = $conteneur->getOutils();
22
		$this->outils = $conteneur->getOutils();
22
		$this->messages = $conteneur->getMessages();
23
		$this->messages = $conteneur->getMessages();
23
		$this->restClient = $conteneur->getRestClient();
24
		$this->restClient = $conteneur->getRestClient();
-
 
25
		$this->bdd = $conteneur->getBdd();
24
		$this->dossierBase = dirname(__FILE__).'/';
26
		$this->dossierBase = dirname(__FILE__).'/';
25
	}
27
	}
Line 26... Line 28...
26
 
28
 
27
	public function uploaderFichiersSp() {
29
	public function uploaderFichiersSp() {
Line 92... Line 94...
92
			$tagCle = $nom['page_wiki_cle'];
94
			$tagCle = $nom['page_wiki_cle'];
93
			if (isset($envoyes[$tagCle]) == false) {
95
			if (isset($envoyes[$tagCle]) == false) {
94
				$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt';
96
				$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt';
95
				if (file_exists($fichier) === true) {
97
				if (file_exists($fichier) === true) {
96
					$txt = file_get_contents($fichier);
98
					$txt = file_get_contents($fichier);
97
					$this->envoyerPage($tagDsc, $txt);
99
					$this->envoyerPage($tagCle, $txt);
98
					$envoyes[$tagCle] = 'OK';
100
					$envoyes[$tagCle] = 'OK';
99
				} else {
101
				} else {
100
					$this->messages->traiterErreur("Le fichier $fichier est introuvable.");
102
					$this->messages->traiterErreur("Le fichier $fichier est introuvable.");
101
				}
103
				}
102
			}
104
			}
103
			$this->messages->afficherAvancement("Upload des textes dans le wikini eFlore");
105
			$this->messages->afficherAvancement("Upload des textes dans le wikini eFlore");
104
		}
106
		}
105
		echo "\n";
107
		echo "\n";
106
	}
108
	}
Line -... Line 109...
-
 
109
 
-
 
110
	public function chargerTxtDansWikiEflore() {
-
 
111
		$this->chargerIndex();
-
 
112
		$envoyes = array();
-
 
113
		foreach ($this->index as $nom) {
-
 
114
			$tagDsc = $nom['page_wiki_dsc'];
-
 
115
			if (isset($envoyes[$tagDsc]) == false) {
-
 
116
				$fichier = $this->dossierBase.self::DOSSIER_V2.'dsc/'.$tagDsc.'.txt';
-
 
117
				if (file_exists($fichier) === true) {
-
 
118
					$txt = file_get_contents($fichier);
-
 
119
					$this->enregistrerPage($tagDsc, $txt);
-
 
120
					$envoyes[$tagDsc] = 'OK';
-
 
121
				} else {
-
 
122
					$this->messages->traiterErreur("Le fichier $fichier est introuvable.");
-
 
123
				}
-
 
124
			}
-
 
125
 
-
 
126
			$tagCle = $nom['page_wiki_cle'];
-
 
127
			if (isset($envoyes[$tagCle]) == false) {
-
 
128
				$fichier = $this->dossierBase.self::DOSSIER_V2.'cle/'.$tagCle.'.txt';
-
 
129
				if (file_exists($fichier) === true) {
-
 
130
					$txt = file_get_contents($fichier);
-
 
131
					$this->enregistrerPage($tagCle, $txt);
-
 
132
					$envoyes[$tagCle] = 'OK';
-
 
133
				} else {
-
 
134
					$this->messages->traiterErreur("Le fichier $fichier est introuvable.");
-
 
135
				}
-
 
136
			}
-
 
137
			$this->messages->afficherAvancement("Enregistrement des textes dans le wikini eFlore");
-
 
138
		}
-
 
139
		echo "\n";
-
 
140
	}
-
 
141
 
-
 
142
	public function chargerIndexDansWikiEflore() {
-
 
143
		$index = $this->creerIndex();
-
 
144
		foreach ($index as $titre => $txt) {
-
 
145
			$this->enregistrerPage($titre, $txt);
-
 
146
		}
-
 
147
	}
107
 
148
 
-
 
149
	public function uploaderIndexDansWikiEflore() {
-
 
150
		$index = $this->creerIndex();
-
 
151
		foreach ($index as $titre => $txt) {
-
 
152
			$this->envoyerPage($titre, $txt);
-
 
153
		}
-
 
154
	}
-
 
155
 
108
	public function uploaderIndexDansWikiEflore() {
156
	public function creerIndex() {
109
		$this->chargerIndex();
157
		$this->chargerIndex();
110
		$envoyes = array();
158
		$envoyes = array();
111
		$pageIndexFamille = "==Index Famille Coste==\n\n";
159
		$pageIndexFamille = "==Index Famille Coste==\n\n";
112
		$pageIndexGenre = "==Index Genre Coste==\n\n";
160
		$pageIndexGenre = "==Index Genre Coste==\n\n";
Line 139... Line 187...
139
					$pageIndexGenre = rtrim($pageIndexGenre, "\n");
187
					$pageIndexGenre = rtrim($pageIndexGenre, "\n");
140
					$pageIndexGenre .= " - [[$tagCle Clé]]\n";
188
					$pageIndexGenre .= " - [[$tagCle Clé]]\n";
141
				}
189
				}
142
				$envoyes[$tagCle] = 'OK';
190
				$envoyes[$tagCle] = 'OK';
143
			}
191
			}
144
			$this->messages->afficherAvancement("Upload des index dans le wikini eFlore");
192
			$this->messages->afficherAvancement("Création des pages d'index pour le wikini eFlore");
145
		}
193
		}
146
		$this->envoyerPage('IndexFamille', $pageIndexFamille);
-
 
147
		$this->envoyerPage('IndexGenre', $pageIndexGenre);
-
 
148
		$this->envoyerPage('IndexEspece', $pageIndexEspece);
-
 
149
		echo "\n";
194
		echo "\n";
-
 
195
 
-
 
196
		$index = array('IndexFamille' => $pageIndexFamille, 'IndexGenre' => $pageIndexGenre, 'IndexEspece' => $pageIndexEspece);
-
 
197
		return $index;
150
	}
198
	}
Line 151... Line 199...
151
 
199
 
152
	private function getIndentationTxtLien($nom) {
200
	private function getIndentationTxtLien($nom) {
153
		$rangs = array('Reg' => 1, 'Emb' => 2, 'Cla' => 3, 'Fam' => 4, 'Gen' => 5, 'Esp' => 6);
201
		$rangs = array('Reg' => 1, 'Emb' => 2, 'Cla' => 3, 'Fam' => 4, 'Gen' => 5, 'Esp' => 6);
Line 178... Line 226...
178
	private function envoyerPage($titre, $txt) {
226
	private function envoyerPage($titre, $txt) {
179
		$donnees = array('pageTag' => $titre, 'pageContenu' => $txt);
227
		$donnees = array('pageTag' => $titre, 'pageContenu' => $txt);
180
		$this->restClient->ajouter($this->URL_WIKI_EFLORE, $donnees);
228
		$this->restClient->ajouter($this->URL_WIKI_EFLORE, $donnees);
181
	}
229
	}
Line -... Line 230...
-
 
230
 
-
 
231
	private function enregistrerPage($titre, $txt) {
-
 
232
		$titre = $this->bdd->proteger($titre);
-
 
233
		$time = $this->bdd->proteger(date('Y-m-d H:i:s'));
-
 
234
		$txt = $this->bdd->proteger($txt);
-
 
235
		$requete = "INSERT INTO `coste_pages` (`tag`, `time`, `body`, `body_r`, `owner`, `user`, `latest`, `handler`, `comment_on`) VALUES ".
-
 
236
				"($titre, $time, $txt, '', '', 'ScriptEflore', 'Y', 'page', '')";
-
 
237
		$this->bdd->requeter($requete);
-
 
238
	}
182
 
239
 
183
	private function telechargerTxt($url) {
240
	private function telechargerTxt($url) {
184
		$json = $this->restClient->consulter($url);
241
		$json = $this->restClient->consulter($url);
185
		$donnees = json_decode($json, true);
242
		$donnees = json_decode($json, true);
186
		return $donnees['texte'];
243
		return $donnees['texte'];