Example #1
0
function wpsc_purchlog_bulk_modify()
{
    if ($_POST['purchlog_multiple_status_change'] != -1) {
        if (is_numeric($_POST['purchlog_multiple_status_change']) && $_POST['purchlog_multiple_status_change'] != 'delete') {
            foreach ((array) $_POST['purchlogids'] as $purchlogid) {
                wpsc_purchlog_edit_status($purchlogid, $_POST['purchlog_multiple_status_change']);
                $updated++;
            }
        } elseif ($_POST['purchlog_multiple_status_change'] == 'delete') {
            foreach ((array) $_POST['purchlogids'] as $purchlogid) {
                wpsc_delete_purchlog($purchlogid);
                $deleted++;
            }
        }
    }
    $sendback = wp_get_referer();
    if (isset($updated)) {
        $sendback = add_query_arg('updated', $updated, $sendback);
    }
    if (isset($deleted)) {
        $sendback = add_query_arg('deleted', $deleted, $sendback);
    }
    if (isset($_POST['view_purchlogs_by'])) {
        $sendback = add_query_arg('view_purchlogs_by', $_POST['view_purchlogs_by'], $sendback);
    }
    if (isset($_POST['view_purchlogs_by_status'])) {
        $sendback = add_query_arg('view_purchlogs_by_status', $_POST['view_purchlogs_by_status'], $sendback);
    }
    wp_redirect($sendback);
    exit;
}
 public function process_bulk_action()
 {
     global $wpdb;
     $current_action = $this->list_table->current_action();
     do_action('wpsc_sales_log_process_bulk_action', $current_action);
     if (!$current_action || 'download_csv' != $current_action && empty($_REQUEST['post'])) {
         if (!empty($_REQUEST['_wp_http_referer'])) {
             wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce', 'action', 'action2'), stripslashes($_SERVER['REQUEST_URI'])));
             exit;
         }
         unset($_REQUEST['post']);
         return;
     }
     if ('download_csv' == $current_action) {
         $this->download_csv();
         exit;
     }
     $sendback = remove_query_arg(array('_wpnonce', '_wp_http_referer', 'action', 'action2', 'confirm', 'post', 'last_paged'));
     if ('delete' == $current_action) {
         // delete action
         if (empty($_REQUEST['confirm'])) {
             $this->list_table->disable_search_box();
             $this->list_table->disable_bulk_actions();
             $this->list_table->disable_sortable();
             $this->list_table->disable_month_filter();
             $this->list_table->disable_views();
             $this->list_table->set_per_page(0);
             add_action('wpsc_purchase_logs_list_table_before', array($this, 'action_list_table_before'));
             return;
         } else {
             if (empty($_REQUEST['post'])) {
                 return;
             }
             $ids = array_map('intval', $_REQUEST['post']);
             $in = implode(', ', $ids);
             $wpdb->query("DELETE FROM " . WPSC_TABLE_PURCHASE_LOGS . " WHERE id IN ({$in})");
             $wpdb->query("DELETE FROM " . WPSC_TABLE_CLAIMED_STOCK . " WHERE cart_id IN ({$in})");
             $wpdb->query("DELETE FROM " . WPSC_TABLE_CART_CONTENTS . " WHERE purchaseid IN ({$in})");
             $wpdb->query("DELETE FROM " . WPSC_TABLE_SUBMITED_FORM_DATA . " WHERE log_id IN ({$in})");
             $sendback = add_query_arg(array('paged' => $_REQUEST['last_paged'], 'deleted' => count($_REQUEST['post'])), $sendback);
         }
     }
     // change status actions
     if (is_numeric($current_action) && $current_action < 7 && !empty($_REQUEST['post'])) {
         foreach ($_REQUEST['post'] as $id) {
             wpsc_purchlog_edit_status($id, $current_action);
         }
         $sendback = add_query_arg(array('updated' => count($_REQUEST['post'])), $sendback);
     }
     wp_redirect($sendback);
     exit;
 }
