Jump to content

Fatal error: Cannot instantiate non-existent class: globalfunctions in


athyzafiris

Recommended Posts

Please help as i can't see what the problem is

 

I have the following error

Fatal error: Cannot instantiate non-existent class: globalfunctions in /home/mrcastl/public_html/humane/Application.php on line 86

 

Application file

<?php

function __autoload($class_name) {
    require_once 'system/classes/'.$class_name . '.php';
}

define("SALUTATIONS", "Mr, Mrs, Miss, Ms, Prof, Doc");
//constants for how an articles body content will get broken down and displayed
define("BODY_TEASER_PARAGRAPH_COUNT", 5);//show 3 paragraphs for teaser content
define("BODY_PARAGRAPHS_PER_PAGE", 15);//how many paragraps per page to show

define("DB_DATE_MASK", "Y-m-d H:i:s");//iso date format mask for MYSQL

set_magic_quotes_runtime (0);//set magic quotes to off - ?does this effect all apps on php instance

//array of variables created for sharing across pages as a result of an page call
$request = array();
$request["error_msg"] = "";//if something goes wrong
$request["success_msg"] = "";//if all goes right
$request["page_title"] = "";//Default HTML page title
$request["site_section"] = "none";//Default site section - mostly will be same as root dir
$request["page_meta_desc"] = "";
$request["show_outer_col"] = true;
$request["body_class"] = "threecol";


// copy all FORM and URL variables to ATTRIBUTES scope
// here, FORM has precendence although this can be over-written later depending on the application's fusebox.xml setting.
if(!isset($attributes) || !is_array($attributes)) {
$attributes = array();
$attributes = array_merge($_GET,$_POST); 
}

//record if this was a post submission or not
if(count($_POST) >= 1){
define("REQUEST_WAS_POST", true);
}else{
define("REQUEST_WAS_POST", false);
}
//set the action - this is what will determine what takes place
if (!array_key_exists("action", $attributes)) {
    $attributes["action"] = "";//default
}

session_start();//start a sesssion if one not already present

//figure out the url path, should we need it
$site_root_url = "http://".$_SERVER["SERVER_NAME"];

//require_once("system/templates/category_ids.php");

if(strcasecmp($_SERVER["SERVER_NAME"], "phpscratch.athy.com") == 0){
//database connection 1 code
}else{//live
//database connection 2 code
}

$request["gf_obj"] = new GlobalFunctions();//create this object and place in request array  ------- LINE 84 that is giving trouble
print "here7";

//take into account if there is a port
if (isset($_SERVER["SERVER_PORT"]) && ($_SERVER["SERVER_PORT"] != 80)){
$site_root_url  = $site_root_url .":".$_SERVER["SERVER_PORT"];
}
define("SITE_ROOT_URL", $site_root_url);
unset($site_root_url);

set_include_path(SITE_FILE_PATH . get_include_path()); //so we can do all includes relative to root


if(!isset($_SESSION["is_logged_in"])){
$_SESSION["is_logged_in"] = false;
}
//log user out 
if(($_SESSION["is_logged_in"] === true) && ($attributes["action"]=="logout") ){
$_SESSION["is_logged_in"] = false;
}

?>

 

Can anyone see what is wrong?

 

If i do a straight include_one or require_once i get synax errors on the GlobalFunctions file but i can not see any syntax errors.

 

Link to comment
Share on other sites

i am including it in the autoload function at the top.

 

Please see by the Globalfunctions file that brings up syntax errors if i do a include_one or a require_once

 

