]> _ Git - cubeextranet.git/commitdiff
done #761 @1.5
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 29 Sep 2016 15:38:08 +0000 (15:38 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 29 Sep 2016 15:38:08 +0000 (15:38 +0000)
inc/ws/Controlleur/class.ws.url.php
inc/ws/Util/packager/class.ws.packager.html.php

index 2706ddf3d24feed3e13a770710d4f2c1ca161566..7b80e54b4074d31a5720634fc26a0c8e6b20fec6 100644 (file)
@@ -1308,11 +1308,11 @@ html{height:100%}' . "\n";
                $res .= '<meta name="google" value="notranslate">';
                $res .= '<style type="text/css" media="print">*{ visibility: hidden; display: none }</style>';
                // EntĂȘtes Facebook
-                       $meta['og:title'] = ($book->parametres->facebook_title == '') ? $book->parametres->title : $book->parametres->facebook_title;
-                       if ($book->parametres->facebook_description != '') {
-                               $meta['og:description'] = $book->parametres->facebook_description;
-                       }
-                       $meta['og:image'] = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $book->book_id . '&j=' . TIME;
+               $meta['og:title'] = ($book->parametres->facebook_title == '') ? $book->parametres->title : $book->parametres->facebook_title;
+               if ($book->parametres->facebook_description != '') {
+                        $meta['og:description'] = $book->parametres->facebook_description;
+               }
+               $meta['og:image'] = 'https://workshop.fluidbook.com/services/facebook_thumbnail?id=' . $book->book_id . '&j=' . TIME;
 
 
                $redirectPDF = 'window.location="data/document.pdf"';
index d45f8520155ac2714d13eb71690e93dcaf5fd748..d4444cf9625da24cdb7c0f641f5f3aafaecd5bf2 100644 (file)
@@ -99,10 +99,6 @@ class wsPackagerHTML extends wsPackager {
                        $robots = '<meta name="robots" content="noindex, nofollow">';
                }
 
-               $description = '';
-               if ($this->book->parametres->seoDescription) {
-                       $description = '<meta name="description" content="' . self::escape($this->book->parametres->seoDescription) . '">';
-               }
                $keywords = '';
                if ($this->book->parametres->seoKeywords) {
                        $keywords = '<meta name="keywords" content="' . self::escape($this->book->parametres->seoKeywords) . '">';
@@ -118,6 +114,7 @@ class wsPackagerHTML extends wsPackager {
                }
                $html5priority = CubeIT_Util_Bool::boolval($this->book->parametres->html5priority, false, true);
 
+
                // Stuffs to replace in html
                $toReplace = array('lang' => strtolower($this->book->lang),
                                   'ga' => $ga,
@@ -126,7 +123,6 @@ class wsPackagerHTML extends wsPackager {
                                   'redirectMobile' => $redirectMobile,
                                   'redirectPDF' => $redirectPDF,
                                   'junk' => TIME,
-                                  'description' => $description,
                                   'robots' => $robots,
                                   'favicon' => $favicon,
                                   'flashversion' => $this->getMinFlashVersion(),
@@ -171,7 +167,6 @@ class wsPackagerHTML extends wsPackager {
                                $html = CubeIT_Util_Gzip::file_get_contents($htmlfile);
                                $alt .= "\n" . $html . "\n";
 
-
                                if ($page == 1) {
                                        $alt .= $nav1;
                                } else {
@@ -179,7 +174,6 @@ class wsPackagerHTML extends wsPackager {
                                }
                        }
 
-
                        $alt .= $footer;
 
                        $base = '';
@@ -187,6 +181,17 @@ class wsPackagerHTML extends wsPackager {
                                $base = '<base href="' . $this->book->parametres->baseUrl . '" />';
                        }
 
+                       if ($page == 1 && $this->book->parametres->seoDescription) {
+                               $description = $this->book->parametres->seoDescription;
+                       } else {
+                               $textfile = wsDocument::getDir($infos['document_id']) . 'ph' . $infos['document_page'] . '.txt';
+                               if (file_exists($textfile)) {
+                                       $description = mb_substr(file_get_contents($textfile), 0, 150);
+                               } else {
+                                       $description = '';
+                               }
+                       }
+
                        $data = str_replace('$alt', $alt, $this->origHTML);
                        $data = str_replace('$base', $base, $data);
                        $data = str_replace('$pathToIndex', $pathToIndex, $data);
@@ -195,6 +200,7 @@ class wsPackagerHTML extends wsPackager {
                        $data = str_replace('$redirectScript', $redirectScript, $data);
                        $data = str_replace('$sp', $sp, $data);
                        $data = str_replace('$index_ext', $this->_ext, $data);
+                       $data = str_replace('$description', '<meta name="description" content="' . self::escape($description, true) . '">', $data);
 
                        file_put_contents($this->vdir . $dest, $data);
 
@@ -354,8 +360,13 @@ class wsPackagerHTML extends wsPackager {
                return 1;
        }
 
-       protected function escape($txt) {
-               return htmlentities($txt, ENT_COMPAT, 'UTF-8');
+       protected function escape($txt, $replaceNewLines = false) {
+               $res = htmlentities($txt, ENT_COMPAT, 'UTF-8');
+               if ($replaceNewLines) {
+                       $res = str_replace("\n", ' ', $res);
+                       $res = str_replace("\r", '', $res);
+               }
+               return $res;
        }
 
        protected function makeHTMLFooter() {