dolibarr  7.0.0-beta
agenda.lib.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2008-2014 Laurent Destailleur <eldy@users.sourceforge.net>
3  * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
4  * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  * or see http://www.gnu.org/
19  */
20 
50 function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $action, $showextcals=array(), $actioncode='', $usergroupid='', $excludetype='', $resourceid=0)
51 {
52  global $conf, $user, $langs, $db, $hookmanager;
53  global $begin_h, $end_h, $begin_d, $end_d;
54 
55  $langs->load("companies");
56 
57  include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php';
58  $formactions=new FormActions($db);
59 
60  // Filters
61  //print '<form name="listactionsfilter" class="listactionsfilter" action="' . $_SERVER["PHP_SELF"] . '" method="get">';
62  print '<input type="hidden" name="token" value="' . $_SESSION ['newtoken'] . '">';
63  print '<input type="hidden" name="year" value="' . $year . '">';
64  print '<input type="hidden" name="month" value="' . $month . '">';
65  print '<input type="hidden" name="day" value="' . $day . '">';
66  print '<input type="hidden" name="action" value="' . $action . '">';
67  print '<input type="hidden" name="showbirthday" value="' . $showbirthday . '">';
68 
69  print '<div class="fichecenter">';
70 
71  if (! empty($conf->browser->phone)) print '<div class="fichehalfleft">';
72  else print '<table class="nobordernopadding" width="100%"><tr><td class="borderright">';
73 
74  print '<table class="nobordernopadding centpercent">';
75 
76  if ($canedit)
77  {
78  print '<tr>';
79  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
80  print $langs->trans("ActionsToDoBy").' &nbsp; ';
81  print '</td><td style="padding-bottom: 2px; padding-right: 4px;">';
82  print $form->select_dolusers($filtert, 'filtert', 1, '', ! $canedit, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
83  if (empty($conf->dol_optimize_smallscreen)) print ' &nbsp; '.$langs->trans("or") . ' '.$langs->trans("ToUserOfGroup").' &nbsp; ';
84  print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', ! $canedit);
85  print '</td></tr>';
86 
87  if ($conf->resource->enabled)
88  {
89  include_once DOL_DOCUMENT_ROOT . '/resource/class/html.formresource.class.php';
90  $formresource=new FormResource($db);
91 
92  // Resource
93  print '<tr>';
94  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
95  print $langs->trans("Resource");
96  print ' &nbsp;</td><td class="nowrap maxwidthonsmartphone" style="padding-bottom: 2px; padding-right: 4px;">';
97  print $formresource->select_resource_list($resourceid, "resourceid", '', 1, 0, 0, null, '', 2);
98  print '</td></tr>';
99  }
100 
101  // Type
102  print '<tr>';
103  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
104  print $langs->trans("Type");
105  print ' &nbsp;</td><td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
106  $multiselect=0;
107  if (! empty($conf->global->MAIN_ENABLE_MULTISELECT_TYPE)) // We use an option here because it adds bugs when used on agenda page "peruser" and "list"
108  {
109  $multiselect=(!empty($conf->global->AGENDA_USE_EVENT_TYPE));
110  }
111  print $formactions->select_type_actions($actioncode, "actioncode", $excludetype, (empty($conf->global->AGENDA_USE_EVENT_TYPE)?1:-1), 0, $multiselect);
112  print '</td></tr>';
113  }
114 
115  if (! empty($conf->societe->enabled) && $user->rights->societe->lire)
116  {
117  print '<tr>';
118  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
119  print $langs->trans("ThirdParty").' &nbsp; ';
120  print '</td><td class="nowrap" style="padding-bottom: 2px;">';
121  print $form->select_company($socid, 'socid', '', 'SelectThirdParty', 0, 0, null, 0);
122  print '</td></tr>';
123  }
124 
125  if (! empty($conf->projet->enabled) && $user->rights->projet->lire)
126  {
127  require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
128  $formproject=new FormProjets($db);
129 
130  print '<tr>';
131  print '<td class="nowrap" style="padding-bottom: 2px;">';
132  print $langs->trans("Project").' &nbsp; ';
133  print '</td><td class="nowrap" style="padding-bottom: 2px;">';
134  $formproject->select_projects($socid?$socid:-1, $pid, 'projectid', 0);
135  print '</td></tr>';
136  }
137 
138  if ($canedit && ! preg_match('/list/', $_SERVER["PHP_SELF"]))
139  {
140  // Status
141  print '<tr>';
142  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
143  print $langs->trans("Status");
144  print ' &nbsp;</td><td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">';
145  $formactions->form_select_status_action('formaction', $status, 1, 'status', 1, 2, 'minwidth100');
146  print '</td></tr>';
147  }
148 
149  if ($canedit && $action == 'show_peruser')
150  {
151  // Filter on hours
152  print '<tr>';
153  print '<td class="nowrap" style="padding-bottom: 2px; padding-right: 4px;">'.$langs->trans("VisibleTimeRange").'</td>';
154  print "<td class='nowrap'>";
155  print '<div class="ui-grid-a"><div class="ui-block-a">';
156  print '<input type="number" class="short" name="begin_h" value="'.$begin_h.'" min="0" max="23">';
157  if (empty($conf->dol_use_jmobile)) print ' - ';
158  else print '</div><div class="ui-block-b">';
159  print '<input type="number" class="short" name="end_h" value="'.$end_h.'" min="1" max="24">';
160  if (empty($conf->dol_use_jmobile)) print ' '.$langs->trans("H");
161  print '</div></div>';
162  print '</td></tr>';
163 
164  // Filter on days
165  print '<tr>';
166  print '<td class="nowrap">'.$langs->trans("VisibleDaysRange").'</td>';
167  print "<td class='nowrap'>";
168  print '<div class="ui-grid-a"><div class="ui-block-a">';
169  print '<input type="number" class="short" name="begin_d" value="'.$begin_d.'" min="1" max="7">';
170  if (empty($conf->dol_use_jmobile)) print ' - ';
171  else print '</div><div class="ui-block-b">';
172  print '<input type="number" class="short" name="end_d" value="'.$end_d.'" min="1" max="7">';
173  print '</div></div>';
174  print '</td></tr>';
175  }
176 
177  // Hooks
178  $parameters = array('canedit'=>$canedit, 'pid'=>$pid, 'socid'=>$socid);
179  $reshook = $hookmanager->executeHooks('searchAgendaFrom', $parameters, $object, $action); // Note that $action and $object may have been
180 
181  print '</table>';
182 
183  if (! empty($conf->browser->phone)) print '</div>';
184  else print '</td>';
185 
186  if (! empty($conf->browser->phone)) print '<div class="fichehalfright">';
187  else print '<td align="center" valign="middle" class="nowrap">';
188 
189  print '<table class="centpercent"><tr><td align="center">';
190  print '<div class="formleftzone">';
191  print '<input type="submit" class="button" style="min-width:120px" name="refresh" value="' . $langs->trans("Refresh") . '">';
192  print '</div>';
193  print '</td></tr>';
194  print '</table>';
195 
196  if (! empty($conf->browser->phone)) print '</div>';
197  else print '</td></tr></table>';
198 
199  print '</div>'; // Close fichecenter
200  print '<div style="clear:both"></div>';
201 
202  //print '</form>';
203 }
204 
205 
212 function show_array_actions_to_do($max=5)
213 {
214  global $langs, $conf, $user, $db, $bc, $socid;
215 
216  $now=dol_now();
217 
218  include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php';
219  include_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php';
220 
221  $sql = "SELECT a.id, a.label, a.datep as dp, a.datep2 as dp2, a.fk_user_author, a.percent,";
222  $sql.= " c.code, c.libelle as type_label,";
223  $sql.= " s.nom as sname, s.rowid, s.client";
224  $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a LEFT JOIN ";
225  $sql.= " ".MAIN_DB_PREFIX."c_actioncomm as c ON c.id = a.fk_action";
226  $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
227  if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
228  $sql.= " WHERE a.entity = ".$conf->entity;
229  $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep2 > '".$db->idate($now)."'))";
230  if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
231  if ($socid) $sql.= " AND s.rowid = ".$socid;
232  $sql.= " ORDER BY a.datep DESC, a.id DESC";
233  $sql.= $db->plimit($max, 0);
234 
235  $resql=$db->query($sql);
236  if ($resql)
237  {
238  $num = $db->num_rows($resql);
239 
240  print '<table class="noborder" width="100%">';
241  print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("LastActionsToDo",$max).'</th>';
242  print '<th colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/list.php?status=todo">'.$langs->trans("FullList").'</a></th>';
243  print '</tr>';
244 
245  $var = true;
246  $i = 0;
247 
248  $staticaction=new ActionComm($db);
249  $customerstatic=new Client($db);
250 
251  while ($i < $num)
252  {
253  $obj = $db->fetch_object($resql);
254 
255 
256  print '<tr class="oddeven">';
257 
258  $staticaction->type_code=$obj->code;
259  $staticaction->label=($obj->label?$obj->label:$obj->type_label);
260  $staticaction->id=$obj->id;
261  print '<td>'.$staticaction->getNomUrl(1,34).'</td>';
262 
263  // print '<td>'.dol_trunc($obj->label,22).'</td>';
264 
265  print '<td>';
266  if ($obj->rowid > 0)
267  {
268  $customerstatic->id=$obj->rowid;
269  $customerstatic->name=$obj->sname;
270  $customerstatic->client=$obj->client;
271  print $customerstatic->getNomUrl(1,'',16);
272  }
273  print '</td>';
274 
275  $datep=$db->jdate($obj->dp);
276  $datep2=$db->jdate($obj->dp2);
277 
278  // Date
279  print '<td width="100" align="right">'.dol_print_date($datep,'day').'&nbsp;';
280  $late=0;
281  if ($obj->percent == 0 && $datep && $datep < time()) $late=1;
282  if ($obj->percent == 0 && ! $datep && $datep2 && $datep2 < time()) $late=1;
283  if ($obj->percent > 0 && $obj->percent < 100 && $datep2 && $datep2 < time()) $late=1;
284  if ($obj->percent > 0 && $obj->percent < 100 && ! $datep2 && $datep && $datep < time()) $late=1;
285  if ($late) print img_warning($langs->trans("Late"));
286  print "</td>";
287 
288  // Statut
289  print "<td align=\"right\" width=\"14\">".$staticaction->LibStatut($obj->percent,3)."</td>\n";
290 
291  print "</tr>\n";
292 
293  $i++;
294  }
295  print "</table><br>";
296 
297  $db->free($resql);
298  }
299  else
300  {
301  dol_print_error($db);
302  }
303 }
304 
305 
313 {
314  global $langs, $conf, $user, $db, $bc, $socid;
315 
316  $now=dol_now();
317 
318  $sql = "SELECT a.id, a.percent, a.datep as da, a.datep2 as da2, a.fk_user_author, a.label,";
319  $sql.= " c.code, c.libelle,";
320  $sql.= " s.rowid, s.nom as sname, s.client";
321  $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a LEFT JOIN ";
322  $sql.= " ".MAIN_DB_PREFIX."c_actioncomm as c ON c.id = a.fk_action ";
323  $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid";
324  if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
325  $sql.= " WHERE a.entity = ".$conf->entity;
326  $sql.= " AND (a.percent >= 100 OR (a.percent = -1 AND a.datep2 <= '".$db->idate($now)."'))";
327  if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
328  if ($socid) $sql.= " AND s.rowid = ".$socid;
329  $sql .= " ORDER BY a.datep2 DESC";
330  $sql .= $db->plimit($max, 0);
331 
332  $resql=$db->query($sql);
333  if ($resql)
334  {
335  $num = $db->num_rows($resql);
336 
337  print '<table class="noborder" width="100%">';
338  print '<tr class="liste_titre"><th colspan="2">'.$langs->trans("LastDoneTasks",$max).'</th>';
339  print '<th colspan="2" align="right"><a class="commonlink" href="'.DOL_URL_ROOT.'/comm/action/list.php?status=done">'.$langs->trans("FullList").'</a></th>';
340  print '</tr>';
341  $var = true;
342  $i = 0;
343 
344  $staticaction=new ActionComm($db);
345  $customerstatic=new Societe($db);
346 
347  while ($i < $num)
348  {
349  $obj = $db->fetch_object($resql);
350 
351 
352  print '<tr class="oddeven">';
353 
354  $staticaction->type_code=$obj->code;
355  $staticaction->libelle=$obj->label;
356  $staticaction->id=$obj->id;
357  print '<td>'.$staticaction->getNomUrl(1,34).'</td>';
358 
359  //print '<td>'.dol_trunc($obj->label,24).'</td>';
360 
361  print '<td>';
362  if ($obj->rowid > 0)
363  {
364  $customerstatic->id=$obj->rowid;
365  $customerstatic->name=$obj->sname;
366  $customerstatic->client=$obj->client;
367  print $customerstatic->getNomUrl(1,'',24);
368  }
369  print '</td>';
370 
371  // Date
372  print '<td width="100" align="right">'.dol_print_date($db->jdate($obj->da2),'day');
373  print "</td>";
374 
375  // Statut
376  print "<td align=\"right\" width=\"14\">".$staticaction->LibStatut($obj->percent,3)."</td>\n";
377 
378  print "</tr>\n";
379  $i++;
380  }
381  // TODO Ajouter rappel pour "il y a des contrats a mettre en service"
382  // TODO Ajouter rappel pour "il y a des contrats qui arrivent a expiration"
383  print "</table><br>";
384 
385  $db->free($resql);
386  }
387  else
388  {
389  dol_print_error($db);
390  }
391 }
392 
393 
400 {
401  global $langs, $conf, $user;
402  $h = 0;
403  $head = array();
404 
405  $head[$h][0] = DOL_URL_ROOT."/admin/agenda_other.php";
406  $head[$h][1] = $langs->trans("Miscellaneous");
407  $head[$h][2] = 'other';
408  $h++;
409 
410  $head[$h][0] = DOL_URL_ROOT."/admin/agenda.php";
411  $head[$h][1] = $langs->trans("AutoActions");
412  $head[$h][2] = 'autoactions';
413  $h++;
414 
415  if ($conf->global->MAIN_FEATURES_LEVEL > 0)
416  {
417  $head[$h][0] = DOL_URL_ROOT."/admin/agenda_reminder.php";
418  $head[$h][1] = $langs->trans("Reminders");
419  $head[$h][2] = 'reminders';
420  $h++;
421  }
422 
423  $head[$h][0] = DOL_URL_ROOT."/admin/agenda_xcal.php";
424  $head[$h][1] = $langs->trans("ExportCal");
425  $head[$h][2] = 'xcal';
426  $h++;
427 
428  $head[$h][0] = DOL_URL_ROOT."/admin/agenda_extsites.php";
429  $head[$h][1] = $langs->trans("ExtSites");
430  $head[$h][2] = 'extsites';
431  $h++;
432 
433  complete_head_from_modules($conf,$langs,null,$head,$h,'agenda_admin');
434 
435  $head[$h][0] = DOL_URL_ROOT."/admin/agenda_extrafields.php";
436  $head[$h][1] = $langs->trans("ExtraFields");
437  $head[$h][2] = 'attributes';
438  $h++;
439 
440  complete_head_from_modules($conf,$langs,null,$head,$h,'agenda_admin','remove');
441 
442 
443  return $head;
444 }
445 
452 function actions_prepare_head($object)
453 {
454  global $db, $langs, $conf, $user;
455 
456  $h = 0;
457  $head = array();
458 
459  $head[$h][0] = DOL_URL_ROOT.'/comm/action/card.php?id='.$object->id;
460  $head[$h][1] = $langs->trans("CardAction");
461  $head[$h][2] = 'card';
462  $h++;
463 
464  // Tab to link resources
465  if ($conf->resource->enabled)
466  {
467  include_once DOL_DOCUMENT_ROOT.'/resource/class/dolresource.class.php';
468  $resource=new DolResource($db);
469 
470  $head[$h][0] = DOL_URL_ROOT.'/resource/element_resource.php?element=action&element_id='.$object->id;
471  $listofresourcelinked = $resource->getElementResources($object->element, $object->id);
472  $nbResources=count($listofresourcelinked);
473  $head[$h][1] = $langs->trans("Resources");
474  if ($nbResources > 0) $head[$h][1].= ' <span class="badge">'.($nbResources).'</span>';
475  $head[$h][2] = 'resources';
476  $h++;
477  }
478 
479  // Attached files
480  require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
481  require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php';
482  $upload_dir = $conf->agenda->dir_output . "/" . $object->id;
483  $nbFiles = count(dol_dir_list($upload_dir,'files',0,'','(\.meta|_preview.*\.png)$'));
484  $nbLinks=Link::count($db, $object->element, $object->id);
485  $head[$h][0] = DOL_URL_ROOT.'/comm/action/document.php?id='.$object->id;
486  $head[$h][1] = $langs->trans("Documents");
487  if (($nbFiles+$nbLinks) > 0) $head[$h][1].= ' <span class="badge">'.($nbFiles+$nbLinks).'</span>';
488  $head[$h][2] = 'documents';
489  $h++;
490 
491  $head[$h][0] = DOL_URL_ROOT.'/comm/action/info.php?id='.$object->id;
492  $head[$h][1] = $langs->trans('Info');
493  $head[$h][2] = 'info';
494  $h++;
495 
496  complete_head_from_modules($conf,$langs,$object,$head,$h,'action');
497 
498  complete_head_from_modules($conf,$langs,$object,$head,$h,'action','remove');
499 
500  return $head;
501 }
502 
503 
510 function calendars_prepare_head($param)
511 {
512  global $langs, $conf, $user;
513 
514  $h = 0;
515  $head = array();
516 
517  $head[$h][0] = DOL_URL_ROOT.'/comm/action/list.php'.($param?'?'.$param:'');
518  $head[$h][1] = $langs->trans("ViewList");
519  $head[$h][2] = 'cardlist';
520  $h++;
521 
522  $head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_month'.($param?'&'.$param:'');
523  $head[$h][1] = $langs->trans("ViewCal");
524  $head[$h][2] = 'cardmonth';
525  $h++;
526 
527  $head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_week'.($param?'&'.$param:'');
528  $head[$h][1] = $langs->trans("ViewWeek");
529  $head[$h][2] = 'cardweek';
530  $h++;
531 
532  $head[$h][0] = DOL_URL_ROOT.'/comm/action/index.php?action=show_day'.($param?'&'.$param:'');
533  $head[$h][1] = $langs->trans("ViewDay");
534  $head[$h][2] = 'cardday';
535  $h++;
536 
537  //if (! empty($conf->global->AGENDA_USE_EVENT_TYPE))
538  if (! empty($conf->global->AGENDA_SHOW_PERTYPE))
539  {
540  $head[$h][0] = DOL_URL_ROOT.'/comm/action/pertype.php'.($param?'?'.$param:'');
541  $head[$h][1] = $langs->trans("ViewPerType");
542  $head[$h][2] = 'cardpertype';
543  $h++;
544  }
545 
546  $head[$h][0] = DOL_URL_ROOT.'/comm/action/peruser.php'.($param?'?'.$param:'');
547  $head[$h][1] = $langs->trans("ViewPerUser");
548  $head[$h][2] = 'cardperuser';
549  $h++;
550 
551 
552  $object=new stdClass();
553 
554  // Show more tabs from modules
555  // Entries must be declared in modules descriptor with line
556  // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
557  // $this->tabs = array('entity:-tabname); to remove a tab
558  complete_head_from_modules($conf,$langs,$object,$head,$h,'agenda');
559 
560  complete_head_from_modules($conf,$langs,$object,$head,$h,'agenda','remove');
561 
562  return $head;
563 }
564 
Class to manage building of HTML components.
Class to manage agenda events (actions)
complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode='add')
Complete or removed entries into a head array (used to build tabs).
agenda_prepare_head()
Prepare array with list of tabs.
Definition: agenda.lib.php:399
calendars_prepare_head($param)
Define head array for tabs of agenda setup pages.
Definition: agenda.lib.php:510
Class to manage customers or prospects.
print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $action, $showextcals=array(), $actioncode='', $usergroupid='', $excludetype='', $resourceid=0)
Show filter form in agenda view.
Definition: agenda.lib.php:50
dol_print_error($db='', $error='', $errors=null)
Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remonte...
if(empty($reshook)) $form
View.
Definition: perms.php:103
Classe permettant la gestion des formulaire du module resource.
dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="")
Scan a directory and return a list of files/directories.
Definition: files.lib.php:58
actions_prepare_head($object)
Prepare array with list of tabs.
Definition: agenda.lib.php:452
Class to manage third parties objects (customers, suppliers, prospects...)
img_warning($titlealt= 'default', $moreatt= '')
Show warning logo.
Class to manage building of HTML components.
show_array_last_actions_done($max=5)
Show last actions array.
Definition: agenda.lib.php:312
dol_now($mode='gmt')
Return date for now.
print
Draft customers invoices.
Definition: index.php:91
if(preg_match('/set_(.*)/', $action, $reg)) if(preg_match('/del_(.*)/', $action, $reg)) if($action== 'set') else if($action== 'specimen') else if($action== 'setmodel') else if($action== 'del') else if($action== 'setdoc' $formactions)
View.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if(!empty($conf->fournisseur->enabled)&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->societe->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if(!empty($conf->fournisseur->enabled)&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
Definition: index.php:1013
show_array_actions_to_do($max=5)
Show actions to do array.
Definition: agenda.lib.php:212