]> _ Git - cubeextranet.git/commitdiff
Add possibility to change export extension of html files
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 20 Apr 2015 12:34:19 +0000 (12:34 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 20 Apr 2015 12:34:19 +0000 (12:34 +0000)
Add possibility to prepend a code in html files

fluidbook/compile/_js/fluidbook.js
fluidbook/compile/index.html
inc/postconfig.inc.php
inc/ws/Metier/class.ws.book.parametres.php
inc/ws/Metier/class.ws.document.php
inc/ws/Util/packager/class.ws.packager.html.php
inc/ws/Util/packager/class.ws.packager.html5.php
inc/ws/Util/packager/class.ws.packager.php
inc/ws/Util/packager/class.ws.packager.win.inst.php

index e1c72a2f106d2ad27db61ed44e389f9e0ba258b0..de4fa2298faad3e9459f330530fa619a771d9dc7 100644 (file)
@@ -4,102 +4,105 @@ org.owasp.esapi.ESAPI.initialize();
 var _GET = parseGet();
 var _openedWindows = {};
 
+if (INDEX_EXT === undefined || !INDEX_EXT) {
+    INDEX_EXT = 'html';
+}
 function getWmode() {
-       if (_GET['wmode'] != undefined) {
-               return _GET['wmode'];
-       }
-
-       var ua = navigator.userAgent;
-       if (ua.search(/mac/i) > -1 && ua.search(/opera/i) > -1) {
-               return 'normal';
-       } else {
-               return 'direct';
-       }
+    if (_GET['wmode'] != undefined) {
+        return _GET['wmode'];
+    }
+
+    var ua = navigator.userAgent;
+    if (ua.search(/mac/i) > -1 && ua.search(/opera/i) > -1) {
+        return 'normal';
+    } else {
+        return 'direct';
+    }
 }
 
 function getLocation() {
-       return window.location.toString();
+    return window.location.toString();
 }
 
 function getPath() {
-       var l = window.location;
+    var l = window.location;
 
-       var res = l.toString();
-       var origin = l.protocol + '//' + l.host
-       return res.replace(origin, '');
+    var res = l.toString();
+    var origin = l.protocol + '//' + l.host
+    return res.replace(origin, '');
 }
 
 function getFlashvars(junk, fv) {
-       var res = {};
-       if (fv != undefined) {
-               res = fv;
-       }
-
-       res = parseGet(res);
-       res['junk'] = $ESAPI.encoder().encodeForJavaScript(junk);
-       return res;
+    var res = {};
+    if (fv != undefined) {
+        res = fv;
+    }
+
+    res = parseGet(res);
+    res['junk'] = $ESAPI.encoder().encodeForJavaScript(junk);
+    return res;
 }
 
 function parseGet(res) {
-       if (res === undefined) {
-               res = {};
-       }
-
-       var s = window.location.search.substr(1);
-       if (s === "") {
-               return res;
-       }
-
-       var couples = s.split('&');
-       var couple = new Array();
-       for (var i = 0; i < couples.length; i++) {
-               couple = couples[i].split('=');
-               //res[couple[0]] = trim($ESAPI.httpUtilities().getRequestParameter(couple[0]), "=");
-               //res[couple[0]] = $ESAPI.httpUtilities().getRequestParameter(couple[0]);
-               res[couple[0]] = unescape(couple[1]);
-       }
-       return res;
+    if (res === undefined) {
+        res = {};
+    }
+
+    var s = window.location.search.substr(1);
+    if (s === "") {
+        return res;
+    }
+
+    var couples = s.split('&');
+    var couple = new Array();
+    for (var i = 0; i < couples.length; i++) {
+        couple = couples[i].split('=');
+        //res[couple[0]] = trim($ESAPI.httpUtilities().getRequestParameter(couple[0]), "=");
+        //res[couple[0]] = $ESAPI.httpUtilities().getRequestParameter(couple[0]);
+        res[couple[0]] = unescape(couple[1]);
+    }
+    return res;
 }
 
 function getLang() {
-       if (_GET.lang == undefined || _GET.lang == null || _GET.lang == '') {
-               return FB_DEFAULT_LANG;
-       }
-       return _GET.lang;
+    if (_GET.lang == undefined || _GET.lang == null || _GET.lang == '') {
+        return FB_DEFAULT_LANG;
+    }
+    return _GET.lang;
 }
 
 function mailto(adresse) {
-       window.location = 'mailto:' + adresse;
+    window.location = 'mailto:' + adresse;
 }
 function getBookmarks(id) {
-       return getCookie('fb_bookmarks_' + id);
+    return getCookie('fb_bookmarks_' + id);
 }
 function setBookmarks(data, id) {
-       setCookie('fb_bookmarks_' + id, data);
+    setCookie('fb_bookmarks_' + id, data);
 }
 
 function popupFS(page) {
-       if (page == undefined) {
-               page = 0;
-       }
-       var date = new Date().getTime();
-       window.open('index.html#/' + page, 'fbpopupfs_' + date, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
+    if (page == undefined) {
+        page = 0;
+    }
+    var date = new Date().getTime();
+    window.open('index.html#/' + page, 'fbpopupfs_' + date, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
 }
 
 function popupFocus(url, target) {
-       var openedw;
-       if (target.substr(0, 1) == '_') {
-               openedw = window.open(url, target, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
-       } else {
-               if (_openedWindows[target] != undefined && _openedWindows[target] != null) {
-                       openedw = _openedWindows[target];
-                       openedw.location = url;
-               } else {
-                       openedw = window.open(url, target, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
-                       _openedWindows[target] = openedw;
-               }
-       }
-       openedw.focus();
+    var openedw;
+    if (target.substr(0, 1) == '_') {
+        openedw = window.open(url, target, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
+    } else {
+        if (_openedWindows[target] != undefined && _openedWindows[target] != null) {
+            openedw = _openedWindows[target];
+            openedw.location = url;
+        } else {
+            openedw = window.open(url, target, 'width=' + screen.width + ',height=' + screen.height + ',resizable=yes');
+            _openedWindows[target] = openedw;
+        }
+    }
+    openedw.focus();
 }
 
 /*function getCookieVal(offset)
@@ -110,154 +113,152 @@ function popupFocus(url, target) {
  }
  return unescape(document.cookie.substring(offset, endstr));
  }*/
-function getCookie(nom)
-{
-       var res = $ESAPI.httpUtilities().getCookie(nom);
-       return res.getValue();
+function getCookie(nom) {
+    var res = $ESAPI.httpUtilities().getCookie(nom);
+    return res.getValue();
 }
-function setCookie(nom, valeur)
-{
-       var cookie = new org.owasp.esapi.net.Cookie(nom, valeur);
-       cookie.setMaxAge(10 * 365 * 24 * 3600);
-       cookie.setPath('/');
-       cookie.setSecure(window.top.location.protocol === 'https:');
-       return $ESAPI.httpUtilities().addCookie(cookie);
+function setCookie(nom, valeur) {
+    var cookie = new org.owasp.esapi.net.Cookie(nom, valeur);
+    cookie.setMaxAge(10 * 365 * 24 * 3600);
+    cookie.setPath('/');
+    cookie.setSecure(window.top.location.protocol === 'https:');
+    return $ESAPI.httpUtilities().addCookie(cookie);
 
 }
 function addThis(x) {
-       addthis_offset_left = parseFloat(x);
-       addthis_open(document.getElementById('addThisBt'), '', '[URL]', '[TITLE]');
+    addthis_offset_left = parseFloat(x);
+    addthis_open(document.getElementById('addThisBt'), '', '[URL]', '[TITLE]');
 }
 function handleWheel(delta) {
-       try {
-               fb(delta);
-               document.getElementById('fluidbook').mouseWheel(delta);
-       } catch (e) {
+    try {
+        fb(delta);
+        document.getElementById('fluidbook').mouseWheel(delta);
+    } catch (e) {
 
-       }
+    }
 }
 
 function isMobile() {
-       var devices = ['iphone', 'ipad', 'ipod', 'droid', 'blackberry', 'mobile', 'htc', 'samsung', 'nokia', 'archos', 'galaxy', 'motorola', 'pad', 'slate', 'symbian', 'phone', 'nintendo', 'playstation', 'touch', 'webos', 'ericsson', 'metro'];
-       return _isMobile(devices);
+    var devices = ['iphone', 'ipad', 'ipod', 'droid', 'blackberry', 'mobile', 'htc', 'samsung', 'nokia', 'archos', 'galaxy', 'motorola', 'pad', 'slate', 'symbian', 'phone', 'nintendo', 'playstation', 'touch', 'webos', 'ericsson', 'metro'];
+    return _isMobile(devices);
 }
 
 function isBadMobile() {
-       var devices = ['kindle'];
-       return _isMobile(devices);
+    var devices = ['kindle'];
+    return _isMobile(devices);
 }
 
 function _isMobile(devices) {
-       var ua = navigator.userAgent;
-       var pattern;
-
-       for (i = 0; i < devices.length; i++) {
-               pattern = new RegExp(devices[i], 'i');
-               if (ua.search(pattern) > -1) {
-                       return true;
-               }
-       }
-       return false;
+    var ua = navigator.userAgent;
+    var pattern;
+
+    for (i = 0; i < devices.length; i++) {
+        pattern = new RegExp(devices[i], 'i');
+        if (ua.search(pattern) > -1) {
+            return true;
+        }
+    }
+    return false;
 }
 
 function redirectPDF() {
-       window.location = 'data/document.pdf';
+    window.location = 'data/document.pdf';
 }
 
 function redirectMobile() {
-       var page = '';
-       var get = parseGet();
-       var html = 'index.html';
-       if (get['widget'] !== undefined && get['widget'] == '1') {
-               html = 'widget.html';
-               page = '?widget=1&';
-               if (get['background'] != undefined) {
-                       page += "background=" + get['background'];
-               }
-       }
-       var pageNr = 0;
-       if (get.page != undefined) {
-               pageNr = parseInt(get.page);
-       }
-       if (window.location.hash != '') {
-               var e = window.location.hash.split('/');
-               var pnr = parseInt(e[1]);
-               if (!isNaN(pnr)) {
-                       pageNr = pnr;
-               }
-       }
-
-       if (page === '') {
-               page = '#/page/' + pageNr;
-       }
-
-       setTimeout(function () {
-               window.location = 'm/' + html + page;
-       }, 10);
+    var page = '';
+    var get = parseGet();
+    var html = 'index.' + INDEX_EXT;
+    if (get['widget'] !== undefined && get['widget'] == '1') {
+        html = 'widget.' + INDEX_EXT;
+        page = '?widget=1&';
+        if (get['background'] != undefined) {
+            page += "background=" + get['background'];
+        }
+    }
+    var pageNr = 0;
+    if (get.page != undefined) {
+        pageNr = parseInt(get.page);
+    }
+    if (window.location.hash != '') {
+        var e = window.location.hash.split('/');
+        var pnr = parseInt(e[1]);
+        if (!isNaN(pnr)) {
+            pageNr = pnr;
+        }
+    }
+
+    if (page === '') {
+        page = '#/page/' + pageNr;
+    }
+
+    setTimeout(function () {
+        window.location = 'm/' + html + page;
+    }, 10);
 
 }
 
 function fb(e) {
-       try {
-               console.log(e);
-       } catch (err) {
+    try {
+        console.log(e);
+    } catch (err) {
 
-       }
+    }
 }
 
 
 function wheel(event) {
-       var delta = 0;
-       if (!event) /* For IE. */
-               event = window.event;
-       if (event.wheelDelta) { /* IE/Opera. */
-               delta = event.wheelDelta / 120;
-               /** In Opera 9, delta differs in sign as compared to IE.
-                */
-               if (window.opera)
-                       delta = -delta;
-       } else if (event.detail) { /** Mozilla case. */
-               /** In Mozilla, sign of delta is different than in IE.
-                * Also, delta is multiple of 3.
-                */
-               delta = -event.detail / 3;
-       }
-       /** If delta is nonzero, handle it.
-        * Basically, delta is now positive if wheel was scrolled up,
-        * and negative, if wheel was scrolled down.
-        */
-       if (delta) {
-               handleWheel(delta);
-       }
-       /** Prevent default actions caused by mouse wheel.
-        * That might be ugly, but we handle scrolls somehow
-        * anyway, so don't bother here..
-        */
-       if (event.preventDefault) {
-               event.preventDefault();
-       }
-       event.returnValue = false;
+    var delta = 0;
+    if (!event) /* For IE. */
+        event = window.event;
+    if (event.wheelDelta) { /* IE/Opera. */
+        delta = event.wheelDelta / 120;
+        /** In Opera 9, delta differs in sign as compared to IE.
+         */
+        if (window.opera)
+            delta = -delta;
+    } else if (event.detail) { /** Mozilla case. */
+        /** In Mozilla, sign of delta is different than in IE.
+         * Also, delta is multiple of 3.
+         */
+        delta = -event.detail / 3;
+    }
+    /** If delta is nonzero, handle it.
+     * Basically, delta is now positive if wheel was scrolled up,
+     * and negative, if wheel was scrolled down.
+     */
+    if (delta) {
+        handleWheel(delta);
+    }
+    /** Prevent default actions caused by mouse wheel.
+     * That might be ugly, but we handle scrolls somehow
+     * anyway, so don't bother here..
+     */
+    if (event.preventDefault) {
+        event.preventDefault();
+    }
+    event.returnValue = false;
 }
 
 function ready() {
-       document.body.style.backgroundColor = '#' + getBackgroundColor();
-       redirect();
+    document.body.style.backgroundColor = '#' + getBackgroundColor();
+    redirect();
 }
 
 function getBackgroundColor() {
-       if (_GET['background'] != undefined) {
-               return _GET['background'];
-       } else {
-               return backgroundColor;
-       }
+    if (_GET['background'] != undefined) {
+        return _GET['background'];
+    } else {
+        return backgroundColor;
+    }
 }
 
 /** Initialization code.
  * If you use your own event management code, change it as required.
  */
 if (window.addEventListener) {
-       /** DOMMouseScroll is for mozilla. */
-       window.addEventListener('DOMMouseScroll', wheel, false);
+    /** DOMMouseScroll is for mozilla. */
+    window.addEventListener('DOMMouseScroll', wheel, false);
 }
 /** IE/Opera. */
 window.onmousewheel = document.onmousewheel = wheel;
@@ -267,59 +268,59 @@ window.onkeypress = key;
 window.onkeydown = key;
 
 function key(e) {
-       if (e.ctrlKey && (e.keyCode == 80 || e.keyCode == 112)) {
-               return false;
-       }
+    if (e.ctrlKey && (e.keyCode == 80 || e.keyCode == 112)) {
+        return false;
+    }
 
-       return true;
+    return true;
 }
 function trim(str, charlist) {
-       //  discuss at: http://phpjs.org/functions/trim/
-       // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
-       // improved by: mdsjack (http://www.mdsjack.bo.it)
-       // improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
-       // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
-       // improved by: Steven Levithan (http://blog.stevenlevithan.com)
-       // improved by: Jack
-       //    input by: Erkekjetter
-       //    input by: DxGx
-       // bugfixed by: Onno Marsman
-       //   example 1: trim('    Kevin van Zonneveld    ');
-       //   returns 1: 'Kevin van Zonneveld'
-       //   example 2: trim('Hello World', 'Hdle');
-       //   returns 2: 'o Wor'
-       //   example 3: trim(16, 1);
-       //   returns 3: 6
-
-       var whitespace, l = 0,
-                       i = 0;
-       str += '';
-
-       if (!charlist) {
-               // default list
-               whitespace =
-                               ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
-       } else {
-               // preg_quote custom list
-               charlist += '';
-               whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
-       }
-
-       l = str.length;
-       for (i = 0; i < l; i++) {
-               if (whitespace.indexOf(str.charAt(i)) === -1) {
-                       str = str.substring(i);
-                       break;
-               }
-       }
-
-       l = str.length;
-       for (i = l - 1; i >= 0; i--) {
-               if (whitespace.indexOf(str.charAt(i)) === -1) {
-                       str = str.substring(0, i + 1);
-                       break;
-               }
-       }
-
-       return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
+    //  discuss at: http://phpjs.org/functions/trim/
+    // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+    // improved by: mdsjack (http://www.mdsjack.bo.it)
+    // improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
+    // improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+    // improved by: Steven Levithan (http://blog.stevenlevithan.com)
+    // improved by: Jack
+    //    input by: Erkekjetter
+    //    input by: DxGx
+    // bugfixed by: Onno Marsman
+    //   example 1: trim('    Kevin van Zonneveld    ');
+    //   returns 1: 'Kevin van Zonneveld'
+    //   example 2: trim('Hello World', 'Hdle');
+    //   returns 2: 'o Wor'
+    //   example 3: trim(16, 1);
+    //   returns 3: 6
+
+    var whitespace, l = 0,
+        i = 0;
+    str += '';
+
+    if (!charlist) {
+        // default list
+        whitespace =
+            ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
+    } else {
+        // preg_quote custom list
+        charlist += '';
+        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
+    }
+
+    l = str.length;
+    for (i = 0; i < l; i++) {
+        if (whitespace.indexOf(str.charAt(i)) === -1) {
+            str = str.substring(i);
+            break;
+        }
+    }
+
+    l = str.length;
+    for (i = l - 1; i >= 0; i--) {
+        if (whitespace.indexOf(str.charAt(i)) === -1) {
+            str = str.substring(0, i + 1);
+            break;
+        }
+    }
+
+    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
 }
index 47953161db73f207a3c4c790316fc750075a2185..2e1fc95362481cc3a09394e7ee4fdef9ead9b5e9 100644 (file)
@@ -22,6 +22,7 @@
        }</style>
        <script type="text/javascript">
                FB_DEFAULT_LANG = '$lang';
+               INDEX_EXT = '$index_ext';
                var backgroundColor = "$bgcolor";
                function redirect() {
                        if (isMobile() || $alwaysHTML5) {
index e4573d9cb041169096e444a0078dfc32b1099d59..306c51f4021cbb28b066738d6470a237755e6ee7 100644 (file)
@@ -15,10 +15,9 @@ define('THEME', $theme);
 define('DEV', $dev);\r
 \r
 // Définition des variables dans l'environnement de production\r
-define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
+//define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
 \r
-\r
-//     define('DB_HOST', 'localhost');\r
+define('DB_HOST', '127.0.0.1');\r
 define('SERVER', 'avanger');\r
 \r
 define('DB_NAME', 'extranet');\r
index 2db5f396e07bb4c0f0f850bd5fc17126dd8d64e4..ecf9aa9ad5de0f0a0f10b6f41d981f38d57119ec 100644 (file)
@@ -387,6 +387,13 @@ class wsBookParametres extends wsParametres {
                $this->forms['theme'] = array('label' => __('Options du thème'),
                                              'fieldsnames' => array('themeEnableAfterSearch'));
 
+
+               $this->fields['htmlExtension'] = array('type' => 'text', 'default' => 'html', 'editable' => true, 'label' => __('Extension des fichiers html'), 'grade' => 5, 'hint' => __('Ex : php, htm, html, phtml, asp'), 'grade' => 5);
+               $this->fields['htmlPrepend'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __('Code à insérer en tête des fichiers'), 'grade' => 5);
+
+               $this->forms['package'] = array('label' => __('Option d\'export'),
+                                               'fieldsnames' => array('htmlExtension', 'htmlPrepend'));
+
                $this->fields['disableDemo'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Désactiver le lien de démo'), 'grade' => 5);
                $this->fields['redirectDemo'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Rediriger le lien de démo vers'), 'grade' => 5);
                $this->forms['demo'] = array('label' => __('Lien de démo'),
index 5db466c3b2eeebde629850d2dcffbd58889460dc..f45a224272b8a813001b09e4585980e1c028dfc4 100644 (file)
@@ -53,9 +53,9 @@ class wsDocument extends cubeMetier {
        protected static $resolution2multiply = array(72 => 2, 100 => 2, 150 => 3, 200 => 3, 300 => 3, 450 => 4, 600 => 5);
        // Number section styles
        protected static
-                       $numberStyles = array('NoNumber' => 'no', 'DecimalArabicNumerals' => 'decimal',
-               'UppercaseRomanNumerals' => 'roman_up', 'LowercaseRomanNumerals' => 'roman_low',
-               'UppercaseLetters' => 'letters_up', 'LowercaseLetters' => 'letters_low');
+               $numberStyles = array('NoNumber' => 'no', 'DecimalArabicNumerals' => 'decimal',
+                                     'UppercaseRomanNumerals' => 'roman_up', 'LowercaseRomanNumerals' => 'roman_low',
+                                     'UppercaseLetters' => 'letters_up', 'LowercaseLetters' => 'letters_low');
 
        public function init() {
                $this->out = WS_DOCS . '/' . $this->document_id . '/';
@@ -115,8 +115,8 @@ class wsDocument extends cubeMetier {
                $pdfinfo->setArg(null, $in);
                $pdfinfo->execute();
                $this->addToLog($pdfinfo);
-               $out.="\n";
-               $out.=$pdfinfo->output;
+               $out .= "\n";
+               $out .= $pdfinfo->output;
 
                $this->parseInfos($out);
 
@@ -331,7 +331,7 @@ class wsDocument extends cubeMetier {
                for ($i = 1; $i <= $this->generalInfos['pages']; $i++) {
                        $this->processOnePage($i);
                }
-               $this->optimizeSVG();
+               //$this->optimizeSVG();
        }
 
        public function optimizeSVG() {
@@ -483,7 +483,7 @@ class wsDocument extends cubeMetier {
                $pdftoppm->execute();
                $this->addToLog($pdftoppm, true, $page);
 
-               $tmp.='.ppm';
+               $tmp .= '.ppm';
 
                $jpegfile = $this->out . $prefix . $page . '.jpg';
 
@@ -612,11 +612,11 @@ class wsDocument extends cubeMetier {
                $xpath->registerNamespace("php", "http://php.net/xpath");
                $xpath->registerPhpFunctions('has_not_text');
                $toDelete = array('//svg:defs/svg:clipPath',
-                       '//svg:defs/svg:image',
-                       '//svg:defs/svg:pattern',
-                       '/svg:svg/svg:g/svg:g[not(svg:use[@xlink:href])]',
-                       '/svg:svg/svg:g/svg:path',
-                       '/svg:svg/svg:g/svg:rect',
+                                 '//svg:defs/svg:image',
+                                 '//svg:defs/svg:pattern',
+                                 '/svg:svg/svg:g/svg:g[not(svg:use[@xlink:href])]',
+                                 '/svg:svg/svg:g/svg:path',
+                                 '/svg:svg/svg:g/svg:rect',
                );
 
                global $svglog;
index 3b24de56bbc17e66780deae7afdd1c17cef60869..6ed7d5748c3031eedc60fc695a346ac108db5c7e 100644 (file)
@@ -5,6 +5,7 @@ class wsPackagerHTML extends wsPackager {
        protected $origHTML;
        protected $_labels = array();
        protected $_allowNeworking = 'all';
+       protected $_ext = 'html';
 
        public function __construct($book_id, $vdir = null, $whole = true) {
                parent::__construct($book_id, $vdir, $whole);
@@ -22,6 +23,8 @@ class wsPackagerHTML extends wsPackager {
        protected function preparePackage() {
                parent::preparePackage();
 
+               $this->_ext = $this->book->parametres->htmlExtension;
+
                if ($this->book->parametres->offlineExport && $this->book->parametres->pdfComplex) {
                        $versions = array('win-ins' => 'exe', 'mac-exe' => 'zip');
                        foreach ($versions as $v => $ext) {
@@ -124,7 +127,8 @@ class wsPackagerHTML extends wsPackager {
                                   'allowNetworking' => $this->_allowNeworking);
 
 
-               $this->origHTML = file_get_contents($this->vdir . '/index.html');
+               $this->origHTML = $this->book->parametres->htmlPrepend . file_get_contents($this->vdir . '/index.html');
+               unlink($this->vdir . '/index.html');
                $this->origHTML = $this->replaceHTML($toReplace);
 
                $nav1 = $this->makeHTMLNav(true);
@@ -138,17 +142,17 @@ class wsPackagerHTML extends wsPackager {
                        $pathToGetflash = 'getflash.gif';
                        $redirectScript = '';
                        if ($page == 1) {
-                               $dest = 'index.html';
+                               $dest = 'index.' . $this->_ext;
                                $title = $this->book->parametres->title;
                                $sp = '';
                        } else {
                                $label = $this->_getLabelOfPage($page);
                                $title = $label . ' - ' . $this->book->parametres->title;
-                               $dest = 'pages/' . $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.html';
+                               $dest = 'pages/' . $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.' . $this->_ext;
                                $pathToIndex = '../index.swf';
                                $pathToGetflash = '../getflash.gif';
                                $sp = '../';
-                               $redirectScript = '<script type="text/javascript">window.location=\'../index.html#/' . $page . '\';</script>';
+                               $redirectScript = '<script type="text/javascript">window.location=\'../index.' . $this->_ext . '#/' . $page . '\';</script>';
                        }
                        $alt = '';
 
@@ -175,6 +179,7 @@ class wsPackagerHTML extends wsPackager {
                        $data = str_replace('$pathToGetflash', $pathToGetflash, $data);
                        $data = str_replace('$redirectScript', $redirectScript, $data);
                        $data = str_replace('$sp', $sp, $data);
+                       $data = str_replace('$index_ext', $this->_ext, $data);
 
                        file_put_contents($this->vdir . $dest, $data);
 
@@ -183,6 +188,7 @@ class wsPackagerHTML extends wsPackager {
                        }
                }
 
+
                fb(time(), 'end prepare seo');
        }
 
@@ -203,6 +209,7 @@ class wsPackagerHTML extends wsPackager {
                        mkdir($dest, 0777, true);
                }
 
+
                $cp = new cubeCommandLine('cp');
                $cp->setPath(CONVERTER_PATH);
                $cp->setArg('r');
@@ -211,6 +218,7 @@ class wsPackagerHTML extends wsPackager {
                $cp->setArg(null, $dest);
                $cp->execute();
 
+
                $filesToAdd = array();
                if ($this->book->parametres->mobileServerConfig) {
                        $filesToAdd = array('.htaccess', 'web.config');
@@ -227,6 +235,16 @@ class wsPackagerHTML extends wsPackager {
                        $filesToDelete[] = 'data/background/*/p*.jpg';
                        $filesToDelete[] = 'data/contents/p*.svg';
                }
+               $htmlFiles = array('index', 'widget');
+
+               foreach ($htmlFiles as $name) {
+                       $html = $this->book->parametres->htmlPrepend . file_get_contents($dest . '/' . $name . '.html');
+                       file_put_contents($dest . '/' . $name . '.' . $this->_ext, $html);
+                       if ($this->_ext != 'html') {
+                               $filesToDelete[] = $name . '.html';
+                       }
+               }
+
                $rm = new cubeCommandLine('rm');
                $rm->setPath(CONVERTER_PATH);
                foreach ($filesToDelete as $f) {
@@ -250,15 +268,15 @@ class wsPackagerHTML extends wsPackager {
                        $label = $this->_getLabelOfPage($page);
                        if ($page == 1) {
                                if ($root) {
-                                       $url = 'index.html';
+                                       $url = 'index.' . $this->_ext;
                                } else {
-                                       $url = '../index.html';
+                                       $url = '../index.' . $this->_ext;
                                }
                        } else {
                                if ($root) {
-                                       $url = 'pages/' . $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.html';
+                                       $url = 'pages/' . $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.' . $this->_ext;
                                } else {
-                                       $url = $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.html';
+                                       $url = $page . '-' . mb_strtolower(cubeText::str2URL($label)) . '.' . $this->_ext;
                                }
                        }
                        $res .= '<a href="' . $url . '">' . $label . '</a>';
index 12644be5ae981f28f1878cfacd464c20a0e1d01f..0b7389f8b77de5e8f9499aa0612f814eb56c6ccb 100644 (file)
@@ -18,6 +18,7 @@ class wsPackagerHTML5 extends wsPackager {
        protected $div = array();\r
        protected static $resolutions = array(36, 72, 150);\r
        protected static $uaPrefixes = array('-moz-', '-webkit-', '-o-', '-ms-', '');\r
+       protected $_ext = 'html';\r
 \r
        public function __construct($book_id) {\r
                parent::__construct($book_id);\r
@@ -574,5 +575,3 @@ class wsPackagerHTML5 extends wsPackager {
        }\r
 \r
 }\r
-\r
-?>
\ No newline at end of file
index 38df7af169277d7a7932e33e035190fd1f2f8ede..7788191ad27a81ae7345db35b4a886aa117410a8 100644 (file)
@@ -236,6 +236,4 @@ class wsPackager {
                touch($dest, filemtime($source));
        }
 
-}
-
-?>
\ No newline at end of file
+}
\ No newline at end of file
index 1a5d7976a4aaeeaf90f14d63139a18dd534d3745..fe903376f449155c83040f417819f8e4ef1fc4c6 100644 (file)
@@ -28,6 +28,10 @@ class wsPackagerWinINST extends wsPackagerWinEXE {
                $daoLang = new wsDAOLang($core->con);\r
                $lang = $daoLang->selectById($this->book->lang);\r
 \r
+               if ($lang->nsis == 'Arabic') {\r
+                       $lang->nsis = 'English';\r
+               }\r
+\r
                $fname = str_replace('.exe', '', $this->exeName);\r
                $title = $this->book->parametres->offlineTitle == '' ? $this->book->parametres->title : $this->book->parametres->offlineTitle;\r
 \r
@@ -68,7 +72,7 @@ class wsPackagerWinINST extends wsPackagerWinEXE {
        }\r
 \r
        public function __destruct() {\r
-               \r
+\r
        }\r
 \r
 }\r