- Timestamp:
- 10/30/08 00:56:44 (2 months ago)
- Location:
- trunk
- Files:
-
- 48 added
- 35 modified
-
modules/base/classes/pagination.php (modified) (3 diffs)
-
modules/base/classes/widget.php (modified) (7 diffs)
-
modules/base/dashboardTrendWidget.php (modified) (2 diffs)
-
modules/base/metrics/dashCounts.php (modified) (1 diff)
-
modules/base/metrics/latestVisits.php (modified) (2 diffs)
-
modules/base/metrics/pageViewsByDay.php (modified) (1 diff)
-
modules/base/metrics/sessionsTrend.php (added)
-
modules/base/metrics/topPages.php (modified) (4 diffs)
-
modules/base/metrics/topReferers.php (modified) (2 diffs)
-
modules/base/metrics/visitsFromDirectNavCount.php (modified) (1 diff)
-
modules/base/metrics/visitsFromFeedsCount.php (modified) (1 diff)
-
modules/base/metrics/visitsFromSearchEnginesCount.php (modified) (1 diff)
-
modules/base/metrics/visitsFromSitesCount.php (modified) (2 diffs)
-
modules/base/module.php (modified) (1 diff)
-
modules/base/report.php (modified) (5 diffs)
-
modules/base/reportDashboard.php (modified) (3 diffs)
-
modules/base/templates/css.tpl (modified) (2 diffs)
-
modules/base/templates/filter_period.tpl (added)
-
modules/base/templates/filter_site.tpl (added)
-
modules/base/templates/generic_table.tpl (modified) (2 diffs)
-
modules/base/templates/head.tpl (modified) (1 diff)
-
modules/base/templates/header.tpl (modified) (1 diff)
-
modules/base/templates/ofc.tpl (modified) (1 diff)
-
modules/base/templates/report.tpl (modified) (1 diff)
-
modules/base/templates/report_dashboard.tpl (modified) (2 diffs)
-
modules/base/templates/row_topReferers.tpl (added)
-
modules/base/templates/widget.tpl (modified) (3 diffs)
-
modules/base/templates/wrapper_default.tpl (modified) (1 diff)
-
modules/base/widgetTopPages.php (added)
-
modules/base/widgetTopReferers.php (added)
-
modules/base/widgetVisitorSources.php (added)
-
owa_coreAPI.php (modified) (1 diff)
-
owa_db.php (modified) (6 diffs)
-
owa_lib.php (modified) (1 diff)
-
owa_metric.php (modified) (9 diffs)
-
owa_module.php (modified) (2 diffs)
-
owa_reportController.php (modified) (2 diffs)
-
owa_template.php (modified) (7 diffs)
-
owa_view.php (modified) (8 diffs)
-
public/css/owa.report.css (added)
-
public/css/owa.widgets.css (modified) (1 diff)
-
public/i/15px-TriangleArrow-Down.png (added)
-
public/i/15px-TriangleArrow-Up.svg.png (added)
-
public/js/includes/jquery/jquery-1.2.6.min.js (added)
-
public/js/includes/jquery/jquery-ui-personalized-1.5.2.min.js (added)
-
public/js/includes/jquery/jquery.sprintf.js (added)
-
public/js/includes/jquery/ui (added)
-
public/js/includes/jquery/ui/i18n (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ar.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-bg.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ca.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-cs.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-da.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-de.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-es.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-fi.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-fr.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-he.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-hu.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-hy.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-id.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-is.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-it.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ja.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ko.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-lt.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-lv.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-nl.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-no.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-pl.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-pt-BR.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ro.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-ru.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-sk.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-sv.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-th.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-tr.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-uk.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-zh-CN.js (added)
-
public/js/includes/jquery/ui/i18n/ui.datepicker-zh-TW.js (added)
-
public/js/owa.js (modified) (2 diffs)
-
public/js/owa.report.js (added)
-
public/js/owa.widgets.js (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/base/classes/pagination.php
r508 r509 36 36 var $offset = 0; 37 37 38 var $total_count; 39 38 40 function __construct() { 39 41 … … 62 64 63 65 $this->offset = $this->limit * $this->page; 64 return ;66 return $this->offset; 65 67 } 66 68 67 69 function getMaxPageNum() { 68 70 69 if ($this->more_pages == true): 70 $mpn = $this->page + 1; 71 else: 72 $mpn = $this->page; 73 endif; 71 $c = $this->total_count / $this->limit; 74 72 75 return $mpn; 73 $c = ceil($c); 74 75 return $c; 76 76 } 77 77 … … 84 84 $pagination['max_page_num'] = $this->getMaxPageNum(); 85 85 $pagination['more_pages'] = $this->more_pages; 86 $pagination['total_count'] = $this->total_count; 86 87 87 88 return $pagination; -
trunk/modules/base/classes/widget.php
r508 r509 37 37 38 38 var $default_format = 'graph'; 39 var $dom_id; 39 40 40 41 function __construct($params) { … … 50 51 function pre() { 51 52 53 // create dom safe id from do action param 54 $this->dom_id = str_replace('.', '-', $this->params['do']); 55 $this->data['dom_id'] = $this->dom_id; 56 52 57 if (!array_key_exists('format', $this->params)): 53 58 … … 75 80 $this->data['widget'] = $this->params['do']; 76 81 $this->data['do'] = $this->params['do']; 82 83 // set default dimensions 84 85 if (array_key_exists('width', $this->params)): 86 $this->setWidth($this->params['width']); 87 endif; 88 89 if (array_key_exists('height', $this->params)): 90 $this->setHeight($this->params['height']); 91 endif; 77 92 78 93 } 79 94 80 function enableFormat($name, $label) { 81 95 function enableFormat($name, $label = '') { 96 97 if (empty($label)): 98 $label = ucwords($name); 99 endif; 100 82 101 $this->data['widget_views'][$name] = $label; 83 102 return; … … 87 106 function setHeight($height) { 88 107 89 if (!array_key_exists('height', $this->params)):90 108 $this->data['height'] = $height; 91 else:92 $this->data['height'] = $this->params['height'];93 endif;94 95 if ($this->params['wrapper'] === true):96 $this->data['outer_height'] = $this->data['height'];97 $this->data['height'] = $this->data['height'] - 130;98 endif;99 109 100 110 return; … … 103 113 function setWidth($width) { 104 114 105 if (!array_key_exists('width', $this->params)): 106 $this->data['width'] = $width; 107 else: 108 $this->data['width'] = $this->params['width']; 109 endif; 110 111 if ($this->params['wrapper'] == true): 112 $this->data['outer_width'] = $this->data['width']; 113 $this->data['width'] = $this->data['width'] - 50; 114 115 endif; 115 $this->data['width'] = $width; 116 116 117 117 return; 118 } 119 120 function setDefaultFormat($format) { 121 122 $this->default_format = $format; 123 124 return; 125 118 126 } 119 127 … … 151 159 endif; 152 160 153 if (!array_key_exists('width', $data)): 154 $data['params']['width'] = 300; 155 else: 156 $data['params']['width'] = $data['outer_width']; 161 if (array_key_exists('width', $data)): 162 $data['params']['width'] = $data['width']; 157 163 endif; 158 164 159 if (!array_key_exists('height', $data)): 160 $data['params']['height'] = 250; 161 else: 162 $data['params']['height'] = $data['outer_height']; 165 if (array_key_exists('height', $data)): 166 $data['params']['height'] = $data['height']; 163 167 endif; 164 168 … … 171 175 $this->body->set('title', $data['title']); 172 176 $this->body->set('widget_views', $data['widget_views']); 177 $this->body->set('widget_views_count', count($data['widget_views'])); 173 178 $this->body->set('do', $data['widget']); 174 179 -
trunk/modules/base/dashboardTrendWidget.php
r508 r509 43 43 44 44 // Set Title of the Widget 45 $this->data['title'] = 'Dashboard Trend'; 46 47 // set default dimensions 48 $this->setHeight(300); 49 $this->setWidth(800); 45 $this->data['title'] = 'Dashboard Trend'; 50 46 51 47 // enable formats 52 $this->enableFormat('graph' , 'Graph');53 $this->enableFormat('table' , 'Table');54 $this->enableFormat('sparkline' , 'Sparkline');48 $this->enableFormat('graph'); 49 $this->enableFormat('table'); 50 $this->enableFormat('sparkline'); 55 51 56 52 //setup Metrics … … 110 106 111 107 $this->data['type'] = 'line'; 112 $this->data['view'] = 'base.sparkline'; 108 $this->data['view'] = 'base.sparkline'; 113 109 break; 110 114 111 case 'sparkline-image': 115 112 -
trunk/modules/base/metrics/dashCounts.php
r501 r509 33 33 function owa_dashCounts($params = null) { 34 34 35 $this->params = $params;35 return owa_dashCounts::__construct($params); 36 36 37 $this->owa_metric(); 37 } 38 39 function __construct($params = null) { 38 40 39 return; 40 41 return parent::__construct($params); 41 42 } 42 43 43 44 function calculate() { 44 45 45 $db = owa_coreAPI::dbSingleton(); 46 47 $db->selectFrom('owa_session'); 48 $db->selectColumn("count(distinct session.visitor_id) as unique_visitors, 46 $this->db->selectFrom('owa_session', 'session'); 47 $this->db->selectColumn("count(distinct session.visitor_id) as unique_visitors, 49 48 sum(session.is_new_visitor) as new_visitor, sum(session.is_repeat_visitor) as repeat_visitor, 50 49 count(session.id) as sessions, 51 50 sum(session.num_pageviews) as page_views"); 52 51 53 // pass constraints into where clause 54 $db->multiWhere($this->getConstraints()); 55 56 return $db->getOneRow(); 52 $ret = $this->db->getOneRow(); 57 53 58 /* 59 60 $this->params['select'] = "count(distinct session.visitor_id) as unique_visitors, 61 sum(session.is_new_visitor) as new_visitor, sum(session.is_repeat_visitor) as repeat_visitor, 62 count(session.id) as sessions, 63 sum(session.num_pageviews) as page_views "; 54 return $ret; 64 55 65 $this->params['use_summary'] = true;66 67 $this->setTimePeriod($this->params['period']);68 69 $s = owa_coreAPI::entityFactory('base.session');70 71 return $s->query($this->params);72 73 */74 56 } 75 57 -
trunk/modules/base/metrics/latestVisits.php
r501 r509 44 44 function calculate() { 45 45 46 $db = owa_coreAPI::dbSingleton();47 48 46 $s = owa_coreAPI::entityFactory('base.session'); 49 47 $h = owa_coreAPI::entityFactory('base.host'); … … 53 51 $r = owa_coreAPI::entityFactory('base.referer'); 54 52 55 $ db->selectFrom($s->getTableName());53 $this->db->selectFrom($s->getTableName()); 56 54 57 $ db->selectColumn($s->getColumnsSql('session_'));58 $ db->selectColumn($h->getColumnsSql('host_'));59 $ db->selectColumn($ua->getColumnsSql('ua_'));60 $ db->selectColumn($d->getColumnsSql('document_'));61 $ db->selectColumn($v->getColumnsSql('visitor_'));62 $ db->selectColumn($r->getColumnsSql('referer_'));55 $this->db->selectColumn($s->getColumnsSql('session_')); 56 $this->db->selectColumn($h->getColumnsSql('host_')); 57 $this->db->selectColumn($ua->getColumnsSql('ua_')); 58 $this->db->selectColumn($d->getColumnsSql('document_')); 59 $this->db->selectColumn($v->getColumnsSql('visitor_')); 60 $this->db->selectColumn($r->getColumnsSql('referer_')); 63 61 64 $ db->join(OWA_SQL_JOIN_LEFT_OUTER, $h->getTableName(), '', 'host_id');65 $ db->join(OWA_SQL_JOIN_LEFT_OUTER, $ua->getTableName(), '', 'ua_id');66 $ db->join(OWA_SQL_JOIN_LEFT_OUTER, $d->getTableName(), '', 'first_page_id');67 $ db->join(OWA_SQL_JOIN_LEFT_OUTER, $v->getTableName(), '', 'visitor_id');68 $ db->join(OWA_SQL_JOIN_LEFT_OUTER, $r->getTableName(), '', 'referer_id');62 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, $h->getTableName(), '', 'host_id'); 63 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, $ua->getTableName(), '', 'ua_id'); 64 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, $d->getTableName(), '', 'first_page_id'); 65 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, $v->getTableName(), '', 'visitor_id'); 66 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, $r->getTableName(), '', 'referer_id'); 69 67 70 68 // pass constraints into where clause 71 $db->multiWhere($this->getConstraints());72 $db->orderBy('session_timestamp');73 $db->order($this->params['order']);74 $db->limit($this->params['limit']);75 $db->offset($this->params['offset']);76 69 77 $ret = $db->getAllRows(); 70 $this->db->orderBy('session_timestamp'); 71 $this->db->order($this->params['order']); 72 73 $ret = $this->db->getAllRows(); 78 74 79 75 return $ret; 76 } 77 78 function paginationCount() { 79 80 $this->db->selectFrom('owa_session'); 81 $this->db->selectColumn('count(id) as count'); 82 83 $ret = $this->db->getOneRow(); 84 85 return $ret['count']; 86 87 80 88 } 81 89 -
trunk/modules/base/metrics/pageViewsByDay.php
r501 r509 33 33 function owa_pageViewsByDay($params = null) { 34 34 35 $this->params = $params;35 return owa_pageViewsByDay::__construct($params); 36 36 37 $this->owa_metric(); 38 39 return; 40 37 } 38 39 function __construct($params = null) { 40 41 return parent::__construct($params); 41 42 } 42 43 43 44 function calculate() { 44 45 45 $db = owa_coreAPI::dbSingleton(); 46 47 $db->selectFrom('owa_session', 'session'); 48 $db->selectColumn("sum(session.num_pageviews) as page_views, 46 $this->db->selectFrom('owa_session', 'session'); 47 $this->db->selectColumn("sum(session.num_pageviews) as page_views, 49 48 session.month, 50 49 session.day, 51 50 session.year"); 52 51 53 // pass constraints into where clause54 $db->multiWhere($this->getConstraints());55 56 52 if (array_key_exists('groupby', $this->params)): 57 $ db->groupBy($this->params['groupby']);53 $this->db->groupBy($this->params['groupby']); 58 54 else: 59 $ db->groupBy('session.day');55 $this->db->groupBy('session.day'); 60 56 endif; 61 57 62 $ db->orderBy('session.year');63 $ db->orderBy('session.month');64 $ db->orderBy('session.day');58 $this->db->orderBy('session.year'); 59 $this->db->orderBy('session.month'); 60 $this->db->orderBy('session.day'); 65 61 62 return $this->db->getAllRows(); 66 63 67 return $db->getAllRows();68 69 /*70 71 72 $s = owa_coreAPI::entityFactory('base.session');73 74 $this->setTimePeriod($this->params['period']);75 76 $this->params['select'] = "sum(session.num_pageviews) as page_views,77 session.month,78 session.day,79 session.year";80 81 82 $this->params['orderby'] = array('session.year', 'session.month', 'session.day');83 84 return $s->query($this->params);85 86 */87 64 } 88 65 -
trunk/modules/base/metrics/topPages.php
r501 r509 38 38 39 39 function __construct($params) { 40 40 41 $this->setLabels(array('Page Views', 'Page Name', 'Page Type', 'URL', 'Document ID')); 42 $this->page_results = true; 43 41 44 return parent::__construct($params); 42 45 } … … 45 48 function calculate() { 46 49 47 $db = owa_coreAPI::dbSingleton();50 //$db = owa_coreAPI::dbSingleton(); 48 51 49 52 $r = owa_coreAPI::entityFactory('base.request'); … … 51 54 52 55 //$r->addRelatedObject('document_id', owa_coreAPI::entityFactory('base.document')); 53 $ db->selectFrom($r->getTableName(), 'request');54 $ db->selectColumn("count(request.document_id) as count,56 $this->db->selectFrom($r->getTableName(), 'request'); 57 $this->db->selectColumn("count(request.document_id) as count, 55 58 document.page_title, 56 59 document.page_type, … … 61 64 //$this->setTimePeriod($this->params['period']); 62 65 63 $ db->where('document.page_type', 'feed', '!=');66 $this->db->where('document.page_type', 'feed', '!='); 64 67 65 // pass constraints into where clause 66 $db->multiWhere($this->getConstraints()); 67 68 $db->join(OWA_SQL_JOIN_LEFT_OUTER,$d->getTableName(), 'document', 'document_id', 'document.id'); 69 $db->groupBy('document.id'); 70 $db->orderBy('count'); 71 $db->order('DESC'); 68 69 $this->db->join(OWA_SQL_JOIN_LEFT_OUTER,$d->getTableName(), 'document', 'document_id', 'document.id'); 70 $this->db->groupBy('document.id'); 71 $this->db->orderBy('count'); 72 73 //$db->order('DESC'); 72 74 &nb
