Aiuto script muro

di il
1 risposte

Aiuto script muro

Buonasera a tutti,
sono nuovo del forum e spero che qualcuno possa aiutarmi ....

HO scaricato uno script che mi interessava che simula un muro tipo fb da implementare nel mio sito, e fino a qui tutto ok ho sistemato e implementato il codice con il mio db users ecc ....

Il problema viene perchè io vorrei che paperian e paperino che sono amici vedano i loro post e commentino ecc ecc un po' il principio di fb ....

Ora lo scrip originale è questo


<?php  


class Wall_Updates {  

public $perpage = 10; // Uploads perpage  
      

      
     // Updates         
      public function Updates($id,$lastid)   
    {  
      // More Button  
       $morequery="";  
        if($lastid)  
        $morequery=" and M.msg_id<'".$lastid."' ";  
       // More Button End  
         
        $query = mysql_query("SELECT M.msg_id, M.id_fk, M.message, M.created, U.username,M.uploads FROM messages M, users U  WHERE M.id_fk=U.id and M.id_fk='$id' $morequery order by M.msg_id desc limit " .$this->perpage) or die(mysql_error());  
          
         while($row=mysql_fetch_array($query))  
        $data[]=$row;  
        return $data;  
          
    }  
         // Updates         
      public function Total_Updates($id)   
    {  
              
        $query = mysql_query("SELECT M.msg_id, M.id_fk, M.message, M.created, U.username,M.uploads FROM messages M, users U  WHERE M.id_fk=U.id and M.id_fk='$id' $morequery order by M.msg_id ") or die(mysql_error());  
        $data=mysql_num_rows($query);  
        return $data;  
          
    }  
      
    //Comments  
       public function Comments($msg_id,$second_count)   
    {  
    $query='';  
      if($second_count)  
      $query="limit $second_count,2";  
        $query = mysql_query("SELECT C.com_id, C.id_fk, C.comment, C.created, U.username FROM comments C, users U WHERE C.id_fk=U.id and C.msg_id_fk='$msg_id' order by C.com_id asc $query") or die(mysql_error());  
       while($row=mysql_fetch_array($query))  
        $data[]=$row;  
        if(!empty($data))  
        {  
       return $data;  
         }  
    }  
      
      
    //Avatar Image  
    //From database  
     public function Profile_Pic($id)   
    {  
        $query = mysql_query("SELECT profile_pic FROM `users` WHERE id='$id'") or die(mysql_error());  
       $row=mysql_fetch_array($query);  
       if(!empty($row['profile_pic']))  
       {  
        $profile_pic_path=$base_url.'profile_pic/';  
        $data=    $profile_pic_path.$row['profile_pic'];  
        return $data;  
         }  
         else  
         {  
         $data="icons/default.jpg";  
        return $data;  
         }  
    }  
    //  Gravatar Image  
    public function Gravatar($id)   
    {  
        $query = mysql_query("SELECT email FROM `users` WHERE id='$id'") or die(mysql_error());  
       $row=mysql_fetch_array($query);  
       if(!empty($row))  
       {  
        $email=$row['email'];  
        $lowercase = strtolower($email);  
        $imagecode = md5( $lowercase );  
        $data="http://www.gravatar.com/avatar.php?gravatar_id=$imagecode";  
        return $data;  
         }  
         else  
         {  
         $data="default.jpg";  
        return $data;  
         }  
    }  
      
    //Insert Update  
    public function Insert_Update($id, $update,$uploads)   
    {  
    $update=mysql_real_escape_string($update);  
      $time=time();  
       $ip=$_SERVER['REMOTE_ADDR'];  
        $query = mysql_query("SELECT msg_id,message FROM `messages` WHERE id_fk='$id' order by msg_id desc limit 1") or die(mysql_error());  
        $result = mysql_fetch_array($query);  
          
        if ($update!=$result['message']) {  
          $uploads_array=explode(',',$uploads);  
          $uploads=implode(',',array_unique($uploads_array));  
            $query = mysql_query("INSERT INTO `messages` (message, id_fk, ip,created,uploads) VALUES (N'$update', '$id', '$ip','$time','$uploads')") or die(mysql_error());  
            $newquery = mysql_query("SELECT M.msg_id, M.id_fk, M.message, M.created, U.username FROM messages M, users U where M.id_fk=U.id and M.id_fk='$id' order by M.msg_id desc limit 1 ");  
            $result = mysql_fetch_array($newquery);  
          
             return $result;  
        }   
        else  
        {  
                 return false;  
        }  
          
         
    }  
      
    //Delete update  
        public function Delete_Update($id, $msg_id)   
    {  
        $query = mysql_query("DELETE FROM `comments` WHERE msg_id_fk = '$msg_id' and id_fk='$id' ") or die(mysql_error());  
        $query = mysql_query("DELETE FROM `messages` WHERE msg_id = '$msg_id' and id_fk='$id'") or die(mysql_error());  
        return true;  
                   
    }  
      
        //Image Upload  
        public function Image_Upload($id, $image)   
    {  
    //Base64 encoding  
    $path="uploads/";  
           $img_src = $path.$image;  
     $imgbinary = fread(fopen($img_src, "r"), filesize($img_src));  
     $img_base = base64_encode($imgbinary);  
     $ids = 0;  
        $query = mysql_query("insert into user_uploads (image_path,id_fk)values('$image' ,'$id')") or die(mysql_error());  
        $ids = mysql_insert_id();  
        return $ids;  
    }  
      
