include("phpsum_resume_txt.php"); // BEGIN - Query solr to display the carousel $serializedResult = file_get_contents("http://" . $smarty->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('#