/** * Generates a page with statistics info. * * @param Request $request * @return string Rendered page content */ public function indexAction(Request $request) { $operator = $this->getOperator(); $statistics_type = $request->attributes->get('type'); $page = array(); $page['operator'] = get_operator_name($operator); $page['availableDays'] = range(1, 31); $page['availableMonth'] = get_month_selection(time() - 400 * 24 * 60 * 60, time() + 50 * 24 * 60 * 60); $page['showresults'] = false; $page['type'] = $statistics_type; $page['showbydate'] = $statistics_type == self::TYPE_BY_DATE; $page['showbyagent'] = $statistics_type == self::TYPE_BY_OPERATOR; $page['showbypage'] = $statistics_type == self::TYPE_BY_PAGE; $cron_uri = $this->generateUrl('cron', array('cron_key' => Settings::get('cron_key')), UrlGeneratorInterface::ABSOLUTE_URL); $page['pageDescription'] = getlocal('From this page you can generate a variety of usage reports. Last time statistics was calculated {0}. You can calculate it <a href="{1}" target="_blank">manually</a>.', array(date_to_text(Settings::get('_last_cron_run')), $cron_uri)); $page['show_invitations_info'] = (bool) Settings::get('enabletracking'); $page['errors'] = array(); // Get and validate time interval $time_interval = $this->extractTimeInterval($request); $start = $time_interval['start']; $end = $time_interval['end']; if ($start > $end) { $page['errors'][] = getlocal('You have selected From date after Till date'); } $page = array_merge($page, set_form_date($start, 'start'), set_form_date($end - 24 * 60 * 60, 'end')); // Get statistics info if ($statistics_type == self::TYPE_BY_DATE) { $statistics = get_by_date_statistics($start, $end); $page['reportByDate'] = $statistics['records']; $page['reportByDateTotal'] = $statistics['total']; } elseif ($statistics_type == self::TYPE_BY_OPERATOR) { $page['reportByAgent'] = get_by_operator_statistics($start, $end); } elseif ($statistics_type == self::TYPE_BY_PAGE) { $page['reportByPage'] = get_by_page_statistics($start, $end); } $page['showresults'] = count($page['errors']) == 0; $page['title'] = getlocal("Statistics"); $page['menuid'] = "statistics"; $page = array_merge($page, prepare_menu($operator)); $page['tabs'] = $this->buildTabs($request); return $this->render('statistics', $page); }
$curr = getdate(time()); if ($curr['mday'] < 7) { // previous month if ($curr['mon'] == 1) { $month = 12; $year = $curr['year'] - 1; } else { $month = $curr['mon'] - 1; $year = $curr['year']; } $start = mktime(0, 0, 0, $month, 1, $year); $end = mktime(0, 0, 0, $month, date("t", $start), $year) + 24 * 60 * 60; } else { $start = mktime(0, 0, 0, $curr['mon'], 1, $curr['year']); $end = time() + 24 * 60 * 60; } } set_form_date($start, "start"); set_form_date($end - 24 * 60 * 60, "end"); if ($start > $end) { $errors[] = getlocal("statistics.wrong.dates"); } $link = connect(); $page['reportByDate'] = select_multi_assoc("select DATE(dtmcreated) as date, COUNT(distinct threadid) as threads, SUM({$mysqlprefix}chatmessage.ikind = {$kind_agent}) as agents, SUM({$mysqlprefix}chatmessage.ikind = {$kind_user}) as users " . "from {$mysqlprefix}chatmessage where unix_timestamp(dtmcreated) >= {$start} AND unix_timestamp(dtmcreated) < {$end} group by DATE(dtmcreated) order by dtmcreated desc", $link); $page['reportByDateTotal'] = select_one_row("select COUNT(distinct threadid) as threads, SUM({$mysqlprefix}chatmessage.ikind = {$kind_agent}) as agents, SUM({$mysqlprefix}chatmessage.ikind = {$kind_user}) as users " . "from {$mysqlprefix}chatmessage where unix_timestamp(dtmcreated) >= {$start} AND unix_timestamp(dtmcreated) < {$end}", $link); $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT(distinct threadid) as threads, SUM(ikind = {$kind_agent}) as msgs, AVG(CHAR_LENGTH(tmessage)) as avglen " . "from {$mysqlprefix}chatmessage, {$mysqlprefix}chatoperator " . "where agentId = operatorid AND unix_timestamp(dtmcreated) >= {$start} AND unix_timestamp(dtmcreated) < {$end} group by operatorid", $link); $page['showresults'] = count($errors) == 0; mysql_close($link); prepare_menu($operator); start_html_output(); require '../view/statistics.php';
echo $datarow[43]; ?> "> </td> </tr> <tr> <td align="right" valign="top" class='normal' > <font color="#FF0000">* </font>Start Date : <input type='hidden' name='business_start_date' maxlength=10 class='text180' value="<?php echo $datarow[28]; ?> "> </td> <td align="left" valign="top" class='normal'> <?php set_form_date($datarow[28], 4); ?> </td> <td align="right" valign="top" class='normal' > Location Desc : </td> <td align="left" valign="top" class='normal'> <input type='text' name='business_location_desc' maxlength=255 class='text180' value="<?php echo $datarow[18]; ?> "> </td> </tr> <tr> <td align="right" valign="top" class='normal' > <font color="#FF0000">* </font>Occupancy : </td> <td align="left" valign="top" class='normal'> <?php echo get_select_data($dbLink, 'business_occupancy_code', 'ebpls_occupancy_type', 'occupancy_type_code', 'occupancy_type_desc', $datarow[29]); ?>
<td align="left" valign="top" class='normal'> <input type='text' name='owner_citizenship' maxlength=255 class='text180' value="<?php echo $owner_datarow[OWNER_CITIZENSHIP]; ?> "> </td> </tr> <tr> <td align="right" valign="top" class='normal'> Birth Date : <input type='hidden' name='owner_birth_date' maxlength=10 class='text180' value="<?php echo $owner_datarow[OWNER_BIRTH_DATE]; ?> "> </td> <td align="left" valign="top" class='normal'> <?php set_form_date($owner_datarow[OWNER_BIRTH_DATE]); ?> </td> <td align="right" valign="top" class='normal'> Tin No : </td> <td align="left" valign="top" class='normal'> <input type='text' name='owner_tin_no' maxlength=255 class='text180' value="<?php echo $owner_datarow[OWNER_TIN_NO]; ?> "> </td> </tr> <tr> <td colspan="4" align="right" valign="top" class='normal'><div align="left"></div></td> </tr> <tr> <td colspan="4" align="left" valign="top" class='normalbold'>Contact Information </td>
?> "> </td> </tr> <tr> <td align="right" valign="top" class='normal'> Birth Date : <input type='hidden' name='comm_tax_cert_owner_birth_date' maxlength=10 class='text180' value="<?php echo $ctcData['comm_tax_cert_owner_birth_date']; ?> "> </td> <td align="left" valign="top" class='normal'> <?php set_form_date($ctcData['comm_tax_cert_owner_birth_date']); ?> </td> </tr> <tr> <td align="right" valign="top" class='normal'> Place of Birth : </td> <td align="left" valign="top" class='normal'> <input type='text' name='comm_tax_cert_place_of_birth' maxlength=255 class='text180' value="<?php echo $ctcData['comm_tax_cert_place_of_birth']; ?> "> </td> </tr>
<tr> <td align="right" valign="top" class='normal' >SEC Registration Number : </td> <td align="left" valign="top" class='normal'> <input type='text' name='business_sec_reg_no' maxlength=255 class='text180' value="<?php echo $datarow[23]; ?> "> </td> <td align="right" valign="top" class='normal' > DTI Registration Date : <br> (yyyy-mm-dd) <input type='hidden' name='business_dti_reg_date' maxlength=10 class='text180' value="<?php echo $datarow[26]; ?> "> </td> <td align="left" valign="top" class='normal'> <?php set_form_date($datarow[26], 2); ?> </td> </tr> <tr> <td align="right" valign="top" class='normal' >BIR Registration Number : </td> <td align="left" valign="top" class='normal'> <input type='text' name='business_tin_reg_no' maxlength=255 class='text180' value="<?php echo $datarow[24]; ?> "> </td> <td align="right" valign="top" class='normal' >NSO Assigned Number : </td> <td align="left" valign="top" class='normal'> <input type='text' name='business_nso_assigned_no' maxlength=255 class='text180' value="<?php echo $datarow[47]; ?> ">