diff options
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/classes/ElggPluginManifest.php | 14 | ||||
| -rw-r--r-- | engine/classes/ElggSite.php | 1 | ||||
| -rw-r--r-- | engine/lib/elgglib.php | 12 | ||||
| -rw-r--r-- | engine/lib/entities.php | 13 | ||||
| -rw-r--r-- | engine/lib/filestore.php | 6 | ||||
| -rw-r--r-- | engine/lib/navigation.php | 2 | ||||
| -rw-r--r-- | engine/lib/views.php | 2 | ||||
| -rw-r--r-- | engine/start.php | 3 | ||||
| -rw-r--r-- | engine/tests/api/metadata.php | 12 | 
9 files changed, 47 insertions, 18 deletions
diff --git a/engine/classes/ElggPluginManifest.php b/engine/classes/ElggPluginManifest.php index 7aa702d47..7e79c15c8 100644 --- a/engine/classes/ElggPluginManifest.php +++ b/engine/classes/ElggPluginManifest.php @@ -319,12 +319,26 @@ class ElggPluginManifest {  	 * @return array  	 */  	public function getCategories() { +		$bundled_plugins = array('blog', 'bookmarks', 'categories', +			'custom_index', 'dashboard', 'developers', 'diagnostics', +			'embed', 'externalpages', 'file', 'garbagecollector', +			'groups', 'htmlawed', 'invitefriends', 'likes', +			'logbrowser', 'logrotate', 'members', 'messageboard', +			'messages', 'notifications', 'oauth_api', 'pages', 'profile', +			'reportedcontent', 'search', 'tagcloud', 'thewire', 'tinymce', +			'twitter', 'twitter_api', 'uservalidationbyemail', 'zaudio', +		); +  		$cats = $this->parser->getAttribute('category');  		if (!$cats) {  			$cats = array();  		} +		if (in_array('bundled', $cats) && !in_array($this->getPluginID(), $bundled_plugins)) { +			unset($cats[array_search('bundled', $cats)]); +		} +  		return $cats;  	} diff --git a/engine/classes/ElggSite.php b/engine/classes/ElggSite.php index 6d07778a9..e793ab9c6 100644 --- a/engine/classes/ElggSite.php +++ b/engine/classes/ElggSite.php @@ -423,6 +423,7 @@ class ElggSite extends ElggEntity {  		// default public pages  		$defaults = array(  			'walled_garden/.*', +			'login',  			'action/login',  			'register',  			'action/register', diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index db1464bd8..4bbe87f57 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -2016,10 +2016,20 @@ 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'); diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 4875b2c2f..ae5df66f7 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -331,7 +331,7 @@ function remove_subtype($type, $subtype) {  }  /** - * Update a registered ElggEntity type, subtype, and classname + * Update a registered ElggEntity type, subtype, and class name   *   * @param string $type    Type   * @param string $subtype Subtype @@ -340,7 +340,7 @@ function remove_subtype($type, $subtype) {   * @return bool   */  function update_subtype($type, $subtype, $class = '') { -	global $CONFIG; +	global $CONFIG, $SUBTYPE_CACHE;  	if (!$id = get_subtype_id($type, $subtype)) {  		return FALSE; @@ -348,10 +348,16 @@ function update_subtype($type, $subtype, $class = '') {  	$type = sanitise_string($type);  	$subtype = sanitise_string($subtype); -	return update_data("UPDATE {$CONFIG->dbprefix}entity_subtypes +	$result = update_data("UPDATE {$CONFIG->dbprefix}entity_subtypes  		SET type = '$type', subtype = '$subtype', class = '$class'  		WHERE id = $id  	"); + +	if ($result && isset($SUBTYPE_CACHE[$id])) { +		$SUBTYPE_CACHE[$id]->class = $class; +	} + +	return $result;  }  /** @@ -1452,6 +1458,7 @@ function enable_entity($guid, $recursive = true) {  						'relationship' => 'disabled_with',  						'relationship_guid' => $entity->guid,  						'inverse_relationship' => true, +						'limit' => 0,  					));  					foreach ($disabled_with_it as $e) { diff --git a/engine/lib/filestore.php b/engine/lib/filestore.php index 86f6d9baa..93a127257 100644 --- a/engine/lib/filestore.php +++ b/engine/lib/filestore.php @@ -149,6 +149,12 @@ $x1 = 0, $y1 = 0, $x2 = 0, $y2 = 0, $upscale = FALSE) {  		return FALSE;  	} +	// color transparencies white (default is black) +	imagefilledrectangle( +		$new_image, 0, 0, $params['newwidth'], $params['newheight'], +		imagecolorallocate($new_image, 255, 255, 255) +	); +  	$rtn_code = imagecopyresampled(	$new_image,  									$original_image,  									0, diff --git a/engine/lib/navigation.php b/engine/lib/navigation.php index a7984ce5a..4ff009bfb 100644 --- a/engine/lib/navigation.php +++ b/engine/lib/navigation.php @@ -230,7 +230,7 @@ function elgg_pop_breadcrumb() {  	global $CONFIG;  	if (is_array($CONFIG->breadcrumbs)) { -		array_pop($CONFIG->breadcrumbs); +		return array_pop($CONFIG->breadcrumbs);  	}  	return FALSE; diff --git a/engine/lib/views.php b/engine/lib/views.php index 1b013be6f..c98ad4e78 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -403,7 +403,7 @@ function elgg_view($view, $vars = array(), $bypass = false, $debug = false, $vie  	$view_orig = $view;  	// Trigger the pagesetup event -	if (!isset($CONFIG->pagesetupdone)) { +	if (!isset($CONFIG->pagesetupdone) && $CONFIG->boot_complete) {  		$CONFIG->pagesetupdone = true;  		elgg_trigger_event('pagesetup', 'system');  	} diff --git a/engine/start.php b/engine/start.php index 506e27380..5f4bded45 100644 --- a/engine/start.php +++ b/engine/start.php @@ -49,6 +49,7 @@ global $CONFIG;  if (!isset($CONFIG)) {  	$CONFIG = new stdClass;  } +$CONFIG->boot_complete = false;  $lib_dir = dirname(__FILE__) . '/lib/'; @@ -105,5 +106,7 @@ elgg_trigger_event('plugins_boot', 'system');  // Complete the boot process for both engine and plugins  elgg_trigger_event('init', 'system'); +$CONFIG->boot_complete = true; +  // System loaded and ready  elgg_trigger_event('ready', 'system'); diff --git a/engine/tests/api/metadata.php b/engine/tests/api/metadata.php index 2461e975e..244036f80 100644 --- a/engine/tests/api/metadata.php +++ b/engine/tests/api/metadata.php @@ -43,9 +43,6 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {  		{  			$this->assertTrue(in_array($string, $this->metastrings));  		} - -		// clean up -		$this->delete_metastrings();  	}  	public function testElggGetEntitiesFromMetadata() { @@ -77,7 +74,6 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {  		// clean up  		$this->object->delete(); -		$this->delete_metastrings();  	}  	public function testElggGetMetadataCount() { @@ -206,12 +202,4 @@ class ElggCoreMetadataAPITest extends ElggCoreUnitTest {  		mysql_query("INSERT INTO {$CONFIG->dbprefix}metastrings (string) VALUES ('$string')");  		$this->metastrings[$string] = mysql_insert_id();  	} - -	protected function delete_metastrings() { -		global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE; -		$METASTRINGS_CACHE = $METASTRINGS_DEADNAME_CACHE = array(); - -		$strings = implode(', ', $this->metastrings); -		mysql_query("DELETE FROM {$CONFIG->dbprefix}metastrings WHERE id IN ($strings)"); -	}  }  | 
