diff options
author | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-07-31 14:56:39 +0000 |
---|---|---|
committer | marcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-07-31 14:56:39 +0000 |
commit | cbb06b10079ee132aae4cbf573aeaa996f390165 (patch) | |
tree | d452a9613f55a1591da9f74109a8f9518168b3c4 /mod | |
parent | df08e57a53a4d99a39b0f3d9dcafea4c6eefb24e (diff) | |
download | elgg-cbb06b10079ee132aae4cbf573aeaa996f390165.tar.gz elgg-cbb06b10079ee132aae4cbf573aeaa996f390165.tar.bz2 |
Guid tool for import, export and browsing.
git-svn-id: https://code.elgg.org/elgg/trunk@1633 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod')
-rw-r--r-- | mod/guidtool/export.php | 22 | ||||
-rw-r--r-- | mod/guidtool/format_picker.php | 25 | ||||
-rw-r--r-- | mod/guidtool/import.php | 4 | ||||
-rw-r--r-- | mod/guidtool/index.php | 18 | ||||
-rw-r--r-- | mod/guidtool/languages/en.php | 4 | ||||
-rw-r--r-- | mod/guidtool/start.php | 52 | ||||
-rw-r--r-- | mod/guidtool/view.php | 22 | ||||
-rw-r--r-- | mod/guidtool/views/default/forms/guidtool/export.php | 23 | ||||
-rw-r--r-- | mod/guidtool/views/default/forms/guidtool/format.php | 40 | ||||
-rw-r--r-- | mod/guidtool/views/default/guidtool/gallery.php | 26 | ||||
-rw-r--r-- | mod/guidtool/views/default/guidtool/listing.php | 31 | ||||
-rw-r--r-- | mod/guidtool/views/default/guidtool/profile.php | 16 | ||||
-rw-r--r-- | mod/guidtool/views/default/object/guidtoolwrapper.php | 21 |
13 files changed, 299 insertions, 5 deletions
diff --git a/mod/guidtool/export.php b/mod/guidtool/export.php new file mode 100644 index 000000000..e1a2b86c6 --- /dev/null +++ b/mod/guidtool/export.php @@ -0,0 +1,22 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $entity_guid = get_input('entity_guid'); + + // Render the file upload page + $title = elgg_echo('guidbrowser:export'); + $body = elgg_view_title($title); + $body .= elgg_view("forms/guidtool/export", array('entity_guid' => $entity_guid)); + + $body = elgg_view_layout('one_column', $body); + + page_draw($title, $body); +?>
\ No newline at end of file diff --git a/mod/guidtool/format_picker.php b/mod/guidtool/format_picker.php new file mode 100644 index 000000000..f5e12143d --- /dev/null +++ b/mod/guidtool/format_picker.php @@ -0,0 +1,25 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + global $CONFIG; + + admin_gatekeeper(); + + $formats = guidtool_get_import_actions(); + + $title = elgg_echo("guidtool:pickformat"); + $body = elgg_view_title($title); + $body .= elgg_view('forms/guidtool/format', array('formats' => $formats)); + + $body = elgg_view_layout('one_column', $body); + + page_draw($title, $body); +?>
\ No newline at end of file diff --git a/mod/guidtool/import.php b/mod/guidtool/import.php index bab06135f..bfb3f698b 100644 --- a/mod/guidtool/import.php +++ b/mod/guidtool/import.php @@ -10,11 +10,13 @@ */ admin_gatekeeper(); + + $format = get_input('format', 'opendd'); // Render the file upload page $title = elgg_echo("guidtool:import"); $body = elgg_view_title($title); - $body .= elgg_view("forms/guidtool/import"); + $body .= elgg_view("forms/guidtool/import", array('format' => $format, 'forward_url')); $body = elgg_view_layout('one_column', $body); diff --git a/mod/guidtool/index.php b/mod/guidtool/index.php index 9494d8790..cc10f770f 100644 --- a/mod/guidtool/index.php +++ b/mod/guidtool/index.php @@ -19,9 +19,25 @@ $limit = get_input('limit', 10); $offset = get_input('offset'); + $title = elgg_echo("guidtool"); + // Get entities + $entities = get_entities("","","","",$limit, $offset); + $count = get_entities("","","","",$limit, $offset, true); + + $wrapped_entries = array(); + + foreach ($entities as $e) + { + $tmp = new ElggObject(); + $tmp->subtype = 'guidtoolwrapper'; + $tmp->entity = $e; + $wrapped_entries[] = $tmp; + } + + $body = elgg_view_title($title) . elgg_view_entity_list($wrapped_entries, $count, $offset, $limit, false); // Display main admin menu - page_draw(elgg_echo("guidtool"),elgg_view_layout("one_column", $body)); + page_draw($title,elgg_view_layout("one_column", $body)); set_context($context); ?>
\ No newline at end of file diff --git a/mod/guidtool/languages/en.php b/mod/guidtool/languages/en.php index e74624605..cb80143e2 100644 --- a/mod/guidtool/languages/en.php +++ b/mod/guidtool/languages/en.php @@ -19,6 +19,10 @@ 'guidtool:browse' => 'Browse GUID', 'guidtool:import' => 'Import', 'guidtool:import:desc' => 'Paste the data you want to import in following window, this must be in "%s" format.', + + 'guidtool:pickformat' => 'Please select the format that you wish to import or export.', + + 'guidbrowser:export' => 'Export', ); add_translation("en",$english); diff --git a/mod/guidtool/start.php b/mod/guidtool/start.php index f658d5abf..f6e461ed3 100644 --- a/mod/guidtool/start.php +++ b/mod/guidtool/start.php @@ -42,8 +42,37 @@ { switch ($page[0]) { - case 'import' : - include($CONFIG->pluginspath . "guidtool/import.php"); + case 'view' : + case 'export': + + if ((isset($page[1]) && (!empty($page[1])))) { + add_submenu_item('GUID:'.$page[1], $CONFIG->url . "pg/guidtool/view/{$page[1]}/"); + add_submenu_item(elgg_echo('guidbrowser:export'), $CONFIG->url . "pg/guidtool/export/{$page[1]}/"); + + set_input('entity_guid', $page[1]); + if ($page[0] == 'view') + include($CONFIG->pluginspath . "guidtool/view.php"); + else + { + if ((isset($page[2]) && (!empty($page[2])))) { + set_input('format', $page[2]); + include($CONFIG->pluginspath . "guidtool/export.php"); + } else { + set_input('forward_url', $CONFIG->url . "pg/guidtool/export/$page[1]/"); + include($CONFIG->pluginspath . "guidtool/format_picker.php"); + } + } + } + else include($CONFIG->pluginspath . "guidtool/index.php"); + break; + case 'import' : + if ((isset($page[1]) && (!empty($page[1])))) { + set_input('format', $page[1]); + include($CONFIG->pluginspath . "guidtool/import.php"); + } else { + set_input('forward_url', $CONFIG->url . "pg/guidtool/import/"); + include($CONFIG->pluginspath . "guidtool/format_picker.php"); + } break; default: include($CONFIG->pluginspath . "guidtool/index.php"); @@ -53,7 +82,24 @@ include($CONFIG->pluginspath . "guidtool/index.php"); } - + /** + * Get a list of import actions + * + */ + function guidtool_get_import_actions() + { + global $CONFIG; + + $return = array(); + + foreach ($CONFIG->actions as $action => $handler) + { + if (strpos($action, "import/")===0) + $return[] = substr($action, 7); + } + + return $return; + } // Initialise log register_elgg_event_handler('init','system','guidtool_init'); diff --git a/mod/guidtool/view.php b/mod/guidtool/view.php new file mode 100644 index 000000000..c9f1f9fc5 --- /dev/null +++ b/mod/guidtool/view.php @@ -0,0 +1,22 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $entity_guid = get_input('entity_guid'); + + // Render the file upload page + $title = "GUID: $entity_guid"; + $body = elgg_view_title($title); + $body .= elgg_view("guidtool/profile", array('entity_guid' => $entity_guid)); + + $body = elgg_view_layout('one_column', $body); + + page_draw($title, $body); +?>
\ No newline at end of file diff --git a/mod/guidtool/views/default/forms/guidtool/export.php b/mod/guidtool/views/default/forms/guidtool/export.php new file mode 100644 index 000000000..cb92991a2 --- /dev/null +++ b/mod/guidtool/views/default/forms/guidtool/export.php @@ -0,0 +1,23 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + global $CONFIG; + + $format = $vars['format']; + if (!$format) $format = 'opendd'; + + $entity_guid = get_input('entity_guid'); + + +?> +<div id="export"> +<?php echo elgg_view('output/longtext', array('value' => htmlentities(file_get_contents($CONFIG->url . "export/$format/$entity_guid/")))) ?> +</div>
\ No newline at end of file diff --git a/mod/guidtool/views/default/forms/guidtool/format.php b/mod/guidtool/views/default/forms/guidtool/format.php new file mode 100644 index 000000000..7a3f397d5 --- /dev/null +++ b/mod/guidtool/views/default/forms/guidtool/format.php @@ -0,0 +1,40 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $formats = $vars['formats']; + + if (!$formats) + $formats = array('opendd'); + + $format = get_input('format'); + if ($format) + { + forward(get_input('forward_url') . $format . "/"); + exit; + } + +?> + +<div id="formatpicker"> + <form method="get"> + <select name="format"> + <?php + foreach ($formats as $format) + { + ?> + <option value="<?php echo $format; ?>"><?php echo $format; ?></option> + <?php + } + ?> + </select> + <input type="submit" class="submit_button" value="<?php echo elgg_echo("go"); ?>" /> + </form> +</div>
\ No newline at end of file diff --git a/mod/guidtool/views/default/guidtool/gallery.php b/mod/guidtool/views/default/guidtool/gallery.php new file mode 100644 index 000000000..9212df17b --- /dev/null +++ b/mod/guidtool/views/default/guidtool/gallery.php @@ -0,0 +1,26 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + global $CONFIG; + + $entity = $vars['entity']->entity; + $by = $entity->getOwnerEntity(); + + + + $info .= "<p><b><a href=\"{$CONFIG->url}pg/guidtool/view/{$entity->guid}/\">" . get_class($entity) . "</a></b></p>"; + + $info .= "<div>"; + if ($by) $info .= elgg_echo('by') . " <a href=\"".$by->getURL()."\">{$by->name}</a> "; + $info .= " " . friendly_time($entity->time_created )."</div>"; + + echo elgg_view_listing($icon, $info); +?>
\ No newline at end of file diff --git a/mod/guidtool/views/default/guidtool/listing.php b/mod/guidtool/views/default/guidtool/listing.php new file mode 100644 index 000000000..21d93b64a --- /dev/null +++ b/mod/guidtool/views/default/guidtool/listing.php @@ -0,0 +1,31 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + global $CONFIG; + + $entity = $vars['entity']->entity; + $by = $entity->getOwnerEntity(); + + $icon = elgg_view( + 'graphics/icon', array( + 'entity' => $vars['entity'], + 'size' => 'small', + ) + ); + + $info .= "<p><b><a href=\"{$CONFIG->url}pg/guidtool/view/{$entity->guid}/\">" . get_class($entity) . "</a></b></p>"; + + $info .= "<div>"; + if ($by) $info .= elgg_echo('by') . " <a href=\"".$by->getURL()."\">{$by->name}</a> "; + $info .= " " . friendly_time($entity->time_created )."</div>"; + + echo elgg_view_listing($icon, $info); +?>
\ No newline at end of file diff --git a/mod/guidtool/views/default/guidtool/profile.php b/mod/guidtool/views/default/guidtool/profile.php new file mode 100644 index 000000000..d32141b11 --- /dev/null +++ b/mod/guidtool/views/default/guidtool/profile.php @@ -0,0 +1,16 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $entity_guid = $vars['entity_guid']; + + + echo elgg_view('export/entity', array('entity' => get_entity($entity_guid))); +?>
\ No newline at end of file diff --git a/mod/guidtool/views/default/object/guidtoolwrapper.php b/mod/guidtool/views/default/object/guidtoolwrapper.php new file mode 100644 index 000000000..d83f7fb30 --- /dev/null +++ b/mod/guidtool/views/default/object/guidtoolwrapper.php @@ -0,0 +1,21 @@ +<?php + /** + * Elgg GUID Tool + * + * @package ElggGUIDTool + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + if ($vars['full']) { + echo elgg_view("guidtool/profile",$vars); + } else { + if (get_input('search_viewtype') == "gallery") { + echo elgg_view('guidtool/gallery',$vars); + } else { + echo elgg_view("guidtool/listing",$vars); + } + } +?>
\ No newline at end of file |