diff options
Diffstat (limited to 'engine/lib/elgglib.php')
| -rw-r--r-- | engine/lib/elgglib.php | 50 | 
1 files changed, 31 insertions, 19 deletions
| diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 57d602450..9035d95f2 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -1144,9 +1144,11 @@ function elgg_dump($value, $to_screen = TRUE, $level = 'NOTICE') {  	global $CONFIG;  	// plugin can return false to stop the default logging method -	$params = array('level' => $level, -					'msg' => $value, -					'to_screen' => $to_screen); +	$params = array( +		'level' => $level, +		'msg' => $value, +		'to_screen' => $to_screen, +	);  	if (!elgg_trigger_plugin_hook('debug', 'log', $params, true)) {  		return;  	} @@ -1172,7 +1174,9 @@ function elgg_dump($value, $to_screen = TRUE, $level = 'NOTICE') {   *   * This function either displays or logs the deprecation message,   * depending upon the deprecation policies in {@link CODING.txt}. - * Logged messages are sent with the level of 'WARNING'. + * Logged messages are sent with the level of 'WARNING'. Only admins + * get visual deprecation notices. When non-admins are logged in, the + * notices are sent to PHP's log through elgg_dump().   *   * A user-visual message will be displayed if $dep_version is greater   * than 1 minor releases lower than the current Elgg version, or at all @@ -1183,11 +1187,12 @@ function elgg_dump($value, $to_screen = TRUE, $level = 'NOTICE') {   *   * @see CODING.txt   * - * @param str $msg             Message to log / display. - * @param str $dep_version     Human-readable *release* version: 1.7, 1.7.3 - * @param int $backtrace_level How many levels back to display the backtrace. Useful if calling from - *                             functions that are called from other places (like elgg_view()). Set - *                             to -1 for a full backtrace. + * @param string $msg             Message to log / display. + * @param string $dep_version     Human-readable *release* version: 1.7, 1.8, ... + * @param int    $backtrace_level How many levels back to display the backtrace. + *                                Useful if calling from functions that are called + *                                from other places (like elgg_view()). Set to -1 + *                                for a full backtrace.   *   * @return bool   * @since 1.7.0 @@ -1196,13 +1201,13 @@ function elgg_deprecated_notice($msg, $dep_version, $backtrace_level = 1) {  	// if it's a major release behind, visual and logged  	// if it's a 1 minor release behind, visual and logged  	// if it's for current minor release, logged. -	// bugfixes don't matter because you're not deprecating between them, RIGHT? +	// bugfixes don't matter because we are not deprecating between them  	if (!$dep_version) { -		return FALSE; +		return false;  	} -	$elgg_version = get_version(TRUE); +	$elgg_version = get_version(true);  	$elgg_version_arr = explode('.', $elgg_version);  	$elgg_major_version = (int)$elgg_version_arr[0];  	$elgg_minor_version = (int)$elgg_version_arr[1]; @@ -1210,16 +1215,16 @@ function elgg_deprecated_notice($msg, $dep_version, $backtrace_level = 1) {  	$dep_major_version = (int)$dep_version;  	$dep_minor_version = 10 * ($dep_version - $dep_major_version); -	$visual = FALSE; +	$visual = false;  	if (($dep_major_version < $elgg_major_version) ||  		($dep_minor_version < $elgg_minor_version)) { -		$visual = TRUE; +		$visual = true;  	}  	$msg = "Deprecated in $dep_major_version.$dep_minor_version: $msg"; -	if ($visual) { +	if ($visual && elgg_is_admin_logged_in()) {  		register_error($msg);  	} @@ -1247,9 +1252,9 @@ function elgg_deprecated_notice($msg, $dep_version, $backtrace_level = 1) {  	$msg .= implode("<br /> -> ", $stack); -	elgg_log($msg, 'WARNING'); +	elgg_dump($msg, elgg_is_admin_logged_in(), 'WARNING'); -	return TRUE; +	return true;  }  /** @@ -1772,6 +1777,12 @@ function elgg_ajax_page_handler($page) {  		unset($page[0]);  		$view = implode('/', $page); +		$allowed_views = elgg_get_config('allowed_ajax_views'); +		if (!array_key_exists($view, $allowed_views)) { +			header('HTTP/1.1 403 Forbidden'); +			exit; +		} +  		// pull out GET parameters through filter  		$vars = array();  		foreach ($_GET as $name => $value) { @@ -1996,9 +2007,7 @@ function elgg_is_valid_options_for_batch_operation($options, $type) {   * @access private   */  function elgg_walled_garden_index() { -	elgg_register_css('elgg.walled_garden', '/css/walled_garden.css');  	elgg_load_css('elgg.walled_garden'); -	elgg_register_js('elgg.walled_garden', '/js/walled_garden.js');  	elgg_load_js('elgg.walled_garden');  	$body = elgg_view('core/walled_garden/body'); @@ -2026,6 +2035,9 @@ function elgg_walled_garden_index() {  function elgg_walled_garden() {  	global $CONFIG; +	elgg_register_css('elgg.walled_garden', '/css/walled_garden.css'); +	elgg_register_js('elgg.walled_garden', '/js/walled_garden.js'); +  	// check for external page view  	if (isset($CONFIG->site) && $CONFIG->site instanceof ElggSite) {  		$CONFIG->site->checkWalledGarden(); | 
