dolibarr  13.0.2
recruitmentjobposition_applications.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <https://www.gnu.org/licenses/>.
16  */
17 
24 //if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Do not create database handler $db
25 //if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Do not load object $user
26 //if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); // Do not load object $mysoc
27 //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Do not load object $langs
28 //if (! defined('NOSCANGETFORINJECTION')) define('NOSCANGETFORINJECTION','1'); // Do not check injection attack on GET parameters
29 //if (! defined('NOSCANPOSTFORINJECTION')) define('NOSCANPOSTFORINJECTION','1'); // Do not check injection attack on POST parameters
30 //if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1'); // Do not check CSRF attack (test on referer + on token if option MAIN_SECURITY_CSRF_WITH_TOKEN is on).
31 //if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on)
32 //if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK','1'); // Do not check style html tag into posted data
33 //if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); // If there is no need to load and show top and left menu
34 //if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); // If we don't need to load the html.form.class.php
35 //if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); // Do not load ajax.lib.php library
36 //if (! defined("NOLOGIN")) define("NOLOGIN",'1'); // If this page is public (can be called outside logged session). This include the NOIPCHECK too.
37 //if (! defined('NOIPCHECK')) define('NOIPCHECK','1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
38 //if (! defined("MAIN_LANG_DEFAULT")) define('MAIN_LANG_DEFAULT','auto'); // Force lang to a particular value
39 //if (! defined("MAIN_AUTHENTICATION_MODE")) define('MAIN_AUTHENTICATION_MODE','aloginmodule'); // Force authentication handler
40 //if (! defined("NOREDIRECTBYMAINTOLOGIN")) define('NOREDIRECTBYMAINTOLOGIN',1); // The main.inc.php does not make a redirect if not logged, instead show simple error message
41 //if (! defined("FORCECSP")) define('FORCECSP','none'); // Disable all Content Security Policies
42 
43 
44 // Load Dolibarr environment
45 $res = 0;
46 // Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
47 if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";
48 // Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
49 $tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1;
50 while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; }
51 if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php";
52 if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php";
53 // Try main.inc.php using relative path
54 if (!$res && file_exists("../main.inc.php")) $res = @include "../main.inc.php";
55 if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php";
56 if (!$res && file_exists("../../../main.inc.php")) $res = @include "../../../main.inc.php";
57 if (!$res) die("Include of main fails");
58 
59 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
60 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
61 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
62 require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
63 dol_include_once('/recruitment/class/recruitmentjobposition.class.php');
64 dol_include_once('/recruitment/lib/recruitment_recruitmentjobposition.lib.php');
65 
66 // Load translation files required by the page
67 $langs->loadLangs(array("recruitment", "other"));
68 
69 // Get parameters
70 $id = GETPOST('id', 'int');
71 $ref = GETPOST('ref', 'alpha');
72 $action = GETPOST('action', 'aZ09');
73 $confirm = GETPOST('confirm', 'alpha');
74 $cancel = GETPOST('cancel', 'aZ09');
75 $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'recruitmentjobpositioncard'; // To manage different context of search
76 $backtopage = GETPOST('backtopage', 'alpha');
77 $backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
78 //$lineid = GETPOST('lineid', 'int');
79 
80 // Initialize technical objects
81 $object = new RecruitmentJobPosition($db);
82 $extrafields = new ExtraFields($db);
83 $diroutputmassaction = $conf->recruitment->dir_output.'/temp/massgeneration/'.$user->id;
84 $hookmanager->initHooks(array('recruitmentjobpositioncard', 'globalcard')); // Note that conf->hooks_modules contains array
85 
86 // Fetch optionals attributes and labels
87 $extrafields->fetch_name_optionals_label($object->table_element);
88 
89 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_');
90 
91 // Initialize array of search criterias
92 $search_all = GETPOST("search_all", 'alpha');
93 $search = array();
94 foreach ($object->fields as $key => $val)
95 {
96  if (GETPOST('search_'.$key, 'alpha')) $search[$key] = GETPOST('search_'.$key, 'alpha');
97 }
98 
99 if (empty($action) && empty($id) && empty($ref)) $action = 'view';
100 
101 // Load object
102 include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once.
103 
104 
105 $permissiontoread = $user->rights->recruitment->recruitmentjobposition->read;
106 $permissiontoadd = $user->rights->recruitment->recruitmentjobposition->write; // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php
107 $permissiontodelete = $user->rights->recruitment->recruitmentjobposition->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
108 $permissionnote = $user->rights->recruitment->recruitmentjobposition->write; // Used by the include of actions_setnotes.inc.php
109 $permissiondellink = $user->rights->recruitment->recruitmentjobposition->write; // Used by the include of actions_dellink.inc.php
110 $upload_dir = $conf->recruitment->multidir_output[isset($object->entity) ? $object->entity : 1];
111 
112 // Security check - Protection if external user
113 //if ($user->socid > 0) accessforbidden();
114 //if ($user->socid > 0) $socid = $user->socid;
115 //$isdraft = (($object->statut == $object::STATUS_DRAFT) ? 1 : 0);
116 //$result = restrictedArea($user, 'recruitment', $object->id, '', '', 'fk_soc', 'rowid', $isdraft);
117 
118 //if (!$permissiontoread) accessforbidden();
119 
120 
121 /*
122  * Actions
123  */
124 
125 $parameters = array();
126 $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
127 if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
128 
129 if (empty($reshook))
130 {
131  $error = 0;
132 
133  $backurlforlist = dol_buildpath('/recruitment/recruitmentjobposition_list.php', 1);
134 
135  if (empty($backtopage) || ($cancel && empty($id))) {
136  if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) {
137  if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) $backtopage = $backurlforlist;
138  else $backtopage = dol_buildpath('/recruitment/recruitmentjobposition_card.php', 1).'?id='.($id > 0 ? $id : '__ID__');
139  }
140  }
141  $triggermodname = 'RECRUITMENT_RECRUITMENTJOBPOSITION_MODIFY'; // Name of trigger action code to execute when we modify record
142 
143  // Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen
144  include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
145 
146  // Actions when linking object each other
147  include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php';
148 
149  // Actions when printing a doc from card
150  include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
151 
152  // Action to move up and down lines of object
153  //include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php';
154 
155  // Action to build doc
156  include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
157 
158  if ($action == 'set_thirdparty' && $permissiontoadd)
159  {
160  $object->setValueFrom('fk_soc', GETPOST('fk_soc', 'int'), '', '', 'date', '', $user, 'RECRUITMENTJOBPOSITION_MODIFY');
161  }
162  if ($action == 'classin' && $permissiontoadd)
163  {
164  $object->setProject(GETPOST('projectid', 'int'));
165  }
166 
167  // Actions to send emails
168  $triggersendname = 'RECRUITMENTJOBPOSITION_SENTBYMAIL';
169  $autocopy = 'MAIN_MAIL_AUTOCOPY_RECRUITMENTJOBPOSITION_TO';
170  $trackid = 'recruitmentjobposition'.$object->id;
171  include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
172 }
173 
174 
175 
176 
177 /*
178  * View
179  *
180  * Put here all code to build page
181  */
182 
183 $form = new Form($db);
184 $formfile = new FormFile($db);
185 $formproject = new FormProjets($db);
186 
187 $title = $langs->trans("PositionToBeFilled");
188 $help_url = '';
189 llxHeader('', $title, $help_url);
190 
191 // Part to create
192 if ($action == 'create')
193 {
194  print load_fiche_titre($langs->trans("NewPositionToBeFilled"), '', 'object_'.$object->picto);
195 
196  print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
197  print '<input type="hidden" name="token" value="'.newToken().'">';
198  print '<input type="hidden" name="action" value="add">';
199  if ($backtopage) print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
200  if ($backtopageforcancel) print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
201 
202  // Set some default values
203  if (!GETPOSTISSET('fk_user_recruiter')) $_POST['fk_user_recruiter'] = $user->id;
204 
205  print dol_get_fiche_head(array(), '');
206 
207  print '<table class="border centpercent tableforfieldcreate">'."\n";
208 
209  // Common attributes
210  include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php';
211 
212  // Other attributes
213  include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_add.tpl.php';
214 
215  print '</table>'."\n";
216 
218 
219  print '<div class="center">';
220  print '<input type="submit" class="button" name="add" value="'.dol_escape_htmltag($langs->trans("Create")).'">';
221  print '&nbsp; ';
222  print '<input type="'.($backtopage ? "submit" : "button").'" class="button button-cancel" name="cancel" value="'.dol_escape_htmltag($langs->trans("Cancel")).'"'.($backtopage ? '' : ' onclick="javascript:history.go(-1)"').'>'; // Cancel for create does not post form if we don't know the backtopage
223  print '</div>';
224 
225  print '</form>';
226 
227  //dol_set_focus('input[name="ref"]');
228 }
229 
230 // Part to edit record
231 if (($id || $ref) && $action == 'edit')
232 {
233  print load_fiche_titre($langs->trans("PositionToBeFilled"), '', 'object_'.$object->picto);
234 
235  print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
236  print '<input type="hidden" name="token" value="'.newToken().'">';
237  print '<input type="hidden" name="action" value="update">';
238  print '<input type="hidden" name="id" value="'.$object->id.'">';
239  if ($backtopage) print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
240  if ($backtopageforcancel) print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
241 
243 
244  print '<table class="border centpercent tableforfieldedit">'."\n";
245 
246  // Common attributes
247  include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_edit.tpl.php';
248 
249  // Other attributes
250  include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_edit.tpl.php';
251 
252  print '</table>';
253 
255 
256  print '<div class="center"><input type="submit" class="button button-save" name="save" value="'.$langs->trans("Save").'">';
257  print ' &nbsp; <input type="submit" class="button button-cancel" name="cancel" value="'.$langs->trans("Cancel").'">';
258  print '</div>';
259 
260  print '</form>';
261 }
262 
263 // Part to show record
264 if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create')))
265 {
266  $res = $object->fetch_optionals();
267 
268  $head = recruitmentjobpositionPrepareHead($object);
269  print dol_get_fiche_head($head, 'candidatures', $langs->trans("RecruitmentCandidatures"), -1, $object->picto);
270 
271  $formconfirm = '';
272 
273  // Confirmation to delete
274  if ($action == 'delete')
275  {
276  $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteRecruitmentJobPosition'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1);
277  }
278  // Confirmation to delete line
279  if ($action == 'deleteline')
280  {
281  $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteline', '', 0, 1);
282  }
283  // Clone confirmation
284  if ($action == 'clone') {
285  // Create an array for form
286  $formquestion = array();
287  $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
288  }
289 
290  // Confirmation of action xxxx
291  if ($action == 'xxx')
292  {
293  $formquestion = array();
294  /*
295  $forcecombo=0;
296  if ($conf->browser->name == 'ie') $forcecombo = 1; // There is a bug in IE10 that make combo inside popup crazy
297  $formquestion = array(
298  // 'text' => $langs->trans("ConfirmClone"),
299  // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1),
300  // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1),
301  // array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, '', 0, $forcecombo))
302  );
303  */
304  $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220);
305  }
306 
307  // Call Hook formConfirm
308  $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid);
309  $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
310  if (empty($reshook)) $formconfirm .= $hookmanager->resPrint;
311  elseif ($reshook > 0) $formconfirm = $hookmanager->resPrint;
312 
313  // Print form confirm
314  print $formconfirm;
315 
316 
317  // Object card
318  // ------------------------------------------------------------
319  $linkback = '<a href="'.dol_buildpath('/recruitment/recruitmentjobposition_list.php', 1).'?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
320 
321  $morehtmlref = '<div class="refidno">';
322  /*
323  // Ref customer
324  $morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
325  $morehtmlref.=$form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
326  // Thirdparty
327  $morehtmlref.='<br>'.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
328  */
329  // Project
330  if (!empty($conf->projet->enabled))
331  {
332  $langs->load("projects");
333  $morehtmlref .= $langs->trans('Project').' ';
334  if ($permissiontoadd)
335  {
336  if ($action != 'classify') $morehtmlref .= '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?action=classify&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a>';
337  $morehtmlref .= ' : ';
338  if ($action == 'classify') {
339  //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
340  $morehtmlref .= '<form method="post" action="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'">';
341  $morehtmlref .= '<input type="hidden" name="action" value="classin">';
342  $morehtmlref .= '<input type="hidden" name="token" value="'.newToken().'">';
343  $morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1);
344  $morehtmlref .= '<input type="submit" class="button valignmiddle" value="'.$langs->trans("Modify").'">';
345  $morehtmlref .= '</form>';
346  } else {
347  $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
348  }
349  } else {
350  if (!empty($object->fk_project)) {
351  $proj = new Project($db);
352  $proj->fetch($object->fk_project);
353  $morehtmlref .= ': '.$proj->getNomUrl();
354  } else {
355  $morehtmlref .= '';
356  }
357  }
358  }
359  $morehtmlref .= '</div>';
360 
361 
362  dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
363 
364 
365  print '<div class="fichecenter">';
366  print '<div class="fichehalfleft">';
367  print '<div class="underbanner clearboth"></div>';
368  print '<table class="border centpercent tableforfield">'."\n";
369 
370  // Common attributes
371  $keyforbreak = 'description'; // We change column just after this field
372  unset($object->fields['fk_project']); // Hide field already shown in banner
373  //unset($object->fields['fk_soc']); // Hide field already shown in banner
374  include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
375 
376  // Other attributes. Fields from hook formObjectOptions and Extrafields.
377  include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
378 
379  print '</table>';
380  print '</div>';
381  print '</div>';
382 
383  print '<div class="clearboth"></div>';
384 
386 
387 
388  /*
389  * Lines
390  */
391 
392  if (!empty($object->table_element_line))
393  {
394  // Show object lines
395  $result = $object->getLinesArray();
396 
397  print ' <form name="addproduct" id="addproduct" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.(($action != 'editline') ? '#addline' : '#line_'.GETPOST('lineid', 'int')).'" method="POST">
398  <input type="hidden" name="token" value="' . newToken().'">
399  <input type="hidden" name="action" value="' . (($action != 'editline') ? 'addline' : 'updateline').'">
400  <input type="hidden" name="mode" value="">
401  <input type="hidden" name="id" value="' . $object->id.'">
402  ';
403 
404  if (!empty($conf->use_javascript_ajax) && $object->status == 0) {
405  include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php';
406  }
407 
408  print '<div class="div-table-responsive-no-min">';
409  if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline'))
410  {
411  print '<table id="tablelines" class="noborder noshadow" width="100%">';
412  }
413 
414  if (!empty($object->lines))
415  {
416  $object->printObjectLines($action, $mysoc, null, GETPOST('lineid', 'int'), 1);
417  }
418 
419  // Form to add new line
420  if ($object->status == 0 && $permissiontoadd && $action != 'selectlines')
421  {
422  if ($action != 'editline')
423  {
424  // Add products/services form
425  $object->formAddObjectLine(1, $mysoc, $soc);
426 
427  $parameters = array();
428  $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
429  }
430  }
431 
432  if (!empty($object->lines) || ($object->status == $object::STATUS_DRAFT && $permissiontoadd && $action != 'selectlines' && $action != 'editline'))
433  {
434  print '</table>';
435  }
436  print '</div>';
437 
438  print "</form>\n";
439  }
440 
441  print '<br>'.$langs->trans("FeatureNotYetAvailable");
442 }
443 
444 // End of page
445 llxFooter();
446 $db->close();
if(!function_exists('dol_getprefix')) dol_include_once($relpath, $classname= '')
Make an include_once using default root and alternate root if it fails.
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
img_edit($titlealt= 'default', $float=0, $other= '')
Show logo editer/modifier fiche.
recruitmentjobpositionPrepareHead($object)
Prepare array of tabs for RecruitmentJobPosition.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
llxHeader()
Empty header.
Definition: wrapper.php:45
Class to manage standard extra fields.
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
Class to manage generation of HTML components Only common components must be here.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname.
Class to manage projects.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
Class to manage building of HTML components.
Class for RecruitmentJobPosition.
Class to offer components to list and upload files.
print $_SERVER["PHP_SELF"]
Edit parameters.
dol_get_fiche_head($links=array(), $active= '', $title= '', $notab=0, $picto= '', $pictoisfullpath=0, $morehtmlright= '', $morecss= '', $limittoshow=0, $moretabssuffix= '')
Show tabs of a record.
print
Draft customers invoices.
Definition: index.php:89
newToken()
Return the value of token currently saved into session with name &#39;newtoken&#39;.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
dol_banner_tab($object, $paramid, $morehtml= '', $shownav=1, $fieldid= 'rowid', $fieldref= 'ref', $morehtmlref= '', $moreparam= '', $nodbprefix=0, $morehtmlleft= '', $morehtmlstatus= '', $onlybanner=0, $morehtmlright= '')
Show tab footer of a card.
llxFooter()
Empty footer.
Definition: wrapper.php:59
if(!defined('CSRFCHECK_WITH_TOKEN')) define('CSRFCHECK_WITH_TOKEN'
Draft customers invoices.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $keepmoretags= '', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields...