extra); // for query count global $query_count_on_page; $query_count_on_page = 0; if ($_GET['action'] == 'delete') { $delete_id = $_GET['uid']; Relation::delete_relation ($_SESSION['user']['id'], $delete_id); $cache_id = 'relation_private_'.$_SESSION['user']['id']; CachedTemplate::invalidate_cache($cache_id); $cache_id = 'relation_public_'.$_SESSION['user']['id']; CachedTemplate::invalidate_cache($cache_id); // invalidate cache of user who is being added in relation module $cache_id = 'in_relation_private_'.$delete_id; CachedTemplate::invalidate_cache($cache_id); $cache_id = 'in_relation_public_'.$delete_id; CachedTemplate::invalidate_cache($cache_id); header("Location: user.php?uid=$delete_id&delete=1"); } $is_error = FALSE; $uid = $_SESSION['user']['id']; if( empty($_GET['uid']) ) {$is_error = TRUE;} $relation_uid = $_GET['uid']; if( $relation_uid == $uid) { $message = MessagesHandler::get_message(1050); $is_error = TRUE; } // TODO: Need to get entry of uid, relation_uid from table, not all the relation of uid //getting relations of logged in user $all_relations = Relation::get_all_relations((int)$uid); $relationship_level = 2; //default relation level id is 2 for friend $in_family = false; foreach( $all_relations as $relation ) { if( $relation_uid == $relation['user_id']) { $relationship_level = $relation['relation_type_id']; $in_family = $relation['in_family']; $status = $relation['status']; if ($status == PENDING) { $extra = unserialize($network_info->extra); if ($extra['reciprocated_relationship'] == ACTIVE) { $message = 'Your request for adding '.$relation['login_name'].' as a relation has already been sent'; } } } } //loading user who will be edited/updated as a relation $user = new User(); try { $user->load( (int)$relation_uid ); $title = 'Edit Relationship - '.$user->first_name.' '.$user->last_name; //title of the web page //picture and login relation $relation_picture = ( !empty( $user->picture) ) ? '/files/'.$user->picture : '/images/default.jpg'; $login_name = $user->login_name; } catch ( PAException $e ) { $message = $e->message; $is_error = TRUE; } if (isset( $_POST['submit'] )) { $rel_creater = new User(); $rel_creater->load((int)$_SESSION['user']['id']); $relation_uid = $_GET['uid']; $relationship_level = $_POST['level']; if ($extra['reciprocated_relationship'] == NET_YES) { $status = PENDING; } else { $status = APPROVED; } try { if (isset($_POST['in_family'])) { // If the user has checked the in_family checkbox. Relation::add_relation($uid, $relation_uid, $relationship_level, NULL, NULL, NULL, NULL, NULL, true, $status); } else { Relation::add_relation($uid, $relation_uid, $relationship_level, NULL, NULL, NULL, NULL, NULL, NULL, $status); } if ($extra['reciprocated_relationship'] == NET_YES) { $to = $user->email; $mail_type = 'friend_request'; $expires = EXPIRES;//5days $token = $user->get_auth_token($expires); $requested_user = $user->login_name; $approve_deny_url = $base_url. '/mail_action.php?action=friend_request&token=' .$token; $mail_sub_msg_array = array('first_name'=>$_SESSION['user']['first_name'], 'last_name'=>$_SESSION['user']['last_name'],'user_id' =>$_SESSION['user']['id'], 'approve_deny_url'=>$approve_deny_url, 'requested_user' => $requested_user); pa_mail($to, $mail_type, $mail_sub_msg_array, $_SESSION['user']['email']); } else { $rel_creater_picture = uihelper_resize_mk_user_img($rel_creater->picture, 80, 80,'alt="'.$rel_creater->first_name.'" align="left" style="padding: 0px 12px 12px 0px;"'); $params['related_uid'] = $relation_uid; $params['related_user'] = $user->first_name; $params['user_name'] = $rel_creater->login_name; $params['user_id'] = $rel_creater->user_id; $params['user_image'] = $rel_creater_picture; $params['to'] = $user->email; auto_email_notification('relation_added', $params ); auto_email_notification_members('relationship_created_with_other_member', $params); } //invalidate cache of logged in user's relation module $cache_id = 'relation_private_'.$uid; CachedTemplate::invalidate_cache($cache_id); $cache_id = 'relation_public_'.$uid; CachedTemplate::invalidate_cache($cache_id); // invalidate cache of user who is being added in relation module $cache_id = 'in_relation_private_'.$relation_uid; CachedTemplate::invalidate_cache($cache_id); $cache_id = 'in_relation_public_'.$relation_uid; CachedTemplate::invalidate_cache($cache_id); if ($extra['reciprocated_relationship'] == NET_NO) { if ( $_POST['action'] ) { header("Location: user.php?uid=$relation_uid"); exit; } } else { header("Location: user.php?msg_id=1051"); // request sent exit; } } catch (PAException $e) { $message = $e->message; } } function setup_module($column, $moduleName, $obj) { global $uid, $relationship_level, $login_name, $relation_picture, $relation_uid, $is_error, $in_family, $status; switch ($column) { case 'left': if ($moduleName != 'LogoModule') { $obj->block_type = HOMEPAGE; } break; case 'middle': $obj->relation_uid = $relation_uid; $obj->login_name = $login_name; $obj->relation_picture = $relation_picture; $obj->relationship_level = $relationship_level; $obj->is_error = $is_error; $obj->in_family = $in_family; $obj->status = $status; break; case 'right': if ($moduleName=='UserPhotoModule') { $obj->picture = $_SESSION['user']['picture']; } break; } $obj->uid = $uid; $obj->mode = PUB; } $page = new PageRenderer("setup_module", PAGE_EDIT_RELATION, $title, "container_three_column.tpl", "header.tpl", PUB, HOMEPAGE, $network_info); $optional_parameters = "onload=\"$onload\""; $page->html_body_attributes = $optional_parameters; if ( $message ) { $msg_tpl = & new Template(CURRENT_THEME_FSPATH."/display_message.tpl"); $msg_tpl->set('message', $message); $page->add_module("middle", "top", $msg_tpl->fetch()); } $theme_details = get_user_theme($login_uid); if (is_array($theme_details['css_files'])) { foreach ($theme_details['css_files'] as $key => $value) { $page->add_header_css($value); } } echo $page->render(); ?>