Файл: hashtag.io-2629a1a4ea078149b002e45e2e12bb946062c2b8/config/class/groups.class.php
Строк: 720
<?php
class group{
protected $db;
protected $DIR;
public function __construct(){
$db = N::_DB();
$DIR = N::$DIR;
$this->db = $db;
$this->DIR = $DIR;
}
public function validGrp($grp){
$query = $this->db->prepare('SELECT group_id FROM groups WHERE group_id = :grp LIMIT 1');
$query->execute(array(":grp" => $grp));
if ($query->rowCount() == 1) {
return true;
} else if ($query->rowCount() == 0) {
return false;
}
}
public function grpAvatar($grp){
$avatar = self::GETgrp($grp, "grp_avatar");
if ($avatar == "") {
return "{$this->DIR}/images/Default_group_con/Epic-Circle-31m3ldalla6v0uqb8ne6mi.png";
} else {
return "{$this->DIR}/group/$grp/Instagram_$avatar";
}
}
public function GETgrp($grp, $what){
$query = $this->db->prepare("SELECT $what FROM groups WHERE group_id = :grp");
$query->execute(array(":grp" => $grp));
if ($query->rowCount() > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
return $row->$what;
}
}
}
public function create_group($ename, $ebio){
$name = preg_replace("#[<>]#i", "", $ename);
$bio = preg_replace("#[<>]#", "", $ebio);
$session = $_SESSION['id'];
$q = $this->db->prepare("SELECT group_id FROM groups WHERE grp_name = :name");
$q->execute(array(":name" => $name));
$query = $this->db->prepare("INSERT INTO groups(grp_name, grp_bio, grp_avatar, grp_admin, grp_time) VALUES (:name, :bio, :avatar, :admin, now())");
$query->execute(array(':name' => $name, ":bio" => $bio, ":avatar" => "", ":admin" => $session));
$id = $this->db->lastInsertId();
$query = $this->db->prepare("INSERT INTO group_members(group_id, group_member, added_by, time) VALUES (:grp, :member, :by, now())");
$query->execute(array(':grp' => $id, ":member" => $session, ":by" => $session));
mkdir("../../group/$id");
return $id;
}
public function memberOrNot($grp, $id){
$query = $this->db->prepare("SELECT group_member FROM group_members WHERE group_id = :grp AND group_member = :mem");
$query->execute(array(":grp" => $grp, ":mem" => $id));
$count = $query->rowCount();
if ($count == 1) {
return true;
} else if($count == 0){
return false;
}
}
public function joinGrp($grp){
$session = $_SESSION['id'];
$q = $this->db->prepare("SELECT group_id FROM group_members WHERE group_id = :grp AND group_member = :member AND added_by = :by");
$q->execute(array(":grp" => $grp, ":member" => $session, ":by" => $session));
if ($q->rowCount() == 0) {
$query = $this->db->prepare("INSERT INTO group_members(group_id, group_member, added_by, time) VALUES (:grp, :member, :by, now())");
$query->execute(array(':grp' => $grp, ":member" => $session, ":by" => $session));
}
}
public function leaveGrp($grp){
$session = $_SESSION['id'];
$query = $this->db->prepare("DELETE FROM group_members WHERE group_id = :grp AND group_member = :mem");
$query->execute(array(':grp' => $grp, ":mem" => $session));
}
public function noOfGrpMembers($grp){
$query = $this->db->prepare('SELECT group_member FROM group_members WHERE group_id = :grp');
$query->execute(array(":grp" => $grp));
return $query->rowCount();
}
public function noOfGrpPosts($grp){
$query = $this->db->prepare("SELECT post_id FROM post WHERE grp_id = :grp");
$query->execute(array(":grp" => $grp));
return $query->rowCount();
}
public function getGrpMembers($value, $grp){
$session = $_SESSION['id'];
// include 'universal.class.php';
// include 'avatar.class.php';
// include 'settings.class.php';
$universal = new universal;
$avatar = new Avatar;
$settings = new settings;
$text = preg_replace("#[<>]#", "", $value);
$query = $this->db->prepare("SELECT follow_to_u, follow_to FROM follow_system WHERE follow_by = :me AND follow_to_u LIKE :l");
$query->execute(array(":me" => $session, ":l" => "%$text%"));
if ($query->rowCount() > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$id = $row->follow_to;
$username = $row->follow_to_u;
if (self::memberOrNot($grp, $id) == false && $settings->AmIBlocked($id) == false) {
echo "<li class='grp_to_select_u select_user_to_add' data-user='{$id}' data-name='{$username}'><img src='{$this->DIR}/{$avatar->DisplayAvatar($id)}' alt=''><span>{$universal->nameShortener($universal->GETsDetails($id, "username"), 25)}</span></li>";
}
}
}
}
public function addGrpMembers($user, $grp){
$session = $_SESSION['id'];
// include 'notifications.class.php';
$noti = new notifications;
$query = $this->db->prepare("INSERT INTO group_members(group_id, group_member, added_by, time) VALUES (:grp, :member, :by, now())");
$query->execute(array(':grp' => $grp, ":member" => $user, ":by" => $session));
$name = self::GETgrp($grp, "grp_name");
$noti->actionNotify($user, $grp, "grp_add");
}
public function isGrpAdmin($grp, $id){
$query = $this->db->prepare("SELECT grp_admin FROM groups WHERE group_id = :grp AND grp_admin = :user LIMIT 1");
$query->execute(array(":grp" => $grp, ":user" => $id));
if ($query->rowCount() == 1) {
return true;
} else if ($query->rowCount() == 0) {
return false;
}
}
public function myGroups($id){
$Time = new time;
$universal = new universal;
$session = $_SESSION['id'];
$query = $this->db->prepare("SELECT groups.group_id, groups.grp_name, groups.grp_avatar, groups.grp_admin, group_members.time FROM groups, group_members WHERE group_members.group_member = :user AND group_members.group_id = groups.group_id ORDER BY group_members.time DESC");
$query->execute(array(":user" => $id));
if ($query->rowCount() == 0) {
echo "<div class='home_last_mssg pro_last_mssg'><img src='{$this->DIR}/images/needs/large.jpg'><span>";
if ($session == $id) {
echo "You have no groups";
} else if ($session != $id) {
echo $universal->GETsDetails($id, "username")." have no groups";
}
echo "</span></div>";
} else if ($query->rowCount() > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$grp = $row->group_id;
$name = $row->grp_name;
$av = $row->grp_avatar;
$admin = $row->grp_admin;
$time = $row->time;
echo "<div class='y_g inst'><div class='y_g_left'>
<img src='". self::grpAvatar($grp). "' alt=''>
<div class='y_g_content'>
<a href='{$this->DIR}/groups/{$grp}'>". $universal->nameShortener($name, 30) ."</a>";
echo "<span class='y_g_light'>";
if (self::mutualGrpMemCount($grp) == 0) {
echo self::noOfGrpMembers($grp)." members";
} else {
echo self::mutualGrpMemCount($grp)." mutual members";
}
echo"</span>";
if (self::isGrpAdmin($grp, $session)) {
echo "<span class='grp_admin'>You admin</span>";
} else if (self::isGrpAdmin($grp, $id)) {
echo "<span class='grp_admin'>admin</span>";
}
echo "</div>
</div>
<div class='y_g_right' data-grp='{$grp}'>";
if (self::isGrpAdmin($grp, $session) == false) {
if (self::memberOrNot($grp, $session)) {
echo "<a href='#' class='pri_btn leave_grp'>Leave group</a>";
} else if (self::memberOrNot($grp, $session) == false) {
echo "<a href='#' class='pri_btn join_grp'>Join group</a>";
}
}
echo "</div></div>";
}
}
}
public function newestMembers($grp){
$universal = new universal;
$avatar = new Avatar;
$session = $_SESSION['id'];
$query = $this->db->prepare('SELECT group_member, time FROM group_members WHERE group_id = :grp ORDER BY time DESC LIMIT 10');
$query->execute(array(":grp" => $grp));
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$member = $row->group_member;
$time = $row->time;
if($member == $session){ $x = "You"; } else { $x = $universal->nameShortener($universal->GETsDetails($member, "username"), 20); }
echo "<img src='{$this->DIR}/{$avatar->DisplayAvatar($member)}' alt='' data-description='{$x}' data-user='{$universal->GETsDetails($member, "username")}'>";
}
}
public function grpMembers($grp, $way, $limit){
$avatar = new Avatar;
$universal = new universal;
$follow = new follow_system;
$mutual = new mutual;
$timing = new time;
$session = $_SESSION['id'];
if ($way == "direct") {
$query = $this->db->prepare("SELECT group_mem_id, group_member, added_by, time FROM group_members WHERE group_id = :grp ORDER BY time DESC LIMIT 18");
$query->execute(array(":grp" => $grp));
} else if ($way == "ajax") {
$start = intval($limit);
$query = $this->db->prepare("SELECT group_mem_id, group_member, added_by, time FROM group_members WHERE group_id = :grp AND group_mem_id < :start ORDER BY time DESC LIMIT 18");
$query->execute(array(":grp" => $grp, ":start" => $start));
}
$count = $query->rowCount();
if ($count == 0) {
if ($way == "direct") {
echo "<div class='home_last_mssg pro_last_mssg'><img src='{$this->DIR}/images/needs/large.jpg'><span>No members</span></div>";
}
} else if ($count > 0) {
echo "<div class='m_wrapper'>";
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$memid = $row->group_mem_id;
$member = $row->group_member;
$by = $row->added_by;
$time = $row->time;
echo "<div class='m_on inst grp_m_on' data-memid='{$memid}'><div class='m_top'>
<img src='{$this->DIR}/{$avatar->DisplayAvatar($member)}' alt=''>
<div class='m_top_right'>
<a href='{$this->DIR}/profile/{$universal->GETsDetails($member, "username")}' title='{$universal->GETsDetails($member, "username")}'>". $universal->nameShortener($universal->GETsDetails($member, "username"), 16) ."</a>";
if (self::isGrpAdmin($grp, $member)) {
echo "<span class='grp_admin'>admin</span>";
}
echo "<span class='dk'>";
echo $mutual->eMutual($member);
echo "</span>
</div></div>
<span class='recommend_time'>{$timing->timeAgo($time)}</span>
<div class='m_bottom'>
<span class='recommend_by'>";
if ($by != $member) {
if ($by == $session) {
echo "by <a href='{$this->DIR}/profile/{$universal->GETsDetails($session, "username")}' title='You'>You</a>";
} else {
echo "by <a href='{$this->DIR}/profile/{$universal->GETsDetails($by, "username")}' title='{$universal->GETsDetails($by, "username")}'>{$universal->nameShortener($universal->GETsDetails($by, "username"), 20)}</a>";
}
}
echo "</span>";
if (self::isGrpAdmin($grp, $session) && $member != $session) {
echo "<span class='rem_mem' data-description='Remove' data-member='{$member}'><i class='material-icons'>close</i></span>";
}
echo "<div data-getid='$member'>";
if ($session == $member) {
echo "<a href='{$this->DIR}/profile/$session". $universal->GETsDetails($session, "username") ."' class='sec_btn '>Profile</a>";
} else {
if ($follow->isFollowing($member)) {
echo "<a href='#' class='pri_btn display_unfollow unfollow'>Unfollow</a>";
} else if ($follow->isFollowing($member) == false) {
echo "<a href='#' class='pri_btn display_follow follow'>Follow</a>";
}
}
echo "</div></div></div>";
}
echo "</div>";
echo "<div class='feed_inserted_members'></div>";
// echo "<div class='load_more_'><a href='#' class='pri_btn load_more_btn'>Load more</a></div>";
}
}
public function getGrpPost($grp, $way, $count){
$avatar = new Avatar;
$universal = new universal;
$Time = new time;
$post_like = new postLike;
$bookmark = new bookmark;
$share = new share;
$comment = new postComment;
$follow = new follow_system;
$settings = new settings;
$Post = new post;
$session = $_SESSION['id'];
if ($way == "direct") {
$query = $this->db->prepare("SELECT * FROM post WHERE post_of = :grp AND grp_id = :id ORDER BY time DESC LIMIT 5");
$query->execute(array(":grp" => "group", ":id" => $grp));
} else if ($way == "ajax") {
$start = intval($count);
$end = $start+10;
$query = $this->db->prepare("SELECT * FROM post WHERE post_of = :grp AND grp_id = :id AND post_id < :start ORDER BY time DESC LIMIT 5");
$query->execute(array(":grp" => "group", ":id" => $grp, ":start" => $start));
}
$count = $query->rowCount();
if ($count == 0) {
if ($way == "direct") {
echo "<div class='home_last_mssg'><img src='{$this->DIR}/images/needs/large.jpg'><span>";
echo self::GETgrp($grp, "grp_name")." got no posts";
echo "</span></div>";
}
} else if ($count > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$post_id = $row->post_id;
$user_id = $row->user_id;
$type = $row->type;
$time = $row->time;
$size = $row->font_size;
$address = $row->address;
echo "<div class='posts inst' data-postid='{$post_id}' data-time='{$time}'><div class='p_i'><div class='p_i_img'>";
echo "<img src='". DIR ."/{$avatar->DisplayAvatar($user_id)}' alt='{$universal->GETsDetails($user_id, "username")}'s avatar'>";
echo "</div><div class='p_i_1'>";
echo "<a href='". DIR ."/profile/{$universal->GETsDetails($user_id, "username")}' title='{$universal->GETsDetails($user_id, "username")}'>{$universal->nameShortener($universal->GETsDetails($user_id, "username"), 25)}</a><span title='". $Post->addressTitle($address, $user_id) ."'>";
echo $Post->addressN($address, $user_id);
echo "</span>";
echo "</div><div class='p_i_2'><div class='p_time'>";
echo "<span class=''>". $Time->timeAgo($time) ."</span></div><div class='p_h_opt'>";
echo "<span class='p_comm'>". $share->getShares($post_id) ."</span>";
echo "<span class='exp_p_menu'><i class='material-icons'>expand_more</i></span></div></div><div class='options p_options'><ul>";
echo "<li><a href='{$this->DIR}/view_post/{$post_id}'>Open</a></li>";
if ($universal->MeOrNot($user_id)) {
echo "<li><a href='#' class='edit_post'>Edit post</a></li>";
echo "<li><a href='#' class='delete_post'>Delete post</a></li>";
} else if ($universal->MeOrNot($user_id) == false) {
if ($follow->isFollowing($user_id)) {
echo "<li><a href='#' class='simple_unfollow'>Unfollow</li>";
}
if ($settings->isBlocked($user_id) == false) {
echo "<li><a href='#' data-getid='{$user_id}' class='block'>Block {$universal->GETsDetails($user_id, "username")}</a></li>";
}
}
if ($share->AmIsharedTo($post_id)) {
echo "<li><a href='#' class='unshare'>Remove share</a></li>";
}
if ($share->AmIsharedBy($post_id)) {
echo "<li><a href='#' class='un__share'>Unshare</a></li>";
}
echo "<li><a href='#' data-link='{$universal->urlChecker($this->DIR)}/view_post/{$post_id}' class='p_copy_link'>Copy link</a></li>";
echo "</ul></div></div><div class='p_o'>";
echo "<div class='p_edit_tools'><span class='p_edit_tip'><i class='fa fa-info-circle' aria-hidden='true'></i>For hashtag, first remove all the text</span>
<a href='#' class='p_edit_cancel sec_btn'>Cancel</a>
<a href='#' class='p_edit_save pri_btn'>Save</a></div>";
echo "<div class='p_actual' spellcheck='false'>";
echo $Post->getDifferentPost($type, $post_id, $size);
echo "</div></div><hr><div class='p_a'><div class='p_do'>";
echo "<div class='p_Like_wra'>";
if($post_like->likedOrNot($post_id)){
echo "<span class='p_unlike' data-description='Unlike'><i class='material-icons'>favorite</i></span>";
} else if ($post_like->likedOrNot($post_id) == false) {
echo "<span class='p_like' data-description='Like'><i class='material-icons'>favorite_border</i></span>";
}
echo "</div>";
echo "<div class='p_bmrk_wra'>";
if ($bookmark->bookmarkedOrNot($post_id)) {
echo "<span class='p_unbookmark' data-description='Unbookmark'><i class='material-icons'>bookmark</i></span>";
} else if ($bookmark->bookmarkedOrNot($post_id) == false) {
echo "<span class='p_bookmark' data-description='Bookmark'><i class='material-icons'>bookmark_border</i></span>";
}
echo "</div>";
echo "<div class='p_send_wra'><span class='p_send' data-description='Share'><i class='material-icons'>send</i></span></div>";
echo "</div><div class='p_did'><span class='p_likes likes' data-description='{$post_like->simpleGetPostLikes($post_id)} likes'>". $post_like->getPostLikes($post_id) ."</span></div></div><hr>";
echo "<div class='p_comments'>". $comment->getComments($post_id) ."</div>";
echo "</div>";
}
echo "<div class='feed_inserted post_end'>Looks like you've reached the end</div>";
// echo "<div class='post_end'>Looks like you've reached the end</div>";
}
}
public function getGrpPhotos($grp){
$universal = new universal;
$like = new postLike;
$Time = new time;
$comment = new postComment;
$query = $this->db->prepare("SELECT post.post_id, image_post.image, image_post.filter, post.user_id, post.time FROM post, image_post WHERE post.grp_id = :user AND post.type = :type AND post.post_id = image_post.post_id AND post.post_of = :grp ORDER BY post.time DESC");
$query->execute(array(":user" => $grp, ":type" => "image", ":grp" => "group"));
$count = $query->rowCount();
if ($count == 0) {
echo "<div class='home_last_mssg pro_last_mssg'><img src='{$this->DIR}/images/needs/large.jpg'><span>Group has no photos</span></div>";
} else if ($count > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$post_id = $row->post_id;
$userid = $row->user_id;
$image = $row->image;
$time = $row->time;
$filter = $row->filter;
echo "<div class='post_photos'>
<div class='post_p_info'>
<span><i class='material-icons'>favorite</i> <span>{$like->simpleGetPostLikes($post_id)}</span></span>
<span><i class='material-icons'>chat_bubble</i> <span>{$comment->simpleGetComments($post_id)}</span></span>
</div>
<img src='{$this->DIR}/media/Instagram_{$image}' alt='' data-imgby='{$universal->GETsDetails($userid, "username")}' data-postid='{$post_id}' data-time='{$Time->timeAgo($time)}' data-filter='{$filter}' class='{$filter}'></div>";
}
}
}
public function getGrpVideos($grp){
$avatar = new Avatar;
$universal = new universal;
$Time = new time;
$post_like = new postLike;
$bookmark = new bookmark;
$taggings = new taggings;
$share = new share;
$comment = new postComment;
$session = $_SESSION['id'];
$query = $this->db->prepare("SELECT post.post_id, post.user_id, video_post.video FROM post, video_post WHERE post.grp_id = :user AND post.type = :type AND post.post_id = video_post.post_id AND post.post_of = :grp ORDER BY post.time DESC");
$query->execute(array(":user" => $grp, ":type" => "video", ":grp" => "group"));
$count = $query->rowCount();
if ($count == 0) {
echo "<div class='home_last_mssg pro_last_mssg'><img src='{$this->DIR}/images/needs/large.jpg'><span>Group has no videos</span></div>";
}
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$post_id = $row->post_id;
$video = $row->video;
echo "<div class='p_vid video_vid'>
<video src='{$this->DIR}/media/Instagram_{$video}' loop preload='auto'></video>
<span class='p_vid_pp_large'><i class='material-icons'>play_arrow</i></span>
<span class='p_vid_cur p_vid_time_teaser'>0:00</span>
<span class='p_vid_time_bubble'>0:00</span><div class='p_vid_ctrls'><div class='p_vid_seek'>
<input class='p_vid_seek_range' type='range' name='p_vid_range' value='0' min='0' max='100' step='1'>
</div><span class='p_vid_pp'><i class='material-icons'>play_arrow</i></span>
<div class='p_vid_duration'><span class='p_vid_cur'>0:00</span><span class='p_vid_dur_sep'>/</span>
<span class='p_vid_dur'>0:00</span></div><div class='p_vid_vol_div'>
<input type='range' name='p_vid_vol_slider' value='100' min='0' max='100' step='1'>
</div><span class='p_vid_vup'><i class='material-icons'>volume_up</i></span>
<div class='p_vid_pbr_div'><ul><li data-pbr='2'>2x</li><li data-pbr='1.75'>1.75x</li>
<li data-pbr='1.5'>1.5x</li><li data-pbr='1.25'>1.25x</li><li data-pbr='1' class='pbr_class'>1x</li>
<li data-pbr='0.75'>0.75x</li><li data-pbr='0.5'>0.5x</li></ul></div>
<span class='p_vid_setting'>1x</span><div class='p_vid_shadow'></div></div></div>";
}
}
public function editGrp($ename, $ebio, $pri, $grp){
$name = trim(preg_replace("#[<>]#i", "", $ename));
$bio = trim(preg_replace("#[<>]#i", "", $ebio));
$query = $this->db->prepare("UPDATE groups SET grp_name = :name, grp_bio = :bio, grp_privacy = :pri WHERE group_id = :grp");
$query->execute(array(":name" => $name, ":bio" => $bio, ":pri" => $pri, ":grp" => $grp));
}
public function dltGrp($grp){
$session = $_SESSION['id'];
// include 'post.class.php';
$Post = new post;
$query = $this->db->prepare("SELECT post_id FROM post WHERE grp_id = :grp");
$query->execute(array(":grp" => $grp));
if ($query->rowCount() > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$post = $row->post_id;
$Post->deletePost($post);
}
}
$aq = $this->db->prepare("DELETE FROM group_members WHERE group_id = :grp");
$aq->execute(array(":grp" => $grp));
$av = self::GETgrp($grp, "grp_avatar");
if ($av != "") {
unlink("../../group/{$grp}/Instagram_$av");
}
rmdir("../../group/{$grp}");
$aq = $this->db->prepare("DELETE FROM groups WHERE group_id = :grp");
$aq->execute(array(":grp" => $grp));
}
public function mutualGrpMemCount($grp){
$session = $_SESSION['id'];
$query = $this->db->prepare("SELECT group_members.group_member FROM follow_system, group_members WHERE follow_system.follow_by = :me AND group_members.group_id = :grp AND follow_system.follow_to = group_members.group_member");
$query->execute(array(":me" => $session, ":grp" => $grp));
$count = $query->rowCount();
return $count;
}
public function mutualGrpMembers($grp){
$session = $_SESSION['id'];
$universal = new universal;
$avatar = new Avatar;
$query = $this->db->prepare("SELECT group_members.group_member FROM follow_system, group_members WHERE follow_system.follow_by = :me AND group_members.group_id = :grp AND follow_system.follow_to = group_members.group_member ORDER BY group_mem_id DESC LIMIT 10");
$query->execute(array(":me" => $session, ":grp" => $grp));
$count = $query->rowCount();
if ($count > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$member = $row->group_member;
if($member == $session){ $x = "You"; } else { $x = $universal->nameShortener($universal->GETsDetails($member, "username"), 20); }
echo "<img src='{$this->DIR}/{$avatar->DisplayAvatar($member)}' alt='' data-description='{$x}' data-user='{$universal->GETsDetails($member, "username")}'>";
}
}
}
public function removeMember($mem, $grp){
$query = $this->db->prepare("DELETE FROM group_members WHERE group_id = :grp AND group_member = :mem");
$query->execute(array(":grp" => $grp, ":mem" => $mem));
}
public function mutualGroups($id){
$session = $_SESSION['id'];
$universal = new universal;
$array1 = array();
$array2 = array();
$array3 = array();
$query = $this->db->prepare("SELECT group_id FROM group_members WHERE group_member = :mem");
$query->execute(array(":mem" => $id));
if ($query->rowCount() > 0) {
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$array1[] = $row->group_id;
}
}
$q = $this->db->prepare("SELECT group_id FROM group_members WHERE group_member = :mem");
$q->execute(array(":mem" => $session));
if ($q->rowCount() > 0) {
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
$array2[] = $r->group_id;
}
}
foreach ($array1 as $value) {
if (in_array($value, $array2)) {
$array3[] = $value;
}
}
if (count($array3) > 0) {
foreach ($array3 as $value) {
$qq = $this->db->prepare("SELECT grp_name, grp_avatar FROM groups WHERE group_id = :grp");
$qq->execute(array(":grp" => $value));
while ($rr = $qq->fetch(PDO::FETCH_OBJ)) {
$name = $rr->grp_name;
$av = $rr->grp_avatar;
echo "<img src='". self::grpAvatar($value) ."' alt='' data-description='{$universal->nameShortener($name, 20)}' data-grp='{$value}' class='m_grps'>";
}
}
} else {
echo "<div class='no_mutual_grp'><span>No mutual groups</span></div>";
}
}
public function didIInviteHimTo($grp, $user){
$session = $_SESSION['id'];
$query = $this->db->prepare("SELECT inviteGrpId FROM inviteGrp WHERE inviteGrp = :grp AND inviteGrpBy = :by AND inviteGrpTo = :to");
$query->execute(array(":grp" => $grp, ":by" => $session, ":to" => $user));
$count = $query->rowCount();
if ($count == 0) {
return false;
} else if ($count > 0) {
return true;
}
}
public function selectToInvite($grp){
$session = $_SESSION['id'];
// include 'universal.class.php';
// include 'avatar.class.php';
$universal = new universal;
$avatar = new Avatar;
$query = $this->db->prepare("SELECT follow_to FROM follow_system WHERE follow_by = :by ORDER BY follow_id DESC");
$query->execute(array(":by" => $session));
$count = $query->rowCount();
if ($count == 0) {
echo "<div class='no_display'><img src='{$this->DIR}/images/needs/large.jpg'></div>";
} else if ($count > 0) {
echo "<input type='hidden' class='share_postid'>";
echo "<input type='hidden' class='share_userid'>";
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$userid = $row->follow_to;
if (self::memberOrNot($grp, $userid) == false) {
echo "<div class='display_items select_receiver ";
if (self::didIInviteHimTo($grp, $userid)) {
echo "already_shared";
}
echo "' data-userid='{$userid}'><div class='d_i_img'>
<img src='{$this->DIR}/". $avatar->DisplayAvatar($userid) ."' alt='profile'></div><div class='d_i_content'><div class='d_i_info'>
<span class='d_i_username username'>". $universal->nameShortener($universal->GETsDetails($userid, "username"), 12). "</span>
<span class='d_i_name'>". $universal->nameShortener($universal->GETsDetails($userid, "firstname")." ". $universal->GETsDetails($userid, "surname"), 17) ."</span></div></div></div>";
}
}
}
}
public function inviteGrp($to, $grp){
$by = $_SESSION['id'];
// include 'notifications.class.php';
// include 'universal.class.php';
$noti = new notifications;
$universal = new universal;
if (self::didIInviteHimTo($grp, $to) == false) {
$query = $this->db->prepare("INSERT INTO inviteGrp (inviteGrpBy, inviteGrpTo, inviteGrp, inviteGrpTime) VALUES (:by, :to, :grp, now())");
$query->execute(array(":by" => $by, ":to" => $to, ":grp" => $grp));
$noti->actionNotify($to, $grp, "inviteGrp");
return "Invited ".$universal->GETsDetails($to, "username");
} else {
return "Already invited";
}
}
public function selectForGrpAdmin($grp){
$session = $_SESSION['id'];
$universal = new universal;
$avatar = new Avatar;
$query = $this->db->prepare("SELECT group_member FROM group_members WHERE group_id = :grp AND group_member <> :me ORDER BY time DESC");
$query->execute(array(":grp" => $grp, ":me" => $session));
$count = $query->rowCount();
if ($count == 0) {
echo "<div class='no_display'><img src='{$this->DIR}/images/needs/large.jpg'></div>";
} else if ($count > 0) {
echo "<input type='hidden' class='share_postid'>";
echo "<input type='hidden' class='share_userid'>";
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
$userid = $row->group_member;
if (self::isGrpAdmin($grp, $userid) == false) {
echo "<div class='display_items select_receiver";
echo "' data-userid='{$userid}'><div class='d_i_img'>
<img src='{$this->DIR}/". $avatar->DisplayAvatar($userid) ."' alt='profile'></div><div class='d_i_content'><div class='d_i_info'>
<span class='d_i_username username'>". $universal->nameShortener($universal->GETsDetails($userid, "username"), 12) ."</span>
<span class='d_i_name'>". $universal->nameShortener($universal->GETsDetails($userid, "firstname")." ". $universal->GETsDetails($userid, "surname"), 15) ."</span></div></div></div>";
}
}
}
}
public function changeGrpAdmin($user, $grp){
$noti = new notifications;
$session = $_SESSION['id'];
if (self::isGrpAdmin($grp, $user) == false) {
$query = $this->db->prepare("UPDATE groups SET grp_admin = :user WHERE group_id = :grp AND grp_admin = :me");
$query->execute(array(":user" => $user, ":grp" => $grp, ":me" => $session));
$noti->actionNotify($user, $grp, "changeGrpAdmin");
return "ok";
}
}
}
?>