diff options
Diffstat (limited to 'mod/embed')
-rw-r--r-- | mod/embed/start.php | 5 | ||||
-rw-r--r-- | mod/embed/views/default/embed/embed.php | 21 | ||||
-rw-r--r-- | mod/embed/views/default/embed/upload/content.php | 47 |
3 files changed, 67 insertions, 6 deletions
diff --git a/mod/embed/start.php b/mod/embed/start.php index eb6f6d4a6..a3b811371 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -49,12 +49,15 @@ function embed_page_handler($page) { // @todo trigger for all right now. If we categorize these later we can trigger // for certain categories. $sections = trigger_plugin_hook('embed_get_sections', 'all', NULL, array()); + $upload_sections = trigger_plugin_hook('embed_get_upload_sections', 'all', NULL, array()); asort($sections, SORT_LOCALE_STRING); + asort($upload_sections, SORT_LOCALE_STRING); $active_section = get_input('active_section', NULL); echo elgg_view('embed/embed', array( 'sections' => $sections, - 'active_section' => $active_section + 'active_section' => $active_section, + 'upload_sections' => $upload_sections )); break; diff --git a/mod/embed/views/default/embed/embed.php b/mod/embed/views/default/embed/embed.php index 4a14543d3..70241609b 100644 --- a/mod/embed/views/default/embed/embed.php +++ b/mod/embed/views/default/embed/embed.php @@ -9,8 +9,9 @@ * @uses string $vars['active_section'] Currently selected section_id */ -$sections = (isset($vars['sections'])) ? $vars['sections'] : array(); -$active_section = (isset($vars['active_section'])) ? $vars['active_section'] : array_shift(array_keys($sections)); +$sections = elgg_get_array_value('sections', $vars, array()); +$active_section = elgg_get_array_value('active_section', $vars, array_shift(array_keys($sections))); +$upload_sections = elgg_get_array_value('upload_sections', $vars, array()); if (!$sections) { $content = elgg_echo('embed:no_sections'); @@ -38,11 +39,21 @@ if (!$sections) { $tabs[] = $tab; } + // make sure upload is always the last tab + if ($upload_sections) { + $tabs[] = array( + 'title' => elgg_echo('embed:upload'), + 'url' => '#', + 'url_class' => 'embed_section', + 'url_js' => 'id="upload"', + ); + } + $tabs_html = elgg_view('navigation/tabs', array('tabs' => $tabs)); $content .= $tabs_html; // build the items and layout. - if (array_key_exists($active_section, $sections)) { + if ($section != 'upload' || array_key_exists($active_section, $sections)) { $section_info = $sections[$active_section]; $layout = isset($section_info['layout']) ? $section_info['layout'] : 'list'; @@ -51,7 +62,8 @@ if (!$sections) { //'subtype' => $subtype, 'offset' => $offset, 'limit' => $limit, - 'section' => $active_section + 'section' => $active_section, + 'upload_sections' => $upload_sections ); // allow full override for this section @@ -99,7 +111,6 @@ if (!$sections) { } else { $content .= elgg_echo('embed:invalid_section'); } - } echo $content; ?> diff --git a/mod/embed/views/default/embed/upload/content.php b/mod/embed/views/default/embed/upload/content.php new file mode 100644 index 000000000..089e417c5 --- /dev/null +++ b/mod/embed/views/default/embed/upload/content.php @@ -0,0 +1,47 @@ +<?php +/** + * Special upload form for + */ +$upload_sections = elgg_get_array_value('upload_sections', $vars, array()); +$active_section = get_input('active_upload_section', array_shift(array_keys($upload_sections))); + +$options = array(); + +if ($upload_sections) { + foreach ($upload_sections as $id => $info) { + $options[$id] = $info['name']; + } + + $input = elgg_view('input/pulldown', array( + 'name' => 'download_section', + 'options_values' => $options, + 'internalid' => 'embed_upload', + 'value' => $active_section + )); + + echo "<p>$input</p>"; + + if (!$upload_content = elgg_view($upload_sections[$active_section]['view'])) { + $upload_content = elgg_echo('embed:no_upload_content'); + } + + echo $upload_content; + +?> + <script type="text/javascript"> + $(document).ready(function() { + + // change for pulldown + $('#embed_upload').change(function() { + var upload_section = $(this).val(); + var url = '<?php echo $vars['url']; ?>pg/embed/embed?active_section=upload&active_upload_section=' + upload_section; + $('#facebox .body .content').load(url); + }); + + }); + </script> +<?php + +} else { + echo elgg_echo('embed:no_upload_sections'); +} |