2013-03-22 17:10:17 +01:00
< ? php
2024-07-10 18:59:04 +02:00
/* Copyright ( C ) 2012 Nicolas Villa aka Boyquotes http :// informetic . fr
* Copyright ( C ) 2013 Florian Henry < florian . henry @ open - concept . pro >
* Copyright ( C ) 2013 - 2021 Laurent Destailleur < eldy @ users . sourceforge . net >
* Copyright ( C ) 2019 - 2024 Frédéric France < frederic . france @ free . fr >
2025-01-18 23:15:39 +01:00
* Copyright ( C ) 2024 - 2025 MDW < mdeweerd @ users . noreply . github . com >
2024-07-10 18:59:04 +02:00
* Copyright ( C ) 2024 Alexandre Spangaro < alexandre @ inovea - conseil . com >
2013-03-22 17:10:17 +01:00
*
* 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
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
2013-03-22 17:10:17 +01:00
*/
/**
2017-07-26 10:11:39 +02:00
* \file htdocs / cron / list . php
2013-03-22 17:10:17 +01:00
* \ingroup cron
* \brief Lists Jobs
*/
2022-09-07 20:08:59 +02:00
// Load Dolibarr environment
2013-03-22 17:10:17 +01:00
require '../main.inc.php' ;
2018-05-26 20:51:17 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php' ;
require_once DOL_DOCUMENT_ROOT . '/cron/class/cronjob.class.php' ;
2013-03-22 17:10:17 +01:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/cron.lib.php' ;
2019-02-02 18:33:48 +01:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php' ;
2013-03-22 17:10:17 +01:00
2024-11-04 23:53:20 +01:00
/**
* @ var Conf $conf
* @ var DoliDB $db
* @ var HookManager $hookmanager
* @ var Translate $langs
* @ var User $user
*/
2018-05-26 20:51:17 +02:00
// Load translation files required by the page
2019-11-12 09:46:08 +01:00
$langs -> loadLangs ( array ( " admin " , " cron " , " bills " , " members " ));
2013-03-22 17:10:17 +01:00
2020-09-16 19:39:50 +02:00
$action = GETPOST ( 'action' , 'aZ09' );
2019-11-12 09:46:08 +01:00
$massaction = GETPOST ( 'massaction' , 'alpha' ); // The bulk action (combo box choice into lists)
$confirm = GETPOST ( 'confirm' , 'alpha' );
$toselect = GETPOST ( 'toselect' , 'array' ); // Array of ids of elements selected into a list
2023-12-04 12:01:45 +01:00
$contextpage = GETPOST ( 'contextpage' , 'aZ' ) ? GETPOST ( 'contextpage' , 'aZ' ) : 'cronjoblist' ; // To manage different context of search
2013-03-22 17:10:17 +01:00
2024-01-19 14:40:55 +01:00
$id = GETPOSTINT ( 'id' );
2018-03-01 15:24:50 +01:00
2024-03-16 11:41:00 +01:00
$limit = GETPOSTINT ( 'limit' ) ? GETPOSTINT ( 'limit' ) : $conf -> liste_limit ;
2022-01-13 11:09:37 +01:00
$sortfield = GETPOST ( 'sortfield' , 'aZ09comma' );
$sortorder = GETPOST ( 'sortorder' , 'aZ09comma' );
2024-03-01 01:52:40 +01:00
$page = GETPOSTISSET ( 'pageplusone' ) ? ( GETPOSTINT ( 'pageplusone' ) - 1 ) : GETPOSTINT ( " page " );
2021-02-28 23:47:30 +01:00
if ( empty ( $page ) || $page == - 1 ) {
$page = 0 ;
} // If $page is not defined, or '' or -1
2016-02-16 00:31:05 +01:00
$offset = $limit * $page ;
$pageprev = $page - 1 ;
$pagenext = $page + 1 ;
2021-02-28 23:47:30 +01:00
if ( ! $sortfield ) {
2023-08-08 11:34:49 +02:00
$sortfield = 't.priority,t.status' ;
2021-02-28 23:47:30 +01:00
}
if ( ! $sortorder ) {
2023-08-08 11:34:49 +02:00
$sortorder = 'ASC,DESC' ;
2021-02-28 23:47:30 +01:00
}
2021-03-18 08:16:28 +01:00
$optioncss = GETPOST ( 'optioncss' , 'alpha' );
2020-11-21 14:14:53 +01:00
$mode = GETPOST ( 'mode' , 'aZ09' );
2013-03-22 17:10:17 +01:00
//Search criteria
2024-03-04 10:41:46 +01:00
$search_status = GETPOST ( 'search_status' , 'intcomma' );
2019-11-12 09:46:08 +01:00
$search_label = GETPOST ( " search_label " , 'alpha' );
2020-11-21 14:14:53 +01:00
$search_module_name = GETPOST ( " search_module_name " , 'alpha' );
2021-05-03 23:21:39 +02:00
$search_lastresult = GETPOST ( " search_lastresult " , " alphawithlgt " );
2024-04-19 13:34:48 +02:00
$search_processing = GETPOST ( " search_processing " , 'int' );
2019-01-27 11:55:16 +01:00
$securitykey = GETPOST ( 'securitykey' , 'alpha' );
2016-08-17 15:40:17 +02:00
2021-03-18 08:16:28 +01:00
$outputdir = $conf -> cron -> dir_output ;
if ( empty ( $outputdir )) {
$outputdir = $conf -> cronjob -> dir_output ;
}
$diroutputmassaction = $outputdir . '/temp/massgeneration/' . $user -> id ;
2016-08-17 15:40:17 +02:00
2018-11-07 12:49:17 +01:00
$object = new Cronjob ( $db );
2024-06-30 21:02:50 +02:00
// Initialize a technical object to manage hooks of page. Note that conf->hooks_modules contains an array of hook context
2016-08-17 15:40:17 +02:00
$hookmanager -> initHooks ( array ( 'cronjoblist' ));
$extrafields = new ExtraFields ( $db );
// fetch optionals attributes and labels
2019-10-06 14:41:52 +02:00
$extrafields -> fetch_name_optionals_label ( $object -> table_element );
2019-09-28 10:55:09 +02:00
2019-11-12 09:46:08 +01:00
$search_array_options = $extrafields -> getOptionalsFromPost ( $object -> table_element , '' , 'search_' );
2016-08-17 15:40:17 +02:00
2022-06-30 12:37:41 +02:00
// Security
2023-10-15 18:12:03 +02:00
if ( ! $user -> hasRight ( 'cron' , 'read' )) {
2022-06-30 12:37:41 +02:00
accessforbidden ();
}
2024-02-09 15:58:49 +01:00
$permissiontoread = $user -> hasRight ( 'cron' , 'read' );
2024-07-10 18:59:04 +02:00
$permissiontoadd = $user -> hasRight ( 'cron' , 'create' ) ? $user -> hasRight ( 'cron' , 'create' ) : $user -> hasRight ( 'cron' , 'write' );
2024-02-09 15:58:49 +01:00
$permissiontodelete = $user -> hasRight ( 'cron' , 'delete' );
$permissiontoexecute = $user -> hasRight ( 'cron' , 'execute' );
2013-03-22 17:10:17 +01:00
2016-02-07 16:02:30 +01:00
/*
* Actions
*/
2024-11-10 11:16:23 +01:00
$error = 0 ;
2016-02-07 16:02:30 +01:00
2021-02-28 23:47:30 +01:00
if ( GETPOST ( 'cancel' , 'alpha' )) {
2023-12-04 12:01:45 +01:00
$action = 'list' ;
$massaction = '' ;
2021-02-28 23:47:30 +01:00
}
if ( ! GETPOST ( 'confirmmassaction' , 'alpha' ) && $massaction != 'presend' && $massaction != 'confirm_presend' ) {
$massaction = '' ;
}
2013-03-22 17:10:17 +01:00
2019-11-12 09:46:08 +01:00
$parameters = array ();
$reshook = $hookmanager -> executeHooks ( 'doActions' , $parameters , $object , $action ); // Note that $action and $object may have been modified by some hooks
2021-02-28 23:47:30 +01:00
if ( $reshook < 0 ) {
setEventMessages ( $hookmanager -> error , $hookmanager -> errors , 'errors' );
}
2013-03-22 17:10:17 +01:00
2021-02-28 23:47:30 +01:00
if ( empty ( $reshook )) {
2018-03-01 12:53:40 +01:00
// Selection of new fields
include DOL_DOCUMENT_ROOT . '/core/actions_changeselectedfields.inc.php' ;
// Purge search criteria
2021-02-28 23:47:30 +01:00
if ( GETPOST ( 'button_removefilter_x' , 'alpha' ) || GETPOST ( 'button_removefilter.x' , 'alpha' ) || GETPOST ( 'button_removefilter' , 'alpha' )) { // All tests are required to be compatible with all browsers
2019-11-12 09:46:08 +01:00
$search_label = '' ;
$search_status = - 1 ;
2020-12-12 13:58:21 +01:00
$search_lastresult = '' ;
2022-05-08 18:25:22 +02:00
$toselect = array ();
2019-11-12 09:46:08 +01:00
$search_array_options = array ();
2018-03-01 15:24:50 +01:00
}
2019-01-27 11:55:16 +01:00
if ( GETPOST ( 'button_removefilter_x' , 'alpha' ) || GETPOST ( 'button_removefilter.x' , 'alpha' ) || GETPOST ( 'button_removefilter' , 'alpha' )
2021-02-28 23:47:30 +01:00
|| GETPOST ( 'button_search_x' , 'alpha' ) || GETPOST ( 'button_search.x' , 'alpha' ) || GETPOST ( 'button_search' , 'alpha' )) {
2019-11-12 09:46:08 +01:00
$massaction = '' ; // Protection to avoid mass action if we force a new search during a mass action confirmation
2018-03-01 12:53:40 +01:00
}
2013-03-22 17:10:17 +01:00
2019-11-12 09:46:08 +01:00
$filter = array ();
2021-02-28 23:47:30 +01:00
if ( ! empty ( $search_label )) {
2019-11-12 09:46:08 +01:00
$filter [ 't.label' ] = $search_label ;
2013-03-22 17:10:17 +01:00
}
2018-03-01 12:53:40 +01:00
// Delete jobs
2022-06-30 12:37:41 +02:00
if ( $action == 'confirm_delete' && $confirm == " yes " && $permissiontodelete ) {
2018-03-01 12:53:40 +01:00
//Delete cron task
$object = new Cronjob ( $db );
2019-11-12 09:46:08 +01:00
$object -> id = $id ;
2018-03-01 12:53:40 +01:00
$result = $object -> delete ( $user );
if ( $result < 0 ) {
setEventMessages ( $object -> error , $object -> errors , 'errors' );
}
}
// Execute jobs
2022-06-30 12:37:41 +02:00
if ( $action == 'confirm_execute' && $confirm == " yes " && $permissiontoexecute ) {
2023-11-27 11:39:32 +01:00
if ( getDolGlobalString ( 'CRON_KEY' ) && $conf -> global -> CRON_KEY != $securitykey ) {
2020-10-31 14:32:18 +01:00
setEventMessages ( 'Security key ' . $securitykey . ' is wrong' , null , 'errors' );
$action = '' ;
} else {
$object = new Cronjob ( $db );
$job = $object -> fetch ( $id );
$now = dol_now (); // Date we start
$resrunjob = $object -> run_jobs ( $user -> login ); // Return -1 if KO, 1 if OK
if ( $resrunjob < 0 ) {
setEventMessages ( $object -> error , $object -> errors , 'errors' );
}
2024-01-14 12:26:37 +01:00
// Plan next run
2020-10-31 14:32:18 +01:00
$res = $object -> reprogram_jobs ( $user -> login , $now );
2021-02-28 23:47:30 +01:00
if ( $res > 0 ) {
if ( $resrunjob >= 0 ) { // We show the result of reprogram only if no error message already reported
if ( $object -> lastresult >= 0 ) {
setEventMessages ( $langs -> trans ( " JobFinished " ), null , 'mesgs' );
} else {
setEventMessages ( $langs -> trans ( " JobFinished " ), null , 'errors' );
}
2020-10-31 14:32:18 +01:00
}
$action = '' ;
} else {
setEventMessages ( $object -> error , $object -> errors , 'errors' );
$action = '' ;
}
$param = '&search_status=' . urlencode ( $search_status );
2021-02-28 23:47:30 +01:00
if ( ! empty ( $contextpage ) && $contextpage != $_SERVER [ " PHP_SELF " ]) {
$param .= '&contextpage=' . urlencode ( $contextpage );
}
if ( $limit > 0 && $limit != $conf -> liste_limit ) {
2023-04-08 01:43:21 +02:00
$param .= '&limit=' . (( int ) $limit );
2021-02-28 23:47:30 +01:00
}
if ( $search_label ) {
$param .= '&search_label=' . urlencode ( $search_label );
}
if ( $optioncss != '' ) {
$param .= '&optioncss=' . urlencode ( $optioncss );
}
2020-10-31 14:32:18 +01:00
// Add $param from extra fields
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_param.tpl.php' ;
header ( " Location: " . DOL_URL_ROOT . '/cron/list.php?' . $param . ( $sortfield ? '&sortfield=' . $sortfield : '' ) . ( $sortorder ? '&sortorder=' . $sortorder : '' )); // Make a redirect to avoid to run twice the job when using back
exit ;
}
2018-03-01 12:53:40 +01:00
}
2018-03-01 15:24:50 +01:00
// Mass actions
2019-11-12 09:46:08 +01:00
$objectclass = 'CronJob' ;
$objectlabel = 'CronJob' ;
2018-03-01 15:24:50 +01:00
$uploaddir = $conf -> cron -> dir_output ;
include DOL_DOCUMENT_ROOT . '/core/actions_massactions.inc.php' ;
2021-06-01 16:57:55 +02:00
if ( $massaction && $permissiontoadd ) {
2018-03-01 15:24:50 +01:00
$tmpcron = new Cronjob ( $db );
2021-02-28 23:47:30 +01:00
foreach ( $toselect as $id ) {
2018-03-01 15:24:50 +01:00
$result = $tmpcron -> fetch ( $id );
2021-02-28 23:47:30 +01:00
if ( $result ) {
2018-03-01 15:24:50 +01:00
$result = 0 ;
2021-02-28 23:47:30 +01:00
if ( $massaction == 'disable' ) {
$result = $tmpcron -> setStatut ( Cronjob :: STATUS_DISABLED );
} elseif ( $massaction == 'enable' ) {
$result = $tmpcron -> setStatut ( Cronjob :: STATUS_ENABLED );
}
2018-11-09 19:30:44 +01:00
//else dol_print_error($db, 'Bad value for massaction');
2021-02-28 23:47:30 +01:00
if ( $result < 0 ) {
setEventMessages ( $tmpcron -> error , $tmpcron -> errors , 'errors' );
}
2020-05-21 15:05:19 +02:00
} else {
2018-03-01 15:24:50 +01:00
$error ++ ;
}
}
}
2013-03-22 17:10:17 +01:00
}
/*
* View
*/
$form = new Form ( $db );
2018-02-22 12:15:11 +01:00
$cronjob = new Cronjob ( $db );
2013-03-22 17:10:17 +01:00
2024-07-11 00:45:05 +02:00
$title = $langs -> trans ( " CronList " );
2013-03-22 17:10:17 +01:00
2024-07-13 18:10:16 +02:00
llxHeader ( '' , $title , '' , '' , 0 , 0 , '' , '' , '' , 'bodyforlist' );
2013-03-22 17:10:17 +01:00
2023-07-26 11:04:50 +02:00
$TTestNotAllowed = array ();
2023-08-11 13:26:24 +02:00
$sqlTest = 'SELECT rowid, test FROM ' . MAIN_DB_PREFIX . 'cronjob' ;
$resultTest = $db -> query ( $sqlTest );
if ( $resultTest ) {
2023-07-26 11:04:50 +02:00
while ( $objTest = $db -> fetch_object ( $resultTest )) {
$veriftest = verifCond ( $objTest -> test );
2023-08-11 13:26:24 +02:00
if ( ! $veriftest ) {
2023-08-11 13:29:03 +02:00
$TTestNotAllowed [ $objTest -> rowid ] = $objTest -> rowid ;
2023-08-11 13:26:24 +02:00
}
2023-07-26 11:04:50 +02:00
}
}
2016-08-17 15:40:17 +02:00
$sql = " SELECT " ;
2019-11-12 09:46:08 +01:00
$sql .= " t.rowid, " ;
$sql .= " t.tms, " ;
$sql .= " t.datec, " ;
$sql .= " t.jobtype, " ;
$sql .= " t.label, " ;
$sql .= " t.command, " ;
$sql .= " t.classesname, " ;
$sql .= " t.objectname, " ;
$sql .= " t.methodename, " ;
$sql .= " t.params, " ;
$sql .= " t.md5params, " ;
$sql .= " t.module_name, " ;
$sql .= " t.priority, " ;
$sql .= " t.processing, " ;
$sql .= " t.datelastrun, " ;
$sql .= " t.datenextrun, " ;
$sql .= " t.dateend, " ;
$sql .= " t.datestart, " ;
$sql .= " t.lastresult, " ;
$sql .= " t.datelastresult, " ;
$sql .= " t.lastoutput, " ;
$sql .= " t.unitfrequency, " ;
$sql .= " t.frequency, " ;
$sql .= " t.status, " ;
$sql .= " t.fk_user_author, " ;
$sql .= " t.fk_user_mod, " ;
$sql .= " t.note, " ;
$sql .= " t.maxrun, " ;
$sql .= " t.nbrun, " ;
$sql .= " t.libname, " ;
$sql .= " t.test " ;
$sql .= " FROM " . MAIN_DB_PREFIX . " cronjob as t " ;
$sql .= " WHERE entity IN (0, " . $conf -> entity . " ) " ;
2023-08-11 13:26:24 +02:00
if ( ! empty ( $TTestNotAllowed )) {
$sql .= ' AND t.rowid NOT IN (' . $db -> sanitize ( implode ( ',' , $TTestNotAllowed )) . ')' ;
2023-07-26 11:04:50 +02:00
}
2021-02-28 23:47:30 +01:00
if ( $search_status >= 0 && $search_status < 2 && $search_status != '' ) {
$sql .= " AND t.status = " . ( empty ( $search_status ) ? '0' : '1' );
}
if ( $search_lastresult != '' ) {
$sql .= natural_search ( " t.lastresult " , $search_lastresult , 1 );
}
2022-09-05 12:27:06 +02:00
if ( GETPOSTISSET ( 'search_processing' )) {
$sql .= " AND t.processing = " . (( int ) $search_processing );
}
2024-04-19 13:34:48 +02:00
// Manage filter
2019-11-12 09:46:08 +01:00
if ( is_array ( $filter ) && count ( $filter ) > 0 ) {
foreach ( $filter as $key => $value ) {
2025-01-20 03:54:04 +01:00
$sql .= " AND " . $db -> sanitize ( $key ) . " LIKE '% " . $db -> escape ( $value ) . " %' " ;
2016-08-17 15:40:17 +02:00
}
2013-06-05 16:24:32 +02:00
}
2020-11-21 14:14:53 +01:00
if ( ! empty ( $search_module_name )) {
2022-06-30 13:25:42 +02:00
$sql .= natural_search ( " t.module_name " , $search_module_name );
2016-08-17 15:40:17 +02:00
}
// Add where from extra fields
2017-11-27 15:24:29 +01:00
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_sql.tpl.php' ;
2016-08-17 15:40:17 +02:00
// Add where from hooks
2019-11-12 09:46:08 +01:00
$parameters = array ();
$reshook = $hookmanager -> executeHooks ( 'printFieldListWhere' , $parameters ); // Note that $action and $object may have been modified by hook
$sql .= $hookmanager -> resPrint ;
2013-04-01 20:15:52 +02:00
2019-11-12 09:46:08 +01:00
$sql .= $db -> order ( $sortfield , $sortorder );
2016-08-17 15:40:17 +02:00
// Count total nb of records
2017-01-15 20:49:20 +01:00
$nbtotalofrecords = '' ;
2023-04-28 16:05:25 +02:00
if ( ! getDolGlobalInt ( 'MAIN_DISABLE_FULL_SCANLIST' )) {
2020-10-31 14:32:18 +01:00
$result = $db -> query ( $sql );
$nbtotalofrecords = $db -> num_rows ( $result );
2021-02-28 23:47:30 +01:00
if (( $page * $limit ) > $nbtotalofrecords ) { // if total resultset is smaller then paging size (filtering), goto and load page 0
2020-10-31 14:32:18 +01:00
$page = 0 ;
$offset = 0 ;
}
2016-03-03 10:05:40 +01:00
}
2013-06-23 22:30:33 +02:00
2019-11-12 09:46:08 +01:00
$sql .= $db -> plimit ( $limit + 1 , $offset );
2016-08-17 15:40:17 +02:00
2019-11-12 09:46:08 +01:00
$result = $db -> query ( $sql );
2021-02-28 23:47:30 +01:00
if ( ! $result ) {
dol_print_error ( $db );
}
2013-06-23 22:30:33 +02:00
2016-08-17 15:40:17 +02:00
$num = $db -> num_rows ( $result );
2016-09-10 19:53:32 +02:00
2019-11-12 09:46:08 +01:00
$arrayofselected = is_array ( $toselect ) ? $toselect : array ();
2018-03-01 15:24:50 +01:00
$param = '' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $contextpage ) && $contextpage != $_SERVER [ " PHP_SELF " ]) {
$param .= '&contextpage=' . urlencode ( $contextpage );
}
if ( $limit > 0 && $limit != $conf -> liste_limit ) {
2023-04-08 01:43:21 +02:00
$param .= '&limit=' . (( int ) $limit );
2021-02-28 23:47:30 +01:00
}
if ( $search_status ) {
$param .= '&search_status=' . urlencode ( $search_status );
}
if ( $search_label ) {
$param .= '&search_label=' . urlencode ( $search_label );
}
if ( $search_module_name ) {
$param .= '&search_module_name=' . urlencode ( $search_module_name );
}
if ( $search_lastresult ) {
$param .= '&search_lastresult=' . urlencode ( $search_lastresult );
}
if ( $mode ) {
$param .= '&mode=' . urlencode ( $mode );
}
if ( $optioncss != '' ) {
$param .= '&optioncss=' . urlencode ( $optioncss );
}
2016-09-10 19:53:32 +02:00
// Add $param from extra fields
2017-11-27 15:24:29 +01:00
include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_list_search_param.tpl.php' ;
2016-08-17 15:40:17 +02:00
2016-09-10 19:53:32 +02:00
$stringcurrentdate = $langs -> trans ( " CurrentHour " ) . ': ' . dol_print_date ( dol_now (), 'dayhour' );
2021-02-28 23:47:30 +01:00
if ( $action == 'execute' ) {
2019-01-27 11:55:16 +01:00
print $form -> formconfirm ( $_SERVER [ 'PHP_SELF' ] . " ?id= " . $id . '&securitykey=' . $securitykey . $param , $langs -> trans ( " CronExecute " ), $langs -> trans ( " CronConfirmExecute " ), " confirm_execute " , '' , '' , 1 );
2016-09-10 19:53:32 +02:00
}
2022-06-30 12:37:41 +02:00
if ( $action == 'delete' && empty ( $toselect )) { // Used when we make a delete on 1 line (not used for mass delete)
2022-06-16 15:13:56 +02:00
print $form -> formconfirm ( $_SERVER [ 'PHP_SELF' ] . " ?id= " . $id . $param , $langs -> trans ( " CronDelete " ), $langs -> trans ( " CronConfirmDelete " ), " confirm_delete " , '' , '' , 1 );
}
2018-03-01 12:53:40 +01:00
// List of mass actions available
2019-11-12 09:46:08 +01:00
$arrayofmassactions = array (
2021-04-14 14:45:55 +02:00
//'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"),
//'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"),
2024-03-12 23:15:22 +01:00
'enable' => img_picto ( '' , 'check' , 'class="pictofixedwidth"' ) . $langs -> trans ( " CronStatusActiveBtn " ),
'disable' => img_picto ( '' , 'uncheck' , 'class="pictofixedwidth"' ) . $langs -> trans ( " CronStatusInactiveBtn " ),
2018-03-01 12:53:40 +01:00
);
2023-10-15 18:12:03 +02:00
if ( $user -> hasRight ( 'cron' , 'delete' )) {
2021-04-14 14:45:55 +02:00
$arrayofmassactions [ 'predelete' ] = img_picto ( '' , 'delete' , 'class="pictofixedwidth"' ) . $langs -> trans ( " Delete " );
2021-02-28 23:47:30 +01:00
}
Fix: GETPOST(...,'int') to GETPOSTINT(...) (#28448)
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: GETPOST(...,'int') to GETPOSTINT(...)
# Fix: GETPOST(...,'int') to GETPOSTINT(...)
Converted using Phan plugin
* Fix: Update spelling exceptions
* Qual: Ignore Phan Notice
2024-02-27 14:05:53 +01:00
if ( GETPOSTINT ( 'nomassaction' ) || in_array ( $massaction , array ( 'presend' , 'predelete' ))) {
2021-02-28 23:47:30 +01:00
$arrayofmassactions = array ();
}
2019-11-12 09:46:08 +01:00
$massactionbutton = $form -> selectMassAction ( '' , $arrayofmassactions );
2018-03-01 12:53:40 +01:00
2024-11-19 21:02:05 +01:00
$head = [];
2020-11-21 14:14:53 +01:00
if ( $mode == 'modulesetup' ) {
$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1">' . $langs -> trans ( " BackToModuleList " ) . '</a>' ;
print load_fiche_titre ( $langs -> trans ( " CronSetup " ), $linkback , 'title_setup' );
// Configuration header
$head = cronadmin_prepare_head ();
}
2016-09-10 19:53:32 +02:00
2018-03-01 12:53:40 +01:00
print '<form method="POST" id="searchFormList" action="' . $_SERVER [ " PHP_SELF " ] . '" name="search_form">' . " \n " ;
2021-02-28 23:47:30 +01:00
if ( $optioncss != '' ) {
print '<input type="hidden" name="optioncss" value="' . $optioncss . '">' ;
}
2019-12-18 23:12:31 +01:00
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
2018-03-01 12:53:40 +01:00
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">' ;
2016-09-10 19:53:32 +02:00
print '<input type="hidden" name="sortfield" value="' . $sortfield . '">' ;
print '<input type="hidden" name="sortorder" value="' . $sortorder . '">' ;
2017-05-21 02:43:51 +02:00
print '<input type="hidden" name="page" value="' . $page . '">' ;
2018-03-01 12:53:40 +01:00
print '<input type="hidden" name="contextpage" value="' . $contextpage . '">' ;
2020-11-21 14:14:53 +01:00
print '<input type="hidden" name="mode" value="' . $mode . '">' ;
2016-09-10 19:53:32 +02:00
2019-05-29 09:38:19 +02:00
// Line with explanation and button new
2024-11-19 21:02:05 +01:00
$newcardbutton = dolGetButtonTitle ( $langs -> trans ( 'New' ), $langs -> trans ( 'CronCreateJob' ), 'fa fa-plus-circle' , DOL_URL_ROOT . '/cron/card.php?action=create&backtopage=' . urlencode ( $_SERVER [ 'PHP_SELF' ] . '?mode=modulesetup' ), '' , $user -> hasRight ( 'cron' , 'create' ));
2020-11-21 14:14:53 +01:00
if ( $mode == 'modulesetup' ) {
print dol_get_fiche_head ( $head , 'jobs' , $langs -> trans ( " Module2300Name " ), - 1 , 'cron' );
2019-04-15 00:21:58 +02:00
2020-11-21 14:14:53 +01:00
//print '<span class="opacitymedium">'.$langs->trans('CronInfo').'</span><br>';
}
2016-09-20 12:51:09 +02:00
2024-07-11 00:45:05 +02:00
print_barre_liste ( $title , $page , $_SERVER [ " PHP_SELF " ], $param , $sortfield , $sortorder , $massactionbutton , $num , $nbtotalofrecords , ( $mode == 'modulesetup' ? '' : 'title_setup' ), 0 , $newcardbutton , '' , $limit );
2016-09-20 12:51:09 +02:00
2021-04-27 03:16:11 +02:00
// Add code for pre mass action (confirmation or email presend form)
$topicmail = " SendCronRef " ;
$modelmail = " cron " ;
$objecttmp = new Cronjob ( $db );
$trackid = 'cron' . $object -> id ;
include DOL_DOCUMENT_ROOT . '/core/tpl/massactions_pre.tpl.php' ;
2017-05-12 19:14:54 +02:00
2019-11-12 09:46:08 +01:00
$text = $langs -> trans ( " HoursOnThisPageAreOnServerTZ " ) . ' ' . $stringcurrentdate . '<br>' ;
2023-11-27 11:39:32 +01:00
if ( getDolGlobalString ( 'CRON_WARNING_DELAY_HOURS' )) {
2024-01-05 04:18:53 +01:00
$text .= $langs -> trans ( " WarningCronDelayed " , getDolGlobalString ( 'CRON_WARNING_DELAY_HOURS' ));
2021-02-28 23:47:30 +01:00
}
2017-05-12 19:14:54 +02:00
print info_admin ( $text );
2022-11-05 12:48:16 +01:00
//print '<br>';
2016-09-10 19:53:32 +02:00
2020-08-23 02:38:56 +02:00
//$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
2019-11-12 09:46:08 +01:00
$selectedfields = '' ;
2018-02-22 12:15:11 +01:00
//$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields
2019-11-12 09:46:08 +01:00
$selectedfields .= ( count ( $arrayofmassactions ) ? $form -> showCheckAddButtons ( 'checkforselect' , 1 ) : '' );
2016-09-10 19:53:32 +02:00
2017-01-17 20:04:41 +01:00
print '<div class="div-table-responsive">' ;
2024-02-28 15:27:16 +01:00
print '<table class="noborder liste">' ;
2016-09-10 19:53:32 +02:00
2017-03-28 13:22:11 +02:00
print '<tr class="liste_titre_filter">' ;
2023-08-08 11:58:32 +02:00
// Action column
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="liste_titre right">' ;
$searchpicto = $form -> showFilterButtons ();
print $searchpicto ;
print '</td>' ;
}
2016-12-11 16:11:42 +01:00
print '<td class="liste_titre"> </td>' ;
2016-09-10 19:53:32 +02:00
print '<td class="liste_titre">' ;
2024-04-04 01:35:36 +02:00
print '<input type="text" class="flat width75" name="search_label" value="' . $search_label . '">' ;
2016-09-10 19:53:32 +02:00
print '</td>' ;
2024-04-04 01:49:23 +02:00
//print '<td class="liste_titre"> </td>';
2022-06-30 13:25:42 +02:00
print '<td class="liste_titre"><input type="text" class="width50" name="search_module_name" value="' . $search_module_name . '"></td>' ;
2016-12-11 16:11:42 +01:00
print '<td class="liste_titre"> </td>' ;
print '<td class="liste_titre"> </td>' ;
2022-06-30 12:09:23 +02:00
//print '<td class="liste_titre"> </td>';
//print '<td class="liste_titre"> </td>';
2016-12-11 16:11:42 +01:00
print '<td class="liste_titre"> </td>' ;
print '<td class="liste_titre"> </td>' ;
print '<td class="liste_titre"> </td>' ;
2020-12-12 13:58:21 +01:00
print '<td class="liste_titre center"><input type="text" class="width50" name="search_lastresult" value="' . $search_lastresult . '"></td>' ;
2016-12-11 16:11:42 +01:00
print '<td class="liste_titre"> </td>' ;
2018-02-27 19:53:03 +01:00
print '<td class="liste_titre"> </td>' ;
2022-11-05 12:48:16 +01:00
print '<td class="liste_titre center">' ;
2024-03-12 23:15:22 +01:00
print $form -> selectarray ( 'search_status' , array ( '0' => $langs -> trans ( " Disabled " ), '1' => $langs -> trans ( " Scheduled " )), $search_status , 1 , 0 , 0 , '' , 0 , 0 , 0 , '' , 'search_status width100 onrightofpage' );
2016-09-10 19:53:32 +02:00
print '</td>' ;
2023-08-08 11:58:32 +02:00
print '<td class="liste_titre"> </td>' ;
// Action column
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="liste_titre right">' ;
$searchpicto = $form -> showFilterButtons ();
print $searchpicto ;
print '</td>' ;
}
2016-09-10 19:53:32 +02:00
print '</tr>' ;
2017-03-28 13:22:11 +02:00
print '<tr class="liste_titre">' ;
2023-08-08 11:58:32 +02:00
// Action column
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print_liste_field_titre ( $selectedfields , $_SERVER [ " PHP_SELF " ], " " , " " , $param , '' , $sortfield , $sortorder , 'center maxwidthsearch ' );
}
2022-06-30 12:09:23 +02:00
print_liste_field_titre ( " Ref " , $_SERVER [ " PHP_SELF " ], " t.rowid " , " " , $param , '' , $sortfield , $sortorder );
2019-01-27 11:55:16 +01:00
print_liste_field_titre ( " CronLabel " , $_SERVER [ " PHP_SELF " ], " t.label " , " " , $param , '' , $sortfield , $sortorder );
2024-04-04 01:49:23 +02:00
//print_liste_field_titre("Priority", $_SERVER["PHP_SELF"], "t.priority", "", $param, '', $sortfield, $sortorder);
2022-06-30 13:25:42 +02:00
print_liste_field_titre ( " CronModule " , $_SERVER [ " PHP_SELF " ], " t.module_name " , " " , $param , '' , $sortfield , $sortorder );
2024-04-04 01:35:36 +02:00
print_liste_field_titre ( " " , '' , '' , " " , $param , '' , $sortfield , $sortorder , 'tdoverflowmax50 ' );
2019-01-27 11:55:16 +01:00
print_liste_field_titre ( " CronFrequency " , '' , " " , " " , $param , '' , $sortfield , $sortorder );
2022-06-30 12:09:23 +02:00
//print_liste_field_titre("CronDtStart", $_SERVER["PHP_SELF"], "t.datestart", "", $param, 'align="center"', $sortfield, $sortorder);
//print_liste_field_titre("CronDtEnd", $_SERVER["PHP_SELF"], "t.dateend", "", $param, 'align="center"', $sortfield, $sortorder);
2024-04-04 01:35:36 +02:00
print_liste_field_titre ( " CronNbRun " , $_SERVER [ " PHP_SELF " ], " t.nbrun " , " " , $param , '' , $sortfield , $sortorder , 'right tdoverflowmax50 maxwidth50imp ' );
2024-01-04 03:09:36 +01:00
print_liste_field_titre ( " CronDtLastLaunch " , $_SERVER [ " PHP_SELF " ], " t.datelastrun " , " " , $param , '' , $sortfield , $sortorder , 'center tdoverflowmax100 ' );
2022-11-05 12:48:16 +01:00
print_liste_field_titre ( " Duration " , $_SERVER [ " PHP_SELF " ], " " , " " , $param , '' , $sortfield , $sortorder , 'center ' );
print_liste_field_titre ( " CronLastResult " , $_SERVER [ " PHP_SELF " ], " t.lastresult " , " " , $param , '' , $sortfield , $sortorder , 'center ' );
2019-01-27 11:55:16 +01:00
print_liste_field_titre ( " CronLastOutput " , $_SERVER [ " PHP_SELF " ], " t.lastoutput " , " " , $param , '' , $sortfield , $sortorder );
2022-11-05 12:48:16 +01:00
print_liste_field_titre ( " CronDtNextLaunch " , $_SERVER [ " PHP_SELF " ], " t.datenextrun " , " " , $param , '' , $sortfield , $sortorder , 'center ' );
print_liste_field_titre ( " Status " , $_SERVER [ " PHP_SELF " ], " t.status,t.priority " , " " , $param , '' , $sortfield , $sortorder , 'center ' );
2023-08-08 11:58:32 +02:00
print_liste_field_titre ( " " , $_SERVER [ " PHP_SELF " ], " " , " " , $param , '' , $sortfield , $sortorder , 'center ' );
// Action column
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print_liste_field_titre ( $selectedfields , $_SERVER [ " PHP_SELF " ], " " , " " , $param , '' , $sortfield , $sortorder , 'center maxwidthsearch ' );
}
2017-03-28 13:22:11 +02:00
print " </tr> \n " ;
2021-02-28 23:47:30 +01:00
if ( $num > 0 ) {
2015-12-19 02:38:11 +01:00
// Loop on each job
2016-08-17 15:40:17 +02:00
$now = dol_now ();
2019-11-12 09:46:08 +01:00
$i = 0 ;
2018-12-12 12:16:57 +01:00
2021-02-28 23:47:30 +01:00
while ( $i < min ( $num , $limit )) {
2016-08-17 15:40:17 +02:00
$obj = $db -> fetch_object ( $result );
2017-07-13 00:35:10 +02:00
2021-02-28 23:47:30 +01:00
if ( empty ( $obj )) {
break ;
}
2022-03-07 17:54:06 +01:00
2022-08-22 20:31:59 +02:00
$reg = array ();
if ( preg_match ( '/:(.*)$/' , $obj -> label , $reg )) {
$langs -> load ( $reg [ 1 ]);
}
2018-02-22 12:15:11 +01:00
$object -> id = $obj -> rowid ;
$object -> ref = $obj -> rowid ;
2022-08-22 20:24:17 +02:00
$object -> label = preg_replace ( '/:.*$/' , '' , $obj -> label );
2018-02-27 20:04:29 +01:00
$object -> status = $obj -> status ;
2018-02-27 19:53:03 +01:00
$object -> priority = $obj -> priority ;
2018-12-12 12:16:57 +01:00
$object -> processing = $obj -> processing ;
2024-02-11 11:03:59 +01:00
$object -> lastresult = ( string ) $obj -> lastresult ;
2022-06-30 12:09:23 +02:00
$object -> datestart = $db -> jdate ( $obj -> datestart );
$object -> dateend = $db -> jdate ( $obj -> dateend );
2022-06-30 13:25:42 +02:00
$object -> module_name = $obj -> module_name ;
2023-03-24 15:18:05 +01:00
$object -> params = $obj -> params ;
$object -> datelastrun = $db -> jdate ( $obj -> datelastrun );
$object -> datenextrun = $db -> jdate ( $obj -> datenextrun );
2018-02-22 12:15:11 +01:00
2019-01-17 17:50:21 +01:00
$datelastrun = $db -> jdate ( $obj -> datelastrun );
$datelastresult = $db -> jdate ( $obj -> datelastresult );
2017-07-26 10:11:39 +02:00
print '<tr class="oddeven">' ;
2013-03-26 21:18:01 +01:00
2023-08-08 11:58:32 +02:00
// Action column
if ( getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="nowraponall center">' ;
if ( $massactionbutton || $massaction ) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0 ;
if ( in_array ( $obj -> rowid , $arrayofselected )) {
$selected = 1 ;
}
print '<input id="cb' . $obj -> rowid . '" class="flat checkforselect valignmiddle" type="checkbox" name="toselect[]" value="' . $obj -> rowid . '"' . ( $selected ? ' checked="checked"' : '' ) . '>' ;
}
print '</td>' ;
}
2018-02-27 19:53:03 +01:00
// Ref
2019-02-06 00:56:28 +01:00
print '<td class="nowraponall">' ;
2018-02-22 12:15:11 +01:00
print $object -> getNomUrl ( 1 );
2015-06-04 12:57:49 +02:00
print '</td>' ;
2018-02-27 19:53:03 +01:00
// Label
2024-09-27 00:50:41 +02:00
print '<td class="minwidth150">' ;
2022-08-22 20:24:17 +02:00
if ( ! empty ( $object -> label )) {
$object -> ref = $langs -> trans ( $object -> label );
2025-02-20 20:25:19 +01:00
print '<div class="small twolinesmax lineheightsmall minwidth150 maxwidth250 classfortooltip" title="' . dol_escape_htmltag ( $langs -> trans ( $object -> label ), 0 , 0 ) . '">' ;
2024-04-04 01:35:36 +02:00
print $object -> getNomUrl ( 0 , '' , 1 );
print '</div>' ;
2018-02-22 12:15:11 +01:00
$object -> ref = $obj -> rowid ;
2020-05-21 15:05:19 +02:00
} else {
2015-12-19 02:38:11 +01:00
//print $langs->trans('CronNone');
2013-03-22 17:10:17 +01:00
}
print '</td>' ;
2013-03-26 21:18:01 +01:00
2018-02-27 19:53:03 +01:00
// Priority
2024-04-04 01:49:23 +02:00
/* print '<td class="right">' ;
2022-06-30 13:25:42 +02:00
print dol_escape_htmltag ( $object -> priority );
2024-04-04 01:49:23 +02:00
print '</td>' ; */
2022-06-30 13:25:42 +02:00
// Module
print '<td>' ;
print dol_escape_htmltag ( $object -> module_name );
2018-02-27 19:53:03 +01:00
print '</td>' ;
2022-06-30 13:25:42 +02:00
// Class/Method
2021-03-16 14:46:00 +01:00
print '<td class="nowraponall">' ;
2021-02-28 23:47:30 +01:00
if ( $obj -> jobtype == 'method' ) {
2024-04-04 01:35:36 +02:00
$text = img_picto ( '' , 'code' );
$texttoshow = '<b>' . $langs -> trans ( " CronType_method " ) . '</b><br><br>' ;
$texttoshow .= $langs -> trans ( 'CronModule' ) . ': ' . $obj -> module_name . '<br>' ;
2019-11-12 09:46:08 +01:00
$texttoshow .= $langs -> trans ( 'CronClass' ) . ': ' . $obj -> classesname . '<br>' ;
$texttoshow .= $langs -> trans ( 'CronObject' ) . ': ' . $obj -> objectname . '<br>' ;
$texttoshow .= $langs -> trans ( 'CronMethod' ) . ': ' . $obj -> methodename ;
$texttoshow .= '<br>' . $langs -> trans ( 'CronArgs' ) . ': ' . $obj -> params ;
$texttoshow .= '<br>' . $langs -> trans ( 'Comment' ) . ': ' . $langs -> trans ( $obj -> note );
2021-02-28 23:47:30 +01:00
} elseif ( $obj -> jobtype == 'command' ) {
2024-04-04 01:35:36 +02:00
$text = img_picto ( '' , 'terminal' );
$texttoshow = '<b>' . $langs -> trans ( 'CronType_command' ) . '</b><br><br>' ;
$texttoshow .= $langs -> trans ( 'CronCommand' ) . ': ' . dol_trunc ( $obj -> command );
2019-11-12 09:46:08 +01:00
$texttoshow .= '<br>' . $langs -> trans ( 'CronArgs' ) . ': ' . $obj -> params ;
$texttoshow .= '<br>' . $langs -> trans ( 'Comment' ) . ': ' . $langs -> trans ( $obj -> note );
2025-01-18 23:15:39 +01:00
} else {
$texttoshow = '' ;
$texttoshow = '' ;
2013-03-22 17:10:17 +01:00
}
2024-04-04 01:35:36 +02:00
print '<span class="classfortooltip" title="' . dol_escape_htmltag ( $texttoshow , 1 , 1 ) . '">' . $text . '</a>' ;
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2024-03-24 22:40:44 +01:00
// Frequency
2022-11-05 12:48:16 +01:00
$s = '' ;
2021-02-28 23:47:30 +01:00
if ( $obj -> unitfrequency == " 60 " ) {
2024-03-12 23:15:22 +01:00
$s = ( $obj -> frequency ) . " " . $langs -> trans ( 'MinuteShort' );
2022-11-05 12:48:16 +01:00
} elseif ( $obj -> unitfrequency == " 3600 " ) {
2024-03-12 23:15:22 +01:00
$s = ( $obj -> frequency ) . " " . $langs -> trans ( 'HourShort' );
2022-11-05 12:48:16 +01:00
} elseif ( $obj -> unitfrequency == " 86400 " ) {
2023-08-08 11:58:32 +02:00
$s = ( $obj -> frequency ) . " " . ( $obj -> frequency > 1 ? $langs -> trans ( 'DurationDays' ) : $langs -> trans ( 'DurationDay' ));
2022-11-05 12:48:16 +01:00
} elseif ( $obj -> unitfrequency == " 604800 " ) {
2023-08-08 11:58:32 +02:00
$s = ( $obj -> frequency ) . " " . ( $obj -> frequency > 1 ? $langs -> trans ( 'DurationWeeks' ) : $langs -> trans ( 'DurationWeek' ));
2022-11-05 12:48:16 +01:00
} elseif ( $obj -> unitfrequency == " 2678400 " ) {
2023-08-08 11:58:32 +02:00
$s = ( $obj -> frequency ) . " " . ( $obj -> frequency > 1 ? $langs -> trans ( 'DurationMonths' ) : $langs -> trans ( 'DurationMonth' ));
2021-02-28 23:47:30 +01:00
}
2024-04-03 01:49:18 +02:00
print '<td class="tdoverflowmax125 center" title="' . dol_escape_htmltag ( $s ) . '">' ;
print dol_escape_htmltag ( $s );
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2022-06-30 12:09:23 +02:00
/*
2021-12-05 16:57:39 +01:00
print '<td class="center">' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $obj -> datestart )) {
2021-03-05 19:29:09 +01:00
print dol_print_date ( $db -> jdate ( $obj -> datestart ), 'dayhour' , 'tzserver' );
2021-02-28 23:47:30 +01:00
}
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2021-12-05 16:57:39 +01:00
print '<td class="center">' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $obj -> dateend )) {
2021-03-05 19:29:09 +01:00
print dol_print_date ( $db -> jdate ( $obj -> dateend ), 'dayhour' , 'tzserver' );
2021-02-28 23:47:30 +01:00
}
2015-12-19 03:27:55 +01:00
print '</td>' ;
2022-06-30 12:09:23 +02:00
*/
2017-07-13 00:35:10 +02:00
2021-12-05 16:57:39 +01:00
print '<td class="right">' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $obj -> nbrun )) {
2022-06-30 13:25:42 +02:00
print dol_escape_htmltag ( $obj -> nbrun );
2021-02-28 23:47:30 +01:00
} else {
print '0' ;
}
if ( ! empty ( $obj -> maxrun )) {
2022-06-30 13:25:42 +02:00
print ' <span class="' . $langs -> trans ( " Max " ) . '">/ ' . dol_escape_htmltag ( $obj -> maxrun ) . '</span>' ;
2021-02-28 23:47:30 +01:00
}
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2021-12-05 16:59:02 +01:00
$datefromto = ( empty ( $datelastrun ) ? '' : dol_print_date ( $datelastrun , 'dayhoursec' , 'tzserver' )) . ' - ' . ( empty ( $datelastresult ) ? '' : dol_print_date ( $datelastresult , 'dayhoursec' , 'tzserver' ));
2021-12-05 16:57:39 +01:00
2019-01-16 22:59:42 +01:00
// Date start last run
2021-12-05 16:57:39 +01:00
print '<td class="center" title="' . dol_escape_htmltag ( $datefromto ) . '">' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $datelastrun )) {
2021-03-05 19:29:09 +01:00
print dol_print_date ( $datelastrun , 'dayhoursec' , 'tzserver' );
2021-02-28 23:47:30 +01:00
}
2019-01-16 22:59:42 +01:00
print '</td>' ;
2019-01-17 17:50:21 +01:00
// Duration
2023-08-08 13:08:05 +02:00
print '<td class="center nowraponall" title="' . dol_escape_htmltag ( $datefromto ) . '">' ;
2019-01-17 17:50:21 +01:00
if ( ! empty ( $datelastresult ) && ( $datelastresult >= $datelastrun )) {
2023-08-08 13:03:36 +02:00
$nbseconds = max ( $datelastresult - $datelastrun , 1 );
2024-03-12 23:15:22 +01:00
print $nbseconds . ' ' . $langs -> trans ( " SecondShort " );
2019-01-17 17:50:21 +01:00
}
2015-12-19 02:38:11 +01:00
print '</td>' ;
2015-12-19 03:27:55 +01:00
2019-01-16 22:59:42 +01:00
// Return code of last run
2022-06-30 12:09:23 +02:00
print '<td class="center tdlastresultcode" title="' . dol_escape_htmltag ( $obj -> lastresult ) . '">' ;
2018-05-01 19:51:53 +02:00
if ( $obj -> lastresult != '' ) {
2021-02-28 23:47:30 +01:00
if ( empty ( $obj -> lastresult )) {
2022-06-30 13:25:42 +02:00
print $obj -> lastresult ; // Print '0'
2021-02-28 23:47:30 +01:00
} else {
2022-06-30 13:25:42 +02:00
print '<span class="error">' . dol_escape_htmltag ( dol_trunc ( $obj -> lastresult )) . '</div>' ;
2021-02-28 23:47:30 +01:00
}
2018-05-01 19:51:53 +02:00
}
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2019-01-16 22:59:42 +01:00
// Output of last run
2022-06-30 12:09:23 +02:00
print '<td class="small minwidth150">' ;
2021-02-28 23:47:30 +01:00
if ( ! empty ( $obj -> lastoutput )) {
2022-06-30 12:09:23 +02:00
print '<div class="twolinesmax classfortooltip" title="' . dol_escape_htmltag ( $obj -> lastoutput , 1 , 1 ) . '">' ;
print dol_trunc ( dolGetFirstLineOfText ( $obj -> lastoutput , 2 ), 100 );
print '</div>' ;
2021-02-28 23:47:30 +01:00
}
2013-03-22 17:10:17 +01:00
print '</td>' ;
2013-03-26 21:18:01 +01:00
2023-11-19 10:32:11 +01:00
// Next run date
2024-01-04 03:14:50 +01:00
print '<td class="center">' ;
2018-09-18 23:39:49 +02:00
if ( ! empty ( $obj -> datenextrun )) {
$datenextrun = $db -> jdate ( $obj -> datenextrun );
2021-02-28 23:47:30 +01:00
if ( empty ( $obj -> status )) {
2024-04-04 01:49:23 +02:00
print '<span class="opacitymedium strikefordisabled">' ;
2021-02-28 23:47:30 +01:00
}
2019-01-27 11:55:16 +01:00
print dol_print_date ( $datenextrun , 'dayhoursec' );
2021-02-28 23:47:30 +01:00
if ( $obj -> status == Cronjob :: STATUS_ENABLED ) {
if ( $obj -> maxrun && $obj -> nbrun >= $obj -> maxrun ) {
print img_warning ( $langs -> trans ( " MaxRunReached " ));
} elseif ( $datenextrun && $datenextrun < $now ) {
print img_warning ( $langs -> trans ( " Late " ));
}
}
if ( empty ( $obj -> status )) {
print '</span>' ;
2018-09-18 23:45:22 +02:00
}
2018-06-16 23:51:30 +02:00
}
2017-08-21 12:24:58 +02:00
print '</td>' ;
2015-06-04 12:57:49 +02:00
// Status
2019-03-14 19:00:12 +01:00
print '<td class="center">' ;
2020-01-25 11:50:16 +01:00
print $object -> getLibStatut ( 5 );
2013-04-17 16:26:14 +02:00
print '</td>' ;
2019-03-14 19:00:12 +01:00
print '<td class="nowraponall right">' ;
2018-05-27 15:53:18 +02:00
2020-11-21 14:14:53 +01:00
$backtopage = urlencode ( $_SERVER [ " PHP_SELF " ] . '?' . $param . ( $sortfield ? '&sortfield=' . $sortfield : '' ) . ( $sortorder ? '&sortorder=' . $sortorder : '' ));
2023-10-15 18:12:03 +02:00
if ( $user -> hasRight ( 'cron' , 'create' )) {
2020-10-01 10:50:54 +02:00
print '<a class="editfielda" href="' . DOL_URL_ROOT . " /cron/card.php?id= " . $obj -> rowid . '&action=edit&token=' . newToken () . ( $sortfield ? '&sortfield=' . $sortfield : '' ) . ( $sortorder ? '&sortorder=' . $sortorder : '' ) . $param ;
2020-11-21 14:14:53 +01:00
print " &backtopage= " . $backtopage . " \" title= \" " . dol_escape_htmltag ( $langs -> trans ( 'Edit' )) . " \" > " . img_picto ( $langs -> trans ( 'Edit' ), 'edit' ) . " </a> " ;
2016-01-19 23:45:03 +01:00
}
2023-10-15 18:12:03 +02:00
if ( $user -> hasRight ( 'cron' , 'delete' )) {
2020-10-01 10:50:54 +02:00
print '<a class="reposition" href="' . $_SERVER [ " PHP_SELF " ] . " ?id= " . $obj -> rowid . '&action=delete&token=' . newToken () . ( $page ? '&page=' . $page : '' ) . ( $sortfield ? '&sortfield=' . $sortfield : '' ) . ( $sortorder ? '&sortorder=' . $sortorder : '' ) . $param ;
2024-09-25 22:21:31 +02:00
print '" title="' . dol_escape_htmltag ( $langs -> trans ( 'CronDelete' )) . '">' . img_picto ( $langs -> trans ( 'CronDelete' ), 'delete' , '' , 0 , 0 , 0 , '' , 'marginleftonly' ) . '</a> ' ;
2013-03-22 17:10:17 +01:00
} else {
2024-09-25 22:21:31 +02:00
print '<a href="#" title="' . dol_escape_htmltag ( $langs -> trans ( 'NotEnoughPermissions' )) . '">' . img_picto ( $langs -> trans ( 'NotEnoughPermissions' ), 'delete' , '' , 0 , 0 , 0 , '' , 'marginleftonly' ) . '</a> ' ;
2013-03-22 17:10:17 +01:00
}
2023-10-15 18:12:03 +02:00
if ( $user -> hasRight ( 'cron' , 'execute' )) {
2019-10-19 19:34:28 +02:00
if ( ! empty ( $obj -> status )) {
2024-07-31 15:36:07 +02:00
print '<a class="reposition" href="' . $_SERVER [ " PHP_SELF " ] . '?id=' . $obj -> rowid . '&action=execute&token=' . newToken ();
2023-12-04 12:01:45 +01:00
print ( ! getDolGlobalString ( 'CRON_KEY' ) ? '' : '&securitykey=' . getDolGlobalString ( 'CRON_KEY' ));
print ( $sortfield ? '&sortfield=' . $sortfield : '' );
print ( $sortorder ? '&sortorder=' . $sortorder : '' );
2024-09-25 22:21:31 +02:00
print $param . " \" title= \" " . dol_escape_htmltag ( $langs -> trans ( 'CronExecute' )) . " \" > " . img_picto ( $langs -> trans ( 'CronExecute' ), " play " , '' , 0 , 0 , 0 , '' , 'marginleftonly' ) . '</a>' ;
2019-10-19 19:34:28 +02:00
} else {
2024-09-25 22:21:31 +02:00
print '<a href="#" class="cursordefault" title="' . dol_escape_htmltag ( $langs -> trans ( 'JobDisabled' )) . '">' . img_picto ( $langs -> trans ( 'JobDisabled' ), " playdisabled " , '' , 0 , 0 , 0 , '' , 'marginleftonly' ) . '</a>' ;
2019-10-19 19:34:28 +02:00
}
2013-03-22 17:10:17 +01:00
} else {
2024-09-25 22:21:31 +02:00
print '<a href="#" class="cursornotallowed" title="' . dol_escape_htmltag ( $langs -> trans ( 'NotEnoughPermissions' )) . '">' . img_picto ( $langs -> trans ( 'NotEnoughPermissions' ), " playdisabled " , '' , 0 , 0 , 0 , '' , 'marginleftonly' ) . '</a>' ;
2013-03-22 17:10:17 +01:00
}
2023-08-08 11:58:32 +02:00
print '</td>' ;
// Action column
if ( ! getDolGlobalString ( 'MAIN_CHECKBOX_LEFT_COLUMN' )) {
print '<td class="nowraponall center">' ;
if ( $massactionbutton || $massaction ) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0 ;
if ( in_array ( $obj -> rowid , $arrayofselected )) {
$selected = 1 ;
}
print '<input id="cb' . $obj -> rowid . '" class="flat checkforselect valignmiddle" type="checkbox" name="toselect[]" value="' . $obj -> rowid . '"' . ( $selected ? ' checked="checked"' : '' ) . '>' ;
2021-02-28 23:47:30 +01:00
}
2023-08-08 11:58:32 +02:00
print '</td>' ;
2018-03-01 15:24:50 +01:00
}
2013-03-26 21:18:01 +01:00
2013-03-22 17:10:17 +01:00
print '</tr>' ;
2017-07-13 00:35:10 +02:00
2016-08-17 15:40:17 +02:00
$i ++ ;
2013-03-22 17:10:17 +01:00
}
2020-05-21 15:05:19 +02:00
} else {
2023-09-30 19:40:09 +02:00
print '<tr><td colspan="16"><span class="opacitymedium">' . $langs -> trans ( 'CronNoJobs' ) . '</span></td></tr>' ;
2013-06-23 22:30:33 +02:00
}
print '</table>' ;
2017-01-17 20:04:41 +01:00
print '</div>' ;
2013-06-23 22:30:33 +02:00
2013-06-24 17:36:33 +02:00
print '</from>' ;
2013-06-23 22:30:33 +02:00
2020-11-21 14:14:53 +01:00
if ( $mode == 'modulesetup' ) {
print dol_get_fiche_end ();
}
2013-06-23 22:30:33 +02:00
2013-03-22 17:10:17 +01:00
llxFooter ();
2013-03-27 13:24:26 +01:00
$db -> close ();