Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Cubepoints BuddyPress - /bp-cubepoint-templatetags.php

By: a guest on Sep 13th, 2010  |  syntax: PHP  |  size: 8.87 KB  |  views: 94  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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. ?>
clone this paste RAW Paste Data