function fix_svg() { echo ''; } add_action('admin_head', 'fix_svg'); function cc_mime_types($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('upload_mimes', 'cc_mime_types'); ?> function check_login_for_comment_attach() { if ( ! is_user_logged_in() ) { add_filter( 'dco_ca_disable_attachment_field', '__return_true'); } } add_action('init', 'check_login_for_comment_attach'); function filter_fileupload_maxk( $maxk ) { global $current_blog; // the blog_upload_map data could also be stored as an option for each blog $blog_upload_map = array( 1 => 300000, // blog 1 / main blog 4121 => 300000, // blog 4121 datenanalyse2016 can upload files 300MB in size or less 4117 => 300000, // blog 4117 arduino2016 can upload files 300MB in size or less 5103 => 300000, // blog 5103 arduino2016g2 can upload files 300MB in size or less 5105 => 300000, // blog 5105 arduino2016g3 can upload files 300MB in size or less 8336 => 1048576 // blog 8336 kmaebforschungsmethoden can upload file up to 1024MB in size ); if ( isset( $blog_upload_map[$current_blog->blog_id] ) && absint( $blog_upload_map[$current_blog->blog_id] ) ) { $maxk = $blog_upload_map[$current_blog->blog_id]; } return $maxk; } //add_filter( 'pre_site_option_fileupload_maxk', 'filter_fileupload_maxk' ); function oo_get_activity_before_bp_save_post($post_id,$post,$user_id=false){ global $bp,$wpdb; $post_id= (int)$post_id; $blog_id= (int)$wpdb->blogid; if(!$user_id) $user_id = (int)$post->post_author; if ( $post->post_type != 'post' ) return false; if ( 'publish' == $post->post_status && '' == $post->post_password ) { if((int)get_blog_option( $blog_id, 'blog_public' )== 0){ error_log("add filter blog_public"); add_filter('blog_option_blog_public','oo_get_activity_change_blog_public',10,2); } error_log("oo_get_activity_before_bp_save_post user:".$user_id." blog:".$blog_id); } } /* add action with prority 9 (bp uses 10) */ //error_log("add action oo_get_activity_before_bp_save_post 9 2"); add_action( 'save_post','oo_get_activity_before_bp_save_post',9,3); function oo_get_activity_after_bp_save_post($post_id,$post,$user_id=false){ global $bp,$wpdb; $post_id= (int)$post_id; $blog_id= (int)$wpdb->blogid; if(!$user_id) $user_id = (int)$post->post_author; if ( $post->post_type != 'post' ) return false; if ( 'publish' == $post->post_status && '' == $post->post_password ) { if((int)get_blog_option( $blog_id, 'blog_public' )== 0){ error_log("remove filter blog_public"); remove_filter('blog_option_blog_public','oo_get_activity_change_blog_public',10,2); } error_log("oo_get_activity_after_bp_save_post user:".$user_id." blog:".$blog_id); } } /* add action with prority 11 (bp uses 10) */ add_action( 'save_post','oo_get_activity_after_bp_save_post',11,3); function oo_get_activity_change_blog_public($value,$blog_id){ $value=(int)$value; error_log("oo_get_activity_change_blog_public value:".$value." blog_id:".$blog_id); if(!$value)$value=-1; error_log("oo_get_activity_blog_public new value:".$value); return $value; } // Fix the URL root for SSL function fix_ssl_siteurl($url) { $scheme = (is_ssl() ? 'https' : 'http'); if(0 === strpos($url, 'http')) { if(is_ssl()) $url = str_replace('http://', "{$scheme}://", $url); } return $url; } add_filter('option_siteurl', 'fix_ssl_siteurl'); add_filter('option_home', 'fix_ssl_siteurl'); add_filter( 'option_uploads_use_yearmonth_folders', '__return_false', 100 ); /* BuddyPress activity stream filter for "More Privacey Options" Plugin Plugin Name: activity privacy filter Version: 0.5 Description: BuddyPress Filter activity stream for private Blogs. Just drop in mu-plugins. Author: Oliver Oster olio@zmml.uni-bremen.de Author URI: http://blogs.zmml.uni-bremen.de/olio This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ add_filter('bp_activity_get_sitewide_activity','uhb_activity_filter'); add_filter('bp_activity_get_user_activity', 'uhb_activity_filter'); add_filter('bp_activity_get_friends_activity','uhb_activity_filter'); function uhb_array_filter_newkey($farray,$function){ $return = array(); $idx=0; foreach ($farray as $key=>$val){ if($function($val)==true) $return[$idx++]=$val; } return $return; } function uhb_activity_filter ($arg){ $result=$arg; $result['activities']=uhb_array_filter_newkey($arg['activities'],'uhb_array_filter'); $result['total']=count($result['activities']); return $result; } function uhb_array_filter($part){ $result=true; if($part->component_name=='blogs'){ $blogid=get_blogid($part->primary_link); $privacy=get_blog_option($blogid,'blog_public'); if($privacy<0)$result=false; } return $result; } function get_blogid($link){ global $wpdb; $link=str_replace(get_blog_option(1,'siteurl'),"",$link); $blogid=1; if(strlen($link)>0){ $link_parts=explode( "/" , $link ); $blogids=$wpdb->get_row("SELECT blog_id FROM wp_blogs WHERE path LIKE '/".$link_parts[1]."/'"); if($blogids) $blogid=$blogids->blog_id; } return $blogid; } //add_filter( 'http_request_args', 'fergcorp_debug_url_request_args', 10, 2 ); function fergcorp_debug_url_request_args($r, $url){ error_log("http_request_args URL:".$url); error_log("options ".print_r($r,true)); $r["timeout"] = 10; return $r; } function custom_mime_types($mimes) { // Add new MIME types $mimes['svg'] = 'image/svg+xml'; //$mimes['woff'] = 'font/woff'; //$mimes['woff2'] = 'font/woff2'; $mimes['woff'] = 'application/font-woff'; $mimes['woff2'] = 'application/font-woff2'; return $mimes; } add_filter('upload_mimes', 'custom_mime_types'); add_action('admin_menu', 'remove_menus'); function remove_menus() { global $submenu; remove_submenu_page ('users.php', 'user-new.php'); //Dashboard->Updates } //create_users $role = get_role( 'administrator' ); if ( isset($role) && $role->has_cap('create_users') && ! is_main_site( get_current_blog_id() ) ) { // Because this is saved to the database, we check first // to see if it's already been done $role->remove_cap('create_users'); } /* https://elearning.uni-bremen.de/plugins_packages/ZMML/EPoocsPlugin/get.php */ /* https://elearning.uni-bremen.de/plugins_packages/ZMML/EPoocsPlugin/get.php?short=8889b55cfa72e44ed523c7789d52ea94&cancel_login=1 */ wp_embed_register_handler( 'zmml_epoocs', '#https://elearning\.uni-bremen\.de/plugins_packages/ZMML/EPoocsPlugin/get\.php?short=([^"&?/ ]{32})(.*)#i', 'wp_embed_handler_zmml_pumukit' ); function wp_embed_handler_zmml_epoocs($matches, $attr, $url, $rawattr ) { error_log("zmml_epoocs: matches: ".print_r($matches,true)); error_log("zmml_epoocs: url: ".$url); $embed=''; $embed = ""; error_log("zmml_epoocs emebed: ".$embed); return apply_filters( 'embed_zmml_epoocs', $embed, $matches, $attr, $url, $rawattr ); } function uhb_adminbar_impr_menu() { global $bp; echo '
with an id value of "shibboleth_login" so that * deployers can style this however they choose. */ public function login_form() { error_log("uhbshib login_form"); $login_url = site_url( 'wp-login.php', 'login_post' ); $login_url = add_query_arg('action', 'uhbshib', $login_url); $login_url = remove_query_arg('reauth', $login_url); echo '
' . __('Shibboleth Login', 'uhbshib') . '
'; } private function create_new_user($user_login){ error_log("create_new_user"); if ( empty($user_login) ) return null; // create account and flag as a shibboleth acount require_once( ABSPATH . WPINC . '/registration.php' ); //$user_id = wp_insert_user(array('user_login'=>$user_login)); $random_password = wp_generate_password( $length=20, $include_standard_special_chars=false ); $user_id = wp_create_user( $user_login, $random_password); $user = new WP_User($user_id); $user->remove_all_caps(); // don't add new user to any blog... error_log("user:".print_r($user,true)); // always update user data and role on account creation $this->update_user_data($user->ID, true); return $user; } private function update_user_data($user_id,$new_user=true) { require_once( ABSPATH . WPINC . '/registration.php' ); error_log("update_user_data"); error_log("user_id:".$user_id); update_usermeta($user_id, 'shibboleth_used', true); $user_fields = array( 'first_name' => 'givenname', 'last_name' => 'sn', 'user_email' => 'mail' ); if($new_user){ $user_fields['user_login'] = 'username'; $user_fields['user_nicename'] = 'givenname'; $user_fields['nickname'] = 'givenname'; $user_fields['display_name'] = 'givenname'; } $user_data = array( 'ID' => $user_id, ); foreach ($user_fields as $field => $shibfield) { $filter = 'shibboleth_' . ( strpos($field, 'user_') === 0 ? '' : 'user_' ) . $field; $user_data[$field] = apply_filters($filter, $this->getUserData($shibfield)); } $shmail=$this->userdata['mail']; if(is_array($shmail)){ $epn=$this->getUserData('edupersonprincipalname'); error_log("shib mail array found"); if(!( array_search($epn, $shmail)===FALSE)){ error_log("found epn set epn as mail"); $user_data['user_email']=$epn; } } error_log(print_r($user_data,true)); wp_update_user($user_data); } public function authenticate(){ $ret_user=false; if($epn=$this->getUserData('edupersonprincipalname')){ $domain=substr(strrchr($epn, "@"), 1); error_log("UHBShib_Plugin domains:".$domain); $allowed_domains = array ('uni-bremen.de'); if(in_array($domain,$allowed_domains)){ $wpsh_user=get_user_by('email',$this->getUserData('mail')); error_log("UHBShib_Plugin authenticate"); error_log("update by email: ".$this->getUserData('mail')); error_log("wpsh_user: ".print_r($wpsh_user,true)); if ( $wpsh_user && $wpsh_user->ID ) { $this->update_user_data($wpsh_user->ID,true); $ret_user=$wpsh_user; } else { error_log("user not found by mail try edupersonprincipalname"); $wpsh_user=get_user_by('email',$this->getUserData('edupersonprincipalname')); error_log("update by edupersonprincipalname: ".$this->getUserData('edupersonprincipalname')); error_log(print_r($wpsh_user,true)); if( $wpsh_user && $wpsh_user->ID) { $this->update_user_data($wpsh_user->ID,true); $ret_user=$wpsh_user; } else { $ret_user=$this->create_new_user($this->getUserData('username')); } } } } if($ret_user){ add_user_meta($ret_user->ID,'shib_login',true); } return $ret_user; } /** * When wp-login.php is loaded with 'action=shibboleth', hook Shibboleth * into the WordPress authentication flow. */ public function login_form_shibboleth() { if(isset($_REQUEST['token']) && $token=$_REQUEST['token']){ error_log("Token:".$token); $shibauth = $this->file_get_contents_curl($this->validate_url.'/'.$token); $this->userdata = json_decode($shibauth, true); if(!is_array($this->userdata))return; reset($this->userdata); if (isset($this->local_domain)) { $this->userdata['username'] = str_replace('@'.$this->local_domain, '', $this->getUserData('edupersonprincipalname')); } else { $this->userdata['username'] = $this->getUserData('edupersonprincipalname'); } error_log(print_r($this->userdata,true)); error_log("add filter authenticate"); add_filter('authenticate', array($this,'authenticate'), 10, 3); } else { if (empty($remote_user) || isset($this->validate_url)) { // force Shibboleth authentication (lazy session) $shib_url = $this->session_initiator; $shib_url .= strpos($shib_url, '?') === false ? '?' : '&'; $login_url = get_site_url(); $login_url .= add_query_arg('action', 'uhbshib'); $shib_url .= 'target='.urlencode($login_url); // break redirection loop in case of misconfiguration if (strstr($_SERVER['HTTP_REFERER'], 'target=') == false) { wp_redirect($shib_url); exit; } } } } } //$uhbsihblogin=new UHBShib_Plugin(); load_plugin_textdomain( 'uhbshib', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); function bp_feedbackr_get_module_name($module){ global $wpdb,$bp; $group=$bp->groups->current_group; $groupid = $group->id; $ret="---"; if($groupid && $module){ $ret=$wpdb->get_var('SELECT name FROM '.$bp->feedbackr->modules_table_name.' WHERE groupid = '.$groupid.' AND id = '.$module); } return $ret; } function bp_feedbackr_is_vablog($blog_id){ global $wpdb,$bp; $ret=false; $q='SELECT isvablog FROM '.$bp->feedbackr->table_name. ' WHERE blogid = '.$blog_id; $isvablog=$wpdb->get_var($q); if($isvablog)$ret=true; return $ret; } function bp_feedbackr_set_rating_for_activity($activityid, $ratingid, $vote){ global $wpdb,$bp; $v=array('activityid' => $activityid, 'ratingid' => $ratingid, 'vote' => $vote); $t=array('%d','%d','%d'); $wpdb->replace($bp->feedbackr->ratings, $v,$t); } function bp_feedbackr_get_rating_for_activity($activityid, $ratingid){ global $wpdb,$bp; $ret=0; $q='SELECT vote FROM '.$bp->feedbackr->ratings.' WHERE activityid = '.$activityid.' AND ratingid = '.$ratingid; $ret=$wpdb->get_var($q); if(!$ret)$ret=0; return $ret; } function bp_feedbackr_get_rating_sum_for_activity($activityid) { global $wpdb,$bp; $sum=0; $ratings=$wpdb->get_col('SELECT vote FROM '.$bp->feedbackr->ratings.' WHERE activityid = '.$activityid); if($ratings){ error_log("ACT ID: ".$activityid); error_log("Ratings: ".print_r($ratings,true)); foreach($ratings as $vote) { $sum+=$vote; } } return $sum; } function bp_feedbackr_get_post_id_for_activity($activityid){ global $wpdb,$bp; $ret=0; $q='SELECT secondary_item_id FROM '.$bp->activity->table_name. ' WHERE id = '.$activityid; $ret=$wpdb->get_var($q); return $ret; } function bp_feedbackr_get_fb_actitiy_for_module_low_fb($groupid,$module,$userid){ global $wpdb,$bp; $ret=0; //error_log("module_low_fb: $groupid,$module,$userid"); $blogid_or=bp_feedbackr_get_group_blogid_or($groupid); // function bp_feedbackr_get_comment_count_for_post($blog_id,$post_id){ // function bp_feedbackr_get_blogid_for_act($act_id){ // function bp_feedbackr_is_peer_for_act($userid,$activityid){ $userblogid=bp_feedbackr_get_userblog($groupid,$userid); $min_c_count=-1; $q="SELECT activityid,blogid FROM ".$bp->feedbackr->fb_table_name." WHERE module=$module AND ( ".$blogid_or.' ) AND NOT blogid='.$userblogid; $acts=$wpdb->get_results($q); foreach($acts as $act){ $actid=$act->activityid; $blogid=$act->blogid; //error_log("a,b $actid,$blogid"); if(!bp_feedbackr_is_peer_for_act($userid,$actid)){ $postid=bp_feedbackr_get_post_id_for_activity($actid); $c_count=bp_feedbackr_get_comment_count_for_post($blogid,$postid); //error_log("Post-ID: ".$postid." c_count: ".$c_count); if($c_count<$min_c_count || $min_c_count==-1){ $min_c_count=$c_count; } } } //error_log("Part 2, min_c_count: $min_c_count"); reset($acts); $low_comments=array(); if($min_c_count!=-1){ foreach($acts as $act){ $actid=$act->activityid; $blogid=$act->blogid; //error_log("a,b $actid,$blogid"); if(!bp_feedbackr_is_peer_for_act($userid,$actid)){ $postid=bp_feedbackr_get_post_id_for_activity($actid); $c_count=bp_feedbackr_get_comment_count_for_post($blogid,$postid); //error_log("Post-ID: ".$postid." c_count: ".$c_count); if($c_count==$min_c_count){ $low_comments[]=$actid; } } } //error_log("low comments"); //error_log(print_r($low_comments,true)); if(count($low_comments)>0){ //error_log(count($low_comments)); $ret=$low_comments[rand(0,count($low_comments)-1)]; //error_log("$userid,$groupid ret: ".$ret); } else { //error_log("$userid,$groupid No low comments found! $ret"); } } return $ret; } function bp_feedbackr_get_fb_actitiy_for_module_random($groupid,$module){ global $wpdb,$bp; $ret=0; $blogid_or=bp_feedbackr_get_group_blogid_or($groupid); $q="SELECT COUNT(activityid) FROM ".$bp->feedbackr->fb_table_name." WHERE module=$module AND ( ".$blogid_or.' )'; $numact=(int)$wpdb->get_var($q); $actnum=rand(0,$numact-1); $q="SELECT activityid FROM ".$bp->feedbackr->fb_table_name." WHERE module=$module AND ( ".$blogid_or.' ) LIMIT $actnum,1'; //error_log($q); $ret=(int)$wpdb->get_var($q); return $ret; } function bp_feedbackr_get_fb_actitiy_for_module($groupid,$module){ global $wpdb,$bp; $userid=$bp->loggedin_user->id; $userblogid=bp_feedbackr_get_userblog($groupid,$userid); $ret=0; $blogid_or=bp_feedbackr_get_group_blogid_or($groupid); $q="SELECT activityid FROM ".$bp->feedbackr->fb_table_name." WHERE module=$module AND has_peer_fbuser=0 AND ( ".$blogid_or.' ) AND NOT blogid='.$userblogid.' LIMIT 1'; //error_log($q); $ret=(int)$wpdb->get_var($q); return $ret; } function bp_feedbackr_is_peer_for_act($userid,$activityid){ global $wpdb,$bp; $ret=0; $q="SELECT count(userid) FROM ".$bp->feedbackr->peer_fb_user." WHERE userid=$userid AND activityid=$activityid"; //error_log($q); $c=(int)$wpdb->get_var($q); $ret=$c>0; return $ret; } function bp_feedbackr_get_fbuser_count($groupid,$userid,$module){ global $wpdb,$bp; $q="SELECT COUNT(*) FROM ".$bp->feedbackr->peer_fb_user." WHERE groupid=$groupid AND userid=$userid AND module=$module"; //error_log($q); return $wpdb->get_var($q); } function bp_feedbackr_set_haspeeruser_for_activity($act){ global $wpdb,$bp; $ret=0; //error_log('Set haspeeruser for:'.$act); $v=array('has_peer_fbuser' => 1); $vf=array('%d'); $w=array('activityid' => $act); $wf=array('%d'); $ret=$wpdb->update($bp->feedbackr->fb_table_name, $v,$w, $vf,$wf); //error_log($ret); return $ret; } function bp_feedbackr_add_fbuser($groupid,$userid,$activityid,$module){ global $wpdb,$bp; //error_log("bp_feedbackr_add_fbuser($groupid,$userid,$activityid,$module)"); $v=array('groupid' => $groupid, 'userid' => $userid, 'activityid' => $activityid, 'module' => $module); $t=array('%d','%d','%d','%d'); $wpdb->insert($bp->feedbackr->peer_fb_user, $v,$t); } function bp_feedbackr_is_peerfbuser_for_module($groupid,$userid,$moduleid){ global $wpdb,$bp; $q="SELECT count(activityid) FROM ".$bp->feedbackr->peer_fb_user." WHERE module=".$moduleid." AND groupid=".$groupid. " AND userid=".$userid; $ret=$wpdb->get_var($q); //error_log($q); //error_log($ret); return ($ret>0); } function bp_feedbackr_show_peermatrix($group_id,$show_stats=false,$showpg=0){ global $wpdb,$bp; $userid=$bp->loggedin_user->id; $numpeergroups = (int)groups_get_groupmeta( $group_id, 'bpfeedbackrnumpeergroups' ); $q='SELECT id,name FROM '.$bp->feedbackr->modules_table_name. " WHERE groupid='".$group_id."'"; //error_log($q); $modules=$wpdb->get_results($q); echo "| P/M | \n"; foreach($modules as $mod){ echo "".$mod->name." | \n"; } echo "|
|---|---|---|
| ☆ ".$pg." | \n"; } else { echo "||
| ".$pg." | \n"; } foreach($modules as $mod){ $m=bp_feedbackr_get_peermodus($group_id,$mod->id,$pg); if($m=="k"){ echo 'K'; //error_log("showpg: $showpg"); //error_log("pg: $pg"); //error_log("Peermatrix Kommentare"); if($showpg && $pg==$showpg){ // Kommentare if(bp_feedbackr_is_peerfbuser_for_module($group_id,$userid,$mod->id)){ $q='SELECT activityid FROM '.$bp->feedbackr->peer_fb_user. ' WHERE groupid = '.$group_id.' AND module = '.$mod->id.' AND userid='.$userid; $m_acts=$wpdb->get_results($q); //$m_act_id=$wpdb->get_var($q); $c_ok_count=0; foreach($m_acts AS $m_act){ $m_act_id=$m_act->activityid; //error_log("m_act_id: ".$m_act_id); $q='SELECT secondary_item_id FROM '.$bp->activity->table_name. ' WHERE id = '.$m_act_id; $m_post_id=$wpdb->get_var($q); //error_log("m_post_id: ".$m_post_id); if($m_post_id){ $q='SELECT primary_link FROM '.$bp->activity->table_name. ' WHERE id = '.$m_act_id; $m_post_link=$wpdb->get_var($q); //error_log("m_post_link: ".$m_post_link); $fb_blogid=bp_feedbackr_act_get_blogid($m_post_link); //error_log("fb_blogid: ".$fb_blogid); if($fb_blogid){ if(bp_feedbackr_check_user_comment_for_post($fb_blogid,$m_post_id,$userid)){ echo "✓"; $c_ok_count++; } } } } //error_log("c_ok_count: $c_ok_count"); if($c_ok_count>=2){ echo ""; } } // Blogbeitraege $userblogid=bp_feedbackr_get_userblog($group_id,$userid); $q='SELECT COUNT(*) FROM '.$bp->feedbackr->fb_table_name. ' WHERE blogid = '.$userblogid.' AND module = '.$mod->id; $m_done=$wpdb->get_var($q); //error_log($q); //error_log($m_done); if($m_done){ echo " (B -)"; } } } else { echo ' | B';
if($showpg && $pg==$showpg){
// Blogbeitraege
$userblogid=bp_feedbackr_get_userblog($group_id,$userid);
$q='SELECT COUNT(*) FROM '.$bp->feedbackr->fb_table_name.
' WHERE blogid = '.$userblogid.' AND module = '.$mod->id;
$m_done=$wpdb->get_var($q);
//error_log($q);
//error_log($m_done);
if($m_done){
echo "✓";
}
}
}
if($show_stats){
$q="SELECT COUNT(id) FROM ".$bp->feedbackr->fb_table_name.
' WHERE module = '.$mod->id.' AND ( '.$pg_blogid_or.' )';
//error_log($q);
$bcount=$wpdb->get_var($q);
$ccount=0;
$q="SELECT activityid,blogid FROM ".$bp->feedbackr->fb_table_name.
' WHERE module = '.$mod->id.' AND ( '.$pg_blogid_or.' )';
//error_log($q);
$acts=$wpdb->get_results($q);
foreach($acts as $act){
$acount=bp_feedbackr_get_comment_count_for_post($act->blogid,
bp_feedbackr_get_post_id_for_activity($act->activityid));
//error_log("acount1: $acount");
if($acount>1000){
//error_log("*****************************##################################");
//error_log("BlogID: ".$act->blogid);
//error_log("ActID: ".$act->activityid);
//error_log("PostID: ".bp_feedbackr_get_post_id_for_activity($act->activityid));
}
$ccount+=$acount;
//error_log("acount: $acount");
//error_log("ccount: $ccount");
}
echo " (☆".(int)$bcount.", ✍".(int)$ccount.")"; } echo " | \n";
}
echo "
| "; $blog_or=bp_feedbackr_get_group_blogid_or($group_id); foreach($modules as $mod){ $q='SELECT COUNT(id) FROM '.$bp->feedbackr->fb_table_name. ' WHERE module = '.$mod->id.' AND ( '.$blog_or.')'; //error_log($q); echo ' | '; echo '☆'.(int)$wpdb->get_var($q); $q="SELECT activityid,blogid FROM ".$bp->feedbackr->fb_table_name. ' WHERE module = '.$mod->id.' AND ( '.$blog_or.')'; //error_log($q); $ccount=0; $acts=$wpdb->get_results($q); foreach($acts as $act){ $acount=bp_feedbackr_get_comment_count_for_post($act->blogid, bp_feedbackr_get_post_id_for_activity($act->activityid)); if($acount>1000){ //error_log("*****************************##################################"); //error_log("BlogID: ".$act->blogid); //error_log("ActID: ".$act->activityid); //error_log("PostID: ".bp_feedbackr_get_post_id_for_activity($act->activityid)); } $ccount+=$acount; //error_log("acount: $acount"); //error_log("ccount: $ccount"); } echo " ✍".(int)$ccount; echo " | "; } } echo "