Procedural to OOP
         
               Posted on 
16th Feb 2014 07:03 pm by  
admin
        
        John Kleijn said that to avoid writing "crappy code", we should learn OOP and common OO principles. I've started reading OOP tutorials including the design patterns. And John is right, this is not an easy task. It's a shame because I'm finding it hard to absorb the tutorials. 
Is it ok if I'll show you some of my procedural codes and you'll show me how to code some of its parts in OOP? I learn faster by playing with relevant codes. I hope it's ok with you guys. 
Basically, all my php files look like this: 
Code: ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_NOTICE);
include("fxns.php");
define('TITLE', 'Page Title');
session_start();
if(isset($_SESSION['user_id'])) {
   if (validate_user() == true) {
      print_header(TITLE); // echos html codes
      print_navs();           // echos html codes
      //contents here
                // calling more functions here
                print_footer();
   }
} else {
   header('Location: login.php');   
}
and my fxns.php would look like this: 
Code: include("connect.php");
function validate_user() {
   $sql = "SELECT uo.ip_address, uo.session_id, uo.user_agent, uo.activity
         FROM users_online uo, users u
         WHERE uo.user_id='$_SESSION[user_id]' AND uo.user_id=u.user_id";
   $res = mysql_query($sql); $row = mysql_fetch_array($res);
   $ip_address = $row[0]; 
   $session_id = $row[1]; 
   $user_agent = $row[2]; 
   $activity = $row[3];    
   $res2 = mysql_query("SELECT config_value FROM config WHERE config_name='inactivity'");
   $row2 = mysql_fetch_array($res2); $inactivity = $row2[0];   
   $res3 = mysql_query("SELECT locked, invalid_ip FROM users WHERE user_id='{$_SESSION[user_id]}'");
   $row3 = mysql_fetch_array($res3); $locked = $row3[0]; $invalid_ip = $row3[1];
   // verify user's IP address
   if($ip_address != $_SERVER['REMOTE_ADDR']) {
      show_invalid_ip($_SERVER['REMOTE_ADDR']); // echo some HTML
   }
   // verify if the the session id and user's session id are the same
   elseif ($session_id != session_id()) {
      show_invalid_sid(); // echo some HTML
   }
   // verify if the browser software is the same
   elseif($user_agent != $_SERVER['HTTP_USER_AGENT']) {
      show_invalid_user_agent(); // echo some HTML
   }
   // verify if the user is locked
   elseif ($locked == 1) {
      show_locked($invalid_ip); // echo some HTML
   }
   // verify if the user has been inactive for $inactivity mins
   elseif( time() > ( $activity + ($inactivity * 60) ) ) {
      show_s_expired($inactivity); // echo some HTML
   } else { 
      update_user();
      return true;
   }
}
function update_user() {
   $maxtime = time() - 1800;
   mysql_query("UPDATE users_online SET refurl='{$_SERVER['HTTP_REFERER']}' WHERE user_id='$_SESSION[user_id]'");
   mysql_query("UPDATE users_online SET activity='".time()."' WHERE user_id='$_SESSION[user_id]'");
   mysql_query("DELETE FROM users_online WHERE activity < '$maxtime'");
}
Would you be kind to write some of its part in OOP? Thanks so much.       
      
       
		No comments posted yet	
	Your Answer:
	        Login to answer
        
285  
 42 
 
    
    
 
Other forums
Form help: Syntax & Logic 
Hello again all,
I'm working on a form and ran into a wall (again) and can't seem to think th
I need desperate help with this php code integrated with flash please 
Can someone please help me with this php code which I have been stuck on for weeks .  I am trying to
Inserting Data into a MS Access DB using PHP. 
As part of my uni course I am doing a placement at a company whom want me to create a client zone fo
POST into Array problem 
Hi Chaps,
I have a repeat region, displaying rows of data: jobid, fromtable, translatorcharge
PHP Upload issue 
Hi guys,
I have stumble across an interesting issue with my script and is doing my head in.
j1inmis Ouput layout changes   
Hi,
Can anybody tell how can j1inmis output layout can be changed so that vendor names ge
How to use Ajax to verify data on a DB ? 
Hello everyone, well i want to know how to check a value if it exists or not on a Data base and capt
Share admin accross websites 
I'm using .net memberships and roles in one of my sites, but I need to be able to share logins and p
Help with PHP and checkboxes 
I am posting this for a friend of mine, i wrote a small script for her to process her form data to a
Images in email problem 
I found this script for sending emails, it works but if the email has <img src="image.jp