30 require 
'../../main.inc.php';
 
   31 require_once DOL_DOCUMENT_ROOT.
'/core/lib/agenda.lib.php';
 
   32 require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
 
   33 require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/cactioncomm.class.php';
 
   34 require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/actioncomm.class.php';
 
   35 require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
 
   36 require_once DOL_DOCUMENT_ROOT.
'/core/lib/images.lib.php';
 
   37 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
 
   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');
 
   50 $socid = 
GETPOST(
'socid', 
'int');
 
   52   $socid = $user->socid;
 
   54 if ($user->socid > 0) {
 
   55   unset($_GET[
"action"]);
 
   62   $ret = $object->fetch($id);
 
   63   $object->fetch_thirdparty();
 
   67 $hookmanager->initHooks(array(
'actioncard', 
'globalcard'));
 
   70 $limit = 
GETPOST(
'limit', 
'int') ? 
GETPOST(
'limit', 
'int') : $conf->liste_limit;
 
   71 $sortfield = 
GETPOST(
'sortfield', 
'aZ09comma');
 
   72 $sortorder = 
GETPOST(
'sortorder', 
'aZ09comma');
 
   74 if (empty($page) || $page == -1) {
 
   77 $offset = $limit * $page;
 
   78 $pageprev = $page - 1;
 
   79 $pagenext = $page + 1;
 
   88 $modulepart = 
'actions';
 
   90 $result = 
restrictedArea($user, 
'agenda', $id, 
'actioncomm&societe', 
'myactions|allactions', 
'fk_soc', 
'id');
 
   91 if ($user->socid && $socid) {
 
   95 $usercancreate = $user->hasRight(
'agenda', 
'allactions', 
'create') || (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create);
 
   96 $permissiontoadd = $usercancreate;
 
  103 include DOL_DOCUMENT_ROOT.
'/core/actions_linkedfiles.inc.php';
 
  112 $help_url = 
'EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda';
 
  117 $delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO * 24 * 60 * 60;
 
  119 if ($object->id > 0) {
 
  120   $result1 = $object->fetch($id);
 
  121   $result2 = $object->fetch_thirdparty();
 
  122   $result3 = $object->fetch_contact();
 
  123   $result4 = $object->fetch_userassigned();
 
  124   $result5 = $object->fetch_optionals();
 
  126   if ($result1 < 0 || $result2 < 0 || $result3 < 0 || $result4 < 0 || $result5 < 0) {
 
  131   if ($object->authorid > 0) {
 
  132     $tmpuser = 
new User($db); $res = $tmpuser->fetch($object->authorid); $object->author = $tmpuser;
 
  134   if ($object->usermodid > 0) {
 
  135     $tmpuser = 
new User($db); $res = $tmpuser->fetch($object->usermodid); $object->usermod = $tmpuser;
 
  138   $author = 
new User($db);
 
  139   $author->fetch($object->author->id);
 
  140   $object->author = $author;
 
  147   $linkback = 
img_picto($langs->trans(
"BackToList"), 
'object_calendarlist', 
'class="hideonsmartphone pictoactionview"');
 
  148   $linkback .= 
'<a href="'.DOL_URL_ROOT.
'/comm/action/list.php?mode=show_list">'.$langs->trans(
"BackToList").
'</a>';
 
  152   $out .= 
'</li><li class="noborder litext">'.img_picto($langs->trans(
"ViewPerUser"), 
'object_calendarperuser', 
'class="hideonsmartphone pictoactionview"');
 
  153   $out .= 
'<a href="'.DOL_URL_ROOT.
'/comm/action/peruser.php?mode=show_peruser&year='.
dol_print_date($object->datep, 
'%Y').
'&month='.
dol_print_date($object->datep, 
'%m').
'&day='.
dol_print_date($object->datep, 
'%d').
'">'.$langs->trans(
"ViewPerUser").
'</a>';
 
  154   $out .= 
'</li><li class="noborder litext">'.img_picto($langs->trans(
"ViewCal"), 
'object_calendarmonth', 
'class="hideonsmartphone pictoactionview"');
 
  155   $out .= 
'<a href="'.DOL_URL_ROOT.
'/comm/action/index.php?mode=show_month&year='.
dol_print_date($object->datep, 
'%Y').
'&month='.
dol_print_date($object->datep, 
'%m').
'&day='.
dol_print_date($object->datep, 
'%d').
'">'.$langs->trans(
"ViewCal").
'</a>';
 
  156   $out .= 
'</li><li class="noborder litext">'.img_picto($langs->trans(
"ViewWeek"), 
'object_calendarweek', 
'class="hideonsmartphone pictoactionview"');
 
  157   $out .= 
'<a href="'.DOL_URL_ROOT.
'/comm/action/index.php?mode=show_day&year='.
dol_print_date($object->datep, 
'%Y').
'&month='.
dol_print_date($object->datep, 
'%m').
'&day='.
dol_print_date($object->datep, 
'%d').
'">'.$langs->trans(
"ViewWeek").
'</a>';
 
  158   $out .= 
'</li><li class="noborder litext">'.img_picto($langs->trans(
"ViewDay"), 
'object_calendarday', 
'class="hideonsmartphone pictoactionview"');
 
  159   $out .= 
'<a href="'.DOL_URL_ROOT.
'/comm/action/index.php?mode=show_day&year='.
dol_print_date($object->datep, 
'%Y').
'&month='.
dol_print_date($object->datep, 
'%m').
'&day='.
dol_print_date($object->datep, 
'%d').
'">'.$langs->trans(
"ViewDay").
'</a>';
 
  162   $parameters = array();
 
  163   $reshook = $hookmanager->executeHooks(
'addCalendarView', $parameters, $object, $action);
 
  164   if (empty($reshook)) {
 
  165     $out .= $hookmanager->resPrint;
 
  166   } elseif ($reshook > 1) {
 
  167     $out = $hookmanager->resPrint;
 
  172   $morehtmlref = 
'<div class="refidno">';
 
  177     $langs->load(
"projects");
 
  180       $morehtmlref .= 
img_picto($langs->trans(
"Project"), 
'project', 
'class="pictofixedwidth"');
 
  181       if ($action != 
'classify') {
 
  182         $morehtmlref .= 
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
 
  184       $morehtmlref .= 
$form->form_project($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->socid, $object->fk_project, ($action == 
'classify' ? 
'projectid' : 
'none'), 0, ($action == 
'classify' ? 1 : 0), 0, 1, 
'');
 
  186       if (!empty($object->fk_project)) {
 
  188         $proj->fetch($object->fk_project);
 
  189         $morehtmlref .= $proj->getNomUrl(1);
 
  191           $morehtmlref .= 
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
 
  196   $morehtmlref .= 
'</div>';
 
  198   dol_banner_tab($object, 
'id', $linkback, ($user->socid ? 0 : 1), 
'id', 
'ref', $morehtmlref);
 
  200   print 
'<div class="fichecenter">';
 
  202   print 
'<div class="underbanner clearboth"></div>';
 
  205   print 
'<table class="border tableforfield centpercent">';
 
  208   if (!empty($conf->global->AGENDA_USE_EVENT_TYPE)) {
 
  209     print 
'<tr><td class="titlefield">'.$langs->trans(
"Type").
'</td><td colspan="3">';
 
  210     print $object->getTypePicto();
 
  211     print $langs->trans(
"Action".$object->type_code);
 
  216   print 
'<tr><td class="titlefield">'.$langs->trans(
"EventOnFullDay").
'</td><td colspan="3">'.
yn($object->fulldayevent ? 1 : 0, 3).
'</td></tr>';
 
  219   print 
'<tr><td>'.$langs->trans(
"DateActionStart").
'</td><td colspan="3">';
 
  220   if (empty($object->fulldayevent)) {
 
  224     print 
dol_print_date($object->datep, 
'day', ($tzforfullday ? $tzforfullday : 
'tzuser'));
 
  226   if ($object->percentage == 0 && $object->datep && $object->datep < ($now - $delay_warning)) {
 
  233   print 
'<tr><td>'.$langs->trans(
"DateActionEnd").
'</td><td colspan="3">';
 
  234   if (empty($object->fulldayevent)) {
 
  238     print 
dol_print_date($object->datef, 
'day', ($tzforfullday ? $tzforfullday : 
'tzuser'));
 
  240   if ($object->percentage > 0 && $object->percentage < 100 && $object->datef && $object->datef < ($now - $delay_warning)) {
 
  246   if (empty($conf->global->AGENDA_DISABLE_LOCATION)) {
 
  247     print 
'<tr><td>'.$langs->trans(
"Location").
'</td><td colspan="3">'.$object->location.
'</td></tr>';
 
  251   print 
'<tr><td class="nowrap">'.$langs->trans(
"ActionAffectedTo").
'</td><td colspan="3">';
 
  252   $listofuserid = array();
 
  253   if (empty($donotclearsession)) {
 
  254     if ($object->userownerid > 0) {
 
  255       $listofuserid[$object->userownerid] = array(
'id'=>$object->userownerid, 
'transparency'=>$object->transparency); 
 
  257     if (!empty($object->userassigned)) {  
 
  259       $tmplist1 = $object->userassigned;
 
  260       foreach ($tmplist1 as $key => $val) {
 
  261         if ($val[
'id'] && $val[
'id'] != $object->userownerid) {
 
  262           $listofuserid[$val[
'id']] = $val;
 
  266     $_SESSION[
'assignedtouser'] = json_encode($listofuserid);
 
  268     if (!empty($_SESSION[
'assignedtouser'])) {
 
  269       $listofuserid = json_decode($_SESSION[
'assignedtouser'], 
true);
 
  272   $listofcontactid = array(); 
 
  273   $listofotherid = array(); 
 
  274   print 
'<div class="assignedtouser">';
 
  275   print 
$form->select_dolusers_forevent(
'view', 
'assignedtouser', 1, 
'', 0, 
'', 
'', 0, 0, 0, 
'', ($object->datep != $object->datef) ? 1 : 0, $listofuserid, $listofcontactid, $listofotherid);
 
  287   print 
'<table class="border tableforfield centpercent">';
 
  290   $filearray = 
dol_dir_list($upload_dir, 
"files", 0, 
'', 
'(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 
'desc' ?SORT_DESC:SORT_ASC), 1);
 
  292   foreach ($filearray as $key => $file) {
 
  293     $totalsize += $file[
'size'];
 
  297   print 
'<tr><td class="titlefield" class="nowrap">'.$langs->trans(
"NbOfAttachedFiles").
'</td><td colspan="3">'.count($filearray).
'</td></tr>';
 
  298   print 
'<tr><td>'.$langs->trans(
"TotalSizeOfAttachedFiles").
'</td><td colspan="3">'.$totalsize.
' '.$langs->trans(
"bytes").
'</td></tr>';
 
  307   $modulepart = 
'actions';
 
  308   $permissiontoadd = $user->rights->agenda->myactions->create || $user->hasRight(
'agenda', 
'allactions', 
'create');
 
  309   $param = 
'&id='.$object->id;
 
  310   include DOL_DOCUMENT_ROOT.
'/core/tpl/document_actions_post_headers.tpl.php';
 
  312   print $langs->trans(
"ErrorUnknown");
 
if(GETPOST('button_removefilter_x', 'alpha')||GETPOST('button_removefilter.x', 'alpha')||GETPOST('button_removefilter', 'alpha')) if(GETPOST('button_search_x', 'alpha')||GETPOST('button_search.x', 'alpha')||GETPOST('button_search', 'alpha')) if($action=="save" &&empty($cancel)) $help_url
View.
actions_prepare_head($object)
Prepare array with list of tabs.
Class to manage agenda events (actions)
Class to manage projects.
Class to manage Dolibarr users.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) if(isset($_GET["hashp"]) &&!defined("NOLOGIN")) if((isset($_GET["modulepart"]) && $_GET["modulepart"]=='medias')) llxHeader()
Header empty.
dol_dir_list($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.
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.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='')
Show tabs of a record.
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning logo.
yn($yesno, $case=1, $color=0)
Return yes or no in current language.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_get_fiche_end($notab=0)
Return tab footer of a card.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
dol_now($mode='auto')
Return date for now.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
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.
if(!function_exists('utf8_encode')) if(!function_exists('utf8_decode')) getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier 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.