PageRenderTime 53ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/script/create_xml.php

https://github.com/lufyx/test
PHP | 466 lines | 357 code | 93 blank | 16 comment | 24 complexity | e5c890103780411bdf1c3474aafe1e4a MD5 | raw file
Possible License(s): MIT
  1. <?php
  2. // Effacer les anciens fichiers xml
  3. $dossier_traite = "../data";
  4. $repertoire = opendir($dossier_traite); // On définit le répertoire dans lequel on souhaite travailler.
  5. while (false !== ($fichier = readdir($repertoire))) // On lit chaque fichier du répertoire dans la boucle.
  6. {
  7. $chemin = $dossier_traite."/".$fichier; // On définit le chemin du fichier ŕ effacer.
  8. // Si le fichier n'est pas un répertoire…
  9. if ($fichier != ".." AND $fichier != "." AND !is_dir($fichier))
  10. {
  11. unlink($chemin); // On efface.
  12. }
  13. }
  14. closedir($repertoire); // On ferme le dossier
  15. // Xml contenant les noms des bases (lesBases.xml)
  16. $lesBases = new DOMDocument('1.0','UTF-8');
  17. $lesBases->formatOutput = true; // Structurer le fichier xml
  18. $portails = $lesBases->createElement('portails'); // Création de la balise principale "portails"
  19. $maBase = $lesBases->appendChild($portails); // On la place dans le fichier
  20. $tabBases = file('mesBases_3.10.txt');
  21. $tabBases2 = file('mesBases_3.11.txt');
  22. foreach ($tabBases as $lineNumber => $lineContent)
  23. {
  24. $infoBase = explode("#", $lineContent);
  25. $nomDB = $infoBase[0]."dbprod";
  26. $labelDB = utf8_encode($infoBase[1]);
  27. $maBase = $lesBases->createElement('database');
  28. $maBase = $portails->appendChild($maBase);
  29. $maBase->setAttribute("nomBase",$nomDB);
  30. $texte = $lesBases->createTextNode($labelDB);
  31. $texte = $maBase->appendChild($texte);
  32. }
  33. foreach ($tabBases2 as $lineNumber => $lineContent)
  34. {
  35. $infoBase = explode("#", $lineContent);
  36. $nomDB = $infoBase[0];
  37. if ($nomDB != "grandparis")
  38. {
  39. if ($nomDB == "u2n")
  40. {
  41. $nomDB = $nomDB. "prod";
  42. }
  43. else
  44. {
  45. $nomDB = $nomDB. "dbprod";
  46. }
  47. }
  48. $labelDB = utf8_encode($infoBase[1]);
  49. $maBase = $lesBases->createElement('database');
  50. $maBase = $portails->appendChild($maBase);
  51. $maBase->setAttribute("nomBase",$nomDB);
  52. $texte = $lesBases->createTextNode($labelDB);
  53. $texte = $maBase->appendChild($texte);
  54. }
  55. $lesBases->save("../data/lesBases.xml");
  56. include "fonctions.php";
  57. // Date du jour
  58. $laDate = date("ymd");
  59. $loginDB = "apmobile";
  60. $mdpDB = "ap2012";
  61. $tabBases = file('mesBases_3.10.txt');
  62. foreach ($tabBases as $lineNumber => $lineContent)
  63. {
  64. $infoBase = explode("#", $lineContent);
  65. $nomDB = $infoBase[0]."dbprod";
  66. mysql_connect("192.168.3.10",$loginDB,$mdpDB) or die("Connexion impossible ŕ ".$nomDB);
  67. mysql_select_db($nomDB) or die("Echec de sélection de la base ".$nomDB);
  68. $reqRDP = mysql_query("SELECT DISTINCT entry_text_more FROM mt_entry WHERE entry_text_more LIKE '%" .$laDate. "'");
  69. while($ligneRDP = mysql_fetch_array($reqRDP))
  70. {
  71. $nbArticlesAll = 0;
  72. $nbArticlesAll2 = 0;
  73. $leFlux = new DOMDocument('1.0','UTF-8');
  74. $leFlux->formatOutput = true;
  75. $unEntryTextMore = $ligneRDP["entry_text_more"];
  76. $unRDP = utf8_encode(nomOnglet($nomDB, $unEntryTextMore));
  77. $noeudRdp = $leFlux->createElement('RDP');
  78. $noeudRdp = $leFlux->appendChild($noeudRdp);
  79. $reqCat = mysql_query("SELECT DISTINCT category_id, category_label FROM mt_entry JOIN mt_category ON entry_category_id = category_id WHERE entry_text_more = '" .$unEntryTextMore. "' ORDER BY category_description");
  80. $leFluxAll = new DOMDocument('1.0','UTF-8'); // Tous les articles
  81. $leFluxAll->formatOutput = true;
  82. $mesArticles = $leFluxAll->createElement('listeArticle');
  83. $mesArticles = $leFluxAll->appendChild($mesArticles);
  84. while($ligneCat = mysql_fetch_array($reqCat))
  85. {
  86. $nbArticles = 0;
  87. // XML des RDP
  88. $unIdCat = $ligneCat["category_id"];
  89. $uneCat = $ligneCat["category_label"];
  90. $typeCat = catAdmin($uneCat);
  91. $noeudCat = $leFlux->createElement('Category');
  92. $noeudCat = $noeudRdp->appendChild($noeudCat);
  93. $noeudCat->setAttribute("idCat",$unIdCat);
  94. $noeudCat->setAttribute("typeCat",$typeCat);
  95. $text = $leFlux->createTextNode(utf8_encode($uneCat));
  96. $text = $noeudCat->appendChild($text);
  97. $mesArts = $leFluxAll->createElement('Category');
  98. $mesArts = $mesArticles->appendChild($mesArts);
  99. $mesArts->setAttribute("nomCate",utf8_encode($uneCat));
  100. $mesArts->setAttribute("typeCat",$typeCat);
  101. $mesArts->setAttribute("idCat",$unIdCat);
  102. // XML des Cat
  103. $fluxCat = new DOMDocument('1.0','UTF-8');
  104. $fluxCat->formatOutput = true;
  105. $mesArt = $fluxCat->createElement('mesArt');
  106. $mesArt = $fluxCat->appendChild($mesArt);
  107. $mesArt->setAttribute("nomCate",utf8_encode($uneCat));
  108. $reqInfoArticle = mysql_query("SELECT * FROM mt_entry JOIN mt_author ON entry_author_id = author_id JOIN mt_placement ON entry_id = placement_entry_id WHERE entry_text_more = '" .$unEntryTextMore. "' AND entry_category_id = '" .$unIdCat. "' ORDER BY placement_norder");
  109. while($ligneInfoArticle = mysql_fetch_array($reqInfoArticle))
  110. {
  111. // XML d'un article
  112. $fluxArt = new DOMDocument('1.0','UTF-8');
  113. $fluxArt->formatOutput = true;
  114. $nbArticles = $nbArticles + 1;
  115. //On récup les infos
  116. $unIdArticle = $ligneInfoArticle["entry_id"];
  117. $uneDateArticle = $ligneInfoArticle["entry_modified_on"];
  118. $tabDate = explode(' ',$uneDateArticle);
  119. $unTitreArticle = utf8_encode($ligneInfoArticle["entry_title"]);
  120. $unTitreArticle = str_replace(chr(34),"",$unTitreArticle);
  121. $unTitreArticle = str_replace(chr(38),"",$unTitreArticle);
  122. $uneDescriptionArticle = utf8_encode($ligneInfoArticle["entry_text"]);
  123. $uneDescriptionArticle = str_replace(chr(23),"",$uneDescriptionArticle);
  124. $uneDescriptionArticle = str_replace(chr(13),"",$uneDescriptionArticle);
  125. $uneDescriptionArticle = str_replace(chr(38),"",$uneDescriptionArticle);
  126. $uneDescriptionArticle = str_replace(chr(60),"",$uneDescriptionArticle);
  127. $uneDescriptionArticle = str_replace(chr(62),"",$uneDescriptionArticle);
  128. $uneDescriptionArticle = str_replace(chr(31),"",$uneDescriptionArticle);
  129. $uneDescriptionArticle = str_replace(chr(30),"",$uneDescriptionArticle);
  130. $uneSourceArticle = utf8_encode($ligneInfoArticle["author_name"]);
  131. $uneSourceArticle = str_replace(chr(60),"",$uneSourceArticle);
  132. $uneSourceArticle = str_replace(chr(62),"",$uneSourceArticle);
  133. //XML Cat ALL
  134. $unArticle = $leFluxAll->createElement('Article');
  135. $unArticle = $mesArts->appendChild($unArticle);
  136. $unArticle->setAttribute("idArt",$unIdArticle);
  137. if ($uneDescriptionArticle != "")
  138. {
  139. $unArticle->setAttribute("typeArt","texte");
  140. }
  141. else
  142. {
  143. $unArticle->setAttribute("typeArt","pdf");
  144. }
  145. $unTitre = $leFluxAll->createElement("Titre");
  146. $unTitre = $unArticle->appendChild($unTitre);
  147. $text = $leFluxAll->createTextNode($unTitreArticle);
  148. $text = $unTitre->appendChild($text);
  149. $uneSource = $leFluxAll->createElement("Source");
  150. $uneSource = $unArticle->appendChild($uneSource);
  151. $text = $leFluxAll->createTextNode($uneSourceArticle);
  152. $text = $uneSource->appendChild($text);
  153. $uneDate = $leFluxAll->createElement("Date");
  154. $uneDate = $unArticle->appendChild($uneDate);
  155. $text = $leFluxAll->createTextNode($tabDate[0]);
  156. $text = $uneDate->appendChild($text);
  157. //XML des Cat
  158. $noeudCat2 = $fluxCat->createElement('Article');
  159. $noeudCat2 = $mesArt->appendChild($noeudCat2);
  160. $noeudCat2->setAttribute("idArt",$unIdArticle);
  161. if ($uneDescriptionArticle != "")
  162. {
  163. $noeudCat2->setAttribute("typeArt","texte");
  164. }
  165. else
  166. {
  167. $noeudCat2->setAttribute("typeArt","pdf");
  168. }
  169. $noeudCatTitre = $fluxCat->createElement('Titre');
  170. $noeudCatTitre = $noeudCat2->appendChild($noeudCatTitre);
  171. $text = $fluxCat->createTextNode($unTitreArticle);
  172. $text = $noeudCatTitre->appendChild($text);
  173. $noeudCatSrc = $fluxCat->createElement('Source');
  174. $noeudCatSrc = $noeudCat2->appendChild($noeudCatSrc);
  175. $text = $fluxCat->createTextNode($uneSourceArticle);
  176. $text = $noeudCatSrc->appendChild($text);
  177. $noeudCatDate = $fluxCat->createElement('Date');
  178. $noeudCatDate = $noeudCat2->appendChild($noeudCatDate);
  179. $text = $fluxCat->createTextNode($tabDate[0]);
  180. $text = $noeudCatDate->appendChild($text);
  181. if ($uneDescriptionArticle != "")
  182. {
  183. $noeudArt = $fluxArt->createElement('Article');
  184. $noeudArt = $fluxArt->appendChild($noeudArt);
  185. $noeudArt->setAttribute("idArt",$unIdArticle);
  186. $noeudArtTitre = $fluxArt->createElement('Titre');
  187. $noeudArtTitre = $noeudArt->appendChild($noeudArtTitre);
  188. $text = $fluxArt->createTextNode($unTitreArticle);
  189. $text = $noeudArtTitre->appendChild($text);
  190. $noeudArtDesc = $fluxArt->createElement('Description');
  191. $noeudArtDesc = $noeudArt->appendChild($noeudArtDesc);
  192. $text = $fluxArt->createTextNode($uneDescriptionArticle);
  193. $text = $noeudArtDesc->appendChild($text);
  194. $noeudArtSrc = $fluxArt->createElement('Source');
  195. $noeudArtSrc = $noeudArt->appendChild($noeudArtSrc);
  196. $text = $fluxArt->createTextNode($uneSourceArticle);
  197. $text = $noeudArtSrc->appendChild($text);
  198. $fluxArt->save("../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. "_" .$unIdArticle. ".xml");
  199. }
  200. }
  201. $noeudCat->setAttribute("nbArt",$nbArticles);
  202. $mesArts->setAttribute("nbArt",$nbArticles);
  203. $mesArt->setAttribute("nbArt",$nbArticles);
  204. $fluxCat->save("../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. ".xml");
  205. echo "../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. ".xml";
  206. }
  207. $leFluxAll->save("../data/".$nomDB."_".$unRDP."_all.xml");
  208. $leFlux->save("../data/".$nomDB. "_" .$unRDP. ".xml");
  209. }
  210. }
  211. mysql_close();
  212. $tabBases = file('mesBases_3.11.txt');
  213. foreach ($tabBases as $lineNumber => $lineContent)
  214. {
  215. $infoBase = explode("#", $lineContent);
  216. $nomDB = $infoBase[0];
  217. if ($nomDB != "grandparis")
  218. {
  219. if ($nomDB == "u2n")
  220. {
  221. $nomDB = $nomDB. "prod";
  222. }
  223. else
  224. {
  225. $nomDB = $nomDB. "dbprod";
  226. }
  227. }
  228. mysql_connect("192.168.3.11",$loginDB,$mdpDB) or die("Connexion impossible ŕ ".$nomDB);
  229. mysql_select_db($nomDB) or die("Echec de sélection de la base ".$nomDB);
  230. $reqRDP = mysql_query("SELECT DISTINCT entry_text_more FROM mt_entry WHERE entry_text_more LIKE '%" .$laDate. "'");
  231. while($ligneRDP = mysql_fetch_array($reqRDP))
  232. {
  233. $nbArticlesAll = 0;
  234. $nbArticlesAll2 = 0;
  235. $leFlux = new DOMDocument('1.0','UTF-8');
  236. $leFlux->formatOutput = true;
  237. $unEntryTextMore = $ligneRDP["entry_text_more"];
  238. $unRDP = utf8_encode(nomOnglet($nomDB, $unEntryTextMore));
  239. $noeudRdp = $leFlux->createElement('RDP');
  240. $noeudRdp = $leFlux->appendChild($noeudRdp);
  241. $reqCat = mysql_query("SELECT DISTINCT category_id, category_label FROM mt_entry JOIN mt_category ON entry_category_id = category_id WHERE entry_text_more = '" .$unEntryTextMore. "' ORDER BY category_description");
  242. $leFluxAll = new DOMDocument('1.0','UTF-8'); // Tous les articles
  243. $leFluxAll->formatOutput = true;
  244. $mesArticles = $leFluxAll->createElement('listeArticle');
  245. $mesArticles = $leFluxAll->appendChild($mesArticles);
  246. while($ligneCat = mysql_fetch_array($reqCat))
  247. {
  248. $nbArticles = 0;
  249. // XML des RDP
  250. $unIdCat = $ligneCat["category_id"];
  251. $uneCat = $ligneCat["category_label"];
  252. $typeCat = catAdmin($uneCat);
  253. $noeudCat = $leFlux->createElement('Category');
  254. $noeudCat = $noeudRdp->appendChild($noeudCat);
  255. $noeudCat->setAttribute("idCat",$unIdCat);
  256. $noeudCat->setAttribute("typeCat",$typeCat);
  257. $text = $leFlux->createTextNode(utf8_encode($uneCat));
  258. $text = $noeudCat->appendChild($text);
  259. $mesArts = $leFluxAll->createElement('Category');
  260. $mesArts = $mesArticles->appendChild($mesArts);
  261. $mesArts->setAttribute("nomCate",utf8_encode($uneCat));
  262. $mesArts->setAttribute("typeCat",$typeCat);
  263. $mesArts->setAttribute("idCat",$unIdCat);
  264. // XML des Cat
  265. $fluxCat = new DOMDocument('1.0','UTF-8');
  266. $fluxCat->formatOutput = true;
  267. $mesArt = $fluxCat->createElement('mesArt');
  268. $mesArt = $fluxCat->appendChild($mesArt);
  269. $mesArt->setAttribute("nomCate",utf8_encode($uneCat));
  270. $reqInfoArticle = mysql_query("SELECT * FROM mt_entry JOIN mt_author ON entry_author_id = author_id JOIN mt_placement ON entry_id = placement_entry_id WHERE entry_text_more = '" .$unEntryTextMore. "' AND entry_category_id = '" .$unIdCat. "' ORDER BY placement_norder");
  271. while($ligneInfoArticle = mysql_fetch_array($reqInfoArticle))
  272. {
  273. // XML d'un article
  274. $fluxArt = new DOMDocument('1.0','UTF-8');
  275. $fluxArt->formatOutput = true;
  276. $nbArticles = $nbArticles + 1;
  277. //On récup les infos
  278. $unIdArticle = $ligneInfoArticle["entry_id"];
  279. $uneDateArticle = $ligneInfoArticle["entry_modified_on"];
  280. $tabDate = explode(' ',$uneDateArticle);
  281. $unTitreArticle = utf8_encode($ligneInfoArticle["entry_title"]);
  282. $unTitreArticle = str_replace(chr(34),"",$unTitreArticle);
  283. $unTitreArticle = str_replace(chr(38),"",$unTitreArticle);
  284. $uneDescriptionArticle = utf8_encode($ligneInfoArticle["entry_text"]);
  285. $uneDescriptionArticle = str_replace(chr(23),"",$uneDescriptionArticle);
  286. $uneDescriptionArticle = str_replace(chr(13),"",$uneDescriptionArticle);
  287. $uneDescriptionArticle = str_replace(chr(38),"",$uneDescriptionArticle);
  288. $uneDescriptionArticle = str_replace(chr(60),"",$uneDescriptionArticle);
  289. $uneDescriptionArticle = str_replace(chr(62),"",$uneDescriptionArticle);
  290. $uneDescriptionArticle = str_replace(chr(31),"",$uneDescriptionArticle);
  291. $uneSourceArticle = utf8_encode($ligneInfoArticle["author_name"]);
  292. $uneSourceArticle = str_replace(chr(60),"",$uneSourceArticle);
  293. $uneSourceArticle = str_replace(chr(62),"",$uneSourceArticle);
  294. //XML Cat ALL
  295. $unArticle = $leFluxAll->createElement('Article');
  296. $unArticle = $mesArts->appendChild($unArticle);
  297. $unArticle->setAttribute("idArt",$unIdArticle);
  298. if ($uneDescriptionArticle != "")
  299. {
  300. $unArticle->setAttribute("typeArt","texte");
  301. }
  302. else
  303. {
  304. $unArticle->setAttribute("typeArt","pdf");
  305. }
  306. $unTitre = $leFluxAll->createElement("Titre");
  307. $unTitre = $unArticle->appendChild($unTitre);
  308. $text = $leFluxAll->createTextNode($unTitreArticle);
  309. $text = $unTitre->appendChild($text);
  310. $uneSource = $leFluxAll->createElement("Source");
  311. $uneSource = $unArticle->appendChild($uneSource);
  312. $text = $leFluxAll->createTextNode($uneSourceArticle);
  313. $text = $uneSource->appendChild($text);
  314. $uneDate = $leFluxAll->createElement("Date");
  315. $uneDate = $unArticle->appendChild($uneDate);
  316. $text = $leFluxAll->createTextNode($tabDate[0]);
  317. $text = $uneDate->appendChild($text);
  318. //XML des Cat
  319. $noeudCat2 = $fluxCat->createElement('Article');
  320. $noeudCat2 = $mesArt->appendChild($noeudCat2);
  321. $noeudCat2->setAttribute("idArt",$unIdArticle);
  322. if ($uneDescriptionArticle != "")
  323. {
  324. $noeudCat2->setAttribute("typeArt","texte");
  325. }
  326. else
  327. {
  328. $noeudCat2->setAttribute("typeArt","pdf");
  329. }
  330. $noeudCatTitre = $fluxCat->createElement('Titre');
  331. $noeudCatTitre = $noeudCat2->appendChild($noeudCatTitre);
  332. $text = $fluxCat->createTextNode($unTitreArticle);
  333. $text = $noeudCatTitre->appendChild($text);
  334. $noeudCatSrc = $fluxCat->createElement('Source');
  335. $noeudCatSrc = $noeudCat2->appendChild($noeudCatSrc);
  336. $text = $fluxCat->createTextNode($uneSourceArticle);
  337. $text = $noeudCatSrc->appendChild($text);
  338. $noeudCatDate = $fluxCat->createElement('Date');
  339. $noeudCatDate = $noeudCat2->appendChild($noeudCatDate);
  340. $text = $fluxCat->createTextNode($tabDate[0]);
  341. $text = $noeudCatDate->appendChild($text);
  342. if ($uneDescriptionArticle != "")
  343. {
  344. $noeudArt = $fluxArt->createElement('Article');
  345. $noeudArt = $fluxArt->appendChild($noeudArt);
  346. $noeudArt->setAttribute("idArt",$unIdArticle);
  347. $noeudArtTitre = $fluxArt->createElement('Titre');
  348. $noeudArtTitre = $noeudArt->appendChild($noeudArtTitre);
  349. $text = $fluxArt->createTextNode($unTitreArticle);
  350. $text = $noeudArtTitre->appendChild($text);
  351. $noeudArtDesc = $fluxArt->createElement('Description');
  352. $noeudArtDesc = $noeudArt->appendChild($noeudArtDesc);
  353. $text = $fluxArt->createTextNode($uneDescriptionArticle);
  354. $text = $noeudArtDesc->appendChild($text);
  355. $noeudArtSrc = $fluxArt->createElement('Source');
  356. $noeudArtSrc = $noeudArt->appendChild($noeudArtSrc);
  357. $text = $fluxArt->createTextNode($uneSourceArticle);
  358. $text = $noeudArtSrc->appendChild($text);
  359. $fluxArt->save("../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. "_" .$unIdArticle. ".xml");
  360. }
  361. }
  362. $noeudCat->setAttribute("nbArt",$nbArticles);
  363. $mesArts->setAttribute("nbArt",$nbArticles);
  364. $mesArt->setAttribute("nbArt",$nbArticles);
  365. $fluxCat->save("../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. ".xml");
  366. echo "../data/" .$nomDB. "_" .$unRDP. "_" .$unIdCat. ".xml";
  367. }
  368. $leFluxAll->save("../data/".$nomDB."_".$unRDP."_all.xml");
  369. $leFlux->save("../data/".$nomDB. "_" .$unRDP. ".xml");
  370. }
  371. }
  372. mysql_close();
  373. ?>