mirror of
https://github.com/Yetangitu/ampache
synced 2025-10-05 19:41:55 +02:00
fixed issue with audioscrobbler class
This commit is contained in:
parent
3af41d1ac3
commit
708bb80c7a
1 changed files with 39 additions and 21 deletions
|
@ -1,7 +1,7 @@
|
|||
diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache.dev/lib/class/audioscrobbler.class.php
|
||||
--- ampache.ref/lib/class/audioscrobbler.class.php 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ ampache.dev/lib/class/audioscrobbler.class.php 2006-11-26 14:01:23.000000000 -0800
|
||||
@@ -0,0 +1,210 @@
|
||||
diff -Nuar --exclude=.svn trunk/lib/class/audioscrobbler.class.php ampache/lib/class/audioscrobbler.class.php
|
||||
--- trunk/lib/class/audioscrobbler.class.php 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ ampache/lib/class/audioscrobbler.class.php 2006-12-06 00:24:18.000000000 -0800
|
||||
@@ -0,0 +1,212 @@
|
||||
+<?php
|
||||
+/*
|
||||
+
|
||||
|
@ -78,7 +78,10 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache
|
|||
+ }
|
||||
+
|
||||
+ $username = rawurlencode($this->username);
|
||||
+ fwrite($as_socket, "GET /?hs=true&p=1.1&c=m3a&v=0.1&u=".$username." HTTP/1.1\r\n");
|
||||
+
|
||||
+ $get_string = "GET /?hs=true&p=1.1&c=m3a&v=0.1&u=$username HTTP/1.1\r\n";
|
||||
+
|
||||
+ fwrite($as_socket, $get_string);
|
||||
+ fwrite($as_socket, "Host: post.audioscrobbler.com\r\n");
|
||||
+ fwrite($as_socket, "Accept: */*\r\n\r\n");
|
||||
+
|
||||
|
@ -87,7 +90,6 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache
|
|||
+ $buffer .= fread($as_socket, 8192);
|
||||
+ }
|
||||
+ fclose($as_socket);
|
||||
+
|
||||
+ $split_response = preg_split("/\r\n\r\n/", $buffer);
|
||||
+ if(!isset($split_response[1])) {
|
||||
+ $this->error_msg = 'Did not receive a valid response';
|
||||
|
@ -108,7 +110,7 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache
|
|||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ if(preg_match('/http:\/\/(.*):(\d+)(.*)/', $response[2], $matches)) {
|
||||
+ if(preg_match('/http:\/\/(.*):(\d+)(.*)/', $response[3], $matches)) {
|
||||
+ $this->submit_host = $matches[1];
|
||||
+ $this->submit_port = $matches[2];
|
||||
+ $this->submit_url = $matches[3];
|
||||
|
@ -117,7 +119,7 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache
|
|||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ $this->challenge = $response[1];
|
||||
+ $this->challenge = $response[2];
|
||||
+ return true;
|
||||
+
|
||||
+ } // handshake
|
||||
|
@ -212,10 +214,19 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/audioscrobbler.class.php ampache
|
|||
+
|
||||
+}
|
||||
+?>
|
||||
diff -Naur --exclude=.svn ampache.ref/lib/class/user.class.php ampache.dev/lib/class/user.class.php
|
||||
--- ampache.ref/lib/class/user.class.php 2006-11-26 13:47:45.000000000 -0800
|
||||
+++ ampache.dev/lib/class/user.class.php 2006-11-26 14:01:51.000000000 -0800
|
||||
@@ -434,6 +434,20 @@
|
||||
diff -Nuar --exclude=.svn trunk/lib/class/user.class.php ampache/lib/class/user.class.php
|
||||
--- trunk/lib/class/user.class.php 2006-12-06 00:31:03.000000000 -0800
|
||||
+++ ampache/lib/class/user.class.php 2006-12-05 23:32:24.000000000 -0800
|
||||
@@ -433,7 +433,7 @@
|
||||
$song_info = new Song($song_id);
|
||||
//FIXME:: User uid reference
|
||||
$user = $this->uid;
|
||||
-
|
||||
+
|
||||
if (!$song_info->file) { return false; }
|
||||
|
||||
$stats = new Stats();
|
||||
@@ -442,6 +442,27 @@
|
||||
$stats->insert('artist',$song_info->artist,$user);
|
||||
$stats->insert('genre',$song_info->genre,$user);
|
||||
|
||||
|
@ -225,21 +236,28 @@ diff -Naur --exclude=.svn ampache.ref/lib/class/user.class.php ampache.dev/lib/c
|
|||
+ $lastfm = new scrobbler($this->prefs['lastfm_user'],$this->prefs['lastfm_pass']);
|
||||
+ /* Attempt handshake */
|
||||
+ if ($lastfm->handshake()) {
|
||||
+ $lastfm->queue_track($song->f_artist_full,$song->f_album_full,$song->title,time(),$song->time);
|
||||
+ $lastfm->submit_tracks();
|
||||
+ if (!$lastfm->queue_track($song_info->f_artist_full,$song_info->f_album_full,$song_info->title,time(),$song_info->time)) {
|
||||
+ debug_event('LastFM','Error: Queue Failed' . $lastfm->error_msg,'3');
|
||||
+ }
|
||||
+ if (!$lastfm->submit_tracks()) {
|
||||
+ debug_event('LastFM','Error Submit Failed' . $lastfm->error_msg,'3');
|
||||
+ }
|
||||
+ } // if handshake
|
||||
+ else {
|
||||
+ debug_event('plugins','Error: Handshake failed with LastFM','3');
|
||||
+ debug_event('LastFM','Error: Handshake failed with LastFM' . $lastfm->error_msg,'3');
|
||||
+ }
|
||||
+ } // record to LastFM
|
||||
+ else {
|
||||
+ debug_event('plugins','Error: No Prefs','3');
|
||||
+ }
|
||||
+
|
||||
} // update_stats
|
||||
|
||||
/**
|
||||
diff -Naur --exclude=.svn ampache.ref/lib/init.php ampache.dev/lib/init.php
|
||||
--- ampache.ref/lib/init.php 2006-11-26 13:47:45.000000000 -0800
|
||||
+++ ampache.dev/lib/init.php 2006-11-26 14:02:14.000000000 -0800
|
||||
@@ -185,6 +185,8 @@
|
||||
diff -Nuar --exclude=.svn trunk/lib/init.php ampache/lib/init.php
|
||||
--- trunk/lib/init.php 2006-12-06 00:31:03.000000000 -0800
|
||||
+++ ampache/lib/init.php 2006-12-05 23:32:24.000000000 -0800
|
||||
@@ -190,6 +190,8 @@
|
||||
require_once(conf('prefix') . '/lib/class/error.class.php');
|
||||
require_once(conf('prefix') . '/lib/class/genre.class.php');
|
||||
require_once(conf('prefix') . '/lib/class/flag.class.php');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue