Esempio n. 1
0
function fn_delete_company($company_id)
{
    if (empty($company_id)) {
        return false;
    }
    //TODO log_event
    // Log user deletion
    /*fn_log_event('companies', 'delete', array (
    		'company_id' => $company_id
    	));*/
    $condition = fn_get_company_condition('company_id');
    $company_id = db_get_field("SELECT company_id FROM ?:companies WHERE 1 {$condition} AND company_id = ?i", $company_id);
    if (empty($company_id)) {
        return false;
    }
    db_query("DELETE FROM ?:companies WHERE company_id = ?i", $company_id);
    // deleting products
    $product_ids = db_get_fields("SELECT product_id FROM ?:products WHERE company_id = ?i", $company_id);
    foreach ($product_ids as $product_id) {
        fn_delete_product($product_id);
    }
    // deleting shipping
    $shipping_ids = db_get_fields("SELECT shipping_id FROM ?:shippings WHERE company_id = ?i", $company_id);
    foreach ($shipping_ids as $shipping_id) {
        fn_delete_shipping($shipping_id);
    }
    if (PRODUCT_TYPE == 'MULTIVENDOR') {
        db_query("DELETE FROM ?:company_descriptions WHERE company_id = ?i", $company_id);
        // deleting product_options
        $option_ids = db_get_fields("SELECT option_id FROM ?:product_options WHERE company_id = ?i", $company_id);
        foreach ($option_ids as $option_id) {
            fn_delete_product_option($option_id);
        }
        // deleting orders
        $order_ids = db_get_fields("SELECT order_id FROM ?:orders WHERE company_id = ?i", $company_id);
        foreach ($order_ids as $order_id) {
            fn_delete_order($order_id);
        }
        // deleting users
        $user_ids = db_get_fields("SELECT user_id FROM ?:users WHERE company_id = ?i", $company_id);
        foreach ($user_ids as $user_id) {
            fn_delete_user($user_id);
        }
        // deleting pages
        $page_ids = db_get_fields("SELECT page_id FROM ?:pages WHERE company_id = ?i", $company_id);
        foreach ($page_ids as $page_id) {
            fn_delete_page($page_id);
        }
        // deleting promotions
        $promotion_ids = db_get_fields("SELECT promotion_id FROM ?:promotions WHERE company_id = ?i", $company_id);
        fn_delete_promotions($promotion_ids);
    }
    //db_query("UPDATE ?:orders SET user_id = 0 WHERE company_id = ?i", $company_id);
    fn_set_hook('delete_company', $company_id);
    return true;
}
Esempio n. 2
0
 public static function apiPlaceOrder($data, &$response, $lang_code = CART_LANGUAGE)
 {
     $cart =& $_SESSION['cart'];
     $auth =& $_SESSION['auth'];
     if (empty($cart)) {
         $response->addError('ERROR_ACCESS_DENIED', __('access_denied', $lang_code));
         $response->returnResponse();
     }
     if (!empty($data['user'])) {
         fn_twg_api_set_cart_user_data($data['user'], $response, $lang_code);
     }
     if (empty($auth['user_id']) && empty($cart['user_data'])) {
         $response->addError('ERROR_ACCESS_DENIED', __('access_denied', $lang_code));
         $response->returnResponse();
     }
     if (empty($data['payment_info']) && !empty($cart['extra_payment_info'])) {
         $data['payment_info'] = $cart['extra_payment_info'];
     }
     if (!empty($data['payment_info'])) {
         $cart['payment_id'] = (int) $data['payment_info']['payment_id'];
         unset($data['payment_info']['payment_id']);
         if (!empty($data['payment_info'])) {
             $cart['payment_info'] = $data['payment_info'];
         }
         unset($cart['payment_updated']);
         fn_update_payment_surcharge($cart, $auth);
         fn_save_cart_content($cart, $auth['user_id']);
     }
     unset($cart['payment_info']['secure_card_number']);
     // Remove previous failed order
     if (!empty($cart['failed_order_id']) || !empty($cart['processed_order_id'])) {
         $_order_ids = !empty($cart['failed_order_id']) ? $cart['failed_order_id'] : $cart['processed_order_id'];
         foreach ($_order_ids as $_order_id) {
             fn_delete_order($_order_id);
         }
         $cart['rewrite_order_id'] = $_order_ids;
         unset($cart['failed_order_id'], $cart['processed_order_id']);
     }
     if (!empty($data['shippings'])) {
         if (!fn_checkout_update_shipping($cart, $data['shippings'])) {
             unset($cart['shipping']);
         }
     }
     Registry::set('runtime.controller', 'checkout', true);
     list(, $_SESSION['shipping_rates']) = fn_calculate_cart_content($cart, $auth, 'E');
     Registry::set('runtime.controller', 'twigmo');
     if (empty($cart['shipping']) && $cart['shipping_failed']) {
         $response->addError('ERROR_WRONG_CHECKOUT_DATA', __('wrong_shipping_info', $lang_code));
         $response->returnResponse();
     }
     if (empty($cart['payment_info']) && !isset($cart['payment_id'])) {
         $response->addError('ERROR_WRONG_CHECKOUT_DATA', __('wrong_payment_info', $lang_code));
         $response->returnResponse();
     }
     if (!empty($data['notes'])) {
         $cart['notes'] = $data['notes'];
     }
     $cart['details'] = fn_twg_get_twigmo_order_note();
     Registry::set('runtime.controller', 'checkout', true);
     list($order_id, $process_payment) = fn_place_order($cart, $auth);
     Registry::set('runtime.controller', 'twigmo');
     if (empty($order_id)) {
         return false;
     }
     if ($process_payment == true) {
         $payment_info = !empty($cart['payment_info']) ? $cart['payment_info'] : array();
         Registry::set('runtime.mode', 'place_order');
         fn_start_payment($order_id, array(), $payment_info);
     }
     self::orderPlacementRoutines($order_id);
     return $order_id;
 }
