Plugin Directory

Changeset 2052717


Ignore:
Timestamp:
03/18/2019 02:33:38 PM (7 years ago)
Author:
danillonunes
Message:

Add option to load donations list

Location:
makemydonation-imo/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • makemydonation-imo/trunk/mmdimo.php

    r2052716 r2052717  
    5353add_shortcode( 'mmdimo_donation_url', 'shortcode_mmdimo_donation_url' );
    5454add_shortcode( 'mmdimo_donations_count', 'shortcode_mmdimo_donations_count' );
     55add_shortcode( 'mmdimo_donations_list', 'shortcode_mmdimo_donations_list' );
    5556add_shortcode( 'mmdimo_donation_charity:name', 'shortcode_mmdimo_donation_charity_name' );
    5657add_shortcode( 'mmdimo_donation_charity:ein', 'shortcode_mmdimo_donation_charity_ein' );
  • makemydonation-imo/trunk/template.php

    r2052716 r2052717  
    176176}
    177177
     178function the_mmdimo_donations_list( $before = '', $after = '', $echo = true, $content = NULL ) {
     179  $donations = get_the_mmdimo_donations_list(0, $content);
     180
     181  if ( strlen($donations) == 0 ) {
     182    return;
     183  }
     184
     185  $donations = $before . $donations . $after;
     186
     187  if ( $echo ) {
     188    echo $donations;
     189  }
     190  else {
     191    return $donations;
     192  }
     193}
     194
     195function get_the_mmdimo_donations_list( $post = 0, $content = NULL, $display_amount = FALSE, $display_charity = TRUE, $display_donor_name = TRUE, $display_destination = TRUE, $display_honoree = FALSE, $display_deceased = FALSE, $display_total_amount = FALSE ) {
     196  $post = get_post( $post );
     197  $id = isset( $post->ID ) ? $post->ID : 0;
     198  $mmdimo_case = get_post_meta( $id, 'mmdimo_case', TRUE );
     199
     200  require_once( MMDIMO_PLUGIN_DIR . '/api.php' );
     201  $donations = mmdimo_api_case_donations_load($mmdimo_case['id']);
     202
     203  if ( $post->ID && $donations['total'] ) {
     204    $list = '<ul class="mmdimo-donations-list">';
     205
     206    foreach ( $donations['data'] as $donation ) {
     207      $item = '<li>';
     208
     209      $item .= '<dl>';
     210
     211      if ( $display_amount ) {
     212        $item .= '<dt class="mmdimo-donations-list-amount">' . __('Amount:', 'mmdimo') . '</dt>';
     213        $item .= '<dd class="mmdimo-donations-list-amount"><span class="mmdimo-donations-list-amount-sep">$</span> <span class="mmdimo-donations-list-amount">' . sprintf('%0.2f', $donation->amount / 100) . '</span></dd>';
     214      }
     215
     216      if ( $display_donor_name ) {
     217        $item .= '<dt class="mmdimo-donations-list-donor-name">' . __('Donor:', 'mmdimo') . '</dt>';
     218        $item .= '<dd class="mmdimo-donations-list-donor-name"><span class="mmdimo-donations-list-donor-first-name">' . $donation->donor->first_name . '</span> <span class="mmdimo-donations-list-donor-last-name">' . $donation->donor->last_name . '</span></dd>';
     219      }
     220
     221      if ( $display_charity && $donation->charities[0] ) {
     222        $item .= '<dt class="mmdimo-donations-list-charity">' . __('Charity:', 'mmdimo') . '</dt>';
     223        $item .= '<dd class="mmdimo-donations-list-charity">' . ucwords(strtolower($donation->charities[0]->charityName)) . '</dd>';
     224      }
     225
     226      if ( $display_destination && $donation->program->destination ) {
     227        $item .= '<dt class="mmdimo-donations-list-program-destination">' . __('Destination:', 'mmdimo') . '</dt>';
     228        $item .= ' <dd class="mmdimo-donations-list-program-destination">' . $donation->program->destination . '</dd> ';
     229      }
     230
     231      if ( $display_honoree && $donation->dedicate->dedicate_honoree ) {
     232        $item .= '<dt class="mmdimo-donations-list-dedicate-honoree">' . __('In the name of:', 'mmdimo') . '</dt>';
     233        $item .= ' <dd class="mmdimo-donations-list-dedicate-honoree">' . $donation->dedicate->dedicate_honoree . '</dd> ';
     234      }
     235      if ( $display_deceased && $donation->dedicate->dedicate_deceased ) {
     236        $item .= '<dt class="mmdimo-donations-list-dedicate-deceased">' . __('In memory of:', 'mmdimo') . '</dt>';
     237        $item .= ' <dd class="mmdimo-donations-list-dedicate-deceased">' . $donation->dedicate->dedicate_deceased . '</dd> ';
     238      }
     239
     240      $item .= '</dl>';
     241      $item .= '</li>';
     242
     243      $item = apply_filters( 'get_the_mmdimo_donations_list_item', $item, $post, $donation );
     244
     245      $list .= $item;
     246    }
     247    $list .= '</ul>';
     248
     249    $total_amount = '';
     250    if ($display_total_amount) {
     251      $total_amount = '<div class="mmdimo-donations-list-total-amount"><strong>' . __('Total:', 'mmdimo') . '</strong> $' . sprintf('%0.2f', $donations['total_amount'] / 100) . '</div>';
     252      $total_amount = apply_filters( 'get_the_mmdimo_donations_list_total_amount', $total_amount, $post, $donations['total_amount'] );
     253    }
     254
     255    $content = '<div class="mmdimo-donations-list"><h3>' . __('Donations', 'mmdimo') . '</h3>' . $total_amount . $content . $list . '</div>';
     256
     257    return apply_filters( 'get_the_mmdimo_donations_list', $content, $post, $donations );
     258  }
     259
     260  return '';
     261}
     262
     263function shortcode_mmdimo_donations_list( $attr = array(), $content = NULL ) {
     264  $display_amount = isset($attr['display_amount'] ) ? $attr['display_amount'] : FALSE;
     265  $display_charity = isset($attr['display_charity'] ) ? $attr['display_charity'] : TRUE;
     266  $display_donor_name = isset($attr['display_donor_name'] ) ? $attr['display_donor_name'] : TRUE;
     267  $display_destination = isset($attr['display_destination'] ) ? $attr['display_destination'] : TRUE;
     268  $display_honoree = isset($attr['display_honoree'] ) ? $attr['display_honoree'] : FALSE;
     269  $display_deceased = isset($attr['display_deceased'] ) ? $attr['display_deceased'] : FALSE;
     270  $display_total_amount = isset($attr['display_total_amount'] ) ? $attr['display_total_amount'] : FALSE;
     271
     272  if (!$content) {
     273    $content = NULL;
     274  }
     275
     276  return get_the_mmdimo_donations_list(0, $content, $display_amount, $display_charity, $display_donor_name, $display_destination, $display_honoree, $display_deceased, $display_total_amount);
     277}
     278
    178279function the_mmdimo_donation_charity_name( $before = '', $after = '', $echo = TRUE ) {
    179280  $charity_name = get_the_mmdimo_donation_charity_name();
Note: See TracChangeset for help on using the changeset viewer.