diff options
Diffstat (limited to 'engine/lib')
| -rw-r--r-- | engine/lib/elgglib.php | 26 | 
1 files changed, 16 insertions, 10 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 2b2180532..351750b0b 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -255,20 +255,25 @@ function elgg_view($view, $vars = "", $bypass = false, $debug = false, $viewtype  	foreach($viewlist as $priority => $view) {  		$view_location = elgg_get_view_location($view, $viewtype); +		$view_file = "$view_location$viewtype/$view.php"; -		if (file_exists("$view_location$viewtype/$view.php") -			&& !include("$view_location$viewtype/$view.php")) { +		// try to include view, defaulting to 'default' view if error. + +		if (file_exists($view_file)	&& !include($view_file)) {  			$success = false;  			if ($viewtype != "default") { -				if (include("{$view_location}default/$view.php")) { +				$default_view_file = "{$view_location}default/$view.php"; +				if (file_exists($default_view_file) && include($default_view_file)) {  					$success = true;  				}  			} +  			if (!$success) { -				elgg_log("The view $view does not exist", 'ERROR'); +				elgg_log("The view $view could not be included", 'WARNING');  			} -		} else if (!file_exists("$view_location$viewtype/$view.php")) { + +		} else if (!file_exists($view_file)) {  			elgg_log("The view $view does not exist", 'WARNING');  		} @@ -625,6 +630,7 @@ function elgg_view_entity(ElggEntity $entity, $full = false, $bypass = true, $de  			}  		}  	} +  	if (!isset($entity_class)) {  		return false;  	} @@ -1749,12 +1755,12 @@ function __elgg_php_error_handler($errno, $errmsg, $filename, $linenum, $vars) {   */  function elgg_log($message, $level='NOTICE') {  	global $CONFIG; -	 +  	// only log when debugging is enabled  	if (isset($CONFIG->debug)) {  		// debug to screen or log?  		$to_screen = !($CONFIG->debug == 'NOTICE'); -		 +  		switch ($level) {  			case 'ERROR':  				// always report @@ -1775,10 +1781,10 @@ function elgg_log($message, $level='NOTICE') {  				}  				break;  		} -		 +  		return TRUE;  	} -	 +  	return FALSE;  } @@ -2332,7 +2338,7 @@ function __elgg_shutdown_hook() {  	global $START_MICROTIME;  	trigger_elgg_event('shutdown', 'system'); -	 +  	$time = (float)(microtime(TRUE) - $START_MICROTIME);  	elgg_log("Page {$_SERVER['REQUEST_URI']} generated in $time seconds", 'DEBUG');  }  | 
