has_access()) { $playlist->delete(); // Go elsewhere header('Location: ' . Config::get('web_path') . '/browse.php?action=smartplaylist'); } } UI::show_header(); /* Switch on the action passed in */ switch ($_REQUEST['action']) { case 'create_playlist': /* Check rights */ if (!Access::check('interface','25')) { UI::access_denied(); break; } foreach ($_REQUEST as $key => $value) { $prefix = substr($key, 0, 4); $value = trim($value); if ($prefix == 'rule' && strlen($value)) { $rules[$key] = Dba::escape($value); } } switch($_REQUEST['operator']) { case 'or': $operator = 'OR'; break; default: $operator = 'AND'; break; } // end switch on operator $playlist_name = scrub_in($_REQUEST['playlist_name']); $playlist = new Search('song'); $playlist->parse_rules($data); $playlist->logic_operator = $operator; $playlist->name = $playlist_name; $playlist->save(); break; case 'delete_playlist': // If we made it here, we didn't have sufficient rights. UI::access_denied(); break; case 'show_playlist': $playlist = new Search('song', $_REQUEST['playlist_id']); $playlist->format(); require_once Config::get('prefix') . '/templates/show_smartplaylist.inc.php'; break; case 'update_playlist': $playlist = new Search('song', $_REQUEST['playlist_id']); if ($playlist->has_access()) { $playlist->parse_rules(Search::clean_request($_REQUEST)); $playlist->update(); $playlist->format(); } else { UI::access_denied(); break; } require_once Config::get('prefix') . '/templates/show_smartplaylist.inc.php'; break; default: require_once Config::get('prefix') . '/templates/show_smartplaylist.inc.php'; break; } // switch on the action UI::show_footer(); ?>