diff --git a/engine/lib/navigation.php b/engine/lib/navigation.php index 118a7214c8f..70e374af298 100644 --- a/engine/lib/navigation.php +++ b/engine/lib/navigation.php @@ -358,7 +358,7 @@ function elgg_river_menu_setup($hook, $type, $return, $params) { 'href' => "#comments-add-$object->guid", 'text' => elgg_view_icon('speech-bubble'), 'title' => elgg_echo('comment:this'), - 'rel' => 'toggle', + 'class' => 'elgg-toggle', 'priority' => 50, ); $return[] = ElggMenuItem::factory($options); @@ -444,8 +444,7 @@ function elgg_widget_menu_setup($hook, $type, $return, $params) { 'name' => 'collapse', 'text' => ' ', 'href' => "#elgg-widget-content-$widget->guid", - 'class' => 'elgg-widget-collapse-button', - 'rel' => 'toggle', + 'class' => 'elgg-widget-collapse-button elgg-toggle', 'priority' => 1 ); $return[] = ElggMenuItem::factory($collapse); @@ -469,8 +468,7 @@ function elgg_widget_menu_setup($hook, $type, $return, $params) { 'text' => elgg_view_icon('settings-alt'), 'title' => elgg_echo('widget:edit'), 'href' => "#widget-edit-$widget->guid", - 'class' => "elgg-widget-edit-button", - 'rel' => 'toggle', + 'class' => "elgg-widget-edit-button elgg-toggle", 'priority' => 800, ); $return[] = ElggMenuItem::factory($edit); diff --git a/js/lib/ui.js b/js/lib/ui.js index f7ebcca5bf9..a7a812c28c1 100644 --- a/js/lib/ui.js +++ b/js/lib/ui.js @@ -12,9 +12,9 @@ elgg.ui.init = function () { $('.elgg-system-messages li').animate({opacity: 0.9}, 6000); $('.elgg-system-messages li.elgg-state-success').fadeOut('slow'); - $('[rel=toggle]').live('click', elgg.ui.toggles); + $('.elgg-toggle').live('click', elgg.ui.toggles); - $('[rel=popup]').live('click', elgg.ui.popupOpen); + $('.elgg-popup').live('click', elgg.ui.popupOpen); $('.elgg-menu-page .elgg-menu-parent').live('click', elgg.ui.toggleMenu); @@ -26,8 +26,8 @@ elgg.ui.init = function () { /** * Toggles an element based on clicking a separate element * - * Use rel="toggle" on the toggler element - * Set the href to target the item you want to toggle () + * Use class="elgg-toggle" on the toggler element + * Set the href to target the item you want to toggle () * * @param {Object} event * @return void @@ -44,8 +44,8 @@ elgg.ui.toggles = function(event) { /** * Pops up an element based on clicking a separate element * - * Set the rel="popup" on the popper and set the href to target the - * item you want to toggle () + * Set the class="elgg-popup" on the popper and set the href to target the + * item you want to toggle () * * This function emits the getOptions, ui.popup hook that plugins can register for to provide custom * positioning for elements. The handler is passed the following params: @@ -109,7 +109,7 @@ elgg.ui.popupOpen = function(event) { elgg.ui.popupClose = function(event) { $eventTarget = $(event.target); var inTarget = false; - var $popups = $('[rel=popup]'); + var $popups = $('.elgg-popup'); // if the click event target isn't in a popup target, fade all of them out. $popups.each(function(i, e) { @@ -220,7 +220,7 @@ elgg.ui.initHoverMenu = function(parent) { * @return void */ elgg.ui.requiresConfirmation = function(e) { - var confirmText = $(this).attr('rel') || elgg.echo('question:areyousure'); + var confirmText = $(this).data('confirm') || elgg.echo('question:areyousure'); if (!confirm(confirmText)) { e.preventDefault(); } diff --git a/mod/developers/views/default/theme_preview/miscellaneous.php b/mod/developers/views/default/theme_preview/miscellaneous.php index 2f4ee4acda3..45da75655c8 100644 --- a/mod/developers/views/default/theme_preview/miscellaneous.php +++ b/mod/developers/views/default/theme_preview/miscellaneous.php @@ -7,10 +7,10 @@ echo elgg_view_module('info', 'Lightbox (.elgg-lightbox)', $body); $body = elgg_view('theme_preview/miscellaneous/popup'); -echo elgg_view_module('info', 'Popup (rel=popup)', $body); +echo elgg_view_module('info', 'Popup (.elgg-popup)', $body); $body = elgg_view('theme_preview/miscellaneous/toggle'); -echo elgg_view_module('info', 'Toggle (rel=toggle)', $body); +echo elgg_view_module('info', 'Toggle (.elgg-toggle)', $body); $body = elgg_view('theme_preview/miscellaneous/system_messages'); echo elgg_view_module('info', 'System Messages and Errors', $body); diff --git a/mod/developers/views/default/theme_preview/miscellaneous/popup.php b/mod/developers/views/default/theme_preview/miscellaneous/popup.php index b711bb7cca6..304cdf624dd 100644 --- a/mod/developers/views/default/theme_preview/miscellaneous/popup.php +++ b/mod/developers/views/default/theme_preview/miscellaneous/popup.php @@ -5,7 +5,7 @@ $link = elgg_view('output/url', array( 'text' => 'Popup content', 'href' => "#elgg-popup-test", - 'rel' => 'popup' + 'class' => 'elgg-popup' )); echo $link; diff --git a/mod/developers/views/default/theme_preview/miscellaneous/toggle.php b/mod/developers/views/default/theme_preview/miscellaneous/toggle.php index abe39ddd865..eaedfab96d4 100644 --- a/mod/developers/views/default/theme_preview/miscellaneous/toggle.php +++ b/mod/developers/views/default/theme_preview/miscellaneous/toggle.php @@ -5,7 +5,7 @@ $link = elgg_view('output/url', array( 'text' => 'Toggle content', 'href' => "#elgg-toggle-test", - 'rel' => 'toggle' + 'class' => '.elgg-toggle' )); echo $link; diff --git a/mod/embed/start.php b/mod/embed/start.php index e8a3f8c1482..3cece701125 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -47,7 +47,6 @@ function embed_longtext_menu($hook, $type, $items, $vars) { 'name' => 'embed', 'href' => $url, 'text' => elgg_echo('embed:media'), - 'rel' => "embed-lightbox-{$vars['id']}", 'link_class' => "elgg-longtext-control elgg-lightbox embed-control embed-control-{$vars['id']}", 'priority' => 10, )); diff --git a/mod/groups/start.php b/mod/groups/start.php index 50bd63f6c03..8b1be93c5b5 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -501,7 +501,7 @@ function groups_annotation_menu_setup($hook, $type, $return, $params) { 'href' => "#edit-annotation-$annotation->id", 'text' => elgg_echo('edit'), 'encode_text' => false, - 'rel' => 'toggle', + 'class' => 'elgg-toggle', ); $return[] = ElggMenuItem::factory($options); } @@ -903,7 +903,7 @@ function discussion_add_to_river_menu($hook, $type, $return, $params) { 'href' => "#groups-reply-$object->guid", 'text' => elgg_view_icon('speech-bubble'), 'title' => elgg_echo('reply:this'), - 'rel' => 'toggle', + 'class' => 'elgg-toggle', 'priority' => 50, ); $return[] = ElggMenuItem::factory($options); diff --git a/mod/likes/views/default/likes/count.php b/mod/likes/views/default/likes/count.php index 071a069bde7..b6a4181bdea 100644 --- a/mod/likes/views/default/likes/count.php +++ b/mod/likes/views/default/likes/count.php @@ -20,7 +20,7 @@ $params = array( 'text' => $likes_string, 'title' => elgg_echo('likes:see'), - 'rel' => 'popup', + 'class' => 'elgg-popup', 'href' => "#likes-$guid" ); $list = elgg_view('output/url', $params); diff --git a/mod/logbrowser/views/default/logbrowser/refine.php b/mod/logbrowser/views/default/logbrowser/refine.php index 86460c79e05..51ed3d2eac3 100644 --- a/mod/logbrowser/views/default/logbrowser/refine.php +++ b/mod/logbrowser/views/default/logbrowser/refine.php @@ -15,7 +15,7 @@ $toggle_link = elgg_view('output/url', array( 'href' => '#log-browser-search-form', 'text' => elgg_echo('logbrowser:search'), - 'rel' => 'toggle', + 'class' => 'elgg-toggle', )); $form_class = 'elgg-module elgg-module-inline'; diff --git a/mod/messages/pages/messages/read.php b/mod/messages/pages/messages/read.php index 4223c6baca9..c1b51f5312b 100644 --- a/mod/messages/pages/messages/read.php +++ b/mod/messages/pages/messages/read.php @@ -46,7 +46,7 @@ 'href' => '#messages-reply-form', 'text' => elgg_echo('messages:answer'), 'link_class' => 'elgg-button elgg-button-action', - 'rel' => 'toggle', + 'class' => 'elgg-toggle', )); } } diff --git a/mod/reportedcontent/views/default/object/reported_content.php b/mod/reportedcontent/views/default/object/reported_content.php index 0e733e154b4..fa6d88283a4 100644 --- a/mod/reportedcontent/views/default/object/reported_content.php +++ b/mod/reportedcontent/views/default/object/reported_content.php @@ -61,7 +61,7 @@ "#report-$report->guid", 'text' => elgg_echo('reportedcontent:moreinfo'), - 'rel' => "toggle", + 'class' => "elgg-toggle", )); ?>

