aboutsummaryrefslogtreecommitdiff
path: root/mod
diff options
context:
space:
mode:
authorcash <cash.costello@gmail.com>2011-10-03 21:30:30 -0400
committercash <cash.costello@gmail.com>2011-10-03 21:30:30 -0400
commitfa04d6615760a014f7557f2d28ff864eebce8551 (patch)
treed99d94d1829480388ca3ece75d5b986e6277aef4 /mod
parentd7549a210074a29f004642d713ede6ce04703bcc (diff)
downloadelgg-fa04d6615760a014f7557f2d28ff864eebce8551.tar.gz
elgg-fa04d6615760a014f7557f2d28ff864eebce8551.tar.bz2
removed the sections from the menu to provide more flexibility in tab ordering
Diffstat (limited to 'mod')
-rw-r--r--mod/embed/README.txt36
-rw-r--r--mod/embed/views/default/embed/css.php2
-rw-r--r--mod/embed/views/default/embed/layout.php25
-rw-r--r--mod/embed/views/default/js/embed/embed.php2
-rw-r--r--mod/embed/views/default/navigation/menu/embed.php19
-rw-r--r--mod/file/start.php6
-rw-r--r--mod/file/views/default/embed/file_upload/content.php8
7 files changed, 44 insertions, 54 deletions
diff --git a/mod/embed/README.txt b/mod/embed/README.txt
index c7ce2e528..cecee08c0 100644
--- a/mod/embed/README.txt
+++ b/mod/embed/README.txt
@@ -13,8 +13,9 @@ CONTENTS:
their personal network content or third party resources in any text area.
The Embed plugin adds a menu item to the longtext menu. Clicking on this
- link pops up a lightbox. The lightbox has two types of tabs: one for
- selecting content to embed and one for uploading new content.
+ link pops up a lightbox. The lightbox supports lists of content for insertion
+ and uploading new content.
+
2. Adding a Tab
The Embed plugin uses the menu system to manage its tabs. Use
@@ -23,7 +24,7 @@ CONTENTS:
$item = ElggMenuItem::factory(array(
'name' => 'file',
'text' => elgg_echo('file'),
- 'section' => 'select',
+ 'priority' => 10,
'data' => array(
'options' => array(
'type' => 'object',
@@ -36,32 +37,33 @@ CONTENTS:
Parameters:
name: The unique name of the tab.
text: The text shown on the tab
- section: 'select' for embed selection or 'upload' for uploading new content
- data: an array of parameters for creating the tab and its content. See
- the two sections below for data key values for the two tab types.
-
- Select tab data parameters:
- options: array of options passed to elgg_list_entities()
-
- Upload tab data parameters:
- view: the view used to render the tab content
+ priority: Placement of the tab.
+ data: An array of parameters for creating the tab and its content.
+ When listing content using the embed list view, pass the options for the
+ elgg_list_entities() function as 'options'.
+ When using a custom view for listing content or for uploading new
+ content, pass the view name as 'view'.
See the file plugin for examples of registering both tab types.
-3. Populating a Select Tab
+3. Populating a Content Select Tab
Nothing should be required other than setting the options parameter array
when registering the tab. See the view embed/item to see how an entity is
rendered.
+ If creating a custom list, the <li> elements must have a class of .embed-item.
+ The HTML content that is inserted must use the class .elgg-image.
+
+
4. Populating an Upload Tab
The view that is registered must be defined. It must include a form for
- uploading the content. The form must be wrapped in a div with the class
- .embed-upload. Somewhere in the view must be a hidden input field with the
- name embed_hidden with its value be the name of the tab to forward the user
- to when uploading is complete.
+ uploading the content. The form must .elgg-form-embed. Somewhere in the view
+ must be a hidden input field with the name embed_hidden with its value be
+ the name of the tab to forward the user to when uploading is complete.
See the view embed/file_upload/content for an example
+
5. Other WYSIWYG Editors and Embed
Embed ships with support for the default input/longtext textarea.
diff --git a/mod/embed/views/default/embed/css.php b/mod/embed/views/default/embed/css.php
index 324ed1038..034c0fcfe 100644
--- a/mod/embed/views/default/embed/css.php
+++ b/mod/embed/views/default/embed/css.php
@@ -8,7 +8,7 @@
.embed-wrapper {
width: 730px;
min-height: 400px;
- margin: 15px;
+ margin: 20px 15px;
}
.embed-wrapper h2 {
color: #333333;
diff --git a/mod/embed/views/default/embed/layout.php b/mod/embed/views/default/embed/layout.php
index 73c26810d..c1e43f13c 100644
--- a/mod/embed/views/default/embed/layout.php
+++ b/mod/embed/views/default/embed/layout.php
@@ -8,20 +8,17 @@ $title = elgg_view_title(elgg_echo('embed:media'));
$menu = elgg_view_menu('embed');
$selected = elgg_get_config('embed_tab');
-switch ($selected->getData('tab_type')) {
- case 'select':
- $tab = elgg_list_entities(
- embed_get_list_options($selected->getData('options')),
- 'elgg_get_entities',
- 'embed_list_items'
- );
- if (!$tab) {
- $tab = elgg_echo('embed:no_section_content');
- }
- break;
- case 'upload':
- $tab = elgg_view($selected->getData('view'), $vars);
- break;
+if ($selected->getData('view')) {
+ $tab = elgg_view($selected->getData('view'), $vars);
+} else {
+ $tab = elgg_list_entities(
+ embed_get_list_options($selected->getData('options')),
+ 'elgg_get_entities',
+ 'embed_list_items'
+ );
+ if (!$tab) {
+ $tab = elgg_echo('embed:no_section_content');
+ }
}
echo <<<HTML
diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php
index 840d8f89c..bb80919a9 100644
--- a/mod/embed/views/default/js/embed/embed.php
+++ b/mod/embed/views/default/js/embed/embed.php
@@ -18,7 +18,7 @@ elgg.embed.init = function() {
$('.embed-section').live('click', elgg.embed.forward);
- $('.embed-upload .elgg-form').live('submit', elgg.embed.submit);
+ $('.elgg-form-embed').live('submit', elgg.embed.submit);
}
/**
diff --git a/mod/embed/views/default/navigation/menu/embed.php b/mod/embed/views/default/navigation/menu/embed.php
index 36cedc47e..1a6a18f05 100644
--- a/mod/embed/views/default/navigation/menu/embed.php
+++ b/mod/embed/views/default/navigation/menu/embed.php
@@ -2,20 +2,17 @@
/**
* Embed tabs
*
- * @uses $vars['menu']['select']
- * @uses $vars['menu']['upload']
+ * @uses $vars['menu']['default']
*/
$tabs = array();
-foreach (array('select', 'upload') as $type) {
- foreach ($vars['menu'][$type] as $menu_item) {
- $tabs[] = array(
- 'title' => $menu_item->getText(),
- 'url' => 'embed/tab/' . $menu_item->getName(),
- 'url_class' => 'embed-section',
- 'selected' => $menu_item->getSelected(),
- );
- }
+foreach ($vars['menu']['default'] as $menu_item) {
+ $tabs[] = array(
+ 'title' => $menu_item->getText(),
+ 'url' => 'embed/tab/' . $menu_item->getName(),
+ 'url_class' => 'embed-section',
+ 'selected' => $menu_item->getSelected(),
+ );
}
echo elgg_view('navigation/tabs', array('tabs' => $tabs));
diff --git a/mod/file/start.php b/mod/file/start.php
index 16ce0e233..843ae0794 100644
--- a/mod/file/start.php
+++ b/mod/file/start.php
@@ -61,9 +61,8 @@ function file_init() {
$item = ElggMenuItem::factory(array(
'name' => 'file',
'text' => elgg_echo('file'),
- 'section' => 'select',
+ 'priority' => 10,
'data' => array(
- 'tab_type' => 'select',
'options' => array(
'type' => 'object',
'subtype' => 'file',
@@ -75,9 +74,8 @@ function file_init() {
$item = ElggMenuItem::factory(array(
'name' => 'file_upload',
'text' => elgg_echo('file:upload'),
- 'section' => 'upload',
+ 'priority' => 100,
'data' => array(
- 'tab_type' => 'upload',
'view' => 'embed/file_upload/content',
),
));
diff --git a/mod/file/views/default/embed/file_upload/content.php b/mod/file/views/default/embed/file_upload/content.php
index a530b3194..4d3db0d97 100644
--- a/mod/file/views/default/embed/file_upload/content.php
+++ b/mod/file/views/default/embed/file_upload/content.php
@@ -5,13 +5,9 @@
$form_vars = array(
'enctype' => 'multipart/form-data',
- 'class' => 'elgg-form',
+ 'class' => 'elgg-form-embed',
);
-$upload_content = elgg_view_form('file/upload', $form_vars);
-
-echo "<div class='embed-upload'>";
-echo $upload_content;
-echo "</div>";
+echo elgg_view_form('file/upload', $form_vars);
// the tab we want to be forwarded to after upload is complete
echo elgg_view('input/hidden', array(