public function prepare_items() { $this->_column_headers = array($this->get_columns(), $this->get_hidden_columns(), $this->get_sortable_columns()); $total_items = MS_Addon_Coupon_Model::get_coupon_count(); $per_page = $this->get_items_per_page('coupon_per_page', 10); $current_page = $this->get_pagenum(); $args = array('posts_per_page' => $per_page, 'offset' => ($current_page - 1) * $per_page); $this->items = apply_filters('ms_addon_coupon_helper_listtyble_items', MS_Addon_Coupon_Model::get_coupons($args)); $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page)); }
/** * Checks all Memberships and creates/updates the payment plan on stripe if * the membership changed since the plan was last changed. * * This function is called when the gateway is activated and after a * membership was saved to database. * * @since 1.0.0 */ public function update_stripe_data() { if (!$this->active) { return false; } $this->_api->set_gateway($this); // 1. Update all playment plans. $memberships = MS_Model_Membership::get_memberships(); foreach ($memberships as $membership) { $this->update_stripe_data_membership($membership); } // 2. Update all coupons (if Add-on is enabled) if (MS_Addon_Coupon::is_active()) { $coupons = MS_Addon_Coupon_Model::get_coupons(); foreach ($coupons as $coupon) { $this->update_stripe_data_coupon($coupon); } } }
/** * Main entry point: Handles the export action. * * This task will exit the current request as the result will be a download * and no HTML page that is displayed. * * @since 1.0.0 */ public function process() { $data = (object) array(); $data->source_key = self::KEY; $data->source = 'Membership2'; $data->plugin_version = MS_PLUGIN_VERSION; $data->export_time = date('Y-m-d H:i'); $data->notes = array(__('Exported data:', 'membership2'), __('- Memberships (without protection rules)', 'membership2'), __('- Members (including Stripe/Authorize payment settings)', 'membership2'), __('- Subscriptions (link between Members and Memberships)', 'membership2'), __('- Invoices', 'membership2')); $data->memberships = array(); // Export the base membership (i.e. the Membership2 settings) $membership = MS_Model_Membership::get_base(); $data->memberships[] = $this->export_membership($membership->id); // Export all memberships. $memberships = MS_Model_Membership::get_memberships(array('post_parent' => 0)); foreach ($memberships as $membership) { $data->memberships[] = $this->export_membership($membership->id); } // Export the members. $members = MS_Model_Member::get_members(); $data->members = array(); foreach ($members as $member) { if (!$member->is_member) { continue; } $data->members[] = $this->export_member($member->id); } // Export plugin settings. $obj = array(); $data->settings = $this->export_settings(); // Export Coupons. $coupons = MS_Addon_Coupon_Model::get_coupons(array('nopaging' => true)); $data->coupons = array(); foreach ($coupons as $coupon) { if (intval($coupon->max_uses) <= intval($coupon->used)) { continue; } $data->coupons[] = $this->export_coupon($coupon->id); } lib3()->net->file_download(json_encode($data), 'membership2-export.json'); }