Example #3
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;
}
Example #4
0
function wpsc_purchlog_bulk_modify()
{
    if (!wpsc_is_store_admin()) {
        return;
    }
    if ($_POST['purchlog_multiple_status_change'] != -1) {
        if (is_numeric($_POST['purchlog_multiple_status_change']) && $_POST['purchlog_multiple_status_change'] != 'delete') {
            foreach ((array) $_POST['purchlogids'] as $purchlogid) {
                wpsc_purchlog_edit_status($purchlogid, $_POST['purchlog_multiple_status_change']);
                $updated++;
            }
        } elseif ($_POST['purchlog_multiple_status_change'] == 'delete') {
            foreach ((array) $_POST['purchlogids'] as $purchlogid) {
                $log = new WPSC_Purchase_Log($purchlogid);
                $deleted_log = $log->delete();
                if ($deleted_log) {
                    $deleted++;
                }
            }
        }
    }
    $sendback = wp_get_referer();
    if (isset($updated)) {
        $sendback = add_query_arg('updated', $updated, $sendback);
    }
    if (isset($deleted)) {
        $sendback = add_query_arg('deleted', $deleted, $sendback);
    }
    if (isset($_POST['view_purchlogs_by'])) {
        $sendback = add_query_arg('view_purchlogs_by', $_POST['view_purchlogs_by'], $sendback);
    }
    if (isset($_POST['view_purchlogs_by_status'])) {
        $sendback = add_query_arg('view_purchlogs_by_status', $_POST['view_purchlogs_by_status'], $sendback);
    }
    wp_redirect(esc_url_raw($sendback));
    exit;
}
 public function process_bulk_action()
 {
     global $wpdb;
     $current_action = $this->list_table->current_action();
     do_action('wpsc_sales_log_process_bulk_action', $current_action);
     if (!$current_action || 'download_csv' != $current_action && empty($_REQUEST['post'])) {
         if (!empty($_REQUEST['_wp_http_referer'])) {
             wp_redirect(esc_url_raw(remove_query_arg(array('_wp_http_referer', '_wpnonce', 'action', 'action2'), stripslashes($_SERVER['REQUEST_URI']))));
             exit;
         }
         unset($_REQUEST['post']);
         return;
     }
     if ('download_csv' == $current_action) {
         $this->download_csv();
         exit;
     }
     $sendback = remove_query_arg(array('_wpnonce', '_wp_http_referer', 'action', 'action2', 'confirm', 'post', 'last_paged'));
     if ('delete' == $current_action) {
         // delete action
         if (empty($_REQUEST['confirm'])) {
             $this->list_table->disable_search_box();
             $this->list_table->disable_bulk_actions();
             $this->list_table->disable_sortable();
             $this->list_table->disable_month_filter();
             $this->list_table->disable_views();
             $this->list_table->set_per_page(0);
             add_action('wpsc_purchase_logs_list_table_before', array($this, 'action_list_table_before'));
             return;
         } else {
             if (empty($_REQUEST['post'])) {
                 return;
             }
             $ids = array_map('intval', $_REQUEST['post']);
             foreach ($ids as $id) {
                 $log = new WPSC_Purchase_Log($id);
                 $log->delete();
             }
             $sendback = add_query_arg(array('paged' => $_REQUEST['last_paged'], 'deleted' => count($_REQUEST['post'])), $sendback);
         }
     }
     // change status actions
     if (is_numeric($current_action) && !empty($_REQUEST['post'])) {
         foreach ($_REQUEST['post'] as $id) {
             wpsc_purchlog_edit_status($id, $current_action);
         }
         $sendback = add_query_arg(array('updated' => count($_REQUEST['post'])), $sendback);
     }
     wp_redirect(esc_url_raw($sendback));
     exit;
 }
Example #6
0
 function capture_preauth()
 {
     $id = isset($_REQUEST['purchaselog_id']) ? $_REQUEST['purchaselog_id'] : '0';
     return wpsc_purchlog_edit_status($id, 3);
 }
Example #7
0
function _wpsc_ajax_purchlog_edit_status()
{
    if (!wp_verify_nonce($_POST['nonce'], 'wpsc_purchase_logs')) {
        die('-1');
    }
    wpsc_purchlog_edit_status($_POST['id'], $_POST['new_status']);
}