librefm-commits
[Top][All Lists]
Advanced

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

[Librefm-commits] [1448] rename track members album and artist to album_


From: Clint Adams
Subject: [Librefm-commits] [1448] rename track members album and artist to album_name and artist_name so we can get rid of them later
Date: Sun, 10 May 2009 03:14:19 +0000

Revision: 1448
          http://svn.sv.gnu.org/viewvc/?view=rev&root=librefm&revision=1448
Author:   clint
Date:     2009-05-10 03:14:19 +0000 (Sun, 10 May 2009)
Log Message:
-----------
rename track members album and artist to album_name and artist_name so we can 
get rid of them later


Conflicts:

        gnukebox/install.php
        nixtape/admin/report/mbid-mismatch.php
        nixtape/data/Album.php
        nixtape/data/Track.php
        nixtape/radio/xspf.php
        nixtape/track.php

Modified Paths:
--------------
    branches/stable/gnukebox/install.php
    branches/stable/gnukebox/scrobble-utils.php
    branches/stable/nixtape/data/Album.php
    branches/stable/nixtape/data/Artist.php
    branches/stable/nixtape/data/Server.php
    branches/stable/nixtape/data/Track.php
    branches/stable/nixtape/radio/xspf.php
    branches/stable/nixtape/track.php

Added Paths:
-----------
    branches/stable/nixtape/admin/
    branches/stable/nixtape/admin/report/
    branches/stable/nixtape/admin/report/mbid-mismatch.php

Modified: branches/stable/gnukebox/install.php
===================================================================
--- branches/stable/gnukebox/install.php        2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/gnukebox/install.php        2009-05-10 03:14:19 UTC (rev 
1448)
@@ -19,7 +19,8 @@
 
 */
 
-require_once('MDB2.php');
+require_once('adodb/adodb-exceptions.inc.php');
+require_once('adodb/adodb.inc.php');
 require_once('version.php');
 require_once('utils/get_absolute_url.php');
 
@@ -38,26 +39,30 @@
                $connect_string = $dbms . "://" . $_POST['username'] . ":" . 
$_POST['password'] . "@" . $_POST['hostname'] . ":" . $_POST['port'] . "/" . 
$_POST['dbname'];
        }
 
