Compare commits
	
		
			4 Commits
		
	
	
		
			5096cd88e5
			...
			3a3bc000fd
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3a3bc000fd | |||
| 1b09cd404a | |||
| b7d0d79ec5 | |||
| 2b8e992742 | 
							
								
								
									
										4
									
								
								index.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										4
									
								
								index.php
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| 
						 | 
				
			
			@ -44,7 +44,7 @@ $queues = Queue::getList();
 | 
			
		|||
    <div id='playing'>
 | 
			
		||||
      <div id='playing_contents' class='playing_contents'></div>
 | 
			
		||||
      <div id='playing_buttons' class='playing_contents'>
 | 
			
		||||
        <p><input type='button' id='skipsong_playing_btn' value='Skip Song'></p>
 | 
			
		||||
        <p><input type='button' class='skipsong_btn' id='skipsong_playing_btn' value='Skip Song'></p>
 | 
			
		||||
        <p><input type='button' id='mute_playing_btn' value='Mute'></p>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +56,7 @@ $queues = Queue::getList();
 | 
			
		|||
        <div id='volume_slider'></div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <p><input type='button' id='mute_btn' value='Mute'></p>
 | 
			
		||||
      <p><input type='button' id='skipsong_btn' value='Skip Song'></p>
 | 
			
		||||
      <p><input type='button' class='skipsong_btn' id='skipsong_btn' value='Skip Song'></p>
 | 
			
		||||
      <p><input type='button' id='dropsong_btn' value='Drop Song'></p>
 | 
			
		||||
      <p><input type='button' id='emptyjukebox_btn' value='Empty Jukebox'></p>
 | 
			
		||||
      <p><input type='button' id='christmas_btn' value='Christmas: Inactive' class='christmas_btn'>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								minimal.js
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								minimal.js
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -21,8 +21,9 @@ $(document).ready(function() {
 | 
			
		|||
   });
 | 
			
		||||
   $('#max_btn').click(function() { setSliderVolume(maxVolume); });
 | 
			
		||||
   $('#min_btn').click(function() { setSliderVolume(minVolume); });
 | 
			
		||||
   $('#skipsong_btn').click(function() { skipSong($(this)); });
 | 
			
		||||
   $('#skipsong_playing_btn').click(function() { skipSong($(this)); });
 | 
			
		||||
   //$('#skipsong_btn').click(function() { skipSong($(this)); });
 | 
			
		||||
   //$('#skipsong_playing_btn').click(function() { skipSong($(this)); });
 | 
			
		||||
   $('.skipsong_btn').click(function() { skipSong($(this)); });
 | 
			
		||||
   $('#dropsong_btn').click(function() { dropSong($(this)); });
 | 
			
		||||
   $('#mute_btn').click(function() { toggleMute($(this)); });
 | 
			
		||||
   $('#mute_playing_btn').click(function() { toggleMute($(this)); });
 | 
			
		||||
| 
						 | 
				
			
			@ -169,6 +170,9 @@ function toggleChristmas(callingElement) {
 | 
			
		|||
      success: function(data, stat, jqo) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
         updateChristmasButton(data.christmas);
 | 
			
		||||
      },
 | 
			
		||||
      error: function(jqo, stat, err) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
      }
 | 
			
		||||
   });
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -341,20 +345,26 @@ function toggleMute(callingElement, show) {
 | 
			
		|||
      success: function(data, stat, jqo) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
         updateMuteButton(data.muted);
 | 
			
		||||
      },
 | 
			
		||||
      error: function(jqo, stat, err) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
      }
 | 
			
		||||
   });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function skipSong (callingElement) {
 | 
			
		||||
   callingElement.blur();
 | 
			
		||||
   callingElement.addClass("buttonactive");
 | 
			
		||||
   if ( gettingJukeboxList || gettingSongList ) return false;
 | 
			
		||||
   callingElement.addClass("buttonactive");
 | 
			
		||||
   $.ajax({
 | 
			
		||||
      url: 'ajax_skipsong.php',
 | 
			
		||||
      async: false,
 | 
			
		||||
      success: function (data, stat, jqo) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
         getSongList();
 | 
			
		||||
      },
 | 
			
		||||
      error: function(jqo, stat, err) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
      }
 | 
			
		||||
   });
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -368,6 +378,9 @@ function emptyJukebox (callingElement) {
 | 
			
		|||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
         getJukeboxList();
 | 
			
		||||
         //skipSong();
 | 
			
		||||
      },
 | 
			
		||||
      error: function(jqo, stat, err) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
      }
 | 
			
		||||
   });
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -382,6 +395,9 @@ function dropSong (callingElement) {
 | 
			
		|||
      success: function (data, stat, jqo) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
         getSongList();
 | 
			
		||||
      },
 | 
			
		||||
      error: function(jqo, stat, err) {
 | 
			
		||||
         callingElement.removeClass("buttonactive");
 | 
			
		||||
      }
 | 
			
		||||
   });
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										89
									
								
								scripts/homeaudio_utils.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								scripts/homeaudio_utils.php
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,89 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once 'getid3/getid3.php';
 | 
			
		||||
 | 
			
		||||
$ini = parse_ini_file("/etc/homeaudio.ini");
 | 
			
		||||
 | 
			
		||||
