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 {
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"); } }
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); }
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);
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 {