Current location: Hot Scripts Forums » Programming Languages » PHP » user is online help


user is online help

Reply
  #1 (permalink)  
Old 09-15-11, 06:40 PM
phphelpme phphelpme is offline
Newbie Coder
 
Join Date: Jul 2010
Posts: 85
Thanks: 10
Thanked 0 Times in 0 Posts
user is online help

ok i want to make it to where when you look at there profile it will tell you if they are online or not!
how would i do that ? here is my php script that has some modifications on the profile page but wont show if other users are online! here is the login script where i put the session and the profile page.
login.php
PHP Code:

<?php


// Start Session to enable creating the session variables below when they log in
session_start();
// Force script errors and warnings to show on page in case php.ini file is set to not display them
error_reporting(E_ALL);
ini_set('display_errors''1');
//-----------------------------------------------------------------------------------------------------------------------------------
// Initialize some vars
$errorMsg '';
$email '';
$pass '';
$remember '';
if (isset(
$_POST['email'])) {
    
    
$email $_POST['email'];
    
$pass $_POST['pass'];
    if (isset(
$_POST['remember'])) {
        
$remember $_POST['remember'];
    }
    
$email stripslashes($email);
    
$pass stripslashes($pass);
    
$email strip_tags($email);
    
$pass strip_tags($pass);
    
    
// error handling conditional checks go here
    
if ((!$email) || (!$pass)) { 

        
$errorMsg '<font color="red">Please fill in both fields</font>';

    } else { 
// Error handling is complete so process the info if no errors
        
include 'scripts/connect_to_mysql.php'// Connect to the database
        
$email mysql_real_escape_string($email); // After we connect, we secure the string before adding to query
        //$pass = mysql_real_escape_string($pass); // After we connect, we secure the string before adding to query
        
$pass md5($pass); // Add MD5 Hash to the password variable they supplied after filtering it
        // Make the SQL query
        
$sql mysql_query("SELECT * FROM myMembers WHERE email='$email' AND password='$pass' AND email_activated='1'"); 
        
$login_check mysql_num_rows($sql);
        
// If login check number is greater than 0 (meaning they do exist and are activated)
        
if($login_check 0){ 
                while(
$row mysql_fetch_array($sql)){
                    
                    
// Pleae note: Adam removed all of the session_register() functions cuz they were deprecated and
                    // he made the scripts to where they operate universally the same on all modern PHP versions(PHP 4.0  thru 5.3+)
                    // Create session var for their raw id
                    
$id $row["id"];   
                    
$_SESSION['id'] = $id;
                    
// Create the idx session var
                    
$_SESSION['idx'] = base64_encode("g4p3h9xfn8sq03hs2234$id");
                    
// Create session var for their username
                    
$username $row["username"];
                    
$_SESSION['username'] = $username;
                    
//THIS IS WHERE I EDITED THE SESSION TO SAY IF THERE LOGGED IN OR NOT
                    
$logedin $row['id'];
                    
$_SESSION['islogedin']=$logedin;
                    
mysql_query("UPDATE myMembers SET last_log_date=now() WHERE id='$id' LIMIT 1");
                    
// THIS WAS JUST A TEST BUT WONT UPDATE UNTILL THEY LOGOUT
                    
mysql_query("UPDATE myMembers SET online='online' WHERE id='$id' LIMIT 1");
                    
                    
                } 
// close while
    
                // Remember Me Section
                
if($remember == "yes"){
                    
$encryptedID base64_encode("g4enm2c0c4y3dn3727553$id");
                    
setcookie("idCookie"$encryptedIDtime()+60*60*24*100"/"); // Cookie set to expire in about 30 days
                    
setcookie("passCookie"$passtime()+60*60*24*100"/"); // Cookie set to expire in about 30 days
                

                
// All good they are logged in, send them to homepage then exit script
                
header("location: home.php?test=$id"); 
                exit();
    
        } else { 
// Run this code if login_check is equal to 0 meaning they do not exist
            
$errorMsg "<h3><font color='red'>Email/Password invalid<br /></font></h3><a href='forgot_pass.php'>Forgot password?</a><div align='right'> <br> Forget to activate you account?</div>";
        } 
        

    } 
// Close else after error checks

//Close if (isset ($_POST['uname'])){

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="style/main.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.4.2.js" type="text/javascript"></script>
<title>Log In</title>
<title>Login Page</title>
   <style type="text/css">
        #stage {
            top: 0px;
            left: 0px;
            z-index: 100;
        }
        .stage {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            min-width: 900px;
            height: 1359px;
            overflow: hidden;
        }
        #bg {
            background: #aedfe5 url(images/sky1.png) 0 0 repeat-x;
        }
        #clouds {
            background: transparent url(images/cloud.png) 305px 10px repeat-x;
        }
        #sun
        {
            background:  url(images/land_sun.gif)0 0 no-repeat;
        }
        #hillbottom
        {
            background: url(images/hill2.png)0 1270px repeat-x;
        }
    </style>
    <link rel="stylesheet" type="text/css" href="css/loginstyle.css" /></head>
