This file describes changes made on external libraries after being included in Dolibarr root. ALL: ---- Check "@CHANGE" PrestaShopWebservice: --------------------- Replace $params = array('filter', 'display', 'sort', 'limit', 'id_shop', 'id_group_shop'); With $params = array('filter', 'display', 'sort', 'limit', 'id_shop', 'id_group_shop', 'date'); CKEDITOR (4.6.2): ----------------- * In ckeditor/ckeditor/contents.css Replace: body { ... margin: 20px; With body { ... margin: 5px; ESCPOS: ------- Replace private $connector; With protected $connector; NUSOAP: ------- * In file nusoap.php, to avoid a warning, Replace if (isset($this->methodreturn) && ((get_class($this->methodreturn) == 'soap_fault') || (get_class($this->methodreturn) == 'nusoap_fault'))) { By if (! is_array($this->methodreturn) && isset($this->methodreturn) && ((get_class($this->methodreturn) == 'soap_fault') || (get_class($this->methodreturn) == 'nusoap_fault'))) { * In file nusoap.php, to avoid a warning, Replace call to serialize_val with no bugged value TCPDF: ------ * Replace in tcpdf.php: if (isset($this->imagekeys)) { foreach($this->imagekeys as $file) { unlink($file); } } with if (isset($this->imagekeys)) { foreach($this->imagekeys as $file) { // DOL CHANGE If we keep this, source image files are physically destroyed // unlink($file); } } * Replace in tcpdf.php $preserve = array( 'file_id', 'internal_encoding', 'state', 'bufferlen', 'buffer', 'cached_files', with $preserve = array( 'file_id', 'internal_encoding', 'state', 'bufferlen', 'buffer', 'cached_files', // @CHANGE DOL 'imagekeys', * Replace in tcpdf.php if (!@TCPDF_STATIC::file_exists($file)) { return false; } with if (!@TCPDF_STATIC::file_exists($file)) { // DOL CHANGE If we keep this, the image is not visible on pages after the first one. //var_dump($file.' '.(!@TCPDF_STATIC::file_exists($file))); //return false; } * Replace in tcpdf.php if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) { with // @CHANGE LDR Add support for src="file://..." links if (strpos($imgsrc, 'file://') === 0) { $imgsrc = str_replace('file://', '/', $imgsrc); $imgsrc = urldecode($imgsrc); $testscrtype = @parse_url($imgsrc); if (empty($testscrtype['query'])) { // convert URL to server path $imgsrc = str_replace(K_PATH_URL, K_PATH_MAIN, $imgsrc); } elseif (preg_match('|^https?://|', $imgsrc) !== 1) { // convert URL to server path $imgsrc = str_replace(K_PATH_MAIN, K_PATH_URL, $imgsrc); } } elseif (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) { * In tecnickcom/tcpdf/include/tcpdf_static, in function fopenLocal, replace if (strpos($filename, '://') === false) { with if (strpos($filename, '//') === 0) { // Share folder on a (windows) server // e.g.: "//[MyServerName]/[MySharedFolder]/" // // nothing to change } elseif (strpos($filename, '://') === false) * To avoid to have QRcode changed because generated with a random mask, replace define('QR_FIND_FROM_RANDOM', 2); with define('QR_FIND_FROM_RANDOM', false); * Removed useless directories ("examples", "tools") * Optionnaly, removed all fonts except dejavusans* (used by greek, arab, persan, romanian, turkish), freemono* (russian), cid*+msungstdlight+stsongstdlight+uni2cid* (chinese), helvetica* (all other languages), zapfdingbats.php (for special chars like form checkboxes) * Optionnaly, made freemono the default monotype font if we removed courier In htdocs/includes/tecnickcom/tcpdf/tcpdf.php - protected $default_monospaced_font = 'courier'; + protected $default_monospaced_font = 'freemono'; TCPDI: ------ Add fpdf_tpl.php 1.2 Add tcpdi.php Add tcpdi_parser.php and replace: require_once(dirname(__FILE__).'/include/tcpdf_filters.php'); with: require_once(dirname(__FILE__).'/../tecnickcom/tcpdf/include/tcpdf_filters.php'); * Fix by replacing } elseif (($key == '/Index') AND ($v[0] == PDF_TYPE_ARRAY AND count($v[1] >= 2))) { with } elseif (($key == '/Index') AND ($v[0] == PDF_TYPE_ARRAY AND count($v[1]) >= 2)) { JSGANTT: -------- * Replace in function JSGantt.taskLink var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth); with // LDR To open in same window //var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth); window.location.href=pRef * Replace vTmpDiv=this.newNode(vTmpCell, 'div', null, null, vTaskList[i].getResource()); with var vTmpNode=this.newNode(vTmpCell, 'div', null, ''); vTmpNode=this.newNode(vTmpNode, 'a', null, '', vLangs[vLang]['moreinfo']); vTmpNode.setAttribute('href',vTaskList[i].getLink()); * Replace '% Comp.' to have a smaller text column header 'comp':'% Comp.' with 'comp':'%' JCROP: ------ * Remove analytics tag into file index.html JQUERYFILETREE: --------------- * Remove directory htdocs/includes/jquery/plugins/jqueryFileTree/connectors PHPEXCEL: --------- * Replace in htdocs/includes/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php continue; with: continue 2; RESTLER: -------- Change content of file htdocs/includes/restler/framework/Luracast/Restler/explorer/index.html +With swagger 2: * Add line into Util.php to complete function public static function getShortName($className) { // @CHANGE LDR if (! is_string($className)) return; //var_dump($className); PARSEDOWN --------- * Add support of css by adding in Parsedown.php: // @CHANGE LDR 'class' => $Link['element']['attributes']['class'] ... // @CHANGE LDR if (preg_match('/{([^}]+)}/', $remainder, $matches2)) { $Element['attributes']['class'] = $matches2[1]; $remainder = preg_replace('/{'.preg_quote($matches2[1],'/').'}/', '', $remainder); } // @CHANGE LDR //$markup .= $this->{$Element['handler']}($Element['text']); $markup .= preg_replace('/>{[^}]+}/', '>', $this->{$Element['handler']}($Element['text'])); * Fix to avoid fatal error when mb_strlen not available: // @CHANGE LDR Fix when mb_strlen is not available //$shortage = 4 - mb_strlen($line, 'utf-8') % 4; if (function_exists('mb_strlen')) $len = mb_strlen($line, 'utf-8'); else $len = strlen($line); $shortage = 4 - $len % 4; JEDITABLE.JS ------------ *