summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-03-20 01:55:03 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-03-20 01:55:03 +0000
commiteda7fd335cc4bea64a637c5d3bcdd1d1f3fd0d94 (patch)
treee18c1c233bf14c2a9c57640c4e694d9365f84473
parentb99e8307ac784e046d21d346c845f896a5b4317d (diff)
downloadampache-eda7fd335cc4bea64a637c5d3bcdd1d1f3fd0d94.tar.gz
ampache-eda7fd335cc4bea64a637c5d3bcdd1d1f3fd0d94.tar.bz2
ampache-eda7fd335cc4bea64a637c5d3bcdd1d1f3fd0d94.zip
catalog clean up and admin index changes
-rw-r--r--admin/catalog.php401
-rw-r--r--admin/index.php68
-rw-r--r--bin/catalog_update.php.inc4
-rwxr-xr-xdocs/CHANGELOG2
-rw-r--r--lib/class/catalog.class.php99
-rw-r--r--lib/general.js4
-rw-r--r--lib/log.lib.php3
-rw-r--r--modules/init.php2
-rw-r--r--templates/header.inc2
-rw-r--r--templates/show_admin_catalog.inc.php54
-rw-r--r--templates/show_admin_index.inc46
-rw-r--r--templates/show_admin_user.inc.php27
12 files changed, 362 insertions, 350 deletions
diff --git a/admin/catalog.php b/admin/catalog.php
index 7716a0b4..c6d7f322 100644
--- a/admin/catalog.php
+++ b/admin/catalog.php
@@ -1,7 +1,7 @@
<?php
/*
- Copyright (c) 2001 - 2005 Ampache.org
+ Copyright (c) 2001 - 2006 Ampache.org
All rights reserved.
This program is free software; you can redistribute it and/or
@@ -28,7 +28,7 @@
require('../modules/init.php');
-if (!$user->has_access(100)) {
+if (!$GLOBALS['user']->has_access(100)) {
access_denied();
}
@@ -40,244 +40,229 @@ show_template('header');
/* Big switch statement to handle various actions */
switch ($_REQUEST['action']) {
- case 'fixed':
- delete_flagged($flag);
- $type = 'show_flagged_songs';
- include(conf('prefix') . '/templates/flag.inc');
+ case 'fixed':
+ delete_flagged($flag);
+ $type = 'show_flagged_songs';
+ include(conf('prefix') . '/templates/flag.inc');
break;
-
- case _("Add to Catalog(s)"):
- if (conf('demo_mode')) { break; }
- if ($_REQUEST['catalogs'] ) {
- foreach ($_REQUEST['catalogs'] as $catalog_id) {
- $catalog = new Catalog($catalog_id);
- $catalog->add_to_catalog($_REQUEST['update_type']);
- }
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ case _("Add to Catalog(s)"):
+ case 'add_to_catalog':
+ if (conf('demo_mode')) { break; }
+ if ($_REQUEST['catalogs'] ) {
+ foreach ($_REQUEST['catalogs'] as $catalog_id) {
+ $catalog = new Catalog($catalog_id);
+ $catalog->add_to_catalog($_REQUEST['update_type']);
+ }
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
-
- case _("Add to all Catalogs"):
- if (conf('demo_mode')) { break; }
+ case _("Add to all Catalogs"):
+ if (conf('demo_mode')) { break; }
- /* If they are using the file MPD type, and it's currently enabled lets do a DBRefresh for em */
- if (conf('mpd_method') == 'file' AND conf('allow_mpd_playback')) {
- // Connect to the MPD
- if (!class_exists('mpd')) { require_once(conf('prefix') . "/modules/mpd/mpd.class.php"); }
- if (!is_object($myMpd)) { $myMpd = new mpd(conf('mpd_host'),conf('mpd_port')); }
- if (!$myMpd->connected) {
- echo "<font class=\"error\">" . _("Error Connecting") . ": " . $myMpd->errStr . "</font>\n";
- log_event($_SESSION['userdata']['username'],' connection_failed ',"Error: Unable able to connect to MPD, " . $myMpd->errStr);
- } // MPD connect failed
-
+ /* If they are using the file MPD type, and it's currently enabled lets do a DBRefresh for em */
+ if (conf('mpd_method') == 'file' AND conf('allow_mpd_playback')) {
+ // Connect to the MPD
+ if (!class_exists('mpd')) { require_once(conf('prefix') . "/modules/mpd/mpd.class.php"); }
+ if (!is_object($myMpd)) { $myMpd = new mpd(conf('mpd_host'),conf('mpd_port')); }
+ if (!$myMpd->connected) {
+ echo "<font class=\"error\">" . _("Error Connecting") . ": " . $myMpd->errStr . "</font>\n";
+ log_event($_SESSION['userdata']['username'],' connection_failed ',"Error: Unable able to connect to MPD, " . $myMpd->errStr);
+ } // MPD connect failed
+
$myMpd->DBRefresh();
- } // if MPD enabled
- $catalogs = $catalog->get_catalogs();
+ } // if MPD enabled
+ $catalogs = $catalog->get_catalogs();
- foreach ($catalogs as $data) {
- $data->add_to_catalog($_REQUEST['update_type']);
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ foreach ($catalogs as $data) {
+ $data->add_to_catalog($_REQUEST['update_type']);
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
-
- case _("Update Catalog(s)"):
- if (conf('demo_mode')) { break; }
- if (isset($_REQUEST['catalogs'])) {
- foreach ($_REQUEST['catalogs'] as $catalog_id) {
- $catalog = new Catalog($catalog_id);
- $catalog->verify_catalog($catalog_id->id,$_REQUEST['update_type']);
+ case _("Update Catalog(s)"):
+ case 'update_catalog':
+ /* If they are in demo mode stop here */
+ if (conf('demo_mode')) { break; }
+
+ if (isset($_REQUEST['catalogs'])) {
+ foreach ($_REQUEST['catalogs'] as $catalog_id) {
+ $catalog = new Catalog($catalog_id);
+ $catalog->verify_catalog($catalog_id->id,$_REQUEST['update_type']);
+ }
}
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ include(conf('prefix') . '/templates/catalog.inc');
break;
+ case _("Update All Catalogs"):
+ if (conf('demo_mode')) { break; }
+ $catalogs = $catalog->get_catalogs();
- case _("Update All Catalogs"):
- if (conf('demo_mode')) { break; }
- $catalogs = $catalog->get_catalogs();
-
- foreach ($catalogs as $data) {
- $data->verify_catalog($data->id,$_REQUEST['update_type']);
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ foreach ($catalogs as $data) {
+ $data->verify_catalog($data->id,$_REQUEST['update_type']);
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
+ case 'full_service':
+ /* Make sure they aren't in demo mode */
+ if (conf('demo_mode')) { break; }
- case 'delete_catalog':
- if (conf('demo_mode')) { break; }
- if ($_REQUEST['confirm'] === 'Yes') {
- $catalog = new Catalog($_REQUEST['catalog_id']);
- $catalog->delete_catalog();
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ /* This runs the clean/verify/add in that order */
+ foreach ($_REQUEST['catalogs'] as $catalog_id) {
+ $catalog = new Catalog($catalog_id);
+ $catalog->clean_catalog();
+ $catalog->count = 0;
+ $catalog->update_catalog();
+ $catalog->count = 0;
+ $catalog->add_to_catalog();
+ }
break;
-
- case 'remove_disabled':
- if (conf('demo_mode')) { break; }
- $song = $_REQUEST['song'];
- if (count($song)) {
- $catalog->remove_songs($song);
- echo "<p align=\"center\">Songs Removed... </p>";
- }
- else {
- echo "<p align=\"center\">No Songs Removed... </p>";
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ case 'delete_catalog':
+ if (conf('demo_mode')) { break; }
+ if ($_REQUEST['confirm'] === 'Yes') {
+ $catalog = new Catalog($_REQUEST['catalog_id']);
+ $catalog->delete_catalog();
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
-
- case _("Clean Catalog(s)"):
- if (conf('demo_mode')) { break; }
-
- // Make sure they checked something
- if (isset($_REQUEST['catalogs'])) {
- foreach($_REQUEST['catalogs'] as $catalog_id) {
- $catalog = new Catalog($catalog_id);
- $catalog->clean_catalog(0,$_REQUEST['update_type']);
- } // end foreach catalogs
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ case 'remove_disabled':
+ if (conf('demo_mode')) { break; }
+ $song = $_REQUEST['song'];
+ if (count($song)) {
+ $catalog->remove_songs($song);
+ echo "<p align=\"center\">Songs Removed... </p>";
+ }
+ else {
+ echo "<p align=\"center\">No Songs Removed... </p>";
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
- case 'update_catalog_settings':
- if (conf('demo_mode')) { break; }
- $id = strip_tags($_REQUEST['catalog_id']);
- $name = strip_tags($_REQUEST['name']);
- $id3cmd = strip_tags($_REQUEST['id3_set_command']);
- $rename = strip_tags($_REQUEST['rename_pattern']);
- $sort = strip_tags($_REQUEST['sort_pattern']);
- /* Setup SQL */
- $sql = "UPDATE catalog SET " .
- " name = '$name'," .
- " id3_set_command = '$id3cmd'," .
- " rename_pattern = '$rename'," .
- " sort_pattern = '$sort'" .
- " WHERE id = '$id'";
- $result = mysql_query($sql, dbh());
- include(conf('prefix') . '/templates/catalog.inc');
+ case _('Clean Catalog(s)'):
+ case 'clean_catalog':
+ /* If they are in demo mode stop them here */
+ if (conf('demo_mode')) { break; }
+
+ // Make sure they checked something
+ if (isset($_REQUEST['catalogs'])) {
+ foreach($_REQUEST['catalogs'] as $catalog_id) {
+ $catalog = new Catalog($catalog_id);
+ $catalog->clean_catalog(0,1);
+ } // end foreach catalogs
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
-
- case _("Clean All Catalogs"):
- if (conf('demo_mode')) { break; }
- $catalogs = $catalog->get_catalogs();
- $dead_files = array();
-
- foreach ($catalogs as $catalog) {
- $catalog->clean_catalog(0,$_REQUEST['update_type']);
- }
-
- include(conf('prefix') . '/templates/catalog.inc');
+ case 'update_catalog_settings':
+ if (conf('demo_mode')) { break; }
+ $id = strip_tags($_REQUEST['catalog_id']);
+ $name = strip_tags($_REQUEST['name']);
+ $id3cmd = strip_tags($_REQUEST['id3_set_command']);
+ $rename = strip_tags($_REQUEST['rename_pattern']);
+ $sort = strip_tags($_REQUEST['sort_pattern']);
+ /* Setup SQL */
+ $sql = "UPDATE catalog SET " .
+ " name = '$name'," .
+ " id3_set_command = '$id3cmd'," .
+ " rename_pattern = '$rename'," .
+ " sort_pattern = '$sort'" .
+ " WHERE id = '$id'";
+ $result = mysql_query($sql, dbh());
+ include(conf('prefix') . '/templates/catalog.inc');
break;
- case 'add_catalog':
- if (conf('demo_mode')) { break; }
- if ($_REQUEST['path'] AND $_REQUEST['name']) {
- /* Throw all of the album art types into an array */
- $art = array('id3'=>$_REQUEST['art_id3v2'],'amazon'=>$_REQUEST['art_amazon'],'folder'=>$_REQUEST['art_folder']);
- /* Create the Catalog */
- $catalog->new_catalog($_REQUEST['path'],
- $_REQUEST['name'],
- $_REQUEST['id3set_command'],
- $_REQUEST['rename_pattern'],
- $_REQUEST['sort_pattern'],
- $_REQUEST['type'],
- $_REQUEST['gather_art'],
- $_REQUEST['parse_m3u'],
- $art);
+ case _("Clean All Catalogs"):
+ if (conf('demo_mode')) { break; }
+ $catalogs = $catalog->get_catalogs();
+ $dead_files = array();
+
+ foreach ($catalogs as $catalog) {
+ $catalog->clean_catalog(0,$_REQUEST['update_type']);
+ }
+
include(conf('prefix') . '/templates/catalog.inc');
- }
- else {
- $error = "Please complete the form.";
- include(conf('prefix') . '/templates/add_catalog.inc');
- }
break;
-
- case 'really_clear_stats':
-
- if (conf('demo_mode')) { break; }
- if ($_REQUEST['confirm'] == 'Yes') {
- clear_catalog_stats();
- }
- include(conf('prefix') . '/templates/catalog.inc');
+ case 'add_catalog':
+ if (conf('demo_mode')) { break; }
+ if ($_REQUEST['path'] AND $_REQUEST['name']) {
+ /* Throw all of the album art types into an array */
+ $art = array('id3'=>$_REQUEST['art_id3v2'],'amazon'=>$_REQUEST['art_amazon'],'folder'=>$_REQUEST['art_folder']);
+ /* Create the Catalog */
+ $catalog->new_catalog($_REQUEST['path'],
+ $_REQUEST['name'],
+ $_REQUEST['id3set_command'],
+ $_REQUEST['rename_pattern'],
+ $_REQUEST['sort_pattern'],
+ $_REQUEST['type'],
+ $_REQUEST['gather_art'],
+ $_REQUEST['parse_m3u'],
+ $art);
+ include(conf('prefix') . '/templates/catalog.inc');
+ }
+ else {
+ $error = "Please complete the form.";
+ include(conf('prefix') . '/templates/add_catalog.inc');
+ }
break;
-
- case 'show_add_catalog':
- include(conf('prefix') . '/templates/add_catalog.inc');
+ case 'really_clear_stats':
+ if (conf('demo_mode')) { break; }
+ if ($_REQUEST['confirm'] == 'Yes') {
+ clear_catalog_stats();
+ }
+ include(conf('prefix') . '/templates/catalog.inc');
break;
-
- case 'clear_now_playing':
- if (conf('demo_mode')) { break; }
- clear_now_playing();
- show_confirmation(_("Now Playing Cleared"),_("All now playing data has been cleared"),"/admin/catalog.php");
-
+ case 'show_add_catalog':
+ include(conf('prefix') . '/templates/add_catalog.inc');
break;
- case 'Clear Catalog':
- if (conf('demo_mode')) { break; }
- show_confirm_action(_("Do you really want to clear your catalog?"),
- "admin/catalog.php", "action=really_clear_catalog");
- print("<hr />\n");
+ case 'clear_now_playing':
+ if (conf('demo_mode')) { break; }
+ clear_now_playing();
+ show_confirmation(_("Now Playing Cleared"),_("All now playing data has been cleared"),"/admin/catalog.php");
break;
-
- case 'clear_stats':
- if (conf('demo_mode')) { break; }
- show_confirm_action(_("Do you really want to clear the statistics for this catalog?"),
- "admin/catalog.php", "action=really_clear_stats");
+ case 'Clear Catalog':
+ if (conf('demo_mode')) { break; }
+ show_confirm_action(_("Do you really want to clear your catalog?"),
+ "admin/catalog.php", "action=really_clear_catalog");
+ print("<hr />\n");
break;
-
- case 'show_disabled':
- if (conf('demo_mode')) { break; }
- $songs = $catalog->get_disabled();
- if (count($songs)) {
- require (conf('prefix') . '/templates/show_disabled_songs.inc');
- }
- else {
- echo "<p class=\"error\" align=\"center\">No Disabled songs found</p>";
- }
+ case 'clear_stats':
+ if (conf('demo_mode')) { break; }
+ show_confirm_action(_("Do you really want to clear the statistics for this catalog?"),
+ "admin/catalog.php", "action=really_clear_stats");
break;
-
- case 'show_delete_catalog':
- if (conf('demo_mode')) { break; }
- show_confirm_action(_("Do you really want to delete this catalog?"),
- "admin/catalog.php",
- "catalog_id=" . $_REQUEST['catalog_id'] . "&amp;action=delete_catalog");
+ case 'show_disabled':
+ if (conf('demo_mode')) { break; }
+ $songs = $catalog->get_disabled();
+ if (count($songs)) {
+ require (conf('prefix') . '/templates/show_disabled_songs.inc');
+ }
+ else {
+ echo "<p class=\"error\" align=\"center\">No Disabled songs found</p>";
+ }
break;
-
- case 'show_flagged_songs':
- if (conf('demo_mode')) { break; }
- $type = $_REQUEST['action'];
- include (conf('prefix') . '/templates/flag.inc');
+ case 'show_delete_catalog':
+ if (conf('demo_mode')) { break; }
+ show_confirm_action(_("Do you really want to delete this catalog?"),
+ "admin/catalog.php",
+ "catalog_id=" . $_REQUEST['catalog_id'] . "&amp;action=delete_catalog");
break;
-
- case 'Update Flags':
- if (conf('demo_mode')) { break; }
- echo "<pre>";
- print_r($_REQUEST);
- echo "</pre>";
+ case 'show_flagged_songs':
+ if (conf('demo_mode')) { break; }
+ $type = $_REQUEST['action'];
+ include (conf('prefix') . '/templates/flag.inc');
break;
-
- case 'show_customize_catalog':
- include(conf('prefix') . '/templates/customize_catalog.inc');
+ case 'show_customize_catalog':
+ include(conf('prefix') . '/templates/customize_catalog.inc');
break;
- case 'gather_album_art':
+ case 'gather_album_art':
+ echo "<b>" . _("Starting Album Art Search") . ". . .</b><br /><br />\n";
+ flush();
- echo "<b>" . _("Starting Album Art Search") . ". . .</b><br /><br />\n";
- flush();
-
- $catalogs = $catalog->get_catalogs();
- foreach ($catalogs as $data) {
- $data->get_album_art();
- }
+ $catalogs = $catalog->get_catalogs();
+ foreach ($catalogs as $data) {
+ $data->get_album_art();
+ }
- echo "<b>" . _("Album Art Search Finished") . ". . .</b><br />\n";
+ echo "<b>" . _("Album Art Search Finished") . ". . .</b><br />\n";
break;
- // (Added by Cucumber 20050216)
- case 'dump_album_art':
- $catalogs = $catalog->get_catalogs();
-
- foreach ($catalogs as $data) {
- $data->dump_album_art();
- }
- break;
-
- default:
- include(conf('prefix') . '/templates/catalog.inc');
-
+ default:
+ include(conf('prefix') . '/templates/catalog.inc');
+ break;
} // end switch
/* Show the Footer */
diff --git a/admin/index.php b/admin/index.php
index dfc682b3..70540c49 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -1,7 +1,7 @@
<?php
/*
- Copyright (c) 2001 - 2005 Ampache.org
+ Copyright (c) 2001 - 2006 Ampache.org
All rights reserved.
This program is free software; you can redistribute it and/or
@@ -20,59 +20,31 @@
*/
-/*!
- @header Admin Index
- Do most of the dirty work of displaying the mp3 catalog
-
-*/
-
-require ("../modules/init.php");
+require ('../modules/init.php');
$action = scrub_in($_REQUEST['action']);
-if (!$user->has_access(100)) {
- header ("Location: " . conf('web_path') . "/index.php?access=denied");
+if (!$GLOBALS['user']->has_access(100)) {
+ access_denied();
exit();
}
-// let's set the preferences here so that they take affect on the fly
-if ( $action == 'Update Preferences' ) {
- update_site_preferences($preferences_id, 'true', $new_m_host, $new_w_host,
- $new_site_title, $new_login_message, $new_session_lifetime, $new_font,
- $new_background_color, $new_primary_color, $new_secondary_color,
- $new_primary_font_color, $new_secondary_font_color,
- $new_error_color, $new_popular_threshold);
- // reload the preferences now
- set_preferences();
-}
-
show_template('header');
-
-if ( $action == 'Update Preferences' ) {
- $action = 'show_preferences';
-}
-elseif ( $action == 'show_update_catalog' ) {
- show_update_catalog();
-}
-elseif ( $action == 'show_file_manager' ) {
- show_file_manager();
-}
-elseif ( $action == 'show_site_preferences' ) {
- $user = new User(0);
- require (conf('prefix') . "/templates/show_preferences.inc");
-}
-elseif ( $action == 'show_preferences' ) {
- $user = new User($_REQUEST['user_id']);
- require (conf('prefix') . "/templates/show_preferences.inc");
-}
-elseif ( $action == 'show_orphaned_files' ) {
- show_orphaned_files();
-}
-else {
- show_clear();
- require (conf('prefix') . "/templates/show_admin_index.inc");
-} // if they didn't pick anything
-
-show_footer();
?>
+<!-- Big Daddy Table -->
+<table>
+<tr>
+ <!-- Needs Attention Cell -->
+ <td rowspan="2" valign="top" width="50%">
+ <?php require (conf('prefix') . '/templates/show_admin_info.inc.php'); ?>
+ </td>
+ <!-- Catalog Cell -->
+ <td width="50%"><?php require (conf('prefix') . '/templates/show_admin_catalog.inc.php'); ?></td>
+</tr>
+<tr>
+ <!-- Users Cell -->
+ <td><?php require (conf('prefix') . '/templates/show_admin_user.inc.php'); ?></td>
+</tr>
+</table>
+<?php show_footer(); ?>
diff --git a/bin/catalog_update.php.inc b/bin/catalog_update.php.inc
index 786aaec2..d03270b9 100644
--- a/bin/catalog_update.php.inc
+++ b/bin/catalog_update.php.inc
@@ -34,12 +34,12 @@ while ($r = mysql_fetch_row($db_results)) {
$catalog = new Catalog($r[0]);
// Clean out dead files
- $catalog->clean_catalog();
+ $catalog->clean_catalog(0,0);
$catalog->count = 0;
// Verify Existing
- $catalog->verify_catalog();
+ $catalog->verify_catalog(0,0,0);
$catalog->count = 0;
diff --git a/docs/CHANGELOG b/docs/CHANGELOG
index e74ab9fe..1dec252c 100755
--- a/docs/CHANGELOG
+++ b/docs/CHANGELOG
@@ -4,6 +4,8 @@
--------------------------------------------------------------------------
v.3.3.2-Beta2
+ - Added dump album art command line script and tweaked catalog
+ build display.
- Tweaked preferences adding tab'd views rather then all on one
page, also added account page back in.
- Fixed popen in downsample, forcing binary mode, so that windows
diff --git a/lib/class/catalog.class.php b/lib/class/catalog.class.php
index 5a229092..fc78971d 100644
--- a/lib/class/catalog.class.php
+++ b/lib/class/catalog.class.php
@@ -266,8 +266,9 @@ class Catalog {
information against the db.
@param $path The root path you want to start grabing files from
@param $gather_type=0 Determins if we need to check the id3 tags of the file or not
+ @param $parse_m3u Tells Ampache to look at m3us
*/
- function add_files($path,$gather_type='',$parse_m3u='') {
+ function add_files($path,$gather_type='',$parse_m3u='',$verbose=1) {
/* Strip existing escape slashes and then add them again
This is done because we keep adding to the dir (slashed) + (non slashed)
and a double addslashes would pooch things
@@ -380,7 +381,9 @@ class Catalog {
/* Stupid little cutesie thing */
$this->count++;
if ( !($this->count%conf('catalog_echo_count')) ) {
- echo _("Added") . " $this->count. . . . <br />\n";
+ echo "<script language=\"JavaScript\">";
+ echo "update_txt('" . $this->count . "','count');";
+ echo "</script>\n";
flush();
} //echos song count
@@ -736,16 +739,17 @@ class Catalog {
/* Fluf */
echo _("Starting Catalog Build") . " [$name]<br />\n";
- flush();
if ($this->catalog_type == 'remote') {
echo _("Running Remote Sync") . ". . .<br /><br />";
- flush();
$this->get_remote_catalog($type=0);
return true;
}
+ echo _('Found') . ": <span id=\"count\">" . _('None') . "</span><br />\n";
+ flush();
+
/* Get the songs and then insert them into the db */
$this->add_files($this->path,$type,$parse_m3u);
@@ -890,29 +894,34 @@ class Catalog {
@discussion this function adds new files to an
existing catalog
*/
- function add_to_catalog($type='') {
+ function add_to_catalog($type='',$verbose=1) {
- echo "\n" . _('Starting New Song Search on') . " <b>[$this->name]</b> " . _('catalog') . "<br /><br />\n";
- flush();
+ if ($verbose) {
+ echo "\n" . _('Starting New Song Search on') . " <b>[$this->name]</b> " . _('catalog') . "<br />\n";
+ }
if ($this->catalog_type == 'remote') {
- echo _('Running Remote Update') . ". . .<br /><br />";
- flush();
+ echo _('Running Remote Update') . ". . .<br />";
$this->get_remote_catalog($type=0);
return true;
}
+
+ echo _('Found') . ": <span id=\"count\">" . _('None') . "</span><br />\n";
+ flush();
/* Set the Start time */
$start_time = time();
/* Get the songs and then insert them into the db */
- $this->add_files($this->path,$type);
+ $this->add_files($this->path,$type,1,$verbose);
foreach ($this->_playlists as $full_file) {
if ($this->import_m3u($full_file)) {
$file = basename($full_file);
- echo "&nbsp;&nbsp;&nbsp;" . _('Added Playlist From') . " $file . . . .<br />\n";
- flush();
+ if ($verbose) {
+ echo "&nbsp;&nbsp;&nbsp;" . _('Added Playlist From') . " $file . . . .<br />\n";
+ flush();
+ }
} // end if import worked
} // end foreach playlist files
@@ -920,8 +929,10 @@ class Catalog {
$current_time = time();
if ($type != 'fast_add') {
- echo "\n<b>" . _('Starting Album Art Search') . ". . .</b><br />\n";
- flush();
+ if ($verbose) {
+ echo "\n<b>" . _('Starting Album Art Search') . ". . .</b><br />\n";
+ flush();
+ }
$this->get_album_art();
}
@@ -1118,17 +1129,19 @@ class Catalog {
@discussion Cleans the Catalog of files that no longer exist grabs from $this->id or $id passed
Doesn't actually delete anything, disables errored files, and returns them in an array
@param $catalog_id=0 Take the ID of the catalog you want to clean
- @param $action=0 Delete/Disable, default is disable
*/
- function clean_catalog($catalog_id=0,$action=0) {
+ function clean_catalog($catalog_id=0,$verbose=1) {
/* Define the Arrays we will need */
$dead_files = array();
if (!$catalog_id) { $catalog_id = $this->id; }
- echo "\nCleaning the <b>[" . $this->name . "]</b> Catalog...<br /><br />\n";
- flush();
+ if ($verbose) {
+ echo "\n" . _('Cleaning the') . " <b>[" . $this->name . "]</b> " . _('Catalog') . "...<br />\n";
+ echo _('Checking') . ": <span id=\"count\"></span>\n<br />";
+ flush();
+ }
/* Get all songs in this catalog */
$sql = "SELECT id,file FROM song WHERE catalog='$catalog_id' AND enabled='1'";
@@ -1142,8 +1155,10 @@ class Catalog {
/* Stupid little cutesie thing */
$this->count++;
- if ( !($this->count%conf('catalog_echo_count')) ) {
- echo _('Checking') . " $this->count. . . . <br />\n";
+ if ( !($this->count%conf('catalog_echo_count')) && $verbose) {
+ echo "<script language=\"JavaScript\">";
+ echo "update_txt('" . $this->count ."','count');";
+ echo "</script>\n";
flush();
} //echos song count
@@ -1154,8 +1169,10 @@ class Catalog {
if (!file_exists($results->file) OR $file_info < 1) {
/* Add Error */
- echo "<font class=\"error\">Error File Not Found or 0 Bytes: " . $results->file . "</font><br />";
- flush();
+ if ($verbose) {
+ echo "<font class=\"error\">Error File Not Found or 0 Bytes: " . $results->file . "</font><br />";
+ flush();
+ }
/* Add this file to the list for removal from the db */
$dead_files[] = $results;
@@ -1169,22 +1186,9 @@ class Catalog {
if (count($dead_files)) {
foreach ($dead_files as $data) {
- //FIXME: Until I fix the form, assume delete
- //if ($action === 'delete_dead') {
- $sql = "DELETE FROM song WHERE id='$data->id'";
- //}
- //
- //else {
- // $sql = "UPDATE song SET status='disabled' WHERE id='$data->id'";
- //}
-
+ $sql = "DELETE FROM song WHERE id='$data->id'";
$db_results = mysql_query($sql, dbh());
- /* DB Error occured */
- if (!$db_results) {
- /* Add Error */
- } //if error
-
} //end foreach
} // end if dead files
@@ -1198,11 +1202,13 @@ class Catalog {
$this->clean_stats();
$this->clean_playlists();
$this->clean_flagged();
- ;$this->clean_genres();
+ $this->clean_genres();
/* Return dead files, so they can be listed */
- echo "<b>" . _("Catalog Clean Done") . " [" . count($dead_files) . "] " . _("files removed") . "</b><br />\n";
- flush();
+ if ($verbose) {
+ echo "<b>" . _("Catalog Clean Done") . " [" . count($dead_files) . "] " . _("files removed") . "</b><br />\n";
+ flush();
+ }
return $dead_files;
$this->count = 0;
@@ -1461,7 +1467,7 @@ class Catalog {
@discussion This function compares the DB's information with the ID3 tags
@param $catalog_id The ID of the catalog to compare
*/
- function verify_catalog($catalog_id=0,$gather_type='') {
+ function verify_catalog($catalog_id=0,$gather_type='',$verbose=1) {
/* Create and empty song for us to use */
$total_updated = 0;
@@ -1476,9 +1482,12 @@ class Catalog {
$db_results = mysql_query($sql, dbh());
$number = mysql_num_rows($db_results);
- echo _("Updating the") . " <b>[ $this->name ]</b> " . _("Catalog") . "<br />\n";
- echo $number . " " . _("songs found checking tag information.") . "<br /><br />\n\n";
- flush();
+ if ($verbose) {
+ echo _("Updating the") . " <b>[ $this->name ]</b> " . _("Catalog") . "<br />\n";
+ echo $number . " " . _("songs found checking tag information.") . "<br />\n\n";
+ echo _('Verifed') . ": <span=\"count\">None</span><br />\n";
+ flush();
+ }
/* Magical Fix so we don't run out of time */
set_time_limit(0);
@@ -1550,7 +1559,9 @@ class Catalog {
/* Stupid little cutesie thing */
$this->count++;
if ( !($this->count%conf('catalog_echo_count')) ) {
- echo "Checked $this->count. . . . <br />\n";
+ echo "<script language=\"JavaScript\">";
+ echo "update_txt('" . $this->count . "','count');";
+ echo "</script>\n";
flush();
} //echos song count
diff --git a/lib/general.js b/lib/general.js
index e4611cd6..21db395e 100644
--- a/lib/general.js
+++ b/lib/general.js
@@ -265,6 +265,10 @@ function selectField(element)
}
}
+// function for the catalog mojo fluf
+function update_txt(value,field) {
+ document.getElementById(field).innerHTML=value;
+}
function popup_art(url) {
var newwindow;
diff --git a/lib/log.lib.php b/lib/log.lib.php
index d8e68014..d187fa60 100644
--- a/lib/log.lib.php
+++ b/lib/log.lib.php
@@ -30,6 +30,9 @@ function log_event($username='Unknown',$event_name,$event_description,$log_name=
/* Set it up here to make sure it's _always_ the same */
$log_time = time();
+ /* must have some name */
+ if (!strlen($log_name)) { $log_name = 'ampache'; }
+
$log_filename = conf('log_path') . "/$log_name." . date("Ymd",$log_time) . ".log";
$log_line = date("Y-m-d H:i:s",$log_time) . " { $username } ( $event_name ) - $event_description \n";
diff --git a/modules/init.php b/modules/init.php
index e94f3ba5..fe440eb3 100644
--- a/modules/init.php
+++ b/modules/init.php
@@ -80,7 +80,7 @@ if (!$results['allow_stream_playback']) {
/** This is the version.... fluf nothing more... **/
-$results['version'] = '3.3.2-Beta2 (Build 008)';
+$results['version'] = '3.3.2-Beta2 (Build 009)';
diff --git a/templates/header.inc b/templates/header.inc
index 0e8185f0..20118ea4 100644
--- a/templates/header.inc
+++ b/templates/header.inc
@@ -61,5 +61,5 @@ if (conf('use_rss')) { ?>
<?php require_once(conf('prefix') . '/templates/sidebar.inc.php'); ?>
</div><!-- End sidebar -->
<div id="content">
- <table> <!-- Start Main Page Table-->
+ <table> <!-- Start Main Page Table -->
<tr><td>
diff --git a/templates/show_admin_catalog.inc.php b/templates/show_admin_catalog.inc.php
new file mode 100644
index 00000000..43c11c56
--- /dev/null
+++ b/templates/show_admin_catalog.inc.php
@@ -0,0 +1,54 @@
+<?php
+/*
+
+ Copyright (c) 2001 - 2006 Ampache.org
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+$web_path = conf('web_path');
+$catalogs = Catalog::get_catalogs();
+
+?>
+<div class="text-box">
+<span class="header2"><?php echo _('Catalogs'); ?></span>
+<!-- Current Catalogs -->
+<table border="0" cellpadding="0" cellspacing="0">
+<tr class="table-header">
+ <td><?php echo _('Name'); ?></td>
+ <td align="center"><?php echo _('Action'); ?></td>
+<?php foreach ($catalogs as $catalog) { ?>
+<tr class="<?php echo flip_class(); ?>">
+ <td>
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=show_customize_catalog&amp;catalog_id=<?php echo $catalog->id; ?>">
+ <?php echo $catalog->name; ?></a>
+ &nbsp;&nbsp;(<?php echo $catalog->path; ?>)
+ </td>
+ <td>
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=add_to_catalog&amp;catalogs[]=<?php echo $catalog->id; ?>">
+ <?php echo _('Add'); ?></a>&nbsp;|&nbsp;
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=update_catalog&amp;catalogs[]=<?php echo $catalog->id; ?>">
+ <?php echo _('Update'); ?></a>&nbsp;|&nbsp;
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=clean_catalog&amp;catalogs[]=<?php echo $catalog->id; ?>">
+ <?php echo _('Clean'); ?></a>&nbsp;|&nbsp;
+ <a href="<?php echo $web_path; ?>/admin/catalog.php?action=full_service&amp;catalogs[]=<?php echo $catalog->id; ?>">
+ <?php echo _('All'); ?></a>
+ </td>
+</tr>
+<?php } // end foreach ?>
+</table>
+<span class="header2"><?php echo _('Other Tools'); ?></span><br />
+</div>
diff --git a/templates/show_admin_index.inc b/templates/show_admin_index.inc
deleted file mode 100644
index 057aa9c1..00000000
--- a/templates/show_admin_index.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-/*
-
- Copyright (c) 2001 - 2006 Ampache.org
- All rights reserved.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- 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 General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-/*!
- @header Show Admin Index
- @discussion shows the admin index
-*/
-$web_path = conf('web_path');
-$sections = array(_("User Management") => $web_path . "/admin/users.php",
- _("E-mail Management") => $web_path . "/admin/mail.php",
- _("Catalog Managment") => $web_path . "/admin/catalog.php",
- _("Admin Preferences") => $web_path . "/admin/preferences.php",
- _("Access Lists") => $web_path . "/admin/access.php");
-
-$common = array(_("Add a catalog") => $web_path . "/admin/catalog.php?action=show_add_catalog",
- _("Add a new user") => $web_path . "/admin/users.php?action=show_add_user",
- _("Clear Now Playing") => $web_path . "/admin/catalog.php?action=clear_now_playing",
- _("Add Access List Entry") => $web_path . "/admin/access.php?action=show_add_host");
-?>
-<table cellpadding="5" border="0" cellspacing="0">
-<tr>
- <td valign="top"><?php show_tool_box(_("Common Functions"), $common); ?><?php show_clear(); ?></td>
-</tr>
-<tr>
- <td valign="top"><?php show_tool_box(_("Admin Sections"), $sections); ?></td>
-</tr>
-</table>
-
diff --git a/templates/show_admin_user.inc.php b/templates/show_admin_user.inc.php
new file mode 100644
index 00000000..8269eb06
--- /dev/null
+++ b/templates/show_admin_user.inc.php
@@ -0,0 +1,27 @@
+<?php
+/*
+
+ Copyright (c) 2001 - 2006 Ampache.org
+ All rights reserved.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+*/
+$web_path = conf('web_path');
+
+?>
+<div class="text-box">
+<span class="header2"><?php echo _('Users'); ?></span><br />
+</div>