Esempio n. 1
0
 if ($group->isPublicMembership() || $group->canEdit($user->guid)) {
     // anyone can join public groups and admins can join any group
     $join = true;
 } else {
     if (check_entity_relationship($group->guid, 'invited', $user->guid)) {
         // user has invite to closed group
         $join = true;
     }
 }
 if ($join) {
     if (groups_join_group($group, $user)) {
         updateNearbyGroupCache($user, $group, 0);
         add_entity_relationship($user->guid, 'notifyemail', $group->guid);
         $subject = elgg_echo('zhgroups:join:subject', array($user->name, $group->name));
         $body = '<div style="color:#333;font-size:16px;">' . elgg_echo('zhgroups:join:body', array($group->getOwnerEntity()->name, $user->getURL(), $user->name, $group->getURL(), $group->name, $user->getURL(), $user->name)) . '</div>';
         zhgroups_send_email_to_user($group, $group->getOwnerEntity(), $subject, $body, true, true);
         system_message(elgg_echo("groups:joined"));
         forward($group->getURL());
     } else {
         register_error(elgg_echo("groups:cantjoin") . elgg_echo("zhaohu:sorry"));
         elgg_log("ZHError groups:cantjoin group_id {$group_guid} , user_id {$user_guid}", "ERROR");
     }
 } else {
     add_entity_relationship($user->guid, 'membership_request', $group->guid);
     // Notify group owner
     $url = "{$CONFIG->url}groups/requests/{$group->guid}";
     $subject = elgg_echo('groups:request:subject', array($user->name, $group->name));
     $body = elgg_echo('groups:request:body', array($group->getOwnerEntity()->name, $user->name, $group->name, $user->getURL(), $url));
     if (notify_user($group->owner_guid, $user->getGUID(), $subject, $body)) {
         system_message(elgg_echo("groups:joinrequestmade"));
     } else {
Esempio n. 2
0
function zhaohuPubedNotify($zhaohu)
{
    if (!$zhaohu->hasUpdates) {
        system_message(elgg_echo("zhaohu:notify:noupdates"));
        return;
    }
    $subject = 'Join ' . $zhaohu->title . ' ' . date(ZHAOHU_MANAGER_FORMAT_DATE, $zhaohu->start_day);
    $group_guid = $zhaohu->container_guid;
    $group = get_entity($group_guid);
    if (!empty($group) && $group instanceof ElggGroup) {
        //comment to let everyone new zhaohu
        // 		if ($group->canEdit()) {
        $body = zhaohuPubEmailPart1($zhaohu, $group);
        $members = $group->getMembers(false);
        set_time_limit(0);
        foreach ($members as $member) {
            //fordebug register_error('mem id '.$member->guid . 'ground id '.$group_guid);
            if ($notification_settings = get_user_notification_settings($member->guid)) {
                if ($notification_settings->email && check_entity_relationship($member->guid, 'notifyemail', $group_guid)) {
                    $bodyOut = $body . zhaohuPubEmailPart2($zhaohu, $member->guid);
                    //notify_user($member->guid, $group_guid, $subject, $bodyOut, NULL);//, "email"
                    zhgroups_send_email_to_user($group, $member, $subject, $bodyOut, true, true);
                }
            }
        }
        $zhaohu->hasUpdates = false;
        system_message(elgg_echo("zhaohu:notify:ok"));
        // 		} else {
        // 			register_error(elgg_echo("zhaohu:notify:error") . elgg_echo("zhaohu:sorry"));
        // 			elgg_log("ZHError ,zhaohuPubedNotify, user has no permission to this group, group_id $group_guid, user_id "
        // 				.elgg_get_logged_in_user_guid(), "ERROR");
        // 		}
    } else {
        register_error(elgg_echo("zhaohu:notify:error") . elgg_echo("zhaohu:sorry"));
        elgg_log("ZHError ,zhaohuPubedNotify, invalid group, group_id {$group_guid}, user_id " . elgg_get_logged_in_user_guid(), "ERROR");
    }
}
Esempio n. 3
0
 public function notifyOnRsvp($type, $user_guid)
 {
     //$ia = elgg_set_ignore_access(true);
     $user = get_entity($user_guid);
     $group = get_entity($this->container_guid);
     $owner = get_entity($this->getOwnerGUID());
     // notify the onwer of the zhaohu
     $owner_subject = elgg_echo('zhaohu:rsvp:owner:subject', array($user->name, $this->title));
     $owner_message = '<div style="color:#333;font-size:16px;padding-bottom: 20px;">' . elgg_echo('zhaohu:rsvp:owner:body', array($owner->name, $user->getURL(), $user->name, $this->getURL(), $this->title)) . '</div>';
     zhgroups_send_email_to_user($group, $owner, $owner_subject, $owner_message, true, true);
     //elgg_set_ignore_access($ia);
 }
Esempio n. 4
0
    register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
    elgg_log("ZHError , zhgroups:toggle_admin, user is not group member, group_id {$group_guid} , user_id {$user_guid}, logged_in_user_id " . elgg_get_logged_in_user_guid(), "ERROR");
    forward(REFERER);
}
if ($group->getOwnerGUID() == $user->guid) {
    register_error(elgg_echo("zhgroups:toggleadmin:owner"));
    forward(REFERER);
}
if (!check_entity_relationship($user->getGUID(), "group_admin", $group_guid)) {
    if (add_entity_relationship($user->getGUID(), "group_admin", $group_guid)) {
        system_message(elgg_echo("zhgroups:action:toggle_admin:success:add", array($user->name)));
        add_to_river('river/group/admin', 'add', $user->guid, $group->guid);
        $subject = elgg_echo('zhgroups:add:admin:subject', array($group->name));
        $body = '<div style="color:#333;font-size:16px;">' . elgg_echo('zhgroups:add:admin:body', array($user->name, $group->getOwnerEntity()->getURL(), $group->getOwnerEntity()->name, $group->getURL(), $group->name, $group->getURL(), $group->name)) . '</div>';
        zhgroups_send_email_to_user($group, $user, $subject, $body, true, true);
    } else {
        register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
        elgg_log("ZHError , zhgroups:toggle_admin, error add_entity_relationship, group_id {$group_guid} , user_id {$user_guid}, logged_in_user_id " . elgg_get_logged_in_user_guid(), "ERROR");
    }
} else {
    if (remove_entity_relationship($user->getGUID(), "group_admin", $group_guid)) {
        system_message(elgg_echo("zhgroups:action:toggle_admin:success:remove", array($user->name)));
        $subject = elgg_echo('zhgroups:rm:admin:subject', array($group->name));
        $body = '<div style="color:#333;font-size:16px;">' . elgg_echo('zhgroups:rm:admin:body', array($user->name, $group->getOwnerEntity()->getURL(), $group->getOwnerEntity()->name, $group->getURL(), $group->name, $group->getURL(), $group->name)) . '</div>';
        zhgroups_send_email_to_user($group, $user, $subject, $body, true, true);
    } else {
        register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
        elgg_log("ZHError , zhgroups:toggle_admin, error remove_entity_relationship, group_id {$group_guid} , user_id {$user_guid}, logged_in_user_id " . elgg_get_logged_in_user_guid(), "ERROR");
    }
}
forward(REFERER);
Esempio n. 5
0
if (!is_array($user_guids)) {
    $user_guids = array($user_guids);
}
//turn off verfiy for performance
//$user_guids = zhgroups_verify_group_members($group_guid, $user_guids);
if (!empty($group_guid)) {
    $group = get_entity($group_guid);
    if (!empty($group) && $group instanceof ElggGroup) {
        if ($group->canEdit()) {
            set_time_limit(0);
            $body .= PHP_EOL;
            $body .= elgg_echo("zhgroups:mail:message:from") . ': <a href="' . $group->getURL() . '" target="_blank">' . $group->name . '</a>';
            foreach ($user_guids as $guid) {
                $user = get_entity($guid);
                $message = '<div style="color:#333;font-size:16px;">' . elgg_echo('zhaohu:hi', array($user->name)) . $body . '</div>';
                zhgroups_send_email_to_user($group, $user, $subject, $message, false, true);
                //notify_user($guid, $group->getGUID(), $subject, $body, NULL, "email");
            }
            system_message(elgg_echo("zhgroups:action:mail:success"));
        } else {
            register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
            elgg_log("ZHError , zhgroups:mail, user does not have permission, group_id {$group_guid} , user_id " . elgg_get_logged_in_user_guid() . " , recipients " . implode("|", $user_guids), "ERROR");
        }
        unset($_SESSION['zhgroups:subject']);
        unset($_SESSION['zhgroups:body']);
        forward($group->getURL());
    } else {
        register_error(elgg_echo('zhaohu:wrong') . elgg_echo("zhaohu:sorry"));
        elgg_log("ZHError , zhgroups:mail, group is invalid, group_id {$group_guid} , user_id " . elgg_get_logged_in_user_guid() . " , recipients " . implode("|", $user_guids), "ERROR");
    }
} else {