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

broke the advanced random stuff, only ui in place for new stuff...

This commit is contained in:
Karl 'vollmerk' Vollmer 2009-02-10 03:49:24 +00:00
parent 58900248cc
commit addb6f957f
8 changed files with 114 additions and 77 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

BIN
images/icon_tick.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

View file

@ -354,6 +354,7 @@ class Song extends database_object implements media {
} // compare_song_information } // compare_song_information
/** /**
* update * update
* This takes a key'd array of data does any cleaning it needs to * This takes a key'd array of data does any cleaning it needs to
@ -734,6 +735,28 @@ class Song extends database_object implements media {
} // format_pattern } // format_pattern
/**
* get_fields
* This returns all of the 'data' fields for this object, we need to filter out some that we don't
* want to present to a user, and add some that don't exist directly on the object but are related
*/
public static function get_fields() {
$fields = get_class_vars('Song');
unset($fields['id'],$fields['_transcoded'],$fields['_fake'],$fields['cache_hit'],$fields['mime'],$fields['type']);
// Some additional fields
$fields['tag'] = true;
$fields['catalog'] = true;
//FIXME: These are here to keep the ideas, don't want to have to worry about them for now
// $fields['rating'] = true;
// $fields['recently Played'] = true;
return $fields;
} // get_fields
/** /**
* get_from_path * get_from_path
* This returns all of the songs that exist under the specified path * This returns all of the songs that exist under the specified path

View file

@ -36,6 +36,8 @@ switch ($_REQUEST['action']) {
case 'advanced': case 'advanced':
default: default:
require_once Config::get('prefix') . '/templates/show_random.inc.php'; require_once Config::get('prefix') . '/templates/show_random.inc.php';
require_once Config::get('prefix') . '/templates/show_random_rules.inc.php';
break; break;
} // end switch } // end switch

View file

@ -70,9 +70,9 @@ foreach($object_ids as $row_id=>$object_data) {
<tr class="<?php echo flip_class(); ?>"> <tr class="<?php echo flip_class(); ?>">
<td class="cel_action"> <td class="cel_action">
<?php if ($democratic->has_vote($song->id)) { ?> <?php if ($democratic->has_vote($song->id)) { ?>
<?php echo Ajax::button('?page=democratic&action=delete_vote&row_id=' . $row_id,'thumb_down',_('Remove Vote'),'remove_vote_' . $row_id); ?> <?php echo Ajax::button('?page=democratic&action=delete_vote&row_id=' . $row_id,'delete',_('Remove Vote'),'remove_vote_' . $row_id); ?>
<?php } else { ?> <?php } else { ?>
<?php echo Ajax::button('?page=democratic&action=add_vote&object_id=' . $song->id . '&type=' . scrub_out($object_data['1']),'thumb_up',_('Add Vote'),'remove_vote_' . $row_id); ?> <?php echo Ajax::button('?page=democratic&action=add_vote&object_id=' . $song->id . '&type=' . scrub_out($object_data['1']),'tick',_('Add Vote'),'remove_vote_' . $row_id); ?>
<?php } ?> <?php } ?>
</td> </td>
<td class="cel_votes"><?php echo scrub_out($democratic->get_vote($row_id)); ?></td> <td class="cel_votes"><?php echo scrub_out($democratic->get_vote($row_id)); ?></td>
@ -82,7 +82,7 @@ foreach($object_ids as $row_id=>$object_data) {
<td class="cel_time"><?php echo $song->f_time; ?></td> <td class="cel_time"><?php echo $song->f_time; ?></td>
<?php if ($GLOBALS['user']->has_access(100)) { ?> <?php if ($GLOBALS['user']->has_access(100)) { ?>
<td class="cel_admin"> <td class="cel_admin">
<?php echo Ajax::button('?page=democratic&action=delete&row_id=' . $row_id,'delete',_('Delete'),'delete_row_' . $row_id); ?> <?php echo Ajax::button('?page=democratic&action=delete&row_id=' . $row_id,'disable',_('Delete'),'delete_row_' . $row_id); ?>
</td> </td>
<?php } ?> <?php } ?>
</tr> </tr>

View file

@ -19,91 +19,60 @@
*/ */
?> ?>
<?php show_box_top(_('Play Random Selection')); ?> <?php show_box_top(_('Advanced Random Rules')); ?>
<form id="random" method="post" enctype="multipart/form-data" action="<?php echo Config::get('web_path'); ?>/random.php?action=get_advanced"> <table class="tabledata" cellpadding="0" cellspacing="0">
<table class="table-data" cellspacing="0" cellpadding="3"> <colgroup>
<col id="col_field" />
<col id="col_operator" />
<col id="col_value" />
</colgroup>
<tr class="th-top">
<th class="col_field"><?php echo _('Field'); ?></th>
<th class="col_operator"><?php echo _('Operator'); ?></th>
<th class="col_value"><?php echo _('Value'); ?></th>
</tr>
<tr> <tr>
<td><?php echo _('Item count'); ?></td> <td valign="top">
<td> <select name="field">
<select name="random"> <?php
<option value="1">1</option> $fields = Song::get_fields();
<option value="5" selected="selected">5</option> foreach ($fields as $key=>$value) {
<option value="10">10</option> $name = ucfirst(str_replace('_',' ',$key));
<option value="20">20</option> ?>
<option value="30">30</option> <option name="<?php echo scrub_out($key); ?>"><?php echo scrub_out($name); ?></option>
<option value="50">50</option> <?php } ?>
<option value="100">100</option>
<option value="500">500</option>
<option value="1000">1000</option>
<option value="-1"><?php echo _('All'); ?></option>
</select> </select>
</td> </td>
<td rowspan="5" valign="top"><?php echo _('Tags'); ?></td> <td>
<td rowspan="5"> <select name="operator">
<option value="=">=</option>
<option value="!=">!=</option>
<option value=">">&gt;</option>
<option value=">=">&gt;=</option>
<option value="<">&lt;</option>
<option value="<=">&lt;=</option>
<option value="LIKE"><?php echo _('Like'); ?></option>
</select>
</td>
<td valign="top">
<input type="textbox" name="value" />
</td> </td>
</tr> </tr>
<tr> <tr>
<td><?php echo _('Length'); ?></td>
<td> <td>
<select name="length"> <?php echo Ajax::button('?page=random&action=add_rule','add',_('Add Rule'),'add_random_rule'); ?><?php echo _('Add Rule'); ?>
<option value="0"><?php echo _('Unlimited'); ?></option> </td>
<option value="15"><?php printf(ngettext('%d minute','%d minutes',15), "15"); ?></option> <td>
<option value="30"><?php printf(ngettext('%d minute','%d minutes',30), "30"); ?></option> <?php echo Ajax::button('?page=random&action=save_rules','download',_('Save Rules'),'save_random_rules'); ?><?php echo _('Save Rules As...'); ?>
<option value="60"><?php printf(ngettext('%d hour','%d hours',1), "1"); ?></option> </td>
<option value="120"><?php printf(ngettext('%d hour','%d hours',2), "2"); ?></option> <td>
<option value="240"><?php printf(ngettext('%d hour','%d hours',4), "4"); ?></option> <?php echo Ajax::button('?page=random&action=load_rules','cog',_('Load Saved Rules'),'load_random_rules'); ?><?php echo _('Load Saved Rules'); ?>
<option value="480"><?php printf(ngettext('%d hour','%d hours',8), "8"); ?></option>
<option value="960"><?php printf(ngettext('%d hour','%d hours',16), "16"); ?></option>
</select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td><?php echo _('Type'); ?></td> <td colspan="3">
<td> <div id="rule_status"></div>
<select name="random_type">
<option value="normal"><?php echo _('Standard'); ?></option>
<option value="unplayed"><?php echo _('Less Played'); ?></option>
<option value="full_album"><?php echo _('Full Albums'); ?></option>
<option value="full_artist"><?php echo _('Full Artist'); ?></option>
<?php if (Config::get('ratings')) { ?>
<option value="high_rating"><?php echo _('Highest Rated'); ?></option>
<?php } ?>
</select>
</td>
</tr>
<tr>
<td nowrap="nowrap"><?php echo _('From catalog'); ?></td>
<td>
<?php show_catalog_select('catalog',''); ?>
</td>
</tr>
<tr>
<td><?php echo _('Size Limit'); ?></td>
<td>
<select name="size_limit">
<option value="0"><?php echo _('Unlimited'); ?></option>
<option value="64">64MB</option>
<option value="128">128MB</option>
<option value="256">256MB</option>
<option value="512">512MB</option>
<option value="1024">1024MB</option>
</select>
</td> </td>
</tr> </tr>
</table> </table>
<div class="formValidation">
<input type="submit" value="<?php echo _('Enqueue'); ?>" />
</div>
</form>
<?php show_box_bottom(); ?> <?php show_box_bottom(); ?>
<div id="browse">
<?php
if (is_array($object_ids)) {
Browse::reset_filters();
Browse::set_type('song');
Browse::save_objects($object_ids);
Browse::show_objects();
echo Ajax::observe('window','load',Ajax::action('?action=refresh_rightbar','playlist_refresh_load'));
}
?>
</div>

View file

@ -0,0 +1,43 @@
<?php
/*
Copyright (c) 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 v2
as published by the Free Software Foundation.
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(_('Rules')); ?>
<table class="tabledata" cellpadding="0" cellspacing="0">
<colgroup>
<col id="col_field" />
<col id="col_operator" />
<col id="col_value" />
<col id="col_action" />
</colgroup>
<tr class="th-top">
<th class="col_field"><?php echo _('Field'); ?></th>
<th class="col_operator"><?php echo _('Operator'); ?></th>
<th class="col_value"><?php echo _('Value'); ?></th>
<th class="col_action"><?php echo _('Action'); ?></th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<?php show_box_bottom(); ?>