getConfigVars("pdfSearchEngine") . "/select?indent=on&version=2.2&q=id:". $_GET['file'] ."&qs=100&fq=&start=0&rows=10&fl=id,title_validated,url,url_landing,config,content_validated&qt=&wt=phps"); $results = unserialize($serializedResult); $file = $results["response"]["docs"][0]["url"]; $smarty->assign('title',$results["response"]["docs"][0]["title_validated"]); $smarty->assign('titlerecherche',$results["response"]["docs"][0]["title_validated"]); $smarty->assign('id',$results["response"]["docs"][0]["id"]); $smarty->assign('landingurl',$results["response"]["docs"][0]["url_landing"]); $smarty->assign('documenturl',$results["response"]["docs"][0]["url"]); $smarty->assign('documenturlencoded',base64_encode($results["response"]["docs"][0]["id"] . "," . $smarty->getConfigVars("pdfSearchEngine") . "," . $smarty->getConfigVars("watermark"))); $smarty->assign('documentconfig',unserialize($results["response"]["docs"][0]["config"])); $smarty->assign('documenttext',unserialize($results["response"]["docs"][0]["content_validated"])); $docConfig = $results["response"]["docs"][0]["config"]; $docText = $results["response"]["docs"][0]["content_validated"]; if(isset($_GET['pdf'])) { $file = $_GET['pdf']; $file = str_replace("http://http://","http://",$file); if(strpos($file,"http://") === false) { $file = "http://" . $file; } $file = $_GET['pdf']; $smarty->assign('title',"Titre temporaire"); $smarty->assign('id',"222"); $smarty->assign('landingurl',"Aucun"); $smarty->assign('documenturl',$_GET['pdf']); $smarty->assign('documenturlencoded',base64_encode($file . "," . $smarty->getConfigVars("pdfSearchEngine") . "," . $smarty->getConfigVars("watermark") . "," . $smarty->getConfigVars("activateZoom"))); } $flipbookHeight = 672; $flipbookWidth = 476; $baseName = basename(str_replace(array("%20"," "),array("_","_"),$file)); $smarty->assign('basename',$baseName); $dirName = base64_encode($file); if($smarty->getConfigVars("watermark")) { $dirName .= "-water"; } //$flipbookHeight=$flipbookHeight*0.75; //$flipbookWidth=$flipbookWidth*0.75; if ($handle = opendir("./flipbook/DirPDF/" . $dirName)) { /* Ceci est la façon correcte de traverser un dossier. */ while (false !== ($file = readdir($handle))) { if($file !="." && $file != ".." && stripos($file,".pdf")===false && stripos($file,"-big-")===false && stripos($file,".txt")===false) $files[] = $file; } closedir($handle); } if(count($files)>=1) { $smarty->assign('exist',"true"); } else { $smarty->assign('exist',"false"); } sort($files); $smarty->assign('Fheight',floor($flipbookHeight)); $smarty->assign('Fwidth',floor($flipbookWidth)*2); $smarty->assign('Iwidth',floor($flipbookWidth)); $smarty->assign('Iheight',floor($flipbookHeight)); $smarty->assign('files',$files); $smarty->assign('nbPages',count($files)); $shuffle = range(1,count($files)); shuffle($shuffle); $smarty->assign('randomPages',$shuffle); $smarty->assign('path',"/flipbook/DirPDF/" . $dirName); if(isset($_GET["page"])) { $currentPage = $_GET["page"]; $smarty->assign('page',$currentPage); } else { $currentPage = 0; $smarty->assign('page',0); } // Récupération du texte de la page concernée (si le fichier associé existe) if(file_exists("./flipbook/DirPDF/" . $dirName . "/texte-entier.txt")) { $smarty->assign('pageText', file_get_contents("./flipbook/DirPDF/" . $dirName . "/texte-entier.txt")); } // Toutes les pages sauf la première if(isset($currentPage)) { // Récupération du texte de la page concernée (si le fichier associé existe) if(file_exists("./flipbook/DirPDF/" . $dirName . "/page-" . sprintf("%0003d",$currentPage) . ".txt")) { $smarty->assign('pageText', file_get_contents("./flipbook/DirPDF/" . $dirName . "/page-" . sprintf("%0003d",$currentPage) . ".txt")); } // Titre édité ou numéro de page à afficher dans le titre de la page $configSplit = preg_split("#;#", $docConfig); // Extraction des différents champs du champ de la BDD "config" // Si le pdf n'a pas été édité, le contenu de $configSplit est différent et ne contient pas plus de cinq champs // Il suffit de vérifier l'existence des prochains champs ; s'ils existent, le pdf a été édité // et il y a donc un titre potentiel pour la page if(isset($configSplit[$currentPage*4 - 3])) { // Si titre non personnalisé, affichage du numéro de page if(preg_match("#Titre de la page#", $configSplit[$currentPage*4 - 3])) { // Met dans la variable smarty titreResumePage le numéro de la page courante $smarty->assign('titreResumePage', /*"Page " . sprintf("%3d", $currentPage)*/""); } // Sinon affichage du titre else { // Dégage de la chaîne contenant le champ de la base de données le titre exact de la page, qui est entre guillemets preg_match('#"(.+)"#', $configSplit[$currentPage*4 - 3], $titreEdite); $smarty->assign('titreResumePage', stripslashes($titreEdite[1])); // Si le titre existe, il servira aussi pour les pages similaires $titrePageSimilairePret = true; } } // Mais si ces champs n'existent pas, le pdf n'a pas été édité, on affiche alors par défaut le numéro de page else { $smarty->assign('titreResumePage', /*"Page " . sprintf("%3d", $currentPage)*/""); } // Pages similaires et résumé, si le fichier associé existe if(file_exists("./flipbook/DirPDF/" . $dirName . "/page-" . sprintf("%0003d",$currentPage) . "_resume.txt")) { // Récupération du contenu du fichier résumé $contenuFichier = file_get_contents("./flipbook/DirPDF/" . $dirName . "/page-" . sprintf("%0003d",$currentPage) . "_resume.txt"); // Récupération du résume présent dans le fichier texte correspondant // Pages similaires preg_match('#

