/**
 * zhaohu user welcome message summary view, the div contain user group summary info
* @uses user $vars['user'] the current logged in user
*/
$user = $vars['user'];
// $user->joined_groups = elgg_get_entities_from_relationship(array(
//  		'type' => 'group',
//  		'relationship' => 'member',
//  		'relationship_guid' => $user->guid,
//  		'inverse_relationship' => false,
//  		'count' => true,
// ));
// $user->save();
//for debug register_error('joined_groups '.$user->joined_groups);
$joined_group_number = empty($user->joined_groups) ? 0 : $user->joined_groups;
$state = empty($user->state) ? 'WA' : $user->state;
if (!$_SESSION['_nearby_group'] || time() - $_SESSION['_nearby_timestamp'] > ZHAOHU_SESSION_DATA_TTL) {
    $_SESSION['_nearby_group'] = getGroupsNearby($state, '', 0, 0, true) - countJoinedGroupsInState($user->guid, $state);
    $_SESSION['_nearby_timestamp'] = time();
}
$nearby_group_number = $_SESSION['_nearby_group'];
$joined_group_div = '<div class="zhaohu_user_welcome_group_number" id="zhuw_jg">' . $joined_group_number . '</div>';
$group_joined = '<div class="zhaohu_user_welcome_group_string">' . elgg_echo('zhgroups:joined_groups:p1') . $joined_group_div . elgg_echo('zhgroups:joined_groups:p2') . '</div>';
if ($nearby_group_number > 0) {
    $nearby_group_div = '<div class="zhaohu_user_welcome_group_number" id="zhuw_nbg">' . $nearby_group_number . '</div>';
    $group_to_join = '<div class="zhaohu_user_welcome_group_string">' . elgg_echo('zhgroups:nearby_groups:p1') . $nearby_group_div . elgg_echo('zhgroups:nearby_groups:p2') . '</div>';
} else {
    $group_to_join = '';
}
echo '<div id="zhaohu_user_welcome_summary_div">' . $group_joined . $group_to_join . '</div>';
Example #2
0
<?php

$user = elgg_get_logged_in_user_entity();
$offset = get_input("offset", 0);
$user = elgg_get_logged_in_user_entity();
$group_guids = elgg_get_entities_from_relationship(array('type' => 'group', 'relationship' => 'member', 'relationship_guid' => $user->guid, 'inverse_relationship' => false, 'limit' => false, 'callback' => 'zhaohu_guid_only_callback'));
$state = empty($user->state) ? 'WA' : $user->state;
$entities_options = array('type' => 'group', 'offset' => $offset, 'limit' => ZHAOHU_MANAGER_SEARCH_LIST_LIMIT);
$entities_options['metadata_name_value_pairs'][] = array('name' => 'state', 'value' => $state);
$entities_options['order_by_metadata'] = array("name" => 'score', "direction" => 'DESC', "as" => "integer");
$nearby_groups = elgg_get_entities_from_metadata($entities_options);
foreach ($nearby_groups as $key => $g) {
    if (in_array($g->guid, $group_guids)) {
        unset($nearby_groups[$key]);
    }
}
$count = get_input("num", ZHAOHU_MANAGER_SEARCH_LIST_LIMIT);
if (!$_SESSION['_nearby_group']) {
    $count = $_SESSION['_nearby_group'];
} else {
    $count = getGroupsNearby($state, '', 0, 0, true) - countJoinedGroupsInState($user->guid, $state);
}
if (!$nearby_groups) {
    $content = elgg_echo('groups:search:none');
} else {
    $content = elgg_view("groups/findResult", array("entities" => $nearby_groups, "count" => $count, "offset" => $offset, 'limit' => ZHAOHU_MANAGER_SEARCH_LIST_LIMIT));
}
echo $content;
exit;