Ejemplo n.º 1
0
 /**
  * SETUP MENU, ADD NAVIGATION OPTIONS
  *
  * @since	BuddyBoss 2.0
  * @todo: cache the amount of pics
  */
 function setup_menu()
 {
     global $wpdb, $bp;
     $photos_user_id = $bp->displayed_user->id;
     $activity_table = $wpdb->prefix . "bp_activity";
     $activity_meta_table = $wpdb->prefix . "bp_activity_meta";
     // Prepare a SQL query to retrieve the activity posts
     // that have pictures associated with them
     $sql = "SELECT COUNT(*) as photo_count FROM {$activity_table} a INNER JOIN {$activity_meta_table} am ON a.id = am.activity_id WHERE a.user_id = %d AND meta_key = 'bboss_pics_aid'";
     $sql = $wpdb->prepare($sql, $photos_user_id);
     buddy_boss_log(' MENU PHOTO COUNT SQL ');
     buddy_boss_log($sql);
     $photos_cnt = $wpdb->get_var($sql);
     /* Add 'Photos' to the main user profile navigation */
     bp_core_new_nav_item(array('name' => sprintf(__('Photos <span>%d</span>', 'buddyboss'), $photos_cnt), 'slug' => BUDDY_BOSS_PICS_SLUG, 'position' => 80, 'screen_function' => 'buddyboss_pics_screen_picture_grid', 'default_subnav_slug' => 'my-gallery'));
     $buddyboss_pics_link = $bp->displayed_user->domain . BUDDY_BOSS_PICS_SLUG . '/';
     bp_core_new_subnav_item(array('name' => __('Photos', 'buddypress'), 'slug' => 'my-gallery', 'parent_slug' => BUDDY_BOSS_PICS_SLUG, 'parent_url' => $buddyboss_pics_link, 'screen_function' => 'buddyboss_pics_screen_picture_grid', 'position' => 10));
 }
Ejemplo n.º 2
0
 /**
  * GET WALL ACTIVITES
  */
 function get_wall_activities($page = 0, $per_page = 20)
 {
     global $bp, $wpdb;
     $min = $page > 0 ? ($page - 1) * $per_page : 0;
     $max = ($page + 1) * $per_page;
     $per_page = bp_get_activity_per_page();
     buddy_boss_log(" per page {$per_page}");
     if (isset($bp->loggedin_user) && isset($bp->loggedin_user->id) && $bp->displayed_user->id == $bp->loggedin_user->id) {
         $myprofile = true;
     } else {
         $myprofile = false;
     }
     $wpdb->show_errors = BUDDY_BOSS_DEBUG;
     $user_id = $bp->displayed_user->id;
     buddy_boss_log("Looking at {$user_id}");
     $filter = addslashes($bp->displayed_user->fullname);
     $friend_ids = friends_get_friend_user_ids($user_id);
     $admin_ids = array();
     //buddyboss_users_by_role( 'administrator' );
     $friend_ids = array_merge($friend_ids, $admin_ids);
     // var_dump($friend_ids);
     buddy_boss_log($friend_ids);
     if (!empty($friend_ids)) {
         $friend_id_list = implode(",", $friend_ids);
     }
     buddy_boss_log($friend_id_list);
     $table = $wpdb->prefix . bp_activity;
     $table2 = $wpdb->prefix . bp_activity_meta;
     // Group Display code
     if (array_search("groups", $bp->active_components)) {
         $groups = BP_Groups_Member::get_group_ids($user_id);
     }
     //var_dump($groups);
     $valid_groups = array();
     if (!empty($groups)) {
         foreach ($groups['groups'] as $id) {
             $group = new BP_Groups_Group($id);
             //var_dump($group);
             if ("public" == $group->status) {
                 //echo $group->slug;
                 $valid_groups[] = $id;
             }
             $user_group[] = $group->slug;
         }
     }
     $group_modifier = "OR ( {$table}.user_id = {$user_id} AND {$table}.component = 'groups' ) ";
     $group_mentions = "OR ( {$table}.component = 'groups' AND ({$table}.content LIKE '%@{$filter}%'))";
     $friendships = "OR ( {$table}.user_id = {$user_id} AND {$table}.component = 'friends' )";
     $mentions_modifier = "OR ( {$table}.component = 'activity' AND {$table}.action LIKE '%@{$filter}%' ) ";
     //$mem_slugs = $bp->members->slug;
     $friends_modifier = "OR ( {$table2}.meta_value LIKE '%{$filter}%' AND {$table}.type!='activity_comment') ";
     $qry = "SELECT {$table}.id FROM {$table} LEFT JOIN {$table2} ON {$table}.id={$table2}.activity_id\r\n\t\t\tWHERE ( {$table}.user_id = {$user_id} AND {$table}.type!='activity_comment' AND {$table}.type!='friends' )\r\n\t\t\t{$friends_modifier}\r\n\t\t\t{$group_modifier}\r\n\t\t\t{$group_mentions}\r\n\t\t\t{$friendships}\r\n\t\t\t{$mentions_modifier}\r\n\t\t\tORDER BY date_recorded DESC LIMIT {$min}, 30";
     //echo $qry;
     $activities = $wpdb->get_results($qry, ARRAY_A);
     //var_dump($wpdb->print_error());
     buddy_boss_log($qry);
     buddy_boss_log($activities);
     if (empty($activities)) {
         return null;
     }
     $tmp = array();
     foreach ($activities as $a) {
         $tmp[] = $a["id"];
     }
     $activity_list = implode(",", $tmp);
     return $activity_list;
 }