<body>
<!-- IE6 fixes are found in styles/ie6.css -->
    <!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="css/ie6.css" /><![endif]-->
    
    <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="js/jquery-ui-1.7.2.spritely.custom.min.js" type="text/javascript"></script>
    <script src="js/jquery.spritely-0.5.js" type="text/javascript"></script>

    <script type="text/javascript">
    (function($) {
            $(document).ready(function() {
                
                
                    
                var direction = 'left';
                
                

                $('#clouds').pan({fps: 40, speed: 0.5, dir: direction, depth: 10});
                
                
            });
        })(jQuery);
    
    </script><div id="bg" class="stage"></div> 
    <div id="container">
    <div id="sun" class="stage"></div>
    <div id="clouds" class="stage">
        <div id="stage" class="stage">
<body>
<div id="behindform">
  <form id="signinform" action="login.php" method="post" enctype="multipart/form-data" name="signinform">
    <fieldset>
    
      <legend>Log in</legend>
     
      <label for="login">Email</label>
      <input type="text" id="email" name="email" />
      <div class="clear"></div>
      
      <label for="password">Password</label>
      <input type="password" id="password" name="pass" />
      <div class="clear"></div>
      
      <label for="remember_me" style="padding: 0;">Remember me?</label>
      <input type="checkbox" id="remember" style="position: relative; top: 3px; margin: 0; " name="remember"/ value="yes" checked="checked">
      <div class="clear"></div>
      
      <br />
      
      <input type="submit" style="margin: -20px 0 0 287px;" class="button" name="commit" value="Sign In"/> 
    </fieldset><?php print "$errorMsg"?>
  </form>
  </div>
  </div>
  </div><div id="hillbottom" class="stage"> </div>
  
  

 
    
    
</body>
</html>
and here is my profile.php page
PHP Code:

<?php


// Start_session, check if user is logged in or not, and connect to the database all in one included file
include_once("scripts/checkuserlog.php");

if (!
$_SESSION['idx']) { 
    
$msgToUser '<br /><br /><font color="#FF0000">Sorry but you must be logged in to view this page!</font><p><br><div align="right"><a href="register.php">Join Here</a></div><form id="signinform" action="login.php" method="post" enctype="multipart/form-data" name="signinform">
    <fieldset>
    
      <legend>Log in</legend>
     
      <label for="login">Email</label>
      <input type="text" id="email" name="email" />
      <div class="clear"></div>
      
      <label for="password">Password</label>
      <input type="password" id="password" name="pass" />
      <div class="clear"></div>
      
      <label for="remember_me" style="padding: 0;">Remember me?</label>
      <input type="checkbox" id="remember" style="position: relative; top: 3px; margin: 0; " name="remember"/ value="yes" checked="checked">
      <div class="clear"></div>
      
      <br />
      
      <input type="submit" style="margin: -20px 0 0 287px;" class="button" name="commit" value="Sign In"/> 
    </fieldset>
  </form></p>'
;
    include_once 
'msgToUser.php'
    exit(); 
} else if (
$logOptions_id != $_SESSION['id']) {
    
$msgToUser '<br /><br /><font color="#FF0000">Only site members can do that</font><p><a href="register.php">Join Here</a></p>';
    include_once 
'msgToUser.php'
    exit(); 
}
// Include the class files for auto making links out of full URLs and for Time Ago date formatting
include_once("wi_class_files/autoMakeLinks.php");
include_once (
"wi_class_files/agoTimeFormat.php");
// Create the two new objects before we can use them below in this script
$activeLinkObject = new autoActiveLink;
$myObject = new convertToAgo;
?>
<?php 
// ------- INITIALIZE SOME VARIABLES ---------
// they must be initialized in some server environments or else errors will get thrown
$id "";
$username "";
$firstname "";
$lastname "";
$mainNameLine "";
$country "";    
$state "";
$city "";
$zip "";
$bio_body "";
$website "";
$youtube "";
$facebook "";
$twitter "";
$twitterWidget "";
$locationInfo "";
$user_pic "";
$blabberDisplayList "";
$interactionBox "";
$cacheBuster rand(999999999,9999999999999); // Put on an image URL will help always show new when changed
// ------- END INITIALIZE SOME VARIABLES ---------

// ------- ESTABLISH THE PAGE ID ACCORDING TO CONDITIONS ---------
if (isset($_GET['id'])) {
     
$id preg_replace('#[^0-9]#i'''$_GET['id']); // filter everything but numbers
} else if (isset($_SESSION['idx'])) {
     
$id $logOptions_id;
} else {
   
header("location: index.php");
   exit();
}
// ------- END ESTABLISH THE PAGE ID ACCORDING TO CONDITIONS ---------

// ------- FILTER THE ID AND QUERY THE DATABASE --------
$id preg_replace('#[^0-9]#i'''$id); // filter everything but numbers on the ID just in case
$sql mysql_query("SELECT * FROM myMembers WHERE id='$id' LIMIT 1"); // query the member
// ------- FILTER THE ID AND QUERY THE DATABASE --------

// ------- MAKE SURE PERSON EXISTS IN DATABASE ---------
$existCount mysql_num_rows($sql); // count the row nums
 
if ($existCount == 0) { // evaluate the count
     
header("location: home.php?msg=user_does_not_exist");
     exit();
}
// ------- END MAKE SURE PERSON EXISTS IN DATABASE ---------

