Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function shippypro_get_sql_order_error( $error ){
- switch ($error) {
- case 1:
- $check = ['caratteri', 'maximum length', 'characters', 'Max length'];
- break;
- case 2:
- $check = ['Cancelled by user'];
- break;
- case 3:
- $check = ['zip-code', ' cap ', 'postcode', 'postal code', 'Postnummer'];
- break;
- default:
- return '';
- }
- $sql = " AND (";
- $checkLen = count($check) - 1;
- foreach ($check as $k => $v) {
- $sql .= "o.order_error_message LIKE '%{$v}%'";
- if ( $k != $checkLen ) $sql .= " OR ";
- }
- return $sql . ") ";
- }
- function shippypro_admin_ordini($error = 0) {
- global $user;
- $uid = $user->uid;
- $isAdminCdiscount = isset( array_flip(shippypro_getWhiteLabelMainUsersArr()['cdiscount'])[$uid] );
- $couriers = array_column( shippypro_ottieni_carrier_array(), '3', '0');
- $isAdminUser = shippypro_isAdminUser();
- if (!$isAdminUser && !shippypro_isMainUserOfWhitelabel("cdiscount", $user->uid)) return;
- $limit = $_GET['limit'] ?? 50;
- $limit = $limit < 10 ? 10 : $limit;
- $limit = $limit > 1000 ? 1000: $limit;
- $courier = $_GET['courier'] ?? NULL;
- $courier = isset( $couriers[$courier]) ? $courier: NULL;
- $ordering = $_GET['order'] ?? 'DESC';
- if ( !in_array($ordering, ['ASC','DESC']) ) $ordering = 'DESC';
- $params = [];
- $search = $_GET['search'] ?? NULL;
- if ( $search ){
- $where = "AND (
- o.ordine_id = :search OR
- o.transaction_id = :search OR
- o.tracking_code = :search
- )";
- $params[':search'] = $search;
- } else {
- $dayStart = strtotime( $_GET['day']??date("Y-m-d") );
- $params = [
- ':dayStart' => $dayStart,
- ':dayEnd' => $dayStart + ( 60*60*24 )
- ];
- $where = "AND created_at > :dayStart AND created_at < :dayEnd";
- }
- $errorFilter = $_GET['error'] ?? NULL;
- if ( $errorFilter ) $where .= shippypro_get_sql_order_error( $errorFilter );
- if ( $courier ){
- $where .= " AND o.carrier_name = :courier";
- $params[':courier'] = $courier;
- }
- $error && ( $where .= " AND o.order_status = 2" );
- $innerUserSql = $isAdminCdiscount ? " AND users.cdiscount = 1": '';
- $orders = db_query("
- SELECT
- o.ordine_id,
- o.transaction_id,
- o.user_id,
- o.created_at,
- o.to_address_name,
- o.marketplace_platform,
- o.marketplace_updated,
- o.carrier_name,
- o.carrier_id,
- o.carrier_closeout,
- o.service_name,
- o.order_status,
- o.order_error_message,
- o.shipment_cost,
- o.shipment_cost_currency,
- o.label_pdf_url,
- o.invoice_url,
- o.additionaldocs_url,
- o.tracker_id,
- o.tracking_code,
- users.first_name AS userfirstname,
- users.last_name AS userlastname,
- shippypro_trackers.status AS trackinglaststatus
- FROM shippypro_ordine AS o
- INNER JOIN users ON o.user_id = users.uid {$innerUserSql}
- LEFT JOIN shippypro_trackers ON o.tracker_id = shippypro_trackers.tracker_id
- WHERE 1 $where
- ORDER BY created_at $ordering, ordine_id DESC
- LIMIT $limit",
- $params
- );
- $getStatusText = function( $status, $err = '' ){
- return t(['Pending', 'Completed', 'To check'][$status]) .
- ( (!($status-2)&&$err) ? (": " . nl2br($err)): '' );
- };
- $orders = $orders->fetchAll();
- return get_view( 'admin/orders', [
- 'uid' => $uid,
- 'limit' => $limit,
- 'error' => $error,
- 'orders' => $orders,
- 'couriers' => $couriers,
- 'errorFilter' => $errorFilter,
- 'isAdminUser' => $isAdminUser,
- 'getStatusText' => $getStatusText,
- 'trackingmodalhtml' => shippypro_getTrackingModalsHtml()
- ], PATH_PANEL_VIEW );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement