diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index aae2d48e9cf38..10f3048c2f6a7 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -43,7 +43,7 @@ $contextpage=GETPOST('contextpage','aZ')?GETPOST('contextpage','aZ'):'actioncommlist'; // To manage different context of search $resourceid=GETPOST("search_resourceid","int")?GETPOST("search_resourceid","int"):GETPOST("resourceid","int"); $pid=GETPOST("search_projectid",'int',3)?GETPOST("search_projectid",'int',3):GETPOST("projectid",'int',3); -$status=GETPOST("search_status",'alpha')?GETPOST("search_status",'alpha'):GETPOST("status",'alpha'); +$status=(GETPOST("search_status",'alpha') != '')?GETPOST("search_status",'alpha'):GETPOST("status",'alpha'); $type=GETPOST('search_type','alphanohtml')?GETPOST('search_type','alphanohtml'):GETPOST('type','alphanohtml'); $optioncss = GETPOST('optioncss','alpha'); $year=GETPOST("year",'int'); diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 9e2a7278a279d..16d9f09947cd0 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -1189,32 +1189,32 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & } $ids1='';$ids2=''; - if (count($cases1[$h]) && array_keys($cases1[$h])) $ids1=join(',',array_keys($cases1[$h])); - if (count($cases2[$h]) && array_keys($cases2[$h])) $ids2=join(',',array_keys($cases2[$h])); + if (is_array($cases1[$h]) && count($cases1[$h]) && array_keys($cases1[$h])) $ids1=join(',',array_keys($cases1[$h])); + if (is_array($cases2[$h]) && count($cases2[$h]) && array_keys($cases2[$h])) $ids2=join(',',array_keys($cases2[$h])); if ($h == $begin_h) echo ''; else echo ''; - if (count($cases1[$h]) == 1) // only 1 event + if (is_array($cases1[$h]) && count($cases1[$h]) == 1) // only 1 event { $output = array_slice($cases1[$h], 0, 1); $title1=$langs->trans("Ref").' '.$ids1.($title1?' - '.$title1:''); if ($output[0]['string']) $title1.=($title1?' - ':'').$output[0]['string']; if ($output[0]['color']) $color1 = $output[0]['color']; } - else if (count($cases1[$h]) > 1) + else if (is_array($cases1[$h]) && count($cases1[$h]) > 1) { $title1=$langs->trans("Ref").' '.$ids1.($title1?' - '.$title1:''); $color1='222222'; } - if (count($cases2[$h]) == 1) // only 1 event + if (is_array($cases2[$h]) && count($cases2[$h]) == 1) // only 1 event { $output = array_slice($cases2[$h], 0, 1); $title2=$langs->trans("Ref").' '.$ids2.($title2?' - '.$title2:''); if ($output[0]['string']) $title2.=($title2?' - ':'').$output[0]['string']; if ($output[0]['color']) $color2 = $output[0]['color']; } - else if (count($cases2[$h]) > 1) + else if (is_array($cases2[$h]) && count($cases2[$h]) > 1) { $title2=$langs->trans("Ref").' '.$ids2.($title2?' - '.$title2:''); $color2='222222'; diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php index 60e471d712db2..d6c752330fee7 100644 --- a/htdocs/compta/prelevement/card.php +++ b/htdocs/compta/prelevement/card.php @@ -63,78 +63,86 @@ // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals +$hookmanager->initHooks(array('directdebitprevcard','globalcard')); /* * Actions */ -if ( $action == 'confirm_delete' ) -{ - $res=$object->delete($user); - if ($res > 0) - { - header("Location: index.php"); - exit; - } -} - -// Seems to no be used and replaced with $action == 'infocredit -if ( $action == 'confirm_credite' && GETPOST('confirm','alpha') == 'yes') -{ - $res=$object->set_credite(); - if ($res >= 0) - { - header("Location: card.php?id=".$id); - exit; - } -} - -if ($action == 'infotrans' && $user->rights->prelevement->bons->send) -{ - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int')); - - /* - if ($_FILES['userfile']['name'] && basename($_FILES['userfile']['name'],".ps") == $object->ref) - { - $dir = $conf->prelevement->dir_output.'/receipts'; - - if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . dol_unescapefile($_FILES['userfile']['name']),1) > 0) - { - $object->set_infotrans($user, $dt, GETPOST('methode','alpha')); - } - - header("Location: card.php?id=".$id); - exit; - } - else - { - dol_syslog("Fichier invalide",LOG_WARNING); - $mesg='BadFile'; - }*/ - - $error = $object->set_infotrans($user, $dt, GETPOST('methode','alpha')); +$parameters = array('socid' => $socid); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - if ($error) - { - header("Location: card.php?id=".$id."&error=$error"); - exit; - } -} - -// Set direct debit order to credited, create payment and close invoices -if ($action == 'infocredit' && $user->rights->prelevement->bons->credit) +if (empty($reshook)) { - $dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int')); - - $error = $object->set_infocredit($user, $dt); - - if ($error) - { - header("Location: card.php?id=".$id."&error=$error"); - exit; - } + if ( $action == 'confirm_delete' ) + { + $res=$object->delete($user); + if ($res > 0) + { + header("Location: index.php"); + exit; + } + } + + // Seems to no be used and replaced with $action == 'infocredit + if ( $action == 'confirm_credite' && GETPOST('confirm','alpha') == 'yes') + { + $res=$object->set_credite(); + if ($res >= 0) + { + header("Location: card.php?id=".$id); + exit; + } + } + + if ($action == 'infotrans' && $user->rights->prelevement->bons->send) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int')); + + /* + if ($_FILES['userfile']['name'] && basename($_FILES['userfile']['name'],".ps") == $object->ref) + { + $dir = $conf->prelevement->dir_output.'/receipts'; + + if (dol_move_uploaded_file($_FILES['userfile']['tmp_name'], $dir . "/" . dol_unescapefile($_FILES['userfile']['name']),1) > 0) + { + $object->set_infotrans($user, $dt, GETPOST('methode','alpha')); + } + + header("Location: card.php?id=".$id); + exit; + } + else + { + dol_syslog("Fichier invalide",LOG_WARNING); + $mesg='BadFile'; + }*/ + + $error = $object->set_infotrans($user, $dt, GETPOST('methode','alpha')); + + if ($error) + { + header("Location: card.php?id=".$id."&error=$error"); + exit; + } + } + + // Set direct debit order to credited, create payment and close invoices + if ($action == 'infocredit' && $user->rights->prelevement->bons->credit) + { + $dt = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int')); + + $error = $object->set_infocredit($user, $dt); + + if ($error) + { + header("Location: card.php?id=".$id."&error=$error"); + exit; + } + } }