(.*)

#', $contenuFichier, $titreBrut); // Dégagement du titre "automatique" if(isset($titrePageSimilairePret) AND ($titrePageSimilairePret == true)) { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $titreEdite[1]))); } else if(!empty($titreBrut[1])) // S'il y avait un titre { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $titreBrut[1]))); } else // Sinon, on prend celui du PDF { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $results["response"]["docs"][0]["title_validated"]))); } $lienPageSimilaire = str_replace("'", '+', $lienPageSimilaire); $smarty->assign('lienPageSimilaire', $lienPageSimilaire); // Résumé $smarty->assign('pageTextResume', $contenuFichier); } // Mots-clefs de la page if(isset($configSplit[$currentPage*4 - 1])) { // Si keywords non renseignés, affichage du message habituel 'Créez vos catalogues en un click" if(preg_match("#Mots-clefs pour la page#", $configSplit[$currentPage*4 - 1])) { // Met dans la variable smarty keywordsPage le numéro de la page courante $smarty->assign('keywordsPage', 'Ajoutez votre brochure en 1 click'); } // Sinon affichage des keywords else { // Dégage de la chaîne contenant le champ de la base de données les keywords de la page, qui sont entre guillemets preg_match('#"(.+)"#', $configSplit[$currentPage*4 - 1], $keywordsEdite); $keywordsSepares = preg_split("#[,;]#", $keywordsEdite[1]); $messageFooter = 'Tags : '; foreach($keywordsSepares as $keyw) { $keyw = trim($keyw); $lienKeyw = wd_remove_accents(strtolower(str_replace(' ', '+', $keyw))); $messageFooter .= '' . $keyw . ', '; } $messageFooter = substr($messageFooter, 0, -2); $smarty->assign('keywordsPage', $messageFooter); } } // Mais si ces champs n'existent pas, le pdf n'a pas été édité, on affiche alors par défaut le message habituel else { $smarty->assign('keywordsPage', 'Ajoutez votre brochure en 1 click'); } } else // Page 1 (par défaut quand ce n'est pas précisé dans l'url,) { // Contenu du fichier texte if(file_exists("./flipbook/DirPDF/" . $dirName . "/page-001.txt")) { $smarty->assign('pageText', file_get_contents("./flipbook/DirPDF/" . $dirName . "/page-001.txt")); } // Titre édité ou numéro de page $configSplit = preg_split("#;#", $docConfig); // Pareil que pour les autres pages, on vérifie si le pdf a été édité ou non. // S'il a été édité, il y a un titre potentiel (est accepté comme titre édité tout type de titre sauf "Titre de la page ..." qui est attribué par défaut) // Sinon, il renvoie... le nom de domaine (ne me demandez pas pourquoi). if(preg_match("#(Titre de la page|http://)#", $configSplit[1])) // Si titre non personnalisé, affichage du numéro de page { $smarty->assign('titreResumePage', /*"Page 1*/""); } else // Sinon affichage du titre { preg_match('#"(.+)"#', $configSplit[1], $titreEdite); $smarty->assign('titreResumePage', stripslashes($titreEdite[1])); // Si le titre existe, il servira aussi pour les pages similaires $titrePageSimilairePret = true; } // Fichier résumé if(file_exists("./flipbook/DirPDF/" . $dirName . "/page-001_resume.txt")) { // Contenu du fichier résumé $contenuFichier = file_get_contents("./flipbook/DirPDF/" . $dirName . "/page-001_resume.txt"); // Pages similaires preg_match('#

