dolibarr  19.0.0-dev
cron.lib.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2012 Nicolas Villa aka Boyquotes http://informetic.fr
3  * Copyright (C) 2013 Florian Henry <florian.henry@opn-concept.pro>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17  */
18 
32 {
33  global $langs, $conf, $user;
34  $h = 0;
35  $head = array();
36 
37  $head[$h][0] = DOL_URL_ROOT.'/cron/admin/cron.php';
38  $head[$h][1] = $langs->trans("Miscellaneous");
39  $head[$h][2] = 'setup';
40  $h++;
41 
42  $head[$h][0] = DOL_URL_ROOT.'/cron/list.php?mode=modulesetup';
43  $head[$h][1] = $langs->trans("Module2300Name");
44  $head[$h][2] = 'jobs';
45  $h++;
46 
47  complete_head_from_modules($conf, $langs, null, $head, $h, 'cronadmin');
48 
49  complete_head_from_modules($conf, $langs, null, $head, $h, 'cronadmin', 'remove');
50 
51 
52  return $head;
53 }
54 
61 function cron_prepare_head(Cronjob $object)
62 {
63  global $langs, $conf, $user;
64  $h = 0;
65  $head = array();
66 
67  $head[$h][0] = DOL_URL_ROOT.'/cron/card.php?id='.$object->id;
68  $head[$h][1] = $langs->trans("CronTask");
69  $head[$h][2] = 'card';
70  $h++;
71 
72  $head[$h][0] = DOL_URL_ROOT.'/cron/info.php?id='.$object->id;
73  $head[$h][1] = $langs->trans("Info");
74  $head[$h][2] = 'info';
75  $h++;
76 
77  complete_head_from_modules($conf, $langs, $object, $head, $h, 'cron');
78 
79  complete_head_from_modules($conf, $langs, $object, $head, $h, 'cron', 'remove');
80 
81  return $head;
82 }
83 
90 {
91  global $conf, $langs, $user;
92  global $dolibarr_main_url_root;
93 
94  // Define $urlwithroot
95  $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
96  $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
97  //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
98 
99  // Cron launch
100  print '<div class="div-table-responsive-no-min">';
101  print $langs->trans("URLToLaunchCronJobs").':<br>';
102  $url = $urlwithroot.'/public/cron/cron_run_jobs_by_url.php?'.(empty($conf->global->CRON_KEY) ? '' : 'securitykey='.$conf->global->CRON_KEY.'&').'userlogin='.$user->login;
103  print '<div class="urllink">';
104  print '<input type="text" id="publicurlmember" class="quatrevingtpercentminusx" value="'.$url.'">';
105  print ' <a href="'.$url.'" target="_blank" rel="noopener noreferrer">'.img_picto('', 'globe')."</a>\n";
106  print '</div>';
107  print '<br> '.$langs->trans("OrToLaunchASpecificJob").'<br>';
108  $url = $urlwithroot.'/public/cron/cron_run_jobs_by_url.php?'.(empty($conf->global->CRON_KEY) ? '' : 'securitykey='.$conf->global->CRON_KEY.'&').'userlogin='.$user->login.'&id=cronjobid';
109  print '<div class="urllink">';
110  print '<input type="text" id="publicurlmemberall" class="quatrevingtpercentminusx" value="'.$url.'">';
111  print ' <a href="'.$url.'" target="_blank" rel="noopener noreferrer">'.img_picto('', 'globe')."</a>\n";
112  print '</div>';
113  print '</div>';
114  print '<br>';
115 
116  print ajax_autoselect("publicurlmember");
117  print ajax_autoselect("publicurlmemberall");
118 
119  $logintouse = 'firstadmin';
120  if ($user->admin) {
121  $logintouse = $user->login;
122  }
123 
124  print '<u>'.$langs->trans("FileToLaunchCronJobs").':</u><br>';
125 
126  $pathtoscript = '/pathtoscript';
127  if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) {
128  $pathtoscript = $conf->global->MAIN_DOL_SCRIPTS_ROOT;
129  }
130 
131  $file = $pathtoscript.'/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY).' '.$logintouse.' [cronjobid]';
132  print '<textarea class="quatrevingtpercent">'.$file."</textarea><br>\n";
133  print '<br>';
134 
135  // Add note
136  if (empty($conf->global->CRON_DISABLE_TUTORIAL_CRON)) {
137  $linuxlike = 1;
138  if (preg_match('/^win/i', PHP_OS)) {
139  $linuxlike = 0;
140  }
141  if (preg_match('/^mac/i', PHP_OS)) {
142  $linuxlike = 0;
143  }
144  print $langs->trans("Note").': ';
145  if ($linuxlike) {
146  print $langs->trans("CronExplainHowToRunUnix");
147  print '<br>';
148  print '<textarea class="quatrevingtpercent">*/5 * * * * '.$pathtoscript.'/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY).' '.$logintouse.' &gt; '.DOL_DATA_ROOT.'/cron_run_jobs.php.log</textarea><br>';
149  } else {
150  print $langs->trans("CronExplainHowToRunWin");
151  }
152  }
153 
154  return 0;
155 }
Cron Job class.
cron_prepare_head(Cronjob $object)
Return array of tabs to used on a cron job.
Definition: cron.lib.php:61
cronadmin_prepare_head()
Return array of tabs to used on pages to setup cron module.
Definition: cron.lib.php:31
dol_print_cron_urls()
Show information with URLs to launch jobs.
Definition: cron.lib.php:89
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
ajax_autoselect($htmlname, $addlink='', $textonlink='Link')
Make content of an input box selected when we click into input field.
complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode='add', $filterorigmodule='')
Complete or removed entries into a head array (used to build tabs).
if(!defined( 'CSRFCHECK_WITH_TOKEN'))