Esempio n. 3
0
 public function delete($id)
 {
     $data = array();
     $status = Response::STATUS_NOT_FOUND;
     if (fn_delete_order($id)) {
         $status = Response::STATUS_NO_CONTENT;
     }
     return array('status' => $status, 'data' => $data);
 }
Esempio n. 4
0
 }
 // Prevent using disabled payment method by challenging HTTP data
 if (!empty($_REQUEST['payment_id'])) {
     $cart['payment_id'] = $_REQUEST['payment_id'];
 }
 if (isset($cart['payment_id'])) {
     $payment_method_data = fn_get_payment_method_data($cart['payment_id']);
     if (!empty($payment_method_data['status']) && $payment_method_data['status'] != 'A') {
         return array(CONTROLLER_STATUS_DENIED);
     }
 }
 // Remove previous failed order
 if (!empty($cart['failed_order_id']) || !empty($cart['processed_order_id'])) {
     $_order_ids = !empty($cart['failed_order_id']) ? $cart['failed_order_id'] : $cart['processed_order_id'];
     foreach ($_order_ids as $_order_id) {
         fn_delete_order($_order_id);
     }
     $cart['rewrite_order_id'] = $_order_ids;
     unset($cart['failed_order_id'], $cart['processed_order_id']);
 }
 if (!empty($_REQUEST['payment_info'])) {
     $cart['payment_info'] = $_REQUEST['payment_info'];
 }
 if (empty($_REQUEST['payment_info']) && !empty($cart['extra_payment_info'])) {
     $cart['payment_info'] = empty($cart['payment_info']) ? array() : $cart['payment_info'];
     $cart['payment_info'] = array_merge($cart['extra_payment_info'], $cart['payment_info']);
 }
 unset($cart['payment_info']['secure_card_number']);
 $productsDatabaseSaved = db_get_array("SELECT * FROM ?:user_session_products WHERE session_id = ?s AND type = ?s", Session::getId(), 'C');
 $productsDatabaseSavedItemIds = array();
 $productsDatabaseSavedIds = array();
Esempio n. 5
0
 public function delete($id)
 {
     $data = array();
     $status = Response::STATUS_NOT_FOUND;
     if (fn_delete_order($id)) {
         $status = Response::STATUS_OK;
         $data['message'] = 'Ok';
     }
     return array('status' => $status, 'data' => $data);
 }
Esempio n. 6
0
/**
 * Place order handler
 *
 * @param  array $cart   Cart
 * @param  array $auth   Auth
 * @param  array $params Params
 * @return str
 */
