diff options
Diffstat (limited to 'mod/embed/views')
-rw-r--r-- | mod/embed/views/default/embed/css.php | 270 | ||||
-rw-r--r-- | mod/embed/views/default/embed/embed.php | 45 | ||||
-rw-r--r-- | mod/embed/views/default/embed/item.php | 39 | ||||
-rw-r--r-- | mod/embed/views/default/embed/layout.php | 30 | ||||
-rw-r--r-- | mod/embed/views/default/embed/list.php | 58 | ||||
-rw-r--r-- | mod/embed/views/default/embed/tabs.php | 40 | ||||
-rw-r--r-- | mod/embed/views/default/group/default/embed.php | 5 | ||||
-rw-r--r-- | mod/embed/views/default/js/embed/embed.php | 56 | ||||
-rw-r--r-- | mod/embed/views/default/navigation/menu/embed.php | 18 | ||||
-rw-r--r-- | mod/embed/views/default/object/default/embed.php | 6 | ||||
-rw-r--r-- | mod/embed/views/default/object/file/embed.php | 16 | ||||
-rw-r--r-- | mod/embed/views/default/object/file/embedlist.php | 11 | ||||
-rw-r--r-- | mod/embed/views/default/site/default/embed.php | 5 | ||||
-rw-r--r-- | mod/embed/views/default/user/default/embed.php | 5 |
14 files changed, 174 insertions, 430 deletions
diff --git a/mod/embed/views/default/embed/css.php b/mod/embed/views/default/embed/css.php index 150dc8733..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: 5px; + margin: 20px 15px; } .embed-wrapper h2 { color: #333333; @@ -28,270 +28,10 @@ .embed-wrapper p { color: #333; } -.embed-wrapper .elgg-image-block:hover { - background-color: #eee; -} -<?php -return true; -?> -/*************** - Form -******************/ -/* input field classes */ -.embed-wrapper .elgg-input-text, -.embed-wrapper .elgg-input-tags { - font: 120% Arial, Helvetica, sans-serif; - padding: 5px; - border: 1px solid #ccc; - color:#666; - background-color: white; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.embed-wrapper .elgg-input-text:focus, -.embed-wrapper .elgg-input-tags:focus { - border: solid 1px #4690d6; - background: #e4ecf5; - color:#333; -} -.embed-wrapper .elgg-input-file { - background-color: white; -} - -.embed-wrapper label { - color:#333; -} - - - - -#facebox { - position: absolute; - top: 0; - left: 0; - z-index: 10000; - text-align: left; -} -#facebox .popup { - position: relative; -} -#facebox .body { - padding: 10px 15px 20px 15px; - background-color: white; - width: 730px; - min-height:400px; - - -webkit-border-radius: 8px; - -moz-border-radius: 8px; - border-radius: 8px; -} -#facebox .loading { - text-align: center; - padding: 100px 10px 100px 10px; -} -#facebox .image { - text-align: center; -} -#facebox .footer { - float: right; - width:22px; - height:22px; - margin:-4px 0 0 0; - padding:0; -} -#facebox .footer img.close_image { - background: url(<?php echo elgg_get_site_url(); ?>mod/embed/images/close_button.gif) no-repeat left top; -} -#facebox .footer img.close_image:hover { - background: url(<?php echo elgg_get_site_url(); ?>mod/embed/images/close_button.gif) no-repeat left -31px; -} -#facebox_overlay { - position: fixed; - top: 0px; - left: 0px; - height:100%; - width:100%; -} -.facebox_hide { - z-index:-100; -} -.facebox_overlayBG { - background-color: #000; - z-index: 9999; -} -* html #facebox_overlay { /* ie6 hack */ - position: absolute; - height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); -} - -#facebox .body .content h2 { - color:#333333; -} - - -/* embeded content links */ -.embeded_file.link { - display: inline; - margin-right: 5px; - padding-left: 14px; - background-repeat: no-repeat; - - -webkit-background-size: 12px 16px; - -moz-background-size: 12px 16px; - background-size: 12px 16px; -} - -/* entity listings */ -.embed_data .elgg-image img { - cursor: pointer; -} -.embed_data .elgg-image-block { - border-bottom:none; -} -.embed_modal_videolist .elgg-image img { - width:75px; - height:auto; -} -.embed_modal_document .embed_data .elgg-body { - margin-top:0; - margin-left:7px; -} -.embed_modal_tidypics .embed_data .elgg-body { - margin-top:11px; +.embed-item { + padding-left: 5px; + padding-right: 5px; } -.embed_modal_file .embed_data .elgg-body { - margin-top:0px; - margin-left:9px; -} -.embed_data .elgg-body { - width:auto; - margin-top:15px; - margin-left:15px; -} -.embed_data .elgg-image-block { - cursor:pointer; -} - -/* input field classes */ -#facebox .content .elgg-input-text, -#facebox .content .elgg-input-tags { - font: 120% Arial, Helvetica, sans-serif; - padding: 5px; - border: 1px solid #ccc; - color:#666; - background-color: white; - - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -#facebox .content .elgg-input-text:focus, -#facebox .content .elgg-input-tags:focus { - border: solid 1px #4690d6; - background: #e4ecf5; - color:#333; -} -#facebox .content .elgg-input-file { - background-color: white; -} -#facebox .content p { - color:#333; -} -#facebox .content p.entity-title { - color:#666; -} -#facebox .content .elgg-image-block:hover { +.embed-item:hover { background-color: #eee; } -#facebox .content label { - color:#333; -} - - -/* *************************************** - ELGG TABBED PAGE NAVIGATION -*************************************** */ -#facebox .body .elgg-tabs { - margin-bottom:5px; - padding: 0; - border-bottom: 2px solid #ccc; - display:table; - width:100%; -} -#facebox .body .elgg-tabs ul { - list-style: none; - padding: 0; - margin: 0; -} -#facebox .body .elgg-tabs li { - float: left; - border: 2px solid #ccc; - border-bottom-width: 0; - background: #eee; - margin: 0 0 0 10px; - - -webkit-border-radius:5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-raidus: 5px 5px 0 0; -} -#facebox .body .elgg-tabs a { - text-decoration: none; - display: block; - padding:3px 10px 0 10px; - text-align: center; - height:21px; - color:#999; -} -#facebox .body .elgg-tabs a:hover { - background: #dedede; - color:#666; -} -#facebox .body .elgg-tabs .selected { - border-color: #ccc; - background: white; -} -#facebox .body .elgg-tabs .selected a { - position: relative; - top: 2px; - background: white; -} - - - -/* Pagination (override core elgg css defaults) */ -#facebox .body .pagination { - float:right; -} -#facebox .body .pagination .pagination-number { - border:1px solid #999; - color:#666; -} -#facebox .body .pagination .pagination-number:hover { - background-color:#aaa; - color:black; -} -#facebox .body .pagination .pagination-previous, -#facebox .body .pagination .pagination-next { - border:1px solid #999; - color:#666; -} -#facebox .body .pagination .pagination-previous:hover, -#facebox .body .pagination .pagination-next:hover { - background-color:#aaa; - color:black; -} -#facebox .body .pagination .pagination-currentpage { - background-color:#666; - border:1px solid #666; - color:white; -}
\ No newline at end of file diff --git a/mod/embed/views/default/embed/embed.php b/mod/embed/views/default/embed/embed.php deleted file mode 100644 index 2bd329690..000000000 --- a/mod/embed/views/default/embed/embed.php +++ /dev/null @@ -1,45 +0,0 @@ -<?php -/** - * Embed landing page - * - * @todo Yes this is a lot of logic for a view. A good bit of it can be moved - * to the page handler - * - * @uses string $vars['sections'] Array of section_id => Section Display Name - * @uses string $vars['active_section'] Currently selected section_id - */ - -$sections = elgg_extract('sections', $vars, array()); -$active_section = elgg_extract('active_section', $vars, array_shift(array_keys($sections)), false); -$upload_sections = elgg_extract('upload_sections', $vars, array()); - -if (!$sections) { - $content = elgg_echo('embed:no_sections'); -} else { - $content = elgg_view_title(elgg_echo('embed:media')); - $content .= elgg_view('embed/tabs', $vars); - - $offset = (int)max(0, get_input('offset', 0)); - $limit = (int)get_input('limit', 5); - - // find the view to display - // @todo make it so you don't have to manually create views for each page - $view = "embed/$active_section/content"; - - $section_content = elgg_view($view, $vars); - - // build the items and layout. - if ($section_content) { - $content .= $section_content; - } else { - $content .= elgg_echo('embed:no_section_content'); - } -} - -echo '<div class="embed-wrapper">' . $content . '</div>'; - -if (isset($js)) { - echo '<script type="text/javascript">'; - echo $js; - echo '</script>'; -} diff --git a/mod/embed/views/default/embed/item.php b/mod/embed/views/default/embed/item.php new file mode 100644 index 000000000..3060de879 --- /dev/null +++ b/mod/embed/views/default/embed/item.php @@ -0,0 +1,39 @@ +<?php +/** + * Embeddable content list item view + * + * @uses $vars['entity'] ElggEntity object + */ + +$entity = $vars['entity']; + +$title = $entity->title; +if (!$title) { + $title = $entity->name; +} + +// different entity types have different title attribute names. +$title = isset($entity->name) ? $entity->name : $entity->title; +// don't let it be too long +$title = elgg_get_excerpt($title); + +$owner = $entity->getOwnerEntity(); +if ($owner) { + $author_text = elgg_echo('byline', array($owner->name)); + $date = elgg_view_friendly_time($entity->time_created); + $subtitle = "$author_text $date"; +} else { + $subtitle = ''; +} + +$params = array( + 'title' => $title, + 'entity' => $entity, + 'subtitle' => $subtitle, + 'tags' => FALSE, +); +$body = elgg_view('object/elements/summary', $params); + +$image = elgg_view_entity_icon($entity, 'small', array('link_class' => 'embed-insert')); + +echo elgg_view_image_block($image, $body); diff --git a/mod/embed/views/default/embed/layout.php b/mod/embed/views/default/embed/layout.php new file mode 100644 index 000000000..c1e43f13c --- /dev/null +++ b/mod/embed/views/default/embed/layout.php @@ -0,0 +1,30 @@ +<?php +/** + * Layout of embed panel loaded in lightbox + */ + +$title = elgg_view_title(elgg_echo('embed:media')); + +$menu = elgg_view_menu('embed'); + +$selected = elgg_get_config('embed_tab'); +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 +<div class="embed-wrapper"> + $title + $menu + $tab +</div> +HTML; diff --git a/mod/embed/views/default/embed/list.php b/mod/embed/views/default/embed/list.php new file mode 100644 index 000000000..c13639cff --- /dev/null +++ b/mod/embed/views/default/embed/list.php @@ -0,0 +1,58 @@ +<?php +/** + * View a list of embeddable items + * + * @package Elgg + * + * @uses $vars['items'] Array of ElggEntity objects + * @uses $vars['offset'] Index of the first list item in complete list + * @uses $vars['limit'] Number of items per page + * @uses $vars['count'] Number of items in the complete list + * + * @uses $vars['list_class'] Additional CSS class for the <ul> element + * @uses $vars['item_class'] Additional CSS class for the <li> elements + */ + +$items = $vars['items']; +$offset = $vars['offset']; +$limit = $vars['limit']; +$count = $vars['count']; + +$offset_key = elgg_extract('offset_key', $vars, 'offset'); + +$list_class = 'elgg-list'; +if (isset($vars['list_class'])) { + $list_class = "$list_class {$vars['list_class']}"; +} + +$item_class = 'elgg-item'; +if (isset($vars['item_class'])) { + $item_class = "$item_class {$vars['item_class']}"; +} + +$html = ""; +$nav = ""; + +if ($count) { + $nav .= elgg_view('navigation/pagination', array( + 'offset' => $offset, + 'count' => $count, + 'limit' => $limit, + 'offset_key' => $offset_key, + )); +} + +if (is_array($items) && count($items) > 0) { + $html .= "<ul class=\"$list_class\">"; + foreach ($items as $item) { + $id = "elgg-{$item->getType()}-{$item->getGUID()}"; + $html .= "<li id=\"$id\" class=\"$item_class\">"; + $html .= elgg_view('embed/item', array('entity' => $item)); + $html .= '</li>'; + } + $html .= '</ul>'; +} + +$html .= $nav; + +echo $html; diff --git a/mod/embed/views/default/embed/tabs.php b/mod/embed/views/default/embed/tabs.php deleted file mode 100644 index 3f377fee5..000000000 --- a/mod/embed/views/default/embed/tabs.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php -/** - * Embed tabs - * - * @uses $vars['sections'] - * @uses $vars['upload_sections'] - * @uses $vars['actibe_section'] - */ - -$sections = elgg_extract('sections', $vars, array()); -$active_section = elgg_extract('active_section', $vars, array_shift(array_keys($sections))); -$upload_sections = elgg_extract('upload_sections', $vars, array()); - -$tabs = array(); -foreach ($sections as $section_id => $section_info) { - $tab = array( - 'title' => $section_info['name'], - 'url' => '#', - 'url_class' => 'embed-section', - 'url_id' => $section_id, - ); - - if ($section_id == $active_section) { - $tab['selected'] = TRUE; - } - $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_id' => 'upload', - 'selected' => ($active_section == 'upload') - ); -} - -echo elgg_view('navigation/tabs', array('tabs' => $tabs)); diff --git a/mod/embed/views/default/group/default/embed.php b/mod/embed/views/default/group/default/embed.php deleted file mode 100644 index bf51f0a7d..000000000 --- a/mod/embed/views/default/group/default/embed.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php - if ($vars['entity'] instanceof ElggGroup) { - echo '<a href="'. $vars['entity']->getURL() .'">' . $vars['entity']->name . '</a>'; - } -?>
\ No newline at end of file diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index e9e08f9a0..8a8f0290c 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -1,10 +1,9 @@ -//<script> elgg.provide('elgg.embed'); elgg.embed.init = function() { // inserts the embed content into the textarea - $(".embed_data").live('click', elgg.embed.insert); + $(".embed-item").live('click', elgg.embed.insert); // caches the current textarea id $(".embed-control").live('click', function() { @@ -15,33 +14,40 @@ elgg.embed.init = function() { }); // special pagination helper for lightbox - $('.embed-wrapper .elgg-pagination a').live('click', elgg.embed.pagination); + $('.embed-wrapper .elgg-pagination a').live('click', elgg.embed.forward); - $('.embed-section').live('click', elgg.embed.loadTab); + $('.embed-section').live('click', elgg.embed.forward); - $('.embed-upload .elgg-form').live('submit', elgg.embed.submit); -} + $('.elgg-form-embed').live('submit', elgg.embed.submit); +}; /** * Inserts data attached to an embed list item in textarea * - * @todo generalize lightbox closing and wysiwyg refreshing + * @todo generalize lightbox closing * * @param {Object} event * @return void */ elgg.embed.insert = function(event) { var textAreaId = elgg.embed.textAreaId; + var textArea = $('#' + textAreaId); - var content = $(this).data('embed_code'); - $('#' + textAreaId).val($('#' + textAreaId).val() + ' ' + content + ' '); - - <?php echo elgg_view('embed/custom_insert_js'); ?> + // generalize this based on a css class attached to what should be inserted + var content = ' ' + $(this).find(".embed-insert").parent().html() + ' '; + + textArea.val(textArea.val() + content); + textArea.focus(); + +<?php +// See the TinyMCE plugin for an example of this view +echo elgg_view('embed/custom_insert_js'); +?> $.fancybox.close(); event.preventDefault(); -} +}; /** * Submit an upload form through Ajax @@ -67,9 +73,8 @@ elgg.embed.submit = function(event) { elgg.system_message(response.system_messages.success); } if (response.status >= 0) { - // @todo - really this should forward to what the registered defined - // For example, forward to images tab if an image was uploaded - var url = elgg.config.wwwroot + 'embed/embed?active_section=file'; + var forward = $('input[name=embed_forward]').val(); + var url = elgg.normalize_url('embed/tab/' + forward); $('.embed-wrapper').parent().load(url); } } @@ -79,30 +84,17 @@ elgg.embed.submit = function(event) { // this was bubbling up the DOM causing a submission event.preventDefault(); event.stopPropagation(); -} +}; /** - * Loads the next chunk of content within the lightbox + * Loads content within the lightbox * * @param {Object} event * @return void */ -elgg.embed.pagination = function(event) { +elgg.embed.forward = function(event) { $('.embed-wrapper').parent().load($(this).attr('href')); event.preventDefault(); -} - -/** - * Loads an embed tab - * - * @param {Object} event - * @return void - */ -elgg.embed.loadTab = function(event) { - var section = $(this).attr('id'); - var url = elgg.config.wwwroot + 'embed/embed?active_section=' + section; - $('.embed-wrapper').parent().load(url); - event.preventDefault(); -} +}; elgg.register_hook_handler('init', 'system', elgg.embed.init); diff --git a/mod/embed/views/default/navigation/menu/embed.php b/mod/embed/views/default/navigation/menu/embed.php new file mode 100644 index 000000000..1a6a18f05 --- /dev/null +++ b/mod/embed/views/default/navigation/menu/embed.php @@ -0,0 +1,18 @@ +<?php +/** + * Embed tabs + * + * @uses $vars['menu']['default'] + */ + +$tabs = array(); +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/embed/views/default/object/default/embed.php b/mod/embed/views/default/object/default/embed.php deleted file mode 100644 index aca2ceea1..000000000 --- a/mod/embed/views/default/object/default/embed.php +++ /dev/null @@ -1,6 +0,0 @@ -<?php - -if ($vars['entity'] instanceof ElggObject) { - $title = htmlspecialchars($vars['entity']->title, ENT_QUOTES); - echo "<a href=\"{$vars['entity']->getURL()}\">$title</a>"; -} diff --git a/mod/embed/views/default/object/file/embed.php b/mod/embed/views/default/object/file/embed.php deleted file mode 100644 index b93c46e5e..000000000 --- a/mod/embed/views/default/object/file/embed.php +++ /dev/null @@ -1,16 +0,0 @@ -<?php - $mime = $vars['entity']->mimetype; - - if (elgg_view_exists('file/specialcontent/' . $mime)) { - $content = elgg_view('file/specialcontent/' . $mime, $vars); - } else if (elgg_view_exists("file/specialcontent/" . substr($mime,0,strpos($mime,'/')) . "/default")) { - $content = elgg_view("file/specialcontent/" . substr($mime,0,strpos($mime,'/')) . "/default", $vars); - } - - if (empty($content) || substr_count(strtolower($content),'<embed') || substr_count(strtolower($content),'<object') || substr_count(strtolower($content),'<script')) { - echo elgg_view('object/default/embed',$vars); - } else { - echo $content; - } - -?>
\ No newline at end of file diff --git a/mod/embed/views/default/object/file/embedlist.php b/mod/embed/views/default/object/file/embedlist.php deleted file mode 100644 index 5a3163e4c..000000000 --- a/mod/embed/views/default/object/file/embedlist.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - $file = $vars['entity']; - $friendlytime = elgg_view_friendly_time($vars['entity']->time_created); - - $info = "<p class='entity-title'> <a href=\"{$file->getURL()}\">{$file->title}</a></p>"; - $info .= "<p class='elgg-subtitle'>{$friendlytime}"; - $icon = "<a href=\"{$file->getURL()}\">" . elgg_view("file/icon", array("mimetype" => $file->mimetype, 'thumbnail' => $file->thumbnail, 'file_guid' => $file->guid, 'size' => 'small')) . "</a>"; -?> -<div id="embed_entity_<?php echo $file->guid; ?>"> - <?php echo elgg_view_image_block($icon, $info); ?> -</div> diff --git a/mod/embed/views/default/site/default/embed.php b/mod/embed/views/default/site/default/embed.php deleted file mode 100644 index 2e8920a9a..000000000 --- a/mod/embed/views/default/site/default/embed.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php - if ($vars['entity'] instanceof ElggSite) { - echo '<a href="'. $vars['entity']->getURL() .'">' . $vars['entity']->name . '</a>'; - } -?>
\ No newline at end of file diff --git a/mod/embed/views/default/user/default/embed.php b/mod/embed/views/default/user/default/embed.php deleted file mode 100644 index df538c94c..000000000 --- a/mod/embed/views/default/user/default/embed.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php - if ($vars['entity'] instanceof ElggUser) { - echo '<a href="'. $vars['entity']->getURL() .'">' . $vars['entity']->name . '</a>'; - } -?>
\ No newline at end of file |