. * */ /** * Sub-Ajax page, requires AJAX_INCLUDE */ if (!defined('AJAX_INCLUDE')) { exit; } $democratic = Democratic::get_current_playlist(); $democratic->set_parent(); $show_browse = false; $results = array(); switch ($_REQUEST['action']) { case 'delete_vote': $democratic->remove_vote($_REQUEST['row_id']); $show_browse = true; break; case 'add_vote': $democratic->add_vote(array( array( 'object_type' => $_REQUEST['type'], 'object_id' => $_REQUEST['object_id'] ) )); $show_browse = true; break; case 'delete': if (!$GLOBALS['user']->has_access('75')) { echo xoutput_from_array(array('rfc3514' => '0x1')); exit; } $democratic->delete_votes($_REQUEST['row_id']); $show_browse = true; break; case 'send_playlist': if (!Access::check('interface', '75')) { echo xoutput_from_array(array('rfc3514' => '0x1')); exit; } $_SESSION['iframe']['target'] = AmpConfig::get('web_path') . '/stream.php?action=democratic&democratic_id=' . scrub_out($_REQUEST['democratic_id']); $results['rfc3514'] = ''; break; case 'clear_playlist': if (!Access::check('interface', '100')) { echo xoutput_from_array(array('rfc3514' => '0x1')); exit; } $democratic = new Democratic($_REQUEST['democratic_id']); $democratic->set_parent(); $democratic->clear(); $show_browse = true; break; default: $results['rfc3514'] = '0x1'; break; } // switch on action; if ($show_browse) { ob_start(); $object_ids = $democratic->get_items(); $browse = new Browse(); $browse->set_type('democratic'); $browse->set_static_content(false); $browse->show_objects($object_ids); $browse->store(); $results[$browse->get_content_div()] = ob_get_contents(); ob_end_clean(); } // We always do this echo xoutput_from_array($results);