1
0
Fork 0
mirror of https://github.com/Yetangitu/ampache synced 2025-10-03 09:49:30 +02:00

first vestiages of edit localplay instance and test localplay instance support

This commit is contained in:
Karl 'vollmerk' Vollmer 2007-12-31 08:38:12 +00:00
parent 3e8b855150
commit 850edbb1f2
6 changed files with 75 additions and 35 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

View file

@ -539,6 +539,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

View file

@ -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

View file

@ -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&amp;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(); ?>

View file

@ -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 } ?>

View file

@ -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 } ?>