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&amp;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');" />&nbsp;&nbsp;
84        <input class="button" type="submit" value="<?php echo T_('Save as Playlist'); ?>" onClick="$('#hiddenaction').val('save_as_playlist');" />&nbsp;&nbsp;
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