Вход Регистрация
Файл: hashtag.io-2629a1a4ea078149b002e45e2e12bb946062c2b8/config/class/share.class.php
Строк: 214
<?php
  
class share{

    protected 
$db;
    protected 
$DIR;

    public function 
__construct(){
      
$db N::_DB();
      
$DIR N::$DIR;

      
$this->db $db;
      
$this->DIR $DIR;
    }

    public function 
DidIShareHimTo($post$user){
      
$session $_SESSION['id'];
      
$query $this->db->prepare("SELECT share_id FROM shares WHERE post_id = :post AND share_by = :by AND share_to = :to");
      
$query->execute(array(":post" => $post":by" => $session":to" => $user));
      
$count $query->rowCount();
      if (
$count == 0) {
        return 
false;
      } else if (
$count 0) {
        return 
true;
      }
    }

    public function 
getFollowingsShare($post){
      
$session $_SESSION['id'];

      include 
'universal.class.php';
      include 
'avatar.class.php';
      include 
'post.class.php';

      
$universal = new universal;
      
$avatar = new Avatar;
      
$Post = new post;

      
$query $this->db->prepare("SELECT follow_to FROM follow_system WHERE follow_by = :by ORDER BY time 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 (
$Post->getPost($post"user_id") != $userid) {
            echo 
"<div class='display_items select_receiver ";
            if (
self::DidIShareHimTo($post$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"), 15) ."</span>
            <span class='d_i_name'>"
$universal->nameShortener($universal->GETsDetails($userid"firstname")." "$universal->GETsDetails($userid"surname"), 15) ."</span></div></div></div>";
          }

        }
      }
    }

    public function 
postShare($to$post){
      
$by $_SESSION['id'];

      include 
'post.class.php';
      include 
'notifications.class.php';
      include 
'universal.class.php';

      
$noti = new notifications;
      
$universal = new universal;
      
$Post = new post;

      
// $mquery = $this->db->prepare("SELECT share_by, share_to, post_id FROM shares WHERE share_by = :b AND share_to = :t AND post_id = :p");
      // $mquery->execute(array(":b" => $by, ":t" => $to, ":p" => $post));
      // $count = $mquery->rowCount();

      
if (self::DidIShareHimTo($post$to) == false) {
        
$query $this->db->prepare("INSERT INTO shares (share_by, share_to, post_id, share_time) VALUES (:by, :to, :post, now())");
        
$query->execute(array(":by" => $by":to" => $to":post" => $post));
        
$noti->actionNotify($to$post"shareto");

        
$too $Post->postDetails($post"user_id");
        
$noti->actionNotify($too$post"shareyour");

        return 
"Shared to ".$universal->GETsDetails($to"username");
      } else {
        return 
"Already shared";
      }

    }

    public function 
getShares($post){
      
$query $this->db->prepare("SELECT share_id FROM shares WHERE post_id = :id");
      
$query->execute(array(":id" => $post));
      
$count $query->rowCount();
      if (
$count == 0) {
        return 
"No shares";
      } else if (
$count == 1) {
        return 
"1 share";
      } else {
        return 
"$count shares";
      }
    }

    public function 
sharers($posting){
      
$session $_SESSION['id'];

      include 
'universal.class.php';
      include 
'avatar.class.php';
      include 
'follow_system.class.php';

      
$universal = new universal;
      
$avatar = new Avatar;
      
$follow = new follow_system;

      
$query $this->db->prepare("SELECT share_by, share_to FROM shares WHERE post_id = :post ORDER BY share_id DESC");
      
$query->execute(array(":post" => $posting));
      if (
$query->rowCount() == 0) {
        echo 
"<div class='no_display'><img src='{$this->DIR}/images/needs/large.jpg'></div>";
      } else if (
$query->rowCount() != 0) {
        while (
$fetch $query->fetch(PDO::FETCH_OBJ)) {
          
$userid $fetch->share_by;
          
$to $fetch->share_to;
          echo 
"<div class='display_items' data-getid='$userid'><div class='d_i_img'>";
          echo 
"<img src='{$this->DIR}/"$avatar->DisplayAvatar($userid) ."' alt='profile'>";
          echo 
"</div><div class='d_i_content'><div class='d_i_info'>";
          echo 
"<a href='{$this->DIR}/profile/"$universal->GETsDetails($userid"username") ."' class='d_i_username username'>"$universal->nameShortener($universal->GETsDetails($userid"username"), 20) ."</a>";
          echo 
"<span class='d_i_name'>to <a href='{$this->DIR}/profile/{$universal->GETsDetails($to"username")}'>{$universal->nameShortener($universal->GETsDetails($to"username"), 20)}</a></span></div><div class='d_i_act display_ff' data-getid='$userid'>";

          if (
$session == $userid) {
            echo 
"<a href='{$this->DIR}/profile/"$universal->GETsDetails($userid"username") ."' class='sec_btn '>Profile</a>";
          } else {
            if (
$follow->isFollowing($userid)) {
              echo 
"<a href='#' class='pri_btn display_unfollow unfollow'>Unfollow</a>";
            } else if (
$follow->isFollowing($userid) == false) {
              echo 
"<a href='#' class='pri_btn display_follow follow'>Follow</a>";
            }
          }

          echo 
"</div></div><hr></div>";
        }
      }
    }

    public function 
AmIsharedTo($post){
      
$to $_SESSION['id'];
      
$query $this->db->prepare("SELECT share_id FROM shares WHERE post_id = :post AND share_to = :to");
      
$query->execute(array(":post" => $post":to" => $to));
      
$count $query->rowCount();
      if (
$count == 0) {
        return 
false;
      } else if (
$count 0) {
        return 
true;
      }
    }

    public function 
AmIsharedBy($post){
      
$to $_SESSION['id'];
      
$query $this->db->prepare("SELECT share_id FROM shares WHERE post_id = :post AND share_by = :to");
      
$query->execute(array(":post" => $post":to" => $to));
      
$count $query->rowCount();
      if (
$count == 0) {
        return 
false;
      } else if (
$count 0) {
        return 
true;
      }
    }

    public function 
unshare($post){
      
$session $_SESSION['id'];
      
$query $this->db->prepare("DELETE FROM shares WHERE post_id = :post AND share_to = :to");
      
$query->execute(array(":post" => $post":to" => $session));
    }

    public function 
getShareTos($post){
      
$session $_SESSION['id'];
      include 
'universal.class.php';
      include 
'avatar.class.php';

      
$universal = new universal;
      
$avatar = new Avatar;

      
$query $this->db->prepare("SELECT share_to FROM shares WHERE share_by = :by AND post_id = :post");
      
$query->execute(array(":by" => $session":post" => $post));
      
$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->share_to;
          echo 
"<div class='display_items select_receiver' 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"), 15). "</span>
          <span class='d_i_name'>"
$universal->nameShortener($universal->GETsDetails($userid"firstname")." "$universal->GETsDetails($userid"surname"), 15) ."</span></div></div></div>";

        }
      }
    }

    public function 
removeShare($post$user){
      
$query $this->db->prepare("DELETE FROM shares WHERE post_id = :post AND share_to = :to");
      
$query->execute(array(":post" => $post":to" => $user));
    }

  }
?>
Онлайн: 1
Реклама