function getDomClicks($pageUrl, $siteId, $startDate, $endDate, $document_id = '', $period = '', $resultsPerPage = 100, $page = 1, $format = 'jsonp') { // Fetch document object $d = owa_coreAPI::entityFactory('base.document'); if (!$document_id) { $eq = owa_coreAPI::getEventDispatch(); $document_id = $d->generateId($eq->filter('page_url', urldecode($pageUrl), $siteId)); } $d->getByColumn('id', $document_id); $rs = owa_coreAPI::supportClassFactory('base', 'paginatedResultSet'); $db = owa_coreAPI::dbSingleton(); $db->selectFrom('owa_click'); $db->selectColumn("click_x as x,\r\n\t\t\t\t\t\t\tclick_y as y,\r\n\t\t\t\t\t\t\tpage_width,\r\n\t\t\t\t\t\t\tpage_height,\r\n\t\t\t\t\t\t\tdom_element_x,\r\n\t\t\t\t\t\t\tdom_element_y,\r\n\t\t\t\t\t\t\tposition"); $db->orderBy('click_y', 'ASC'); $db->where('document_id', $document_id); $db->where('site_id', $siteId); if ($period) { $p = owa_coreAPI::supportClassFactory('base', 'timePeriod'); $p->set($period); $startDate = $p->startDate->get('yyyymmdd'); $endDate = $p->endDate->get('yyyymmdd'); } if ($startDate && $endDate) { $db->where('yyyymmdd', array('start' => $startDate, 'end' => $endDate), 'BETWEEN'); } // pass limit to rs object if one exists $rs->setLimit($resultsPerPage); // pass page to rs object if one exists $rs->setPage($page); $results = $rs->generate($db); //$rs->resultsRows = $results; if ($format) { owa_lib::setContentTypeHeader($format); return $rs->formatResults($format); } else { return $rs; } }
function setContentTypeHeader($type = 'html') { owa_lib::setContentTypeHeader($type); }