1<?php 2/* vim:set softtabstop=4 shiftwidth=4 expandtab: */ 3/** 4 * 5 * LICENSE: GNU Affero General Public License, version 3 (AGPL-3.0-or-later) 6 * Copyright 2001 - 2020 Ampache.org 7 * 8 * This program is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU Affero General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU Affero General Public License for more details. 17 * 18 * You should have received a copy of the GNU Affero General Public License 19 * along with this program. If not, see <https://www.gnu.org/licenses/>. 20 * 21 */ 22 23use Ampache\Config\AmpConfig; 24use Ampache\Repository\Model\Search; 25use Ampache\Module\Authorization\Access; 26use Ampache\Module\Api\Ajax; 27use Ampache\Repository\Model\Browse; 28use Ampache\Module\Util\Ui; 29use Ampache\Module\Util\ZipHandlerInterface; 30 31/** @var Search $playlist */ 32 33?> 34<?php 35ob_start(); 36require Ui::find_template('show_search_title.inc.php'); 37$title = ob_get_contents(); 38$browse = new Browse(); 39$browse->set_type('playlist_media'); 40$browse->add_supplemental_object('search', $playlist->id); 41$browse->set_static_content(false); 42ob_end_clean(); 43Ui::show_box_top('<div id="smartplaylist_row_' . $playlist->id . '">' . $title . '</div>', 'box box_smartplaylist'); ?> 44<div id="information_actions"> 45 <ul> 46 <?php 47 // @todo remove after refactoring 48 global $dic; 49 $zipHandler = $dic->get(ZipHandlerInterface::class); 50 if (Access::check_function('batch_download') && $zipHandler->isZipable('search')) { ?> 51 <li> 52 <a class="nohtml" href="<?php echo AmpConfig::get('web_path'); ?>/batch.php?action=search&id=<?php echo $playlist->id; ?>"> 53 <?php echo Ui::get_icon('batch_download', T_('Batch download')); ?> 54 <?php echo T_('Batch download'); ?> 55 </a> 56 </li> 57 <?php 58} ?> 59 <li> 60 <?php echo Ajax::button_with_text('?action=basket&type=search&id=' . $playlist->id, 'add', T_('Add All'), 'play_playlist'); ?> 61 </li> 62 <?php if ($playlist->has_access()) { ?> 63 <li> 64 <a id="<?php echo 'edit_playlist_' . $playlist->id ?>" onclick="showEditDialog('search_row', '<?php echo $playlist->id ?>', '<?php echo 'edit_playlist_' . $playlist->id ?>', '<?php echo addslashes(T_('Smart Playlist Edit')) ?>', '')"> 65 <?php echo Ui::get_icon('edit', T_('Edit')); ?> 66 <?php echo T_('Edit'); ?> 67 </a> 68 </li> 69 <li> 70 <a href="<?php echo AmpConfig::get('web_path'); ?>/smartplaylist.php?action=delete_playlist&playlist_id=<?php echo $playlist->id; ?>"> 71 <?php echo Ui::get_icon('delete'); ?> 72 <?php echo T_('Delete'); ?> 73 </a> 74 </li> 75 <?php 76 } ?> 77 </ul> 78</div> 79 80<form id="editplaylist" name="editplaylist" method="post" enctype="multipart/form-data" action="<?php echo AmpConfig::get('web_path'); ?>/smartplaylist.php?action=show_playlist&playlist_id=<?php echo $playlist->id; ?>" enctype="multipart/form-data" style="Display:inline"> 81 <?php require Ui::find_template('show_rules.inc.php'); ?> 82 <div class="formValidation"> 83 <input class="button" type="submit" value="<?php echo T_('Save Changes'); ?>" onClick="$('#hiddenaction').val('update_playlist');" /> 84 <input class="button" type="submit" value="<?php echo T_('Save as Playlist'); ?>" onClick="$('#hiddenaction').val('save_as_playlist');" /> 85 <input type="hidden" id="hiddenaction" name="action" value="search" /> 86 <input type="hidden" name="browse_id" value="<?php echo $browse->id; ?>" /> 87 <input type="hidden" name="browse_type" value="<?php echo $playlist->type; ?>" /> 88 <input type="hidden" name="browse_name" value="<?php echo $playlist->name; ?>" /> 89 </div> 90</form> 91 92<?php Ui::show_box_bottom(); ?> 93 94<div> 95<?php 96 $browse->duration = Search::get_total_duration($object_ids); 97 $browse->show_objects($object_ids); 98 $browse->store(); ?> 99</div> 100