define("MP3ROOTDIR", $ini['MP3DIR']);
 | 
			
		||||
define("ARTDIR", $ini['ARTDIR']);
 | 
			
		||||
define("SONGSTABLE", "songs");
 | 
			
		||||
 | 
			
		||||
$globaldbh = new PDO("mysql:host={$ini['DBHOST']};dbname={$ini['DBNAME']}", $ini['DBUSER'], $ini['DBPASS']);
 | 
			
		||||
$ignoredirs = array();
 | 
			
		||||
$ignoredirs[] = "Album Playlists";
 | 
			
		||||
$ignoredirs[] = "Alphabetical";
 | 
			
		||||
$ignoredirs[] = "Incoming2";
 | 
			
		||||
$ignoredirs[] = "Recent";
 | 
			
		||||
$ignoredirs[] = "Recent (1-2 Months)";
 | 
			
		||||
$ignoredirs[] = "Recent (2-3 Months)";
 | 
			
		||||
$ignoredirs[] = "playlists";
 | 
			
		||||
 | 
			
		||||
$extbymimetypes = array(
 | 
			
		||||
   'image/jpg' => 'jpg',
 | 
			
		||||
   'image/jpeg' => 'jpg',
 | 
			
		||||
   'image/png' => 'png',
 | 
			
		||||
   'image/gif' => 'gif'
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
function search() {
 | 
			
		||||
   global $globaldbh, $argv;
 | 
			
		||||
 | 
			
		||||
   $target = $argv[2];
 | 
			
		||||
   switch ($target) {
 | 
			
		||||
      case "song":
 | 
			
		||||
      case "songs":
 | 
			
		||||
         $terms = array();
 | 
			
		||||
         for ( $i=3; $i<count($argv); $i++ ) {
 | 
			
		||||
            if ( strlen($argv[$i]) > 2 ) $terms[] = $argv[$i];
 | 
			
		||||
         }
 | 
			
		||||
         if ( count($terms) == 0 ) {
 | 
			
		||||
            echo "Searching requires search terms as command line parameters\n\n";
 | 
			
		||||
            exit();
 | 
			
		||||
         }
 | 
			
		||||
         $query = "SELECT id, path, song, artist, album, title FROM songs WHERE (PATH LIKE :term1";
 | 
			
		||||
         for ( $i=1; $i<count($terms); $i++ ) {
 | 
			
		||||
            $query .= " AND path LIKE :term" . ($i+1);
 | 
			
		||||
         }
 | 
			
		||||
         $query .= ") OR (song LIKE :term1";
 | 
			
		||||
         for ( $i=1; $i<count($terms); $i++ ) {
 | 
			
		||||
            $query .= " AND song LIKE :term" . ($i+1);
 | 
			
		||||
         }
 | 
			
		||||
         $query .= ") OR (title LIKE :term1";
 | 
			
		||||
         for ( $i=1; $i<count($terms); $i++ ) {
 | 
			
		||||
            $query .= " AND title LIKE :term" . ($i+1);
 | 
			
		||||
         }
 | 
			
		||||
         $query .= ") OR (artist LIKE :term1";
 | 
			
		||||
         for ( $i=1; $i<count($terms); $i++ ) {
 | 
			
		||||
            $query .= " AND artist LIKE :term" . ($i+1);
 | 
			
		||||
         }
 | 
			
		||||
         $query .= ") ORDER BY path, song";
 | 
			
		||||
         $sth = $globaldbh->prepare($query);
 | 
			
		||||
         for ( $i=0; $i<count($terms); $i++ ) {
 | 
			
		||||
            $sth->bindValue(":term".($i+1), "%".$terms[$i]."%", PDO::PARAM_STR);
 | 
			
		||||
         }
 | 
			
		||||
         $sth->execute();
 | 
			
		||||
         if ( $sth->rowCount() > 0 ) {
 | 
			
		||||
            echo " ID    | Path                                   | Song                         | Title                     | Artist\n";
 | 
			
		||||
            echo "-------|----------------------------------------|------------------------------|---------------------------|----------------------\n";
 | 
			
		||||
         }
 | 
			
		||||
         while ( $row = $sth->fetch(PDO::FETCH_ASSOC) ) {
 | 
			
		||||
            echo str_pad(strval($row['id']), 7) . "|";
 | 
			
		||||
            echo " " . str_pad(substr($row['path'], 0, 37), 39) . "|";
 | 
			
		||||
            echo " " . str_pad(substr($row['song'], 0, 27), 29) . "|";
 | 
			
		||||
            echo " " . str_pad(substr($row['title'], 0, 24), 26) . "|";
 | 
			
		||||
            echo " " . substr($row['artist'], 0, 25) . "\n";
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
switch ($argv[1]) {
 | 
			
		||||
   case "search":
 | 
			
		||||
      search();
 | 
			
		||||
      break;
 | 
			
		||||
   default:
 | 
			
		||||
      echo "Nothing to do\n";
 | 
			
		||||
}
 | 
			
		||||
echo "\n";
 | 
			
		||||
 | 
			
		||||
// vim: ts=3:sw=3
 | 
			
		||||
							
								
								
									
										3
									
								
								scripts/hu
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								scripts/hu
									
									
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
php homeaudio_utils.php $1 $2 $3 $4 $5 $6
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user