function fn_checkout_place_order(&$cart, &$auth, $params)
{
    // Prevent unauthorized access
    if (empty($cart['user_data']['email'])) {
        return PLACE_ORDER_STATUS_DENIED;
    }
    // Prevent using disabled payment method by challenging HTTP data
    if (!empty($params['payment_id'])) {
        $cart['payment_id'] = $params['payment_id'];
    }
    if (isset($cart['payment_id'])) {
        $payment_method_data = fn_get_payment_method_data($cart['payment_id']);
        if (!empty($payment_method_data['status']) && $payment_method_data['status'] != 'A') {
            return PLACE_ORDER_STATUS_DENIED;
        }
    }
    // Remove previous failed order
    if (!empty($cart['failed_order_id']) || !empty($cart['processed_order_id'])) {
        $_order_ids = !empty($cart['failed_order_id']) ? $cart['failed_order_id'] : $cart['processed_order_id'];
        foreach ($_order_ids as $_order_id) {
            fn_delete_order($_order_id);
        }
        $cart['rewrite_order_id'] = $_order_ids;
        unset($cart['failed_order_id'], $cart['processed_order_id']);
    }
    if (!empty($params['payment_info'])) {
        $cart['payment_info'] = $params['payment_info'];
    } else {
        $cart['payment_info'] = array();
    }
    if (empty($params['payment_info']) && !empty($cart['extra_payment_info'])) {
        $cart['payment_info'] = empty($cart['payment_info']) ? array() : $cart['payment_info'];
        $cart['payment_info'] = array_merge($cart['extra_payment_info'], $cart['payment_info']);
    }
    unset($cart['payment_info']['secure_card_number']);
    if (!empty($cart['products'])) {
        foreach ($cart['products'] as $cart_id => $product) {
            $_is_edp = db_get_field("SELECT is_edp FROM ?:products WHERE product_id = ?i", $product['product_id']);
            if (fn_check_amount_in_stock($product['product_id'], $product['amount'], empty($product['product_options']) ? array() : $product['product_options'], $cart_id, $_is_edp, 0, $cart) == false) {
                fn_delete_cart_product($cart, $cart_id);
                return PLACE_ORDER_STATUS_TO_CART;
            }
            if (!fn_allowed_for('ULTIMATE:FREE')) {
                $exceptions = fn_get_product_exceptions($product['product_id'], true);
                if (!isset($product['options_type']) || !isset($product['exceptions_type'])) {
                    $product = array_merge($product, db_get_row('SELECT options_type, exceptions_type FROM ?:products WHERE product_id = ?i', $product['product_id']));
                }
                if (!fn_is_allowed_options_exceptions($exceptions, $product['product_options'], $product['options_type'], $product['exceptions_type'])) {
                    fn_set_notification('E', __('notice'), __('product_options_forbidden_combination', array('[product]' => $product['product'])));
                    fn_delete_cart_product($cart, $cart_id);
                    return PLACE_ORDER_STATUS_TO_CART;
                }
                if (!fn_is_allowed_options($product)) {
                    fn_set_notification('E', __('notice'), __('product_disabled_options', array('[product]' => $product['product'])));
                    fn_delete_cart_product($cart, $cart_id);
                    return PLACE_ORDER_STATUS_TO_CART;
                }
            }
        }
    }
    list($order_id, $process_payment) = fn_place_order($cart, $auth);
    // Clean up saved shipping rates
    unset($_SESSION['product_groups']);
    if (!empty($order_id)) {
        if (empty($params['skip_payment']) && $process_payment == true || !empty($params['skip_payment']) && empty($auth['act_as_user'])) {
            // administrator, logged in as customer can skip payment
            $payment_info = !empty($cart['payment_info']) ? $cart['payment_info'] : array();
            fn_start_payment($order_id, array(), $payment_info);
        }
        fn_order_placement_routines('route', $order_id);
        return PLACE_ORDER_STATUS_OK;
    } else {
        return PLACE_ORDER_STATUS_TO_CART;
    }
}
Esempio n. 7
0
         if (empty($_SESSION['export_ranges']['orders'])) {
             $_SESSION['export_ranges']['orders'] = array('pattern_id' => 'orders');
         }
         $_SESSION['export_ranges']['orders']['data'] = array('order_id' => $_REQUEST['order_ids']);
         unset($_REQUEST['redirect_url']);
         return array(CONTROLLER_STATUS_REDIRECT, 'exim.export?section=orders&pattern_id=' . $_SESSION['export_ranges']['orders']['pattern_id']);
     }
 }
 if ($mode == 'products_range') {
     if (!empty($_REQUEST['order_ids'])) {
         unset($_REQUEST['redirect_url']);
         return array(CONTROLLER_STATUS_REDIRECT, 'products.manage?order_ids=' . implode(',', $_REQUEST['order_ids']));
     }
 }
 if ($mode == 'delete') {
     fn_delete_order($_REQUEST['order_id']);
     return array(CONTROLLER_STATUS_REDIRECT);
 }
 if ($mode == 'update_status') {
     $order_info = fn_get_order_short_info($_REQUEST['id']);
     $old_status = $order_info['status'];
     if (fn_change_order_status($_REQUEST['id'], $_REQUEST['status'], '', fn_get_notification_rules($_REQUEST))) {
         $order_info = fn_get_order_short_info($_REQUEST['id']);
         fn_check_first_order($order_info);
         $new_status = $order_info['status'];
         if ($_REQUEST['status'] != $new_status) {
             Registry::get('ajax')->assign('return_status', $new_status);
             Registry::get('ajax')->assign('color', fn_get_status_param_value($new_status, 'color'));
             fn_set_notification('W', __('warning'), __('status_changed'));
         } else {
             fn_set_notification('N', __('notice'), __('status_changed'));
Esempio n. 8
0
function fn_mve_delete_order(&$order_id)
{
    $parent_id = db_get_field("SELECT parent_order_id FROM ?:orders WHERE order_id = ?i", $order_id);
    if ($parent_id) {
        $count = db_get_field("SELECT COUNT(*) FROM ?:orders WHERE parent_order_id = ?i", $parent_id);
        if ($count == 1) {
            //this is the last child order, so we can delete the parent order.
            fn_delete_order($parent_id);
        }
    }
}
Esempio n. 9
0
 function deleteAllOrders()
 {
     $this->useDatabase($this->destinationDB);
     $query = "SELECT * FROM cscart_orders";
     $result = mysqli_query($this->link, $query) or die("Failed select from: cscart_orders" . mysqli_error($this->link));
     while ($user = mysqli_fetch_array($result, MYSQL_ASSOC)) {
         if (fn_delete_order($user['order_id'])) {
             echo "Order {$user['user_id']} deleted<br>";
         }
     }
 }