            //get Image Upload  
        public function Get_Upload_Image($id,$image)   
    {      
        if($image)  
        {  
          $query = mysql_query("select id,image_path from user_uploads where image_path='$image'") or die(mysql_error());  
        }  
        else  
        {  
           $query = mysql_query("select id,image_path from user_uploads where id_fk='$id' order by id desc ") or die(mysql_error());  
        }  
        
         $result = mysql_fetch_array($query);  
          
        return $result;  
    }  
      
        //Id Image Upload  
        public function Get_Upload_Image_Id($id)   
    {      
        $query = mysql_query("select image_path from user_uploads where id='$id'") or die(mysql_error());  
         $result = mysql_fetch_array($query);  
          
        return $result;  
    }  
      
    //Insert Comments  
    public function Insert_Comment($id,$msg_id,$comment)   
    {  
    $comment=mysql_real_escape_string($comment);  
      
               $time=time();  
       $ip=$_SERVER['REMOTE_ADDR'];  
        $query = mysql_query("SELECT com_id,comment FROM `comments` WHERE id_fk='$id' and msg_id_fk='$msg_id' order by com_id desc limit 1 ") or die(mysql_error());  
        $result = mysql_fetch_array($query);  
      
        if ($comment!=$result['comment']) {  
            $query = mysql_query("INSERT INTO `comments` (comment, id_fk,msg_id_fk,ip,created) VALUES (N'$comment', '$id','$msg_id', '$ip','$time')") or die(mysql_error());  
            $newquery = mysql_query("SELECT C.com_id, C.id_fk, C.comment, C.msg_id_fk, C.created, U.username FROM comments C, users U where C.id_fk=U.id and C.id_fk='$id' and C.msg_id_fk='$msg_id' order by C.com_id desc limit 1 ");  
            $result = mysql_fetch_array($newquery);  
           
           return $result;  
        }   
        else  
        {  
        return false;  
        }  
         
    }  
      
    //Delete Comments  
        public function Delete_Comment($id, $com_id)   
    {  
        $query = mysql_query("DELETE FROM `comments` WHERE id_fk='$id' and com_id='$com_id'") or die(mysql_error());  
        return true;  
                   
    }  

      

}  

?>
Io l'ho modificato cosi sperando che users 1 e users 2 che sono amici vedano quei post ... ma purtroppo modificando la prima query in tutti i modi , o printa lo stesso post per tutti gli utenti, o altri errori ecc ..

codice modificato

class Wall_Updates { 

public $perpage = 10; // Uploads perpage 
     

     
     // Updates        
      public function Updates($id,$lastid)  
    { 
      // More Button 
       $morequery=""; 
        if($lastid) 
        $morequery=" and M.msg_id<'".$lastid."' "; 
       // More Button End 
        
        $query = mysql_query("SELECT M.msg_id, M.id_fk, M.message, M.created, U.username,M.uploads FROM messages M, users U WHERE M.id_fk=U.id and M.id_fk='$id' $morequery OR M.id_fk=$id IN (SELECT user_1 FROM relationship AS r WHERE r.user_2 = '$uid' AND r.amico = 'S') OR M.id_fk IN (SELECT user_2 FROM relationship AS r WHERE r.user_1 = '$id' AND r.amico = 'S') order by M.msg_id desc limit " .$this->perpage) or die(mysql_error()); 
         
         while($row=mysql_fetch_array($query)) 
        $data[]=$row; 
        return $data; 
         
    }  
Posto anche la tabella relationship

-- phpMyAdmin SQL Dump 
-- version 2.11.9.6 
-- http://www.phpmyadmin.net 
-- 
-- Host: localhost:3306 
-- Generato il: 17 Mar, 2013 at 05:31 PM 
-- Versione MySQL: 5.1.58 
-- Versione PHP: 5.2.6 

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 

-- 
-- Database: `verdemoneta` 
-- 

-- -------------------------------------------------------- 

-- 
-- Struttura della tabella `relationship` 
-- 

CREATE TABLE IF NOT EXISTS `relationship` ( 
  `id` int(10) NOT NULL AUTO_INCREMENT, 
  `user_1` bigint(20) NOT NULL, 
  `user_2` bigint(20) NOT NULL, 
  `amico` enum('S','N') NOT NULL DEFAULT 'N', 
  `user_id` int(11) NOT NULL, 
  PRIMARY KEY (`id`) 
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=71 ; 

-- 
-- Dump dei dati per la tabella `relationship` 
-- 

INSERT INTO `relationship` (`id`, `user_1`, `user_2`, `amico`, `user_id`) VALUES 
(12, 106, 79, 'S', 0), 
(9, 79, 106, 'S', 0), 
(70, 102, 106, 'S', 0); 

1 Risposte

  • Re: Aiuto script muro

    E' una cosa molto semplice da realizzare !!! ti consiglio cmq di non scaricare roba pronta, cercate prima di capire cosa volete ottenere e come realizzarlo. se vi serve una mano sono a disposizione !
Devi accedere o registrarti per scrivere nel forum
1 risposte