// ------- WHILE LOOP FOR GETTING THE MEMBER DATA ---------
while($row mysql_fetch_array($sql)){ 
    
$username $row["username"];
    
$firstname $row["firstname"];
    
$lastname $row["lastname"];
    
$country $row["country"];    
    
$state $row["state"];
    
$city $row["city"];
    
$sign_up_date $row["sign_up_date"];
    
$sign_up_date strftime("%b %d, %Y"strtotime($sign_up_date));
    
$last_log_date $row["last_log_date"];
    
$last_log_date strftime("%b %d, %Y"strtotime($last_log_date));    
    
$bio_body $row["bio_body"];    
    
$bio_body str_replace("'""'"$bio_body);
    
$bio_body stripslashes($bio_body);
    
$website $row["website"];
    
$youtube $row["youtube"];
    
$facebook $row["facebook"];
    
$twitter $row["twitter"];
    
$friend_array $row["friend_array"];
    
///////  Mechanism to Display Pic. See if they have uploaded a pic or not  //////////////////////////
    
$check_pic "members/$id/image01.jpg";
    
$default_pic "members/0/image01.jpg";
    if (
file_exists($check_pic)) {
    
$user_pic "<img src=\"$check_pic?$cacheBuster\" width=\"218px\" />"
    } else {
    
$user_pic "<img src=\"$default_pic\" width=\"218px\" />"
    }
    
///////  Mechanism to Display Real Name Next to Username - real name(username) //////////////////////////
    
if ($firstname != "") {
        
$mainNameLine "$firstname $lastname ($username)";
        
$username $firstname;
    } else {
        
$mainNameLine $username;
    }
    
///////  Mechanism to Display Youtube channel link or not  //////////////////////////
    
if ($youtube == "") {
    
$youtube "";
    } else {
    
$youtube '<br /><br /><img src="images/youtubeIcon.jpg" width="18" height="12" alt="Youtube Channel for ' $username '" /> <strong>YouTube Channel:</strong><br /><a href="http://www.youtube.com/user/' $youtube '" target="_blank">youtube.com/' $youtube '</a>';
    }
    
///////  Mechanism to Display Facebook Profile link or not  //////////////////////////
    
if ($facebook == "") {
    
$facebook "";
    } else {
    
$facebook '<br /><br /><img src="images/facebookIcon.jpg" width="18" height="12" alt="Facebook Profile for ' $username '" /> <strong>Facebook Profile:</strong><br /><a href="http://www.facebook.com/profile.php?id=' $facebook '" target="_blank">profile.php?id=' $facebook '</a>';
    }
    
///////  Mechanism to Display Twitter Tweet Widget or not  //////////////////////////
    
if ($twitter == "") {
    
$twitterWidget "";
    } else {
    
$twitterWidget "<script src=\"http://widgets.twimg.com/j/2/widget.js\"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 5,
  interval: 6000,
  width: 218,
  height: 160,
  theme: {
    shell: {
      background: '#BDF',
      color: '#000000'
    },
    tweets: {
      background: '#ffffff',
      color: '#000000',
      links: '#0066FF',
    }
  },
  features: {
    scrollbar: true,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: 'all'
  }
}).render().setUser('
$twitter').start();
</script>"
;
    }
    
///////  Mechanism to Display Website URL or not  //////////////////////////
    
if ($website == "") {
    
$website "";
    } else {
    
$website '<br /><br /><img src="images/websiteIcon.jpg" width="18" height="12" alt="Website URL for ' $username '" /> <strong>Website:</strong><br /><a href="http://' $website '" target="_blank">' $website '</a>'
    }
    
///////  Mechanism to Display About me text or not  //////////////////////////
    
if ($bio_body == "") {
    
$bio_body "";
    } else {
    
$bio_body '<div class="infoBody">' $bio_body '</div>'
    }
    
///////  Mechanism to Display Location Info or not  //////////////////////////
    
if ($country == "" && $state == "" && $city == "") {
    
$locationInfo "";
    } else {
    
$locationInfo "$city &middot; $state<br />$country ".'<a href="#" onclick="return false" onmousedown="javascript:toggleViewMap(\'google_map\');">view map</a>'
    }
// close while loop
// ------- END WHILE LOOP FOR GETTING THE MEMBER DATA ---------

// ------- POST NEW BLAB TO DATABASE ---------
$blab_outout_msg "";
if (isset(
$_POST['blab_field']) && $_POST['blab_field'] != "" && $_POST['blab_field'] != " "){
    
     
$blabWipit $_POST['blabWipit'];
     
$sessWipit base64_decode($_SESSION['wipit']);
     if (!isset(
$_SESSION['wipit'])) {
         
     } else if (
$blabWipit == $sessWipit) {
          
// Delete any blabs over 50 for this member
          
$sqlDeleteBlabs mysql_query("SELECT * FROM blabbing WHERE mem_id='$id' ORDER BY blab_date DESC LIMIT 50");
          
$bi 1;
          while (
$row mysql_fetch_array($sqlDeleteBlabs)) {
              
$blad_id $row["id"];
              if (
$bi 20) {
                   
$deleteBlabs mysql_query("DELETE FROM blabbing WHERE id='$blad_id'");
              }
              
$bi++;
          }
          
// End Delete any blabs over 20 for this member
          
$blab_field $_POST['blab_field'];
          
$blab_field stripslashes($blab_field);
          
$blab_field strip_tags($blab_field);
          
$blab_field mysql_real_escape_string($blab_field);
          
$blab_field str_replace("'""'"$blab_field);
          
$sql mysql_query("INSERT INTO blabbing (mem_id, the_blab, blab_date) VALUES('$id','$blab_field', now())") or die (mysql_error());
          
$blab_outout_msg "";
          }
}
// ------- END POST NEW BLAB TO DATABASE ---------

// ------- MEMBER BLABS OUTPUT CONSTRUCTION ---------
///////  Mechanism to Display Pic
    
if (file_exists($check_pic)) {
    
$blab_pic '<div style="overflow:hidden; height:40px;"><a href="profile.php?id=' $id '"><img src="' $check_pic '" width="40px" border="0" /></a></div>'
    } else {
    
$blab_pic '<div style="overflow:hidden; height:40px;"><a href="profile.php?id=' $id '"><img src="' $default_pic '" width="40px" border="0" /></a></div>'
    }
///////  END Mechanism to Display Pic    
$sql_blabs mysql_query("SELECT id, mem_id, the_blab, blab_date FROM blabbing WHERE mem_id='$id' ORDER BY blab_date DESC LIMIT 20");

while(
$row mysql_fetch_array($sql_blabs)){
    
    
$blabid $row["id"];
    
$uid $row["mem_id"];
    
$the_blab $row["the_blab"];
    
$the_blab = ($activeLinkObject -> makeActiveLink($the_blab));
    
$blab_date $row["blab_date"];
    
$convertedTime = ($myObject -> convert_datetime($blab_date));
    
$whenBlab = ($myObject -> makeAgo($convertedTime));
    
                
$blabberDisplayList .= '
                    <table style="background-color:#FFF; border:#999 1px solid; border-top:none;" cellpadding="5" width="100%">
                    <tr>
                    <td width="10%" valign="top">' 
$blab_pic '</td>
                    <td width="90%" valign="top" style="line-height:1.5em;"><span class="greenColor textsize10">' 
$whenBlab ' <a href="profile.php?id=' $uid '">' $username '</a> said:</span><br />
            ' 
$the_blab '</td>
            </tr></table>'
;
    
}
// ------- END MEMBER BLABS OUTPUT CONSTRUCTION ---------

// ------- ESTABLISH THE PROFILE INTERACTION TOKEN ---------
$thisRandNum rand(9999999999999,999999999999999999);
$_SESSION['wipit'] = base64_encode($thisRandNum); // Will always overwrite itself each time this script runs
// ------- END ESTABLISH THE PROFILE INTERACTION TOKEN ---------

// ------- EVALUATE WHAT CONTENT TO PLACE IN THE MEMBER INTERACTION BOX -------------------
// initialize some output variables
$friendLink "";
$the_blab_form "";
if (isset(
$_SESSION['idx']) && $logOptions_id != $id) { // If SESSION idx is set, AND it does not equal the profile owner's ID

    // SQL Query the friend array for the logged in viewer of this profile if not the owner
    
$sqlArray mysql_query("SELECT friend_array FROM myMembers WHERE id='" $logOptions_id ."' LIMIT 1"); 
    while(
$row=mysql_fetch_array($sqlArray)) { $iFriend_array $row["friend_array"]; }
     
$iFriend_array explode(","$iFriend_array);
    if (
in_array($id$iFriend_array)) { 
        
$friendLink '<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'remove_friend\');">Remove Friend</a>';
    } else {
        
$friendLink '<a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'add_friend\');">Add as Friend</a>';    
    }
    
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
$interactionBox '<br /><br /><div class="interactionLinksDiv">
           ' 
$friendLink 
           <a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'private_message\');">Private Message</a>
          </div><br />'
;
          
$the_blab_form '<div style="background-color:#BDF; border:#999 1px solid; padding:8px;">
          <textarea name="blab_field" rows="3" style="width:99%;"></textarea>
          <strong>Write on ' 
$username '\'s Board (coming soon)</strong>
          </div>'
;
} else if (isset(
$_SESSION['idx']) && $logOptions_id == $id) { // If SESSION idx is set, AND it does equal the profile owner's ID
    
$interactionBox '<br /><br /><div class="interactionLinksDiv">
           <a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'friend_requests\');">Friend Requests</a>
          </div><br />'
;
          
$the_blab_form ' ' $blab_outout_msg '
          <div style="background-color:#BDF; border:#999 1px solid; padding:8px;">
          <form action="profile.php" method="post" enctype="multipart/form-data" name="blab_from">
          <textarea name="blab_field" rows="3" style="width:99%;"></textarea>
          <input name="blabWipit" type="hidden" value="' 
$thisRandNum '" />
          <strong>Blab away ' 
$username '</strong> (220 char max) <input name="submit" type="submit" value="Blab" />
          <div align="right">
          </form></div>'
;
} else { 
// If no SESSION id is set, which means we have a person who is not logged in
    
$interactionBox '<div style="border:#CCC 1px solid; padding:5px; background-color:#E4E4E4; color:#999; font-size:11px;">
           <a href="register.php">Sign Up</a> or <a href="login.php">Log In</a> to interact with ' 
$username '
          </div>'
;
          
$the_blab_form '<div style="background-color:#BDF; border:#999 1px solid; padding:8px;">
          <textarea name="blab_field" rows="3" style="width:99%;"></textarea>
          <a href="register.php">Sign Up</a> or <a href="login.php">Log In</a> to write on ' 
$username '\'s Board
          </div>'
;
}
// ------- END EVALUATE WHAT CONTENT TO PLACE IN THE MEMBER INTERACTION BOX -------------------

