/** * @since 3.5 */ function get_order_summary_content($order, $checkout) { $order_items = $relist = ''; $items = $order->get_items(); $order_plan = cp_get_order_plan_data($order); $plan_type = $order_plan['type']; foreach ($items as $item) { if (!APP_Item_Registry::is_registered($item['type'])) { $item_title = __('Unknown', APP_TD); } else { $item_title = APP_Item_Registry::get_title($item['type']); } if ($item['type'] == $plan_type) { $item_title .= $relist; } $item_html = $order_items ? ' / ' . $item_title : $item_title; $order_items .= $item_html; } if (!$order_items) { $order_items = '-'; } return $order_items; }
/** * Restores existing membership meta on previously trashed orders. * * @since 3.5 */ function _cp_restore_order_membership_meta($post_id) { $post = get_post($post_id); if (APPTHEMES_ORDER_PTYPE != $post->post_type) { return; } $order = appthemes_get_order($post_id); // check if the order is for a membership purchase $pack = cp_get_order_plan_data($order, CP_PACKAGE_MEMBERSHIP_PTYPE); if (!$pack) { return; } $user_id = $post->post_author; $trashed_order_id = get_user_meta($user_id, '_trashed-membership_order_id', true); // check if this is an order with a previously active membership previously trashed if ($post_id == $trashed_order_id) { $active_pack_id = get_user_meta($user_id, 'active_membership_pack', true); // only restore if there's not a new membership already activated - otherwise skip and clear previous trash meta if (!$active_pack_id) { $pack_id = get_user_meta($user_id, '_trashed-active_membership_pack', true); $expire_date = get_user_meta($user_id, '_trashed-membership_expires', true); // restore membership meta if the order is trashed update_user_meta($user_id, 'active_membership_pack', $pack_id); update_user_meta($user_id, 'membership_expires', $expire_date); } // delete the temp trashed membership meta delete_user_meta($user_id, '_trashed-membership_order_id'); delete_user_meta($user_id, '_trashed-active_membership_pack'); delete_user_meta($user_id, '_trashed-membership_expires'); } }