<?php /* Usage by dates, countries, totals. */ /* New */ function getCountryEprintType($year,$month,$rnge,$type,$id) { $year = (int) $year; $month = (int) $month; $records = array(); // Generate type enquiry if ($type == 'download') { $limit2 = ' AND view_type = "download" '; } elseif ($type == 'abstract') { $limit2 = ' AND view_type = "abstract" '; } else { $limit2 = ''; } // generate date enquiry $date_range = ''; if($year>=2002 and $year<2100) { if($month>0 and $month<=12) { $date_range = " AND year(request_date) = $year AND month(request_date) = $month"; } else { $date_range = " AND year(request_date) = $year"; } } if($rnge=='4w') { $date_range = " AND request_date >= date_sub(curdate(),INTERVAL 1 MONTH)"; } $query = 'select count(*) as count,country_name,country_code from view WHERE archiveid = ' . $id . $limit2 . $date_range . ' GROUP BY country_name ORDER BY count DESC'; $result = mysql_query($query); if (!$result) { sqlconn::_setError(mysql_errno(),mysql_error()); return mysql_error(); } else { while ($row = mysql_fetch_assoc($result)) { $records[] = $row; } return $records; } } // If no id default to front page. if(!isset($_REQUEST["id"])) { return "pub_default"; } // Get detail given year/month $show_date = 'all years'; if(isset($_REQUEST["year"]) and $_REQUEST["year"]>2002) { if(isset($_REQUEST["month"]) and $_REQUEST["month"]>=1 and $_REQUEST["month"]<=12) { $dt = strtotime($_REQUEST["month"]."/1/".$_REQUEST["year"]); $show_date = date("F Y",$dt); } else { $show_date = $_REQUEST["year"]; $_REQUEST["month"] = 0; } } else { $_REQUEST["year"] = 0; $_REQUEST["month"] = 0; } if(isset($_REQUEST["range"])) { // Work out current date if($_REQUEST["range"]=='4w') { $show_date = 'past 4 weeks'; } } else { $_REQUEST["range"] = ''; } // by country $country_abstracts = getCountryEprintType($_REQUEST["year"], $_REQUEST["month"], $_REQUEST["range"], 'abstract', $_REQUEST["id"]); $country_downloads = getCountryEprintType($_REQUEST["year"], $_REQUEST["month"], $_REQUEST["range"], 'download', $_REQUEST["id"]); $GLOBALS["db_values"] = merge_countries($country_abstracts, $country_downloads); // title $title = $sql->getTitle($_REQUEST["id"]); // by type $type_count = $sql->getAbstractDownload($_REQUEST["year"], $_REQUEST["month"], $_REQUEST["range"], 'download', $_REQUEST["id"]); // by date $month_downloads = $sql->getCumulativeUsageType($_REQUEST["id"],'download'); $month_abstracts = $sql->getCumulativeUsageType($_REQUEST["id"],'abstract'); $month_tally = merge_dates($month_abstracts,$month_downloads); ?>