29require
'../../../main.inc.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
39require_once DOL_DOCUMENT_ROOT.
'/contact/class/contact.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/comm/action/class/actioncomm.class.php';
44$langs->loadLangs(array(
"agenda",
"commercial"));
46$action =
GETPOST(
'action',
'aZ09');
50$optioncss =
GETPOST(
'optioncss',
'alpha');
52$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
53$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
55if (empty($page) || $page < 0 ||
GETPOST(
'button_search',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
59$offset = $limit * $page;
64 $sortfield =
"a.datep";
69if (!$user->hasRight(
"agenda",
"allactions",
"read")) {
78if ($action ==
'builddoc' && $user->hasRight(
"agenda",
"allactions",
"read")) {
79 require_once DOL_DOCUMENT_ROOT.
'/core/modules/action/doc/pdf_standard_actions.class.php';
82 $result = $cat->write_file(
null, $langs);
97$sql =
"SELECT count(*) as cc,";
98$sql .=
" date_format(a.datep, '%Y-%m') as yearmonth";
99$sql .=
" FROM ".MAIN_DB_PREFIX.
"actioncomm as a";
101$sql .=
" WHERE a.entity IN (".getEntity(
'agenda').
")";
103$sql .=
" GROUP BY yearmonth";
104$sql .=
" ORDER BY yearmonth DESC";
106$nbtotalofrecords =
'';
108 $result =
$db->query($sql);
109 $nbtotalofrecords =
$db->num_rows($result);
110 if (($page * $limit) > (
int) $nbtotalofrecords) {
116$sql .=
$db->plimit($limit + 1, $offset);
120$resql =
$db->query($sql);
122 $num =
$db->num_rows($resql);
125 if ($limit > 0 && $limit !=
$conf->liste_limit) {
126 $param .=
'&limit='.$limit;
129 print
'<form method="POST" id="searchFormList" action="'.dolBuildUrl($_SERVER[
"PHP_SELF"]).
'">';
130 if ($optioncss !=
'') {
131 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
133 print
'<input type="hidden" name="token" value="'.newToken().
'">';
134 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
135 print
'<input type="hidden" name="action" value="list">';
136 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
137 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
140 print_barre_liste($langs->trans(
"EventReports"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'title_agenda', 0,
'',
'', $limit, 0, 0, 1);
145 print
'<div class="div-table-responsive">';
146 print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
148 print
'<tr class="liste_titre">';
149 print
'<td>'.$langs->trans(
"Period").
'</td>';
150 print
'<td class="center">'.$langs->trans(
"EventsNb").
'</td>';
153 print
'<td class="center">'.$langs->trans(
"Date").
'</td>';
154 print
'<td class="center">'.$langs->trans(
"Size").
'</td>';
157 while ($i < min($num, $limit)) {
158 $obj =
$db->fetch_object($resql);
162 preg_match(
'/(\d+)\-(\d+)/', $obj->yearmonth, $reg);
163 $year = (int) $reg[1];
164 $month = (int) $reg[2];
166 print
'<tr class="oddeven">';
169 print
"<td>".sprintf(
"%04d", $year).
"-".sprintf(
"%02d", $month).
"</td>\n";
172 print
'<td class="center">'.($obj->cc ? (int) $obj->cc :
'').
'</td>';
175 print
'<td class="right">';
176 print
'<a class="reposition" href="'.$_SERVER[
"PHP_SELF"].
'?action=builddoc&token='.newToken().
'&page='.((int) $page).
'&month='.$month.
'&year='.$year.
'">';
177 print
img_picto($langs->trans(
'BuildDoc'),
'filenew.png');
181 $name =
"actions-".sprintf(
"%04d", $year).
"-".sprintf(
"%02d", $month).
".pdf";
182 $relativepath = $name;
183 $file =
$conf->agenda->dir_temp.
"/".$name;
184 $modulepart =
'actionsreport';
185 $documenturl = DOL_URL_ROOT.
'/document.php';
186 if (isset(
$conf->global->DOL_URL_ROOT_DOCUMENT_PHP)) {
190 if (file_exists($file)) {
191 print
'<td class="tdoverflowmax300">';
193 $filearray = array(
'name' => basename($file),
'fullname' => $file,
'type' =>
'file');
197 $out .=
'<a href="'.$documenturl.
'?modulepart='.$modulepart.
'&file='.urlencode($relativepath).($param ?
'&'.$param :
'').
'"';
198 $mime = dol_mimetype($relativepath,
'', 0);
199 $out .=
' target="_blank" rel="noopener noreferrer">';
200 $out .=
img_mime($filearray[
"name"], $langs->trans(
"File").
': '.$filearray[
"name"]);
201 $out .= $filearray[
"name"];
203 $out .= $formfile->showPreview($filearray, $modulepart, $relativepath, 0, $param);
207 print
'<td class="center">'.dol_print_date(
dol_filemtime($file),
'dayhour').
'</td>';
208 print
'<td class="center">'.dol_print_size(
dol_filesize($file)).
'</td>';
210 print
'<td> </td>';
211 print
'<td> </td>';
212 print
'<td> </td>';
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to generate event report.
dol_filemtime($pathoffile)
Return time of a file.
dol_filesize($pathoffile)
Return size of a file.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
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.
img_mime($file, $titlealt='', $morecss='')
Show MIME img of a file.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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 a Dolibarr global constant string value.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.