load(trim($friend_user_name_array[$counter]));
if ($user_obj->email == $_SESSION['user']['email']) {
$self_invite = TRUE; //you can not invite your self
} else {
$valid_user_login_names[] = $user_obj->login_name;
$valid_usr_name_email[] = $user_obj->email;
}
} catch (PAException $e) {
if (!empty($friend_user_name_array[$counter])) {
$invalid_login_msg .= $friend_user_name_array[$counter] . ', ';
}
}
} // end for
if (!empty($invalid_login_msg)) {
$invalid_login_msg = substr($invalid_login_msg, 0, -2);
$msg[] = 'Invitation could not be sent to following login names- ' . $invalid_login_msg;
}
} // end if : if user names are supplied.
if (!$error && !empty($_POST['email_id'])) { // if email ids are supplied
$friend_email = trim($_POST['email_id']);
$friend_email_array = explode(',', $friend_email);
$cnt_email = count($friend_email_array);
$user_id = $uid;
// Check for valid-invalid email addresses start
for ($counter = 0; $counter < $cnt_email; $counter++) {
$email_validation = validate_email(trim($friend_email_array[$counter]));
if ($email_validation == '0') {
$invalid[] = trim($friend_email_array[$counter]);
}
else if ($friend_email_array[$counter] == $_SESSION["user"]["email"]) {
$self_invite = TRUE;
} else {
$valid_user_first_emails[] = $friend_email_array[$counter];
$valid_email[] = trim($friend_email_array[$counter]);
}
}
}
// Check for valid-invalid email addresses end
// Action for valid-invalid email addresses start
if (empty($friend_email) && empty($friend_user_name)) { // if email field is left empty
$msg[] = MessagesHandler::get_message(6001);
$error = TRUE;
} elseif ($self_invite || sizeof($invalid) > 0) { // if self invitation is made
if ($self_invite) {
$msg[] = MessagesHandler::get_message(6002);
}
if (!empty($invalid)) {
// if invalid email addresses are supplied
$invalid_cnt = count($invalid);
$invalid_msg = '';
for ($counter = 0; $counter < $invalid_cnt; $counter++) {
if (!empty($invalid[$counter])) {
$invalid_msg .= $invalid[$counter].', ';
}
}
if (!empty($invalid_msg)) {
$invalid_msg = substr($invalid_msg, 0, -2);
$msg[] = "Invitation could not be sent to following email addresses- " . $invalid_msg;
}
}
}
if (!$error) { // At this point invitation could be made
if (!empty($valid_email) && !empty($valid_usr_name_email)) {
$valid_email = array_merge($valid_email, $valid_usr_name_email);
$valid_user_first_emails = array_merge($valid_user_first_emails, $valid_user_login_names);
} else if( !empty($valid_usr_name_email)) {
$valid_email = $valid_usr_name_email;
$valid_user_first_emails = $valid_user_login_names;
}
$valid_cnt = count($valid_email);
$invitation_message = trim($_POST['message']);
for ($counter = 0; $counter < $valid_cnt; $counter++) {
$group = new Group();
$group->load((int)$gid);
$inv = new Invitation();
$inv->user_id = $login_uid;
$inv->username = $login_name;
// for invitation not for any group invitation collection id is -1
$inv->inv_collection_id = $gid;
$inv->inv_group_name = $group->title;
$inv->inv_status = INVITATION_PENDING;
$auth_token = get_invitation_token(LONG_EXPIRES, $valid_email[$counter]);
$token = '&token='.$auth_token;
$inv->register_url = "inv_id\">$base_url/register.php?GInvID=$inv->inv_id";
$inv->accept_url = "inv_id$token\">$base_url/login.php?action=accept&InvID=$inv->inv_id$token";
$inv->inv_user_id = NULL;
$inv->inv_user_first_name = $valid_user_first_emails[$counter];
$inv->inv_email = $valid_email[$counter];
$inv->inv_summary = "Invitation from $user->first_name $user->last_name to join $group_name";
$inv->inv_message = !empty($invitation_message) ? $invitation_message : NULL;
try {
$inv->send();
}
catch (PAException $e) {
p('dsf');
$save_msg = "$e->message";
$save_error = TRUE;
}
if ($save_error == TRUE) {
$msg[] = "Sorry: you are unable to invite a friend.
Reason: " . $sav_msg;
} else {
// invitation has been sent, now send email
$user = new User();
$user->load((int)$login_uid);
$invitee_image = uihelper_resize_mk_user_img($user->picture, 80, 80,'alt="'.$user->first_name.'" align="left" style="padding: 0px 12px 12px 0px;"');
$group_icon_image = uihelper_resize_mk_img('files/'.$group->picture, 219, 35, 'files/'.DEFAULT_NETWORK_ICON, 'alt="'.$group->title.'"');
$user_type = Group::get_user_type($login_uid, $gid);
if ($user_type == OWNER) {
$mail_type = 'invite_group';
} else if ($user_type == MEMBER) {
$mail_type = 'invite_group_by_member';
}
$array_of_data = array(
'first_name'=>$user->first_name ,
'last_name'=>$user->last_name,
'user_name'=> $user->login_name,
'user_id'=>$user->user_id,
'message'=>$inv->inv_message,
'group_name'=> $inv->inv_group_name ,
'accept_url'=>$inv->accept_url,
'register_url'=>$inv->register_url,
'invited_user_name'=> $inv->inv_user_first_name,
'invitee_image'=>$invitee_image,
'group_id'=>$inv->inv_collection_id,
'group_description' => $group->description,
'group_icon_image' => $group_icon_image);
$check = pa_mail($inv->inv_email, $mail_type, $array_of_data, $user->email);
$succ_msg .= $valid_user_first_emails[$counter] . ', ';
if ($counter == ($valid_cnt - 1)) {
$succ_msg = substr($succ_msg, 0, -2);
$msg[] = "Invitation has been sent successfully to -" . $succ_msg;
}
}
} // end for : invitation to multiple email
$_POST = array(); // unset $_POST, if invitation has been successfully made.
}
}//..do invite
function setup_module($column, $module, $obj) {
global $login_uid, $entered_people;
switch ($column) {
case 'middle':
$obj->mode = PUB;
$obj->uid = $login_uid;
$obj->block_type = 'media_management';
if ($module == 'InvitationStatusModule') {
$groups = Group::get_user_groups($login_uid, FALSE, 'ALL');
$user_groups = array();
for ($i = 0; $i < count($groups); $i++) {
$user_groups[] = $groups[$i]['gid'];
}
if (!empty($_REQUEST['gid'])) {
$obj->collection_id_array = array($_REQUEST['gid']);
} else {
$obj->collection_id_array = array($user_groups[0]);
}
}
break;
}
}
$page = new PageRenderer("setup_module", PAGE_GROUP_INVITE, "Invite people into a group", "container_three_column.tpl",'header.tpl',PRI,HOMEPAGE,$network_info);
if (!empty($msg)) {
$msg = array_reverse($msg);
for ($counter = 0; $counter < count($msg); $counter++) {
$message .= $msg[$counter]."
";
}
}
uihelper_error_msg($message);
uihelper_get_network_style();
echo $page->render();
?>