Exemplo n.º 1
0
/**
 * Modify a purchase log's status.
 *
 * @since 3.8.9
 * @access private
 *
 * @uses wpsc_purchlog_edit_status()                    Edits purchase log status
 * @uses WP_Error                                       WordPress Error class
 * @uses WPSC_Purchase_Log_List_Table
 * @uses WPSC_Purchase_Log_List_Table::prepare_items()
 * @uses WPSC_Purchase_Log_List_Table::views()
 * @uses WPSC_Purchase_Log_List_Table::display_tablenav()   @todo docs
 *
 * @return array|WP_Error   $return     Response args if successful, WP_Error if otherwise.
 */
function _wpsc_ajax_change_purchase_log_status()
{
    $result = wpsc_purchlog_edit_status($_POST['id'], $_POST['new_status']);
    if (!$result) {
        return new WP_Error('wpsc_cannot_edit_purchase_log_status', __("Couldn't modify purchase log's status. Please try again.", 'wpsc'));
    }
    $args = array();
    $args['screen'] = 'dashboard_page_wpsc-sales-logs';
    require_once WPSC_FILE_PATH . '/wpsc-admin/includes/purchase-log-list-table-class.php';
    $purchaselog_table = new WPSC_Purchase_Log_List_Table($args);
    $purchaselog_table->prepare_items();
    ob_start();
    $purchaselog_table->views();
    $views = ob_get_clean();
    ob_start();
    $purchaselog_table->display_tablenav('top');
    $tablenav_top = ob_get_clean();
    ob_start();
    $purchaselog_table->display_tablenav('bottom');
    $tablenav_bottom = ob_get_clean();
    $return = array('id' => $_POST['id'], 'new_status' => $_POST['new_status'], 'views' => $views, 'tablenav_top' => $tablenav_top, 'tablenav_bottom' => $tablenav_bottom);
    return $return;
}