[ Index ] |
|
Code source de Joomla 1.0.13 |
1 <?php 2 /** 3 * @version $Id: admin.statistics.php 4502 2006-08-13 22:45:33Z eddiea $ 4 * @package Joomla 5 * @subpackage Statistics 6 * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved. 7 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php 8 * Joomla! is free software. This version may have been modified pursuant 9 * to the GNU General Public License, and as distributed it includes or 10 * is derivative of works licensed under the GNU General Public License or 11 * other free or open source software licenses. 12 * See COPYRIGHT.php for copyright notices and details. 13 */ 14 15 // no direct access 16 defined( '_VALID_MOS' ) or die( 'Restricted access' ); 17 require_once( $mainframe->getPath( 'admin_html' ) ); 18 19 switch ($task) { 20 case 'searches': 21 showSearches( $option, $task ); 22 break; 23 24 case 'searchesresults': 25 showSearches( $option, $task, 1 ); 26 break; 27 28 case 'pageimp': 29 showPageImpressions( $option, $task ); 30 break; 31 32 default: 33 showSummary( $option, $task ); 34 break; 35 } 36 37 function showSummary( $option, $task ) { 38 global $database, $mainframe; 39 40 // get sort field and check against allowable field names 41 $field = strtolower( mosGetParam( $_REQUEST, 'field', '' ) ); 42 if (!in_array( $field, array( 'agent', 'hits' ) )) { 43 $field = ''; 44 } 45 46 // get field ordering or set the default field to order 47 $order = strtolower( mosGetParam( $_REQUEST, 'order', 'asc' ) ); 48 if ($order != 'asc' && $order != 'desc' && $order != 'none') { 49 $order = 'asc'; 50 } else if ($order == 'none') { 51 $field = 'agent'; 52 $order = 'asc'; 53 } 54 55 // browser stats 56 $order_by = ''; 57 $sorts = array(); 58 $tab = mosGetParam( $_REQUEST, 'tab', 'tab1' ); 59 $sort_base = "index2.php?option=$option&task=$task"; 60 61 switch ($field) { 62 case 'hits': 63 $order_by = "hits $order"; 64 $sorts['b_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "agent" ); 65 $sorts['b_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "hits", $order ); 66 $sorts['o_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "agent" ); 67 $sorts['o_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "hits", $order ); 68 $sorts['d_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "agent" ); 69 $sorts['d_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "hits", $order ); 70 break; 71 72 case 'agent': 73 default: 74 $order_by = "agent $order"; 75 $sorts['b_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "agent", $order ); 76 $sorts['b_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab1", "hits" ); 77 $sorts['o_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "agent", $order ); 78 $sorts['o_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab2", "hits" ); 79 $sorts['d_agent'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "agent", $order ); 80 $sorts['d_hits'] = mosHTML::sortIcon( "$sort_base&tab=tab3", "hits" ); 81 break; 82 } 83 84 $query = "SELECT *" 85 . "\n FROM #__stats_agents" 86 . "\n WHERE type = 0" 87 . "\n ORDER BY $order_by" 88 ; 89 $database->setQuery( $query ); 90 $browsers = $database->loadObjectList(); 91 92 $query = "SELECT SUM( hits ) AS totalhits, MAX( hits ) AS maxhits" 93 . "\n FROM #__stats_agents" 94 . "\n WHERE type = 0" 95 ; 96 $database->setQuery( $query ); 97 $bstats = null; 98 $database->loadObject( $bstats ); 99 100 // platform statistics 101 $query = "SELECT *" 102 . "\n FROM #__stats_agents" 103 . "\n WHERE type = 1" 104 . "\n ORDER BY hits DESC" 105 ; 106 $database->setQuery( $query ); 107 $platforms = $database->loadObjectList(); 108 109 $query = "SELECT SUM( hits ) AS totalhits, MAX( hits ) AS maxhits" 110 . "\n FROM #__stats_agents" 111 . "\n WHERE type = 1" 112 ; 113 $database->setQuery( $query ); 114 $pstats = null; 115 $database->loadObject( $pstats ); 116 117 // domain statistics 118 $query = "SELECT *" 119 . "\n FROM #__stats_agents" 120 . "\n WHERE type = 2" 121 . "\n ORDER BY hits DESC" 122 ; 123 $database->setQuery( $query ); 124 $tldomains = $database->loadObjectList(); 125 126 $query = "SELECT SUM( hits ) AS totalhits, MAX( hits ) AS maxhits" 127 . "\n FROM #__stats_agents" 128 . "\n WHERE type = 2" 129 ; 130 $database->setQuery( $query ); 131 $dstats = null; 132 $database->loadObject( $dstats ); 133 134 HTML_statistics::show( $browsers, $platforms, $tldomains, $bstats, $pstats, $dstats, $sorts, $option ); 135 } 136 137 function showPageImpressions( $option, $task ) { 138 global $database, $mainframe, $mosConfig_list_limit; 139 140 $query = "SELECT COUNT( id )" 141 . "\n FROM #__content" 142 ; 143 $database->setQuery($query); 144 $total = $database->loadResult(); 145 146 $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); 147 $limitstart = $mainframe->getUserStateFromRequest( "view{$option}{$task}limitstart", 'limitstart', 0 ); 148 149 require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); 150 $pageNav = new mosPageNav( $total, $limitstart, $limit ); 151 152 $query = "SELECT id, title, created, hits" 153 . "\n FROM #__content" 154 . "\n ORDER BY hits DESC" 155 ; 156 $database->setQuery($query, $pageNav->limitstart, $pageNav->limit); 157 158 $rows = $database->loadObjectList(); 159 160 HTML_statistics::pageImpressions( $rows, $pageNav, $option, $task ); 161 } 162 163 function showSearches( $option, $task, $showResults=null ) { 164 global $database, $mainframe, $mosConfig_list_limit; 165 global $_MAMBOTS; 166 167 $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); 168 $limitstart = $mainframe->getUserStateFromRequest( "view{$option}{$task}limitstart", 'limitstart', 0 ); 169 170 // get the total number of records 171 $query = "SELECT COUNT(*)" 172 . "\n FROM #__core_log_searches" 173 ; 174 $database->setQuery( $query ); 175 $total = $database->loadResult(); 176 177 require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); 178 $pageNav = new mosPageNav( $total, $limitstart, $limit ); 179 180 $query = "SELECT *" 181 . "\n FROM #__core_log_searches" 182 . "\n ORDER BY hits DESC" 183 ; 184 $database->setQuery( $query, $pageNav->limitstart, $pageNav->limit ); 185 186 $rows = $database->loadObjectList(); 187 if ($database->getErrorNum()) { 188 echo $database->stderr(); 189 return false; 190 } 191 192 $_MAMBOTS->loadBotGroup( 'search' ); 193 194 $total = count($rows); 195 for ($i=0, $n = $total; $i < $n; $i++) { 196 // determine if number of results for search item should be calculated 197 // by default it is `off` as it is highly query intensive 198 if ( $showResults ) { 199 $results = $_MAMBOTS->trigger( 'onSearch', array( $rows[$i]->search_term ) ); 200 201 $count = 0; 202 $total = count( $results ); 203 for ($j = 0, $n2 = $total; $j < $n2; $j++) { 204 $count += count( $results[$j] ); 205 } 206 207 $rows[$i]->returns = $count; 208 } else { 209 $rows[$i]->returns = null; 210 } 211 } 212 213 HTML_statistics::showSearches( $rows, $pageNav, $option, $task, $showResults ); 214 } 215 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 14:43:32 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |