ok, ya lo he definido pero no he entendido muy bien lo que me querias decir lo ultimo, el manual esta un poco borroso para mi todavia.
 
y ahora solo me dice que hay un usuario invitado y no me actualiza en la db, seguro que he hecho algo mal. 
dejo el la funcion completa ya terminada pero me falla el actualizar.    
Código PHP:
Ver original- <?php    
-   
- class usersOnline { 
-     var $userOnlineTime; 
-     var $userOnlineDate; 
-     var $userOnlineIP; 
-     var $userOnlineLimit; 
-     var $userOnlineSession; 
-     var $usersOnlineUsersSelect; 
-      
-     function usersOnlineConstruct() { 
-         global $db,$db_table_prefix,$loggedInUser; 
-         if(!isUserLoggedIn()) { $session = "0"; } else { $session = "1"; } 
-          
-         $this->userOnlineTime       = 5;                                                // Tiempo máximo de espera 
-         $this->userOnlineDate       = time();                                           // Momento que entra en línea 
-         $this->userOnlineIP         = $_SERVER['REMOTE_ADDR'];                          // Recuperamos su IP 
-         $this->userOnlineLimit      = $this->userOnlineDate-$this->userOnlineTime*60;   // Tiempo Limite de espera 
-         $this->userOnlineSession    = $session;                                         // Vemos si es usuario o invitado 
-     } 
-      
-     function usersOnlineDelete() { 
-         global $db,$db_table_prefix; 
-         // si se supera el tiempo limite (5 minutos) lo borramos 
-         $sql = "DELETE FROM ".$db_table_prefix."Users_Online  
-                 WHERE Date_Time < '".$db->sql_escape($this->userOnlineLimit)."'"; 
-                 return ($db->sql_query($sql)); 
-     } 
-      
-     function usersOnlineSelect() { 
-         global $db,$db_table_prefix; 
-         // tomamos todos los usuarios en linea 
-         $sql = "SELECT * FROM ".$db_table_prefix."Users_Online  
-                 WHERE User_IP='".$db->sql_escape($this->userOnlineIP)."'"; 
-         return ($db->sql_query($sql)); 
-     } 
-      
-     function usersOnlineInsert() { 
-         global $db,$db_table_prefix; 
-         $this->usersOnlineUsersSelect = $this->usersOnlineSelect(); 
-         // Si son los mismo actualizamos la tabla gente_online 
-         $sql = "UPDATE ".$db_table_prefix."Users_Online  
-                 SET Date_Time='".$db->sql_escape($this->userOnlineDate)."',  
-                 User_Session='".$db->sql_escape($this->userOnlineSession)."' 
-                 WHERE User_IP='".$db->sql_escape($this->userOnlineIP)."'"; 
-                 return ($db->sql_query($sql)); 
-          
-         // de lo contrario insertamos los nuevos 
-         } else { 
-         $sql = "INSERT INTO `".$db_table_prefix."Users_Online` ( 
-                 `Date_Time`, 
-                 `User_IP`, 
-                 `User_Session` 
-                 )  
-                 VALUES ( 
-                 '".$db->sql_escape($this->userOnlineDate)."', 
-                 '".$db->sql_escape($this->userOnlineIP)."', 
-                 '".$db->sql_escape($this->userOnlineSession)."' 
-                 )"; 
-                 return $db->sql_query($sql); 
-         } 
-     } 
-          
-          
-          
-     function usersOnlineView() {     
-         global $db,$db_table_prefix; 
-          
-         // Seleccionamos toda la tabla 
-         $query = "SELECT * FROM ".$db_table_prefix."Users_Online"; 
-          
-         //Usuarios no registrados 
-         $query = "SELECT * FROM ".$db_table_prefix."Users_Online WHERE User_Session='0'"; 
-          
-         //Usuarios registrados 
-         $query = "SELECT * FROM ".$db_table_prefix."Users_Online WHERE User_Session='1'"; 
-   
-         // Si hay 1 usuarios se muestra en singular; si hay más de uno, en plural 
-         if($usuarios > 1 || $usuarios == 0){ echo("Hay "); } else { echo("Hay "); } 
-         if($usuarios == 0){ echo("no "); } else { echo($usuarios." "); }  
-         if($usuarios > 1 || $usuarios == 0){ echo("usuarios en línea."); } else { echo("usuario en línea."); } 
-         echo '<br />'; 
-         echo 'Invitados: '.$noregistrados.''; 
-         echo '<br />'; 
-         echo 'Usuarios: '.$registrados.''; 
-     } 
- }    
-     //View userCake users online 
-     $viewUsersOnline = new usersOnline(); 
-     $viewUsersOnline->usersOnlineConstruct(); 
-     $viewUsersOnline->usersOnlineDelete(); 
-     $viewUsersOnline->usersOnlineSelect(); 
-     $viewUsersOnline->usersOnlineInsert(); 
- ?> 
gracias por toda la ayuda, he avanzado un poquitin jejeje pero me doy cuanta de mas cosas