// ------- POPULATE FRIEND DISPLAY LISTS IF THEY HAVE AT LEAST ONE FRIEND -------------------
$friendList "";
$friendPopBoxList "";
if (
$friend_array  != "") { 
    
// ASSEMBLE FRIEND LIST AND LINKS TO VIEW UP TO 6 ON PROFILE
    
$friendArray explode(","$friend_array);
    
$friendCount count($friendArray);
    
$friendArray6 array_slice($friendArray06);
    
    
$friendList .= '<div class="infoHeader">' $username '\'s Friends (<a href="#" onclick="return false" onmousedown="javascript:toggleViewAllFriends(\'view_all_friends\');">' $friendCount '</a>)</div>';
    
$i 0// create a varible that will tell us how many items we looped over 
     
$friendList .= '<div class="infoBody" style="border-bottom:#666 1px solid;"><table id="friendTable" align="center" cellspacing="4"></tr>'
    foreach (
$friendArray6 as $key => $value) { 
        
$i++; // increment $i by one each loop pass 
        
$check_pic 'members/' $value '/image01.jpg';
            if (
file_exists($check_pic)) {
                
$frnd_pic '<a href="profile.php?id=' $value '"><img src="' $check_pic '" width="54px" border="1"/></a>';
            } else {
                
$frnd_pic '<a href="profile.php?id=' $value '"><img src="members/0/image01.jpg" width="54px" border="1"/></a> &nbsp;';
            }
            
$sqlName mysql_query("SELECT username, firstname FROM myMembers WHERE id='$value' LIMIT 1") or die ("Sorry we had a mysql error!");
            while (
$row mysql_fetch_array($sqlName)) { $friendUserName substr($row["username"],0,12); $friendFirstName substr($row["firstname"],0,12);}
            if (!
$friendUserName) {$friendUserName $friendFirstName;} // If username is blank use the firstname... programming changes in v1.32 call for this
            
if ($i == 4){
                
$friendList .= '<tr><td><div style="width:56px; height:68px; overflow:hidden;" title="' $friendUserName '">
                <a href="profile.php?id=' 
$value '">' $friendUserName '</a><br />' $frnd_pic '
                </div></td>'
;  
            } else {
                
$friendList .= '<td><div style="width:56px; height:68px; overflow:hidden;" title="' $friendUserName '">
                <a href="profile.php?id=' 
$value '">' $friendUserName '</a><br />' $frnd_pic '
                </div></td>'

            }
    } 
     
$friendList .= '</tr></table>
     <div align="right"><a href="#" onclick="return false" onmousedown="javascript:toggleViewAllFriends(\'view_all_friends\');">view all</a></div>
     </div>'

    
// END ASSEMBLE FRIEND LIST... TO VIEW UP TO 6 ON PROFILE
    // ASSEMBLE FRIEND LIST AND LINKS TO VIEW ALL(50 for now until we paginate the array)
    
$i 0;
    
$friendArray50 array_slice($friendArray050);
    
$friendPopBoxList '<table id="friendPopBoxTable" width="100%" align="center" cellpadding="6" cellspacing="0">';
    foreach (
$friendArray50 as $key => $value) { 
        
$i++; // increment $i by one each loop pass 
        
$check_pic 'members/' $value '/image01.jpg';
            if (
file_exists($check_pic)) {
                
$frnd_pic '<a href="profile.php?id=' $value '"><img src="' $check_pic '" width="54px" border="1"/></a>';
            } else {
                
$frnd_pic '<a href="profile.php?id=' $value '"><img src="members/0/image01.jpg" width="54px" border="1"/></a> &nbsp;';
            }
            
$sqlName mysql_query("SELECT username, firstname, country, state, city FROM myMembers WHERE id='$value' LIMIT 1") or die ("Sorry we had a mysql error!");
            while (
$row mysql_fetch_array($sqlName)) { $funame $row["username"]; $ffname $row["firstname"]; $fcountry $row["country"]; $fstate $row["state"]; $fcity $row["city"]; }
            if (!
$funame) {$funame $ffname;} // If username is blank use the firstname... programming changes in v1.32 call for this
                
if ($i 2) {
                    
$friendPopBoxList .= '<tr bgcolor="#F4F4F4"><td width="14%" valign="top">
                    <div style="width:56px; height:56px; overflow:hidden;" title="' 
$funame '">' $frnd_pic '</div></td>
                     <td width="86%" valign="top"><a href="profile.php?id=' 
$value '">' $funame '</a><br /><font size="-2"><em>' $fcity '<br />' $fstate '<br />' $fcountry '</em></font></td>
                    </tr>'
;  
                } else {
                    
$friendPopBoxList .= '<tr bgcolor="#E0E0E0"><td width="14%" valign="top">
                    <div style="width:56px; height:56px; overflow:hidden;" title="' 
$funame '">' $frnd_pic '</div></td>
                     <td width="86%" valign="top"><a href="profile.php?id=' 
$value '">' $funame '</a><br /><font size="-2"><em>' $fcity '<br />' $fstate '<br />' $fcountry '</em></font></td>
                    </tr>'
;  
                }
    } 
    
$friendPopBoxList .= '</table>';
    
// END ASSEMBLE FRIEND LIST AND LINKS TO VIEW ALL(50 for now until we paginate the array)
}
// ------- END POPULATE FRIEND DISPLAY LISTS IF THEY HAVE AT LEAST ONE FRIEND -------------------
//HERE IS WHERE I STARTED , BUT dONT KNOW WHAT TO DO !
if (isset($_SESSION['islogedin']) && $logOptions_id != $id) {
    
$isonline "<font color='green'>online</font>";
}
else{
    
$isonline "<font color='red'>offline</font>";
    }

