30require
'../../main.inc.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/lib/agenda.lib.php';
32require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/cactioncomm.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/actioncomm.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/images.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
38if (isModEnabled(
'project')) {
39 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
43$langs->loadLangs(array(
'companies',
'commercial',
'other',
'bills'));
46$action =
GETPOST(
'action',
'aZ09');
47$confirm =
GETPOST(
'confirm',
'alpha');
52 $socid = $user->socid;
54if ($user->socid > 0) {
66$hookmanager->initHooks(array(
'actioncard',
'globalcard'));
70$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
71$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
73if (empty($page) || $page == -1) {
76$offset = $limit * $page;
87$modulepart =
'actions';
89$result =
restrictedArea($user,
'agenda', $id,
'actioncomm&societe',
'myactions|allactions',
'fk_soc',
'id');
90if ($user->socid && $socid) {
94$usercancreate = $user->hasRight(
'agenda',
'allactions',
'create') || ((
$object->authorid == $user->id ||
$object->userownerid == $user->id) && $user->hasRight(
'agenda',
'myactions',
'create'));
95$permissiontoadd = $usercancreate;
102include DOL_DOCUMENT_ROOT.
'/core/actions_linkedfiles.inc.php';
109$form =
new Form($db);
111$help_url =
'EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda|DE:Modul_Terminplanung';
113llxHeader(
'', $langs->trans(
"Agenda"), $help_url);
116$delay_warning =
getDolGlobalInt(
'MAIN_DELAY_ACTIONS_TODO') * 24 * 60 * 60;
119 $result1 =
$object->fetch($id);
120 $result2 =
$object->fetch_thirdparty();
121 $result3 =
$object->fetch_contact();
122 $result4 =
$object->fetch_userassigned();
123 $result5 =
$object->fetch_optionals();
125 if ($result1 < 0 || $result2 < 0 || $result3 < 0 || $result4 < 0 || $result5 < 0) {
131 $tmpuser =
new User($db);
132 $res = $tmpuser->fetch(
$object->authorid);
136 $tmpuser =
new User($db);
137 $res = $tmpuser->fetch(
$object->usermodid);
141 $author =
new User($db);
142 $author->fetch(
$object->author->id);
151 $linkback =
'<a href="'.DOL_URL_ROOT.
'/comm/action/list.php?mode=show_list&restore_lastsearch_values=1">';
152 $linkback .=
img_picto($langs->trans(
"BackToList"),
'object_calendarlist',
'class="pictoactionview pictofixedwidth"');
153 $linkback .=
'<span class="hideonsmartphone">'.$langs->trans(
"BackToList").
'</span>';
155 $linkback .=
'</li>';
156 $linkback .=
'<li class="noborder litext">';
158 $linkback .=
img_picto($langs->trans(
"ViewCal"),
'object_calendar',
'class="pictoactionview pictofixedwidth"');
159 $linkback .=
'<span class="hideonsmartphone">'.$langs->trans(
"ViewCal").
'</span>';
161 $linkback .=
'</li>';
162 $linkback .=
'<li class="noborder litext">';
164 $linkback .=
img_picto($langs->trans(
"ViewWeek"),
'object_calendarweek',
'class="pictoactionview pictofixedwidth"');
165 $linkback .=
'<span class="hideonsmartphone">'.$langs->trans(
"ViewWeek").
'</span>';
167 $linkback .=
'</li>';
168 $linkback .=
'<li class="noborder litext">';
170 $linkback .=
img_picto($langs->trans(
"ViewDay"),
'object_calendarday',
'class="pictoactionview pictofixedwidth"');
171 $linkback .=
'<span class="hideonsmartphone">'.$langs->trans(
"ViewDay").
'</span>';
173 $linkback .=
'</li>';
174 $linkback .=
'<li class="noborder litext">';
176 $linkback .=
img_picto($langs->trans(
"ViewPerUser"),
'object_calendarperuser',
'class="pictoactionview pictofixedwidth"');
177 $linkback .=
'<span class="hideonsmartphone">'.$langs->trans(
"ViewPerUser").
'</span>';
181 $parameters = array();
182 $reshook = $hookmanager->executeHooks(
'addCalendarView', $parameters, $object, $action);
183 if (empty($reshook)) {
184 $linkback .= $hookmanager->resPrint;
185 } elseif ($reshook > 1) {
186 $linkback = $hookmanager->resPrint;
189 $morehtmlref =
'<div class="refidno">';
193 if (isModEnabled(
'project')) {
194 $langs->load(
"projects");
197 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
198 if ($action !=
'classify') {
199 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
201 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->socid,
$object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
203 if (!empty(
$object->fk_project)) {
205 $proj->fetch(
$object->fk_project);
206 $morehtmlref .= $proj->getNomUrl(1);
208 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
213 $morehtmlref .=
'</div>';
215 dol_banner_tab($object,
'id', $linkback, ($user->socid ? 0 : 1),
'id',
'ref', $morehtmlref);
217 print
'<div class="fichecenter">';
219 print
'<div class="underbanner clearboth"></div>';
222 print
'<table class="border tableforfield centpercent">';
226 print
'<tr><td class="titlefield">'.$langs->trans(
"Type").
'</td><td colspan="3">';
228 print $langs->trans(
"Action".
$object->type_code);
233 print
'<tr><td class="titlefield">'.$langs->trans(
"EventOnFullDay").
'</td><td colspan="3">'.
yn(
$object->fulldayevent ? 1 : 0, 3).
'</td></tr>';
236 print
'<tr><td>'.$langs->trans(
"DateActionStart").
'</td><td colspan="3">';
237 if (empty(
$object->fulldayevent)) {
250 print
'<tr><td>'.$langs->trans(
"DateActionEnd").
'</td><td colspan="3">';
251 if (empty(
$object->fulldayevent)) {
264 print
'<tr><td>'.$langs->trans(
"Location").
'</td><td colspan="3">'.
$object->location.
'</td></tr>';
268 print
'<tr><td class="nowrap">'.$langs->trans(
"ActionAffectedTo").
'</td><td colspan="3">';
269 $listofuserid = array();
270 if (empty($donotclearsession)) {
271 if (
$object->userownerid > 0) {
272 $listofuserid[
$object->userownerid] = array(
'id'=>
$object->userownerid,
'transparency'=>
$object->transparency);
274 if (!empty(
$object->userassigned)) {
276 $tmplist1 =
$object->userassigned;
277 foreach ($tmplist1 as $key => $val) {
278 if ($val[
'id'] && $val[
'id'] !=
$object->userownerid) {
279 $listofuserid[$val[
'id']] = $val;
283 $_SESSION[
'assignedtouser'] = json_encode($listofuserid);
285 if (!empty($_SESSION[
'assignedtouser'])) {
286 $listofuserid = json_decode($_SESSION[
'assignedtouser'],
true);
289 $listofcontactid = array();
290 $listofotherid = array();
291 print
'<div class="assignedtouser">';
292 print $form->select_dolusers_forevent(
'view',
'assignedtouser', 1,
'', 0,
'',
'', 0, 0, 0,
'', (
$object->datep !=
$object->datef) ? 1 : 0, $listofuserid, $listofcontactid, $listofotherid);
304 print
'<table class="border tableforfield centpercent">';
307 $filearray =
dol_dir_list($upload_dir,
"files", 0,
'',
'(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) ==
'desc' ? SORT_DESC : SORT_ASC), 1);
309 foreach ($filearray as $key => $file) {
310 $totalsize += $file[
'size'];
314 print
'<tr><td class="titlefield" class="nowrap">'.$langs->trans(
"NbOfAttachedFiles").
'</td><td colspan="3">'.count($filearray).
'</td></tr>';
315 print
'<tr><td>'.$langs->trans(
"TotalSizeOfAttachedFiles").
'</td><td colspan="3">'.$totalsize.
' '.$langs->trans(
"bytes").
'</td></tr>';
324 $modulepart =
'actions';
325 $permissiontoadd = $user->hasRight(
'agenda',
'myactions',
'create') || $user->hasRight(
'agenda',
'allactions',
'create');
326 $param =
'&id='.$object->id;
327 include DOL_DOCUMENT_ROOT.
'/core/tpl/document_actions_post_headers.tpl.php';
329 print $langs->trans(
"ErrorUnknown");
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
actions_prepare_head($object)
Prepare array with list of tabs.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
Class to manage agenda events (actions)
Class to manage projects.
Class to manage Dolibarr users.
dol_dir_list($utf8_path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0, $nbsecondsold=0)
Scan a directory and return a list of files/directories.
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning logo.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
yn($yesno, $case=1, $color=0)
Return yes or no in current language.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.