class GlobalFunctions{
private $query_runner_obj = null;
function __construct(){
	$this->query_runner_obj = new QueryRunner();
}

/*Simple function that checks if a key exists in an array and if not creates it with the passed argument as default
 *
 */
public static function param_set(&$arr,$key,$default=""){
	if(!isset($arr[$key])){
		$arr[$key] = $default;
	}
}


public static function getCategoryName()
{
		$cat_names = array();
		$cat_names = $cats_obj->getCat_Name();
		return $cat_names;
}


public function getImageList($filename)
{
	$image = array();
	$sql = sprintf("select small_image, large_image, description from gallery_images where directory = '%s' ORDER BY item_id", $filename);			
	$qres_obj = $this->do_query($sql);		
	if( ($qres_obj->get_status() === true) && ($qres_obj->get_record_count() > 0) )
	{
		$result_set = $qres_obj->get_result_set();//get the result set
		foreach ($result_set as $result_item) {
				$ret = array();
				$ret["small_image"] = $result_item["small_image"];
				$ret["large_image"] = $result_item["large_image"];
				$ret["description"] = $result_item["description"];
				$image[] = $ret;
			}
	}//for each

	else{
		throw new Exception("no images in that directory=".$qres_obj->get_status().", erorr msg=". $qres_obj->get_error_message());
	}
return $image;
}

/**
 * Display function to topic listings on places like the homepage, magazine content etc
 * @param $cats_obj - Categories object
 * @param $cat_id - category id 
 * @param $articles - array of articles
 * @param $topic_style - valid css for the div topic 
 */
public static function displayCategoryListing(&$cats_obj,$cat_id, &$articles, $topic_style=""){
	$found_one = false; 	
	$cat_dir_name = $cats_obj->get_dir_name($cat_id);
	$cat_name = $cats_obj->get_display_name($cat_id);
	$cat_id = $cat_id;
	foreach ($articles as $result_item) {//bit inefficienet this but shouldnt be that bad
		if($result_item["article_category_id"] == $cat_id){
			if(!$found_one){
				echo "<div class=\"topic\" style=\"".$topic_style."\" >";
				echo "<h3><a href=\"/".$cat_dir_name."\">".$cat_name."</a></h3>";
				$found_one = true;
			}
			$image = "";
			if($result_item["is_free"]){
				$image = "<img src=\"/images/free_icon.gif\" alt=\"free content\" class=\"free\"/>";
			}

			echo "<h4>$image<a href=\"/$cat_dir_name/index.php?articleid=${result_item["item_id"]}\">${result_item["title"]}</a></h4>";
			echo "<p>${result_item["summary_paragraph"]}...<a href=\"/$cat_dir_name/index.php?articleid=${result_item["item_id"]}\">»</a></p>";					

		}//if
	}//foreach
	if($found_one){
		echo "<p><a href=\"/$cat_dir_name/\"><span class=\"red\">more $cat_name »</span></a></p>";
		echo "</div><!--topic-->";	
	}//if
 }//funct

/*Execute a query using the query runner object and return a QueryResult object
*/
public function do_query($query){
	//echo $query;
	$qres = $this->query_runner_obj->do_query($query);
	return $qres;
}

/**
*Parses a mysql date time string "yyyy-mm-dd hh:mm:ss" and returns a timestamp value
*hh is in 24 hour format
*@returns a value generated by mktime function
*/
public static function parseMySQLDateTime($date) {

	$year = substr($date, 0, 4);
	$month = substr($date, 5, 2);
	$day = substr($date, 8, 2);
	$hour = substr($date, 11, 2);
	$minute = substr($date, 14, 2);
	$second = substr($date, 17, 2);

	$timestamp = mktime($hour, $minute, $second, $month, $day, $year);

	return $timestamp;
}

/**
 * Truncates strings to show ellipsis if passes string is too big else return the string
 */
public static function ellipsis($s, $max_length=20){
	$ret = $s;
	$spcIdx = 0;//see later			
	if ( strlen($s) > $max_length ){//needs proccessing
		$ret = substr($s, 0, ($max_length-3));			  
		//find the last space less than 20 chars in if there is one
		$ret = strrev($ret);
		$spcIdx = strpos($ret," ");
		if ($spcIdx <= 20){
			$ret = substr($ret, $spcIdx-strlen($ret));
			//$ret = right($ret, strlen($ret)-$spcIdx);
		}
		$ret = strrev($ret);//reverse back
		$ret = $ret."...";
	}//if
	return $ret;		
}//func	

/**
 * Gets hotspot text for the supplied area.
 * This function
 * @param name - the name of the hotspot e.g. "aboutus"
 * @randomize - return one of the possible active items randomly (ignores date ordering)
 * @returns the latest online hotspot text for the supplied area or empty string
 */
public function get_hotspot($name, $randomize=false){

	$ret = "";


	$sql = sprintf("select body from hotspot_area ha join hotspot_item hi on ha.hotspot_area_id = hi.hotspot_area_id  join content_item ci on ci.item_id = hi.item_id " .
			"where ha.hotspot_name = '%s'  and workflow_status = 1 and (start_date < now() and end_date > now())" , $name);

	if($randomize){
		//is random
	}else{//not random so get the latest active one
		$sql = $sql." order by start_date desc limit 1";
	}


	$qres_obj = $this->do_query($sql);		

	if( ($qres_obj->get_status() === true) && ($qres_obj->get_record_count() > 0) ){


		$result_set = $qres_obj->get_result_set();//get the result set
		$row_index = 1;
		$row_counter = 0;
		if($randomize){//get a random column
			$row_index = rand(1, $qres_obj->get_record_count());
		}

		//if random then will get one for get_record_count() possibilities else will always get first row
		foreach ($result_set as $result_item) {
			$row_counter++;
			//throw new Exception("$row_counter, $row_index");
			if($row_index == $row_counter){		
				$ret = $result_item["body"];

				break;//only one row
			}
		}//for each

	}elseif ($qres_obj->get_status() === false){
		throw new Exception("bad query to get hotspot, status=".$qres_obj->get_status().", erorr msg=". $qres_obj->get_error_message());
	}
return $ret;			
}//funct

/*
 * trims the contents of an assocaitive array
 * ?does this work for non assoc?
 */
public static function array_trim(&$arr){
	foreach ($arr as $key => $value) {
    	$attributes[$key] = trim($value);
	}		
}//funct

/**
 * Checks if the passed list of array keys exist the passed array and are non emtpy i.e. = ""
 * Used for form submission to check if certain items are present
 * @returns true or false
 */	
public static function check_fields_exist($arr, $list){

	$tok = strtok($list, ",");
	while ($tok !== false) {
   			if( isset($arr[$tok]) && (!is_array($arr[$tok])) && (!is_object($arr[$tok])) ){
   				$val = trim(strval($arr[$tok]));//convert to string
   				if(strlen($val) == 0){
   					return false;//fail
   				}   				
   			}//if
   			$tok = strtok(",");//get next token
	}//while
	return true;//all is good			
}

/**
 *Wrapper for how db strings are escapes
 *@param $use_slashes - set to true if addslashes is to be used else set to false if '' is to be used, change default to make things easy if db is changed
 *@returns the escaped string
 */	
public static function dbEscape($s, $use_slashes=true){		
	if($use_slashes){
		return addslashes($s);
	}else{
		return str_replace("'", "''", $s);// sql server and sybase
	}
}//funct

/**
*Proccess Form Field String Content
*Replaces all non standard ascii chars with numerical entity equivalents e.g. &#xxx; form 
*Idea is that all fields that will be shown on the web site are escaped with this and placed into the database in 
*the escaped format. The problem is if argument s is allowed to have html markup. In this case we cant escape html chars e.g. <
*so this could break the display page on the site also " if used in an html tag attribute
*@returns proccessed string
*/
public static function escapeFormField($s, $contains_html=false){
	$char = "";
	$ret = "";//what gets returned
	for($i=0 ; $i < strlen($s) ; $i++){
		$char = substr($s, $i, 1);//get a char at a time
		$code = ord($char); //character code
		switch($code){
			case 124: { //the | char - dont know why this is special - perhaps mac thing
				$char = "&#".$code .";";
				break;
			}
			case 60: { 
				if(!$contains_html)$char = "<";
				break;	
			}
			case 62: { 
				if(!$contains_html)$char = ">";
				break;
			}
			/*case 39: { 
				if(!$contains_html)$char = "&#39;";
				break;
			}*/
			case 34: { 
				if(!$contains_html)$char = """;
				break;
			}
			default:{
				if( $code >= 127 ){
					$char = "&#".$code .";";
				}
			}
		}
	$ret = $ret . $char;	
	}//for
	return $ret;
}//function

/*Checks passed in email for validity
 *@returns true or false
 */
public static function isEmailValid($email) {
	if (!(eregi ("^[\'_a-z0-9-]+(\.[\'_a-z0-9-]+)*@[a-z0-9-]+\.[a-z0-9-]+(\.[a-z0-9-]+)*$", $email))) {
    	return false;    	
        }		
	return true;
}//funct

public static function getCountryName()
{
		$row = array();
		$sql = "select countryname from iso_country order by countryname";
		global $request;//defined in Application.php
		$gf_obj = $request["gf_obj"];//the global helper object
		$qres_obj = $gf_obj->do_query($sql);	
	if( ($qres_obj->get_status() === true) && ($qres_obj->get_record_count() > 0) ){
		$result_set = $qres_obj->get_result_set();//get the result set
		foreach ($result_set as $result_item) 
		{

			$row[] = $result_item["countryname"];
		}
	}
	else
	{
		$row = null;
	}	

	return $row;
}

public static function addOnClickEvent($name, $section)
{
	echo "here";
	$today = date("D M j G:i:s T Y");
	$sql = 	"insert into hotspot_tracking (date, hotspot_name, page_section) values('".$today."', '".$name."', '".$section."')";
	$result = $db->query($sql);
	if (!$result) {die('Bad Query: ' . mysql_error());}

}

}

?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.