// This is to Check if user is online or not! needs editing
//$isonline = mysql_query("SELECT online FROM myMembers WHERE id='$logOptions_id'AND online='online'");
//$isonlinecheck=mysql_query($isonline);
//if ($isonlinecheck ="online"){
//$online = "is <font color='green'>online!</font>";}
//else {
//    $online = "is<font color='red'> offline!</font>";
//}
// End to Check if user is online or not!
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Description" content="Profile for <?php echo "$username"?>" />
<meta name="Keywords" content="<?php echo "$username$city$state$country"?>" />
<meta name="rating" content="General" />
<meta name="ROBOTS" content="All" />
<title>Site Profile for <?php echo "$firstname"?></title>
<link href="style/main.css" rel="stylesheet" type="text/css" />
<link rel="icon" href="favicon.png" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.png" type="image/x-icon" />
<script src="js/jquery-1.4.2.js" type="text/javascript"></script>
<style type="text/css">
<!--
.infoHeader {
    background-color: #BDF;
    font-size:11px;
    font-weight:bold;
    padding:8px;
    border: #999 1px solid;
    border-bottom:none;
    width:200px;
}
.infoBody{
    background-color: #FFF;
    font-size:11px;
    padding:8px;
    border: #999 1px solid;
    border-bottom:none;
    width:200px;
}
/* ------- Interaction Links Class -------- */
.interactionLinksDiv a {
   border:#B9B9B9 1px solid; padding:5px; color:#060; font-size:11px; background-image:url(style/headerBtnsBG.jpg); text-decoration:none;
}
.interactionLinksDiv a:hover {
    border:#090 1px solid; padding:5px; color:#060; font-size:11px; background-image:url(style/headerBtnsBGover.jpg);
}
/* ------- Interaction Containers Class -------- */
.interactContainers {
    padding:8px;
    background-color:#BDF;
    border:#999 1px solid;
    display:none;
}
#add_friend_loader {
    display:none;
}
#remove_friend_loader {
    display:none;
}
#interactionResults {
    display:none;
    font-size:16px;
    padding:8px;
}
#friendTable td{
    font-size:9px;
}
#friendTable td a{
    color:#03C;
    text-decoration:none;
}
#view_all_friends {
    background-image:url(style/opaqueDark.png);
    width:270px;
    padding:20px;
    position:fixed;
    top:150px;
    display:none;
    z-index:100;
    margin-left:50px;
}
#google_map {
    background-image:url(style/opaqueDark.png);
    padding:20px;
    position:fixed;
    top:150px;
    display:none;
    z-index:100;
    margin-left:50px;
}
-->
</style>
<script language="javascript" type="text/javascript">
// jQuery functionality for toggling member interaction containers
function toggleInteractContainers(x) {
        if ($('#'+x).is(":hidden")) {
            $('#'+x).slideDown(200);
        } else {
            $('#'+x).hide();
        }
        $('.interactContainers').hide();
}
function toggleViewAllFriends(x) {
        if ($('#'+x).is(":hidden")) {
            $('#'+x).fadeIn(200);
        } else {
            $('#'+x).fadeOut(200);
        }
}
function toggleViewMap(x) {
        if ($('#'+x).is(":hidden")) {
            $('#'+x).fadeIn(200);
        } else {
            $('#'+x).fadeOut(200);
        }
}
// Friend adding and accepting stuff
var thisRandNum = "<?php echo $thisRandNum?>";
var friendRequestURL = "scripts_for_profile/request_as_friend.php";
function addAsFriend(a,b) {
    $("#add_friend_loader").show();
    $.post(friendRequestURL,{ request: "requestFriendship", mem1: a, mem2: b, thisWipit: thisRandNum } ,function(data) {
        $("#add_friend").html(data).show().fadeOut(12000);
    });    
}
function acceptFriendRequest (x) {
    $.post(friendRequestURL,{ request: "acceptFriend", reqID: x, thisWipit: thisRandNum } ,function(data) {
            $("#req"+x).html(data).show();
    });
}
function denyFriendRequest (x) {
    $.post(friendRequestURL,{ request: "denyFriend", reqID: x, thisWipit: thisRandNum } ,function(data) {
           $("#req"+x).html(data).show();
    });
}
// End Friend adding and accepting stuff
// Friend removal stuff
function removeAsFriend(a,b) {
    $("#remove_friend_loader").show();
    $.post(friendRequestURL,{ request: "removeFriendship", mem1: a, mem2: b, thisWipit: thisRandNum } ,function(data) {
        $("#remove_friend").html(data).show().fadeOut(12000);
    });    
}
// End Friend removal stuff
// Start Private Messaging stuff
$('#pmForm').submit(function(){$('input[type=submit]', this).attr('disabled', 'disabled');});
function sendPM ( ) {
      var pmSubject = $("#pmSubject");
      var pmTextArea = $("#pmTextArea");
      var sendername = $("#pm_sender_name");
      var senderid = $("#pm_sender_id");
      var recName = $("#pm_rec_name");
      var recID = $("#pm_rec_id");
      var pm_wipit = $("#pmWipit");
      var url = "scripts_for_profile/private_msg_parse.php";
      if (pmSubject.val() == "") {
           $("#interactionResults").html('<img src="images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type a subject.').show().fadeOut(6000);
      } else if (pmTextArea.val() == "") {
           $("#interactionResults").html('<img src="images/round_error.png" alt="Error" width="31" height="30" /> &nbsp; Please type in your message.').show().fadeOut(6000);
      } else {
           $("#pmFormProcessGif").show();
           $.post(url,{ subject: pmSubject.val(), message: pmTextArea.val(), senderName: sendername.val(), senderID: senderid.val(), rcpntName: recName.val(), rcpntID: recID.val(), thisWipit: pm_wipit.val() } ,           function(data) {
               $('#private_message').slideUp("fast");
               $("#interactionResults").html(data).show().fadeOut(10000);
               document.pmForm.pmTextArea.value='';
               document.pmForm.pmSubject.value='';
               $("#pmFormProcessGif").hide();
           });
      }
}
// End Private Messaging stuff
</script>
</head>
<body>
    <div id="bg" class="stage"></div> 
    <div id="container">
    <div id="sun" class="stage"></div>
    <div id="clouds" class="stage">
        <div id="stage" class="stage">
