Advertisement
Guest User

Untitled

a guest
Dec 12th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. <?php
  2.  
  3. class MS_View_Shortcode_Membership_Form extends MS_View {
  4.  
  5. protected $data;
  6.  
  7. public function to_html() {
  8. $settings = MS_Factory::load( 'MS_Model_Settings' );
  9.  
  10. ob_start();
  11. if ( ! MS_Model_Member::is_logged_user() ) {
  12. $this->login_html();
  13. }
  14. else {
  15. ?>
  16. <div class="ms-membership-form-wrapper">
  17. <legend><?php _e( 'Your Membership', MS_TEXT_DOMAIN ) ?></legend>
  18. <p class="ms-alert-box <?php echo $this->data['member']->has_membership() ? 'ms-alert-success' : ''; ?>">
  19. <?php
  20. if ( $this->data['member']->has_membership() ) {
  21. _e( 'Your current subscriptions are listed here. You can renew, cancel or upgrade your subscriptions by using the forms below.', MS_TEXT_DOMAIN );
  22. foreach ( $this->data['member']->ms_relationships as $membership_relationship ){
  23. $this->membership_box_html( $membership_relationship->get_membership(), MS_Helper_Membership::MEMBERSHIP_ACTION_CANCEL );
  24. }
  25. }
  26. else {
  27. _e( 'We have the following subscriptions available for our site. To join, simply click on the <strong>Sign Up</strong> button and then complete the registration details.', MS_TEXT_DOMAIN );
  28. }
  29. ?>
  30. </p>
  31. <?php if ( $this->data['member']->has_membership() && ! empty( $this->data['memberships'] ) ) { ?>
  32. <legend class="ms-upgrade-from">
  33. <?php _e( 'Upgrade to', MS_TEXT_DOMAIN ); ?>
  34. </legend>
  35. <?php } ?>
  36. <form class="ms-membership-form" method="post">
  37. <div class="ms-form-price-boxes">
  38. <?php
  39. do_action( 'ms_membership_form_before_memberships' );
  40.  
  41. $membership_ids = array_keys( $this->data['member']->ms_relationships );
  42. $move_from_id = reset( $membership_ids );
  43. $action = MS_Helper_Membership::MEMBERSHIP_ACTION_SIGNUP;
  44.  
  45. if ( ! MS_Model_Addon::is_enabled( MS_Model_Addon::ADDON_MULTI_MEMBERSHIPS ) && $move_from_id ) {
  46. $action = MS_Helper_Membership::MEMBERSHIP_ACTION_MOVE;
  47. }
  48.  
  49. foreach ( $this->data['memberships'] as $membership ) {
  50. $this->membership_box_html( $membership, $action, $move_from_id, $settings );
  51. }
  52.  
  53. do_action( 'ms_membership_form_after_memberships' );
  54. ?>
  55. </div>
  56. </form>
  57. </div>
  58. <div style='clear:both;'></div>
  59. <?php
  60. }
  61. $html = ob_get_clean();
  62. return $html;
  63. }
  64.  
  65. private function membership_box_html( $membership, $action, $move_from_id = 0, $settings = null ) {
  66. if ( 0 == $membership->price ) {
  67. $price = __( 'Free', MS_TEXT_DOMAIN );
  68. } else {
  69. $price = sprintf(
  70. '%s %s',
  71. @$settings->currency,
  72. number_format( $membership->price, 2 )
  73. );
  74. }
  75. $price = apply_filters( 'ms_membership_price', $price, $membership );
  76.  
  77. ?>
  78. <div id="ms-membership-wrapper-<?php echo esc_attr( $membership->id ) ?>" class="ms-membership-details-wrapper">
  79. <div class="ms-top-bar">
  80. <span class="ms-title"><?php echo $membership->name; ?></span>
  81. </div>
  82. <div class="ms-price-details">
  83. <div class="ms-description"><?php echo $membership->description; ?></div>
  84. <div class="ms-price"><?php echo $price; ?></div>
  85. </div>
  86. <div class="ms-bottom-bar">
  87. <span class="ms-link">
  88. <?php
  89. $query_args = array( 'action' => $action, 'membership' => $membership->id ) ;
  90. if ( ! empty( $move_from_id ) ) {
  91. $query_args[ 'move_from' ] = $move_from_id;
  92. }
  93. $link = wp_nonce_url( add_query_arg( $query_args ), $action );
  94. $class = apply_filters( 'ms_membership_form_button_class', 'ms-signup-button' );
  95. ?>
  96. <a href="<?php echo esc_url( $link ) ?>" class="<?php echo esc_attr( $class ); ?>">
  97. <?php echo esc_html( $this->data[ "{$action}_text" ] ); ?>
  98. </a>
  99. </span>
  100. </div>
  101. </div>
  102. <?php
  103. }
  104.  
  105. private function login_html() {
  106. ?>
  107. <div class="ms-membership-form-wrapper">
  108. <legend><?php _e( 'Your Membership', MS_TEXT_DOMAIN ) ?></legend>
  109. <div class="ms-alert-box ms-alert-error">
  110. <?php _e( 'You are not currently logged in. Please login to view your membership information.', MS_TEXT_DOMAIN ); ?>
  111. </div>
  112. <?php echo do_shortcode( '[ms-membership-login]' ); ?>
  113. </div>
  114. <?php
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement