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));
 }
コード例 #2
0
 /**
  * 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);
         }
     }
 }
コード例 #3
0
 /**
  * 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');
 }