librefm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Librefm-commits] [1628] convert api/UserXML.php to adodb


From: Clint Adams
Subject: [Librefm-commits] [1628] convert api/UserXML.php to adodb
Date: Fri, 15 May 2009 16:42:46 +0000

Revision: 1628
          http://svn.sv.gnu.org/viewvc/?view=rev&root=librefm&revision=1628
Author:   clint
Date:     2009-05-15 16:42:46 +0000 (Fri, 15 May 2009)
Log Message:
-----------
convert api/UserXML.php to adodb

Modified Paths:
--------------
    trunk/nixtape/api/UserXML.php

Modified: trunk/nixtape/api/UserXML.php
===================================================================
--- trunk/nixtape/api/UserXML.php       2009-05-15 16:35:13 UTC (rev 1627)
+++ trunk/nixtape/api/UserXML.php       2009-05-15 16:42:46 UTC (rev 1628)
@@ -18,7 +18,7 @@
 
  */
 
-require_once($install_path . '/database.php');
+require_once($install_path . '/database2.php');
 require_once($install_path . '/data/User.php');
 require_once('xml.php');
 
@@ -46,7 +46,7 @@
        }
 
        public static function getTopTracks($username, $time) {
-               global $mdb2;
+               global $adodb;
 
                $timestamp;
                if (!isset($time))
@@ -66,13 +66,20 @@
                        return(XML::error('error', '13', 'Invalid method 
signature supplied'));
                }
 
-               $res = $mdb2->query('SELECT Track.*, Artist.mbid AS artmbid, 
COUNT(*) AS freq
-                       FROM Track, Scrobbles,Artist
-                       WHERE Scrobbles.username = ' . $mdb2->quote($username, 
'text') . '
-                       AND Scrobbles.track = Track.name AND Scrobbles.time > ' 
. $timestamp . ' AND Track.artist = Artist.name
-                       GROUP BY Track.name ORDER BY freq DESC LIMIT 20');
+               $err = 0;
+               $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
+               try {
+                       $res = $adodb->CacheGetAll(600, 'SELECT Track.*, 
Artist.mbid AS artmbid, COUNT(*) AS freq
+                                       FROM Track, Scrobbles,Artist
+                                       WHERE Scrobbles.username = ' . 
$adodb->qstr($username, 'text') . '
+                                       AND Scrobbles.track = Track.name AND 
Scrobbles.time > ' . $timestamp . ' AND Track.artist = Artist.name
+                                       GROUP BY Track.name ORDER BY freq DESC 
LIMIT 20');
+               }
+               catch (exception $e) {
+                       $err = 1;
+               }
 
-               if (PEAR::isError($res) || !$res->numRows()) {
+               if ($err || !$res) {
                        return(XML::error('failed', '7', 'Invalid resource 
specified'));
                }
                $xml = new SimpleXMLElement('<lfm status="ok"></lfm>');
@@ -81,8 +88,7 @@
                $root->addAttribute('user', $username);
                $root->addAttribute('type', $time);
                $i = 1;
-               while(($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC))) {
-
+               foreach($res as &$row) {
                        $track = $root->addChild('track', null);
                        $track->addAttribute('rank', $i);
                        $track->addChild('name', repamp($row['name']));
@@ -98,20 +104,27 @@
        }
 
        public static function getRecentTracks($user, $limit) {
-               global $mdb2;
+               global $adodb;
 
                if (!isset($limit)) {
                        $limit = 10;
                }
 
-               $res = $mdb2->query('SELECT Track . * , COUNT( * ) AS freq
-                       FROM Track, Scrobbles
-                       WHERE Scrobbles.username = ' . $mdb2->quote($user, 
'text') . '
-                       AND Scrobbles.track = Track.name
-                       GROUP BY Track.name
-                       LIMIT 10');
+               $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
+               $err = 0;
+               try {
+                       $res = $adodb->GetAll('SELECT Track . * , COUNT( * ) AS 
freq
+                                       FROM Track, Scrobbles
+                                       WHERE Scrobbles.username = ' . 
$adodb->qstr($user) . '
+                                       AND Scrobbles.track = Track.name
+                                       GROUP BY Track.name
+                                       LIMIT 10');
+               }
+               catch (exception $e) {
+                       $err = 1;
+               }
 
-               if (PEAR::isError($res) || !$res->numRows()) {
+               if ($err || !$res) {
                        return(XML::error('error', '7', 'Invalid resource 
specified'));
                }
 
@@ -119,7 +132,7 @@
                $root = $xml->addChild('recenttracks', null);
                $root->addAttribute('user', $user);
 
-               while (($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC))) {
+               foreach($res as &$row) {
                        $track = $root->addChild('track', null);
                        $artist = $track->addChild('artist', 
repamp($row['artist']));
                        $artist->addAttribute('mbid', $row['artmbid']);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]