diff options
| author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-06 19:16:23 +0000 | 
|---|---|---|
| committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-06 19:16:23 +0000 | 
| commit | c2d82db47ccdbd388658433d1f703c560d7fb84b (patch) | |
| tree | 0bb352e9f7f9b6f676a5a7b608c18b2fe363b39b | |
| parent | 562900f1b36820843a28d7b68f2f0f3e55e04dbf (diff) | |
| download | elgg-c2d82db47ccdbd388658433d1f703c560d7fb84b.tar.gz elgg-c2d82db47ccdbd388658433d1f703c560d7fb84b.tar.bz2  | |
Fixes #2853 pages plugin uses the icon url plugin hook and fixes delete action
git-svn-id: http://code.elgg.org/elgg/trunk@8044 36083f99-b078-4883-b0ff-0f9b5a30f544
| -rw-r--r-- | mod/pages/actions/pages/delete.php | 41 | ||||
| -rw-r--r-- | mod/pages/start.php | 23 | ||||
| -rw-r--r-- | mod/pages/views/default/icon/object/page/medium.php | 8 | ||||
| -rw-r--r-- | mod/pages/views/default/icon/object/page/small.php | 8 | ||||
| -rw-r--r-- | mod/pages/views/default/icon/object/page_top/medium.php | 9 | ||||
| -rw-r--r-- | mod/pages/views/default/icon/object/page_top/small.php | 8 | ||||
| -rw-r--r-- | mod/pages/views/default/pages/icon.php | 12 | 
7 files changed, 49 insertions, 60 deletions
diff --git a/mod/pages/actions/pages/delete.php b/mod/pages/actions/pages/delete.php index 8bc20b821..aea383ef8 100644 --- a/mod/pages/actions/pages/delete.php +++ b/mod/pages/actions/pages/delete.php @@ -2,36 +2,39 @@  /**   * Remove a page   * + * Subpages are not deleted but are moved up a level in the tree + *   * @package ElggPages   */ -$page = get_input('page'); - -if ($page = get_entity($page)) { - +$guid = get_input('guid'); +$page = get_entity($guid); +if ($page) {  	if ($page->canEdit()) { -  		$container = get_entity($page->container_guid);  		// Bring all child elements forward -			$parent = $page->parent_guid; -			if ($children = elgg_get_entities_from_metadata(array('metadata_name' => 'parent_guid', 'metadata_value' => $page->getGUID()))) { -				foreach($children as $child) { -					$child->parent_guid = $parent; -				} +		$parent = $page->parent_guid; +		$children = elgg_get_entities_from_metadata(array( +			'metadata_name' => 'parent_guid', +			'metadata_value' => $page->getGUID() +		)); +		if ($children) { +			foreach ($children as $child) { +				$child->parent_guid = $parent;  			} -			if ($page->delete()) { -				system_message(elgg_echo('pages:delete:success')); -				if ($parent) { -					if ($parent = get_entity($parent)) { -						forward($parent->getURL()); -					} +		} +		 +		if ($page->delete()) { +			system_message(elgg_echo('pages:delete:success')); +			if ($parent) { +				if ($parent = get_entity($parent)) { +					forward($parent->getURL());  				} -				forward("pg/pages/owned/$container->username/");  			} - +			forward("pg/pages/owned/$container->username/"); +		}  	} -  }  register_error(elgg_echo('pages:delete:failure')); diff --git a/mod/pages/start.php b/mod/pages/start.php index efbf243d6..4a48368ec 100644 --- a/mod/pages/start.php +++ b/mod/pages/start.php @@ -68,6 +68,9 @@ function pages_init() {  	elgg_register_plugin_hook_handler('permissions_check', 'object', 'pages_write_permission_check');  	elgg_register_plugin_hook_handler('container_permissions_check', 'object', 'pages_container_permission_check'); +	// icon url override +	elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'pages_icon_url_override'); +  	// register ecml views to parse  	elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');  } @@ -173,6 +176,26 @@ function pages_revision_url($annotation) {  }  /** + * Override the default entity icon for pages + * + * @return string Relative URL + */ +function pages_icon_url_override($hook, $type, $returnvalue, $params) { +	$entity = $params['entity']; +	if (elgg_instanceof($entity, 'object', 'page_top') || +		elgg_instanceof($entity, 'object', 'page')) { +		switch ($params['size']) { +			case 'small': +				return 'mod/pages/images/pages.gif'; +				break; +			case 'medium': +				return 'mod/pages/images/pages_lrg.gif'; +				break; +		} +	} +} + +/**   * Add a menu item to the user ownerblock   */  function pages_owner_block_menu($hook, $type, $return, $params) { diff --git a/mod/pages/views/default/icon/object/page/medium.php b/mod/pages/views/default/icon/object/page/medium.php deleted file mode 100644 index ebf028ef7..000000000 --- a/mod/pages/views/default/icon/object/page/medium.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Page icon override medium - * - * @package ElggPages - */ - -echo elgg_get_site_url() . "mod/pages/images/pages_lrg.gif"; diff --git a/mod/pages/views/default/icon/object/page/small.php b/mod/pages/views/default/icon/object/page/small.php deleted file mode 100644 index 850c78a51..000000000 --- a/mod/pages/views/default/icon/object/page/small.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Page icon override small - * - * @package ElggPages - */ - -echo elgg_get_site_url() . "mod/pages/images/pages.gif";
\ No newline at end of file diff --git a/mod/pages/views/default/icon/object/page_top/medium.php b/mod/pages/views/default/icon/object/page_top/medium.php deleted file mode 100644 index d1200ad61..000000000 --- a/mod/pages/views/default/icon/object/page_top/medium.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php -/** - * Top page icon override medium - * - * @package ElggPages - */ - -echo elgg_get_site_url() . "mod/pages/images/pages_lrg.gif"; -?> diff --git a/mod/pages/views/default/icon/object/page_top/small.php b/mod/pages/views/default/icon/object/page_top/small.php deleted file mode 100644 index bb9e0047a..000000000 --- a/mod/pages/views/default/icon/object/page_top/small.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php -/** - * Top Page icon override small - * - * @package ElggPages - */ - -echo elgg_get_site_url() . "mod/pages/images/pages.gif"; diff --git a/mod/pages/views/default/pages/icon.php b/mod/pages/views/default/pages/icon.php index ede0e49d1..d3b749eb8 100644 --- a/mod/pages/views/default/pages/icon.php +++ b/mod/pages/views/default/pages/icon.php @@ -2,6 +2,8 @@  /**   * Page icon   * + * Uses a separate icon view due to dependency on annotation + *   * @package ElggPages   *   * @uses $vars['entity'] @@ -12,18 +14,12 @@ $annotation = $vars['annotation'];  $entity = get_entity($annotation->entity_guid);  // Get size -if (!in_array($vars['size'], array('small','medium','large','tiny','master','topbar'))) { +if (!in_array($vars['size'], array('small', 'medium', 'large', 'tiny', 'master', 'topbar'))) {  	$vars['size'] = "medium";  } -if (!empty($vars['align'])) { -	$align = " align=\"{$vars['align']}\" "; -} else { -	$align = ""; -} -  ?>  <a href="<?php echo $annotation->getURL(); ?>"> -	<img src="<?php echo $entity->getIconURL($vars['size']); ?>" <?php echo $align; ?> /> +	<img src="<?php echo $entity->getIconURL($vars['size']); ?>" />  </a>  | 
