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> |