From 146c55ddd745be06f6206e70884cb9e430ba6231 Mon Sep 17 00:00:00 2001 From: Brett Profitt Date: Sat, 27 Aug 2011 18:54:13 -0700 Subject: Fixes #2911. Embed plugins works again. Added menu for embed sections. This plugin is painfully messy. --- mod/embed/languages/en.php | 2 + mod/embed/start.php | 37 ++++++++++--- mod/embed/views/default/embed/embed.php | 59 ++++----------------- mod/embed/views/default/embed/item/gallery.php | 54 ------------------- mod/embed/views/default/embed/item/list.php | 63 ----------------------- mod/embed/views/default/embed/layouts/gallery.php | 10 ---- mod/embed/views/default/embed/layouts/list.php | 10 ---- mod/embed/views/default/embed/upload/content.php | 41 --------------- mod/embed/views/default/js/embed/embed.php | 5 +- mod/embed/views/default/js/embed/inline.php | 26 ---------- 10 files changed, 43 insertions(+), 264 deletions(-) delete mode 100644 mod/embed/views/default/embed/item/gallery.php delete mode 100644 mod/embed/views/default/embed/item/list.php delete mode 100644 mod/embed/views/default/embed/layouts/gallery.php delete mode 100644 mod/embed/views/default/embed/layouts/list.php delete mode 100644 mod/embed/views/default/embed/upload/content.php delete mode 100644 mod/embed/views/default/js/embed/inline.php (limited to 'mod/embed') diff --git a/mod/embed/languages/en.php b/mod/embed/languages/en.php index f3a49e38b..287d34ca1 100644 --- a/mod/embed/languages/en.php +++ b/mod/embed/languages/en.php @@ -15,6 +15,8 @@ $english = array( // messages 'embed:no_upload_content' => 'No upload content!', 'embed:no_section_content' => 'No items found.', + + 'embed:no_sections' => 'No supported embed plugins found. Ask the site administrator to enabled a plugin with embed support.', ); add_translation("en", $english); \ No newline at end of file diff --git a/mod/embed/start.php b/mod/embed/start.php index bdd832b4e..6c26163e9 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -74,13 +74,34 @@ function embed_page_handler($page) { // listing // item // default to embed/listing | item if not found. - // @todo trigger for all right now. If we categorize these later we can trigger - // for certain categories. - $sections = elgg_trigger_plugin_hook('embed_get_sections', 'all', NULL, array()); - $upload_sections = elgg_trigger_plugin_hook('embed_get_upload_sections', 'all', NULL, array()); - - elgg_sort_3d_array_by_value($sections, 'name'); - elgg_sort_3d_array_by_value($upload_sections, 'name'); + + // @todo the menu system is good for registering and sorting, but not great for + // displaying tabs. + // Pulling in the menu manually and passing it through the embed/tabs view. + // We should work on making it easier to use tabs through the menu system, then fix + // this mess. + $menus = get_config('menus'); + $menu = $menus['embed:sections']; + + $sections = array(); + $upload_sections = array(); + + foreach ($menu as $item) { + switch ($item->section) { + case 'upload': + $upload_sections[$item->getName()] = array( + 'name' => $item->getText(), + ); + break; + + default: + $sections[$item->getName()] = array( + 'name' => $item->getText(), + ); + break; + } + } + $active_section = get_input('active_section', ''); $active_section = preg_replace('[\W]', '', $active_section); $internal_id = get_input('internal_id', ''); @@ -97,4 +118,4 @@ function embed_page_handler($page) { // exit because this is in a modal display. exit; -} +} \ No newline at end of file diff --git a/mod/embed/views/default/embed/embed.php b/mod/embed/views/default/embed/embed.php index 2d8de1ca4..2bd329690 100644 --- a/mod/embed/views/default/embed/embed.php +++ b/mod/embed/views/default/embed/embed.php @@ -12,7 +12,6 @@ $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()); -$internal_id = elgg_extract('internal_id', $vars); if (!$sections) { $content = elgg_echo('embed:no_sections'); @@ -23,57 +22,17 @@ if (!$sections) { $offset = (int)max(0, get_input('offset', 0)); $limit = (int)get_input('limit', 5); - // build the items and layout. - if ($active_section == 'upload' || array_key_exists($active_section, $sections)) { - $section_info = $sections[$active_section]; - $layout = isset($section_info['layout']) ? $section_info['layout'] : 'list'; - - $params = array( - 'offset' => $offset, - 'limit' => $limit, - 'section' => $active_section, - 'upload_sections' => $upload_sections, - 'internal_id' => $internal_id - ); - - // allow full override for this section - // check for standard hook - if ($section_content = elgg_view("embed/$active_section/content", $params)) { - // handles its own pagination - $content .= $section_content; - } else { - // see if anyone has any items to display for the active section - $result = array('items' => array(), 'count' => 0); - $embed_info = elgg_trigger_plugin_hook('embed_get_items', $active_section, $params, $result); + // 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); - // do we use default view or has someone defined "embed/$active_section/item/$layout" - $view = "embed/$active_section/item/$layout"; - if (!elgg_view_exists($view)) { - $view = "embed/item/$layout"; - } - - if (!isset($embed_info['items']) || !is_array($embed_info['items']) || !count($embed_info['items'])) { - $content .= elgg_echo('embed:no_section_content'); - } else { - - elgg_push_context('widgets'); - $content .= elgg_view_entity_list($embed_info['items'], array( - 'full_view' => false, - 'count' => $embed_info['count'], - 'pagination' => true, - 'position' => 'before', - 'offset' => $offset, - 'limit' => $limit, - )); - elgg_pop_context(); - - $js = elgg_view('js/embed/inline', array( - 'items' => $embed_info['items'], - )); - } - } + // build the items and layout. + if ($section_content) { + $content .= $section_content; } else { - $content .= elgg_echo('embed:invalid_section'); + $content .= elgg_echo('embed:no_section_content'); } } diff --git a/mod/embed/views/default/embed/item/gallery.php b/mod/embed/views/default/embed/item/gallery.php deleted file mode 100644 index daee8ee94..000000000 --- a/mod/embed/views/default/embed/item/gallery.php +++ /dev/null @@ -1,54 +0,0 @@ -name) ? $item->name : $item->title; -// don't let it be too long -$title = elgg_get_excerpt($title); - -// @todo you can disable plugins that are required by other plugins -// (embed requires ecml) so fallback to a hard-coded check to see if ecml is enabled. -// #grumble -if ($ecml_keyword) { - $embed_code = "[$ecml_keyword guid={$item->getGUID()}]"; -} else { - // fallback to inserting a hard link to the object with its icon - $icon = "getIcon($icon_size)}\" />" . htmlentities($title, ENT_QUOTES, 'UTF-8'); - - $embed_code = elgg_view('output/url', array( - 'href' => $item->getURL(), - 'title' => $title, - 'text' => $title, - 'encode_text' => FALSE - )); -} - -$icon = "getIcon($icon_size)}\" />"; -$info = htmlentities($title, ENT_QUOTES, 'UTF-8'); - -$listing = elgg_view('entities/gallery_listing', array('icon' => $icon, 'info' => $info)); - -// @todo JS 1.8: no -echo "
getGUID()}\">$listing
"; -echo ""; \ No newline at end of file diff --git a/mod/embed/views/default/embed/item/list.php b/mod/embed/views/default/embed/item/list.php deleted file mode 100644 index 89a2ffb63..000000000 --- a/mod/embed/views/default/embed/item/list.php +++ /dev/null @@ -1,63 +0,0 @@ -getOwnerEntity(); - -// @todo add entity checking. - -// different entity types have different title attribute names. -$title = isset($item->name) ? $item->name : $item->title; -// don't let it be too long -$title = elgg_get_excerpt($title); - -$author_text = elgg_echo('byline', array($owner->name)); -$date = elgg_view_friendly_time($item->time_created); - -$subtitle = "$author_text $date"; - -// @todo you can disable plugins that are required by other plugins -// (embed requires ecml) so fallback to a hard-coded check to see if ecml is enabled. -// #grumble -if ($ecml_keyword) { - $embed_code = "[$ecml_keyword guid={$item->getGUID()}]"; -} else { - // fallback to inserting a hard link to the object with its icon - $icon = "getIcon($icon_size)}\" />" . htmlentities($title, ENT_QUOTES, 'UTF-8'); - - $embed_code = elgg_view('output/url', array( - 'href' => $item->getURL(), - 'title' => $title, - 'text' => $icon, - 'encode_text' => FALSE - )); -} - -$item_icon = elgg_view_entity_icon($item, $icon_size); - -$params = array( - 'title' => $title, - 'entity' => $item, - 'subtitle' => $subtitle, - 'tags' => FALSE, -); -$list_body = elgg_view('object/elements/summary', $params); - -// @todo JS 1.8: is this approach better than inline js? -echo "
getGUID()}\">" . elgg_view_image_block($item_icon, $list_body) . '
'; -echo ""; \ No newline at end of file diff --git a/mod/embed/views/default/embed/layouts/gallery.php b/mod/embed/views/default/embed/layouts/gallery.php deleted file mode 100644 index 70b6d33a5..000000000 --- a/mod/embed/views/default/embed/layouts/gallery.php +++ /dev/null @@ -1,10 +0,0 @@ -" . elgg_extract('content', $vars, '') . ""; diff --git a/mod/embed/views/default/embed/layouts/list.php b/mod/embed/views/default/embed/layouts/list.php deleted file mode 100644 index 5d62e572b..000000000 --- a/mod/embed/views/default/embed/layouts/list.php +++ /dev/null @@ -1,10 +0,0 @@ -" . elgg_extract('content', $vars, '') . ""; \ No newline at end of file diff --git a/mod/embed/views/default/embed/upload/content.php b/mod/embed/views/default/embed/upload/content.php deleted file mode 100644 index 8bedf5ad1..000000000 --- a/mod/embed/views/default/embed/upload/content.php +++ /dev/null @@ -1,41 +0,0 @@ - $info) { - $options[$id] = $info['name']; - } - - $input = elgg_view('input/dropdown', array( - 'name' => 'download_section', - 'options_values' => $options, - 'id' => 'embed_upload', - 'value' => $active_section - )); - - // hack this in for now as we clean up this mess - $form_vars = array( - 'enctype' => 'multipart/form-data', - 'class' => 'elgg-form', - ); - $upload_content = elgg_view_form('file/upload', $form_vars); -/* - if (!$upload_content = elgg_view($upload_sections[$active_section]['view'])) { - $upload_content = elgg_echo('embed:no_upload_content'); - } -*/ - echo "
" . elgg_echo('embed:upload_type') . "$input
"; - echo "
"; - echo $upload_content; - echo "
"; - -} else { - echo elgg_echo('embed:no_upload_sections'); -} diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index ea92ba1fd..5c15cd95a 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -1,9 +1,10 @@ +//"; + } + + echo ''; +} \ No newline at end of file diff --git a/mod/file/views/default/embed/file_upload/content.php b/mod/file/views/default/embed/file_upload/content.php new file mode 100644 index 000000000..13c18f745 --- /dev/null +++ b/mod/file/views/default/embed/file_upload/content.php @@ -0,0 +1,15 @@ + 'multipart/form-data', + 'class' => 'elgg-form', +); +$upload_content = elgg_view_form('file/upload', $form_vars); + +echo "
" . elgg_echo('embed:upload_type') . "$input
"; +echo "
"; +echo $upload_content; +echo "
"; \ No newline at end of file -- cgit v1.2.3 From bd1512222288b99bac3ed7c18e636f33bfc5d2e7 Mon Sep 17 00:00:00 2001 From: Brett Profitt Date: Mon, 12 Sep 2011 10:14:13 -0400 Subject: Refs #3771. Fixed incorrect requires plugin name. --- mod/embed/manifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mod/embed') diff --git a/mod/embed/manifest.xml b/mod/embed/manifest.xml index 4acc66e11..02c012330 100644 --- a/mod/embed/manifest.xml +++ b/mod/embed/manifest.xml @@ -15,7 +15,7 @@ plugin - files + file true advanced -- cgit v1.2.3 From cc23bbddb8f2367f33e6291b13354c4cd98cd97b Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 22 Sep 2011 21:55:25 -0400 Subject: Fixes #3795 not inserting the file title when embeding a file and tweaked css - thanks to slyhne --- mod/embed/views/default/embed/css.php | 2 +- mod/file/views/default/embed/file/content.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mod/embed') diff --git a/mod/embed/views/default/embed/css.php b/mod/embed/views/default/embed/css.php index 150dc8733..5750c05c0 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: 10px; } .embed-wrapper h2 { color: #333333; diff --git a/mod/file/views/default/embed/file/content.php b/mod/file/views/default/embed/file/content.php index 865a158a7..eadcd1a6d 100644 --- a/mod/file/views/default/embed/file/content.php +++ b/mod/file/views/default/embed/file/content.php @@ -31,7 +31,7 @@ if ($count) { $subtitle = "$author_text $date"; - $icon = "getIconURL($icon_size)}\" />" . htmlentities($title, ENT_QUOTES, 'UTF-8'); + $icon = "getIconURL($icon_size)}\" />"; $embed_code = elgg_view('output/url', array( 'href' => $item->getURL(), -- cgit v1.2.3 From 43f82db7fe8cab6b035fb66b307e5466cb5b3aa5 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 24 Sep 2011 22:11:43 -0400 Subject: Fixes #3845 added ie7 css view and tested all current hacks for ie7 --- engine/lib/views.php | 1 + mod/embed/views/default/embed/css.php | 2 +- views/default/css/elements/core.php | 4 - views/default/css/elements/navigation.php | 4 +- views/default/css/ie.php | 119 +----------------------------- views/default/css/ie6.php | 8 +- views/default/css/ie7.php | 49 ++++++++++++ views/default/page/elements/head.php | 6 +- 8 files changed, 61 insertions(+), 132 deletions(-) create mode 100644 views/default/css/ie7.php (limited to 'mod/embed') diff --git a/engine/lib/views.php b/engine/lib/views.php index 9a236508f..3b9448c71 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1553,6 +1553,7 @@ function elgg_views_boot() { elgg_register_simplecache_view('css/elgg'); elgg_register_simplecache_view('css/ie'); elgg_register_simplecache_view('css/ie6'); + elgg_register_simplecache_view('css/ie7'); elgg_register_simplecache_view('js/elgg'); elgg_register_js('jquery', '/vendors/jquery/jquery-1.6.2.min.js', 'head'); diff --git a/mod/embed/views/default/embed/css.php b/mod/embed/views/default/embed/css.php index 5750c05c0..03373da2b 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: 10px; + margin: 15px; } .embed-wrapper h2 { color: #333333; diff --git a/views/default/css/elements/core.php b/views/default/css/elements/core.php index af4a1882a..627cae55c 100644 --- a/views/default/css/elements/core.php +++ b/views/default/css/elements/core.php @@ -98,8 +98,4 @@ position: relative; display: inline-block; - - /* Inline-block: IE 6, 7 */ - zoom: 1; - *display: inline; } diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php index 9386fa27b..bee1312ec 100644 --- a/views/default/css/elements/navigation.php +++ b/views/default/css/elements/navigation.php @@ -98,7 +98,7 @@ .elgg-breadcrumbs > li { display: inline-block; } -.elgg-breadcrumbs > li:after{ +.elgg-breadcrumbs > li:after { content: "\003E"; padding: 0 4px; font-weight: normal; @@ -412,7 +412,7 @@ .elgg-menu-footer > li, .elgg-menu-footer > li > a { display: inline-block; - color:#999; + color: #999; } .elgg-menu-footer > li:after { diff --git a/views/default/css/ie.php b/views/default/css/ie.php index c5edefd4c..d20bb4d59 100644 --- a/views/default/css/ie.php +++ b/views/default/css/ie.php @@ -1,121 +1,4 @@ /** - * CSS for Internet Explorer for versions > ie6 + * CSS for IE8 and above */ -* {zoom: 1;} /* trigger hasLayout in IE */ - -/* site menu drop-down for IE7 */ -.elgg-page-header { - z-index: 1; -} - -.navigation li a:hover ul {display:block; position:absolute; top:21px; left:0;} -.navigation li a:hover ul li a {display:block;} -.navigation li.navigation-more ul li a {width:150px;background-color: #dedede;} - -.clearfix { display: block; } -.hidden.clearfix { display: none; } -#elgg-page-contents {overflow: hidden;} /* remove horizontal scroll on riverdash */ -#breadcrumbs {top:-2px; margin-bottom: 5px;} - -/* entity list views */ -.entity-metadata {max-width: 300px;} -.entity-edit {float:right;} -.access_level {float:left;} -.elgg-image-block .entity-metadata { - min-width:400px; - text-align: right; -} - -/* profile */ -.elgg-tabs.profile .profile_name {margin-left: -260px;} -#profile_content .river_comment_form.hidden .input-text { width:510px; } - -/* notifications */ -.friends-picker-navigation {margin:0;padding:0;} -.friends-picker-container h3 {margin:0;padding:0;line-height: 1em;} - -/* private messages */ -#elgg-topbar-contents a.privatemessages.new span { - display:block; - padding:1px; - position:relative; - text-align:center; - float:left; - top:-1px; - right:auto; -} -#elgg-topbar-contents a.privatemessages.new {padding:0 0 0 20px;} -#elgg-topbar-contents a.privatemessages:hover {background-position:left 2px;} -#elgg-topbar-contents a.privatemessages.new:hover {background-position: left 2px;} - -/* riverdashboard mod rules */ -#riverdashboard_updates {clear:both;} -#riverdashboard_updates a.update_link {margin:0 0 9px 0;} -.riverdashboard_filtermenu {margin:10px 0 0 0;} -.river_comment_form.hidden .input-text { - width:530px; - float:left; -} -.river_link_divider { - width:10px; - text-align: center; -} - -/* shared access */ -.shared_access_collection h2.shared_access_name {margin-top:-15px;} - -/* dropdown login */ -*:first-child+html #login-dropdown #signin-button { - line-height:10px; -} -*:first-child+html #login-dropdown #signin-button a.signin span { - background-position:-150px -54px; -} -*:first-child+html #login-dropdown #signin-button a.signin.menu-open span { - background-position:-150px -74px; -} - -/* Gallery */ -.elgg-gallery-fluid > li { - float: left; - margin: 2px; -} - - -/* navigation */ -.elgg-breadcrumbs > li { - display: inline; -} - -.elgg-breadcrumbs > li > a { - display: inline; - padding-right: 4px; - margin-right: 4px; - border-right: 1px solid #bababa; -} - -.elgg-menu-title > li { - display: block; -} - -.elgg-menu-title > li > a { - display: block; -} - -.elgg-menu-footer > li > a { - display: inline; -} - -.elgg-menu-river > li { - display: inline; -} - -li:hover > .elgg-menu-site-more { - display: none; -} - -/* admin */ -.elgg-menu-footer li { - display: inline; -} \ No newline at end of file diff --git a/views/default/css/ie6.php b/views/default/css/ie6.php index f8ed208f6..cf49d33f2 100644 --- a/views/default/css/ie6.php +++ b/views/default/css/ie6.php @@ -1,15 +1,11 @@ /** - * elgg_layout css for Internet Explorer6 - * @uses $vars['wwwroot'] The site URL -*/ + * CSS for IE6 + */ * {zoom: 1;} /* trigger hasLayout in IE */ /* main nav drop-down */ #elgg-header {z-index:1;} -.navigation li a:hover ul {display:block; position:absolute; top:21px; left:0;} -.navigation li a:hover ul li a {display:block;} -.navigation li.navigation-more ul li a {width:150px;background-color: #dedede;} /* @todo check this one */ .elgg-button-delete a { background-position-y: 2px; } diff --git a/views/default/css/ie7.php b/views/default/css/ie7.php new file mode 100644 index 000000000..91d23823f --- /dev/null +++ b/views/default/css/ie7.php @@ -0,0 +1,49 @@ +/** + * CSS for IE7 + */ + +/* trigger hasLayout in IE */ +* { + zoom: 1; +} + +/* site menu drop-down z-index fix for IE7 */ +.elgg-page-header { + z-index: 1; +} + +/* inline-block fixes */ +.elgg-gallery > li, +.elgg-button, +.elgg-icon, +.elgg-menu-hz > li, +.elgg-menu-hz > li:after, +.elgg-menu-hz > li > a, +.elgg-menu-hz > li > span, +.elgg-breadcrumbs > li, +.elgg-menu-footer > li > a, +.elgg-menu-footer li { + display: inline; +} + +/* IE7 does not support :after */ +.elgg-breadcrumbs > li > a { + display: inline; + padding-right: 4px; + margin-right: 4px; + border-right: 1px solid #bababa; +} +.elgg-menu-footer li, +.elgg-menu-user li { + padding-left: 4px; + padding-right: 4px; +} + +/* longtext menu would not display horizontally without this */ +.elgg-menu-longtext { + width: 100%; +} +.elgg-menu-longtext li { + width: 100px; + float: right; +} diff --git a/views/default/page/elements/head.php b/views/default/page/elements/head.php index 8776f07a7..e968e95ce 100644 --- a/views/default/page/elements/head.php +++ b/views/default/page/elements/head.php @@ -48,11 +48,15 @@ $release = get_version(true); - + -- cgit v1.2.3