Advertisement
Guest User

Cubepoints BuddyPress - /bp-cubepoint-templatetags.php

a guest
Sep 13th, 2010
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.87 KB | None | 0 0
  1. <?php
  2. class BP_CubePoint_Template {
  3.     var $current_point = -1;
  4.     var $point_count;
  5.     var $points;
  6.     var $point;
  7.  
  8.     var $in_the_loop;
  9.  
  10.     var $pag_page;
  11.     var $pag_per_page;
  12.     var $pag_links;
  13.     var $pag_table_links;
  14.  
  15.     function BP_CubePoint_Template( $args = '' ) {
  16.         $this->__construct( $args);
  17.     }
  18.    
  19.     function __construct( $args = '' ) {
  20.         global $bp;
  21.  
  22.        
  23.         $defaults = bp_cubepoint_default_query_args();
  24.        
  25.         $r = apply_filters('bp_cubepoint_template_args',wp_parse_args( $args, $defaults ));
  26.         extract( $r , EXTR_SKIP);
  27.  
  28.         $this->pag_page = $page;
  29.         // WP-MU FIX
  30.         // $this->pag_per_page = $per_page;
  31.         $cp_bp_per_page_wpmufix = get_option('bp_points_logs_per_page_cp_bp');
  32.         $this->pag_per_page = (int)$cp_bp_per_page_wpmufix;
  33.         $this->uid = $uid;
  34.        
  35.         /***
  36.          * You can use the "type" variable to fetch different things to output.
  37.          * For example on the groups template loop, you can fetch groups by "newest", "active", "alphabetical"
  38.          * and more. This would be the "type". You can then call different functions to fetch those
  39.          * different results.
  40.          */
  41.  
  42.         $total = bp_cubepoint_get_point_count($r);
  43.         $this->points = bp_cubepoint_get_points($r);
  44.  
  45.         // Item Requests
  46.         if ( !$max || $max >= $total )
  47.             $this->total_point_count = $total;
  48.         else
  49.             $this->total_point_count = $max;
  50.  
  51.         if ( !$max || $max >= count($this->points))
  52.             $this->point_count = count($this->points);
  53.         else
  54.             $this->point_count = $max;
  55.  
  56.         $this->pag_links = paginate_links( array(
  57.             'base' => $bp->displayed_user->domain . $bp->cubepoint->slug .'/'. $bp->cubepoint->points_slug .'/%_%',
  58.             'format' => '%#%',
  59.             'total' => ceil( (int) $this->total_point_count / (int)$cp_bp_per_page_wpmufix ),
  60.             'current' => (int) $this->pag_page,
  61.             'prev_text' => '&larr;',
  62.             'next_text' => '&rarr;',
  63.             'mid_size' => 1
  64.         ));
  65.         $this->pag_table_links = paginate_links( array(
  66.             'base' => $bp->displayed_user->domain . $bp->cubepoint->slug .'/'. $bp->cubepoint->table_slug .'/%_%',
  67.             'format' => '%#%',
  68.             'total' => ceil( (int) $this->total_point_count / (int)$cp_bp_per_page_wpmufix ),
  69.             'current' => (int) $this->pag_page,
  70.             'prev_text' => '&larr;',
  71.             'next_text' => '&rarr;',
  72.             'mid_size' => 1
  73.         ));
  74.         if ($this->point_count)
  75.             $this->point = $this->points[0];
  76.        
  77.     }
  78.  
  79.     function has_points() {
  80.         if ( $this->current_point + 1 < $this->point_count ) {
  81.             return true;
  82.         } elseif ( $this->current_point + 1 == $this->point_count && $this->point_count > 0) {
  83.             do_action('bp_cubepoint_loop_end');
  84.             // Do some cleaning up after the loop
  85.             $this->rewind_points();
  86.         }
  87.  
  88.         $this->in_the_loop = false;
  89.         return false;
  90.     }
  91.  
  92.     function next_point() {
  93.         $this->current_point++;
  94.         $this->point = $this->points[$this->current_point];
  95.  
  96.         return $this->point;
  97.     }
  98.  
  99.     function rewind_points() {
  100.         $this->current_point = -1;
  101.         if ( $this->point_count > 0 ) {
  102.             $this->point = $this->points[0];
  103.         }
  104.     }
  105.  
  106.     function the_point() {
  107.         global $point, $bp;
  108.  
  109.         $this->in_the_loop = true;
  110.         $this->point = $this->next_point();
  111.  
  112.         if ( 0 == $this->current_point ) // loop has just started
  113.             do_action('bp_cubepoint_loop_start');
  114.     }
  115.    
  116. }
  117.  
  118. function bp_cubepoint_query_points( $args = '' ) {
  119.     global $points_template;
  120.  
  121.     $points_template = new BP_CubePoint_Template( $args );
  122.  
  123.     return $points_template->has_points();
  124. }
  125.  
  126. function bp_cubepoint_the_point() {
  127.     global $points_template;
  128.     return $points_template->the_point();
  129. }
  130.  
  131. function bp_cubepoint_has_points() {
  132.     global $points_template;
  133.     return $points_template->has_points();
  134. }
  135.  
  136. function bp_cubepoint_point_user() {
  137.     echo bp_cubepoint_get_point_user();
  138. }
  139.     function bp_cubepoint_get_point_user() {
  140.         global $bp,$points_template;
  141.         $user = get_userdata($points_template->point->uid);
  142.        
  143.         $source_tmp = get_userdata($points_template->point->uid);
  144.         $source = '<a href="'.PLUGIN_DIR.'cp_about.php?u='.$source_tmp->ID.'&width=500&height=200" title="'.$source_tmp->user_login.'" class="thickbox">'.$source_tmp->user_login.'</a>';
  145.                    
  146.         return apply_filters( 'bp_cubepoint_get_point_user', $source );
  147.     }
  148.  
  149. function bp_cubepoint_point_source() {
  150.     echo bp_cubepoint_get_point_source();
  151. }
  152.     function bp_cubepoint_get_point_source() {
  153.         global $points_template;
  154.         return apply_filters( 'bp_cubepoint_get_point_source', $points_template->point->source );
  155.     }
  156.  
  157. function bp_cubepoint_point_type() {
  158.     echo bp_cubepoint_get_point_type();
  159. }
  160. function bp_cubepoint_get_point_type() {
  161.         global $bp,$points_template;       
  162.        
  163.         switch ($points_template->point->type) {
  164.                 case "comment":
  165.                     $source = get_comment_link(bp_cubepoint_get_point_source());
  166.                     if(bp_cubepoint_get_point_points()>0){
  167.                         $type=__('Comment Posted','cp');
  168.                         $source= '<a href="'.$source.'" />Comment #' . $result->source . '</a>';
  169.                     } else {
  170.                         $type=__('Comment Removed','cp');
  171.                         $source= 'Comment #' . bp_cubepoint_get_point_source();
  172.                     }
  173.                     break;
  174.                 case "post":
  175.                     $source = get_post(bp_cubepoint_get_point_source());
  176.                     if($source->ID!=''){
  177.                         $source= '<a href="' . $source->guid . '" title="'.$source->post_title.'">Post #'.$source->ID.'</a>' ;
  178.                     }
  179.                     else {$source= 'Post #'.bp_cubepoint_get_point_source();}
  180.                     $type=__('Published Post','cp');
  181.                     break;
  182.                 case "reg":
  183.                     $source = '';
  184.                     $type=__('Registration','cp');
  185.                     break;
  186.                 case "login":
  187.                     $source = '';
  188.                     $type=__('"Daily" Login','cp');
  189.                     break;
  190.                 case "admin":
  191.                     $type=__('Administrative','cp');
  192.                     $source_tmp = get_userdata(bp_cubepoint_get_point_source());
  193.                     $source = '<a href="'.PLUGIN_DIR.'cp_about.php?u='.$source_tmp->ID.'&width=500&height=200" title="'.$source_tmp->user_login.'" class="thickbox">'.$source_tmp->user_login.'</a>';
  194.                     break;
  195.                 case "reset":
  196.                     $type=__('Reset','cp');
  197.                     $source_tmp = get_userdata(bp_cubepoint_get_point_source());
  198.                     $source = '<a href="'.PLUGIN_DIR.'cp_about.php?u='.$source_tmp->ID.'&width=500&height=200" title="'.$source_tmp->user_login.'" class="thickbox">'.$source_tmp->user_login.'</a>';
  199.                     break;
  200.                 case "donate":
  201.                     if(bp_cubepoint_get_point_points()>0){
  202.                         $type=__('Donation from','cp');
  203.                         $source_tmp = bp_cubepoint_get_point_source();
  204.                         $source_tmp = get_userdata($source_tmp);
  205.                         $source = '<a href="'.PLUGIN_DIR.'cp_about.php?u='.$source_tmp->ID.'&width=500&height=200" title="'.$source_tmp->user_login.'" class="thickbox">'.$source_tmp->user_login.'</a>';
  206.                         } else {
  207.                         $type=__('Donation to','cp');
  208.                         $source_tmp = bp_cubepoint_get_point_source();
  209.                         $source_tmp = get_userdata($source_tmp);
  210.                         $source = '<a href="'.PLUGIN_DIR.'cp_about.php?u='.$source_tmp->ID.'&width=500&height=200" title="'.$source_tmp->user_login.'" class="thickbox">'.$source_tmp->user_login.'</a>';
  211.                         }
  212.                     break;
  213.                 default:
  214.                     $type=$points_template->point->type;
  215.                     $source = '';
  216.                     break;
  217.                 }
  218.        
  219.        
  220.        
  221. //      return apply_filters( 'bp_cubepoint_get_point_type', $points_template->point->type );
  222.         return apply_filters( 'bp_cubepoint_get_point_type', $type . ' ' . $source );
  223.     }
  224. function bp_cubepoint_point_points() {
  225.     echo bp_cubepoint_get_point_points();
  226. }
  227.     function bp_cubepoint_get_point_points() {
  228.         global $points_template;
  229.         return apply_filters( 'bp_cubepoint_get_point_points', $points_template->point->points );
  230.     }
  231. function bp_cubepoint_point_timestamp() {
  232.     echo bp_cubepoint_get_point_timestamp();
  233. }
  234.     function bp_cubepoint_get_point_timestamp() {
  235.         global $points_template;
  236.         return apply_filters( 'bp_cubepoint_get_point_timestamp', cp_relativeTime($points_template->point->timestamp) );
  237.     }
  238. function bp_cubepoint_point_id() {
  239.     echo bp_cubepoint_get_point_id();
  240. }
  241.     function bp_cubepoint_get_point_id() {
  242.         global $points_template;
  243.         return apply_filters( 'bp_cubepoint_get_point_id', $points_template->point->id );
  244.     }
  245.  
  246. function bp_cubepoint_total_point_count() {
  247.     echo bp_cubepoint_get_total_point_count();
  248. }
  249.     function bp_cubepoint_get_total_point_count() {
  250.         global $points_template;
  251.         return apply_filters( 'bp_cubepoint_get_total_point_count', $points_template->total_point_count );
  252.     }
  253.  
  254. function bp_cubepoint_point_pagination($always_show = false) {
  255.     echo bp_cubepoint_get_point_pagination($always_show);
  256. }
  257.     function bp_cubepoint_get_point_pagination($always_show = false) {
  258.         global $points_template;
  259.         if ($always_show || $points_template->total_point_count > $points_template->pag_per_page)
  260.         return apply_filters( 'bp_cubepoint_get_point_pagination', $points_template->pag_links );
  261.     }
  262. function bp_cubepoint_point_table_pagination($always_show = false) {
  263.     echo bp_cubepoint_get_point_table_pagination($always_show);
  264. }
  265.     function bp_cubepoint_get_point_table_pagination($always_show = false) {
  266.         global $points_template;
  267.         if ($always_show || $points_template->total_point_count > $points_template->pag_per_page)
  268.         return apply_filters( 'bp_cubepoint_get_point_table_pagination', $points_template->pag_table_links );
  269.     }
  270. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement