diff --git a/include/class.osticket.php b/include/class.osticket.php
index 4891b8d580b7fb593ff4ca40b598e8bcef6f0df5..310b24b2ade73c4575af304acc67917fb32ad06a 100644
--- a/include/class.osticket.php
+++ b/include/class.osticket.php
@@ -26,11 +26,11 @@ define('LOG_WARN',LOG_WARNING);
 class osTicket {
 
     var $loglevel=array(1=>'Error','Warning','Debug');
-    
+
     //Page errors.
     var $errors;
 
-    //System 
+    //System
     var $system;
 
 
@@ -47,7 +47,7 @@ class osTicket {
     var $csrf;
 
     function osTicket($cfgId) {
-        
+
         $this->config = Config::lookup($cfgId);
 
         //DB based session storage was added starting with v1.7
@@ -109,7 +109,7 @@ class osTicket {
         $name = $name?$name:$this->getCSRF()->getTokenName();
         if(isset($_POST[$name]) && $this->validateCSRFToken($_POST[$name]))
             return true;
-       
+
         if(isset($_SERVER['HTTP_X_CSRFTOKEN']) && $this->validateCSRFToken($_SERVER['HTTP_X_CSRFTOKEN']))
             return true;
 
@@ -129,7 +129,7 @@ class osTicket {
     }
 
     function isFileTypeAllowed($file, $mimeType='') {
-       
+
         if(!$file || !($allowedFileTypes=$this->getConfig()->getAllowedFileTypes()))
             return false;
 
@@ -148,9 +148,9 @@ class osTicket {
 
     /* Replace Template Variables */
     function replaceTemplateVariables($input, $vars=array()) {
-        
+
         $replacer = new VariableReplacer();
-        $replacer->assign(array_merge($vars, 
+        $replacer->assign(array_merge($vars,
                     array('url' => $this->getConfig()->getBaseUrl())
                     ));
 
@@ -220,7 +220,7 @@ class osTicket {
 
 
     function alertAdmin($subject, $message, $log=false) {
-                
+
         //Set admin's email address
         if(!($to=$this->getConfig()->getAdminEmail()))
             $to=ADMIN_EMAIL;
@@ -231,7 +231,7 @@ class osTicket {
 
         //Try getting the alert email.
         $email=null;
-        if(!($email=$this->getConfig()->getAlertEmail())) 
+        if(!($email=$this->getConfig()->getAlertEmail()))
             $email=$this->getConfig()->getDefaultEmail(); //will take the default email.
 
         if($email) {
@@ -257,7 +257,7 @@ class osTicket {
     function logWarning($title, $message, $alert=true) {
         return $this->log(LOG_WARN, $title, $message, $alert);
     }
-    
+
     function logError($title, $error, $alert=true) {
         return $this->log(LOG_ERR, $title, $error, $alert);
     }
@@ -275,8 +275,8 @@ class osTicket {
         //We are providing only 3 levels of logs. Windows style.
         switch($priority) {
             case LOG_EMERG:
-            case LOG_ALERT: 
-            case LOG_CRIT: 
+            case LOG_ALERT:
+            case LOG_CRIT:
             case LOG_ERR:
                 $level=1; //Error
                 break;
@@ -306,9 +306,9 @@ class osTicket {
             ',log_type='.db_input($loglevel[$level]).
             ',log='.db_input($message).
             ',ip_address='.db_input($_SERVER['REMOTE_ADDR']);
-        
+
         mysql_query($sql); //don't use db_query to avoid possible loop.
-        
+
         return true;
     }
 
@@ -320,11 +320,48 @@ class osTicket {
         //System logs
         $sql='DELETE  FROM '.SYSLOG_TABLE.' WHERE DATE_ADD(created, INTERVAL '.$gp.' MONTH)<=NOW()';
         db_query($sql);
-        
+
         //TODO: Activity logs
 
         return true;
     }
+    /*
+     * Util functions
+     *
+     */
+
+    function get_var($index, $vars, $default='', $type=null) {
+
+        if(is_array($vars)
+                && array_key_exists($index, $vars)
+                && (!$type || gettype($vars[$index])==$type))
+            return $vars[$index];
+
+        return $default;
+    }
+
+    function get_db_input($index, $vars, $quote=true) {
+        return db_input($this->get_var($index, $vars), $quote);
+    }
+
+    function get_path_info() {
+        if(isset($_SERVER['PATH_INFO']))
+            return $_SERVER['PATH_INFO'];
+
+        if(isset($_SERVER['ORIG_PATH_INFO']))
+            return $_SERVER['ORIG_PATH_INFO'];
+
+        //TODO: conruct possible path info.
+
+        return null;
+    }
+
+    /* returns true if script is being executed via commandline */
+    function is_cli() {
+        return (!strcasecmp(substr(php_sapi_name(), 0, 3), 'cli')
+                || (!$_SERVER['REQUEST_METHOD'] && !$_SERVER['HTTP_HOST']) //Fallback when php-cgi binary is used via cli
+                );
+    }
 
     /**** static functions ****/
     function start($configId) {
@@ -338,13 +375,6 @@ class osTicket {
 
         return $ost;
     }
-
-    /* is_cli */
-    function is_cli() {
-        return (!strcasecmp(substr(php_sapi_name(), 0, 3), 'cli')
-                || (!$_SERVER['REQUEST_METHOD'] && !$_SERVER['HTTP_HOST']) //Fallback when php-cgi binary is used via cli
-                );
-    }
 }
 
 ?>