<?php include_once "header_template.php"?>
<table class="mainBodyTable" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="738" valign="top"><br />
      <table width="98%" border="0" align="center" cellpadding="6">
      <tr>
        <td width="33%" valign="top">
          <?php echo $user_pic?>
          <?php echo $bio_body?>
          <div class="infoHeader"><?php echo $username?>'s Information </div>
          <div class="infoBody">
          <?php echo $locationInfo?>
          <?php echo $website?>
          <?php echo $youtube?>
          <?php echo $facebook?>
          </div>
          <?php echo $friendList?>
          <div id="view_all_friends">
              <div align="right" style="padding:6px; background-color:#FFF; border-bottom:#666 1px solid;">
                       <div style="display:inline; font-size:14px; font-weight:bold; margin-right:150px;">All Friends</div> 
                       <a href="#" onclick="return false" onmousedown="javascript:toggleViewAllFriends('view_all_friends');">close </a>
              </div>
              <div style="background-color:#FFF; height:240px; overflow:auto;">
                   <?php echo $friendPopBoxList?>
              </div>
              <div style="padding:6px; background-color:#000; border-top:#666 1px solid; font-size:10px; color: #0F0;">
                       Temporary programming shows 50 maximum. Navigating through the full list is coming soon.
              </div>
         </div>
         <?php echo $twitterWidget?>
         <div class="infoBody" style="border-bottom:#999 1px solid;"><?php include_once("ad_200_square.php"); ?></div>  
          </td>
        <td width="67%" valign="top">
          <span style="font-size:16px; font-weight:800;"><?php echo $mainNameLine; echo $isonline?></span>
         
          <?php echo $interactionBox?>
 
          <div class="interactContainers" id="add_friend">
                <div align="right"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('add_friend');">cancel</a> </div>
                Add <?php echo "$username"?> as a friend? &nbsp;
                <a href="#" onclick="return false" onmousedown="javascript:addAsFriend(<?php echo $logOptions_id?><?php echo $id?>);">Yes</a>
                <span id="add_friend_loader"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span>
          </div>
          
          <div class="interactContainers" id="remove_friend">
                <div align="right"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('remove_friend');">cancel</a> </div>
                Remove <?php echo "$username"?> from your friend list? &nbsp;
                <a href="#" onclick="return false" onmousedown="javascript:removeAsFriend(<?php echo $logOptions_id?><?php echo $id?>);">Yes</a>
                <span id="remove_friend_loader"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span>
          </div>
          
          <!-- START DIV that serves as an interaction status and results container that only appears when we instruct it to -->
          <div id="interactionResults" style="font-size:15px; padding:10px;"></div>
          <!-- END DIV that serves as an interaction status and results container that only appears when we instruct it to -->
          
          <!-- START DIV that contains the Private Message form -->
          <div class="interactContainers" id="private_message">
<form action="javascript:sendPM();" name="pmForm" id="pmForm" method="post">
<font size="+1">Sending Private Message to <strong><em><?php echo "$username"?></em></strong></font><br /><br />
Subject:
<input name="pmSubject" id="pmSubject" type="text" maxlength="64" style="width:98%;" />
Message:
<textarea name="pmTextArea" id="pmTextArea" rows="8" style="width:98%;"></textarea>
  <input name="pm_sender_id" id="pm_sender_id" type="hidden" value="<?php echo $_SESSION['id']; ?>" />
  <input name="pm_sender_name" id="pm_sender_name" type="hidden" value="<?php echo $_SESSION['username']; ?>" />
  <input name="pm_rec_id" id="pm_rec_id" type="hidden" value="<?php echo $id?>" />
  <input name="pm_rec_name" id="pm_rec_name" type="hidden" value="<?php echo $username?>" />
  <input name="pmWipit" id="pmWipit" type="hidden" value="<?php echo $thisRandNum?>" />
  <span id="PMStatus" style="color:#F00;"></span>
  <br /><input name="pmSubmit" type="submit" value="Submit" /> or <a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('private_message');">Close</a>
