]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2853 pages plugin uses the icon url plugin hook and fixes delete action
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 6 Feb 2011 19:16:23 +0000 (19:16 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 6 Feb 2011 19:16:23 +0000 (19:16 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8044 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/pages/actions/pages/delete.php
mod/pages/start.php
mod/pages/views/default/icon/object/page/medium.php [deleted file]
mod/pages/views/default/icon/object/page/small.php [deleted file]
mod/pages/views/default/icon/object/page_top/medium.php [deleted file]
mod/pages/views/default/icon/object/page_top/small.php [deleted file]
mod/pages/views/default/pages/icon.php

index 8bc20b821d4814798ed0a2a6498df26191b91978..aea383ef8206ed3e682d644f0c0ba8d3f846b97b 100644 (file)
@@ -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'));
index efbf243d6da17555e677420282efe6118d4acec1..4a48368ecb4ec0b85b289f1e4a9a47302d06a99d 100644 (file)
@@ -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');
 }
@@ -172,6 +175,26 @@ function pages_revision_url($annotation) {
        return "pg/pages/revision/$annotation->id";
 }
 
+/**
+ * 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
  */
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 (file)
index ebf028e..0000000
+++ /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 (file)
index 850c78a..0000000
+++ /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 (file)
index d1200ad..0000000
+++ /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 (file)
index bb9e004..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-/**
- * Top Page icon override small
- *
- * @package ElggPages
- */
-
-echo elgg_get_site_url() . "mod/pages/images/pages.gif";
index ede0e49d10a89cb5d1cd94f64360d7f490c243a3..d3b749eb81ce9b2f5e5f8bb0d13c2bfb25a9975f 100644 (file)
@@ -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>