diff --git a/views/default/core/account/login_dropdown.php b/views/default/core/account/login_dropdown.php index e90cbf10686..7a67ef3badd 100644 --- a/views/default/core/account/login_dropdown.php +++ b/views/default/core/account/login_dropdown.php @@ -18,8 +18,7 @@ 'login#login-dropdown-box', - 'rel' => 'popup', - 'class' => 'elgg-button elgg-button-dropdown', + 'class' => 'elgg-button elgg-button-dropdown elgg-popup', 'text' => elgg_echo('login'), )); echo elgg_view_module('dropdown', '', $body, array('id' => 'login-dropdown-box')); diff --git a/views/default/object/plugin/full.php b/views/default/object/plugin/full.php index 68472ca922f..8aeb970d1e8 100644 --- a/views/default/object/plugin/full.php +++ b/views/default/object/plugin/full.php @@ -275,7 +275,7 @@ echo elgg_view('output/url', array( 'href' => "#elgg-plugin-manifest-$css_id", 'text' => elgg_echo("admin:plugins:label:moreinfo"), - 'rel' => 'toggle', + 'class' => 'elgg-toggle', )); ?> diff --git a/views/default/object/plugin/invalid.php b/views/default/object/plugin/invalid.php index a13ee721b7d..f20cbf37052 100644 --- a/views/default/object/plugin/invalid.php +++ b/views/default/object/plugin/invalid.php @@ -31,7 +31,7 @@ echo elgg_view('output/url', array( 'href' => "#elgg-plugin-manifest-$css_id", 'text' => elgg_echo("admin:plugins:label:moreinfo"), - 'rel' => 'toggle', + 'class' => 'elgg-toggle', )); ?> diff --git a/views/default/output/confirmlink.php b/views/default/output/confirmlink.php index 532790a3887..1555fff7856 100644 --- a/views/default/output/confirmlink.php +++ b/views/default/output/confirmlink.php @@ -13,8 +13,8 @@ * @uses $vars['encode_text'] Run $vars['text'] through htmlspecialchars() (false) */ -$vars['rel'] = elgg_extract('confirm', $vars, elgg_echo('question:areyousure')); -$vars['rel'] = addslashes($vars['rel']); +$vars['data-confirm'] = elgg_extract('confirm', $vars, elgg_echo('question:areyousure')); +$vars['data-confirm'] = addslashes($vars['data-confirm']); $encode = elgg_extract('encode_text', $vars, false); // always generate missing action tokens @@ -26,18 +26,27 @@ } if (!isset($vars['title']) && isset($vars['confirm'])) { - $vars['title'] = $vars['rel']; + $vars['title'] = $vars['data-confirm']; } if (isset($vars['class'])) { - if (!is_array($vars['class'])) { - $vars['class'] = array($vars['class']); + if (is_array($vars['class'])) { + $vars['class'] = implode(" ", $vars['class']); } - $vars['class'][] = 'elgg-requires-confirmation'; + $vars['class'] .= ' elgg-requires-confirmation'; } else { $vars['class'] = 'elgg-requires-confirmation'; } +// Deprecate rel="toggle" and rel="popup" +foreach (array('toggle', 'popup') as $rel) { + if (preg_match("/$rel/i", $vars['rel'])) { + $vars['rel'] = preg_replace("/$rel/i", '', $vars['rel']); + $vars['class'] .= " elgg-$rel"; + elgg_deprecated_notice("Use class=\"elgg-$rel\" instead of rel=\"$rel\"", 1.9); + } +} + unset($vars['encode_text']); unset($vars['text']); unset($vars['confirm']); diff --git a/views/default/output/url.php b/views/default/output/url.php index 81b02087d2a..421dfc1a26e 100644 --- a/views/default/output/url.php +++ b/views/default/output/url.php @@ -49,6 +49,19 @@ $vars['href'] = $url; } +if (isset($vars['class']) && is_array($vars['class'])) { + $vars['class'] = implode(" ", $vars['class']); +} + +// Deprecate rel="toggle" and rel="popup" +foreach (array('toggle', 'popup') as $rel) { + if (preg_match("/$rel/i", $vars['rel'])) { + $vars['rel'] = preg_replace("/$rel/i", '', $vars['rel']); + $vars['class'] .= " elgg-$rel"; + elgg_deprecated_notice("Use class=\"elgg-$rel\" instead of rel=\"$rel\"", 1.9); + } +} + unset($vars['is_action']); unset($vars['is_trusted']); diff --git a/views/default/page/layouts/widgets/add_button.php b/views/default/page/layouts/widgets/add_button.php index c33a45f99b8..79fd240fa6e 100644 --- a/views/default/page/layouts/widgets/add_button.php +++ b/views/default/page/layouts/widgets/add_button.php @@ -8,8 +8,7 @@ echo elgg_view('output/url', array( 'href' => '#widgets-add-panel', 'text' => elgg_echo('widgets:add'), - 'class' => 'elgg-button elgg-button-action', - 'rel' => 'toggle', + 'class' => 'elgg-button elgg-button-action elgg-toggle', 'is_trusted' => true, )); ?>