Merge branch 'develop' into phpstan_doc_ui
This commit is contained in:
commit
ff71e12465
94 changed files with 527 additions and 555 deletions
|
|
@ -27,6 +27,7 @@ if (!defined("NOHTTPSREDIRECT")) {
|
|||
}
|
||||
|
||||
// Defined some constants and load Dolibarr env to reduce PHPStan bootstrap that fails to load a lot of things.
|
||||
$dolibarr_main_document_root = __DIR__ . '/../../htdocs';
|
||||
define('DOL_DOCUMENT_ROOT', __DIR__ . '/../../htdocs');
|
||||
define('DOL_DATA_ROOT', __DIR__ . '/../../documents');
|
||||
define('DOL_URL_ROOT', '/');
|
||||
|
|
@ -42,6 +43,7 @@ define('MAIN_DB_PREFIX', 'llx_');
|
|||
* @var User $user
|
||||
*/
|
||||
|
||||
global $conf, $db, $hookmanager, $langs, $mysoc, $user;
|
||||
global $conf, $db, $hookmanager, $langs, $mysoc, $user;
|
||||
global $dolibarr_main_document_root;
|
||||
|
||||
// include_once DOL_DOCUMENT_ROOT . '/../../htdocs/main.inc.php';
|
||||
|
|
|
|||
|
|
@ -1176,18 +1176,6 @@ parameters:
|
|||
count: 2
|
||||
path: ../../htdocs/admin/agenda.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$label might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/admin/agenda_other.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$label might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/admin/agenda_reminder.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$errorsaved in empty\(\) always exists and is always falsy\.$#'
|
||||
identifier: empty.variable
|
||||
|
|
@ -1734,18 +1722,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/admin/system/security.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$arrayofstreamtodisable might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/admin/system/security.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$conffile might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 4
|
||||
path: ../../htdocs/admin/system/security.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$dolibarr_main_document_root might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
|
|
@ -2604,42 +2580,12 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/asset/tpl/depreciation_options_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$langs might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 7
|
||||
path: ../../htdocs/asset/tpl/depreciation_options_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$parameters might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/asset/tpl/depreciation_options_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Unable to resolve the template type T in call to function dol_sort_array$#'
|
||||
identifier: argument.templateType
|
||||
count: 1
|
||||
path: ../../htdocs/asset/tpl/depreciation_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$assetdepreciationoptions might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 7
|
||||
path: ../../htdocs/asset/tpl/depreciation_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$db might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/asset/tpl/depreciation_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$langs might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 7
|
||||
path: ../../htdocs/asset/tpl/depreciation_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$parameters might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
|
|
@ -2892,72 +2838,12 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Cannot access property \$db on mixed\.$#'
|
||||
identifier: property.nonObject
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$action might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$buyer might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$dateSelector might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$hookmanager might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$i might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$langs might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$line might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 20
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$seller might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$this might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$var might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^If condition is always true\.$#'
|
||||
identifier: if.alwaysTrue
|
||||
|
|
@ -2970,12 +2856,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/bom/tpl/objectline_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$action might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/bom/tpl/objectline_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^If condition is always false\.$#'
|
||||
identifier: if.alwaysFalse
|
||||
|
|
@ -7452,60 +7332,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/contact/ajax/contact.php
|
||||
|
||||
-
|
||||
message: '#^Cannot access property \$control on mixed\.$#'
|
||||
identifier: property.nonObject
|
||||
count: 24
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$canvas might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$this might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 24
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Cannot access property \$control on mixed\.$#'
|
||||
identifier: property.nonObject
|
||||
count: 31
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$canvas might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 1
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$this might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 29
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Cannot access property \$control on mixed\.$#'
|
||||
identifier: property.nonObject
|
||||
count: 34
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$canvas might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 3
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$this might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 32
|
||||
path: ../../htdocs/contact/canvas/default/tpl/contactcard_view.tpl.php
|
||||
|
||||
-
|
||||
message: '#^If condition is always true\.$#'
|
||||
identifier: if.alwaysTrue
|
||||
|
|
@ -12468,12 +12294,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$outputlangsbis might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 7
|
||||
path: ../../htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php
|
||||
|
||||
-
|
||||
message: '#^Property mod_asset_standard\:\:\$prefix has no type specified\.$#'
|
||||
identifier: missingType.property
|
||||
|
|
@ -14034,12 +13854,6 @@ parameters:
|
|||
count: 2
|
||||
path: ../../htdocs/core/modules/member/doc/pdf_standard_member.class.php
|
||||
|
||||
-
|
||||
message: '#^Parameter \#1 \$substitutionarray of function complete_substitutions_array expects array\<string, string\>, array\<string, int\|string\> given\.$#'
|
||||
identifier: argument.type
|
||||
count: 1
|
||||
path: ../../htdocs/core/modules/member/doc/pdf_standard_member.class.php
|
||||
|
||||
-
|
||||
message: '#^Parameter \#6 \$epaisseur of method CommonStickerGenerator\:\:_Croix\(\) expects int, float given\.$#'
|
||||
identifier: argument.type
|
||||
|
|
@ -29880,12 +29694,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php
|
||||
|
||||
-
|
||||
message: '#^Negated boolean expression is always true\.$#'
|
||||
identifier: booleanNot.alwaysTrue
|
||||
count: 2
|
||||
path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php
|
||||
|
||||
-
|
||||
message: '#^Property CommonObject\:\:\$ismultientitymanaged \(int\<0, 1\>\|string\) in isset\(\) is not nullable\.$#'
|
||||
identifier: isset.property
|
||||
|
|
@ -29898,12 +29706,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$error in empty\(\) always exists and is always falsy\.$#'
|
||||
identifier: empty.variable
|
||||
count: 1
|
||||
path: ../../htdocs/recruitment/class/recruitmentjobposition.class.php
|
||||
|
||||
-
|
||||
message: '#^Parameter \#1 \$object of method CommonDocGenerator\:\:get_substitutionarray_each_var_object\(\) expects array\<string, CommonObject\|float\|int\|string\>, RecruitmentJobPosition given\.$#'
|
||||
identifier: argument.type
|
||||
|
|
@ -29952,12 +29754,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$outputlangsbis might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 7
|
||||
path: ../../htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$badgeStatus0 might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
|
|
@ -33132,12 +32928,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../../htdocs/variants/list.php
|
||||
|
||||
-
|
||||
message: '#^Variable \$rowid might not be defined\.$#'
|
||||
identifier: variable.undefined
|
||||
count: 2
|
||||
path: ../../htdocs/variants/list.php
|
||||
|
||||
-
|
||||
message: '#^Call to function is_numeric\(\) with int will always evaluate to true\.$#'
|
||||
identifier: function.alreadyNarrowedType
|
||||
|
|
|
|||
|
|
@ -10,43 +10,43 @@
|
|||
return [
|
||||
// # Issue statistics:
|
||||
// PhanUndeclaredProperty : 560+ occurrences
|
||||
// PhanPossiblyUndeclaredGlobalVariable : 350+ occurrences
|
||||
// PhanUndeclaredGlobalVariable : 300+ occurrences
|
||||
// PhanPossiblyUndeclaredGlobalVariable : 320+ occurrences
|
||||
// PhanUndeclaredGlobalVariable : 290+ occurrences
|
||||
// PhanTypeMismatchArgumentProbablyReal : 230+ occurrences
|
||||
// PhanPluginUnknownArrayMethodReturnType : 180+ occurrences
|
||||
// PhanTypeMismatchProperty : 140+ occurrences
|
||||
// PhanTypeMismatchProperty : 130+ occurrences
|
||||
// PhanPluginUnknownArrayMethodParamType : 120+ occurrences
|
||||
// PhanPluginUnknownPropertyType : 120+ occurrences
|
||||
// PhanPluginUnknownPropertyType : 110+ occurrences
|
||||
// PhanPossiblyUndeclaredVariable : 80+ occurrences
|
||||
// PhanPluginUndeclaredVariableIsset : 60+ occurrences
|
||||
// PhanRedefineFunction : 45+ occurrences
|
||||
// PhanTypeExpectedObjectPropAccess : 45+ occurrences
|
||||
// PhanTypeMismatchArgumentNullableInternal : 40+ occurrences
|
||||
// PhanPluginSuspiciousParamOrder : 35+ occurrences
|
||||
// PhanTypeInvalidDimOffset : 30+ occurrences
|
||||
// PhanTypeMismatchDimFetch : 30+ occurrences
|
||||
// PhanPluginEmptyStatementIf : 15+ occurrences
|
||||
// PhanUndeclaredConstant : 15+ occurrences
|
||||
// PhanPluginUnknownObjectMethodCall : 10+ occurrences
|
||||
// PhanTypeComparisonFromArray : 10+ occurrences
|
||||
// PhanTypeMismatchDimFetchNullable : 10+ occurrences
|
||||
// PhanUndeclaredMethod : 10+ occurrences
|
||||
// PhanEmptyForeach : 8 occurrences
|
||||
// PhanTypeArraySuspiciousNull : 8 occurrences
|
||||
// PhanPluginBothLiteralsBinaryOp : 7 occurrences
|
||||
// PhanPluginDuplicateExpressionBinaryOp : 7 occurrences
|
||||
// PhanPluginSuspiciousParamPosition : 7 occurrences
|
||||
// PhanTypeArraySuspiciousNull : 6 occurrences
|
||||
// PhanParamTooMany : 5 occurrences
|
||||
// PhanPossiblyNullTypeMismatchProperty : 5 occurrences
|
||||
// PhanParamTooMany : 4 occurrences
|
||||
// PhanPluginDuplicateArrayKey : 4 occurrences
|
||||
// PhanEmptyFQSENInClasslike : 3 occurrences
|
||||
// PhanInvalidFQSENInClasslike : 3 occurrences
|
||||
// PhanTypeMismatchReturn : 3 occurrences
|
||||
// PhanTypeExpectedObjectPropAccessButGotNull : 2 occurrences
|
||||
// PhanTypeMismatchDimAssignment : 2 occurrences
|
||||
// PhanTypeSuspiciousStringExpression : 2 occurrences
|
||||
// PhanUndeclaredTypeParameter : 2 occurrences
|
||||
// PhanAccessMethodProtected : 1 occurrence
|
||||
// PhanPluginUnknownArrayPropertyType : 1 occurrence
|
||||
// PhanTypeConversionFromArray : 1 occurrence
|
||||
// PhanTypeMismatchArgumentInternalProbablyReal : 1 occurrence
|
||||
|
||||
// Currently, file_suppressions and directory_suppressions are the only supported suppressions
|
||||
'file_suppressions' => [
|
||||
|
|
@ -60,7 +60,7 @@ return [
|
|||
'htdocs/api/class/api_login.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/api/class/api_setup.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/api/class/api_status.class.php' => ['PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/asset/class/asset.class.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeInvalidDimOffset'],
|
||||
'htdocs/asset/class/asset.class.php' => ['PhanTypeInvalidDimOffset'],
|
||||
'htdocs/asset/class/assetdepreciationoptions.class.php' => ['PhanTypeInvalidDimOffset'],
|
||||
'htdocs/asset/class/assetmodel.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/asset/tpl/accountancy_codes_edit.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -106,7 +106,6 @@ return [
|
|||
'htdocs/compta/bank/various_payment/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/compta/bank/various_payment/document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/compta/bank/various_payment/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/compta/bank/various_payment/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/compta/cashcontrol/cashcontrol_card.php' => ['PhanPluginDuplicateExpressionBinaryOp'],
|
||||
'htdocs/compta/cashcontrol/cashcontrol_list.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/compta/clients.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -134,13 +133,12 @@ return [
|
|||
'htdocs/core/actions_addupdatedelete.inc.php' => ['PhanTypeMismatchDimFetch', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/actions_massactions.inc.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/actions_printing.inc.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/actions_sendmails.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/actions_sendmails.inc.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/ajax/ajaxdirtree.php' => ['PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/class/canvas.class.php' => ['PhanParamTooMany', 'PhanUndeclaredMethod'],
|
||||
'htdocs/core/class/ccountry.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/cgenericdic.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commonobject.class.php' => ['PhanParamTooMany', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commonorder.class.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/class/commonpeople.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/commonsocialnetworks.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/conf.class.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchProperty'],
|
||||
|
|
@ -153,6 +151,7 @@ return [
|
|||
'htdocs/core/class/html.formcompany.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/html.formfile.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/html.formmail.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/ldap.class.php' => ['PhanTypeMismatchArgumentInternalProbablyReal'],
|
||||
'htdocs/core/class/notify.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/class/smtps.class.php' => ['PhanTypeConversionFromArray'],
|
||||
'htdocs/core/class/timespent.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -170,49 +169,65 @@ return [
|
|||
'htdocs/core/lib/project.lib.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/lib/xcal.lib.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/asset/mod_asset_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/asset/mod_asset_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/barcode/doc/phpbarcode.modules.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/barcode/mod_barcode_product_standard.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/barcode/mod_barcode_product_standard.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/barcode/mod_barcode_thirdparty_standard.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/cheque/mod_chequereceipt_thyme.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/commande/doc/pdf_einstein.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/commande/mod_commande_saphir.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/commande/modules_commande.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/contract/doc/pdf_strato.modules.php' => ['PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/modules/contract/mod_contract_magre.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/delivery/doc/pdf_storm.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/delivery/doc/pdf_typhon.modules.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/delivery/mod_delivery_saphir.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/delivery/mod_delivery_saphir.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/expedition/doc/pdf_merou.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/expedition/mod_expedition_ribera.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/expensereport/mod_expensereport_sand.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/facture/doc/pdf_crabe.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/facture/doc/pdf_octopus.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/facture/doc/pdf_sponge.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/facture/modules_facture.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/fichinter/mod_arctic.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/fichinter/mod_pacific.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/holiday/mod_holiday_immaculate.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/hrm/mod_evaluation_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/hrm/mod_evaluation_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/import/import_csv.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/modules/import/import_xlsx.modules.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/core/modules/mailings/contacts1.modules.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/mailings/thirdparties.modules.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginEmptyStatementIf', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/mrp/doc/pdf_vinci.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/oauth/github_oauthcallback.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/modules/payment/mod_payment_ant.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/printing/printgcp.modules.php' => ['PhanTypeMismatchDimFetch'],
|
||||
'htdocs/core/modules/product/doc/pdf_standard.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/product/mod_codeproduct_elephant.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/product_batch/mod_lot_advanced.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/product_batch/mod_sn_advanced.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/project/doc/pdf_timespent.modules.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/project/mod_project_universal.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/project/task/mod_task_universal.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/propale/doc/pdf_azur.modules.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/propale/doc/pdf_cyan.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/propale/mod_propale_saphir.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/propale/modules_propale.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/reception/doc/pdf_squille.modules.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/societe/mod_codecompta_aquarium.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/societe/mod_codecompta_digitaria.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/modules/reception/mod_reception_moonstone.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/societe/mod_codecompta_aquarium.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/societe/mod_codecompta_digitaria.php' => ['PhanPluginSuspiciousParamOrder', 'PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php' => ['PhanPluginUnknownPropertyType', 'PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/modules/stocktransfer/mod_stocktransfer_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/stocktransfer/mod_stocktransfer_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
|
|
@ -221,24 +236,24 @@ return [
|
|||
'htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/supplier_order/modules_commandefournisseur.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php' => ['PhanPluginUnknownPropertyType'],
|
||||
'htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/syslog/mod_syslog_file.php' => ['PhanPluginDuplicateArrayKey'],
|
||||
'htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/takepos/mod_takepos_ref_universal.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/ticket/doc/doc_generic_ticket_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/ticket/mod_ticket_universal.php' => ['PhanPluginSuspiciousParamOrder'],
|
||||
'htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/core/modules/workstation/mod_workstation_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/modules/workstation/mod_workstation_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/search_page.php' => ['PhanEmptyForeach', 'PhanPluginBothLiteralsBinaryOp'],
|
||||
'htdocs/core/tpl/ajaxrow.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/ajaxrow.tpl.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/commonfields_view.tpl.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/document_actions_post_headers.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/extrafields_edit.tpl.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/core/tpl/extrafields_list_search_title.tpl.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/core/tpl/document_actions_post_headers.tpl.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/extrafields_view.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/core/tpl/filemanager.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/formlayoutai.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/list_print_total.tpl.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/core/tpl/massactions_pre.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/tpl/notes.tpl.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/tpl/filemanager.tpl.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/formlayoutai.tpl.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/massactions_pre.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/core/tpl/notes.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/core/tpl/object_discounts.tpl.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/objectline_create.tpl.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/core/tpl/objectline_view.tpl.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -262,11 +277,10 @@ return [
|
|||
'htdocs/delivery/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/document.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/don/admin/donation.php' => ['PhanUndeclaredMethod'],
|
||||
'htdocs/don/card.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/don/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/don/class/api_donations.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/don/class/don.class.php' => ['PhanParamTooMany'],
|
||||
'htdocs/don/document.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/don/index.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/don/info.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/don/list.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/don/note.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -277,9 +291,9 @@ return [
|
|||
'htdocs/ecm/dir_card.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/ecm/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/emailcollector/class/emailcollector.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/emailcollector/lib/emailcollector.lib.php' => ['PhanUndeclaredTypeParameter'],
|
||||
'htdocs/eventorganization/class/conferenceorboothattendee.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/eventorganization/conferenceorbooth_card.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/eventorganization/conferenceorbooth_contact.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/eventorganization/conferenceorbooth_list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/eventorganization/conferenceorboothattendee_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/eventorganization/conferenceorboothattendee_list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -303,12 +317,12 @@ return [
|
|||
'htdocs/expensereport/tpl/expensereport_linktofile.tpl.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/expensereport/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/externalsite/frames.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/fichinter/card-rec.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/fichinter/card-rec.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/fichinter/class/api_interventions.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanUndeclaredProperty'],
|
||||
'htdocs/fichinter/class/fichinterrec.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/fichinter/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/fichinter/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/filefunc.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/filefunc.inc.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/fourn/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/fourn/class/api_supplier_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/fourn/class/api_supplier_orders.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -325,7 +339,7 @@ return [
|
|||
'htdocs/fourn/facture/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/fourn/facture/list-rec.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/fourn/facture/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/fourn/facture/paiement.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/fourn/facture/paiement.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/fourn/paiement/card.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/fourn/paiement/document.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -353,12 +367,10 @@ return [
|
|||
'htdocs/imports/emptyexample.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/imports/import.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/install/check.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/install/fileconf.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/install/inc.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/install/fileconf.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/install/index.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/install/repair.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/install/repair.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/install/step2.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/install/step5.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/install/upgrade.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'],
|
||||
'htdocs/intracommreport/card.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
|
|
@ -376,7 +388,7 @@ return [
|
|||
'htdocs/mrp/class/mo.class.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/mrp/mo_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/mrp/mo_movements.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/mrp/mo_production.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/mrp/mo_production.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/mrp/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/mrp/tpl/originproductline.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/multicurrency/class/api_multicurrencies.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
|
|
@ -384,7 +396,6 @@ return [
|
|||
'htdocs/opcachepreload.php' => ['PhanEmptyForeach'],
|
||||
'htdocs/opensurvey/card.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/opensurvey/class/opensurveysondage.class.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/opensurvey/list.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/opensurvey/results.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/opensurvey/wizard/choix_date.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/opensurvey/wizard/create_survey.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
|
|
@ -401,12 +412,11 @@ return [
|
|||
'htdocs/product/class/html.formproduct.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/product/class/productfournisseurprice.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/document.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/product/index.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/product/inventory/card.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/product/inventory/class/inventory.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/product/inventory/inventory.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/product/inventory/list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/product/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/product/list.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/product/price.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/reassort.php' => ['PhanTypeExpectedObjectPropAccessButGotNull'],
|
||||
'htdocs/product/stats/card.php' => ['PhanTypeComparisonFromArray'],
|
||||
|
|
@ -417,8 +427,8 @@ return [
|
|||
'htdocs/product/stock/class/mouvementstock.class.php' => ['PhanPossiblyUndeclaredVariable'],
|
||||
'htdocs/product/stock/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/movement_card.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/movement_list.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/movement_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/movement_list.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/product.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/product/stock/productlot_card.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/product/stock/productlot_list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -442,7 +452,7 @@ return [
|
|||
'htdocs/projet/element.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/projet/ganttchart.inc.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/projet/ganttview.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/projet/graph_opportunities.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/projet/graph_opportunities.inc.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/projet/index.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/projet/list.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/projet/stats/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
|
|
@ -453,11 +463,11 @@ return [
|
|||
'htdocs/projet/tasks/list.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/projet/tasks/note.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/projet/tasks/task.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/projet/tasks/time.php' => ['PhanEmptyForeach', 'PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/projet/tasks/time.php' => ['PhanEmptyForeach', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/public/agenda/agendaexport.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/public/bookcal/index.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/public/company/new.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/public/company/new.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/public/cron/cron_run_jobs_by_url.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/public/demo/index.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/public/donations/donateurs_code.php' => ['PhanRedefineFunction'],
|
||||
|
|
@ -480,7 +490,6 @@ return [
|
|||
'htdocs/public/project/viewandvote.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/public/recruitment/view.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/public/stripe/ipn.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/public/test/test_arrays.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'],
|
||||
'htdocs/public/ticket/view.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/public/webportal/tpl/menu.tpl.php' => ['PhanUndeclaredProperty'],
|
||||
|
|
@ -492,15 +501,15 @@ return [
|
|||
'htdocs/reception/class/reception.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/reception/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/reception/dispatch.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/reception/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/reception/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
'htdocs/reception/note.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/recruitment/admin/setup.php' => ['PhanEmptyForeach'],
|
||||
'htdocs/recruitment/admin/setup_candidatures.php' => ['PhanEmptyForeach'],
|
||||
'htdocs/recruitment/class/recruitmentcandidature.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/class/recruitmentjobposition.class.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanPluginSuspiciousParamOrder', 'PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/index.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/recruitment/recruitmentcandidature_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
|
||||
|
|
@ -522,7 +531,7 @@ return [
|
|||
'htdocs/societe/class/api_thirdparties.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
|
||||
'htdocs/societe/class/societe.class.php' => ['PhanTypeMismatchProperty'],
|
||||
'htdocs/societe/consumption.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/societe/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/societe/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/societe/paymentmodes.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/societe/price.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/societe/tpl/linesalesrepresentative.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
|
|
@ -536,10 +545,9 @@ return [
|
|||
'htdocs/takepos/ajax/ajax.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
|
||||
'htdocs/takepos/floors.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/takepos/freezone.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/takepos/index.php' => ['PhanPluginUndeclaredVariableIsset'],
|
||||
'htdocs/takepos/invoice.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/takepos/pay.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
|
||||
'htdocs/takepos/split.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/takepos/split.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/theme/eldy/badges.inc.php' => ['PhanRedefineFunction'],
|
||||
'htdocs/theme/eldy/btn.inc.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
'htdocs/theme/eldy/dropdown.inc.php' => ['PhanUndeclaredGlobalVariable'],
|
||||
|
|
@ -597,7 +605,6 @@ return [
|
|||
'htdocs/workstation/workstation_list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
|
||||
'htdocs/zapier/class/api_zapier.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
|
||||
'htdocs/zapier/class/hook.class.php' => ['PhanUndeclaredProperty'],
|
||||
'internal' => ['PhanUndeclaredConstant'],
|
||||
],
|
||||
// 'directory_suppressions' => ['src/directory_name' => ['PhanIssueName1', 'PhanIssueName2']] can be manually added if needed.
|
||||
// (directory_suppressions will currently be ignored by subsequent calls to --save-baseline, but may be preserved in future Phan releases)
|
||||
|
|
|
|||
|
|
@ -864,14 +864,14 @@ class Lettering extends BookKeeping
|
|||
$sql = "SELECT DISTINCT tl2.fk_link, tl2.fk_doc";
|
||||
$sql .= " FROM (";
|
||||
// @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
$sql .= " SELECT DISTINCT " . $this->db->ifsql("tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tl.".$this->db->sanitize($linked_info['fk_link']))." AS fk_link, tl.".$this->db->sanitize($linked_info['fk_doc'])." AS fk_doc";
|
||||
$sql .= " SELECT DISTINCT " . $this->db->ifsql("tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent'])." IS NOT NULL", "tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tl.".$this->db->sanitize($linked_info['fk_link']))." AS fk_link, tl.".$this->db->sanitize($linked_info['fk_doc'])." AS fk_doc";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX .$this->db->sanitize($linked_info['table'])." AS tl";
|
||||
// @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . $this->db->sanitize($linked_info['table_link_line']) . " AS tll ON tll.".$this->db->sanitize($linked_info['fk_table_link_line']) . " = tl.".$this->db->sanitize($linked_info['fk_line_link']);
|
||||
$sql .= ") AS tl";
|
||||
$sql .= " LEFT JOIN (";
|
||||
// @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
$sql .= " SELECT DISTINCT " . $this->db->ifsql("tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tl.".$this->db->sanitize($linked_info['fk_link']))." AS fk_link, tl.".$this->db->sanitize($linked_info['fk_doc'])." AS fk_doc";
|
||||
$sql .= " SELECT DISTINCT " . $this->db->ifsql("tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent'])." IS NOT NULL", "tll.".$this->db->sanitize($linked_info['fk_table_link_line_parent']), "tl.".$this->db->sanitize($linked_info['fk_link']))." AS fk_link, tl.".$this->db->sanitize($linked_info['fk_doc'])." AS fk_doc";
|
||||
$sql .= " FROM " . MAIN_DB_PREFIX .$this->db->sanitize($linked_info['table'])." AS tl";
|
||||
// @phan-suppress-next-line PhanTypePossiblyInvalidDimOffset
|
||||
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . $this->db->sanitize($linked_info['table_link_line']) . " AS tll ON tll.".$this->db->sanitize($linked_info['fk_table_link_line']) . " = tl.".$this->db->sanitize($linked_info['fk_line_link']);
|
||||
|
|
|
|||
|
|
@ -461,12 +461,12 @@ SELECT
|
|||
fk_facture,
|
||||
COUNT(fd.rowid) as nb
|
||||
FROM
|
||||
".MAIN_DB_PREFIX."facturedet as fd
|
||||
".MAIN_DB_PREFIX."facturedet as fd
|
||||
WHERE
|
||||
fd.product_type <= 2
|
||||
AND fd.fk_code_ventilation <= 0
|
||||
AND fd.total_ttc <> 0
|
||||
AND fk_facture IN (".$db->sanitize(implode(",", array_keys($tabfac))).")
|
||||
AND fk_facture IN (".$db->sanitize(implode(",", array_keys($tabfac))).")
|
||||
GROUP BY fk_facture
|
||||
";
|
||||
$resql = $db->query($sql);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ $langs->loadLangs(array('admin', 'other', 'agenda', 'users'));
|
|||
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
$value = GETPOST('value', 'alpha');
|
||||
$label = GETPOST('label', 'alpha');
|
||||
$modulepart = GETPOST('modulepart', 'aZ09'); // Used by actions_setmoduleoptions.inc.php
|
||||
|
||||
$param = GETPOST('param', 'alpha');
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ $langs->loadLangs(array("admin", "other", "agenda"));
|
|||
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
$value = GETPOST('value', 'alpha');
|
||||
$label = GETPOST('label', 'alpha');
|
||||
$modulepart = GETPOST('modulepart', 'aZ09'); // Used by actions_setmoduleoptions.inc.php
|
||||
|
||||
$param = GETPOST('param', 'alpha');
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/events.class.php';
|
|||
* @var HookManager $hookmanager
|
||||
* @var Translate $langs
|
||||
* @var User $user
|
||||
*
|
||||
* @var string[] $arrayofstreamtodisable // $arrayofstreamtodisable is defined into filefunc.inc.php
|
||||
* @var string $conffile // $conffile is defined into filefunc.inc.php
|
||||
*/
|
||||
|
||||
// Load translation files required by the page
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2021 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
/* Copyright (C) 2021 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -30,6 +30,7 @@
|
|||
* @var Form $form
|
||||
* @var HookManager $hookmanager
|
||||
* @var AssetDepreciationOptions $assetdepreciationoptions
|
||||
* @var Translate $langs
|
||||
*/
|
||||
'
|
||||
@phan-var-force ?Form $form
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2021 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
/* Copyright (C) 2021 Open-Dsi <support@open-dsi.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -27,8 +27,13 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @var AssetDepreciationOptions $assetdepreciationoptions
|
||||
* @var DoliDB $db
|
||||
* @var Form $form
|
||||
* @var HookManager $hookmanager
|
||||
* @var Translate $langs
|
||||
*
|
||||
* @var string $action
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<?php
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2012 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2012-2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr>
|
||||
* Copyright (C) 2024 Vincent Maury <vmaury@timgroup.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2012 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2012-2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 Vincent Maury <vmaury@timgroup.fr>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -34,7 +34,19 @@
|
|||
*/
|
||||
|
||||
require_once DOL_DOCUMENT_ROOT."/product/class/html.formproduct.class.php";
|
||||
|
||||
/**
|
||||
* @var BOMLine $line
|
||||
* @var CommonObject $this
|
||||
* @var CommonObject $object
|
||||
* @var HookManager $hookmanager
|
||||
* @var Societe $buyer
|
||||
* @var Societe $seller
|
||||
* @var Translate $langs
|
||||
*
|
||||
* @var string $action
|
||||
* @var int $i
|
||||
* @var bool $var
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
if (empty($object) || !is_object($object)) {
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@
|
|||
*
|
||||
* @var int $i
|
||||
* @var int $num
|
||||
* @var string $action
|
||||
*/
|
||||
'
|
||||
@phan-var-force CommonObjectLine $line
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@ $search_date_signature_start = dol_mktime(0, 0, 0, $search_date_signature_startm
|
|||
$search_date_signature_end = dol_mktime(23, 59, 59, $search_date_signature_endmonth, $search_date_signature_endday, $search_date_signature_endyear);
|
||||
$search_status = GETPOST('search_status', 'alpha');
|
||||
$search_note_public = GETPOST('search_note_public', 'alpha');
|
||||
$search_import_key = trim(GETPOST("search_import_key", "alpha"));
|
||||
|
||||
$search_option = GETPOST('search_option', 'alpha');
|
||||
if ($search_option == 'late') {
|
||||
|
|
@ -267,6 +268,7 @@ $arrayfields = array(
|
|||
'p.date_cloture' => array('label' => "DateClosing", 'checked' => 0, 'position' => 500),
|
||||
'p.note_public' => array('label' => 'NotePublic', 'checked' => 0, 'position' => 510, 'enabled' => (!getDolGlobalInt('MAIN_LIST_HIDE_PUBLIC_NOTES'))),
|
||||
'p.note_private' => array('label' => 'NotePrivate', 'checked' => 0, 'position' => 511, 'enabled' => (!getDolGlobalInt('MAIN_LIST_HIDE_PRIVATE_NOTES'))),
|
||||
'p.import_key' => array('type' => 'varchar(14)', 'label' => 'ImportId', 'enabled' => 1, 'visible' => -2, 'position' => 999),
|
||||
'p.fk_statut' => array('label' => "Status", 'checked' => 1, 'position' => 1000),
|
||||
);
|
||||
|
||||
|
|
@ -396,7 +398,6 @@ if (empty($reshook)) {
|
|||
$search_availability = '';
|
||||
$search_option = '';
|
||||
$search_status = '';
|
||||
$search_categ_cus = 0;
|
||||
$search_fk_cond_reglement = '';
|
||||
$search_fk_shipping_method = '';
|
||||
$search_fk_input_reason = '';
|
||||
|
|
@ -409,8 +410,13 @@ if (empty($reshook)) {
|
|||
$search_date_signature_endyear = '';
|
||||
$search_date_signature_start = '';
|
||||
$search_date_signature_end = '';
|
||||
$search_import_key = '';
|
||||
$search_categ_cus = 0;
|
||||
|
||||
$search_all = '';
|
||||
$toselect = array();
|
||||
$search_array_options = array();
|
||||
|
||||
$socid = 0;
|
||||
}
|
||||
|
||||
|
|
@ -578,7 +584,7 @@ $sql .= " typent.code as typent_code,";
|
|||
$sql .= " ava.rowid as availability,";
|
||||
$sql .= " country.code as country_code,";
|
||||
$sql .= " state.code_departement as state_code, state.nom as state_name,";
|
||||
$sql .= ' p.rowid, p.entity as propal_entity, p.note_private, p.total_ht, p.total_tva, p.total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut as status, p.fk_user_author, p.datep as dp, p.fin_validite as dfv, p.date_livraison as ddelivery,';
|
||||
$sql .= ' p.rowid, p.entity as propal_entity, p.note_private, p.total_ht, p.total_tva, p.total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut as status, p.import_key, p.fk_user_author, p.datep as dp, p.fin_validite as dfv, p.date_livraison as ddelivery,';
|
||||
$sql .= ' p.fk_multicurrency, p.multicurrency_code, p.multicurrency_tx, p.multicurrency_total_ht, p.multicurrency_total_tva, p.multicurrency_total_ttc,';
|
||||
$sql .= ' p.datec as date_creation, p.tms as date_modification, p.date_cloture as date_cloture,';
|
||||
$sql .= ' p.date_signature as dsignature,';
|
||||
|
|
@ -753,6 +759,9 @@ if ($search_date_signature_end) {
|
|||
if ($search_note_public) {
|
||||
$sql .= " AND p.note_public LIKE '%".$db->escape($db->escapeforlike($search_note_public))."%'";
|
||||
}
|
||||
if ($search_import_key) {
|
||||
$sql .= natural_search("s.import_key", $search_import_key);
|
||||
}
|
||||
// Search on user
|
||||
if ($search_user > 0) {
|
||||
$sql .= " AND EXISTS (";
|
||||
|
|
@ -921,6 +930,12 @@ if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|||
if ($limit > 0 && $limit != $conf->liste_limit) {
|
||||
$param .= '&limit='.((int) $limit);
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($socid > 0) {
|
||||
$param .= '&socid='.urlencode((string) ($socid));
|
||||
}
|
||||
if ($search_all) {
|
||||
$param .= '&search_all='.urlencode($search_all);
|
||||
}
|
||||
|
|
@ -1026,12 +1041,6 @@ if ($search_town) {
|
|||
if ($search_zip) {
|
||||
$param .= '&search_zip='.urlencode($search_zip);
|
||||
}
|
||||
if ($socid > 0) {
|
||||
$param .= '&socid='.urlencode((string) ($socid));
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($search_categ_cus > 0) {
|
||||
$param .= '&search_categ_cus='.urlencode((string) ($search_categ_cus));
|
||||
}
|
||||
|
|
@ -1086,6 +1095,9 @@ if ($search_date_signature_endmonth) {
|
|||
if ($search_date_signature_endyear) {
|
||||
$param .= '&search_date_signature_endyear='.urlencode((string) ($search_date_signature_endyear));
|
||||
}
|
||||
if ($search_import_key != '') {
|
||||
$param .= '&search_import_key='.urlencode($search_import_key);
|
||||
}
|
||||
|
||||
// Add $param from extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
||||
|
|
@ -1499,6 +1511,12 @@ if (!empty($arrayfields['p.note_private']['checked'])) {
|
|||
print '<td class="liste_titre">';
|
||||
print '</td>';
|
||||
}
|
||||
// Import key
|
||||
if (!empty($arrayfields['p.import_key']['checked'])) {
|
||||
print '<td class="liste_titre maxwidthonsmartphone center">';
|
||||
print '<input class="flat searchstring maxwidth50" type="text" name="search_import_key" value="'.dol_escape_htmltag($search_import_key).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Status
|
||||
if (!empty($arrayfields['p.fk_statut']['checked'])) {
|
||||
print '<td class="liste_titre center parentonrightofpage">';
|
||||
|
|
@ -1715,6 +1733,11 @@ if (!empty($arrayfields['p.note_private']['checked'])) {
|
|||
print_liste_field_titre($arrayfields['p.note_private']['label'], $_SERVER["PHP_SELF"], "p.note_private", "", $param, '', $sortfield, $sortorder, 'center nowrap ');
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
// Import key
|
||||
if (!empty($arrayfields['p.import_key']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.import_key']['label'], $_SERVER["PHP_SELF"], "p.import_key", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
}
|
||||
// Status
|
||||
if (!empty($arrayfields['p.fk_statut']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['p.fk_statut']['label'], $_SERVER["PHP_SELF"], "p.fk_statut", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
|
|
@ -2375,6 +2398,15 @@ while ($i < $imaxinloop) {
|
|||
$totalarray['nbfield']++;
|
||||
}
|
||||
}
|
||||
|
||||
// Import key
|
||||
if (!empty($arrayfields['p.import_key']['checked'])) {
|
||||
print '<td class="nowrap center">'.dol_escape_htmltag($obj->import_key).'</td>';
|
||||
if (!$i) {
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
}
|
||||
|
||||
// Status
|
||||
if (!empty($arrayfields['p.fk_statut']['checked'])) {
|
||||
print '<td class="nowrap center">'.$objectstatic->getLibStatut(5).'</td>';
|
||||
|
|
|
|||
|
|
@ -148,6 +148,8 @@ $search_deliveryday = '';
|
|||
$search_deliverymonth = '';
|
||||
$search_deliveryyear = '';
|
||||
|
||||
$search_import_key = trim(GETPOST("search_import_key", "alpha"));
|
||||
|
||||
$diroutputmassaction = $conf->commande->multidir_output[$conf->entity].'/temp/massgeneration/'.$user->id;
|
||||
|
||||
// Load variable for pagination
|
||||
|
|
@ -335,9 +337,6 @@ if (empty($reshook)) {
|
|||
$search_project = '';
|
||||
$search_status = '';
|
||||
$search_billed = '';
|
||||
$toselect = array();
|
||||
$search_array_options = array();
|
||||
$search_categ_cus = 0;
|
||||
$search_datecloture_start = '';
|
||||
$search_datecloture_end = '';
|
||||
$search_fk_cond_reglement = '';
|
||||
|
|
@ -345,6 +344,12 @@ if (empty($reshook)) {
|
|||
$search_fk_mode_reglement = '';
|
||||
$search_fk_input_reason = '';
|
||||
$search_option = '';
|
||||
$search_import_key = '';
|
||||
$search_categ_cus = 0;
|
||||
|
||||
$search_all = '';
|
||||
$toselect = array();
|
||||
$search_array_options = array();
|
||||
}
|
||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')
|
||||
|| GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) {
|
||||
|
|
@ -1080,6 +1085,9 @@ if ($search_fk_mode_reglement > 0) {
|
|||
if ($search_fk_input_reason > 0) {
|
||||
$sql .= " AND c.fk_input_reason = ".((int) $search_fk_input_reason);
|
||||
}
|
||||
if ($search_import_key) {
|
||||
$sql .= natural_search("s.import_key", $search_import_key);
|
||||
}
|
||||
// Search on user
|
||||
if ($search_user > 0) {
|
||||
$sql .= " AND EXISTS (";
|
||||
|
|
@ -1266,6 +1274,12 @@ if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|||
if ($limit > 0 && $limit != $conf->liste_limit) {
|
||||
$param .= '&limit='.((int) $limit);
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($show_files) {
|
||||
$param .= '&show_files='.urlencode((string) ($show_files));
|
||||
}
|
||||
if ($search_all) {
|
||||
$param .= '&search_all='.urlencode($search_all);
|
||||
}
|
||||
|
|
@ -1374,12 +1388,6 @@ if ($search_product_category != '') {
|
|||
if (($search_categ_cus > 0) || ($search_categ_cus == -2)) {
|
||||
$param .= '&search_categ_cus='.urlencode((string) ($search_categ_cus));
|
||||
}
|
||||
if ($show_files) {
|
||||
$param .= '&show_files='.urlencode((string) ($show_files));
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($search_billed != '') {
|
||||
$param .= '&search_billed='.urlencode($search_billed);
|
||||
}
|
||||
|
|
@ -1395,6 +1403,9 @@ if ($search_fk_mode_reglement > 0) {
|
|||
if ($search_fk_input_reason > 0) {
|
||||
$param .= '&search_fk_input_reason='.urlencode((string) ($search_fk_input_reason));
|
||||
}
|
||||
if ($search_import_key != '') {
|
||||
$param .= '&search_import_key='.urlencode($search_import_key);
|
||||
}
|
||||
|
||||
// Add $param from extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
||||
|
|
@ -1876,6 +1887,7 @@ if (!empty($arrayfields['c.facture']['checked'])) {
|
|||
// Import key
|
||||
if (!empty($arrayfields['c.import_key']['checked'])) {
|
||||
print '<td class="liste_titre maxwidthonsmartphone center">';
|
||||
print '<input class="flat searchstring maxwidth50" type="text" name="search_import_key" value="'.dol_escape_htmltag($search_import_key).'">';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
|
|
@ -2090,14 +2102,17 @@ $parameters = array('arrayfields' => $arrayfields, 'param' => $param, 'sortfield
|
|||
$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
|
||||
print $hookmanager->resPrint;
|
||||
|
||||
// Status billed
|
||||
if (!empty($arrayfields['c.facture']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['c.facture']['label'], $_SERVER["PHP_SELF"], 'c.facture', '', $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
// Import key
|
||||
if (!empty($arrayfields['c.import_key']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['c.import_key']['label'], $_SERVER["PHP_SELF"], "c.import_key", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
// Status
|
||||
if (!empty($arrayfields['c.fk_statut']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['c.fk_statut']['label'], $_SERVER["PHP_SELF"], "c.fk_statut", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
|
|
|
|||
|
|
@ -900,7 +900,7 @@ if ($resql) {
|
|||
}
|
||||
|
||||
// Code to adjust value date with plus and less picto using an Ajax call instead of a full reload of page
|
||||
$urlajax = DOL_URL_ROOT.'/core/ajax/bankconciliate.php?token='.currentToken();
|
||||
$urlajax = DOL_URL_ROOT.'/core/ajax/bankconciliate.php?format=dayreduceformat&token='.currentToken();
|
||||
print '
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
|
|
@ -909,10 +909,10 @@ if ($resql) {
|
|||
current.click(function()
|
||||
{
|
||||
var url = "'.$urlajax.'&"+current.attr("href").split("?")[1];
|
||||
console.log("We click on ajaxforbankoperationchange url="+url);
|
||||
$.get(url, function(data)
|
||||
{
|
||||
console.log(url)
|
||||
console.log(data)
|
||||
console.log(data);
|
||||
current.parent().parent().find(".spanforajaxedit").replaceWith(data);
|
||||
});
|
||||
return false;
|
||||
|
|
@ -1663,7 +1663,9 @@ if ($resql) {
|
|||
// Date ope
|
||||
if (!empty($arrayfields['b.dateo']['checked'])) {
|
||||
print '<td class="nowraponall center">';
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$objp->rowid.'" title="'.dol_print_date($db->jdate($objp->do), "day").'">'.dol_print_date($db->jdate($objp->do), "dayreduceformat")."</span>";
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$objp->rowid.'" title="'.dol_print_date($db->jdate($objp->do), "day").'">';
|
||||
print dol_print_date($db->jdate($objp->do), "dayreduceformat");
|
||||
print "</span>";
|
||||
print ' ';
|
||||
print '<span class="inline-block">';
|
||||
print '<a class="ajaxforbankoperationchange" href="'.$_SERVER['PHP_SELF'].'?action=doprev&account='.$objp->bankid.'&rowid='.$objp->rowid.'">';
|
||||
|
|
@ -1680,7 +1682,9 @@ if ($resql) {
|
|||
// Date value
|
||||
if (!empty($arrayfields['b.datev']['checked'])) {
|
||||
print '<td class="nowraponall center">';
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$objp->rowid.'" title="'.dol_print_date($db->jdate($objp->dv), "day").'">'.dol_print_date($db->jdate($objp->dv), "dayreduceformat")."</span>";
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$objp->rowid.'" title="'.dol_print_date($db->jdate($objp->dv), "day").'">';
|
||||
print dol_print_date($db->jdate($objp->dv), "dayreduceformat");
|
||||
print "</span>";
|
||||
print ' ';
|
||||
print '<span class="inline-block">';
|
||||
print '<a class="ajaxforbankoperationchange" href="'.$_SERVER['PHP_SELF'].'?action=dvprev&account='.$objp->bankid.'&rowid='.$objp->rowid.'">';
|
||||
|
|
|
|||
|
|
@ -672,10 +672,10 @@ if ($result) {
|
|||
current.click(function()
|
||||
{
|
||||
var url = "'.$urlajax.'&"+current.attr("href").split("?")[1];
|
||||
console.log("We click on ajaxforbankoperationchange url="+url);
|
||||
$.get(url, function(data)
|
||||
{
|
||||
console.log(url)
|
||||
console.log(data)
|
||||
console.log(data);
|
||||
current.parent().prev().replaceWith(data);
|
||||
});
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -744,12 +744,11 @@ if (empty($numref)) {
|
|||
var current = $(this);
|
||||
current.click(function()
|
||||
{
|
||||
console.log("We click on ajaxforbankoperationchange");
|
||||
var url = "'.$urlajax.'&"+current.attr("href").split("?")[1];
|
||||
console.log("We click on ajaxforbankoperationchange url="+url);
|
||||
$.get(url, function(data)
|
||||
{
|
||||
console.log(url)
|
||||
console.log(data)
|
||||
console.log(data);
|
||||
current.parent().parent().find(".spanforajaxedit").replaceWith(data);
|
||||
});
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@ $search_categ_cus = GETPOST("search_categ_cus", 'intcomma');
|
|||
$search_product_category = GETPOST('search_product_category', 'intcomma');
|
||||
$search_fac_rec_source_title = GETPOST("search_fac_rec_source_title", 'alpha');
|
||||
$search_fk_fac_rec_source = GETPOST('search_fk_fac_rec_source', 'int');
|
||||
$search_import_key = trim(GETPOST("search_import_key", "alpha"));
|
||||
|
||||
$search_option = GETPOST('search_option');
|
||||
if ($search_option == 'late') {
|
||||
|
|
@ -269,6 +270,7 @@ $arrayfields = array(
|
|||
'f.note_public' => array('label' => 'NotePublic', 'checked' => 0, 'position' => 520, 'enabled' => (!getDolGlobalInt('MAIN_LIST_HIDE_PUBLIC_NOTES'))),
|
||||
'f.note_private' => array('label' => 'NotePrivate', 'checked' => 0, 'position' => 521, 'enabled' => (!getDolGlobalInt('MAIN_LIST_HIDE_PRIVATE_NOTES'))),
|
||||
'f.fk_fac_rec_source' => array('label' => 'GeneratedFromTemplate', 'checked' => 0, 'position' => 530, 'enabled' => '1'),
|
||||
'f.import_key' => array('type' => 'varchar(14)', 'label' => 'ImportId', 'enabled' => 1, 'visible' => -2, 'position' => 999),
|
||||
'f.fk_statut' => array('label' => "Status", 'checked' => 1, 'position' => 1000),
|
||||
);
|
||||
|
||||
|
|
@ -408,7 +410,10 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter',
|
|||
$search_datelimit_end = '';
|
||||
$search_fac_rec_source_title = '';
|
||||
$search_option = '';
|
||||
$search_import_key = '';
|
||||
$search_categ_cus = 0;
|
||||
|
||||
$search_all = '';
|
||||
$toselect = array();
|
||||
$search_array_options = array();
|
||||
}
|
||||
|
|
@ -656,7 +661,7 @@ $sql .= ' f.localtax1 as total_localtax1, f.localtax2 as total_localtax2,';
|
|||
$sql .= ' f.fk_user_author,';
|
||||
$sql .= ' f.fk_multicurrency, f.multicurrency_code, f.multicurrency_tx, f.multicurrency_total_ht, f.multicurrency_total_tva as multicurrency_total_vat, f.multicurrency_total_ttc,';
|
||||
$sql .= ' f.datef, f.date_valid, f.date_lim_reglement as datelimite, f.module_source, f.pos_source,';
|
||||
$sql .= ' f.paye as paye, f.fk_statut, f.close_code,';
|
||||
$sql .= ' f.paye as paye, f.fk_statut, f.import_key, f.close_code,';
|
||||
$sql .= ' f.datec as date_creation, f.tms as date_modification, f.date_closing as date_closing,';
|
||||
$sql .= ' f.retained_warranty, f.retained_warranty_date_limit, f.situation_final, f.situation_cycle_ref, f.situation_counter,';
|
||||
$sql .= ' s.rowid as socid, s.nom as name, s.name_alias as alias, s.email, s.phone, s.fax, s.address, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur,';
|
||||
|
|
@ -888,6 +893,9 @@ if (!empty($search_fac_rec_source_title)) {
|
|||
if ($search_fk_fac_rec_source) {
|
||||
$sql .= ' AND f.fk_fac_rec_source = ' . (int) $search_fk_fac_rec_source;
|
||||
}
|
||||
if ($search_import_key) {
|
||||
$sql .= natural_search("s.import_key", $search_import_key);
|
||||
}
|
||||
// Search on user
|
||||
if ($search_user > 0) {
|
||||
$sql .= " AND EXISTS (";
|
||||
|
|
@ -1052,6 +1060,12 @@ if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
|
|||
if ($limit > 0 && $limit != $conf->liste_limit) {
|
||||
$param .= '&limit='.((int) $limit);
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($show_files) {
|
||||
$param .= '&show_files='.urlencode((string) ($show_files));
|
||||
}
|
||||
if ($search_all) {
|
||||
$param .= '&search_all='.urlencode($search_all);
|
||||
}
|
||||
|
|
@ -1208,15 +1222,9 @@ if ($search_module_source) {
|
|||
if ($search_pos_source) {
|
||||
$param .= '&search_pos_source='.urlencode($search_pos_source);
|
||||
}
|
||||
if ($show_files) {
|
||||
$param .= '&show_files='.urlencode((string) ($show_files));
|
||||
}
|
||||
if ($search_option) {
|
||||
$param .= "&search_option=".urlencode($search_option);
|
||||
}
|
||||
if ($optioncss != '') {
|
||||
$param .= '&optioncss='.urlencode($optioncss);
|
||||
}
|
||||
if ($search_categ_cus > 0) {
|
||||
$param .= '&search_categ_cus='.urlencode((string) ($search_categ_cus));
|
||||
}
|
||||
|
|
@ -1226,6 +1234,9 @@ if (!empty($search_fac_rec_source_title)) {
|
|||
if ($search_fk_fac_rec_source) {
|
||||
$param .= '&search_fk_fac_rec_source=' . (int) $search_fk_fac_rec_source;
|
||||
}
|
||||
if ($search_import_key != '') {
|
||||
$param .= '&search_import_key='.urlencode($search_import_key);
|
||||
}
|
||||
|
||||
// Add $param from extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
||||
|
|
@ -1690,6 +1701,12 @@ if (!empty($arrayfields['f.fk_fac_rec_source']['checked'])) {
|
|||
print '<input class="flat maxwidth50imp" type="text" name="search_fac_rec_source_title" id="search_fac_rec_source_title" value="'.dol_escape_htmltag($search_fac_rec_source_title).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Import key
|
||||
if (!empty($arrayfields['f.import_key']['checked'])) {
|
||||
print '<td class="liste_titre maxwidthonsmartphone center">';
|
||||
print '<input class="flat searchstring maxwidth50" type="text" name="search_import_key" value="'.dol_escape_htmltag($search_import_key).'">';
|
||||
print '</td>';
|
||||
}
|
||||
// Status
|
||||
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
||||
print '<td class="liste_titre center parentonrightofpage">';
|
||||
|
|
@ -1924,6 +1941,12 @@ if (!empty($arrayfields['f.fk_fac_rec_source']['checked'])) {
|
|||
print_liste_field_titre($arrayfields['f.fk_fac_rec_source']['label'], $_SERVER["PHP_SELF"], "facrec.titre", "", $param, '', $sortfield, $sortorder);
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
// Import key
|
||||
if (!empty($arrayfields['f.import_key']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['f.import_key']['label'], $_SERVER["PHP_SELF"], "f.import_key", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
// Status
|
||||
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
||||
print_liste_field_titre($arrayfields['f.fk_statut']['label'], $_SERVER["PHP_SELF"], "f.fk_statut,f.paye,f.type", "", $param, '', $sortfield, $sortorder, 'center ');
|
||||
$totalarray['nbfield']++;
|
||||
|
|
@ -2749,6 +2772,15 @@ if ($num > 0) {
|
|||
$totalarray['nbfield']++;
|
||||
}
|
||||
}
|
||||
|
||||
// Import key
|
||||
if (!empty($arrayfields['f.import_key']['checked'])) {
|
||||
print '<td class="nowrap center">'.dol_escape_htmltag($obj->import_key).'</td>';
|
||||
if (!$i) {
|
||||
$totalarray['nbfield']++;
|
||||
}
|
||||
}
|
||||
|
||||
// Status
|
||||
if (!empty($arrayfields['f.fk_statut']['checked'])) {
|
||||
print '<td class="nowrap center">';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Copyright (C) 2010 Regis Houssin <regis.houssin@inodbox.com>
|
||||
/* Copyright (C) 2010 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -17,9 +17,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @var Canvas $this
|
||||
* @var Conf $conf
|
||||
* @var Contact $object
|
||||
* @var Translate $langs
|
||||
*
|
||||
* @var string $canvas
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Copyright (C) 2010 Regis Houssin <regis.houssin@inodbox.com>
|
||||
/* Copyright (C) 2010 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -17,9 +17,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @var Canvas $this
|
||||
* @var Conf $conf
|
||||
* @var Contact $object
|
||||
* @var Translate $langs
|
||||
*
|
||||
* @var string $canvas
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
/* Copyright (C) 2010-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
@ -17,10 +17,13 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @var Canvas $this
|
||||
* @var Conf $conf
|
||||
* @var Contact $object
|
||||
* @var Translate $langs
|
||||
* @var User $user
|
||||
*
|
||||
* @var string $canvas
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
|
|||
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
|
||||
$format = GETPOST('format');
|
||||
|
||||
// Security check
|
||||
// Checks are done later
|
||||
|
||||
|
|
@ -72,7 +74,7 @@ if (($user->hasRight('banque', 'modifier') || $user->hasRight('banque', 'consoli
|
|||
$al->datev_next(GETPOSTINT('rowid'));
|
||||
$al->fetch(GETPOSTINT('rowid'));
|
||||
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$al->id.'">'.dol_print_date($al->datev, "day").'</span>';
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$al->id.'">'.dol_print_date($al->datev, ($format ? $format : "day")).'</span>';
|
||||
|
||||
exit;
|
||||
}
|
||||
|
|
@ -83,7 +85,7 @@ if (($user->hasRight('banque', 'modifier') || $user->hasRight('banque', 'consoli
|
|||
$al->datev_previous(GETPOSTINT('rowid'));
|
||||
$al->fetch(GETPOSTINT('rowid'));
|
||||
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$al->id.'">'.dol_print_date($al->datev, "day").'</span>';
|
||||
print '<span class="spanforajaxedit" id="datevalue_'.$al->id.'">'.dol_print_date($al->datev, ($format ? $format : "day")).'</span>';
|
||||
|
||||
exit;
|
||||
}
|
||||
|
|
@ -94,7 +96,7 @@ if (($user->hasRight('banque', 'modifier') || $user->hasRight('banque', 'consoli
|
|||
$al->dateo_next(GETPOSTINT('rowid'));
|
||||
$al->fetch(GETPOSTINT('rowid'));
|
||||
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$al->id.'">'.dol_print_date($al->dateo, "day").'</span>';
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$al->id.'">'.dol_print_date($al->dateo, ($format ? $format : "day")).'</span>';
|
||||
|
||||
exit;
|
||||
}
|
||||
|
|
@ -105,7 +107,7 @@ if (($user->hasRight('banque', 'modifier') || $user->hasRight('banque', 'consoli
|
|||
$al->dateo_previous(GETPOSTINT('rowid'));
|
||||
$al->fetch(GETPOSTINT('rowid'));
|
||||
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$al->id.'">'.dol_print_date($al->dateo, "day").'</span>';
|
||||
print '<span class="spanforajaxedit" id="dateoperation_'.$al->id.'">'.dol_print_date($al->dateo, ($format ? $format : "day")).'</span>';
|
||||
|
||||
exit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
<?php
|
||||
/* Copyright (C) 2006-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2010-2020 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2011-2022 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2015-2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2016 Bahfir abbes <bafbes@gmail.com>
|
||||
* Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr>
|
||||
* Copyright (C) 2017-2019 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
||||
/* Copyright (C) 2006-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2010-2020 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2012-2013 Christophe Battarel <christophe.battarel@altairis.fr>
|
||||
* Copyright (C) 2011-2022 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com>
|
||||
* Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
* Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr>
|
||||
* Copyright (C) 2015-2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||
* Copyright (C) 2016 Bahfir abbes <bafbes@gmail.com>
|
||||
* Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr>
|
||||
* Copyright (C) 2017-2019 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
||||
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat>
|
||||
* Copyright (C) 2023 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
||||
* Copyright (C) 2021 Grégory Blémand <gregory.blemand@atm-consulting.fr>
|
||||
* Copyright (C) 2023 Lenin Rivas <lenin.rivas777@gmail.com>
|
||||
* Copyright (C) 2018 Josep Lluís Amador <joseplluis@lliuretic.cat>
|
||||
* Copyright (C) 2023 Gauthier VERDOL <gauthier.verdol@atm-consulting.fr>
|
||||
* Copyright (C) 2021 Grégory Blémand <gregory.blemand@atm-consulting.fr>
|
||||
* Copyright (C) 2023 Lenin Rivas <lenin.rivas777@gmail.com>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 William Mead <william.mead@manchenumerique.fr>
|
||||
*
|
||||
|
|
|
|||
|
|
@ -7271,7 +7271,7 @@ class Form
|
|||
// Input area to enter date manually
|
||||
$retstring .= '<input id="' . $prefix . '" name="' . $prefix . '" type="text" class="maxwidthdate center" maxlength="11" value="' . $formated_date . '"';
|
||||
$retstring .= ($disabled ? ' disabled' : '');
|
||||
$retstring .= ' onChange="dpChangeDay(\'' . $prefix . '\',\'' . $langs->trans("FormatDateShortJavaInput") . '\'); "'; // FormatDateShortInput for dol_print_date / FormatDateShortJavaInput that is same for javascript
|
||||
$retstring .= ' onChange="dpChangeDay(\'' . dol_escape_js($prefix) . '\',\'' . dol_escape_js($langs->trans("FormatDateShortJavaInput")) . '\'); "'; // FormatDateShortInput for dol_print_date / FormatDateShortJavaInput that is same for javascript
|
||||
$retstring .= ' autocomplete="off">';
|
||||
|
||||
// Icon calendar
|
||||
|
|
@ -10539,7 +10539,7 @@ class Form
|
|||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
|
||||
/**
|
||||
* Return select list of groups
|
||||
* Return select list of user groups
|
||||
*
|
||||
* @param int|object|object[] $selected Id group or group(s) preselected
|
||||
* @param string $htmlname Field name in form
|
||||
|
|
|
|||
|
|
@ -222,37 +222,59 @@ function getObjectFromID(id){
|
|||
return theObject;
|
||||
}
|
||||
|
||||
// Called after selection of a date to save details into detailed fields
|
||||
// Called after the selection or typing of a date to save details into detailed fields
|
||||
function dpChangeDay(dateFieldID, format)
|
||||
{
|
||||
//showDP.datefieldID=dateFieldID;
|
||||
console.log("Call dpChangeDay, we save date into detailed fields from format = "+format);
|
||||
|
||||
var thefield=getObjectFromID(dateFieldID);
|
||||
var thefieldday=getObjectFromID(dateFieldID+"day");
|
||||
var thefieldmonth=getObjectFromID(dateFieldID+"month");
|
||||
var thefieldyear=getObjectFromID(dateFieldID+"year");
|
||||
var thefield = getObjectFromID(dateFieldID);
|
||||
var thefieldday = getObjectFromID(dateFieldID+"day");
|
||||
var thefieldmonth = getObjectFromID(dateFieldID+"month");
|
||||
var thefieldyear = getObjectFromID(dateFieldID+"year");
|
||||
|
||||
var date=getDateFromFormat(thefield.value, format);
|
||||
var date = getDateFromFormat(thefield.value, format);
|
||||
//console.log(date);
|
||||
if (date)
|
||||
{
|
||||
thefieldday.value=date.getDate();
|
||||
if(thefieldday.onchange) thefieldday.onchange.call(thefieldday);
|
||||
thefieldmonth.value=date.getMonth()+1;
|
||||
if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth);
|
||||
thefieldyear.value=date.getFullYear();
|
||||
if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear);
|
||||
thefieldday.value = date.getDate();
|
||||
if (thefieldday.onchange) thefieldday.onchange.call(thefieldday);
|
||||
thefieldmonth.value = date.getMonth()+1;
|
||||
if (thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth);
|
||||
thefieldyear.value = date.getFullYear();
|
||||
if (thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear);
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
thefieldday.value='';
|
||||
if(thefieldday.onchange) thefieldday.onchange.call(thefieldday);
|
||||
thefieldmonth.value='';
|
||||
if(thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth);
|
||||
thefieldyear.value='';
|
||||
if(thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear);
|
||||
|
||||
// Replace yyyy into yy
|
||||
newformat = format.replace(/yyyy/g, 'yy');
|
||||
if (newformat != format) {
|
||||
console.log("dpChangeDay, we try now from format = "+newformat);
|
||||
|
||||
var date = getDateFromFormat(thefield.value, newformat);
|
||||
//console.log(date);
|
||||
if (date)
|
||||
{
|
||||
thefieldday.value = date.getDate();
|
||||
if (thefieldday.onchange) thefieldday.onchange.call(thefieldday);
|
||||
thefieldmonth.value = date.getMonth()+1;
|
||||
if (thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth);
|
||||
thefieldyear.value = date.getFullYear();
|
||||
if (thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear);
|
||||
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
thefieldday.value = '';
|
||||
if (thefieldday.onchange) thefieldday.onchange.call(thefieldday);
|
||||
thefieldmonth.value = '';
|
||||
if (thefieldmonth.onchange) thefieldmonth.onchange.call(thefieldmonth);
|
||||
thefieldyear.value = '';
|
||||
if (thefieldyear.onchange) thefieldyear.onchange.call(thefieldyear);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -337,13 +359,13 @@ function formatDate(date,format)
|
|||
* Licence: GPL
|
||||
* ==================================================================
|
||||
*/
|
||||
function getDateFromFormat(val,format)
|
||||
function getDateFromFormat(val, format)
|
||||
{
|
||||
// alert('getDateFromFormat val='+val+' format='+format);
|
||||
|
||||
// Force parameters en chaine
|
||||
val=val+"";
|
||||
format=format+"";
|
||||
val = val+"";
|
||||
format = format+"";
|
||||
|
||||
if (val == '') return 0;
|
||||
|
||||
|
|
@ -356,17 +378,14 @@ function getDateFromFormat(val,format)
|
|||
var seconde=now.getSeconds();
|
||||
|
||||
var i=0;
|
||||
var d=0; // -d- follows the date string while -i- follows the format
|
||||
// string
|
||||
var d=0; // -d- follows the date string while -i- follows the format string
|
||||
|
||||
while (i < format.length)
|
||||
{
|
||||
c=format.charAt(i); // Recupere char du format
|
||||
substr="";
|
||||
j=i;
|
||||
while ((format.charAt(j)==c) && (j < format.length)) // Recupere char
|
||||
// successif
|
||||
// identiques
|
||||
while ((format.charAt(j)==c) && (j < format.length)) // Get successive similar characters
|
||||
{
|
||||
substr += format.charAt(j++);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1641,14 +1641,19 @@ function dol_delete_dir($dir, $nophperrors = 0)
|
|||
* @param int $onlysub Delete only files and subdir, not main directory
|
||||
* @param int $countdeleted Counter to count nb of elements found really deleted
|
||||
* @param int $indexdatabase Try to remove also index entries.
|
||||
* @param int $nolog Disable log files (too verbose when making recursive directories)
|
||||
* @param int $nolog 1=Disable log for files and subdirectories (too verbose when making recursive directories)
|
||||
* @param int $level 0 = level or recursivity
|
||||
* @return int Number of files and directory we try to remove. NB really removed is returned into var by reference $countdeleted.
|
||||
*/
|
||||
function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0, $indexdatabase = 1, $nolog = 0)
|
||||
function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0, $indexdatabase = 1, $nolog = 0, $level = 0)
|
||||
{
|
||||
if (empty($nolog)) {
|
||||
if (empty($nolog) || empty($level)) {
|
||||
dol_syslog("functions.lib:dol_delete_dir_recursive ".$dir, LOG_DEBUG);
|
||||
}
|
||||
if ($level > 1000) {
|
||||
dol_syslog("functions.lib:dol_delete_dir_recursive too many depth", LOG_WARNING);
|
||||
}
|
||||
|
||||
if (dol_is_dir($dir)) {
|
||||
$dir_osencoded = dol_osencode($dir);
|
||||
if ($handle = opendir("$dir_osencoded")) {
|
||||
|
|
@ -1659,7 +1664,7 @@ function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub =
|
|||
|
||||
if ($item != "." && $item != "..") {
|
||||
if (is_dir(dol_osencode("$dir/$item")) && !is_link(dol_osencode("$dir/$item"))) {
|
||||
$count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted, $indexdatabase, $nolog);
|
||||
$count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted, $indexdatabase, $nolog, ($level + 1));
|
||||
} else {
|
||||
$result = dol_delete_file("$dir/$item", 1, $nophperrors, 0, null, false, $indexdatabase, $nolog);
|
||||
$count++;
|
||||
|
|
@ -2485,7 +2490,7 @@ function dol_compress_file($inputfile, $outputfile, $mode = "gz", &$errorstring
|
|||
if (defined('ODTPHP_PATHTOPCLZIP')) {
|
||||
$foundhandler = 1;
|
||||
|
||||
include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php';
|
||||
include_once ODTPHP_PATHTOPCLZIP.'pclzip.lib.php';
|
||||
$archive = new PclZip($outputfile);
|
||||
|
||||
$result = $archive->add($inputfile, PCLZIP_OPT_REMOVE_PATH, dirname($inputfile));
|
||||
|
|
@ -2552,7 +2557,7 @@ function dol_uncompress($inputfile, $outputdir)
|
|||
if ($fileinfo["extension"] == "zip") {
|
||||
if (defined('ODTPHP_PATHTOPCLZIP') && !getDolGlobalString('MAIN_USE_ZIPARCHIVE_FOR_ZIP_UNCOMPRESS')) {
|
||||
dol_syslog("Constant ODTPHP_PATHTOPCLZIP for pclzip library is set to ".ODTPHP_PATHTOPCLZIP.", so we use Pclzip to unzip into ".$outputdir);
|
||||
include_once ODTPHP_PATHTOPCLZIP.'/pclzip.lib.php';
|
||||
include_once ODTPHP_PATHTOPCLZIP.'pclzip.lib.php';
|
||||
$archive = new PclZip($inputfile);
|
||||
|
||||
// We create output dir manually, so it uses the correct permission (When created by the archive->extract, dir is rwx for everybody).
|
||||
|
|
|
|||
|
|
@ -173,8 +173,9 @@ class pdf_standard_asset extends ModelePDFAsset
|
|||
// Load translation files required by the page
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
||||
global $outputlangsbis;
|
||||
$outputlangsbis = null;
|
||||
if (getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE') && $outputlangs->defaultlang != getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE')) {
|
||||
global $outputlangsbis;
|
||||
$outputlangsbis = new Translate('', $conf);
|
||||
$outputlangsbis->setDefaultLang(getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE'));
|
||||
$outputlangsbis->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class mod_asset_advanced extends ModeleNumRefAsset
|
|||
$text .= '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
$text .= '<input type="hidden" name="action" value="updateMask">';
|
||||
$text .= '<input type="hidden" name="maskconst" value="ASSET_ADVANCED_MASK">';
|
||||
$text .= '<table class="nobordernopadding" width="100%">';
|
||||
$text .= '<table class="nobordernopadding centpercent">';
|
||||
|
||||
$tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Asset"), $langs->transnoentities("Asset"));
|
||||
$tooltip .= $langs->trans("GenericMaskCodes2");
|
||||
|
|
@ -81,7 +81,7 @@ class mod_asset_advanced extends ModeleNumRefAsset
|
|||
|
||||
// Parametrage du prefix
|
||||
$text .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="mask" value="'.getDolGlobalString('ASSET_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="mask" value="'.getDolGlobalString('ASSET_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$text .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode
|
|||
// Mask parameter
|
||||
//$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("BarCodeModel").'):</td>';
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.(getDolGlobalString('BARCODE_STANDARD_PRODUCT_MASK') ? $conf->global->BARCODE_STANDARD_PRODUCT_MASK : '').'"'.$disabled.'>', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.getDolGlobalString('BARCODE_STANDARD_PRODUCT_MASK').'"'.$disabled.'>', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="modify" value="'.$langs->trans("Modify").'"'.$disabled.'></td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ class mod_barcode_thirdparty_standard extends ModeleNumRefBarCode
|
|||
// Mask parameter
|
||||
//$texte.= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("BarCodeModel").'):</td>';
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.(getDolGlobalString('BARCODE_STANDARD_THIRDPARTY_MASK') ? $conf->global->BARCODE_STANDARD_THIRDPARTY_MASK : '').'"'.$disabled.'>', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.getDolGlobalString('BARCODE_STANDARD_THIRDPARTY_MASK').'"'.$disabled.'>', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="modify" value="'.$langs->trans("Modify").'"'.$disabled.'></td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class mod_bom_advanced extends ModeleNumRefBoms
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskBom" value="'.getDolGlobalString('BOM_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskBom" value="'.getDolGlobalString('BOM_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ class mod_chequereceipt_thyme extends ModeleNumRefChequeReceipts
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskchequereceipts" value="' . getDolGlobalString('CHEQUERECEIPTS_THYME_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskchequereceipts" value="' . getDolGlobalString('CHEQUERECEIPTS_THYME_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class mod_commande_saphir extends ModeleNumRefCommandes
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskorder" value="'.getDolGlobalString("COMMANDE_SAPHIR_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskorder" value="'.getDolGlobalString("COMMANDE_SAPHIR_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ class mod_contract_magre extends ModelNumRefContracts
|
|||
$tooltip .= '<br>'.$langs->trans("GenericMaskCodes5b");
|
||||
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcontract" value="'.getDolGlobalString("CONTRACT_MAGRE_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcontract" value="'.getDolGlobalString("CONTRACT_MAGRE_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
$texte .= '</tr>';
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class mod_delivery_saphir extends ModeleNumRefDeliveryOrder
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdelivery" value="'.getDolGlobalString('DELIVERY_SAPHIR_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdelivery" value="'.getDolGlobalString('DELIVERY_SAPHIR_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class mod_expedition_ribera extends ModelNumRefExpedition
|
|||
$tooltip .= '<br>'.$langs->trans("GenericMaskCodes5b");
|
||||
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskexpedition" value="'.getDolGlobalString('EXPEDITION_RIBERA_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskexpedition" value="'.getDolGlobalString('EXPEDITION_RIBERA_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
$texte .= '</tr>';
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class mod_expensereport_sand extends ModeleNumRefExpenseReport
|
|||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$mask = getDolGlobalString('EXPENSEREPORT_SAND_MASK');
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.$mask.'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class mod_facture_mercure extends ModeleNumRefFactures
|
|||
|
||||
// Setting the prefix
|
||||
$texte .= '<tr><td><span class="opacitymedium">'.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").'):</span></td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskinvoice" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_INVOICE").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipstandardmercure').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskinvoice" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_INVOICE").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipstandardmercure').'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="3"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
@ -92,20 +92,20 @@ class mod_facture_mercure extends ModeleNumRefFactures
|
|||
|
||||
// Prefix setting of credit note
|
||||
$texte .= '<tr><td><span class="opacitymedium">'.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):</span></td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcredit" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_CREDIT").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipcreditnotemercure').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcredit" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_CREDIT").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipcreditnotemercure').'</td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
// Prefix setting of replacement invoices
|
||||
if (!getDolGlobalString('INVOICE_DISABLE_REPLACEMENT')) {
|
||||
$texte .= '<tr><td><span class="opacitymedium">'.$langs->trans("Mask").' ('.$langs->trans("InvoiceReplacement").'):</span></td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreplacement" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_REPLACEMENT").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipreplacementmercure').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreplacement" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_REPLACEMENT").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipreplacementmercure').'</td>';
|
||||
$texte .= '</tr>';
|
||||
}
|
||||
|
||||
// Prefix setting of deposit
|
||||
if (!getDolGlobalString('INVOICE_DISABLE_DEPOSIT')) {
|
||||
$texte .= '<tr><td><span class="opacitymedium">'.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):</span></td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdeposit" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_DEPOSIT").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipdownpaymentmercure').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdeposit" value="'.getDolGlobalString("FACTURE_MERCURE_MASK_DEPOSIT").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipdownpaymentmercure').'</td>';
|
||||
$texte .= '</tr>';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class mod_arctic extends ModeleNumRefFicheinter
|
|||
|
||||
// Setting the prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.getDolGlobalString("FICHINTER_ARTIC_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.getDolGlobalString("FICHINTER_ARTIC_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ class mod_holiday_immaculate extends ModelNumRefHolidays
|
|||
//$tooltip .= '<br>'.$langs->trans("GenericMaskCodes5b");
|
||||
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskholiday" value="'.getDolGlobalString('HOLIDAY_IMMACULATE_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskholiday" value="'.getDolGlobalString('HOLIDAY_IMMACULATE_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
$texte .= '</tr>';
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class mod_evaluation_advanced extends ModeleNumRefEvaluation
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskEvaluation" value="'.getDolGlobalString('HRM_EVALUATION_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskEvaluation" value="'.getDolGlobalString('HRM_EVALUATION_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edismallt reposition smallpaddingimp" value="'.$langs->trans("Modify").'" name="Button"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ class pdf_standard_member extends CommonStickerGenerator
|
|||
|
||||
// List of values to scan for a replacement
|
||||
$substitutionarray = array(
|
||||
'__ID__' => $object->id,
|
||||
'__ID__' => (string) $object->id,
|
||||
'__REF__' => $object->ref,
|
||||
'__LOGIN__' => empty($object->login) ? '' : $object->login,
|
||||
'__FIRSTNAME__' => empty($object->firstname) ? '' : $object->firstname,
|
||||
|
|
@ -309,7 +309,7 @@ class pdf_standard_member extends CommonStickerGenerator
|
|||
'__YEAR__' => $year,
|
||||
'__MONTH__' => $month,
|
||||
'__DAY__' => $day,
|
||||
'__DOL_MAIN_URL_ROOT__' => DOL_MAIN_URL_ROOT,
|
||||
'__DOL_MAIN_URL_ROOT__' => (string) DOL_MAIN_URL_ROOT,
|
||||
'__SERVER__' => "https://".$_SERVER["SERVER_NAME"]."/"
|
||||
);
|
||||
complete_substitutions_array($substitutionarray, $langs);
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class mod_mo_advanced extends ModeleNumRefMos
|
|||
|
||||
// Parametrage du prefix
|
||||
$text .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskMo" value="'.getDolGlobalString('MRP_MO_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskMo" value="'.getDolGlobalString('MRP_MO_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$text .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ class mod_payment_ant extends ModeleNumRefPayments
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpayment" value="'.getDolGlobalString('PAYMENT_ANT_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpayment" value="'.getDolGlobalString('PAYMENT_ANT_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class mod_codeproduct_elephant extends ModeleProductCode
|
|||
|
||||
// Parametrage du prefix customers
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("ProductCodeModel").'):</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.(getDolGlobalString('PRODUCT_ELEPHANT_MASK_PRODUCT') ? $conf->global->PRODUCT_ELEPHANT_MASK_PRODUCT : '').'"'.$disabled.'>', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.(getDolGlobalString('PRODUCT_ELEPHANT_MASK_PRODUCT') ? $conf->global->PRODUCT_ELEPHANT_MASK_PRODUCT : '').'"'.$disabled.'>', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="modify" value="'.$langs->trans("Modify").'"'.$disabled.'></td>';
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ class mod_codeproduct_elephant extends ModeleProductCode
|
|||
|
||||
// Parametrage du prefix suppliers
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("ServiceCodeModel").'):</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value2" value="'.(getDolGlobalString('PRODUCT_ELEPHANT_MASK_SERVICE') ? $conf->global->PRODUCT_ELEPHANT_MASK_SERVICE : '').'"'.$disabled.'>', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value2" value="'.(getDolGlobalString('PRODUCT_ELEPHANT_MASK_SERVICE') ? $conf->global->PRODUCT_ELEPHANT_MASK_SERVICE : '').'"'.$disabled.'>', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class mod_lot_advanced extends ModeleNumRefBatch
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskLot" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskLot" value="'.$mask.'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class mod_sn_advanced extends ModeleNumRefBatch
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskSN" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskSN" value="'.$mask.'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class mod_project_universal extends ModeleNumRefProjects
|
|||
|
||||
// Prefix settings
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskproject" value="'.getDolGlobalString('PROJECT_UNIVERSAL_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskproject" value="'.getDolGlobalString('PROJECT_UNIVERSAL_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class mod_task_universal extends ModeleNumRefTask
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masktask" value="'.getDolGlobalString('PROJECT_TASK_UNIVERSAL_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masktask" value="'.getDolGlobalString('PROJECT_TASK_UNIVERSAL_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ class mod_propale_saphir extends ModeleNumRefPropales
|
|||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$mask = !getDolGlobalString('PROPALE_SAPHIR_MASK') ? '' : $conf->global->PROPALE_SAPHIR_MASK;
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpropal" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskpropal" value="'.$mask.'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class mod_reception_moonstone extends ModelNumRefReception
|
|||
$tooltip .= '<br>'.$langs->trans("GenericMaskCodes5b");
|
||||
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreception" value="'.getDolGlobalString("RECEPTION_MOONSTONE_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreception" value="'.getDolGlobalString("RECEPTION_MOONSTONE_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
$texte .= '</tr>';
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode
|
|||
|
||||
// Parametrage du prefix customers
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("CustomerCodeModel").'):</td>';
|
||||
$texte .= '<td class="right nowraponall">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.getDolGlobalString('COMPANY_ELEPHANT_MASK_CUSTOMER').'"'.$disabled.'>', $tooltip, 1, 1, '', 0, 3, 'tooltipelephantcutomer').'</td>';
|
||||
$texte .= '<td class="right nowraponall">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value1" value="'.getDolGlobalString('COMPANY_ELEPHANT_MASK_CUSTOMER').'"'.$disabled.'>', $tooltip, 1, 'help', '', 0, 3, 'tooltipelephantcutomer').'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="modify" value="'.$langs->trans("Modify").'"'.$disabled.'></td>';
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode
|
|||
|
||||
// Parametrage du prefix suppliers
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("SupplierCodeModel").'):</td>';
|
||||
$texte .= '<td class="right nowraponall">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value2" value="'.getDolGlobalString('COMPANY_ELEPHANT_MASK_SUPPLIER').'"'.$disabled.'>', $tooltip, 1, 1, '', 0, 3, 'tooltipelephantsupplier').'</td>';
|
||||
$texte .= '<td class="right nowraponall">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="value2" value="'.getDolGlobalString('COMPANY_ELEPHANT_MASK_SUPPLIER').'"'.$disabled.'>', $tooltip, 1, 'help', '', 0, 3, 'tooltipelephantsupplier').'</td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
// Date of switch to that numbering model
|
||||
|
|
|
|||
|
|
@ -87,7 +87,6 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
|
|||
*/
|
||||
public function info($langs)
|
||||
{
|
||||
global $conf;
|
||||
global $form;
|
||||
|
||||
$langs->load("companies");
|
||||
|
|
@ -100,8 +99,8 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
|
|||
$texte .= '<input type="hidden" name="param1" value="COMPANY_AQUARIUM_MASK_SUPPLIER">';
|
||||
$texte .= '<input type="hidden" name="param2" value="COMPANY_AQUARIUM_MASK_CUSTOMER">';
|
||||
$texte .= '<table class="nobordernopadding" width="100%">';
|
||||
$s1 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value1" value="' . getDolGlobalString('COMPANY_AQUARIUM_MASK_SUPPLIER').'">', $tooltip, 1, 1);
|
||||
$s2 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value2" value="' . getDolGlobalString('COMPANY_AQUARIUM_MASK_CUSTOMER').'">', $tooltip, 1, 1);
|
||||
$s1 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value1" value="' . getDolGlobalString('COMPANY_AQUARIUM_MASK_SUPPLIER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$s2 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value2" value="' . getDolGlobalString('COMPANY_AQUARIUM_MASK_CUSTOMER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$texte .= '<tr><td>';
|
||||
// trans remove html entities
|
||||
$texte .= $langs->trans("ModuleCompanyCodeCustomer".$this->name, '{s2}')."<br>\n";
|
||||
|
|
|
|||
|
|
@ -112,10 +112,10 @@ class mod_codecompta_digitaria extends ModeleAccountancyCode
|
|||
$texte .= '<input type="hidden" name="param4" value="COMPANY_DIGITARIA_MASK_NBCHARACTER_CUSTOMER">';
|
||||
$texte .= '<input type="hidden" name="param5" value="COMPANY_DIGITARIA_CLEAN_WORDS">';
|
||||
$texte .= '<table class="nobordernopadding centpercent">';
|
||||
$s1 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value1" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_SUPPLIER').'">', $tooltip, 1, 1);
|
||||
$s2 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value2" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_CUSTOMER').'">', $tooltip, 1, 1);
|
||||
$s3 = $form->textwithpicto('<input type="text" class="flat" size="2" name="value3" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_NBCHARACTER_SUPPLIER').'">', $tooltip, 1, 1);
|
||||
$s4 = $form->textwithpicto('<input type="text" class="flat" size="2" name="value4" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_NBCHARACTER_CUSTOMER').'">', $tooltip, 1, 1);
|
||||
$s1 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value1" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_SUPPLIER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$s2 = $form->textwithpicto('<input type="text" class="flat" size="4" name="value2" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_CUSTOMER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$s3 = $form->textwithpicto('<input type="text" class="flat" size="2" name="value3" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_NBCHARACTER_SUPPLIER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$s4 = $form->textwithpicto('<input type="text" class="flat" size="2" name="value4" value="' . getDolGlobalString('COMPANY_DIGITARIA_MASK_NBCHARACTER_CUSTOMER').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name);
|
||||
$texte .= '<tr><td>';
|
||||
// trans remove html entities
|
||||
$texte .= $langs->trans("ModuleCompanyCodeCustomer".$this->name, '{s2}', '{s4}')."<br>\n";
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class mod_stocktransfer_advanced extends ModeleNumRefStockTransfer
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskStockTransfer" value="'.getDolGlobalString('STOCKTRANSFER_STOCKTRANSFER_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat" size="24" name="maskStockTransfer" value="'.getDolGlobalString('STOCKTRANSFER_STOCKTRANSFER_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" value="'.$langs->trans("Modify").'" name="Button"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||
// Setting the prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceStandard").')';
|
||||
$texte .= ':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskinvoice" value="'.getDolGlobalString("SUPPLIER_INVOICE_TULIP_MASK").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipstandardtulip').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskinvoice" value="'.getDolGlobalString("SUPPLIER_INVOICE_TULIP_MASK").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipstandardtulip').'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
@ -107,19 +107,19 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices
|
|||
|
||||
// Prefix setting of credit note
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceAvoir").'):</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcredit" value="'.getDolGlobalString("SUPPLIER_CREDIT_TULIP_MASK").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipcredittuplie').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcredit" value="'.getDolGlobalString("SUPPLIER_CREDIT_TULIP_MASK").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipcredittuplie').'</td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
if (!getDolGlobalString('INVOICE_DISABLE_REPLACEMENT') && getDolGlobalInt('MAIN_FEATURES_LEVEL') >= 2) {
|
||||
// Prefix setting of replacement
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceReplacement").'):</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreplacement" value="'.getDolGlobalString("SUPPLIER_REPLACEMENT_TULIP_MASK").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipreplacementtulip').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskreplacement" value="'.getDolGlobalString("SUPPLIER_REPLACEMENT_TULIP_MASK").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipreplacementtulip').'</td>';
|
||||
$texte .= '</tr>';
|
||||
}
|
||||
|
||||
// Prefix setting of deposit
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").' ('.$langs->trans("InvoiceDeposit").'):</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdeposit" value="'.getDolGlobalString("SUPPLIER_DEPOSIT_TULIP_MASK").'">', $tooltip, 1, 1, '', 0, 3, 'tooltipdownpaymenttulip').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskdeposit" value="'.getDolGlobalString("SUPPLIER_DEPOSIT_TULIP_MASK").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltipdownpaymenttulip').'</td>';
|
||||
$texte .= '</tr>';
|
||||
|
||||
$texte .= '</table>';
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskorder" value="'.getDolGlobalString("COMMANDE_FOURNISSEUR_ORCHIDEE_MASK").'">', $tooltip, 1, 1, '', 0, 3, 'tooltiporchidee').'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskorder" value="'.getDolGlobalString("COMMANDE_FOURNISSEUR_ORCHIDEE_MASK").'">', $tooltip, 1, 'help', '', 0, 3, 'tooltiporchidee').'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class mod_supplier_payment_brodator extends ModeleNumRefSupplierPayments
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masksupplierpayment" value="'.getDolGlobalString("SUPPLIER_PAYMENT_BRODATOR_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masksupplierpayment" value="'.getDolGlobalString("SUPPLIER_PAYMENT_BRODATOR_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ class mod_supplier_payment_brodator extends ModeleNumRefSupplierPayments
|
|||
return 0;
|
||||
}
|
||||
|
||||
$numFinal = get_next_value($db, $mask, 'paiementfourn', 'ref', '', $objsoc, $object->datepaye);
|
||||
$numFinal = get_next_value($db, $mask, 'paiementfourn', 'ref', '', $objsoc, is_object($object) ?$object->datepaye :'');
|
||||
|
||||
return $numFinal;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ class mod_supplier_proposal_saphir extends ModeleNumRefSupplierProposal
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masksupplier_proposal" value="'.$mask.'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="masksupplier_proposal" value="'.$mask.'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class mod_takepos_ref_universal extends ModeleNumRefTakepos
|
|||
|
||||
// Setting up the prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.getDolGlobalString('TAKEPOS_REF_UNIVERSAL_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskvalue" value="'.getDolGlobalString('TAKEPOS_REF_UNIVERSAL_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"><input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ class mod_ticket_universal extends ModeleNumRefTicket
|
|||
|
||||
// Prefix settings
|
||||
$text .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskticket" value="'.getDolGlobalString("TICKET_UNIVERSAL_MASK").'">', $tooltip, 1, 1).'</td>';
|
||||
$text .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskticket" value="'.getDolGlobalString("TICKET_UNIVERSAL_MASK").'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$text .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class mod_workstation_advanced extends ModeleNumRefWorkstation
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskWorkstation" value="'.getDolGlobalString('WORKSTATION_WORKSTATION_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskWorkstation" value="'.getDolGlobalString('WORKSTATION_WORKSTATION_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit reposition smallpaddingimp" name="Button" value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
* Copyright (C) 2011-2022 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2024 Charlene Benke <charlene@patas-monkey.com>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -317,7 +318,7 @@ if (!empty($captcha)) {
|
|||
}
|
||||
|
||||
// List of directories where we can find captcha handlers
|
||||
$dirModCaptcha = array_merge(array('main' => '/core/modules/security/captcha/'), is_array($conf->modules_parts['captcha']) ? $conf->modules_parts['captcha'] : array());
|
||||
$dirModCaptcha = array_merge(array('main' => '/core/modules/security/captcha/'), (isset($conf->modules_parts['captcha']) && is_array($conf->modules_parts['captcha'])) ? $conf->modules_parts['captcha'] : array());
|
||||
$fullpathclassfile = '';
|
||||
foreach ($dirModCaptcha as $dir) {
|
||||
$fullpathclassfile = dol_buildpath($dir."modCaptcha".ucfirst($captcha).'.class.php', 0, 2);
|
||||
|
|
@ -334,7 +335,7 @@ if (!empty($captcha)) {
|
|||
$classname = "modCaptcha".ucfirst($captcha);
|
||||
if (class_exists($classname)) {
|
||||
/** @var ModeleCaptcha $captchaobj */
|
||||
$captchaobj = new $classname($db, $conf, $langs, $user);
|
||||
$captchaobj = new $classname($db, $conf, $langs, null);
|
||||
'@phan-var-force ModeleCaptcha $captchaobj';
|
||||
|
||||
if (is_object($captchaobj) && method_exists($captchaobj, 'getCaptchaCodeForForm')) {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2010 Pierre Morin <pierre.morin@auguria.net>
|
||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2022 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
* Copyright (C) 2022 Ferran Marcet <fmarcet@2byte.es>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -102,9 +102,12 @@ function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disab
|
|||
* Footer empty
|
||||
*
|
||||
* @ignore
|
||||
* @param string $comment A text to add as HTML comment into HTML generated page
|
||||
* @param string $zone 'private' (for private pages) or 'public' (for public pages)
|
||||
* @param int $disabledoutputofmessages Clear all messages stored into session without displaying them
|
||||
* @return void
|
||||
*/
|
||||
function llxFooter()
|
||||
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -836,7 +836,8 @@ IMG;
|
|||
dol_mkdir($conf->user->dir_temp); // We must be sure the directory exists and is writable
|
||||
|
||||
// We delete and recreate a subdir because the soffice may have change pemrissions on it
|
||||
dol_delete_dir_recursive($conf->user->dir_temp.'/odtaspdf');
|
||||
$countdeleted = 0;
|
||||
dol_delete_dir_recursive($conf->user->dir_temp.'/odtaspdf', 0, 0, 0, $countdeleted, 0, 1);
|
||||
dol_mkdir($conf->user->dir_temp.'/odtaspdf');
|
||||
|
||||
// Install prerequisites: apt install soffice libreoffice-common libreoffice-writer
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
if (! defined('ODTPHP_PATHTOPCLZIP')) define('ODTPHP_PATHTOPCLZIP','pclzip/');
|
||||
if (! defined('ODTPHP_PATHTOPCLZIP')) {
|
||||
define('ODTPHP_PATHTOPCLZIP', DOL_DOCUMENT_ROOT.'/includes/odtphp/zip/pclzip/');
|
||||
}
|
||||
require_once ODTPHP_PATHTOPCLZIP.'pclzip.lib.php';
|
||||
require_once 'ZipInterface.php';
|
||||
class PclZipProxyException extends Exception
|
||||
|
|
|
|||
|
|
@ -91,10 +91,10 @@ CategoriesSetup=Tags/categories setup
|
|||
CategorieRecursiv=Link with parent tag/category automatically
|
||||
CategorieRecursivHelp=If option is on, when you add an object into a subcategory, the object will also be added into the parent categories.
|
||||
AddProductServiceIntoCategory=Assign category to the product/service
|
||||
AddCustomerIntoCategory=Assign category to customer
|
||||
AddSupplierIntoCategory=Assign category to supplier
|
||||
AddFichinterIntoCategory=Assign category to interventional
|
||||
AssignCategoryTo=Assign category to
|
||||
AddCustomerIntoCategory=Assign the category to the customer
|
||||
AddSupplierIntoCategory=Assign the category to the supplier
|
||||
AddFichinterIntoCategory=Assign the category to the intervention
|
||||
AssignCategoryTo=Assign the category to
|
||||
ShowCategory=Show tag/category
|
||||
ByDefaultInList=By default in list
|
||||
ChooseCategory=Choose category
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ ErrorBadValueForCode=Bad value for security code. Try again with new value...
|
|||
ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative
|
||||
ErrorFieldCantBeNegativeOnInvoice=Field <strong>%s</strong> cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in third-party card) and apply it to the invoice.
|
||||
ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate <b>%s</b>%%).
|
||||
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so.
|
||||
ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a down payment. You will face problems when you will need to consume the deposit in final invoice if you do so.
|
||||
ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative
|
||||
ErrorQtyForSupplierInvoiceCantBeNegative=Quantity for line into supplier invoices can't be negative
|
||||
ErrorWebServerUserHasNotPermission=User account <b>%s</b> used to execute web server has no permission for that
|
||||
|
|
|
|||
|
|
@ -76,14 +76,14 @@ if (empty($dolibarr_nocache)) {
|
|||
*
|
||||
* @param index int index of product line. 0 = first product line
|
||||
* @param type string type of dispatch (batch = batch dispatch, dispatch = non batch dispatch)
|
||||
* @param mode string 'qtymissing' will create new line with qty missing, 'lessone' will keep 1 in old line and the rest in new one
|
||||
* @param mode string If mode is 'qtymissing' the split button will create a new line with qty missing, If 'lessone' it will keep 1 in old line and the rest in new one
|
||||
*/
|
||||
function addDispatchLine(index, type, mode)
|
||||
{
|
||||
mode = mode || 'qtymissing'
|
||||
|
||||
console.log("mrp/js/lib_dispatch.js.php Split line type="+type+" index="+index+" mode="+mode);
|
||||
if(mode == 'qtymissingconsume' || mode == 'allmissingconsume') {
|
||||
if (mode == 'qtymissingconsume' || mode == 'allmissingconsume') {
|
||||
var inputId = 'qtytoconsume';
|
||||
var warehouseId = 'idwarehouse';
|
||||
}
|
||||
|
|
@ -94,7 +94,10 @@ function addDispatchLine(index, type, mode)
|
|||
var nbrTrs = $("tr[name^='"+type+"_"+index+"']").length; // position of line for batch
|
||||
var $row = $("tr[name='"+type+'_'+index+"_1']").clone(true); // clone last batch line to jQuery object
|
||||
var qtyOrdered = parseFloat($("#qty_ordered_"+index).val()); // Qty ordered is same for all rows
|
||||
var qty = parseFloat($("#"+inputId+"-"+index+"-"+nbrTrs).val());
|
||||
var qty = parseFloat($("#"+inputId+"-"+index+"-"+nbrTrs).val()); // qty entered in field to consume
|
||||
|
||||
console.log("#"+inputId+"-"+index+"-"+nbrTrs+" => "+qty);
|
||||
|
||||
var qtyDispatched;
|
||||
|
||||
if (mode === 'lessone')
|
||||
|
|
@ -103,21 +106,22 @@ function addDispatchLine(index, type, mode)
|
|||
}
|
||||
else
|
||||
{
|
||||
qtyDispatched = parseFloat($("#qty_dispatched_"+index).val()) + qty;
|
||||
console.log($("#qty_dispatched_"+index).val());
|
||||
qtyDispatched = parseFloat($("#qty_dispatched_"+index).val()) + qty;
|
||||
// If user did not reduced the qty to dispatch on old line, we keep only 1 on old line and the rest on new line
|
||||
if (qtyDispatched == qtyOrdered && qtyDispatched > 1) {
|
||||
qtyDispatched = parseFloat($("#qty_dispatched_" + index).val()) + 1;
|
||||
|
||||
}
|
||||
if(mode == 'allmissingconsume' || mode == 'alltoproduce') {
|
||||
var qtymax = parseFloat($($row).data('max-qty'));
|
||||
if(qtymax === 'undefined') qtymax = 1;
|
||||
if (mode == 'allmissingconsume' || mode == 'alltoproduce') {
|
||||
var qtymax = parseFloat($($row).data('max-qty'));
|
||||
if (qtymax === 'undefined') {
|
||||
qtymax = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(mode == 'allmissingconsume' || mode == 'alltoproduce') {
|
||||
if (mode == 'allmissingconsume' || mode == 'alltoproduce') {
|
||||
var count = 0;
|
||||
var qtyalreadyused = 0;
|
||||
var error = 0;
|
||||
|
|
@ -141,11 +145,12 @@ function addDispatchLine(index, type, mode)
|
|||
$row = $("tr[name='" + type + '_' + index + "_1']").clone(true);
|
||||
}
|
||||
|
||||
if(error === 0) {
|
||||
if (error === 0) {
|
||||
addDispatchTR(qtyOrdered, qtyDispatched, index, nbrTrs, warehouseId, inputId, type, '', mode, $row);
|
||||
}
|
||||
} else {
|
||||
addDispatchTR(qtyOrdered, qtyDispatched, index, nbrTrs, warehouseId, inputId, type, qty, mode, $row);
|
||||
}
|
||||
else addDispatchTR(qtyOrdered, qtyDispatched, index, nbrTrs, warehouseId, inputId, type, qty, mode, $row)
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,10 +213,21 @@ if (empty($reshook)) {
|
|||
$tmpproduct->fetch($moline->fk_product);
|
||||
if ($tmpproduct->type == Product::TYPE_SERVICE) {
|
||||
$moline->fk_default_workstation = $tmpproduct->fk_default_workstation;
|
||||
}
|
||||
$moline->disable_stock_change = ($tmpproduct->type == Product::TYPE_SERVICE ? 1 : 0);
|
||||
if (getDolGlobalInt('PRODUCT_USE_UNITS')) {
|
||||
$moline->fk_unit = $tmpproduct->fk_unit;
|
||||
$moline->disable_stock_change = 1;
|
||||
if ($tmpproduct->duration_unit) {
|
||||
$moline->qty = $tmpproduct->duration_value;
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/class/cunits.class.php';
|
||||
$cunits = new CUnits($db);
|
||||
$res = $cunits->fetch(0, '', $tmpproduct->duration_unit, 'time');
|
||||
if ($res > 0) {
|
||||
$moline->fk_unit = $cunits->id;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$moline->disable_stock_change = 0;
|
||||
if (getDolGlobalInt('PRODUCT_USE_UNITS')) {
|
||||
$moline->fk_unit = $tmpproduct->fk_unit;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Extrafields
|
||||
|
|
@ -494,7 +505,15 @@ if (empty($reshook)) {
|
|||
$moline->array_options["options_".$key] = $value;
|
||||
}
|
||||
$moline->qty = GETPOSTFLOAT('qty_lineProduce');
|
||||
if (GETPOSTISSET('warehouse_lineProduce')) {
|
||||
$moline->fk_warehouse = (GETPOSTINT('warehouse_lineProduce') > 0 ? GETPOSTINT('warehouse_lineProduce') : 0);
|
||||
}
|
||||
if (GETPOSTISSET('workstation_lineProduce')) {
|
||||
$moline->fk_default_workstation = (GETPOSTINT('workstation_lineProduce') > 0 ? GETPOSTINT('workstation_lineProduce') : 0);
|
||||
}
|
||||
|
||||
$res = $moline->update($user);
|
||||
|
||||
if ($res < 0) {
|
||||
setEventMessages($moline->error, $moline->errors, 'errors');
|
||||
header("Location: ".$_SERVER["PHP_SELF"].'?id='.$object->id);
|
||||
|
|
@ -851,7 +870,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
print '<table class="noborder noshadow centpercent nobottom">';
|
||||
|
||||
print '<!-- Line of title for products to consume -->'."\n";
|
||||
print '<tr class="liste_titre">';
|
||||
print '<tr class="liste_titre trheight5em">';
|
||||
// Product
|
||||
print '<td>'.$langs->trans("Product").'</td>';
|
||||
// Qty
|
||||
|
|
@ -863,7 +882,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
print '<td class="right">'.$langs->trans("UnitCost").'</td>';
|
||||
}
|
||||
// Qty already consumed
|
||||
print '<td class="right">'.$form->textwithpicto($langs->trans("QtyAlreadyConsumedShort"), $langs->trans("QtyAlreadyConsumed")).'</td>';
|
||||
print '<td class="right classfortooltip" title="'.$langs->trans("QtyAlreadyConsumed").'">';
|
||||
print $langs->trans("QtyAlreadyConsumedShort");
|
||||
print '</td>';
|
||||
// Warehouse
|
||||
print '<td>';
|
||||
if ($collapse || in_array($action, array('consumeorproduce', 'consumeandproduceall'))) {
|
||||
|
|
@ -928,7 +949,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
// Qty
|
||||
print '<td class="right"><input type="text" name="qtytoadd" value="1" class="width40 right"></td>';
|
||||
// Unit
|
||||
print '<td></td>';
|
||||
print '<td>';
|
||||
if (getDolGlobalInt('PRODUCT_USE_UNITS')) {
|
||||
//...
|
||||
}
|
||||
print '</td>';
|
||||
// Cost price
|
||||
if ($permissiontoupdatecost && getDolGlobalString('MRP_SHOW_COST_FOR_CONSUMPTION')) {
|
||||
print '<td></td>';
|
||||
|
|
@ -1085,8 +1110,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
print ' ' . price2num($alreadyconsumed, 'MS');
|
||||
print '</td>';
|
||||
|
||||
// Entrepot
|
||||
// Warehouse / Workstation
|
||||
print '<td>';
|
||||
if ($tmpproduct->type == Product::TYPE_PRODUCT) {
|
||||
print $formproduct->selectWarehouses($line->fk_warehouse, 'warehouse_lineProduce', 'warehouseopen', 1);
|
||||
} elseif (isModEnabled('workstation')) {
|
||||
print $formproduct->selectWorkstations($line->fk_default_workstation, 'workstation_lineProduce', 1);
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
// Stock
|
||||
|
|
@ -1198,9 +1228,18 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
print '</td>';
|
||||
|
||||
// Warehouse and/or workstation
|
||||
print '<td>';
|
||||
if (getDolGlobalString('STOCK_CONSUMPTION_FROM_MANUFACTURING_WAREHOUSE') && $tmpwarehouse->id > 0) {
|
||||
print img_picto('', $tmpwarehouse->picto) . " " . $tmpwarehouse->label;
|
||||
print '<td class="tdoverflowmax100">';
|
||||
if ($tmpproduct->isStockManaged()) {
|
||||
// When STOCK_CONSUMPTION_FROM_MANUFACTURING_WAREHOUSE is set, we always use the warehouse of the MO, the same than production.
|
||||
if (getDolGlobalString('STOCK_CONSUMPTION_FROM_MANUFACTURING_WAREHOUSE') && $tmpwarehouse->id > 0) {
|
||||
print img_picto('', $tmpwarehouse->picto) . " " . $tmpwarehouse->label;
|
||||
} else {
|
||||
if ($line->fk_warehouse > 0) {
|
||||
$warehouseline = new Entrepot($db);
|
||||
$warehouseline->fetch($line->fk_warehouse);
|
||||
print $warehouseline->getNomUrl(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isModEnabled('workstation') && $line->fk_default_workstation > 0) {
|
||||
$tmpworkstation = new Workstation($db);
|
||||
|
|
@ -1499,7 +1538,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
print '<div class="div-table-responsive-no-min">';
|
||||
print '<table id="tablelinestoproduce" class="noborder noshadow nobottom centpercent">';
|
||||
|
||||
print '<tr class="liste_titre">';
|
||||
print '<tr class="liste_titre trheight5em">';
|
||||
// Product
|
||||
print '<td>'.$langs->trans("Product").'</td>';
|
||||
// Qty
|
||||
|
|
@ -1511,13 +1550,19 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||
// Cost price
|
||||
if ($permissiontoupdatecost) {
|
||||
if (empty($bomcostupdated)) {
|
||||
print '<td class="right">'.$form->textwithpicto($langs->trans("UnitCost"), $langs->trans("AmountUsedToUpdateWAP")).'</td>';
|
||||
print '<td class="right classfortooltip" title="'.$langs->trans("AmountUsedToUpdateWAP").'">';
|
||||
print $langs->trans("UnitCost");
|
||||
print '</td>';
|
||||
} else {
|
||||
print '<td class="right">'.$form->textwithpicto($langs->trans("ManufacturingPrice"), $langs->trans("AmountUsedToUpdateWAP")).'</td>';
|
||||
print '<td class="right classfortooltip" title="'.$langs->trans("AmountUsedToUpdateWAP").'">';
|
||||
print $langs->trans("ManufacturingPrice");
|
||||
print '</td>';
|
||||
}
|
||||
}
|
||||
// Already produced
|
||||
print '<td class="right">'.$form->textwithpicto($langs->trans("QtyAlreadyProducedShort"), $langs->trans("QtyAlreadyProduced")).'</td>';
|
||||
print '<td class="right classfortooltip" title="'.$langs->trans("QtyAlreadyProduced").'">';
|
||||
print $langs->trans("QtyAlreadyProducedShort");
|
||||
print '</td>';
|
||||
// Warehouse
|
||||
print '<td>';
|
||||
if ($collapse || in_array($action, array('consumeorproduce', 'consumeandproduceall'))) {
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ if ($action == 'edit') {
|
|||
print $form->selectDate($expiredate ? $expiredate : $object->date_fin, 'expire', 0, 0, 0, '', 1, 0);
|
||||
} else {
|
||||
print dol_print_date($object->date_fin, 'day');
|
||||
if ($object->date_fin && $object->date_fin < dol_now() && $object->status == Opensurveysondage::STATUS_VALIDATED) {
|
||||
if ($object->date_fin && dol_get_last_hour($object->date_fin) < dol_now() && $object->status == Opensurveysondage::STATUS_VALIDATED) {
|
||||
print img_warning($langs->trans("Expired"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -335,6 +335,7 @@ class FormProduct
|
|||
}
|
||||
}
|
||||
|
||||
$out .= '<!-- selectWarehouses -->';
|
||||
$out .= '<select '.($multiselect ? 'multiple ' : '').'class="flat'.($morecss ? ' '.$morecss : '').'"'.($disabled ? ' disabled' : '');
|
||||
$out .= ' id="'.$htmlname.'" name="'.($htmlname.($multiselect ? '[]' : '').($disabled ? '_disabled' : '')).'"';
|
||||
//$out .= ' placeholder="todo"'; // placeholder for select2 must be added by setting the id+placeholder js param when calling select2
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ $resql = $db->query($sql);
|
|||
if ($resql) {
|
||||
$num = $db->num_rows($resql);
|
||||
if ($num) {
|
||||
print "<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"4\">";
|
||||
print '<table class="centpercent" cellspacing="0" cellpadding="4">';
|
||||
|
||||
print '<tr>';
|
||||
print "<td>".$langs->trans("Name")." / ".$langs->trans("Company")."</td>";
|
||||
|
|
@ -102,7 +102,7 @@ if ($resql) {
|
|||
print "<td>".$langs->trans("Anonymous")."</td>\n";
|
||||
}
|
||||
print "<td>".dol_print_date($db->jdate($objp->datedon))."</td>\n";
|
||||
print '<td class="right">'.number_format($objp->amount, 2, '.', ' ').' '.$langs->trans("Currency".$conf->currency).'</td>';
|
||||
print '<td class="right">'.price($objp->amount).' '.$langs->trans("Currency".$conf->currency).'</td>';
|
||||
print "</tr>";
|
||||
$i++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -474,22 +474,22 @@ function build_exportfile($format, $type, $cachedelay, $filename, $filters)
|
|||
}
|
||||
if ($key == 'year') {
|
||||
$sql .= " AND fd.date BETWEEN '".$db->idate(dol_get_first_day($value, 1))."'";
|
||||
$sql .= " AND '".$db->idate(dol_get_last_day($value, 12))."'";
|
||||
$sql .= " AND '".$db->idate(dol_get_last_day($value, 12))."'";
|
||||
}
|
||||
if ($key == 'id') {
|
||||
$sql .= " AND f.rowid = ".(is_numeric($value) ? $value : 0);
|
||||
$sql .= " AND f.rowid = ".((int) $value);
|
||||
}
|
||||
if ($key == 'idfrom') {
|
||||
$sql .= " AND f.rowid >= ".(is_numeric($value) ? $value : 0);
|
||||
$sql .= " AND f.rowid >= ".((int) $value);
|
||||
}
|
||||
if ($key == 'idto') {
|
||||
$sql .= " AND f.rowid <= ".(is_numeric($value) ? $value : 0);
|
||||
$sql .= " AND f.rowid <= ".((int) $value);
|
||||
}
|
||||
if ($key == 'project') {
|
||||
$sql .= " AND f.fk_project = ".(is_numeric($value) ? $value : 0);
|
||||
$sql .= " AND f.fk_project = ".((int) $value);
|
||||
}
|
||||
if ($key == 'contract') {
|
||||
$sql .= " AND f.fk_contract = ".(is_numeric($value) ? $value : 0);
|
||||
$sql .= " AND f.fk_contract = ".((int) $value);
|
||||
}
|
||||
|
||||
if ($key == 'logina') {
|
||||
|
|
@ -502,7 +502,7 @@ function build_exportfile($format, $type, $cachedelay, $filename, $filters)
|
|||
$userforfilter = new User($db);
|
||||
$result = $userforfilter->fetch(0, $logina);
|
||||
if ($result > 0) {
|
||||
$sql .= " AND a.fk_user_author ".$condition." ".$userforfilter->id;
|
||||
$sql .= " AND a.fk_user_author ".$condition." ".((int) $userforfilter->id);
|
||||
} elseif ($result < 0 || $condition == '=') {
|
||||
$sql .= " AND a.fk_user_author = 0";
|
||||
}
|
||||
|
|
@ -518,7 +518,7 @@ function build_exportfile($format, $type, $cachedelay, $filename, $filters)
|
|||
$result = $userforfilter->fetch(0, $logini);
|
||||
$sql .= " AND EXISTS (SELECT ec.rowid FROM ".MAIN_DB_PREFIX."element_contact as ec";
|
||||
$sql .= " WHERE ec.element_id = f.rowid";
|
||||
$sql .= " AND ec.fk_c_type_contact = 26";
|
||||
$sql .= " AND ec.fk_c_type_contact = 26"; // FIXME do not use hardcoded ID
|
||||
if ($result > 0) {
|
||||
$sql .= " AND ec.fk_socpeople = ".((int) $userforfilter->id);
|
||||
} elseif ($result < 0 || $condition == '=') {
|
||||
|
|
@ -537,7 +537,7 @@ function build_exportfile($format, $type, $cachedelay, $filename, $filters)
|
|||
$result = $userforfilter->fetch(0, $loginr);
|
||||
$sql .= " AND EXISTS (SELECT ecr.rowid FROM ".MAIN_DB_PREFIX."element_contact as ecr";
|
||||
$sql .= " WHERE ecr.element_id = f.rowid";
|
||||
$sql .= " WHERE AND ecr.fk_c_type_contact = 27";
|
||||
$sql .= " WHERE AND ecr.fk_c_type_contact = 27"; // FIXME do not use hardcoded ID
|
||||
if ($result > 0) {
|
||||
$sql .= " AND ecr.fk_socpeople = ".((int) $userforfilter->id);
|
||||
} elseif ($result < 0 || $condition == '=') {
|
||||
|
|
|
|||
|
|
@ -168,10 +168,6 @@ if (!getDolGlobalInt('MAIN_DISABLE_FULL_SCANLIST')) {
|
|||
|
||||
$sql .= $db->order($sortfield, $sortorder);
|
||||
$sql .= $db->plimit($conf->liste_limit + 1, $offset);
|
||||
//$sql = "SELECT d.rowid, d.firstname, d.lastname, d.societe, zip, town, d.email, t.libelle as type, d.morphy, d.statut, t.subscription";
|
||||
//$sql .= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."adherent_type as t";
|
||||
//$sql .= " WHERE d.fk_adherent_type = t.rowid AND d.statut = $statut";
|
||||
//$sql .= " ORDER BY $sortfield $sortorder " . $db->plimit($conf->liste_limit, $offset);
|
||||
|
||||
|
||||
$result = $db->query($sql);
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ if ($action == 'confirm_refusepropal' && $confirm == 'yes') { // Test on pemriss
|
|||
$db->begin();
|
||||
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."propal";
|
||||
$sql .= " SET fk_statut = ".((int) $object::STATUS_NOTSIGNED).", note_private = '".$db->escape($object->note_private)."', date_signature='".$db->idate(dol_now())."'";
|
||||
$sql .= " SET fk_statut = ".((int) $object::STATUS_NOTSIGNED).", note_private = '".$db->escape($object->note_private)."', date_signature = '".$db->idate(dol_now())."'";
|
||||
$sql .= " WHERE rowid = ".((int) $object->id);
|
||||
|
||||
dol_syslog(__FILE__, LOG_DEBUG);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ $result = $object->fetch(0, $numsondage);
|
|||
$nblines = $object->fetch_lines();
|
||||
|
||||
//If the survey has not yet finished, then it can be modified
|
||||
$canbemodified = ((empty($object->date_fin) || $object->date_fin > dol_now()) && $object->status != Opensurveysondage::STATUS_CLOSED);
|
||||
$canbemodified = ((empty($object->date_fin) || dol_get_last_hour($object->date_fin) > dol_now()) && $object->status != Opensurveysondage::STATUS_CLOSED);
|
||||
|
||||
// Security check
|
||||
if (!isModEnabled('opensurvey')) {
|
||||
|
|
@ -191,7 +191,7 @@ if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) { // bo
|
|||
// Check if vote already exists
|
||||
$sql = 'SELECT id_users, nom as name';
|
||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'opensurvey_user_studs';
|
||||
$sql .= " WHERE id_sondage='".$db->escape($numsondage)."' AND nom = '".$db->escape($nom)."' ORDER BY id_users";
|
||||
$sql .= " WHERE id_sondage = '".$db->escape($numsondage)."' AND nom = '".$db->escape($nom)."' ORDER BY id_users";
|
||||
$resql = $db->query($sql);
|
||||
if (!$resql) {
|
||||
dol_print_error($db);
|
||||
|
|
|
|||
|
|
@ -740,7 +740,7 @@ if ($ispaymentok) {
|
|||
}
|
||||
} else {
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_account (fk_soc, login, key_account, site, site_account, status, entity, date_creation, fk_user_creat)";
|
||||
$sql .= " VALUES (".$thirdparty_id.", '', '".$db->escape($stripecu)."', 'stripe', '".$db->escape($stripearrayofkeysbyenv[$servicestatus]['publishable_key'])."', ".((int) $servicestatus).", ".((int) $conf->entity).", '".$db->idate(dol_now())."', 0)";
|
||||
$sql .= " VALUES (".((int) $thirdparty_id).", '', '".$db->escape($stripecu)."', 'stripe', '".$db->escape($stripearrayofkeysbyenv[$servicestatus]['publishable_key'])."', ".((int) $servicestatus).", ".((int) $conf->entity).", '".$db->idate(dol_now())."', 0)";
|
||||
$resql = $db->query($sql);
|
||||
if (!$resql) { // should not happen
|
||||
$error++;
|
||||
|
|
|
|||
|
|
@ -122,8 +122,8 @@ $listOfConferences .= '<td>'.$langs->trans('Note').'</td></tr>';
|
|||
|
||||
$sql = "SELECT a.id, a.fk_action, a.datep, a.datep2, a.label, a.fk_soc, a.note, ca.libelle as label
|
||||
FROM ".MAIN_DB_PREFIX."actioncomm as a
|
||||
INNER JOIN ".MAIN_DB_PREFIX."c_actioncomm as ca ON (a.fk_action=ca.id)
|
||||
WHERE a.status<2";
|
||||
INNER JOIN ".MAIN_DB_PREFIX."c_actioncomm as ca ON (a.fk_action = ca.id)
|
||||
WHERE a.status < 2";
|
||||
|
||||
$sqlforconf = $sql." AND ca.module='conference@eventorganization'";
|
||||
//$sqlforbooth = $sql." AND ca.module='booth@eventorganization'";
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ if ($action == "dosubmit") { // Test on permission not required here (anonymous
|
|||
if (!$error) {
|
||||
$sql = "SELECT rrc.rowid FROM ".MAIN_DB_PREFIX."recruitment_recruitmentcandidature as rrc";
|
||||
$sql .= " WHERE rrc.email = '". $db->escape($email)."'";
|
||||
$sql .= " AND rrc.entity = ". getEntity($object->element, 0);
|
||||
$sql .= " AND rrc.entity IN (". getEntity($object->element, 0).")";
|
||||
$resql = $db->query($sql);
|
||||
if ($resql) {
|
||||
$num = $db->num_rows($resql);
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ if ($event->type == 'payout.created') {
|
|||
} elseif ($event->type == 'customer.deleted') {
|
||||
// When a customer account is delete on Stripe side
|
||||
$db->begin();
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_account WHERE key_account = '".$db->escape($event->data->object->id)."' and site='stripe'";
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."societe_account WHERE key_account = '".$db->escape($event->data->object->id)."' AND site = 'stripe'";
|
||||
$db->query($sql);
|
||||
$db->commit();
|
||||
} elseif ($event->type == 'payment_intent.succeeded') {
|
||||
|
|
|
|||
|
|
@ -397,26 +397,26 @@ if ($action == "view_ticketlist") {
|
|||
}
|
||||
$sql .= " WHERE t.entity IN (".getEntity('ticket').")";
|
||||
$sql .= " AND ((tc.source = 'external'";
|
||||
$sql .= " AND tc.element='".$db->escape($object->element)."'";
|
||||
$sql .= " AND tc.active=1";
|
||||
$sql .= " AND sp.email='".$db->escape($_SESSION['email_customer'])."')"; // email found into an external contact
|
||||
$sql .= " OR s.email='".$db->escape($_SESSION['email_customer'])."'"; // or email of the linked company
|
||||
$sql .= " OR t.origin_email='".$db->escape($_SESSION['email_customer'])."')"; // or email of the requester
|
||||
$sql .= " AND tc.element = '".$db->escape($object->element)."'";
|
||||
$sql .= " AND tc.active = 1";
|
||||
$sql .= " AND sp.email = '".$db->escape($_SESSION['email_customer'])."')"; // email found into an external contact
|
||||
$sql .= " OR s.email = '".$db->escape($_SESSION['email_customer'])."'"; // or email of the linked company
|
||||
$sql .= " OR t.origin_email = '".$db->escape($_SESSION['email_customer'])."')"; // or email of the requester
|
||||
// Manage filter
|
||||
if (!empty($filter)) {
|
||||
foreach ($filter as $key => $value) {
|
||||
if (strpos($key, 'date')) { // To allow $filter['YEAR(s.dated)']=>$year
|
||||
$sql .= " AND ".$key." = '".$db->escape($value)."'";
|
||||
$sql .= " AND ".$db->sanitize($key)." = '".$db->escape($value)."'";
|
||||
} elseif (($key == 't.fk_user_assign') || ($key == 't.type_code') || ($key == 't.category_code') || ($key == 't.severity_code')) {
|
||||
$sql .= " AND ".$key." = '".$db->escape($value)."'";
|
||||
$sql .= " AND ".$db->sanitize($key)." = '".$db->escape($value)."'";
|
||||
} elseif ($key == 't.fk_statut') {
|
||||
if (is_array($value) && count($value) > 0) {
|
||||
$sql .= " AND ".$key." IN (".$db->sanitize(implode(',', $value)).")";
|
||||
$sql .= " AND ".$db->sanitize($key)." IN (".$db->sanitize(implode(',', $value)).")";
|
||||
} else {
|
||||
$sql .= " AND ".$key." = ".((int) $value);
|
||||
$sql .= " AND ".$db->sanitize($key)." = ".((int) $value);
|
||||
}
|
||||
} else {
|
||||
$sql .= " AND ".$key." LIKE '%".$db->escape($value)."%'";
|
||||
$sql .= " AND ".$db->sanitize($key)." LIKE '%".$db->escape($value)."%'";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -552,20 +552,12 @@ class RecruitmentJobPosition extends CommonObject
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->recruitmentjobposition->create))
|
||||
|| (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->recruitmentjobposition->recruitmentjobposition_advance->validate))))
|
||||
{
|
||||
$this->error='NotEnoughPermissions';
|
||||
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}*/
|
||||
|
||||
$now = dol_now();
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
// Define new ref
|
||||
if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life
|
||||
if (/* !$error && */ (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) { // empty should not happened, but when it occurs, the test save life
|
||||
$num = $this->getNextNumRef();
|
||||
} else {
|
||||
$num = $this->ref;
|
||||
|
|
@ -765,14 +757,12 @@ class RecruitmentJobPosition extends CommonObject
|
|||
$this->generateDocument($modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||
}
|
||||
|
||||
if (!$error) {
|
||||
$this->oldcopy = clone $this;
|
||||
$this->status = $status;
|
||||
$this->date_cloture = $now;
|
||||
$this->note_private = $newprivatenote;
|
||||
}
|
||||
$this->oldcopy = clone $this;
|
||||
$this->status = $status;
|
||||
$this->date_cloture = $now;
|
||||
$this->note_private = $newprivatenote;
|
||||
|
||||
if (!$notrigger && empty($error)) {
|
||||
if (!$notrigger /* && empty($error) */) {
|
||||
// Call trigger
|
||||
$result = $this->call_trigger($triggerName, $user);
|
||||
if ($result < 0) {
|
||||
|
|
|
|||
|
|
@ -210,8 +210,9 @@ class pdf_standard_recruitmentjobposition extends ModelePDFRecruitmentJobPositio
|
|||
// Load translation files required by the page
|
||||
$outputlangs->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
||||
global $outputlangsbis;
|
||||
$outputlangsbis = null;
|
||||
if (getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE') && $outputlangs->defaultlang != getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE')) {
|
||||
global $outputlangsbis;
|
||||
$outputlangsbis = new Translate('', $conf);
|
||||
$outputlangsbis->setDefaultLang(getDolGlobalString('PDF_USE_ALSO_LANGUAGE_CODE'));
|
||||
$outputlangsbis->loadLangs(array("main", "bills", "products", "dict", "companies"));
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class mod_recruitmentcandidature_advanced extends ModeleNumRefRecruitmentCandida
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcand" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTCANDIDATURE_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskcand" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTCANDIDATURE_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit small" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class mod_recruitmentjobposition_advanced extends ModeleNumRefRecruitmentJobPosi
|
|||
|
||||
// Parametrage du prefix
|
||||
$texte .= '<tr><td>'.$langs->trans("Mask").':</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskjob" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK').'">', $tooltip, 1, 1).'</td>';
|
||||
$texte .= '<td class="right">'.$form->textwithpicto('<input type="text" class="flat minwidth175" name="maskjob" value="'.getDolGlobalString('RECRUITMENT_RECRUITMENTJOBPOSITION_ADVANCED_MASK').'">', $tooltip, 1, 'help', 'valignmiddle', 0, 3, $this->name).'</td>';
|
||||
|
||||
$texte .= '<td class="left" rowspan="2"> <input type="submit" class="button button-edit small" name="Button"value="'.$langs->trans("Modify").'"></td>';
|
||||
|
||||
|
|
|
|||
|
|
@ -317,6 +317,9 @@ tr.liste_titre th.liste_titre_sel:not(.maxwidthsearch), tr.liste_titre td.liste_
|
|||
tr.liste_titre th.liste_titre:not(.maxwidthsearch), tr.liste_titre td.liste_titre:not(.maxwidthsearch) { opacity: 0.8; }
|
||||
/* th.liste_titre_sel a, th.liste_titre a, td.liste_titre_sel a, td.liste_titre a { color: #766; } */
|
||||
tr.liste_titre_filter th.liste_titre { text-align: unset; }
|
||||
.liste_titre.trheight5em {
|
||||
height: 4em !important;
|
||||
}
|
||||
|
||||
input {
|
||||
font-size: unset;
|
||||
|
|
@ -3872,7 +3875,7 @@ a.fmdirlia {
|
|||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Onglets */
|
||||
/* Tabs */
|
||||
/* ============================================================================== */
|
||||
div.tabs {
|
||||
text-align: <?php print $left; ?>;
|
||||
|
|
|
|||
|
|
@ -453,9 +453,6 @@ a.vmenu span, span.vmenu, span.vmenu span {
|
|||
.infobox-order_supplier:not(.error) {
|
||||
color: #599caf;
|
||||
}
|
||||
.infobox-order_supplier::before {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.infobox-contrat, .infobox-ticket{
|
||||
color: #3bbfa8;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,9 +149,6 @@ div.login_block_other a {
|
|||
.infobox-order_supplier:not(.pictotitle):not(.error) {
|
||||
color: #599caf;
|
||||
}
|
||||
.infobox-order_supplier::before {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.infobox-contrat, .infobox-ticket{
|
||||
color: #46a676;
|
||||
|
|
|
|||
|
|
@ -600,19 +600,6 @@ th.wrapcolumntitle dl dt a span.fas.fa-list {
|
|||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
/*.liste_titre input[name=month_date_when], .liste_titre input[name=monthvalid], .liste_titre input[name=search_ordermonth], .liste_titre input[name=search_deliverymonth],
|
||||
.liste_titre input[name=search_smonth], .liste_titre input[name=search_month], .liste_titre input[name=search_emonth], .liste_titre input[name=smonth], .liste_titre input[name=month],
|
||||
.liste_titre input[name=month_lim], .liste_titre input[name=month_start], .liste_titre input[name=month_end], .liste_titre input[name=month_create],
|
||||
.liste_titre input[name=search_month_lim], .liste_titre input[name=search_month_start], .liste_titre input[name=search_month_end], .liste_titre input[name=search_month_create],
|
||||
.liste_titre input[name=search_month_create], .liste_titre input[name=search_month_start], .liste_titre input[name=search_month_end],
|
||||
.liste_titre input[name=day_date_when], .liste_titre input[name=dayvalid], .liste_titre input[name=search_orderday], .liste_titre input[name=search_deliveryday],
|
||||
.liste_titre input[name=search_sday], .liste_titre input[name=search_day], .liste_titre input[name=search_eday], .liste_titre input[name=sday], .liste_titre input[name=day], .liste_titre select[name=day],
|
||||
.liste_titre input[name=day_lim], .liste_titre input[name=day_start], .liste_titre input[name=day_end], .liste_titre input[name=day_create],
|
||||
.liste_titre input[name=search_day_lim], .liste_titre input[name=search_day_start], .liste_titre input[name=search_day_end], .liste_titre input[name=search_day_create],
|
||||
.liste_titre input[name=search_day_create], .liste_titre input[name=search_day_start], .liste_titre input[name=search_day_end],
|
||||
.liste_titre input[name=search_day_date_when], .liste_titre input[name=search_month_date_when], .liste_titre input[name=search_year_date_when],
|
||||
.liste_titre input[name=search_dtstartday], .liste_titre input[name=search_dtendday], .liste_titre input[name=search_dtstartmonth], .liste_titre input[name=search_dtendmonth],
|
||||
*/
|
||||
.liste_titre input[name=search_month], .liste_titre input[name=search_month_start], .liste_titre input[name=search_month_end] {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
|
@ -4256,6 +4243,9 @@ div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border
|
|||
tr.liste_titre.box_titre td table td, .bordernooddeven tr td {
|
||||
height: 28px;
|
||||
}
|
||||
.liste_titre.trheight5em {
|
||||
height: 4em !important;
|
||||
}
|
||||
|
||||
table.border td, table.bordernooddeven td, div.border div div.tagtd {
|
||||
padding: 3px 4px 3px 4px;
|
||||
|
|
@ -4770,7 +4760,6 @@ ul.noborder li:nth-child(odd):not(.liste_titre) {
|
|||
-webkit-box-shadow: unset;
|
||||
}
|
||||
.oddeven:hover:not(.nohover), .evenodd:hover:not(.nohover), .oddevenimport:hover:not(.nohover), .evenoddimport:hover:not(.nohover), .impair:hover:not(.nohover), .pair:hover:not(.nohover) {
|
||||
{
|
||||
background: rgb(<?php echo $colorbacklinepairhover; ?>) !important;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -976,7 +976,7 @@ class ProductAttribute extends CommonObject
|
|||
public function getPositionOfAttribute($rowid)
|
||||
{
|
||||
$sql = "SELECT position FROM " . MAIN_DB_PREFIX . $this->table_element;
|
||||
$sql .= " WHERE entity IN (" . getEntity('product') . ")";
|
||||
$sql .= " WHERE rowid=".(int) $rowid." AND entity IN (" . getEntity('product') . ")";
|
||||
|
||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always ''
|
|||
$mode = GETPOST('mode', 'aZ'); // The display mode ('list', 'kanban', 'hierarchy', 'calendar', 'gantt', ...)
|
||||
|
||||
$id = GETPOSTINT('id');
|
||||
$rowid = GETPOSTINT('rowid'); // for line reordering in not ajax mode
|
||||
|
||||
// Load variable for pagination
|
||||
$limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit;
|
||||
|
|
|
|||
|
|
@ -111,9 +111,9 @@ class Workstation extends CommonObject
|
|||
'fk_user_creat' => array('type' => 'integer:User:user/class/user.class.php', 'label' => 'UserAuthor', 'enabled' => 1, 'position' => 510, 'notnull' => 1, 'visible' => -2, 'foreignkey' => 'user.rowid',),
|
||||
'fk_user_modif' => array('type' => 'integer:User:user/class/user.class.php', 'label' => 'UserModif', 'enabled' => 1, 'position' => 511, 'notnull' => -1, 'visible' => -2,),
|
||||
'import_key' => array('type' => 'varchar(14)', 'label' => 'ImportId', 'enabled' => 1, 'position' => 512, 'notnull' => -1, 'visible' => -2,),
|
||||
'nb_operators_required' => array('type' => 'integer', 'label' => 'NbOperatorsRequired', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right', 'csslist' => 'maxwidth75imp'),
|
||||
'thm_operator_estimated' => array('type' => 'double', 'help' => 'THMOperatorEstimatedHelp','label' => 'THMOperatorEstimated', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right', 'csslist' => 'maxwidth75imp'),
|
||||
'thm_machine_estimated' => array('type' => 'double', 'help' => 'THMMachineEstimatedHelp', 'label' => 'THMMachineEstimated', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right', 'csslist' => 'maxwidth75imp'),
|
||||
'nb_operators_required' => array('type' => 'integer', 'label' => 'NbOperatorsRequired', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right maxwidth50imp', 'csslist' => 'maxwidth50imp'),
|
||||
'thm_operator_estimated' => array('type' => 'price', 'help' => 'THMOperatorEstimatedHelp','label' => 'THMOperatorEstimated', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right maxwidth75imp', 'csslist' => 'maxwidth75imp'),
|
||||
'thm_machine_estimated' => array('type' => 'price', 'help' => 'THMMachineEstimatedHelp', 'label' => 'THMMachineEstimated', 'enabled' => 1, 'position' => 50, 'notnull' => 0, 'visible' => 1, 'css' => 'right maxwidth75imp', 'csslist' => 'maxwidth75imp'),
|
||||
'status' => array('type' => 'smallint', 'label' => 'Status', 'enabled' => 1, 'position' => 1000, 'default' => '1', 'notnull' => 1, 'visible' => 1, 'index' => 1, 'arrayofkeyval' => array(0 => 'Disabled', 1 => 'Enabled'),),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -233,9 +233,9 @@ if ($action == 'create') {
|
|||
// Common attributes
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php';
|
||||
|
||||
print '<tr id="usergroups"';
|
||||
print ' ><td>';
|
||||
print $langs->trans('Groups');
|
||||
print '<tr id="usergroups">';
|
||||
print '<td>';
|
||||
print $langs->trans('UserGroups');
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print img_picto('', 'group');
|
||||
|
|
@ -288,7 +288,7 @@ if (($id || $ref) && $action == 'edit') {
|
|||
|
||||
print '<tr id="usergroups"';
|
||||
print '><td>';
|
||||
print $langs->trans('Groups');
|
||||
print $langs->trans('UserGroups');
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print img_picto('', 'group');
|
||||
|
|
|
|||
Loading…
Reference in a new issue