/** * 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; }