require_once TEMPLATEPATH . '/includes/gateways/paypal/ipn.php'; } new CP_Blog_Archive(); new CP_Ads_Categories(); new CP_Add_New(); new CP_Add_New_Confirm(); new CP_Membership(); new CP_Membership_Confirm(); new CP_Edit_Item(); new CP_User_Dashboard(); new CP_User_Profile(); // set global path variables define('CP_DASHBOARD_URL', get_permalink(CP_User_Dashboard::get_id())); define('CP_PROFILE_URL', get_permalink(CP_User_Profile::get_id())); define('CP_EDIT_URL', get_permalink(CP_Edit_Item::get_id())); define('CP_ADD_NEW_URL', get_permalink(CP_Add_New::get_id())); define('CP_ADD_NEW_CONFIRM_URL', get_permalink(CP_Add_New_Confirm::get_id())); define('CP_MEMBERSHIP_PURCHASE_URL', get_permalink(CP_Membership::get_id())); define('CP_MEMBERSHIP_PURCHASE_CONFIRM_URL', get_permalink(CP_Membership_Confirm::get_id())); add_theme_support('app-versions', array('update_page' => 'admin.php?page=settings&firstrun=1', 'current_version' => $app_version, 'option_key' => 'cp_version')); add_theme_support('app-plupload', array('max_file_size' => get_option('cp_max_image_size') . 'kb', 'allowed_files' => get_option('cp_num_images'))); add_theme_support('app-wrapping'); add_theme_support('app-login', array('login' => 'tpl-login.php', 'register' => 'tpl-registration.php', 'recover' => 'tpl-password-recovery.php', 'reset' => 'tpl-password-reset.php', 'redirect' => get_option('cp_disable_wp_login') == 'yes', 'settings_page' => 'admin.php?page=settings&setTabIndex=4')); add_theme_support('app-feed', array('post_type' => APP_POST_TYPE, 'blog_template' => 'tpl-blog.php', 'alternate_feed_url' => get_option('cp_feedburner_url'))); // add query var for search functions function cp_add_query_vars() { global $wp; $wp->add_query_var('scat'); } add_filter('init', 'cp_add_query_vars');
/** * Update orders to include urls, checkout type, and hash. * * @since 3.4 */ function cp_upgrade_340_orders() { $order_ids = get_option('cp_upgrade_340_orders'); if (!$order_ids || $order_ids == 'done') { return; } $i = 0; $left_orders = $order_ids; foreach ($order_ids as $key => $order_id) { $i++; // all orders updated, quit the loop if (empty($left_orders)) { break; } // save current progress, and continue on next page load (memory and execution time have limits) if ($i > 50) { echo scb_admin_notice(sprintf(__('Orders Update Progress: %d orders left.', APP_TD), count($left_orders))); update_option('cp_upgrade_340_orders', $left_orders); return; } unset($left_orders[$key]); // updated order check if ($checkout_hash = get_post_meta($order_id, 'checkout_hash', true)) { continue; } // retrieve order object $order = appthemes_get_order($order_id); if (!$order) { continue; } // determine checkout type and url if ($item = $order->get_item(CP_ITEM_LISTING)) { $listing_orders_args = array('connected_type' => APPTHEMES_ORDER_CONNECTION, 'connected_query' => array('post_status' => 'any'), 'connected_to' => $item['post_id'], 'post_status' => 'any', 'fields' => 'ids', 'nopaging' => true); $listing_orders = new WP_Query($listing_orders_args); if (empty($listing_orders->posts) || $order_id == min($listing_orders->posts)) { $checkout_type = 'create-listing'; $checkout_url = get_permalink(CP_Add_New::get_id()); } else { $checkout_type = 'renew-listing'; $checkout_url = add_query_arg('listing_renew', $item['post_id'], get_permalink(CP_Renew_Listing::get_id())); } } else { if ($item = $order->get_item(CP_ITEM_MEMBERSHIP)) { $checkout_type = 'membership-purchase'; $checkout_url = get_permalink(CP_Membership::get_id()); } else { // unknown/invalid order continue; } } // generate new checkout hash $hash = substr(sha1(time() . mt_rand(0, 1000)), 0, 20); // if url set, get the hash if ($complete_url = get_post_meta($order_id, 'complete_url', true)) { $parsed_url = parse_url($complete_url); parse_str($parsed_url['query'], $url_args); if (!empty($url_args['hash'])) { $hash = $url_args['hash']; } } $complete_url = add_query_arg(array('step' => 'order-summary', 'hash' => $hash), $checkout_url); $cancel_url = add_query_arg(array('step' => 'gateway-select', 'hash' => $hash), $checkout_url); update_post_meta($order_id, 'complete_url', $complete_url); update_post_meta($order_id, 'cancel_url', $cancel_url); update_post_meta($order_id, 'checkout_type', $checkout_type); update_post_meta($order_id, 'checkout_hash', $hash); } // mark this upgrage as completed update_option('cp_upgrade_340_orders', 'done'); }