2006-09-16 18:16:19 +02:00
2018-10-13 11:19:41 +02:00
This file describes changes made on external libraries after being included
2008-04-17 02:16:07 +02:00
in Dolibarr root.
2011-07-06 15:01:36 +02:00
2009-10-25 18:57:23 +01:00
ALL:
----
2017-07-17 20:20:38 +02:00
Check "@CHANGE"
2009-01-21 18:28:56 +01:00
2011-04-09 18:14:19 +02:00
2020-07-29 13:10:31 +02:00
2019-03-31 18:21:00 +02:00
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');
2017-02-28 10:49:58 +01:00
CKEDITOR (4.6.2):
-----------------
2016-04-22 11:09:47 +02:00
* In ckeditor/ckeditor/contents.css
Replace:
2017-02-28 10:49:58 +01:00
body { ... margin: 20px;
2016-04-22 11:09:47 +02:00
With
2017-02-28 10:49:58 +01:00
body { ... margin: 5px;
2016-04-22 11:09:47 +02:00
2019-07-15 23:25:42 +02:00
ESCPOS:
-------
Replace
private $connector;
With
protected $connector;
2010-04-13 23:33:02 +02:00
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'))) {
2011-05-04 17:19:38 +02:00
* In file nusoap.php, to avoid a warning,
Replace call to serialize_val with no bugged value
2020-12-12 15:37:15 +01:00
* In all files, replace constructor names into __construct. Replace also parent::constructor_name with parent::__construct
2010-04-13 23:33:02 +02:00
2020-12-27 19:33:07 +01:00
* Line 4222 of file nusoap.php
$rev = array();
preg_match('/\$Revision: ([^ ]+)/', $this->revision, $rev);
$this->outgoing_headers[] = "X-SOAP-Server: $this->title/$this->version (".(isset($rev[1]) ? $rev[1] : '').")";
2009-01-21 18:28:56 +01:00
2016-04-22 11:09:47 +02:00
2010-09-16 19:51:28 +02:00
TCPDF:
------
2019-11-30 17:19:25 +01:00
* 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) {
2020-02-03 06:28:04 +01:00
// DOL CHANGE If we keep this, source image files are physically destroyed
// unlink($file);
2019-11-30 17:19:25 +01:00
}
}
2020-02-03 06:28:04 +01:00
* 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;
}
2020-04-15 20:00:27 +02:00
* 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'] != '/')) {
2020-02-03 06:28:04 +01:00
2019-12-01 18:56:34 +01:00
* 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)
2016-04-08 15:09:31 +02:00
* 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);
2017-02-28 10:49:58 +01:00
* Removed useless directories ("examples", "tools")
2016-04-22 11:09:47 +02:00
* 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)
2019-02-12 04:04:57 +01:00
* Optionnaly, made freemono the default monotype font if we removed courier
2019-10-08 09:58:47 +02:00
In htdocs/includes/tecnickcom/tcpdf/tcpdf.php
2014-03-06 18:15:50 +01:00
- protected $default_monospaced_font = 'courier';
+ protected $default_monospaced_font = 'freemono';
2021-10-22 18:26:23 +02:00
* In tecnickcom/tcpdf/include/tcpdf_static, in function intToRoman, right at the beginning
of the function, replace:
$roman = '';
with:
$roman = '';
if ($number >= 4000) {
// do not represent numbers above 4000 in Roman numerals
return strval($number);
}
2011-08-11 21:12:37 +02:00
2020-02-03 06:28:04 +01:00
2015-12-20 21:28:05 +01:00
2015-03-02 01:38:40 +01:00
TCPDI:
------
Add fpdf_tpl.php 1.2
2020-07-27 13:52:19 +02:00
2015-03-02 01:38:40 +01:00
Add tcpdi.php
2018-10-24 02:32:01 +02:00
2015-03-02 01:38:40 +01:00
Add tcpdi_parser.php and replace:
require_once(dirname(__FILE__).'/include/tcpdf_filters.php');
with:
2015-11-03 11:01:22 +01:00
require_once(dirname(__FILE__).'/../tecnickcom/tcpdf/include/tcpdf_filters.php');
2015-03-02 01:38:40 +01:00
2018-10-24 02:32:01 +02:00
* 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)) {
2015-03-02 01:38:40 +01:00
2010-05-22 18:53:36 +02:00
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
2013-12-30 12:35:32 +01:00
2017-10-18 21:24:17 +02:00
* 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());
2018-05-04 11:01:22 +02:00
* Replace '% Comp.' to have a smaller text column header
'comp':'% Comp.'
with
'comp':'%'
2013-12-30 12:35:32 +01:00
JCROP:
------
* Remove analytics tag into file index.html
2014-01-20 02:21:30 +01:00
JQUERYFILETREE:
---------------
* Remove directory htdocs/includes/jquery/plugins/jqueryFileTree/connectors
2015-11-22 17:17:06 +01:00
RESTLER:
--------
2019-10-08 11:14:53 +02:00
Change content of file htdocs/includes/restler/framework/Luracast/Restler/explorer/index.html
2017-11-17 12:54:49 +01:00
+With swagger 2:
* Add line into Util.php to complete function
public static function getShortName($className)
{
// @CHANGE LDR
2020-12-23 17:25:38 +01:00
if (!is_string($className)) return;
2017-11-17 12:54:49 +01:00
//var_dump($className);
2017-11-25 02:32:25 +01:00
2020-12-23 17:25:38 +01:00
* Add line into Data/Text.php to complete function
public static function endsWith($haystack, $needle)
{
$length = strlen($needle);
if ($length == 0) {
return true;
}
// @CHANGE LDR
if (!is_string($haystack)) return false;
2017-11-25 02:32:25 +01:00
PARSEDOWN
---------
2017-12-16 12:11:46 +01:00
* 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']));
2017-11-25 02:32:25 +01:00
* 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;
2017-12-20 13:17:21 +01:00
2020-02-16 21:16:00 +01:00
OAUTH
-----
Add into Class Google of file OAuth2/Service/Google:
// LDR CHANGE Add approval_prompt to force the prompt if value is set to 'force' so it force return of a "refresh token" in addition to "standard token"
public $approvalPrompt='auto';
public function setApprouvalPrompt($prompt)
{
if (!in_array($prompt, array('auto', 'force'), true)) {
// @todo Maybe could we rename this exception
throw new InvalidAccessTypeException('Invalid approuvalPrompt, expected either auto or force.');
}
$this->approvalPrompt = $prompt;
}
2017-12-20 13:17:21 +01:00
JEDITABLE.JS
------------
* <button type="submit" /> => <button class="button" type="submit" />
* <button type="cancel" /> => <button class="button" type="cancel" />
2020-04-18 15:11:38 +02:00
SELECT2
-------
Edit CSS to restore line removed between 4.0.5 and 4.0.6. It generates this bug: https://github.com/select2/select2/issues/5832
.select2-hidden-accessible {
2020-12-17 21:41:39 +01:00
margin: -10000px !important; /* line to restore */
2020-04-18 15:11:38 +02:00
}