diff options
-rw-r--r-- | images/icon_server_lightning.png | bin | 0 -> 729 bytes | |||
-rw-r--r-- | lib/class/localplay.class.php | 12 | ||||
-rw-r--r-- | localplay.php | 57 | ||||
-rw-r--r-- | templates/show_localplay_edit_instance.inc.php | 37 | ||||
-rw-r--r-- | templates/show_localplay_instances.inc.php | 3 | ||||
-rw-r--r-- | templates/sidebar_localplay.inc.php | 1 |
6 files changed, 75 insertions, 35 deletions
diff --git a/images/icon_server_lightning.png b/images/icon_server_lightning.png Binary files differnew file mode 100644 index 00000000..b0f4e46c --- /dev/null +++ b/images/icon_server_lightning.png diff --git a/lib/class/localplay.class.php b/lib/class/localplay.class.php index 15f945f2..43d4bca1 100644 --- a/lib/class/localplay.class.php +++ b/lib/class/localplay.class.php @@ -540,6 +540,18 @@ class Localplay { } // get_instance /** + * update_instance + * This updates the specified instance with a named array of data (_POST most likely) + */ + public function update_instance($uid,$data) { + + $data = $this->_player->update_instance($uid); + + return $data; + + } // update_instance + + /** * add_instance * This adds a new instance for the current controller type */ diff --git a/localplay.php b/localplay.php index d2fc1217..989f75e9 100644 --- a/localplay.php +++ b/localplay.php @@ -32,7 +32,7 @@ if (!Config::get('allow_localplay_playback') || !$GLOBALS['user']->has_access('2 switch ($_REQUEST['action']) { case 'show_add_instance': // This requires 50 or better - if (!$GLOBALS['user']->has_access('50')) { access_denied(); break; } + if (!Access::check('localplay','75')) { access_denied(); break; } // Get the current localplay fields $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); @@ -41,20 +41,42 @@ switch ($_REQUEST['action']) { break; case 'add_instance': // This requires 50 or better! - if (!$GLOBALS['user']->has_access('50')) { access_denied(); break; } + if (!Access::check('localplay','75')) { access_denied(); break; } // Setup the object $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); $localplay->add_instance($_POST); break; + case 'update_instance': + // Make sure they gots them rights + if (!Access::check('localplay','75')) { access_denied(); break; } + $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); + $localplay->update_instance($_REQUEST['instance'],$_POST); + header("Location:" . Config::get('web_path') . "/localplay.php?action=show_instances"); + break; + case 'edit_instance': + // Check to make sure they've got the access + if (!Access::check('localplay','75')) { access_denied(); break; } + $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); + $instance = $localplay->get_instance($_REQUEST['instance']); + $fields = $localplay->get_instance_fields(); + require_once Config::get('prefix') . '/templates/show_localplay_edit_instance.inc.php'; + break; + case 'test_instance': + // Check to make sure they've got the rights + if (!Access::check('localplay','75')) { access_denied(); break; } + break; case 'show_instances': // First build the localplay object and then get the instances + if (!Access::check('localplay','5')) { access_denied(); break; } $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); $instances = $localplay->get_instances(); $fields = $localplay->get_instance_fields(); require_once Config::get('prefix') . '/templates/show_localplay_instances.inc.php'; break; + default: case 'show_playlist': + if (!Access::check('localplay','5')) { access_denied(); break; } // Init and then connect to our localplay instance $localplay = new Localplay($GLOBALS['user']->prefs['localplay_controller']); $localplay->connect(); @@ -64,37 +86,6 @@ switch ($_REQUEST['action']) { require_once Config::get('prefix') . '/templates/show_localplay_status.inc.php'; require_once Config::get('prefix') . '/templates/show_localplay_playlist.inc.php'; break; - case 'delete_song': - $song_id = scrub_in($_REQUEST['song_id']); - $songs = array($song_id); - $localplay = init_localplay(); - $localplay->delete($songs); - $url = $web_path . '/localplay.php'; - $title = _('Song(s) Removed from Playlist'); - $body = ''; - show_confirmation($title,$body,$url); - break; - case 'delete_all': - $localplay = init_localplay(); - $localplay->delete_all(); - $url = $web_path . '/localplay.php'; - $title = _('Song(s) Removed from Playlist'); - $body = ''; - show_confirmation($title,$body,$url); - break; - case 'repeat': - $localplay = init_localplay(); - $localplay->repeat(make_bool($_REQUEST['value'])); - require_once (conf('prefix') . '/templates/show_localplay.inc.php'); - break; - case 'random': - $localplay = init_localplay(); - $localplay->random(make_bool($_REQUEST['value'])); - require_once (conf('prefix') . '/templates/show_localplay.inc.php'); - break; - default: - // Rien a faire? - break; } // end switch action diff --git a/templates/show_localplay_edit_instance.inc.php b/templates/show_localplay_edit_instance.inc.php new file mode 100644 index 00000000..b6060671 --- /dev/null +++ b/templates/show_localplay_edit_instance.inc.php @@ -0,0 +1,37 @@ +<?php +/* + + Copyright (c) 2001 - 2007 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; version 2 + of the License. + + 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. + +*/ +?> +<?php show_box_top(_('Edit Localplay Instance')); ?> +<form method="post" action="<?php echo Config::get('web_path'); ?>/localplay.php?action=update_instance&instance=<?php echo intval($_REQUEST['instance']); ?>"> +<table cellpadding="3" cellspacing="0" class="tabledata"> +<?php foreach ($fields as $key=>$field) { ?> +<tr> + <td><?php echo $field['description']; ?></td> + <td><input type="textbox" name="<?php echo $key; ?>" value="<?php echo scrub_out($instance->$key); ?>" /></td> +</tr> +<?php } ?> +</table> + <div class="formValidation"> + <input type="submit" value="<?php echo _('Update Instance'); ?>" /> + </div> +</form> +<?php show_box_bottom(); ?> diff --git a/templates/show_localplay_instances.inc.php b/templates/show_localplay_instances.inc.php index 4c519392..ef9b84c1 100644 --- a/templates/show_localplay_instances.inc.php +++ b/templates/show_localplay_instances.inc.php @@ -36,8 +36,9 @@ <td><?php echo $instance[$key]; ?></td> <?php } ?> <td> + <a href="<?php echo Config::get('web_path'); ?>/localplay.php?action=test_instance&instance=<?php echo $uid; ?>"><?php echo get_user_icon('server_lightning',_('Check Instance')); ?></a> + <a href="<?php echo Config::get('web_path'); ?>/localplay.php?action=edit_instance&instance=<?php echo $uid; ?>"><?php echo get_user_icon('edit',_('Edit Instance')); ?></a> <?php echo Ajax::button('?page=localplay&action=delete_instance&instance=' . $uid,'delete',_('Delete'),'delete_instance_' . $uid); ?> - </td> </tr> <?php } ?> diff --git a/templates/sidebar_localplay.inc.php b/templates/sidebar_localplay.inc.php index 01c198ee..92371b16 100644 --- a/templates/sidebar_localplay.inc.php +++ b/templates/sidebar_localplay.inc.php @@ -29,7 +29,6 @@ if ($uid == $current_instance) { $class = ' class="active_instance"'; } - i ?> <li id="sb_localplay_instances_<?php echo $uid; ?>"<?php echo $class; ?>><?php echo Ajax::text('?page=localplay&action=set_instance&instance=' . $uid,$name,'localplay_instance_' . $uid); ?></li> <?php } ?> |