diff options
Diffstat (limited to 'engine/lib/elgglib.php')
| -rw-r--r-- | engine/lib/elgglib.php | 53 | 
1 files changed, 47 insertions, 6 deletions
| diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 11bdc7285..62cb2d5bb 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -1053,12 +1053,14 @@ function _elgg_php_exception_handler($exception) {   *   * @return true   * @access private + * @todo Replace error_log calls with elgg_log calls.   */  function _elgg_php_error_handler($errno, $errmsg, $filename, $linenum, $vars) {  	$error = date("Y-m-d H:i:s (T)") . ": \"$errmsg\" in file $filename (line $linenum)";  	switch ($errno) {  		case E_USER_ERROR: +		case E_RECOVERABLE_ERROR: // (e.g. type hint violation)  			error_log("PHP ERROR: $error");  			register_error("ERROR: $error"); @@ -1092,8 +1094,8 @@ function _elgg_php_error_handler($errno, $errmsg, $filename, $linenum, $vars) {   *   * @note No messages will be displayed unless debugging has been enabled.   * - * @param str $message User message - * @param str $level   NOTICE | WARNING | ERROR | DEBUG + * @param string $message User message + * @param string $level   NOTICE | WARNING | ERROR | DEBUG   *   * @return bool   * @since 1.7.0 @@ -2014,15 +2016,31 @@ function elgg_is_valid_options_for_batch_operation($options, $type) {   *   * @link http://docs.elgg.org/Tutorials/WalledGarden   * @elgg_plugin_hook index system + * + * @param string $hook   The name of the hook + * @param string $type   The type of hook + * @param bool   $value  Has a plugin already rendered an index page? + * @param array  $params Array of parameters (should be empty)   * @return bool   * @access private   */ -function elgg_walled_garden_index() { +function elgg_walled_garden_index($hook, $type, $value, $params) { +	if ($value) { +		// do not create a second index page so return +		return; +	} +  	elgg_load_css('elgg.walled_garden');  	elgg_load_js('elgg.walled_garden'); -	$body = elgg_view('core/walled_garden/body'); +	$content = elgg_view('core/walled_garden/login'); +	$params = array( +		'content' => $content, +		'class' => 'elgg-walledgarden-double', +		'id' => 'elgg-walledgarden-login', +	); +	$body = elgg_view_layout('walled_garden', $params);  	echo elgg_view_page('', $body, 'walled_garden');  	// return true to prevent other plugins from adding a front page @@ -2030,6 +2048,24 @@ function elgg_walled_garden_index() {  }  /** + * Serve walled garden sections + * + * @param array $page Array of URL segments + * @return string + * @access private + */ +function _elgg_walled_garden_ajax_handler($page) { +	$view = $page[0]; +	$params = array( +		'content' => elgg_view("core/walled_garden/$view"), +		'class' => 'elgg-walledgarden-single hidden', +		'id' => str_replace('_', '-', "elgg-walledgarden-$view"), +	); +	echo elgg_view_layout('walled_garden', $params); +	return true; +} + +/**   * Checks the status of the Walled Garden and forwards to a login page   * if required.   * @@ -2049,6 +2085,8 @@ function elgg_walled_garden() {  	elgg_register_css('elgg.walled_garden', '/css/walled_garden.css');  	elgg_register_js('elgg.walled_garden', '/js/walled_garden.js'); +	elgg_register_page_handler('walled_garden', '_elgg_walled_garden_ajax_handler'); +  	// check for external page view  	if (isset($CONFIG->site) && $CONFIG->site instanceof ElggSite) {  		$CONFIG->site->checkWalledGarden(); @@ -2078,11 +2116,13 @@ function _elgg_engine_boot() {  	_elgg_load_application_config(); -	register_translations(dirname(dirname(dirname(__FILE__))) . "/languages/"); -  	_elgg_load_site_config(); +	_elgg_session_boot(); +  	_elgg_load_cache(); + +	_elgg_load_translations();  }  /** @@ -2111,6 +2151,7 @@ function elgg_init() {  	elgg_register_js('jquery.easing', 'vendors/jquery/jquery.easing.1.3.packed.js');  	elgg_register_js('elgg.avatar_cropper', 'js/lib/ui.avatar_cropper.js');  	elgg_register_js('jquery.imgareaselect', 'vendors/jquery/jquery.imgareaselect-0.9.8/scripts/jquery.imgareaselect.min.js'); +	elgg_register_js('elgg.ui.river', 'js/lib/ui.river.js');  	elgg_register_css('jquery.imgareaselect', 'vendors/jquery/jquery.imgareaselect-0.9.8/css/imgareaselect-deprecated.css'); | 
