diff --git a/README.md b/README.md index 5feec47e56f..b68e8b65558 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # DOLIBARR ERP & CRM -![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/8.0.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) +![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…). diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index b8ddcebf18c..79b16bdbf55 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -238,9 +238,9 @@ - + diff --git a/htdocs/accountancy/admin/export.php b/htdocs/accountancy/admin/export.php index 1463d3ae8c7..3be285674b5 100644 --- a/htdocs/accountancy/admin/export.php +++ b/htdocs/accountancy/admin/export.php @@ -5,7 +5,7 @@ * Copyright (C) 2014 Marcos García * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry - * Copyright (C) 2017 Frédéric France + * Copyright (C) 2017-2018 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -50,11 +50,11 @@ $main_option = array ( $configuration = AccountancyExport::getTypeConfig(); -$listparam = $configuration[param]; +$listparam = $configuration['param']; -$listformat = $configuration[format]; +$listformat = $configuration['format']; -$listcr = $configuration[cr]; +$listcr = $configuration['cr']; $model_option = array ( @@ -117,7 +117,7 @@ if ($action == 'update') { if (! $error) { // reload $configuration = AccountancyExport::getTypeConfig(); - $listparam = $configuration[param]; + $listparam = $configuration['param']; setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } else { setEventMessages($langs->trans("Error"), null, 'errors'); @@ -142,27 +142,27 @@ print ' {'."\n"; foreach ($listparam as $key => $param) { print ' if (jQuery("#ACCOUNTING_EXPORT_MODELCSV").val()=="'.$key.'")'."\n"; print ' {'."\n"; - print ' //console.log("'.$param[label].'");'."\n"; - if (empty($param[ACCOUNTING_EXPORT_FORMAT])) { + print ' //console.log("'.$param['label'].'");'."\n"; + if (empty($param['ACCOUNTING_EXPORT_FORMAT'])) { print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$conf->global->ACCOUNTING_EXPORT_FORMAT.'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").prop("disabled", true);'."\n"; } else { - print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param[ACCOUNTING_EXPORT_FORMAT].'");'."\n"; + print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param['ACCOUNTING_EXPORT_FORMAT'].'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_SEPARATORCSV])) { + if (empty($param['ACCOUNTING_EXPORT_SEPARATORCSV'])) { print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").prop("disabled", true);'."\n"; } else { print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("'.$conf->global->ACCOUNTING_EXPORT_SEPARATORCSV.'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_ENDLINE])) { + if (empty($param['ACCOUNTING_EXPORT_ENDLINE'])) { print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").prop("disabled", true);'."\n"; } else { print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_DATE])) { + if (empty($param['ACCOUNTING_EXPORT_DATE'])) { print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_DATE").prop("disabled", true);'."\n"; } else { @@ -257,15 +257,15 @@ if ($num2) { print ''; // Param - $label = $key[label]; + $label = $key['label']; print '' . $langs->trans($label) . ''; // Value print ''; - if (is_array($key[param])) { - print $form->selectarray($label, $key[param], $conf->global->$label, 0); + if (is_array($key['param'])) { + print $form->selectarray($label, $key['param'], $conf->global->$label, 0); } else { - print ''; + print ''; } print ''; diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 23a7e71d325..e5741e940a6 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -147,6 +147,7 @@ $paymentsalstatic = new PaymentSalary($db); $paymentexpensereportstatic = new PaymentExpenseReport($db); $paymentvariousstatic = new PaymentVarious($db); $paymentloanstatic = new PaymentLoan($db); +$accountLinestatic=new AccountLine($db); // Get code of finance journal $accountingjournalstatic = new AccountingJournal($db); @@ -370,7 +371,8 @@ if ($result) { $tabpay[$obj->rowid]["paymentloanid"] = $paymentloanstatic->id; //$tabtp[$obj->rowid][$account_pay_loan] += $obj->amount; } else if ($links[$key]['type'] == 'banktransfert') { - $tabpay[$obj->rowid]["lib"] .= ' ' . $langs->trans("BankTransfer"); + $accountLinestatic->fetch($links[$key]['url_id']); + $tabpay[$obj->rowid]["lib"] .= ' '.$langs->trans("BankTransfer").'- ' .$accountLinestatic ->getNomUrl(1); $tabtp[$obj->rowid][$account_transfer] += $obj->amount; $bankaccountstatic->fetch($tabpay[$obj->rowid]['fk_bank_account']); $tabpay[$obj->rowid]["soclib"] = $bankaccountstatic->getNomUrl(2); diff --git a/htdocs/adherents/admin/website.php b/htdocs/adherents/admin/website.php index 31d9c43afbb..be519b0be30 100644 --- a/htdocs/adherents/admin/website.php +++ b/htdocs/adherents/admin/website.php @@ -19,7 +19,7 @@ */ /** - * \file htdocs/adherents/admin/public.php + * \file htdocs/adherents/admin/website.php * \ingroup member * \brief File of main public page for member module * \author Laurent Destailleur diff --git a/htdocs/admin/dolistore/ajax/image.php b/htdocs/admin/dolistore/ajax/image.php index 043d24e8376..c1bb4e997dc 100644 --- a/htdocs/admin/dolistore/ajax/image.php +++ b/htdocs/admin/dolistore/ajax/image.php @@ -20,9 +20,9 @@ if (!defined('REQUIRE_JQUERY_BLOCKUI')) define('REQUIRE_JQUERY_BLOCKUI', 1); /** - * \file htdocs/admin/dolistore/ajax.php + * \file htdocs/admin/dolistore/ajax/image.php * \ingroup admin - * \brief Page des informations dolistore + * \brief Page des informations dolistore */ require "../../../main.inc.php"; @@ -56,4 +56,3 @@ try { else if ($trace[0]['args'][0] == 401) die('Bad auth key'); else die('Can not access to '.$conf->global->MAIN_MODULE_DOLISTORE_API_SRV); } - diff --git a/htdocs/admin/dolistore/class/dolistore.class.php b/htdocs/admin/dolistore/class/dolistore.class.php index cdbe461edde..c4dae079c3c 100644 --- a/htdocs/admin/dolistore/class/dolistore.class.php +++ b/htdocs/admin/dolistore/class/dolistore.class.php @@ -25,9 +25,18 @@ include_once DOL_DOCUMENT_ROOT.'/admin/dolistore/class/PSWebServiceLibrary.class */ class Dolistore { - // params - public $start; // beginning of pagination - public $end; // end of pagination + /** + * beginning of pagination + * @var int + */ + + public $start; + /** + * end of pagination + * @var int + */ + public $end; + public $per_page; // pagination: display per page public $categorie; // the current categorie public $search; // the search keywords @@ -284,20 +293,37 @@ class Dolistore return $html; } + /** + * get previous link + * + * @param string $text symbol previous + * @return string html previous link + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function get_previous_link($text = '<<') { return ''.$text.''; } + /** + * get next link + * + * @param string $text symbol next + * @return string html next link + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function get_next_link($text = '>>') { return ''.$text.''; } + /** + * get previous url + * + * @return string previous url + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps - function get_previous_url() + function get_previous_url() { $param_array = array(); if ($this->start < $this->per_page) { @@ -314,6 +340,11 @@ class Dolistore return $this->url."&".$param; } + /** + * get next url + * + * @return string next url + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function get_next_url() { @@ -332,6 +363,13 @@ class Dolistore return $this->url."&".$param; } + /** + * version compare + * + * @param string $v1 version 1 + * @param string $v2 version 2 + * @return int result of compare + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function version_compare($v1, $v2) { diff --git a/htdocs/admin/oauthlogintokens.php b/htdocs/admin/oauthlogintokens.php index e2219ad4813..5bfda4f2c9c 100644 --- a/htdocs/admin/oauthlogintokens.php +++ b/htdocs/admin/oauthlogintokens.php @@ -17,7 +17,7 @@ */ /** - * \file htdocs/admin/oauthlogintoken.php + * \file htdocs/admin/oauthlogintokens.php * \ingroup oauth * \brief Setup page to configure oauth access to login information */ diff --git a/htdocs/admin/receiptprinter.php b/htdocs/admin/receiptprinter.php index b250bf28a87..9205d49deae 100644 --- a/htdocs/admin/receiptprinter.php +++ b/htdocs/admin/receiptprinter.php @@ -52,6 +52,12 @@ if (!$mode) $mode='config'; // used in library escpos maybe useful if php doesn't support gzdecode if (!function_exists('gzdecode')) { + /** + * Gzdecode + * + * @param string $data data to deflate + * @return string data deflated + */ function gzdecode($data) { return gzinflate(substr($data,10,-8)); @@ -450,4 +456,3 @@ if ($mode == 'template' && $user->admin) // End of page llxFooter(); $db->close(); - diff --git a/htdocs/admin/ticket_extrafields.php b/htdocs/admin/ticket_extrafields.php index 07ace9fea0c..6fa70808ec8 100644 --- a/htdocs/admin/ticket_extrafields.php +++ b/htdocs/admin/ticket_extrafields.php @@ -16,9 +16,9 @@ */ /** - * \file ticket/admin/ticket_extrafields.php - * \ingroup ticket - * \brief Page to setup extra fields of ticket + * \file admin/ticket_extrafields.php + * \ingroup ticket + * \brief Page to setup extra fields of ticket */ require '../main.inc.php'; diff --git a/htdocs/api/class/api_login.class.php b/htdocs/api/class/api_login.class.php index 797cd2429d5..86d1cfff87c 100644 --- a/htdocs/api/class/api_login.class.php +++ b/htdocs/api/class/api_login.class.php @@ -26,6 +26,9 @@ require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; class Login { + /** + * Constructor of the class + */ function __construct() { global $db; diff --git a/htdocs/asset/card.php b/htdocs/asset/card.php index 50e09831bff..3a03dc21060 100644 --- a/htdocs/asset/card.php +++ b/htdocs/asset/card.php @@ -17,7 +17,7 @@ */ /** - * \file card.php + * \file htdocs/asset/card.php * \ingroup asset * \brief Page to create/edit/view asset */ diff --git a/htdocs/asset/document.php b/htdocs/asset/document.php index 92efa8918ee..784f65aa220 100644 --- a/htdocs/asset/document.php +++ b/htdocs/asset/document.php @@ -17,7 +17,7 @@ */ /** - * \file document.php + * \file htdocs/asset/document.php * \ingroup asset * \brief Tab for documents linked to Assets */ diff --git a/htdocs/asset/info.php b/htdocs/asset/info.php index e8820ee5cfa..9cc9495c1b9 100644 --- a/htdocs/asset/info.php +++ b/htdocs/asset/info.php @@ -16,7 +16,7 @@ */ /** - * \file info.php + * \file htdocs/asset/info.php * \ingroup asset * \brief Page to show an asset information */ diff --git a/htdocs/asset/list.php b/htdocs/asset/list.php index bcc2329f870..7e59ad4647f 100644 --- a/htdocs/asset/list.php +++ b/htdocs/asset/list.php @@ -18,7 +18,7 @@ */ /** - * \file list.php + * \file htdocs/asset/list.php * \ingroup asset * \brief List page for asset */ diff --git a/htdocs/asset/note.php b/htdocs/asset/note.php index 775b3e8747e..e95e62aeaa4 100644 --- a/htdocs/asset/note.php +++ b/htdocs/asset/note.php @@ -17,7 +17,7 @@ */ /** - * \file note.php + * \file htdocs/asset/note.php * \ingroup asset * \brief Card with notes on Asset */ diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index f5c61751e35..433b05aceeb 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -805,7 +805,7 @@ class Categorie extends CommonObject * * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member') * @param int $onlyids Return only ids of objects (consume less memory) - * @return mixed -1 if KO, array of instance of object if OK + * @return array|int -1 if KO, array of instance of object if OK * @see containsObject */ function getObjectsInCateg($type, $onlyids=0) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index cce61c10b1d..d59ccc63d1c 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -1578,7 +1578,7 @@ class Propal extends CommonObject $sql = 'SELECT d.rowid, d.fk_propal, d.fk_parent_line, d.label as custom_label, d.description, d.price, d.vat_src_code, d.tva_tx, d.localtax1_tx, d.localtax2_tx, d.localtax1_type, d.localtax2_type, d.qty, d.fk_remise_except, d.remise_percent, d.subprice, d.fk_product,'; $sql.= ' d.info_bits, d.total_ht, d.total_tva, d.total_localtax1, d.total_localtax2, d.total_ttc, d.fk_product_fournisseur_price as fk_fournprice, d.buy_price_ht as pa_ht, d.special_code, d.rang, d.product_type,'; $sql.= ' d.fk_unit,'; - $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label, p.tobach as product_batch,'; + $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label, p.tobatch as product_batch,'; $sql.= ' p.weight, p.weight_units, p.volume, p.volume_units,'; $sql.= ' d.date_start, d.date_end,'; $sql.= ' d.fk_multicurrency, d.multicurrency_code, d.multicurrency_subprice, d.multicurrency_total_ht, d.multicurrency_total_tva, d.multicurrency_total_ttc'; diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index 98c53c92b20..0bc58a64e64 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -16,7 +16,7 @@ */ /** - * \file htdocs/core/class/fiscalyear.php + * \file htdocs/core/class/fiscalyear.class.php * \ingroup fiscal year * \brief File of class to manage fiscal years */ @@ -32,12 +32,12 @@ class Fiscalyear extends CommonObject * @var string ID to identify managed object */ public $element='fiscalyear'; - + /** * @var string Name of table without prefix where object is stored */ public $table_element='accounting_fiscalyear'; - + public $table_element_line = ''; public $fk_element = ''; public $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -48,7 +48,7 @@ class Fiscalyear extends CommonObject * @var string proper name for given parameter */ public $label; - + var $date_start; var $date_end; var $datec; diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index 820c22cd3cb..2a791dc9a0e 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -34,10 +34,16 @@ class Ldap */ public $error=''; + /** + * @var string[] Array of error strings + */ + public $errors = array(); + /** * Tableau des serveurs (IP addresses ou nom d'hotes) */ var $server=array(); + /** * Base DN (e.g. "dc=foo,dc=com") */ diff --git a/htdocs/core/lib/asset.lib.php b/htdocs/core/lib/asset.lib.php index 5953c8b9420..7a4fd80158c 100644 --- a/htdocs/core/lib/asset.lib.php +++ b/htdocs/core/lib/asset.lib.php @@ -16,7 +16,7 @@ */ /** - * \file core/lib/assets.lib.php + * \file htdocs/core/lib/asset.lib.php * \ingroup asset * \brief Library files with common functions for Assets */ @@ -24,7 +24,7 @@ /** * Prepare admin pages header * - * @return array + * @return array head array with tabs */ function AssetsAdminPrepareHead() { @@ -65,6 +65,11 @@ function AssetsAdminPrepareHead() return $head; } +/** + * Prepare admin pages header + * + * @return array head array with tabs + */ function AssetsPrepareHead() { global $langs, $conf; diff --git a/htdocs/core/lib/fichinter.lib.php b/htdocs/core/lib/fichinter.lib.php index 8d5cd9c8495..e55aaeb7516 100644 --- a/htdocs/core/lib/fichinter.lib.php +++ b/htdocs/core/lib/fichinter.lib.php @@ -163,6 +163,12 @@ function fichinter_admin_prepare_head() return $head; } +/** + * Prepare array with list of tabs + * + * @param Object $object Object related to tabs + * @return array Array of tabs to show + */ function fichinter_rec_prepare_head($object) { global $langs, $conf; //, $user; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 412b1427f46..aa4f36acf15 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -607,19 +607,19 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu } -/** - * Return a prefix to use for this Dolibarr instance, for session/cookie names or email id. - * This prefix is valid in a web context only and is unique for instance and avoid conflict - * between multi-instances, even when having two instances with one root dir or two instances - * in virtual servers. - * - * @param string $mode '' (prefix for session name) or 'email' (prefix for email id) - * @return string A calculated prefix - */ if (! function_exists('dol_getprefix')) { - function dol_getprefix($mode='') - { + /** + * Return a prefix to use for this Dolibarr instance, for session/cookie names or email id. + * This prefix is valid in a web context only and is unique for instance and avoid conflict + * between multi-instances, even when having two instances with one root dir or two instances + * in virtual servers. + * + * @param string $mode '' (prefix for session name) or 'email' (prefix for email id) + * @return string A calculated prefix + */ + function dol_getprefix($mode='') + { global $conf; // If MAIL_PREFIX_FOR_EMAIL_ID is set and prefix is for email diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 4553fec4641..783e6a0cb35 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1167,6 +1167,14 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m return $numFinal; } +/** + * Get string between + * + * @param string $string String to test + * @param int $start Value for start + * @param int $end Value for end + * @return string Return part of string + */ function get_string_between($string, $start, $end) { $string = " ".$string; diff --git a/htdocs/core/lib/invoice.lib.php b/htdocs/core/lib/invoice.lib.php index 451ac0731ef..94eb4527b74 100644 --- a/htdocs/core/lib/invoice.lib.php +++ b/htdocs/core/lib/invoice.lib.php @@ -169,6 +169,12 @@ function invoice_admin_prepare_head() } +/** + * Return array head with list of tabs to view object informations. + * + * @param Facture $object Invoice object + * @return array head array with tabs + */ function invoice_rec_prepare_head($object) { global $db, $langs, $conf; diff --git a/htdocs/core/lib/resource.lib.php b/htdocs/core/lib/resource.lib.php index 6dcc7825153..4b1acdf657b 100644 --- a/htdocs/core/lib/resource.lib.php +++ b/htdocs/core/lib/resource.lib.php @@ -87,6 +87,11 @@ function resource_prepare_head($object) return $head; } +/** + * Prepare head for admin tabs + * + * @return array Array of head entries + */ function resource_admin_prepare_head() { diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index b6a348ea91d..a23661f2f02 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -103,12 +103,12 @@ function checkLoginPassEntity($usertotest,$passwordtotest,$entitytotest,$authmod } else { - dol_syslog("Authentification ko - failed to load file '".$authfile."'",LOG_ERR); + dol_syslog("Authentification ko - failed to load file '".$authfile."'", LOG_ERR); sleep(1); $langs->load('main'); $langs->load('other'); $langs->load('errors'); - $_SESSION["dol_loginmesg"]=$langs->trans("ErrorFailedToLoadLoginFileForMode",$mode); + $_SESSION["dol_loginmesg"]=$langs->trans("ErrorFailedToLoadLoginFileForMode", $mode); } } } @@ -118,18 +118,18 @@ function checkLoginPassEntity($usertotest,$passwordtotest,$entitytotest,$authmod } -/** - * Show Dolibarr default login page. - * Part of this code is also duplicated into main.inc.php::top_htmlhead - * - * @param Translate $langs Lang object (must be initialized by a new). - * @param Conf $conf Conf object - * @param Societe $mysoc Company object - * @return void - */ if (! function_exists('dol_loginfunction')) { - function dol_loginfunction($langs,$conf,$mysoc) + /** + * Show Dolibarr default login page. + * Part of this code is also duplicated into main.inc.php::top_htmlhead + * + * @param Translate $langs Lang object (must be initialized by a new). + * @param Conf $conf Conf object + * @param Societe $mysoc Company object + * @return void + */ + function dol_loginfunction($langs,$conf,$mysoc) { global $dolibarr_main_demo,$db; global $smartphone,$hookmanager; @@ -510,4 +510,3 @@ function getRandomPassword($generic=false) return $generated_password; } - diff --git a/htdocs/core/lib/ticket.lib.php b/htdocs/core/lib/ticket.lib.php index 6ae66803c39..19e8cb3002f 100644 --- a/htdocs/core/lib/ticket.lib.php +++ b/htdocs/core/lib/ticket.lib.php @@ -160,9 +160,9 @@ function llxHeaderTicket($title, $head = "", $disablejs = 0, $disablehead = 0, $ $urllogo = DOL_URL_ROOT . '/theme/login_logo.png'; if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output . '/logos/thumbs/' . $mysoc->logo_small)) { - $urllogo = DOL_URL_ROOT . '/viewimage.php?cache=1&modulepart=companylogo&file=' . urlencode('thumbs/' . $mysoc->logo_small); + $urllogo = DOL_URL_ROOT . '/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file=' . urlencode('thumbs/' . $mysoc->logo_small); } elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output . '/logos/' . $mysoc->logo)) { - $urllogo = DOL_URL_ROOT . '/viewimage.php?cache=1&modulepart=companylogo&file=' . urlencode($mysoc->logo); + $urllogo = DOL_URL_ROOT . '/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file=' . urlencode($mysoc->logo); $width = 128; } elseif (is_readable(DOL_DOCUMENT_ROOT . '/theme/dolibarr_logo.png')) { $urllogo = DOL_URL_ROOT . '/theme/dolibarr_logo.png'; @@ -175,20 +175,3 @@ function llxHeaderTicket($title, $head = "", $disablejs = 0, $disablehead = 0, $ print '
'; } - -/** - * Show footer for new member - * - * @return void - */ -function llxFooterTicket() -{ - print '
'; - - printCommonFooter('public'); - - dol_htmloutput_events(); - - print "\n"; - print "\n"; -} diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index f2ea6c7802c..42be08bfe34 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -6,6 +6,7 @@ * Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Raphaël Doursenaud + * Copyright (C) 2018 Josep Lluís Amador * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1332,7 +1333,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it // Search if cron entry already present $sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."cronjob"; - $sql.= " WHERE module_name = '".$this->db->escape($this->rights_class)."'"; + $sql.= " WHERE module_name = '".$this->db->escape(empty($this->rights_class)?strtolower($this->name):$this->rights_class)."'"; if ($class) $sql.= " AND classesname = '".$this->db->escape($class)."'"; if ($objectname) $sql.= " AND objectname = '".$this->db->escape($objectname)."'"; if ($method) $sql.= " AND methodename = '".$this->db->escape($method)."'"; @@ -1358,7 +1359,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it if(is_int($status)){ $sql.= ' status,'; } $sql.= " entity, test)"; $sql.= " VALUES ("; - $sql.= "'".$this->db->escape($this->rights_class)."', "; + $sql.= "'".$this->db->escape(empty($this->rights_class)?strtolower($this->name):$this->rights_class)."', "; $sql.= "'".$this->db->idate($now)."', "; $sql.= ($datestart ? "'".$this->db->idate($datestart)."'" : "NULL").", "; $sql.= ($dateend ? "'".$this->db->idate($dateend)."'" : "NULL").", "; @@ -1422,7 +1423,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it if (is_array($this->cronjobs)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."cronjob"; - $sql.= " WHERE module_name = '".$this->db->escape($this->rights_class)."'"; + $sql.= " WHERE module_name = '".$this->db->escape(empty($this->rights_class)?strtolower($this->name):$this->rights_class)."'"; $sql.= " AND entity = ".$conf->entity; dol_syslog(get_class($this)."::delete_cronjobs", LOG_DEBUG); @@ -1806,7 +1807,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it $err=0; $sql = "DELETE FROM ".MAIN_DB_PREFIX."rights_def"; - $sql.= " WHERE module = '".$this->db->escape($this->rights_class)."'"; + $sql.= " WHERE module = '".$this->db->escape(empty($this->rights_class)?strtolower($this->name):$this->rights_class)."'"; $sql.= " AND entity = ".$conf->entity; dol_syslog(get_class($this)."::delete_permissions", LOG_DEBUG); if (! $this->db->query($sql)) @@ -1845,7 +1846,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it $menu->menu_handler='all'; //$menu->module=strtolower($this->name); TODO When right_class will be same than module name - $menu->module=$this->rights_class; + $menu->module=empty($this->rights_class)?strtolower($this->name):$this->rights_class; if (! $this->menu[$key]['fk_menu']) { @@ -1942,7 +1943,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it $err=0; //$module=strtolower($this->name); TODO When right_class will be same than module name - $module=$this->rights_class; + $module=empty($this->rights_class)?strtolower($this->name):$this->rights_class; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu"; $sql.= " WHERE module = '".$this->db->escape($module)."'"; diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index ee2dca6e0fd..c7f741e3022 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -38,7 +38,7 @@ class html_cerfafr extends ModeleDon /** * Constructor * - * @param DoliDb $db Database handler + * @param DoliDb $db Database handler */ function __construct($db) { @@ -168,7 +168,7 @@ class html_cerfafr extends ModeleDon $form = str_replace('__DATE__',dol_print_date($don->date,'day',false,$outputlangs),$form); //$form = str_replace('__IP__',$user->ip,$form); // TODO $user->ip not exist $form = str_replace('__AMOUNT__', price($don->amount), $form); - $form = str_replace('__AMOUNTLETTERS__',chiffre_en_lettre($don->amount),$form); + $form = str_replace('__AMOUNTLETTERS__',amountToLetters($don->amount),$form); $form = str_replace('__CURRENCY__',$outputlangs->transnoentitiesnoconv("Currency".$currency),$form); $form = str_replace('__CURRENCYCODE__',$conf->currency,$form); $form = str_replace('__MAIN_INFO_SOCIETE_NOM__',$mysoc->name,$form); @@ -279,8 +279,15 @@ class html_cerfafr extends ModeleDon } } -// phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps -function chiffre_en_lettre($montant, $devise1='', $devise2='') +/** + * numbers to letters + * + * @param mixed $montant amount + * @param mixed $devise1 devise 1 ex: euro + * @param mixed $devise2 devise 2 ex: centimes + * @return string amount in letters + */ +function amountToLetters($montant, $devise1='', $devise2='') { if(empty($devise1)) $dev1='euros'; else $dev1=$devise1; diff --git a/htdocs/core/modules/modVariants.class.php b/htdocs/core/modules/modVariants.class.php index 19c50d8843e..faac67da78c 100644 --- a/htdocs/core/modules/modVariants.class.php +++ b/htdocs/core/modules/modVariants.class.php @@ -22,9 +22,8 @@ /** * \defgroup produit Module product variants * \brief Module to manage product combinations based on product attributes - * \file htdocs/core/modules/modAttributes.class.php + * \file htdocs/core/modules/modVariants.class.php * \ingroup produit - * \brief File to describe module to manage catalog of predefined products */ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; @@ -110,4 +109,3 @@ class modVariants extends DolibarrModules $this->rights = array(); // Permission array used by this module } } - diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index e3959497a34..25f3feba815 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -423,10 +423,18 @@ class doc_generic_user_odt extends ModelePDFUser return -1; } + /** + * get substitution array for object + * + * @param User $object user + * @param Translation $outputlangs translation object + * @param string $array_key key for array + * @return array array of substitutions + */ // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function get_substitutionarray_object($object,$outputlangs,$array_key='object') { - $array_other=array(); + $array_other = array(); foreach($object as $key => $value) { if (!is_array($value) && !is_object($value)) { $array_other[$array_key.'_'.$key] = $value; diff --git a/htdocs/dav/dav.class.php b/htdocs/dav/dav.class.php index 3a7d4b84801..7c457208455 100644 --- a/htdocs/dav/dav.class.php +++ b/htdocs/dav/dav.class.php @@ -34,11 +34,18 @@ class CdavLib private $langs; + /** + * Constructor + * + * @param User $user user + * @param DoliDB $db Database handler + * @param Translation $langs translation + */ function __construct($user, $db, $langs) { - $this->user = $user; - $this->db = $db; - $this->langs = $langs; + $this->user = $user; + $this->db = $db; + $this->langs = $langs; } /** diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 863efe96a93..8a46f14c829 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -478,10 +478,12 @@ class Expedition extends CommonObject $sql.= ", e.note_private, e.note_public"; $sql.= ', e.fk_incoterms, e.location_incoterms'; $sql.= ', i.libelle as libelle_incoterms'; + $sql.= ', s.libelle as shipping_method'; $sql.= ", el.fk_source as origin_id, el.sourcetype as origin"; $sql.= " FROM ".MAIN_DB_PREFIX."expedition as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = e.rowid AND el.targettype = '".$this->db->escape($this->element)."'"; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON e.fk_incoterms = i.rowid'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_shipment_mode as s ON e.fk_shipping_method = s.rowid'; $sql.= " WHERE e.entity IN (".getEntity('expedition').")"; if ($id) $sql.= " AND e.rowid=".$id; if ($ref) $sql.= " AND e.ref='".$this->db->escape($ref)."'"; @@ -499,9 +501,9 @@ class Expedition extends CommonObject $this->id = $obj->rowid; $this->ref = $obj->ref; $this->socid = $obj->socid; - $this->ref_customer = $obj->ref_customer; - $this->ref_ext = $obj->ref_ext; - $this->ref_int = $obj->ref_int; + $this->ref_customer = $obj->ref_customer; + $this->ref_ext = $obj->ref_ext; + $this->ref_int = $obj->ref_int; $this->statut = $obj->fk_statut; $this->user_author_id = $obj->fk_user_author; $this->date_creation = $this->db->jdate($obj->date_creation); @@ -511,12 +513,13 @@ class Expedition extends CommonObject $this->date_delivery = $this->db->jdate($obj->date_delivery); // Date planed $this->fk_delivery_address = $obj->fk_address; $this->modelpdf = $obj->model_pdf; - $this->shipping_method_id = $obj->fk_shipping_method; + $this->shipping_method_id = $obj->fk_shipping_method; + $this->shipping_method = $obj->shipping_method; $this->tracking_number = $obj->tracking_number; $this->origin = ($obj->origin?$obj->origin:'commande'); // For compatibility $this->origin_id = $obj->origin_id; $this->billed = $obj->billed; - $this->fk_project = $obj->fk_projet; + $this->fk_project = $obj->fk_projet; $this->trueWeight = $obj->weight; $this->weight_units = $obj->weight_units; @@ -532,13 +535,13 @@ class Expedition extends CommonObject $this->note_private = $obj->note_private; // A denormalized value - $this->trueSize = $obj->size."x".$obj->width."x".$obj->height; + $this->trueSize = $obj->size."x".$obj->width."x".$obj->height; $this->size_units = $obj->size_units; //Incoterms - $this->fk_incoterms = $obj->fk_incoterms; - $this->location_incoterms = $obj->location_incoterms; - $this->libelle_incoterms = $obj->libelle_incoterms; + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; $this->db->free($result); diff --git a/htdocs/expensereport/class/expensereport_ik.class.php b/htdocs/expensereport/class/expensereport_ik.class.php index 609ba42c5f5..425851cb6e4 100644 --- a/htdocs/expensereport/class/expensereport_ik.class.php +++ b/htdocs/expensereport/class/expensereport_ik.class.php @@ -33,12 +33,12 @@ class ExpenseReportIk extends CoreObject * @var string ID to identify managed object */ public $element='expenseik'; - + /** * @var string Name of table without prefix where object is stored */ public $table_element='expensereport_ik'; - + public $fk_element='fk_expense_ik'; /** @@ -128,8 +128,15 @@ class ExpenseReportIk extends CoreObject return $categories; } - public static function getRangeByUser(User $userauthor, $fk_c_exp_tax_cat) - { + /** + * Return an array of ranges for a user + * + * @param User $userauthor user author id + * @param int $fk_c_exp_tax_cat category + * @return boolean|array + */ + public static function getRangeByUser(User $userauthor, $fk_c_exp_tax_cat) + { $default_range = (int) $userauthor->default_range; // if not defined, then 0 $ranges = self::getRangesByCategory($fk_c_exp_tax_cat); diff --git a/htdocs/loan/class/loanschedule.class.php b/htdocs/loan/class/loanschedule.class.php index 5ca9a288721..be27fff9894 100644 --- a/htdocs/loan/class/loanschedule.class.php +++ b/htdocs/loan/class/loanschedule.class.php @@ -190,37 +190,35 @@ class LoanSchedule extends CommonObject dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql=$this->db->query($sql); - if ($resql) - { - if ($this->db->num_rows($resql)) - { - $obj = $this->db->fetch_object($resql); + if ($resql) { + if ($this->db->num_rows($resql)) { + $obj = $this->db->fetch_object($resql); - $this->id = $obj->rowid; - $this->ref = $obj->rowid; + $this->id = $obj->rowid; + $this->ref = $obj->rowid; - $this->fk_loan = $obj->fk_loan; - $this->datec = $this->db->jdate($obj->datec); - $this->tms = $this->db->jdate($obj->tms); - $this->datep = $this->db->jdate($obj->datep); - $this->amount_capital = $obj->amount_capital; - $this->amount_insurance = $obj->amount_insurance; - $this->amount_interest = $obj->amount_interest; - $this->fk_typepayment = $obj->fk_typepayment; - $this->num_payment = $obj->num_payment; - $this->note_private = $obj->note_private; - $this->note_public = $obj->note_public; - $this->fk_bank = $obj->fk_bank; - $this->fk_user_creat = $obj->fk_user_creat; - $this->fk_user_modif = $obj->fk_user_modif; + $this->fk_loan = $obj->fk_loan; + $this->datec = $this->db->jdate($obj->datec); + $this->tms = $this->db->jdate($obj->tms); + $this->datep = $this->db->jdate($obj->datep); + $this->amount_capital = $obj->amount_capital; + $this->amount_insurance = $obj->amount_insurance; + $this->amount_interest = $obj->amount_interest; + $this->fk_typepayment = $obj->fk_typepayment; + $this->num_payment = $obj->num_payment; + $this->note_private = $obj->note_private; + $this->note_public = $obj->note_public; + $this->fk_bank = $obj->fk_bank; + $this->fk_user_creat = $obj->fk_user_creat; + $this->fk_user_modif = $obj->fk_user_modif; - $this->type_code = $obj->type_code; - $this->type_libelle = $obj->type_libelle; + $this->type_code = $obj->type_code; + $this->type_libelle = $obj->type_libelle; - $this->bank_account = $obj->fk_account; - $this->bank_line = $obj->fk_bank; - } - $this->db->free($resql); + $this->bank_account = $obj->fk_account; + $this->bank_line = $obj->fk_bank; + } + $this->db->free($resql); return 1; } @@ -374,14 +372,25 @@ class LoanSchedule extends CommonObject } } +<<<<<<< HEAD // phpcs:ignore PEAR.NamingConventions.ValidFunctionName.NotCamelCaps function calc_mens($capital,$rate,$nbterm) +======= + /** + * Calculate mensuality + * + * @param double $capital Capital + * @param double $rate rate + * @param int $nbterm nb term + * @return double mensuality + */ + function calc_mens($capital, $rate, $nbterm) +>>>>>>> upstream/develop { $result=''; - if (!empty($capital)&&!empty($rate)&&!empty($nbterm)) - { - $result=($capital*($rate/12))/(1-pow((1+($rate/12)),($nbterm*-1))); + if (!empty($capital) && !empty($rate) && !empty($nbterm)) { + $result = ($capital*($rate/12))/(1-pow((1+($rate/12)),($nbterm*-1))); } return $result; diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 2c11b8efd86..135c4797153 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1067,11 +1067,14 @@ else print $formproduct->select_measuring_units("surface_units","surface"); print ''; } - // Volume - print ''.$langs->trans("Volume").''; - print ''; - print $formproduct->select_measuring_units("volume_units","volume"); - print ''; + if (empty($conf->global->PRODUCT_DISABLE_VOLUME)) + { + // Volume + print ''.$langs->trans("Volume").''; + print ''; + print $formproduct->select_measuring_units("volume_units","volume"); + print ''; + } } // Units diff --git a/htdocs/product/class/propalmergepdfproduct.class.php b/htdocs/product/class/propalmergepdfproduct.class.php index 6321958dd75..75fe5282bd1 100644 --- a/htdocs/product/class/propalmergepdfproduct.class.php +++ b/htdocs/product/class/propalmergepdfproduct.class.php @@ -654,6 +654,9 @@ class PropalmergepdfproductLine var $tms=''; var $import_key; + /** + * Constructor + */ function __construct() { return 1; diff --git a/htdocs/product/inventory/lib/inventory.lib.php b/htdocs/product/inventory/lib/inventory.lib.php index aa8c9c9677d..d6230e4f3e7 100644 --- a/htdocs/product/inventory/lib/inventory.lib.php +++ b/htdocs/product/inventory/lib/inventory.lib.php @@ -25,7 +25,7 @@ /** * Define head array for tabs of inventory tools setup pages * - * @return Array of head + * @return array Array of head */ function inventoryAdminPrepareHead() { @@ -40,7 +40,7 @@ function inventoryAdminPrepareHead() $head[$h][1] = $langs->trans("Parameters"); $head[$h][2] = 'settings'; $h++; - + // Show more tabs from modules // Entries must be declared in modules descriptor with line @@ -55,10 +55,19 @@ function inventoryAdminPrepareHead() return $head; } +/** + * Define head array for tabs of inventory tools setup pages + * + * @param Inventory $inventory Object inventory + * @param string $title parameter + * @param string $get parameter + * + * @return array Array of head + */ function inventoryPrepareHead(&$inventory, $title='Inventory', $get='') { global $langs; - + return array( array(dol_buildpath('/product/inventory/card.php?id='.$inventory->id.$get, 1), $langs->trans($title),'inventory') ); @@ -66,26 +75,33 @@ function inventoryPrepareHead(&$inventory, $title='Inventory', $get='') +/** + * Define head array for tabs of inventory tools setup pages + * + * @param Inventory $inventory Object inventory + * + * @return string html of products + */ function inventorySelectProducts(&$inventory) { global $conf,$db,$langs; - + $except_product_id = array(); - + foreach ($inventory->Inventorydet as $Inventorydet) { $except_product_id[] = $Inventorydet->fk_product; } - + ob_start(); $form = new Form($db); $form->select_produits(-1, 'fk_product'); - + $TChildWarehouses = array($inventory->fk_warehouse); $e = new Entrepot($db); $e->fetch($inventory->fk_warehouse); if(method_exists($e, 'get_children_warehouses')) $e->get_children_warehouses($e->id, $TChildWarehouses); - + $Tab = array(); $sql = 'SELECT rowid, label FROM '.MAIN_DB_PREFIX.'entrepot WHERE rowid IN('.implode(', ', $TChildWarehouses).')'; @@ -96,9 +112,8 @@ function inventorySelectProducts(&$inventory) } print '   '; print $langs->trans('Warehouse').' : '.$form::selectarray('fk_warehouse', $Tab); - + $select_html = ob_get_clean(); - + return $select_html; } - diff --git a/htdocs/projet/class/projectstats.class.php b/htdocs/projet/class/projectstats.class.php index 22793fd844e..472fb26eaf0 100644 --- a/htdocs/projet/class/projectstats.class.php +++ b/htdocs/projet/class/projectstats.class.php @@ -29,7 +29,12 @@ class ProjectStats extends Stats public $socid; public $year; - function __construct($db) + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) { global $conf, $user; diff --git a/htdocs/projet/class/taskstats.class.php b/htdocs/projet/class/taskstats.class.php index 20a3a67d1d3..84633944250 100644 --- a/htdocs/projet/class/taskstats.class.php +++ b/htdocs/projet/class/taskstats.class.php @@ -29,6 +29,11 @@ class TaskStats extends Stats public $socid; public $year; + /** + * Constructor of the class + * + * @param DoliDb $db Database handler + */ function __construct($db) { global $conf, $user; diff --git a/htdocs/public/onlinesign/newonlinesign.php b/htdocs/public/onlinesign/newonlinesign.php index 7571f466c46..9535ae16583 100644 --- a/htdocs/public/onlinesign/newonlinesign.php +++ b/htdocs/public/onlinesign/newonlinesign.php @@ -180,11 +180,11 @@ else if (! empty($conf->global->ONLINE_SIGN_LOGO)) $logosmall=$conf->global->ONL $urllogo=''; if (! empty($logosmall) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$logosmall)) { - $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode('thumbs/'.$logosmall); + $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode('thumbs/'.$logosmall); } elseif (! empty($logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$logo)) { - $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode($logo); + $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode($logo); $width=96; } // Output html code for logo diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 45aeb0d1321..55882e3d4f9 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -682,12 +682,12 @@ else if (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global-> $urllogo=''; if (! empty($logosmall) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$logosmall)) { - $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode('thumbs/'.$logosmall); + $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode('thumbs/'.$logosmall); $width=150; } elseif (! empty($logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$logo)) { - $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&file='.urlencode($logo); + $urllogo=DOL_URL_ROOT.'/viewimage.php?modulepart=mycompany&entity='.$conf->entity.'&file='.urlencode($logo); $width=150; } // Output html code for logo diff --git a/htdocs/stripe/class/index.html b/htdocs/stripe/class/index.html new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/htdocs/stripe/class/index.html @@ -0,0 +1 @@ + diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index 6577bc1357f..74f5c825e6c 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -1025,7 +1025,12 @@ class Ticket extends CommonObject $this->tms = ''; } - + /** + * print selected status + * + * @param string $selected selected status + * @return void + */ public function printSelectStatus($selected = "") { print Form::selectarray('search_fk_statut', $this->statuts_short, $selected, $show_empty = 1, $key_in_label = 0, $value_as_key = 0, $option = '', $translate = 1, $maxlen = 0, $disabled = 0, $sort = '', $morecss = ''); diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 5ac081eeb1e..7cac0419772 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -44,12 +44,12 @@ class User extends CommonObject * @var string ID to identify managed object */ public $element='user'; - + /** * @var string Name of table without prefix where object is stored */ public $table_element='user'; - + public $fk_element='fk_user'; public $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -146,14 +146,14 @@ class User extends CommonObject public $default_c_exp_tax_cat; public $default_range; - public $fields=array( - 'rowid'=>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), - 'lastname'=>array('type'=>'varchar(50)', 'label'=>'Name', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>20, 'searchall'=>1, 'comment'=>'Reference of object'), - 'firstname'=>array('type'=>'varchar(50)', 'label'=>'Name','enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), - ); + public $fields = array( + 'rowid'=>array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'), + 'lastname'=>array('type'=>'varchar(50)', 'label'=>'Name', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>20, 'searchall'=>1, 'comment'=>'Reference of object'), + 'firstname'=>array('type'=>'varchar(50)', 'label'=>'Name','enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'), + ); /** - * Constructor de la classe + * Constructor of the class * * @param DoliDb $db Database handler */ @@ -1541,7 +1541,7 @@ class User extends CommonObject $adh->zip=$this->zip; $adh->state_id=$this->state_id; $adh->country_id=$this->country_id; - + $adh->email=$this->email; $adh->skype=$this->skype; $adh->phone=$this->office_phone; diff --git a/htdocs/variants/class/ProductAttribute.class.php b/htdocs/variants/class/ProductAttribute.class.php index 0fa25cdba6e..bdaaff20988 100644 --- a/htdocs/variants/class/ProductAttribute.class.php +++ b/htdocs/variants/class/ProductAttribute.class.php @@ -53,6 +53,11 @@ class ProductAttribute */ public $rang; + /** + * Constructor + * + * @param DoliDB $db Database handler + */ public function __construct(DoliDB $db) { global $conf; diff --git a/htdocs/variants/class/ProductAttributeValue.class.php b/htdocs/variants/class/ProductAttributeValue.class.php index 9b455851507..2988fd9715e 100644 --- a/htdocs/variants/class/ProductAttributeValue.class.php +++ b/htdocs/variants/class/ProductAttributeValue.class.php @@ -52,8 +52,13 @@ class ProductAttributeValue */ public $value; - public function __construct(DoliDB $db) - { + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct(DoliDB $db) + { global $conf; $this->db = $db; diff --git a/htdocs/variants/class/ProductCombination.class.php b/htdocs/variants/class/ProductCombination.class.php index 92bba2f70f8..58eb2178da4 100644 --- a/htdocs/variants/class/ProductCombination.class.php +++ b/htdocs/variants/class/ProductCombination.class.php @@ -70,7 +70,12 @@ class ProductCombination */ public $entity; - public function __construct(DoliDB $db) + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct(DoliDB $db) { global $conf; diff --git a/htdocs/variants/class/ProductCombination2ValuePair.class.php b/htdocs/variants/class/ProductCombination2ValuePair.class.php index 874cedb101a..7332670f684 100644 --- a/htdocs/variants/class/ProductCombination2ValuePair.class.php +++ b/htdocs/variants/class/ProductCombination2ValuePair.class.php @@ -52,10 +52,15 @@ class ProductCombination2ValuePair */ public $fk_prod_attr_val; - public function __construct(DoliDB $db) - { - $this->db = $db; - } + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct(DoliDB $db) + { + $this->db = $db; + } /** * Translates this class to a human-readable string diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index 45cbcd1c6a5..dbe76ae49c4 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -56,11 +56,12 @@ if ((isset($_GET["modulepart"]) && $_GET["modulepart"] == 'medias')) if (! defined("NOLOGIN")) define("NOLOGIN",1); if (! defined("NOCSRFCHECK")) define("NOCSRFCHECK",1); // We accept to go on this page from external web site. if (! defined("NOIPCHECK")) define("NOIPCHECK",1); // Do not check IP defined into conf $dolibarr_main_restrict_ip - // For multicompany - $entity=(! empty($_GET['entity']) ? (int) $_GET['entity'] : (! empty($_POST['entity']) ? (int) $_POST['entity'] : 1)); - if (is_numeric($entity)) define("DOLENTITY", $entity); } +// For multicompany +$entity=(! empty($_GET['entity']) ? (int) $_GET['entity'] : (! empty($_POST['entity']) ? (int) $_POST['entity'] : 1)); +if (is_numeric($entity)) define("DOLENTITY", $entity); + /** * Header empty * diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 88960766a68..b97b8c5b20c 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -239,6 +239,13 @@ exit(0); +/** + * script cron usage + * + * @param string $path path + * @param string $script_file filename + * @return void + */ function usage($path,$script_file) { global $conf; @@ -252,4 +259,3 @@ function usage($path,$script_file) print "For example, to run pending tasks every 5mn, you can add this line:\n"; print "*/5 * * * * ".$path.$script_file." securitykey userlogin > ".DOL_DATA_ROOT."/".$script_file.".log\n"; } - diff --git a/test/phpunit/BonPrelevementTest.php b/test/phpunit/BonPrelevementTest.php index b87a902c9d4..3b1f2efc647 100644 --- a/test/phpunit/BonPrelevementTest.php +++ b/test/phpunit/BonPrelevementTest.php @@ -74,14 +74,24 @@ class BonPrelevementTest extends PHPUnit_Framework_TestCase print "\n"; } - // Static methods - public static function setUpBeforeClass() + /** + * setUpBeforeClass + * + * @return void + */ + public static function setUpBeforeClass() { global $conf,$user,$langs,$db; $db->begin(); // This is to have all actions inside a transaction even if test launched without suite. print __METHOD__."\n"; } + + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/RestAPIUserTest.php b/test/phpunit/RestAPIUserTest.php index ad3eb29be2f..764ae21aeb9 100644 --- a/test/phpunit/RestAPIUserTest.php +++ b/test/phpunit/RestAPIUserTest.php @@ -173,6 +173,11 @@ class RestAPIUserTest extends PHPUnit_Framework_TestCase $this->assertEquals(1, $object['statut']); } + /** + * testRestCreateUser + * + * @return void + */ public function testRestCreateUser() { diff --git a/test/phpunit/WebservicesInvoicesTest.php b/test/phpunit/WebservicesInvoicesTest.php index b336ef15ff3..8ab4aba5758 100644 --- a/test/phpunit/WebservicesInvoicesTest.php +++ b/test/phpunit/WebservicesInvoicesTest.php @@ -91,6 +91,11 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase print "\n"; } + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { global $conf,$user,$langs,$db; @@ -131,6 +136,11 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase print __METHOD__."\n"; } + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { global $conf,$user,$langs,$db; diff --git a/test/phpunit/functional/InstallTest.php b/test/phpunit/functional/InstallTest.php index 534d1d602c0..f444d08eec0 100644 --- a/test/phpunit/functional/InstallTest.php +++ b/test/phpunit/functional/InstallTest.php @@ -42,6 +42,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase ) ); + /** + * setUpBeforeClass + * + * @return void + */ public static function setUpBeforeClass() { // Make sure we backup and remove the configuration file to force new install. @@ -54,12 +59,22 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase self::shareSession(true); } + /** + * dropTestDatabase + * + * @return void + */ protected static function dropTestDatabase() { $mysqli = new mysqli(self::$db_host, self::$db_admin_user, self::$db_admin_pass); $mysqli->query("DROP DATABASE " . self::$db_name); } + /** + * tearDownAfterClass + * + * @return void + */ public static function tearDownAfterClass() { // Remove the generated configuration and restore the backed up file. @@ -70,6 +85,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase self::dropTestDatabase(); } + /** + * setUp + * + * @return void + */ public function setUp() { // Populating the database can take quite long. @@ -77,17 +97,32 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->setBrowserUrl(self::$url); } + /** + * testInstallRedirect + * + * @return void + */ public function testInstallRedirect() { $this->url('/'); $this->assertContains('/install/index.php', $this->url()); } + /** + * testInstallPageTitle + * + * @return void + */ public function testInstallPageTitle() { $this->assertContains('Dolibarr', $this->title()); } + /** + * testInstallProcess + * + * @return void + */ public function testInstallProcess() { // FIXME: the button itself should have an ID @@ -95,6 +130,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->assertContains('/install/check.php', $this->url()); } + /** + * testCheckPage + * + * @return void + */ public function testCheckPage() { $unavailable_choices = $this->byId('navail_choices'); @@ -109,6 +149,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->assertContains('/install/fileconf.php', $this->url()); } + /** + * testForm + * + * @return void + */ public function testForm() { $this->assertFalse($this->byClassName('hideroot')->displayed()); @@ -153,12 +198,22 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->byId('db_pass_root')->value(''); } + /** + * testFormSubmit + * + * @return void + */ public function testFormSubmit() { $this->byName('forminstall')->submit(); $this->assertContains('/install/step1.php', $this->url()); } + /** + * testStep1 + * + * @return void + */ public function testStep1() { $this->assertFalse($this->byId('pleasewait')->displayed()); @@ -170,6 +225,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->assertContains('/install/step2.php', $this->url()); } + /** + * testStep2 + * + * @return void + */ public function testStep2() { $this->byName('forminstall')->submit(); @@ -178,6 +238,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase // There is no step 3 + /** + * testStep4 + * + * @return void + */ public function testStep4() { // FIXME: should have an ID @@ -191,6 +256,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->assertContains('/install/step5.php', $this->url()); } + /** + * testStep5 + * + * @return void + */ public function testStep5() { // FIXME: this button should have an ID @@ -198,6 +268,11 @@ class InstallTest extends PHPUnit_Extensions_Selenium2TestCase $this->assertContains('/admin/index.php', $this->url()); } + /** + * testFirstLogin + * + * @return void + */ public function testFirstLogin() { $this->assertEquals('login', $this->byTag('form')->attribute('id'));