(.*)

#', $contenuFichier, $titreBrut); // Dégagement du titre "automatique" if((isset($titrePageSimilairePret)) and ($titrePageSimilairePret == true)) { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $titreEdite[1]))); } elseif(!empty($titreBrut[1])) { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $titreBrut[1]))); } else { $lienPageSimilaire = wd_remove_accents(strtolower(str_replace(' ', '+', $results["response"]["docs"][0]["title_validated"]))); } $lienPageSimilaire = str_replace("'", '+', $lienPageSimilaire); $smarty->assign('lienPageSimilaire', $lienPageSimilaire); // Résumé $smarty->assign('pageTextResume', $contenuFichier); } // Mots-clefs de la page if(isset($configSplit[3])) { // Si keywords non renseignés, affichage du message habituel 'Créez vos catalogues en un click" if(preg_match("#Mots-clefs pour la page#", $configSplit[3])) { // Met dans la variable smarty keywordsPage le numéro de la page courante // $smarty->assign('keywordsPage', 'Ajoutez votre brochure en 1 click'); } // Sinon affichage du titre else { // Dégage de la chaîne contenant le champ de la base de données les keywords de la page, qui sont entre guillemets preg_match('#"(.+)"#', $configSplit[3], $keywordsEdite); $keywordsSepares = preg_split("#[,;]#", $keywordsEdite[1]); $messageFooter = 'Tags : '; foreach($keywordsSepares as $keyw) { $keyw = trim($keyw); $lienKeyw = wd_remove_accents(strtolower(str_replace(' ', '+', $keyw))); $messageFooter .= '' . $keyw . ', '; } $messageFooter = substr($messageFooter, 0, -2); $smarty->assign('keywordsPage', $messageFooter); } } // Mais si ces champs n'existent pas, le pdf n'a pas été édité, on affiche rien par défaut else { // $smarty->assign('keywordsPage', 'Ajoutez votre brochure en 1 click'); } } ?>