- <?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);
-
- ?>