<span id="pmFormProcessGif" style="display:none;"><img src="images/loading.gif" width="28" height="10" alt="Loading" /></span></form>
          </div>
          <!-- END DIV that contains the Private Message form -->
          <div class="interactContainers" id="friend_requests" style="background-color:#FFF; height:240px; overflow:auto;">
            <div align="right"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('friend_requests');">close window</a> &nbsp; &nbsp; </div>
            <h3>The following people are requesting you as a friend</h3>
    <?php 
    $sql 
"SELECT * FROM friends_requests WHERE mem2='$id' ORDER BY id ASC LIMIT 50";
    
$query mysql_query($sql) or die ("Sorry we had a mysql error!");
    
$num_rows mysql_num_rows($query); 
    if (
$num_rows 1) {
        echo 
'You have no Friend Requests at this time.';
    } else {
        while (
$row mysql_fetch_array($query)) { 
            
$requestID $row["id"];
            
$mem1 $row["mem1"];
            
$sqlName mysql_query("SELECT username FROM myMembers WHERE id='$mem1' LIMIT 1") or die ("Sorry we had a mysql error!");
            while (
$row mysql_fetch_array($sqlName)) { $requesterUserName $row["username"]; }
            
///////  Mechanism to Display Pic. See if they have uploaded a pic or not  //////////////////////////
            
$check_pic 'members/' $mem1 '/image01.jpg';
            if (
file_exists($check_pic)) {
                
$lil_pic '<a href="profile.php?id=' $mem1 '"><img src="' $check_pic '" width="50px" border="0"/></a>';
            } else {
                
$lil_pic '<a href="profile.php?id=' $mem1 '"><img src="members/0/image01.jpg" width="50px" border="0"/></a>';
            }
            echo    
'<hr />
<table width="100%" cellpadding="5"><tr><td width="17%" align="left"><div style="overflow:hidden; height:50px;"> ' 
$lil_pic '</div></td>
                        <td width="83%"><a href="profile.php?id=' 
$mem1 '">' $requesterUserName '</a> wants to be your Friend!<br /><br />
                        <span id="req' 
$requestID '">
                        <a href="#" onclick="return false" onmousedown="javascript:acceptFriendRequest(' 
$requestID ');" >Accept</a>
                        &nbsp; &nbsp; OR &nbsp; &nbsp;
                        <a href="#" onclick="return false" onmousedown="javascript:denyFriendRequest(' 
$requestID ');" >Deny</a>
                        </span></td>
                        </tr>
                       </table>'
;
        }     
    }
    
?>
          </div>
          
            <?php echo $the_blab_form?>
          
            <div style="width:456px; overflow-x:hidden;">
              <?php echo $blabberDisplayList?>
             
            </div>

          </td>
      </tr>
      <tr>
        <td colspan="2" valign="top">
    <div id="google_map">
<div align="right" style="padding:4px; background-color:#D2F0D3;"><a href="#" onclick="return false" onmousedown="javascript:toggleViewMap('google_map');">close map</a></div>
<iframe width="680" height="280" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=<?php echo "$city,+$state,+$country";?>&amp;ie=UTF8&amp;hq=&amp;hnear=<?php echo "$city,+$state,+$country";?>&amp;z=12&amp;output=embed"></iframe>
<div align="left" style="padding:4px; background-color:#D2F0D3;"><a href="#" onclick="return false" onmousedown="javascript:toggleViewMap('google_map');">close map</a></div>
    </div>
        </td>
        </tr>
      </table>
      <p><br />
        <br />
      </p></td>
    <td width="160" valign="top"><?php include_once("right_AD_template1.php"); ?><br /><br /><?php include_once("right_AD_template.php"); ?></td>
  </tr>
</table>
<?php include_once "footer_template.php"?></div></div><div id="hillbottom" class="stage"> </div>
</body>
</html>
PLEASE HELP ME!
Reply With Quote
  #2 (permalink)  
Old 09-16-11, 05:38 AM
Nico's Avatar
Nico Nico is offline
Community Leader
 
Join Date: Sep 2005
Location: Spain
Posts: 8,075
Thanks: 11
Thanked 88 Times in 83 Posts
I don't have time to go through these millions of lines of code, but in general, every time a user makes a request to a page, and is logged in, you update their database row, which should contain a field called 'last_activity' or similar, and insert the current time.

Then on the profile, you check if ($lastActivity >= time() - (60 * 20)). If that's true, the user has been active in the past 20 minutes.
Reply With Quote
Reply

Bookmarks

Tags
ajax, javascript, php, php and mysql, php sessions


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Referrals counting swdrops HotScripts Site Bug Reports 1 12-07-11 05:27 AM
best FTP out there? darkcarnival Polls 66 11-15-11 04:53 AM
Idea ..?? zorra Script Requests 0 03-18-11 03:13 AM
Google announced - Link Report now be Revamps in Webmaster Tools John2010 The Lounge 2 02-25-11 06:21 AM


All times are GMT -5. The time now is 08:49 AM.
vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.