Merge branch 'develop' into fix_time_pdf_time_spent

This commit is contained in:
Laurent Destailleur 2025-02-13 01:03:41 +01:00 committed by GitHub
commit 92aa7259e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
43 changed files with 343 additions and 250 deletions

View File

@ -10749,7 +10749,7 @@ parameters:
-
message: '#^If condition is always true\.$#'
identifier: if.alwaysTrue
count: 1
count: 2
path: ../../../htdocs/core/lib/company.lib.php
-

View File

@ -9,16 +9,15 @@
*/
return [
// # Issue statistics:
// PhanTypeMismatchArgument : 1840+ occurrences
// PhanUndeclaredProperty : 520+ occurrences
// PhanTypeMismatchArgumentNullable : 380+ occurrences
// PhanTypeMismatchArgument : 1790+ occurrences
// PhanUndeclaredProperty : 510+ occurrences
// PhanTypeMismatchArgumentNullable : 360+ occurrences
// PhanPluginUnknownArrayMethodReturnType : 170+ occurrences
// PhanUndeclaredGlobalVariable : 170+ occurrences
// PhanTypeMismatchProperty : 130+ occurrences
// PhanTypeMismatchProperty : 120+ occurrences
// PhanPluginUnknownArrayMethodParamType : 110+ occurrences
// PhanPossiblyUndeclaredGlobalVariable : 95+ occurrences
// PhanTypeMismatchArgumentProbablyReal : 90+ occurrences
// PhanRedefineFunction : 40+ occurrences
// PhanTypeMismatchArgumentProbablyReal : 80+ occurrences
// PhanPossiblyUndeclaredGlobalVariable : 75+ occurrences
// PhanTypeExpectedObjectPropAccess : 40+ occurrences
// PhanTypeInvalidDimOffset : 25+ occurrences
// PhanTypeMismatchDimFetch : 20+ occurrences
@ -27,19 +26,19 @@ return [
// PhanTypeMismatchArgumentNullableInternal : 10+ occurrences
// PhanUndeclaredMethod : 10+ occurrences
// PhanTypeComparisonFromArray : 8 occurrences
// PhanPluginSuspiciousParamPosition : 7 occurrences
// PhanPluginDuplicateExpressionBinaryOp : 6 occurrences
// PhanPluginUnknownObjectMethodCall : 6 occurrences
// PhanTypeArraySuspiciousNull : 6 occurrences
// PhanParamTooMany : 5 occurrences
// PhanPluginDuplicateArrayKey : 4 occurrences
// PhanPluginEmptyStatementIf : 4 occurrences
// PhanPluginSuspiciousParamPosition : 4 occurrences
// PhanEmptyFQSENInClasslike : 3 occurrences
// PhanInvalidFQSENInClasslike : 3 occurrences
// PhanPluginBothLiteralsBinaryOp : 3 occurrences
// PhanEmptyForeach : 2 occurrences
// PhanPluginEmptyStatementIf : 2 occurrences
// PhanRedefineFunction : 2 occurrences
// PhanTypeMismatchDimAssignment : 2 occurrences
// PhanTypeMismatchDimFetchNullable : 2 occurrences
// PhanTypeSuspiciousStringExpression : 2 occurrences
// PhanAccessMethodProtected : 1 occurrence
// PhanPluginDuplicateExpressionAssignmentOperation : 1 occurrence
@ -143,7 +142,6 @@ return [
'htdocs/asset/tpl/accountancy_codes_edit.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/asset/tpl/depreciation_options_edit.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
'htdocs/asset/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/asterisk/wrapper.php' => ['PhanRedefineFunction'],
'htdocs/barcode/printsheet.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanTypeMismatchArgumentNullable'],
'htdocs/bom/bom_card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'],
'htdocs/bom/bom_list.php' => ['PhanTypeMismatchArgument'],
@ -241,7 +239,7 @@ return [
'htdocs/compta/facture/agenda.php' => ['PhanTypeMismatchArgument'],
'htdocs/compta/facture/card-rec.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'],
'htdocs/compta/facture/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'],
'htdocs/compta/facture/class/api_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/compta/facture/class/api_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/compta/facture/class/facture-rec.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'],
'htdocs/compta/facture/class/facture.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'],
'htdocs/compta/facture/class/factureligne.class.php' => ['PhanTypeMismatchArgument'],
@ -615,40 +613,17 @@ return [
'htdocs/projet/class/api_tasks.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'],
'htdocs/projet/tasks/time.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', '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', 'PhanTypeMismatchArgument'],
'htdocs/public/cron/cron_run_jobs_by_url.php' => ['PhanUndeclaredProperty'],
'htdocs/public/demo/index.php' => ['PhanRedefineFunction'],
'htdocs/public/donations/donateurs_code.php' => ['PhanRedefineFunction'],
'htdocs/public/emailing/mailing-read.php' => ['PhanRedefineFunction'],
'htdocs/public/eventorganization/attendee_new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'],
'htdocs/public/eventorganization/subscriptionok.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/members/new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/members/public_card.php' => ['PhanRedefineFunction'],
'htdocs/public/members/public_list.php' => ['PhanRedefineFunction'],
'htdocs/public/onlinesign/newonlinesign.php' => ['PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentNullableInternal'],
'htdocs/public/opensurvey/studs.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'],
'htdocs/public/partnership/new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'],
'htdocs/public/payment/newpayment.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'],
'htdocs/public/payment/paymentko.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'],
'htdocs/public/payment/paymentok.php' => ['PhanPluginSuspiciousParamPosition', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/project/index.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/project/new.php' => ['PhanRedefineFunction'],
'htdocs/public/project/suggestbooth.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestconference.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/viewandvote.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/recruitment/view.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/stripe/ipn.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/test/test_arrays.php' => ['PhanPluginUndeclaredVariableIsset'],
'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'],
'htdocs/public/ticket/list.php' => ['PhanTypeMismatchArgument'],
'htdocs/public/ticket/view.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/public/company/new.php' => ['PhanTypeMismatchArgument'],
'htdocs/public/eventorganization/subscriptionok.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/public/members/new.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/public/payment/newpayment.php' => ['PhanUndeclaredProperty'],
'htdocs/public/payment/paymentok.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/project/index.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/public/project/suggestbooth.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestconference.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/viewandvote.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/public/recruitment/view.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/public/webportal/tpl/menu.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/public/webportal/webportal.main.inc.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'],
'htdocs/public/website/index.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'],
'htdocs/public/website/javascript.js.php' => ['PhanRedefineFunction'],
'htdocs/public/website/styles.css.php' => ['PhanRedefineFunction'],
'htdocs/reception/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/reception/class/api_receptions.class.php' => ['PhanTypeMismatchArgumentNullable'],
'htdocs/reception/class/reception.class.php' => ['PhanUndeclaredProperty'],
@ -775,7 +750,7 @@ return [
'htdocs/variants/list.php' => ['PhanTypeMismatchArgument'],
'htdocs/variants/tpl/productattributevalueline_edit.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/variants/tpl/productattributevalueline_view.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/viewimage.php' => ['PhanRedefineFunction', 'PhanUndeclaredMethod'],
'htdocs/viewimage.php' => ['PhanUndeclaredMethod'],
'htdocs/webhook/class/api_webhook.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
'htdocs/webhook/class/target.class.php' => ['PhanUndeclaredMethod'],
'htdocs/webhook/target_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2009-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -51,6 +51,8 @@ if (!defined('NOREQUIREAJAX')) {
/**
* Empty header
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -68,7 +70,7 @@ if (!defined('NOREQUIREAJAX')) {
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
print '<html>'."\n";
print '<head>'."\n";
@ -79,12 +81,14 @@ function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disab
/**
* Empty footer
*
* Note: also called by functions.lib:recordNotFound
*
* @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($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
print "\n".'</html>'."\n";
}

View File

@ -104,7 +104,7 @@ class Facture extends CommonInvoice
protected $table_ref_field = 'ref';
/**
* @var int ID
* @var int|null ID
* @deprecated Use $user_creation_id
*/
public $fk_user_author;

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2023-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -99,8 +99,8 @@ trait CommonPeople
* Return full name (civility+' '+name+' '+lastname)
*
* @param Translate $langs Language object for translation of civility (used only if option is 1)
* @param int $option 0=No option, 1=Add civility
* @param int $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname, 2=Firstname, 3=Firstname if defined else lastname, 4=Lastname, 5=Lastname if defined else firstname
* @param int<0,1> $option 0=No option, 1=Add civility
* @param int<-1,5> $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname, 2=Firstname, 3=Firstname if defined else lastname, 4=Lastname, 5=Lastname if defined else firstname
* @param int $maxlen Maximum length
* @return string String with full name
*/

View File

@ -1,7 +1,8 @@
<?php
/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
/* Copyright (C) 2017 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) 2025 Benjamin Falière <benjamin@faliere.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
@ -69,11 +70,13 @@ foreach ($object->fields as $key => $val) {
}
print '"';
print '>';
print '<label for="'.$key.'" class="block">';
if (!empty($val['help'])) {
print $form->textwithpicto($langs->trans($val['label']), $langs->trans($val['help']));
} else {
print $langs->trans($val['label']);
}
print '</label>';
print '</td>';
print '<td class="valuefieldcreate">';
if (!empty($val['picto'])) {

View File

@ -79,6 +79,8 @@ if ((isset($_GET["modulepart"]) && $_GET["modulepart"] == 'medias')) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -103,6 +105,8 @@ function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disab
/**
* Footer empty
*
* Note: also called by functions.lib:recordNotFound
*
* @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)

View File

@ -31,6 +31,8 @@ if (!defined('NOTOKENRENEWAL')) {
/**
* This file is a wrapper, so empty header
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -48,7 +50,7 @@ if (!defined('NOTOKENRENEWAL')) {
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeaderEmptyExample($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
print '<html><title>Build an import example file</title><body>';
}
@ -56,12 +58,14 @@ function llxHeaderEmptyExample($head = '', $title = '', $help_url = '', $target
/**
* This file is a wrapper, so empty footer
*
* Note: also called by functions.lib:recordNotFound
*
* @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 llxFooterEmptyExample($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
print '</body></html>';
}
@ -90,9 +94,9 @@ $langs->load("exports");
if (empty($datatoimport)) {
$user->loadRights();
llxHeaderEmptyExample();
llxHeader();
print '<div class="error">Bad value for datatoimport.</div>';
llxFooterEmptyExample();
llxFooter();
exit;
}

View File

@ -1633,6 +1633,8 @@ if (!function_exists("llxHeader")) {
/**
* Show HTML header HTML + BODY + Top menu + left menu + DIV
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -1649,7 +1651,7 @@ if (!function_exists("llxHeader")) {
* @param int $disablenofollow Disable the "nofollow" on meta robot header
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @return void
* @phan-suppress PhanRedefineFunction (Also defined in htdocs/asterisk/wrapper)
* @phan-suppress PhanRedefineFunction
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
{
@ -3876,11 +3878,13 @@ if (!function_exists("llxFooter")) {
* Close div /DIV class=fiche + /DIV id-right + /DIV id-container + /BODY + /HTML.
* If global var $delayedhtmlcontent was filled, we output it just before closing the body.
*
* Note: also called by functions.lib:recordNotFound
*
* @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
* @phan-suppress PhanRedefineFunction // Also defined at asterisk/wrapper.php
* @phan-suppress PhanRedefineFunction
*/
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
{

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2008-2024 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -58,6 +59,8 @@ if (!defined('NOIPCHECK')) {
/**
* Header function
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -66,16 +69,18 @@ if (!defined('NOIPCHECK')) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
print '<html><title>Export agenda cal</title><body>';
}
/**
* Footer function
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</body></html>';
}

View File

@ -3,7 +3,7 @@
* Copyright (C) 2006-2017 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2009-2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2023 anthony Berton <anthony.berton@bb2a.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -125,6 +125,8 @@ $errmsg = '';
/**
* Show header for booking
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -133,7 +135,7 @@ $errmsg = '';
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -190,7 +192,7 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
* Actions
*/
if ($action == 'add' ) { // Test on permission not required here (anonymous action protected by mitigation of /public/... urls)
if ($action == 'add') { // Test on permission not required here (anonymous action protected by mitigation of /public/... urls)
$error = 0;
$idcontact = 0;
$calendar = $object;
@ -272,7 +274,7 @@ if ($action == 'add' ) { // Test on permission not required here (anonymous acti
'id' => $contact->id,
'mandatory' => 0,
'answer_status' => 0,
'transparency' =>0,
'transparency' => 0,
]
];
$actioncomm->ip = getUserRemoteIP();

View File

@ -8,7 +8,7 @@
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2021 Waël Almoman <info@almoman.com>
* Copyright (C) 2022 Udo Tamm <dev@dolibit.de>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -28,7 +28,6 @@
* \file htdocs/public/company/new.php
* \ingroup prospect
* \brief Example of form to add a new prospect
*
*/
if (!defined('NOLOGIN')) {
@ -110,6 +109,8 @@ $extrafields->fetch_name_optionals_label($objectsoc->table_element); // fetch op
/**
* Show header for new prospect
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -118,7 +119,7 @@ $extrafields->fetch_name_optionals_label($objectsoc->table_element); // fetch op
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -165,9 +166,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new societe
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs;

View File

@ -3,7 +3,7 @@
* Copyright (C) 2013 Florian Henry <forian.henry@open-cocnept.pro>
* Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -161,6 +161,7 @@ if (is_array($object->lines) && (count($object->lines) > 0)) {
// Loop over job
foreach ($object->lines as $line) {
'@phan-var-force Cronjob $line';
dol_syslog("cron_run_jobs.php cronjobid: ".$line->id." priority=".$line->priority." entity=".$line->entity." label=".$line->label, LOG_DEBUG);
echo "cron_run_jobs.php cronjobid: ".$line->id." priority=".$line->priority." entity=".$line->entity." label=".$line->label;

View File

@ -4,7 +4,7 @@
* Copyright (C) 2010 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -476,6 +476,8 @@ $db->close();
/**
* Show header for demo
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -484,7 +486,7 @@ $db->close();
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
top_httphead();
@ -496,9 +498,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for demo
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
printCommonFooter('public');

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2018-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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,6 +35,9 @@ if (!defined('NOIPCHECK')) {
// C'est un wrapper, donc header vierge
/**
* Header function
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
@ -43,16 +47,18 @@ if (!defined('NOIPCHECK')) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
print '<html><title>List of donators</title><body>';
}
/**
* Header function
* Footer function
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</body></html>';
}

View File

@ -4,6 +4,7 @@
* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -54,6 +55,8 @@ if (!defined('NOSESSION')) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -71,7 +74,7 @@ if (!defined('NOSESSION')) {
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
@ -79,12 +82,14 @@ function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disab
/**
* Footer empty
*
* Note: also called by functions.lib:recordNotFound
*
* @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($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2021 Dorian Vabre <dorian.vabre@gmail.com>
* Copyright (C) 2023 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -171,6 +171,8 @@ $extrafields->fetch_name_optionals_label($object->table_element); // fetch optio
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -179,7 +181,7 @@ $extrafields->fetch_name_optionals_label($object->table_element); // fetch optio
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -226,9 +228,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</div>';
@ -546,7 +550,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
$resultprod = 0;
if (getDolGlobalInt('SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION') > 0) {
$resultprod = $productforinvoicerow->fetch(getDolGlobalString('SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION'));
$resultprod = $productforinvoicerow->fetch(getDolGlobalInt('SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION'));
}
$facture = null;
@ -664,7 +668,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
// Get email content from template
$arraydefaultmessage = null;
$labeltouse = getDolGlobalString('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT');
$labeltouse = getDolGlobalInt('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT');
if (!empty($labeltouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, '');
}
@ -673,8 +677,8 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
$subject = $arraydefaultmessage->topic;
$msg = $arraydefaultmessage->content;
} else {
$subject = null;
$msg = null;
$subject = '';
$msg = '';
}
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty);
@ -909,7 +913,7 @@ if ((!empty($conference->id) && $conference->status == ConferenceOrBooth::STATUS
print '<tr><td>' . $langs->trans('State') . '</td><td>';
if ($country_code) {
print img_picto('', 'state', 'class="pictofixedwidth"');
print $formcompany->select_state(GETPOST("state_id"), $country_code);
print $formcompany->select_state(GETPOSTINT("state_id"), $country_code);
} else {
print '';
}

View File

@ -5,6 +5,7 @@
* Copyright (C) 2021 Waël Almoman <info@almoman.com>
* Copyright (C) 2021 Dorian Vabre <dorian.vabre@gmail.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -96,6 +97,8 @@ if (empty($conf->eventorganization->enabled)) {
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -104,7 +107,7 @@ if (empty($conf->eventorganization->enabled)) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderSubscriptionOk($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $user, $conf, $langs, $mysoc;
@ -177,7 +180,7 @@ if (getDolGlobalString('ONLINE_PAYMENT_CSS_URL')) {
$conf->dol_hide_topmenu = 1;
$conf->dol_hide_leftmenu = 1;
llxHeaderVierge($langs->trans("PaymentForm"));
llxHeaderSubscriptionOk($langs->trans("PaymentForm"));
// Show message

View File

@ -8,7 +8,7 @@
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2021 Waël Almoman <info@almoman.com>
* Copyright (C) 2022 Udo Tamm <dev@dolibit.de>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -113,6 +113,8 @@ $user->loadDefaultValues();
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -121,7 +123,7 @@ $user->loadDefaultValues();
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -168,9 +170,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs;
@ -697,7 +701,7 @@ if (getDolGlobalString('MEMBER_SKIP_TABLE') || getDolGlobalString('MEMBER_NEWFOR
print '<tr><td>'.$langs->trans('State').'</td><td>';
if ($country_code) {
print img_picto('', 'state', 'class="pictofixedwidth paddingright"');
print $formcompany->select_state(GETPOST("state_id"), $country_code);
print $formcompany->select_state(GETPOSTINT("state_id"), $country_code);
}
print '</td></tr>';
}

View File

@ -5,6 +5,7 @@
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -148,6 +149,8 @@ $db->close();
/**
* Show header for card member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -156,7 +159,7 @@ $db->close();
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
top_htmlhead($head, $title);
@ -164,11 +167,13 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
}
/**
* Show footer for card member
*
* @return void
*/
function llxFooterVierge()
* Show footer for card member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
printCommonFooter('public');

View File

@ -4,6 +4,7 @@
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -65,6 +66,8 @@ $langs->loadLangs(array("main", "members", "companies", "other"));
/**
* Show header for member list
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -73,7 +76,7 @@ $langs->loadLangs(array("main", "members", "companies", "other"));
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
top_htmlhead($head, $title);
@ -83,9 +86,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for member list
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
printCommonFooter('public');

View File

@ -4,7 +4,7 @@
* Copyright (C) 2009-2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2023 anthony Berton <anthony.berton@bb2a.fr>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -91,13 +91,13 @@ $message = GETPOST('message', 'aZ09');
// currency (iso code)
$suffix = GETPOST("suffix", 'aZ09');
$source = GETPOST("source", 'alpha');
$source = (string) GETPOST("source", 'alpha');
$ref = $REF = GETPOST("ref", 'alpha');
$urlok = '';
$urlko = '';
if (empty($source)) {
if ($source == '') {
$source = 'proposal';
}
if (!empty($refusepropal)) {
@ -254,7 +254,7 @@ if ($action == 'refusepropal') {
}
// Check link validity for param 'source' to avoid use of the examples as value
if (!empty($source) && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', 'proposal_ref', ''))) {
if (/* $source !== '' :never empty && */ in_array($ref, array('member_ref', 'contractline_ref', 'invoice_ref', 'order_ref', 'proposal_ref', ''))) {
$langs->load("errors");
dol_print_error_email('BADREFINONLINESIGNFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $source, $ref));
// End of page

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -60,7 +60,7 @@ if (GETPOST('sondage')) {
}
$object = new Opensurveysondage($db);
$result = $object->fetch(0, $numsondage);
$result = $object->fetch('', $numsondage);
$nblines = $object->fetch_lines();
@ -255,6 +255,7 @@ if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) { // bo
$testmodifier = false;
$testligneamodifier = false;
$ligneamodifier = -1;
$modifier = -1;
for ($i = 0; $i < $nblines; $i++) {
if (GETPOSTISSET('modifierligne'.$i)) {
$ligneamodifier = $i;
@ -726,6 +727,7 @@ if ($ligneamodifier < 0 && (!isset($_SESSION['nom']))) {
// Select value of best choice (for checkbox columns only)
$nbofcheckbox = 0;
$meilleurecolonne = null;
for ($i = 0; $i < $nbcolonnes; $i++) {
if (empty($listofanswers[$i]['format']) || !in_array($listofanswers[$i]['format'], array('yesno', 'foragainst'))) {
$nbofcheckbox++;

View File

@ -7,7 +7,7 @@
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2021 Waël Almoman <info@almoman.com>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -100,6 +100,8 @@ $user->loadDefaultValues();
/**
* Show header for new partnership
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int<0,1> $disablejs More content into html header
@ -108,7 +110,7 @@ $user->loadDefaultValues();
* @param string[] $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -155,9 +157,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs;
@ -267,7 +271,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
$company = new Societe($db);
$result = $company->fetch(0, GETPOST('societe'));
if ($result == 0) { // if entry with name not found, we search using the email
$result1 = $company->fetch(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETPOST('email'));
$result1 = $company->fetch(0, '', '', '', '', '', '', '', '', '', GETPOST('email'));
if ($result1 > 0) {
$error++;
$errmsg = $langs->trans("EmailAlreadyExistsPleaseRewriteYourCompanyName");
@ -683,7 +687,7 @@ print '</td></tr>';
if (!getDolGlobalString('SOCIETE_DISABLE_STATE')) {
print '<tr><td class="wordbreak">'.$langs->trans('State').'</td><td>';
if ($country_code) {
print $formcompany->select_state(GETPOST("state_id"), $country_code);
print $formcompany->select_state(GETPOSTINT("state_id"), $country_code);
}
print '</td></tr>';
}

View File

@ -191,7 +191,7 @@ if ($source == 'organizedeventregistration') { // Test on permission not requir
}
} elseif ($source == 'boothlocation') { // Test on permission not required here (anonymous action protected by mitigation of /public/... urls)
// Getting the amount to pay, the invoice, finding the thirdparty
$invoiceid = GETPOST('ref');
$invoiceid = GETPOSTINT('ref');
$invoice = new Facture($db);
$resultinvoice = $invoice->fetch($invoiceid);
if ($resultinvoice <= 0) {
@ -478,7 +478,7 @@ if ($action == 'dopayment') { // Test on permission not required here (anonymous
dol_syslog("SCRIPT_URI: ".(empty($_SERVER["SCRIPT_URI"]) ? '' : $_SERVER["SCRIPT_URI"]), LOG_DEBUG); // If defined script uri must match domain of PAYPAL_API_OK and PAYPAL_API_KO
// A redirect is added if API call successful
$mesg = print_paypal_redirect($PAYPAL_API_PRICE, $PAYPAL_API_DEVISE, $PAYPAL_PAYMENT_TYPE, $PAYPAL_API_OK, $PAYPAL_API_KO, $FULLTAG);
$mesg = print_paypal_redirect((float) $PAYPAL_API_PRICE, $PAYPAL_API_DEVISE, $PAYPAL_PAYMENT_TYPE, $PAYPAL_API_OK, $PAYPAL_API_KO, $FULLTAG);
// If we are here, it means the Paypal redirect was not done, so we show error message
$action = '';
@ -990,7 +990,7 @@ if (getDolGlobalString('MAIN_IMAGE_PUBLIC_PAYMENT')) {
print '<!-- Form to send a payment -->'."\n";
print '<!-- creditor = '.dol_escape_htmltag($creditor).' -->'."\n";
print '<!-- creditor = '.dol_escape_htmltag((string) $creditor).' -->'."\n";
// Additional information for each payment system
if (isModEnabled('paypal')) {
print '<!-- PAYPAL_API_SANDBOX = '.getDolGlobalString('PAYPAL_API_SANDBOX').' -->'."\n";
@ -1022,7 +1022,7 @@ if (getDolGlobalString('PAYMENT_NEWFORM_TEXT')) {
}
if (empty($text)) {
$text .= '<tr><td class="textpublicpayment"><br><strong>'.$langs->trans("WelcomeOnPaymentPage").'</strong></td></tr>'."\n";
$text .= '<tr><td class="textpublicpayment"><span class="opacitymedium">'.$langs->trans("ThisScreenAllowsYouToPay", $creditor).'</span><br><br></td></tr>'."\n";
$text .= '<tr><td class="textpublicpayment"><span class="opacitymedium">'.$langs->trans("ThisScreenAllowsYouToPay", (string) $creditor).'</span><br><br></td></tr>'."\n";
}
print $text;
@ -1260,7 +1260,7 @@ if ($source == 'invoice') {
print '</td><td class="CTableRow2">';
print img_picto('', 'company', 'class="pictofixedwidth"');
print '<b>'.$creditor.'</b>';
print '<input type="hidden" name="creditor" value="'.dol_escape_htmltag($creditor).'">';
print '<input type="hidden" name="creditor" value="'.dol_escape_htmltag((string) $creditor).'">';
print '</td></tr>'."\n";
// Debitor
@ -1810,7 +1810,7 @@ if ($source == 'donation') {
$don = new Don($db);
// @phan-suppress-next-line PhanPluginSuspiciousParamPosition
$result = $don->fetch($ref);
$result = $don->fetch((int) $ref);
if ($result <= 0) {
$mesg = $don->error;
$error++;
@ -1998,7 +1998,7 @@ if ($source == 'organizedeventregistration' && is_object($thirdparty)) {
print '<tr class="CTableRow2"><td class="CTableRow2">'.$langs->trans("Designation");
print '</td><td class="CTableRow2"><b>'.$text.'</b>';
print '<input type="hidden" name="source" value="'.dol_escape_htmltag($source).'">';
print '<input type="hidden" name="ref" value="'.dol_escape_htmltag($invoice->id).'">';
print '<input type="hidden" name="ref" value="'.dol_escape_htmltag((string) $invoice->id).'">';
print '</td></tr>'."\n";
// Amount
@ -2082,7 +2082,7 @@ if ($source == 'boothlocation') {
print '<tr class="CTableRow2"><td class="CTableRow2">'.$langs->trans("Designation");
print '</td><td class="CTableRow2">'.$text;
print '<input type="hidden" name="source" value="'.dol_escape_htmltag($source).'">';
print '<input type="hidden" name="ref" value="'.dol_escape_htmltag($invoice->id).'">';
print '<input type="hidden" name="ref" value="'.dol_escape_htmltag((string) $invoice->id).'">';
print '</td></tr>'."\n";
// Amount

View File

@ -3,7 +3,7 @@
* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2024-2025 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -93,10 +93,12 @@ if (isModEnabled('paypal')) {
$PAYPALPAYERID = GETPOST('PayerID');
}
}
/*
if (isModEnabled('paybox')) {
}
if (isModEnabled('stripe')) {
}
*/
$FULLTAG = GETPOST('FULLTAG');
if (empty($FULLTAG)) {
@ -180,6 +182,7 @@ dol_syslog("POST=".$tracepost, LOG_DEBUG, 0, '_payment');
// Set $appli for emails title
$appli = $mysoc->name;
$error = 0;
$FinalPaymentAmt = 0;
if (!empty($_SESSION['ipaddress'])) { // To avoid to make action twice
@ -214,7 +217,7 @@ if (!empty($_SESSION['ipaddress'])) { // To avoid to make action twice
if (empty($myCompanyDefaultLang) || $myCompanyDefaultLang === 'auto') {
// We must guess the language from the company country. We must not use the language of the visitor. This is a technical email for supervision
// so it must always be into the same language.
$myCompanyDefaultLang = getLanguageCodeFromCountryCode($mysoc->country_code);
$myCompanyDefaultLang = (string) getLanguageCodeFromCountryCode($mysoc->country_code);
}
$companylangs = new Translate('', $conf);

View File

@ -425,6 +425,7 @@ $appli = $mysoc->name;
// Make complementary actions (post payment actions if payment is ok)
$ispostactionok = 0;
$paymentTypeId = 0;
$postactionmessages = array();
if ($ispaymentok) {
// Set permission for the anonymous user
@ -466,7 +467,6 @@ if ($ispaymentok) {
dol_syslog("We have to process member with id=".$tmptag['MEM']." result1=".$result1." result2=".$result2, LOG_DEBUG, 0, '_payment');
if ($result1 > 0 && $result2 > 0) {
$paymentTypeId = 0;
if ($paymentmethod == 'paybox') {
$paymentTypeId = getDolGlobalInt('PAYBOX_PAYMENT_MODE_FOR_PAYMENTS');
}
@ -576,7 +576,7 @@ if ($ispaymentok) {
$datesubscription = dol_get_first_day((int) dol_print_date($datesubscription, "%Y"));
}
$datesubend = null;
$datesubend = 0;
if ($datesubscription && $defaultdelay && $defaultdelayunit) {
$datesubend = dol_time_plus_duree($datesubscription, $defaultdelay, $defaultdelayunit);
// the new end date of subscription must be in futur
@ -643,6 +643,7 @@ if ($ispaymentok) {
$option = 'none';
}
$sendalsoemail = 1;
$crowid = 0;
// Record the subscription then complementary actions
$db->begin();
@ -663,10 +664,12 @@ if ($ispaymentok) {
}
}
$autocreatethirdparty = 0;
if (!$error) {
dol_syslog("Call ->subscriptionComplementaryActions option=".$option, LOG_DEBUG, 0, '_payment');
$autocreatethirdparty = 1; // will create thirdparty if member not yet linked to a thirdparty
$autocreatethirdparty = 1; // will create third party if member not yet linked to a thirdparty
$result = $object->subscriptionComplementaryActions($crowid, $option, $accountid, $datesubscription, $paymentdate, $operation, $label, $amount, $num_chq, $emetteur_nom, $emetteur_banque, $autocreatethirdparty, $TRANSACTIONID, $service);
if ($result < 0) {
@ -708,7 +711,7 @@ if ($ispaymentok) {
$service = 'StripeLive';
$servicestatus = 1;
}
$stripeacc = null; // No Oauth/connect use for public pages
$stripeacc = ''; // No Oauth/connect use for public pages
$thirdparty = new Societe($db);
$thirdparty->fetch($thirdparty_id);
@ -1298,7 +1301,7 @@ if ($ispaymentok) {
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$object = new Facture($db);
$result = $object->fetch($ref);
$result = $object->fetch((int) $ref); // @phan-suppress-curren-line PhanPluginSuspiciousParamPosition
if ($result) {
$paymentTypeId = 0;
if ($paymentmethod == 'paybox') {
@ -1439,7 +1442,7 @@ if ($ispaymentok) {
$thirdparty = new Societe($db);
$resultthirdparty = $thirdparty->fetch($attendeetovalidate->fk_soc);
if ($resultthirdparty < 0) {
setEventMessages($resultthirdparty->error, $resultthirdparty->errors, "errors");
setEventMessages($thirdparty->error, $thirdparty->errors, "errors");
} else {
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
@ -1452,7 +1455,7 @@ if ($ispaymentok) {
// Get email content from template
$arraydefaultmessage = null;
$idoftemplatetouse = getDolGlobalString('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'); // Email to send for Event organization registration
$idoftemplatetouse = getDolGlobalInt('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'); // Email to send for Event organization registration
if (!empty($idoftemplatetouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $idoftemplatetouse, 1, '');
@ -1529,7 +1532,7 @@ if ($ispaymentok) {
require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorbooth.class.php';
include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$object = new Facture($db);
$result = $object->fetch($ref);
$result = $object->fetch((int) $ref); // @phan-suppress-current-line PhanPluginSuspiciousParamPosition
if ($result) {
$FinalPaymentAmt = $_SESSION["FinalPaymentAmt"];
@ -1655,9 +1658,9 @@ if ($ispaymentok) {
$booth->status = ConferenceOrBooth::STATUS_SUGGESTED;
$resultboothupdate = $booth->update($user);
if ($resultboothupdate < 0) {
// Finding the thirdparty by getting the invoice
// Finding the third party by getting the invoice
$invoice = new Facture($db);
$resultinvoice = $invoice->fetch($ref);
$resultinvoice = $invoice->fetch((int) $ref); // @phan-suppress-current-line PhanPluginSuspiciousParamPosition
if ($resultinvoice < 0) {
$postactionmessages[] = 'Could not find the associated invoice.';
$ispostactionok = -1;
@ -1681,7 +1684,7 @@ if ($ispaymentok) {
// Get email content from template
$arraydefaultmessage = null;
$idoftemplatetouse = getDolGlobalString('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'); // Email sent after registration for a Booth
$idoftemplatetouse = getDolGlobalInt('EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'); // Email sent after registration for a Booth
if (!empty($idoftemplatetouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $idoftemplatetouse, 1, '');
@ -1960,11 +1963,11 @@ if ($ispaymentok) {
// Send an email to the admins
if ($sendemail) {
// Get default language to use for the company for supervision emails
$myCompanyDefaultLang = $mysoc->default_lang;
$myCompanyDefaultLang = (string) $mysoc->default_lang;
if (empty($myCompanyDefaultLang) || $myCompanyDefaultLang === 'auto') {
// We must guess the language from the company country. We must not use the language of the visitor. This is a technical email for supervision
// so it must always be into the same language.
$myCompanyDefaultLang = getLanguageCodeFromCountryCode($mysoc->country_code);
$myCompanyDefaultLang = (string) getLanguageCodeFromCountryCode($mysoc->country_code);
}
$companylangs = new Translate('', $conf);
@ -2125,7 +2128,7 @@ unset($_SESSION["TRANSACTIONID"]);
if (empty($doactionsthenredirect)) {
print "\n</div>\n";
print "<!-- Info for payment: FinalPaymentAmt=".dol_escape_htmltag($FinalPaymentAmt)." paymentTypeId=".dol_escape_htmltag($paymentTypeId)." currencyCodeType=".dol_escape_htmltag($currencyCodeType)." -->\n";
print "<!-- Info for payment: FinalPaymentAmt=".dol_escape_htmltag($FinalPaymentAmt)." paymentTypeId=".dol_escape_htmltag((string) $paymentTypeId)." currencyCodeType=".dol_escape_htmltag($currencyCodeType)." -->\n";
}

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2021 Dorian Vabre <dorian.vabre@gmail.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -111,6 +112,8 @@ if (empty($conf->project->enabled)) {
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -119,7 +122,7 @@ if (empty($conf->project->enabled)) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -168,9 +171,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</div>';

View File

@ -6,7 +6,7 @@
* Copyright (C) 2012 J. Fernando Lagrange <fernando@demo-tic.org>
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -98,6 +98,8 @@ if (empty($conf->project->enabled)) {
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -106,7 +108,7 @@ if (empty($conf->project->enabled)) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -154,9 +156,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</div>';

View File

@ -125,6 +125,8 @@ if (empty($conf->eventorganization->enabled)) {
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -133,7 +135,7 @@ if (empty($conf->eventorganization->enabled)) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -181,9 +183,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</div>';
@ -331,7 +335,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
// Adding supplier tag and tag from setup to thirdparty
$category = new Categorie($db);
$resultcategory = $category->fetch(getDolGlobalString('EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'));
$resultcategory = $category->fetch(getDolGlobalInt('EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'));
if ($resultcategory <= 0) {
$error++;
@ -433,7 +437,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
$facture = null;
if (!empty((float) $project->price_booth)) {
$productforinvoicerow = new Product($db);
$resultprod = $productforinvoicerow->fetch(getDolGlobalString('SERVICE_BOOTH_LOCATION'));
$resultprod = $productforinvoicerow->fetch(getDolGlobalInt('SERVICE_BOOTH_LOCATION'));
if ($resultprod < 0) {
$error++;
$errmsg .= $productforinvoicerow->error;
@ -516,7 +520,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
// Get email content from template
$arraydefaultmessage = null;
$labeltouse = getDolGlobalString('EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH');
$labeltouse = getDolGlobalInt('EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH');
if (!empty($labeltouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, '');
}
@ -699,7 +703,7 @@ print '</td></tr>';
if (!getDolGlobalString('SOCIETE_DISABLE_STATE')) {
print '<tr><td>'.$langs->trans('State').'</td><td>';
if ($country_code) {
print $formcompany->select_state(GETPOST("state_id"), $country_code);
print $formcompany->select_state(GETPOSTINT("state_id"), $country_code);
} else {
print '';
}

View File

@ -126,6 +126,8 @@ if (empty($conf->eventorganization->enabled)) {
/**
* Show header for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $title Title
* @param string $head Head array
* @param int $disablejs More content into html header
@ -134,7 +136,7 @@ if (empty($conf->eventorganization->enabled)) {
* @param string[]|string $arrayofcss Array of complementary css files
* @return void
*/
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = []) // @phan-suppress-current-line PhanRedefineFunction
{
global $conf, $langs, $mysoc;
@ -182,9 +184,11 @@ function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $
/**
* Show footer for new member
*
* Note: also called by functions.lib:recordNotFound
*
* @return void
*/
function llxFooterVierge()
function llxFooterVierge() // @phan-suppress-current-line PhanRedefineFunction
{
print '</div>';
@ -330,7 +334,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
// Adding supplier tag and tag from setup to thirdparty
$category = new Categorie($db);
$resultcategory = $category->fetch(getDolGlobalString('EVENTORGANIZATION_CATEG_THIRDPARTY_CONF'));
$resultcategory = $category->fetch(getDolGlobalInt('EVENTORGANIZATION_CATEG_THIRDPARTY_CONF'));
if ($resultcategory <= 0) {
$error++;
@ -446,7 +450,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
// Get email content from template
$arraydefaultmessage = null;
$labeltouse = getDolGlobalString('EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF');
$labeltouse = getDolGlobalInt('EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF');
if (!empty($labeltouse)) {
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, '');
}
@ -635,7 +639,7 @@ print '</td></tr>';
if (!getDolGlobalString('SOCIETE_DISABLE_STATE')) {
print '<tr><td>'.$langs->trans('State').'</td><td>';
if ($country_code) {
print $formcompany->select_state(GETPOST("state_id"), $country_code);
print $formcompany->select_state(GETPOSTINT("state_id"), $country_code);
} else {
print '';
}

View File

@ -178,6 +178,7 @@ $idvote = GETPOSTINT("vote");
$hashedvote = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'vote'.$idvote);
if ($idvote > 0) {
$votestatus = 'err';
if (in_array($hashedvote, $listofvotes)) {
// Has already voted
$votestatus = 'ko';

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2020 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -363,7 +363,7 @@ if (empty($emailforcontact)) {
}
}
print '<b class="wordbreak">';
print $tmpuser->getFullName(-1);
print $tmpuser->getFullName($langs);
print ' &nbsp; '.dol_print_email($emailforcontact, 0, 0, 1, 0, 0, 'envelope');
print '</b>';
print '</b><br>';

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2018-2020 Thibault FOUCART <support@ptibogxiv.net>
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2023 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -96,7 +96,7 @@ if (empty($endpoint_secret)) {
if (getDolGlobalString('STRIPE_USER_ACCOUNT_FOR_ACTIONS')) {
// We set the user to use for all ipn actions in Dolibarr
$user = new User($db);
$user->fetch(getDolGlobalString('STRIPE_USER_ACCOUNT_FOR_ACTIONS'));
$user->fetch(getDolGlobalInt('STRIPE_USER_ACCOUNT_FOR_ACTIONS'));
$user->loadRights();
} else {
httponly_accessforbidden('Error: Setup of module Stripe not complete for mode '.dol_escape_htmltag($service).'. The STRIPE_USER_ACCOUNT_FOR_ACTIONS is not defined.', 400, 1);
@ -252,13 +252,13 @@ if ($event->type == 'payout.created' && getDolGlobalString('STRIPE_AUTO_RECORD_P
$db->begin();
if (!$error) {
$bank_line_id_from = $accountfrom->addline($dateo, $typefrom, $label, -1 * (float) price2num($amount), '', '', $user);
$bank_line_id_from = $accountfrom->addline($dateo, $typefrom, $label, -1 * (float) price2num($amount), '', 0, $user);
}
if (!($bank_line_id_from > 0)) {
$error++;
}
if (!$error) {
$bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount), '', '', $user);
$bank_line_id_to = $accountto->addline($dateo, $typeto, $label, (float) price2num($amount), '', 0, $user);
}
if (!($bank_line_id_to > 0)) {
$error++;
@ -367,12 +367,12 @@ if ($event->type == 'payout.created' && getDolGlobalString('STRIPE_AUTO_RECORD_P
$obj = $db->fetch_object($result);
if ($obj) {
if ($obj->type == 'ban') {
$pdid = $obj->rowid;
$directdebitorcreditransfer_id = $obj->fk_prelevement_bons;
if ($obj->traite == 1) {
// This is a direct-debit with an order (llx_bon_prelevement) ALREADY generated, so
// it means we received here the confirmation that payment request is finished.
$pdid = $obj->rowid;
$invoice_id = $obj->fk_facture;
$directdebitorcreditransfer_id = $obj->fk_prelevement_bons;
$payment_amountInDolibarr = $obj->amount;
$paymentTypeCodeInDolibarr = $obj->type;
@ -382,9 +382,9 @@ if ($event->type == 'payout.created' && getDolGlobalString('STRIPE_AUTO_RECORD_P
}
}
if ($obj->type == 'card' || empty($obj->type)) {
$pdid = $obj->rowid;
if ($obj->traite == 0) {
// This is a card payment not already flagged as sent to Stripe.
$pdid = $obj->rowid;
$invoice_id = $obj->fk_facture;
$payment_amountInDolibarr = $obj->amount;
$paymentTypeCodeInDolibarr = empty($obj->type) ? 'card' : $obj->type;
@ -827,7 +827,7 @@ if ($event->type == 'payout.created' && getDolGlobalString('STRIPE_AUTO_RECORD_P
$amountdisputestripe = $object->amoutndispute; // In stripe format
$amountdispute = $amountdisputestripe; // In real currency format
$invoice_id = "";
$invoice_id = 0;
$paymentTypeCode = ""; // payment type according to Stripe
$paymentTypeCodeInDolibarr = ""; // payment type according to Dolibarr
$payment_amount = 0;
@ -861,7 +861,7 @@ if ($event->type == 'payout.created' && getDolGlobalString('STRIPE_AUTO_RECORD_P
$payment_amountInDolibarr = $obj->amount;
$paymentTypeCodeInDolibarr = empty($obj->type) ? 'card' : $obj->type;
dol_syslog("Found the payment intent for card in database (pdid = ".$pdid." directdebitorcreditransfer_id=".$directdebitorcreditransfer_id.")");
dol_syslog("Found the payment intent for card in database (pdid = ".$pdid.")");
}
} else {
dol_syslog("Payment intent ".$TRANSACTIONID." not found into database, so ignored.");

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2025 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
@ -201,7 +202,7 @@ $sortfield = 'aaa';
$sortorder = 'ASC';
$tasksarray = array(1, 2, 3); // To force having several lines
$tagidfortablednd = 'tablelines3';
if (!isset($moreforfilter)) {
if (!isset($moreforfilter)) { // @phan-suppress-current-line PhanPluginUndeclaredVariableIsset
$moreforfilter = '';
}
if (!empty($conf->use_javascript_ajax)) {
@ -228,7 +229,7 @@ if ($socid) {
if (isset($showbirthday) && $showbirthday) {
$nav .= '<input type="hidden" name="showbirthday" value="1">';
}
if (isset($pid) && $pid) {
if (isset($pid) && $pid) { // @phan-suppress-current-line PhanPluginUndeclaredVariableIsset
$nav .= '<input type="hidden" name="projectid" value="'.$pid.'">';
}
if ($type) {

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2013-2016 Jean-François FERRY <hello@librethic.io>
* Copyright (C) 2016 Christophe Battarel <christophe@altairis.fr>
* Copyright (C) 2023 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -153,12 +153,13 @@ if (empty($reshook)) {
$upload_dir_tmp = $vardir.'/temp/'.session_id();
// TODO Delete only files that was uploaded from form
dol_remove_file_process(GETPOST('removedfile'), 0, 0);
dol_remove_file_process(GETPOSTINT('removedfile'), 0, 0);
$action = 'create_ticket';
}
if ($action == 'create_ticket' && GETPOST('save', 'alpha')) { // Test on permission not required. This is a public form. Security is managed by mitigation.
$error = 0;
$cid = -1;
$origin_email = GETPOST('email', 'email');
if (empty($origin_email)) {
$error++;
@ -166,16 +167,18 @@ if (empty($reshook)) {
$action = '';
} else {
// Search company saved with email
$searched_companies = $object->searchSocidByEmail($origin_email, '0');
$searched_companies = $object->searchSocidByEmail($origin_email, 0);
// Chercher un contact existent avec cette address email
// Le premier contact trouvé est utilisé pour déterminer le contact suivi
$contacts = $object->searchContactByEmail($origin_email);
if (!is_array($contacts)) {
$contacts = array();
}
// Ensure that contact is active and select first active contact
$cid = -1;
foreach ($contacts as $key => $contact) {
if ((int) $contact->statut == 1) {
if ((int) $contact->status == 1) {
$cid = $key;
break;
}
@ -195,7 +198,7 @@ if (empty($reshook)) {
$contact_phone = '';
if ($with_contact) {
// set linked contact to add in form
if (is_array($contacts) && count($contacts) == 1) {
if (/* is_array($contacts) && */ count($contacts) == 1) {
$with_contact = current($contacts);
}
@ -309,7 +312,7 @@ if (empty($reshook)) {
if ($result < 0) {
$error++;
$errors = ($company->error ? array($company->error) : $company->errors);
array_push($object->errors, $errors);
$object->errors = array_merge($object->errors, $errors);
$action = 'create_ticket';
}
@ -324,7 +327,7 @@ if (empty($reshook)) {
if ($result < 0) {
$error++;
$errors = ($with_contact->error ? array($with_contact->error) : $with_contact->errors);
array_push($object->errors, $errors);
$object->errors = array_merge($object->errors, $errors);
$action = 'create_ticket';
} else {
$contacts = array($with_contact);
@ -336,7 +339,7 @@ if (empty($reshook)) {
$object->fk_soc = $searched_companies[0]->id;
}
if (is_array($contacts) && count($contacts) > 0 && $cid >= 0) {
if (/* is_array($contacts) && */ count($contacts) > 0 && $cid >= 0) {
$object->fk_soc = $contacts[$cid]->socid;
$usertoassign = $contacts[$cid]->id;
}
@ -363,7 +366,9 @@ if (empty($reshook)) {
if ($id <= 0) {
$error++;
$errors = ($object->error ? array($object->error) : $object->errors);
array_push($object->errors, $object->error ? array($object->error) : $object->errors);
if ($object->error) {
array_push($object->errors, $object->error);
}
$action = 'create_ticket';
}
}
@ -421,8 +426,8 @@ if (empty($reshook)) {
$sendtocc = '';
$deliveryreceipt = 0;
if (getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO') !== '') {
$old_MAIN_MAIL_AUTOCOPY_TO = getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO');
$old_MAIN_MAIL_AUTOCOPY_TO = getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO');
if ($old_MAIN_MAIL_AUTOCOPY_TO !== '') {
$conf->global->MAIN_MAIL_AUTOCOPY_TO = '';
}
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
@ -432,7 +437,7 @@ if (empty($reshook)) {
} else {
$result = $mailfile->sendfile();
}
if (getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO') !== '') {
if ($old_MAIN_MAIL_AUTOCOPY_TO !== '') {
$conf->global->MAIN_MAIL_AUTOCOPY_TO = $old_MAIN_MAIL_AUTOCOPY_TO;
}
@ -464,8 +469,8 @@ if (empty($reshook)) {
$from = getDolGlobalString('MAIN_INFO_SOCIETE_NOM') . ' <' . getDolGlobalString('TICKET_NOTIFICATION_EMAIL_FROM').'>';
$replyto = $from;
if (getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO') !== '') {
$old_MAIN_MAIL_AUTOCOPY_TO = getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO');
$old_MAIN_MAIL_AUTOCOPY_TO = getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO');
if ($old_MAIN_MAIL_AUTOCOPY_TO !== '') {
$conf->global->MAIN_MAIL_AUTOCOPY_TO = '';
}
include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
@ -475,7 +480,7 @@ if (empty($reshook)) {
} else {
$result = $mailfile->sendfile();
}
if ((getDolGlobalString('TICKET_DISABLE_MAIL_AUTOCOPY_TO') !== '')) {
if ($old_MAIN_MAIL_AUTOCOPY_TO !== '') {
$conf->global->MAIN_MAIL_AUTOCOPY_TO = $old_MAIN_MAIL_AUTOCOPY_TO;
}
}

View File

@ -1,8 +1,7 @@
<?php
/* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
/* Copyright (C) 2013-2016 Jean-François FERRY <jfefe@aternatik.fr>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
*/
/* Copyright (C) 2013-2016 Jean-François FERRY <jfefe@aternatik.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
@ -253,25 +252,25 @@ if ($action == "view_ticketlist") {
// Definition of fields for list
$arrayfields = array(
't.datec' => array('label' => $langs->trans("Date"), 'checked' => 1),
't.date_read' => array('label' => $langs->trans("TicketReadOn"), 'checked' => 0),
't.date_close' => array('label' => $langs->trans("TicketCloseOn"), 'checked' => 0),
't.ref' => array('label' => $langs->trans("Ref"), 'checked' => 1),
//'t.track_id' => array('label' => $langs->trans("IDTracking"), 'checked' => 0),
't.fk_statut' => array('label' => $langs->trans("Status"), 'checked' => 1),
't.subject' => array('label' => $langs->trans("Subject"), 'checked' => 1),
'type.code' => array('label' => $langs->trans("Type"), 'checked' => 1),
'category.code' => array('label' => $langs->trans("Category"), 'checked' => 1),
'severity.code' => array('label' => $langs->trans("Severity"), 'checked' => 1),
't.progress' => array('label' => $langs->trans("Progression"), 'checked' => 0),
//'t.fk_contract' => array('label' => $langs->trans("Contract"), 'checked' => 0),
't.fk_user_create' => array('label' => $langs->trans("Author"), 'checked' => 1),
't.fk_user_assign' => array('label' => $langs->trans("AssignedTo"), 'checked' => 0),
't.datec' => array('label' => $langs->trans("Date"), 'checked' => '1'),
't.date_read' => array('label' => $langs->trans("TicketReadOn"), 'checked' => '0'),
't.date_close' => array('label' => $langs->trans("TicketCloseOn"), 'checked' => '0'),
't.ref' => array('label' => $langs->trans("Ref"), 'checked' => '1'),
//'t.track_id' => array('label' => $langs->trans("IDTracking"), 'checked' => '0'),
't.fk_statut' => array('label' => $langs->trans("Status"), 'checked' => '1'),
't.subject' => array('label' => $langs->trans("Subject"), 'checked' => '1'),
'type.code' => array('label' => $langs->trans("Type"), 'checked' => '1'),
'category.code' => array('label' => $langs->trans("Category"), 'checked' => '1'),
'severity.code' => array('label' => $langs->trans("Severity"), 'checked' => '1'),
't.progress' => array('label' => $langs->trans("Progression"), 'checked' => '0'),
//'t.fk_contract' => array('label' => $langs->trans("Contract"), 'checked' => '0'),
't.fk_user_create' => array('label' => $langs->trans("Author"), 'checked' => '1'),
't.fk_user_assign' => array('label' => $langs->trans("AssignedTo"), 'checked' => '0'),
//'t.entity'=>array('label'=>$langs->trans("Entity"), 'checked'=>1, 'enabled'=>(isModEnabled('multicompany') && empty($conf->multicompany->transverse_mode))),
//'t.datec' => array('label' => $langs->trans("DateCreation"), 'checked' => 0, 'position' => 500),
//'t.tms' => array('label' => $langs->trans("DateModificationShort"), 'checked' => 0, 'position' => 2)
//'t.statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000),
//'t.entity'=>array('label'=>$langs->trans("Entity"), 'checked' => '1', 'enabled'=>(isModEnabled('multicompany') && empty($conf->multicompany->transverse_mode))),
//'t.datec' => array('label' => $langs->trans("DateCreation"), 'checked' => '0', 'position' => 500),
//'t.tms' => array('label' => $langs->trans("DateModificationShort"), 'checked' => '0', 'position' => 2)
//'t.statut'=>array('label'=>$langs->trans("Status"), 'checked' => '1', 'position'=>1000),
);
if (!getDolGlobalString('TICKET_SHOW_PROGRESSION')) {
@ -284,7 +283,7 @@ if ($action == "view_ticketlist") {
if ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate') {
$enabled = abs((int) dol_eval($extrafields->attributes[$object->table_element]['list'][$key], 1, 1, '2'));
$enabled = (($enabled == 0 || $enabled == 3) ? 0 : $enabled);
$arrayfields["ef.".$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'checked' => ($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? 0 : 1, 'position' => $extrafields->attributes[$object->table_element]['pos'][$key], 'enabled' => $enabled && $extrafields->attributes[$object->table_element]['perms'][$key]);
$arrayfields["ef.".$key] = array('label' => $extrafields->attributes[$object->table_element]['label'][$key], 'checked' => ($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? '0' : '1', 'position' => $extrafields->attributes[$object->table_element]['pos'][$key], 'enabled' => (string) (int) ($enabled && $extrafields->attributes[$object->table_element]['perms'][$key]));
}
}
}

View File

@ -2,6 +2,7 @@
/* Copyright (C) 2013-2016 Jean-François FERRY <hello@librethic.io>
* Copyright (C) 2018-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2023 Benjamin Falière <benjamin.faliere@altairis.fr>
* Copyright (C) 2025 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
@ -103,9 +104,9 @@ if ($cancel) {
$action = 'view_ticket';
}
$display_ticket = false;
if (in_array($action, array("view_ticket", "presend", "close", "confirm_public_close", "add_message", "add_contact"))) { // Test on permission not required here. Done later by using the $track_id + check email in session
$error = 0;
$display_ticket = false;
if (!strlen($track_id)) {
$error++;
array_push($object->errors, $langs->trans("ErrorFieldRequired", $langs->transnoentities("TicketTrackId")));
@ -124,7 +125,7 @@ if (in_array($action, array("view_ticket", "presend", "close", "confirm_public_c
}
if (!$error) {
$ret = $object->fetch('', '', $track_id);
$ret = $object->fetch(0, '', $track_id);
if ($ret && $object->dao->id > 0) {
// Check if emails provided is the one of author
$emailofticket = CMailFile::getValidAddress($object->dao->origin_email, 2);
@ -404,7 +405,7 @@ if ($action == "view_ticket" || $action == "presend" || $action == "close" || $a
$baseurl = getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE', DOL_URL_ROOT.'/public/ticket/');
$formticket->param = array('track_id' => $object->dao->track_id, 'fk_user_create' => '-1',
'returnurl' => $baseurl.'view.php'.(!empty($entity) && isModEnabled('multicompany')?'?entity='.$entity:''));
'returnurl' => $baseurl.'view.php'.(!empty($entity) && isModEnabled('multicompany') ? '?entity='.$entity : ''));
$formticket->withfile = 2;
$formticket->withcancel = 1;
@ -415,7 +416,7 @@ if ($action == "view_ticket" || $action == "presend" || $action == "close" || $a
if ($action != 'presend') {
$baseurl = getDolGlobalString('TICKET_URL_PUBLIC_INTERFACE', DOL_URL_ROOT.'/public/ticket/');
print '<form method="POST" id="form_view_ticket_list" name="form_view_ticket_list" action="'.$baseurl.'list.php'.(!empty($entity) && isModEnabled('multicompany')?'?entity='.$entity:'').'">';
print '<form method="POST" id="form_view_ticket_list" name="form_view_ticket_list" action="'.$baseurl.'list.php'.(!empty($entity) && isModEnabled('multicompany') ? '?entity='.$entity : '').'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print '<input type="hidden" name="action" value="view_ticketlist">';
print '<input type="hidden" name="track_id" value="'.$object->dao->track_id.'">';

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2023-2024 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2023-2024 Lionel Vessiller <lvessiller@easya.solutions>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -57,7 +57,7 @@ if (!function_exists('dol_getprefix')) {
* @param string $mode '' (prefix for session name) or 'email' (prefix for email id)
* @return string A calculated prefix
*/
function dol_getprefix($mode = '')
function dol_getprefix($mode = '') // @phan-suppress-current-line PhanRedefineFunction
{
global $dolibarr_main_instance_unique_id,
$dolibarr_main_cookie_cryptkey; // This is loaded by filefunc.inc.php
@ -225,7 +225,7 @@ if (!defined('WEBPORTAL_NOLOGIN') && !empty($context->controllerInstance->access
$result = $logged_user->fetch($user_id);
if ($result <= 0) {
$error++;
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedUser', $user_id);
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedUser', (string) $user_id);
dol_syslog($error_msg, LOG_ERR);
$context->setEventMessages($error_msg, null, 'errors');
}
@ -237,7 +237,7 @@ if (!defined('WEBPORTAL_NOLOGIN') && !empty($context->controllerInstance->access
if (!$logged_thirdparty || !($logged_thirdparty->id > 0)) {
$result = $websiteaccount->fetch_thirdparty();
if ($result < 0) {
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedThirdParty', $websiteaccount->fk_soc);
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedThirdParty', (string) $websiteaccount->fk_soc);
//dol_syslog("Can't load third-party (ID: ".$websiteaccount->fk_soc.") even if session logged.", LOG_ERR);
dol_syslog($error_msg, LOG_ERR);
$context->setEventMessage($error_msg, 'errors');
@ -253,7 +253,7 @@ if (!defined('WEBPORTAL_NOLOGIN') && !empty($context->controllerInstance->access
$result = $logged_member->fetch(0, '', $websiteaccount->thirdparty->id);
if ($result < 0) {
$error++;
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedMember', $websiteaccount->thirdparty->id);
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedMember', (string) $websiteaccount->thirdparty->id);
dol_syslog($error_msg, LOG_ERR);
$context->setEventMessage($error_msg, 'errors');
}
@ -265,7 +265,7 @@ if (!defined('WEBPORTAL_NOLOGIN') && !empty($context->controllerInstance->access
$result = $logged_partnership->fetch(0, '', $logged_member->id, $websiteaccount->thirdparty->id);
if ($result < 0) {
$error++;
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedPartnership', $websiteaccount->thirdparty->id, $logged_member->id);
$error_msg = $langs->transnoentitiesnoconv('WebPortalErrorFetchLoggedPartnership', (string) $websiteaccount->thirdparty->id, (string) $logged_member->id);
dol_syslog($error_msg, LOG_ERR);
$context->setEventMessage($error_msg, 'errors');
}

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -60,35 +60,39 @@ if (!defined('NOBROWSERNOTIF')) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
* Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage|DE:GermanPage
* For other external page: http://server/url
* @param string $target Target to use on links
* @param int $disablejs More content into html header
* @param int $disablehead More content into html header
* @param int<0,1> $disablejs More content into html header
* @param int<0,1> $disablehead More content into html header
* @param string[]|string $arrayofjs Array of complementary js files
* @param string[]|string $arrayofcss Array of complementary css files
* @param string $morequerystring Query string to add to the link "print" to get same parameters (use only if autodetect fails)
* @param string $morecssonbody More CSS on body tag. For example 'classforhorizontalscrolloftabs'.
* @param string $replacemainareaby Replace call to main_area() by a print of this string
* @param int $disablenofollow Disable the "nofollow" on meta robot header
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @param int<0,1> $disablenofollow Disable the "nofollow" on meta robot header
* @param int<0,1> $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
/**
* Footer empty
*
* @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
* Note: also called by functions.lib:recordNotFound
*
* @param string $comment A text to add as HTML comment into HTML generated page
* @param 'private'|'public' $zone 'private' (for private pages) or 'public' (for public pages)
* @param int<0,1> $disabledoutputofmessages Clear all messages stored into session without displaying them
* @return void
*/
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
@ -131,13 +135,13 @@ if (empty($pageid)) {
if ($pageref) {
// @phan-suppress-next-line PhanPluginSuspiciousParamPosition
$result = $objectpage->fetch(0, $object->id, $pageref);
$result = $objectpage->fetch(0, (string) $object->id, $pageref);
if ($result > 0) {
$pageid = $objectpage->id;
} elseif ($result == 0) {
// Page not found from ref=pageurl, we try using alternative alias
// @phan-suppress-next-line PhanPluginSuspiciousParamPosition
$result = $objectpage->fetch(0, $object->id, null, $pageref);
$result = $objectpage->fetch(0, (string) $object->id, null, $pageref);
if ($result > 0) {
$pageid = $objectpage->id;
}

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2016-2023 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -51,35 +51,39 @@ if (!defined('NOBROWSERNOTIF')) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
* Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage|DE:GermanPage
* For other external page: http://server/url
* @param string $target Target to use on links
* @param int $disablejs More content into html header
* @param int $disablehead More content into html header
* @param int<0,1> $disablejs More content into html header
* @param int<0,1> $disablehead More content into html header
* @param string[]|string $arrayofjs Array of complementary js files
* @param string[]|string $arrayofcss Array of complementary css files
* @param string $morequerystring Query string to add to the link "print" to get same parameters (use only if autodetect fails)
* @param string $morecssonbody More CSS on body tag. For example 'classforhorizontalscrolloftabs'.
* @param string $replacemainareaby Replace call to main_area() by a print of this string
* @param int $disablenofollow Disable the "nofollow" on meta robot header
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @param int<0,1> $disablenofollow Disable the "nofollow" on meta robot header
* @param int<0,1> $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
/**
* Footer empty
*
* @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
* Note: also called by functions.lib:recordNotFound
*
* @param string $comment A text to add as HTML comment into HTML generated page
* @param 'private'|'public' $zone 'private' (for private pages) or 'public' (for public pages)
* @param int<0,1> $disabledoutputofmessages Clear all messages stored into session without displaying them
* @return void
*/
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -51,35 +51,39 @@ if (!defined('NOBROWSERNOTIF')) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
* Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage|DE:GermanPage
* For other external page: http://server/url
* @param string $target Target to use on links
* @param int $disablejs More content into html header
* @param int $disablehead More content into html header
* @param int<0,1> $disablejs More content into html header
* @param int<0,1> $disablehead More content into html header
* @param string[]|string $arrayofjs Array of complementary js files
* @param string[]|string $arrayofcss Array of complementary css files
* @param string $morequerystring Query string to add to the link "print" to get same parameters (use only if autodetect fails)
* @param string $morecssonbody More CSS on body tag. For example 'classforhorizontalscrolloftabs'.
* @param string $replacemainareaby Replace call to main_area() by a print of this string
* @param int $disablenofollow Disable the "nofollow" on meta robot header
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @param int<0,1> $disablenofollow Disable the "nofollow" on meta robot header
* @param int<0,1> $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
/**
* Footer empty
*
* @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
* Note: also called by functions.lib:recordNotFound
*
* @param string $comment A text to add as HTML comment into HTML generated page
* @param 'private'|'public' $zone 'private' (for private pages) or 'public' (for public pages)
* @param int<0,1> $disabledoutputofmessages Clear all messages stored into session without displaying them
* @return void
*/
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}

View File

@ -3,7 +3,7 @@
* Copyright (C) 2005-2016 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2016 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 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
@ -114,6 +114,8 @@ if (is_numeric($entity)) {
/**
* Header empty
*
* Note: also called by functions.lib:recordNotFound
*
* @param string $head Optional head lines
* @param string $title HTML title
* @param string $help_url Url links to help page
@ -131,18 +133,20 @@ if (is_numeric($entity)) {
* @param int $disablenoindex Disable the "noindex" on meta robot header
* @return void
*/
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0)
function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '', $disablenofollow = 0, $disablenoindex = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}
/**
* Footer empty
*
* Note: also called by functions.lib:recordNotFound
*
* @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($comment = '', $zone = 'private', $disabledoutputofmessages = 0)
function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) // @phan-suppress-current-line PhanRedefineFunction
{
}