-       $mdb2 =& MDB2::connect($connect_string);
-       if (PEAR::isError($mdb2)) {
-               die($mdb2->getMessage());
+       try {
+               $adodb =& NewADOConnection($adodb_connect_string);
+       } catch (exception $e) {
+               var_dump($e);
+               adodb_backtrace($e->gettrace());
+               die("Database connection failure\n");
        }
 
        //Create tables
 
-       $res = $mdb2->query("CREATE TABLE Places(
+       $adodb->Execute("CREATE TABLE Places(
                location_uri VARCHAR(255) unique,
                latitude FLOAT,
                longitude FLOAT,
                country CHAR(2))");
 
-       $mdb2->query("CREATE TABLE Countries (
+       $adodb->Execute("CREATE TABLE Countries (
                country varchar(2) PRIMARY KEY,
                country_name varchar(200),
                wikipedia_en varchar(120));");
 
-       $mdb2->query("CREATE TABLE Users (
-               username VARCHAR(64) PRIMARY KEY,
+       $adodb->Execute("CREATE TABLE Users (
+               uniqueid SERIAL PRIMARY KEY,
+               username VARCHAR(64),
                password VARCHAR(32) NOT NULL,
                email VARCHAR(255),
                fullname VARCHAR(255),
@@ -74,9 +79,10 @@
                laconica_profile VARCHAR(255),
                journal_rss VARCHAR(255))");
 
-       $res = $mdb2->query("CREATE TABLE Groups (
-               groupname VARCHAR(64) PRIMARY KEY,
-               owner VARCHAR(64) REFERENCES Users(username),
+       $adodb->Execute("CREATE TABLE Groups (
+               id SERIAL PRIMARY KEY,
+               groupname VARCHAR(64),
+               owner INTEGER REFERENCES Users(uniqueid),
                fullname VARCHAR(255),
                bio TEXT,
                homepage VARCHAR(255),
@@ -85,23 +91,25 @@
                avatar_uri VARCHAR(255),
                grouptype INTEGER)");
 
-       $res = $mdb2->query("CREATE TABLE Group_Members (
-               groupname VARCHAR(64) REFERENCES Groups(groupname),
-               member VARCHAR(64) REFERENCES Users(username),
-               joined INTEGER NOT NULL)");
+       $adodb->Execute("CREATE TABLE Group_Members (
+               grp INTEGER REFERENCES Groups(id),
+               member INTEGER REFERENCES Users(uniqueid),
+               joined INTEGER NOT NULL,
+               PRIMARY KEY (grp, member))");
 
-       $mdb2->query("CREATE TABLE AccountActivation(
+       $adodb->Execute("CREATE TABLE AccountActivation(
                username VARCHAR(64),
                authcode VARCHAR(32))");
 
-       $res = $mdb2->query("CREATE TABLE Auth (
+       $adodb->Execute("CREATE TABLE Auth (
                token VARCHAR(32) PRIMARY KEY,
                sk VARCHAR(32),
                expires INTEGER,
                username VARCHAR(64) REFERENCES Users(username))");
 
-       $mdb2->query("CREATE TABLE Artist(
-               name VARCHAR(255) PRIMARY KEY,
+       $adodb->Execute("CREATE TABLE Artist(
+               id SERIAL PRIMARY KEY,
+               name VARCHAR(255),
                mbid VARCHAR(36),
                streamable INTEGER,
                bio_published INTEGER,
@@ -113,7 +121,8 @@
                homepage VARCHAR(255),
                origin VARCHAR(255) REFERENCES Places(location_uri))");
 
-       $mdb2->query("CREATE TABLE Album(
+       $adodb->Execute("CREATE TABLE Album(
+               id SERIAL PRIMARY KEY,
                name VARCHAR(255),
                artist_name VARCHAR(255) REFERENCES Artist(name),
                mbid VARCHAR(36),
@@ -124,17 +133,17 @@
                downloadurl VARCHAR(255))");
 
        // Table for registering similar artists
-       $mdb2->query("CREATE TABLE Similar_Artist(
+       $adodb->Execute("CREATE TABLE Similar_Artist(
                name_a VARCHAR(255) REFERENCES Artist(name),
                name_b VARCHAR(255) REFERENCES Artist(name),
                PRIMARY KEY(name_a, name_b))");
 
-       if ( strtolower(substr($mdb2->phptype, 0, 5)) == 'mysql'  ) {
-               $mdb2->query("CREATE TABLE Track(
+       if ( strtolower(substr($dbms,0,5)) == 'mysql'  ) {
+               $adodb->Execute("CREATE TABLE Track(
                        id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        name VARCHAR(255),
-                       artist VARCHAR(255) REFERENCES Artist(name),
-                       album VARCHAR(255),
+                       artist_name VARCHAR(255) REFERENCES Artist(name),
+                       album_name VARCHAR(255),
                        mbid VARCHAR(36),
                        duration INTEGER,
                        streamable INTEGER DEFAULT 0,
@@ -143,12 +152,12 @@
                        streamurl VARCHAR(255),
                        otherid VARCHAR(16))");
        } else {
-               $mdb2->query("CREATE SEQUENCE track_id_seq;");
-               $mdb2->query("CREATE TABLE Track(
+               $adodb->Execute("CREATE SEQUENCE track_id_seq;");
+               $adodb->Execute("CREATE TABLE Track(
                        id INTEGER NOT NULL DEFAULT 
nextval('track_id_seq'::regclass) PRIMARY KEY,
                        name VARCHAR(255),
-                       artist VARCHAR(255) REFERENCES Artist(name),
-                       album VARCHAR(255),
+                       artist_name VARCHAR(255) REFERENCES Artist(name),
+                       album_name VARCHAR(255),
                        mbid VARCHAR(36),
                        duration INTEGER,
                        streamable INTEGER DEFAULT 0,
@@ -158,7 +167,7 @@
                        otherid VARCHAR(16))");
        }
        
-       $mdb2->query("CREATE TABLE Scrobbles(
+       $adodb->Execute("CREATE TABLE Scrobbles(
                username VARCHAR(64) REFERENCES Users(username),
                track VARCHAR(255),
                album VARCHAR(255),
@@ -170,57 +179,57 @@
                length INTEGER,
                stid INTEGER)");
 
-       $mdb2->query("CREATE TABLE Scrobble_Sessions(
+       $adodb->Execute("CREATE TABLE Scrobble_Sessions(
                username VARCHAR(64) REFERENCES Users(username),
                sessionid VARCHAR(32) PRIMARY KEY,
                client CHAR(3),
                expires INTEGER)");
 
-       $res = $mdb2->query("CREATE TABLE Now_Playing(
-               sessionid VARCHAR(32) PRIMARY KEY REFERENCES 
Scrobble_Sessions(sessionid),
+       $adodb->Execute("CREATE TABLE Now_Playing(
+               sessionid VARCHAR(32) PRIMARY KEY REFERENCES 
Scrobble_Sessions(sessionid) ON DELETE CASCADE,
                track VARCHAR(255),
                artist VARCHAR(255) REFERENCES Artist(name),
                album VARCHAR(255),
                mbid VARCHAR(36),
                expires INTEGER)");
 
-       $res = $mdb2->query("CREATE TABLE Invitation_Request(
+       $adodb->Execute("CREATE TABLE Invitation_Request(
                email VARCHAR(255) PRIMARY KEY,
                time INTEGER)");
 
-       $res = $mdb2->query("CREATE TABLE Invitations(
+       $adodb->Execute("CREATE TABLE Invitations(
                inviter VARCHAR(64) REFERENCES Users(username),
                invitee VARCHAR(64) REFERENCES Users(username),
                code VARCHAR(32),
                PRIMARY KEY(inviter, invitee, code))");
 
-       $res = $mdb2->query("CREATE TABLE ClientCodes(
+       $adodb->Execute("CREATE TABLE ClientCodes(
                code CHAR(3),
                name VARCHAR(32),
                url VARCHAR(256),
                free CHAR(1),
                PRIMARY KEY(code))");
 
-       $res = $mdb2->query("CREATE TABLE Tags(
+       $adodb->Execute("CREATE TABLE Tags(
                username VARCHAR(64) REFERENCES Users(username),
                tag VARCHAR(64),
                artist VARCHAR(255) REFERENCES Artist(name),
                album VARCHAR(255),
                track VARCHAR(255))");
 
-       $res = $mdb2->query("CREATE TABLE Error(
+       $adodb->Execute("CREATE TABLE Error(
                    id INTEGER(11) AUTO_INCREMENT KEY,
                    msg TEXT,
                    data TEXT,
                    time INTEGER)");
-       $res = $mdb2->query("CREATE TABLE Recovery_Request(
+       $adodb->Execute("CREATE TABLE Recovery_Request(
                    username VARCHAR(64),
                    email VARCHAR(255),
                    code VARCHAR(32),
                    expires INTEGER, 
                    PRIMARY KEY(username))");
 
-       $res = $mdb2->query("CREATE TABLE Radio_Sessions(
+       $adodb->Execute("CREATE TABLE Radio_Sessions(
                        username VARCHAR(64),
                        session VARCHAR(32),
                        url VARCHAR(255),
@@ -228,13 +237,13 @@
                        PRIMARY KEY(username,session))");
        
        //Table for delete profile requests             
-       $res = $mdb2->query("CREATE TABLE Delete_Request (
+       $adodb->Execute("CREATE TABLE Delete_Request (
                        code VARCHAR(300), 
                        expires INTEGER, 
                        username VARCHAR(64) REFERENCES Users(username),
                        PRIMARY KEY(code)");
 
-       $res = $mdb2->exec("CREATE TABLE Scrobble_Track(
+       $adodb->Execute("CREATE TABLE Scrobble_Track(
                        id SERIAL PRIMARY KEY,
                        artist VARCHAR(255) NOT NULL,
                        album VARCHAR(255),
@@ -242,37 +251,77 @@
                        mbid VARCHAR(36),
                        track INTEGER NOT NULL)");
 
-       $res = $mdb2->exec("CREATE VIEW Free_Scrobbles AS SELECT s.* FROM 
Scrobbles s INNER JOIN Track t on lower(s.artist)=lower(t.artist) and 
lower(s.track)=lower(t.name) where t.streamable=1");
+       $adodb->Execute("CREATE VIEW Free_Scrobbles AS
+                       SELECT s.username, s.track, s.artist, s.time, s.mbid, 
s.album, s.source, s.rating, s.length
+                               FROM Scrobbles s
+                               JOIN Scrobble_Track st ON s.stid = st.id
+                               JOIN Track t ON st.track = t.id
+                               WHERE t.streamable = 1");
 
+       $adodb->Execute("CREATE TABLE User_Relationships (
+               uid1 INTEGER REFERENCES Users(uniqueid) ON DELETE CASCADE,
+               uid2 INTEGER REFERENCES Users(uniqueid) ON DELETE CASCADE,
+               established INTEGER NOT NULL,
+               PRIMARY KEY (uid1, uid2))");
 
+       $adodb->Execute("CREATE TABLE User_Relationship_Flags (
+               uid1 INTEGER,
+               uid2 INTEGER,
+               flag VARCHAR(12) REFERENCES Relationship_Flags(flag),
+               PRIMARY KEY (uid1, uid2, flag),
+               FOREIGN KEY (uid1, uid2) REFERENCES User_Relationships (uid1, 
uid2))");
+
+       $adodb->Execute("CREATE TABLE Relationship_Flags (
+               flag VARCHAR(12),
+               PRIMARY KEY (flag))");
+
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('contact')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES 
('acquaintance')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('friend')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('met')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('co-worker')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('colleague')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES 
('co-resident')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('neighbor')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('child')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('parent')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('sibling')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('spouse')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('kin')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('muse')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('crush')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('date')");
+       $adodb->Execute("INSERT INTO Relationship_Flags VALUES ('sweetheart')");
+
 // uncomment these to solve performance problems with getRecentScrobbles
-//     $res = $mdb2->exec("CREATE INDEX album_artistname_idx ON 
Album(artist_name)");
-//     $res = $mdb2->exec("CREATE INDEX scrobbles_artist_idx ON 
Scrobbles(artist)");
-//     $res = $mdb2->exec("CREATE INDEX scrobbles_time_idx ON 
Scrobbles(time)");
-//      $res = $mdb2->exec("CREATE INDEX track_artist_idx ON 
Track(lower(artist))");
-//      $res = $mdb2->exec("CREATE INDEX track_name_idx ON 
Track(lower(name))");
-//      $res = $mdb2->exec("CREATE INDEX track_streamable_idx on 
Track(streamable);");
-//      $res = $mdb2->exec("CREATE INDEX scrobbles_artist_idx on 
Scrobbles(lower(artist))");
-//      $res = $mdb2->exec("CREATE INDEX scrobbles_track_idx on 
Scrobbles(lower(track))");
+//     $adodb->Execute("CREATE INDEX album_artistname_idx ON 
Album(artist_name)");
+//     $adodb->Execute("CREATE INDEX scrobbles_artist_idx ON 
Scrobbles(artist)");
+//     $adodb->Execute("CREATE INDEX scrobbles_time_idx ON Scrobbles(time)");
+//      $adodb->Execute("CREATE INDEX track_artist_idx ON 
Track(lower(artist_name))");
+//      $adodb->Execute("CREATE INDEX track_name_idx ON Track(lower(name))");
+//      $adodb->Execute("CREATE INDEX track_streamable_idx on 
Track(streamable);");
+//      $adodb->Execute("CREATE INDEX scrobbles_artist_idx on 
Scrobbles(lower(artist))");
+//      $adodb->Execute("CREATE INDEX scrobbles_track_idx on 
Scrobbles(lower(track))");
+//      $adodb->Execute("CREATE UNIQE INDEX groups_groupname_idx ON 
Groups(lower(groupname))");
 
 // uncomment these if you're using postgresql and want to run the software as 
www-data
-//     $res = $mdb2->exec("GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE 
Album, Artist, Auth, Clientcodes, Delete_Request Error, Invitation_Request, 
Invitations, Now_Playing, Places, Radio_Sessions, Scrobble_Sessions, Scrobbles, 
Scrobble_Track, Similar_Artist, Tags, Track, Users to \"www-data\"");
-//     $res = $mdb2->exec("GRANT SELECT ON Free_Scrobbles to \"www-data\"");
-//     $res = $mdb2->exec("GRANT SELECT, UPDATE ON users_uniqueid_seq, 
scrobble_track_id_seq to \"www-data\"");
+//     $adodb->Execute("GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE Album, 
Artist, Auth, Clientcodes, Delete_Request Error, Invitation_Request, 
Invitations, Now_Playing, Places, Radio_Sessions, Scrobble_Sessions, Scrobbles, 
Scrobble_Track, Similar_Artist, Tags, Track, Users, User_Relationships, 
User_Relationship_Flags to \"www-data\"");
+//     $adodb->Execute("GRANT SELECT ON Free_Scrobbles, Relationship_Flags to 
\"www-data\"");
+//     $adodb->Execute("GRANT SELECT, UPDATE ON users_uniqueid_seq, 
scrobble_track_id_seq, groups_id_seq to \"www-data\"");
 
        // Test user configuration
-       $res = $mdb2->query("INSERT INTO Users
+       $adodb->Execute("INSERT INTO Users
                (username, password, created)
                VALUES
                ('testuser', '" . md5('password') . "', " . time() . ");");
 
-       $mdb2->disconnect();
+       $adodb->Close();
 
        $submissions_server = $_POST['submissions'];
        $install_path = dirname(__FILE__) . "/";
 
        //Write out the configuration
-       $config = "<?php\n \$config_version = " . $version .";\n 
\$connect_string = '" . $connect_string . "';\n \$submissions_server = '" . 
$submissions_server . "';\n\$install_path = '" . $install_path . "'; ?>";
+       $config = "<?php\n \$config_version = " . $version .";\n 
\$connect_string = '" . $connect_string . "';\n \$submissions_server = '" . 
$submissions_server . "';\n\ $install_path = '" . $install_path . "'; ";
 
        $conf_file = fopen("config.php", "w");
        $result = fwrite($conf_file, $config);

Modified: branches/stable/gnukebox/scrobble-utils.php
===================================================================
--- branches/stable/gnukebox/scrobble-utils.php 2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/gnukebox/scrobble-utils.php 2009-05-10 03:14:19 UTC (rev 
1448)
@@ -104,9 +104,9 @@
        $artist = NoSpamTracks($artist);
 
        if($album != 'NULL') {
-       $res = $mdb2->query("SELECT id FROM Track WHERE lower(name) = lower(" . 
($track) . ") AND lower(artist) = lower(" . ($artist) . ") AND lower(album) = 
lower(" . ($album) . ")");
+       $res = $mdb2->query("SELECT id FROM Track WHERE lower(name) = lower(" . 
($track) . ") AND lower(artist_name) = lower(" . ($artist) . ") AND 
lower(album_name) = lower(" . ($album) . ")");
        } else {
-       $res = $mdb2->query("SELECT id FROM Track WHERE lower(name) = lower(" . 
($track) . ") AND lower(artist) = lower(" . ($artist) . ") AND album IS NULL");
+       $res = $mdb2->query("SELECT id FROM Track WHERE lower(name) = lower(" . 
($track) . ") AND lower(artist_name) = lower(" . ($artist) . ") AND album_name 
IS NULL");
        }
        if(PEAR::isError($res)) {
                die("FAILED trk " . $res->getMessage() . "\n");
@@ -114,7 +114,7 @@
 
        if(!$res->numRows()) {
                // Create new track
-               $res = $mdb2->exec("INSERT INTO Track (name, artist, album, 
mbid) VALUES ("
+               $res = $mdb2->exec("INSERT INTO Track (name, artist_name, 
album_name, mbid) VALUES ("
                        . ($track) . ", "
                        . ($artist) . ", "
                        . ($album) . ", "

Added: branches/stable/nixtape/admin/report/mbid-mismatch.php
===================================================================
--- branches/stable/nixtape/admin/report/mbid-mismatch.php                      
        (rev 0)
+++ branches/stable/nixtape/admin/report/mbid-mismatch.php      2009-05-10 
03:14:19 UTC (rev 1448)
@@ -0,0 +1,42 @@
+<?php
+
+/* Libre.fm -- a free network service for sharing your music listening habits
+
+   Copyright (C) 2009 Libre.fm Project
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Affero General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Affero General Public License for more details.
+
+   You should have received a copy of the GNU Affero General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+require("../../config.php");
+require_once($install_path . '/database2.php');
+require_once($install_path . '/templating.php');
+require_once($install_path . '/data/sanitize.php');
+
+$adodb->SetFetchMode(ADODB_FETCH_ASSOC);
+$recordSet = &$adodb->CacheExecute(7200, 'SELECT t.id, t.artist_name, 
t.album_name, t.name, t.mbid as tmbid, st.mbid as stmbid FROM Scrobble_Track st 
JOIN Track t ON lower(t.name)=st.name AND lower(t.album_name)=st.album AND 
lower(t.artist_name)=st.artist AND t.mbid<>st.mbid');
+
+$aEntries = array();
+$i = 0;
+
+while (!$recordSet->EOF) {
+       $trow = sanitize($recordSet->fields);
+       $aEntries[$i++] = $trow;
+       $recordSet->MoveNext();
+}
+
+$smarty->assign("entries", $aEntries);
+
+$smarty->display("mbid-mismatch-report.tpl");
+?>

Modified: branches/stable/nixtape/data/Album.php
===================================================================
--- branches/stable/nixtape/data/Album.php      2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/nixtape/data/Album.php      2009-05-10 03:14:19 UTC (rev 
1448)
@@ -74,8 +74,8 @@
 
        function getPlayCount() {
                global $mdb2;
-               $res = $mdb2->query("SELECT COUNT(*) AS scrobbles FROM 
Scrobbles JOIN Track ON Scrobbles.track = Track.name WHERE rating<>'S' AND 
Scrobbles.artist = "
-                       . $mdb2->quote($this->artist_name, 'text') . 'AND 
Track.album ='
+               $res = $mdb2->query("SELECT COUNT(*) AS scrobbles FROM 
Scrobbles JOIN Track ON Scrobbles.track = Track.name WHERE Scrobbles.artist = "
+                       . $mdb2->quote($this->artist_name, 'text') . ' AND 
Track.album_name ='
                        . $mdb2->quote($this->name, 'text'));
                if(!$res->numRows()) {
                        $c = 0;
@@ -93,11 +93,11 @@
         */
        function getTracks() {
                global $mdb2;
-               $res = $mdb2->query('SELECT name, artist FROM Track WHERE 
artist = '
-                       . $mdb2->quote($this->artist_name, 'text') . ' AND 
album = '
+               $res = $mdb2->query('SELECT name, artist_name FROM Track WHERE 
artist_name = '
+                       . $mdb2->quote($this->artist_name, 'text') . ' AND 
album_name = '
                        . $mdb2->quote($this->name));
                while($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
-                       $tracks[] = new Track($row['name'], $row['artist']);
+                       $tracks[] = new Track($row['name'], 
$row['artist_name']);
                }
 
                return $tracks;

Modified: branches/stable/nixtape/data/Artist.php
===================================================================
--- branches/stable/nixtape/data/Artist.php     2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/nixtape/data/Artist.php     2009-05-10 03:14:19 UTC (rev 
1448)
@@ -92,7 +92,7 @@
         */
        function getTracks() {
                global $mdb2;
-               $res = $mdb2->query("SELECT name FROM Track WHERE artist = "
+               $res = $mdb2->query("SELECT name FROM Track WHERE artist_name = 
"
                        . $mdb2->quote($this->name, "text"));
                while($row = $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
                        $tracks[] = new Track($row["name"], $this->name);

Modified: branches/stable/nixtape/data/Server.php
===================================================================
--- branches/stable/nixtape/data/Server.php     2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/nixtape/data/Server.php     2009-05-10 03:14:19 UTC (rev 
1448)
@@ -198,8 +198,8 @@
                                        LEFT OUTER JOIN ClientCodes
                                                ON 
Scrobble_Sessions.client=ClientCodes.code
                                        LEFT OUTER JOIN Track t
-                                               ON lower(n.artist) = 
lower(t.artist)
-                                               AND lower(n.album) = 
lower(t.album)
+                                               ON lower(n.artist) = 
lower(t.artist_name)
+                                               AND lower(n.album) = 
lower(t.album_name)
                                                AND lower(n.track) = 
lower(t.name)
                                        WHERE lower(username) = " . 
$mdb2->quote(strtolower($username), "text") . "
                                        ORDER BY t.streamable DESC, n.expires 
DESC LIMIT " . $mdb2->quote($number, "integer"));
@@ -221,8 +221,8 @@
                                        LEFT OUTER JOIN ClientCodes
                                                ON 
Scrobble_Sessions.client=ClientCodes.code
                                        LEFT OUTER JOIN Track t
-                                               ON lower(n.artist) = 
lower(t.artist)
-                                               AND lower(n.album) = 
lower(t.album)
+                                               ON lower(n.artist) = 
lower(t.artist_name)
+                                               AND lower(n.album) = 
lower(t.album_name)
                                                AND lower(n.track) = 
lower(t.name)
                                        ORDER BY t.streamable DESC, n.expires 
DESC LIMIT " . $mdb2->quote($number, "integer"));
                }

Modified: branches/stable/nixtape/data/Track.php
===================================================================
--- branches/stable/nixtape/data/Track.php      2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/nixtape/data/Track.php      2009-05-10 03:14:19 UTC (rev 
1448)
@@ -46,17 +46,17 @@
         */
        function __construct($name, $artist) {
                global $mdb2;
-               $res = $mdb2->query("SELECT name, artist, album, duration, 
streamable, license, downloadurl, streamurl, mbid FROM Track WHERE "
+               $res = $mdb2->query("SELECT name, artist_name, album_name, 
duration, streamable, license, downloadurl, streamurl, mbid FROM Track WHERE "
                        . "name = " . $mdb2->quote($name, "text") . " AND "
-                       . "artist = " . $mdb2->quote($artist, "text") . " AND 
album IS NOT NULL");
+                       . "artist_name = " . $mdb2->quote($artist, "text"));
                if(!$res->numRows()) {
                        $this->name = "No such track: " . $name;
                } else {
                        $row = sanitize($res->fetchRow(MDB2_FETCHMODE_ASSOC));
                        $this->name = $row["name"];
                        $this->mbid = $row["mbid"];
-                       $this->artist_name = $row["artist"];
-                       $this->album_name = $row["album"];
+                       $this->artist_name = $row["artist_name"];
+                       $this->album_name = $row["album_name"];
                        $this->duration = $row["duration"];
                        $this->streamable = $row["streamable"];
                        $this->license = simplify_license($row["license"]);

Modified: branches/stable/nixtape/radio/xspf.php
===================================================================
--- branches/stable/nixtape/radio/xspf.php      2009-05-10 03:10:42 UTC (rev 
1447)
+++ branches/stable/nixtape/radio/xspf.php      2009-05-10 03:14:19 UTC (rev 
1448)
@@ -44,10 +44,10 @@
 
 if(ereg("l(ast|ibre)fm://globaltags/(.*)", $url, $regs)) {
        $tag = $regs[2];
-       $res = $mdb2->query("SELECT Track.name, Track.artist, Track.album FROM 
Track INNER JOIN Tags ON Track.name=Tags.track AND Track.artist=Tags.artist AND 
Track.album=Tags.album WHERE streamurl<>'' AND streamable=1 AND lower(tag) = " 
. $mdb2->quote(strtolower($tag), "text"));
+       $res = $mdb2->query("SELECT Track.name, Track.artist_name, 
Track.album_name FROM Track INNER JOIN Tags ON Track.name=Tags.track AND 
Track.artist_name=Tags.artist AND Track.album_name=Tags.album WHERE 
streamurl<>'' AND streamable=1 AND lower(tag) = " . 
$mdb2->quote(mb_strtolower($tag, "UTF-8"), "text"));
 } elseif(ereg("l(ast|ibre)fm://artist/(.*)/similarartists", $url, $regs)) {
        $artist = $regs[2];
-       $res = $mdb2->query("SELECT name, artist, album FROM Track WHERE 
streamurl<>'' AND streamable=1 AND lower(artist) = " . 
$mdb2->quote(strtolower($artist), "text"));
+       $res = $mdb2->query("SELECT name, artist_name, album_name FROM Track 
WHERE streamurl<>'' AND streamable=1 AND lower(artist_name) = " . 
$mdb2->quote(mb_strtolower($artist, "UTF-8"), "text"));
 } else {
        die("FAILED\n"); // this should return a blank dummy playlist instead
 }
@@ -70,9 +70,9 @@
        $res->seek($tr[$i]);
        $row = $res->fetchRow(MDB2_FETCHMODE_ASSOC);
 
-       $track = new Track($row["name"], $row["artist"]);
-       $album = new Album($row["album"], $row["artist"]);
-       $artist = new Artist($row["artist"]);
+       $track = new Track($row["name"], $row["artist_name"]);
+       $album = new Album($row["album_name"], $row["artist_name"]);
+       $artist = new Artist($row["artist_name"]);
 
        if($track->duration == 0) {
                $duration = 180000;

Modified: branches/stable/nixtape/track.php
===================================================================
--- branches/stable/nixtape/track.php   2009-05-10 03:10:42 UTC (rev 1447)
+++ branches/stable/nixtape/track.php   2009-05-10 03:14:19 UTC (rev 1448)
@@ -38,7 +38,7 @@
         $smarty->assign('tagcloud', $aTagCloud);
 }
 
-$res = $mdb2->query("SELECT * FROM Track WHERE lower(artist) = " . 
$mdb2->quote(strtolower($track->artist_name),"text") . " AND lower(name) = " . 
$mdb2->quote(strtolower($track->name),"text"));
+$res = $mdb2->query("SELECT * FROM Track WHERE lower(artist_name) = " . 
$mdb2->quote(mb_strtolower($track->artist_name, "UTF-8"),"text") . " AND 
lower(name) = " . $mdb2->quote(mb_strtolower($track->name, "UTF-8"),"text"));
 
 $otheralbums = "";
 





reply via email to

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