From c2cddede38dbb29d53167e296981a678759e0648 Mon Sep 17 00:00:00 2001 From: cash Date: Mon, 5 Dec 2011 21:54:09 -0500 Subject: first version of a 404 page --- engine/lib/pagehandler.php | 31 +++++++++++++++++++++++++++++++ languages/en.php | 3 +++ views/default/errors/404.php | 8 ++++++++ views/default/errors/default.php | 8 ++++++++ views/default/page/error.php | 14 ++++++++++++++ views/default/page/layouts/error.php | 6 ++++++ 6 files changed, 70 insertions(+) create mode 100644 views/default/errors/404.php create mode 100644 views/default/errors/default.php create mode 100644 views/default/page/error.php create mode 100644 views/default/page/layouts/error.php diff --git a/engine/lib/pagehandler.php b/engine/lib/pagehandler.php index aba921416..16be6e3b2 100644 --- a/engine/lib/pagehandler.php +++ b/engine/lib/pagehandler.php @@ -110,3 +110,34 @@ function elgg_unregister_page_handler($handler) { unset($CONFIG->pagehandler[$handler]); } + +/** + * Serve an error page + * + * @param string $hook The name of the hook + * @param string $type The type of the hook + * @param bool $result The current value of the hook + * @param array $params Parameters related to the hook + */ +function elgg_error_page_handler($hook, $type, $result, $params) { + if (elgg_view_exists("errors/$type")) { + $content = elgg_view("errors/$type", $params); + } else { + $content = elgg_view("errors/default", $params); + } + $body = elgg_view_layout('error', array('content' => $content)); + echo elgg_view_page($title, $body, 'error'); + exit; +} + +/** + * Initializes the page handler/routing system + * + * @return void + * @access private + */ +function page_handler_init() { + elgg_register_plugin_hook_handler('forward', '404', 'elgg_error_page_handler'); +} + +elgg_register_event_handler('init', 'system', 'page_handler_init'); diff --git a/languages/en.php b/languages/en.php index 036ca8883..eecb2f1aa 100644 --- a/languages/en.php +++ b/languages/en.php @@ -240,6 +240,9 @@ $english = array( 'changebookmark' => 'Please change your bookmark for this page', 'noaccess' => 'This content has been removed, is invalid, or you do not have permission to view it.', + 'error:default' => 'Oops...something went wrong.', + 'error:404' => 'Sorry. We could not find the page that you requested.', + /** * API */ diff --git a/views/default/errors/404.php b/views/default/errors/404.php new file mode 100644 index 000000000..8bc35acdd --- /dev/null +++ b/views/default/errors/404.php @@ -0,0 +1,8 @@ +$message"; diff --git a/views/default/errors/default.php b/views/default/errors/default.php new file mode 100644 index 000000000..a0582eba2 --- /dev/null +++ b/views/default/errors/default.php @@ -0,0 +1,8 @@ +$message"; diff --git a/views/default/page/error.php b/views/default/page/error.php new file mode 100644 index 000000000..b7ba3ae9b --- /dev/null +++ b/views/default/page/error.php @@ -0,0 +1,14 @@ + Date: Thu, 8 Dec 2011 18:52:49 -0500 Subject: Fixes #4182 if simplecache is empty, the cache requests go through the engine and need to be white listed for the walled garden --- engine/classes/ElggSite.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/classes/ElggSite.php b/engine/classes/ElggSite.php index 5c44d4076..3ccb146fb 100644 --- a/engine/classes/ElggSite.php +++ b/engine/classes/ElggSite.php @@ -424,7 +424,9 @@ class ElggSite extends ElggEntity { 'xml-rpc\.php', 'mt/mt-xmlrpc\.cgi', 'css/.*', - 'js/.*' + 'js/.*', + 'cache/css/.*', + 'cache/js/.*', ); // include a hook for plugin authors to include public pages -- cgit v1.2.3 From cb20d84a4ce17c8071e8f474b82341ec1aec083d Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 8 Dec 2011 19:28:56 -0500 Subject: added the ability to pass a class to be applied to all menu item
  • elements --- views/default/navigation/menu/default.php | 13 ++++++++----- views/default/navigation/menu/elements/item.php | 6 ++++++ views/default/navigation/menu/elements/section.php | 17 +++++++++++------ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php index 0fa391433..006deb3ea 100644 --- a/views/default/navigation/menu/default.php +++ b/views/default/navigation/menu/default.php @@ -2,15 +2,17 @@ /** * Default menu * - * @uses $vars['name'] - * @uses $vars['menu'] - * @uses $vars['class'] - * @uses $vars['show_section_headers'] + * @uses $vars['name'] Name of the menu + * @uses $vars['menu'] Array of menu items + * @uses $vars['class'] Additional CSS class for the menu + * @uses $vars['item_class'] Additional CSS class for each menu item + * @uses $vars['show_section_headers'] Do we show headers for each section? */ // we want css classes to use dashes $vars['name'] = preg_replace('/[^a-z0-9\-]/i', '-', $vars['name']); $headers = elgg_extract('show_section_headers', $vars, false); +$item_class = elgg_extract('item_class', $vars, ''); $class = "elgg-menu elgg-menu-{$vars['name']}"; if (isset($vars['class'])) { @@ -23,6 +25,7 @@ foreach ($vars['menu'] as $section => $menu_items) { 'class' => "$class elgg-menu-{$vars['name']}-$section", 'section' => $section, 'name' => $vars['name'], - 'show_section_headers' => $headers + 'show_section_headers' => $headers, + 'item_class' => $item_class, )); } diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php index 5d6a7e367..22383ce0b 100644 --- a/views/default/navigation/menu/elements/item.php +++ b/views/default/navigation/menu/elements/item.php @@ -4,6 +4,9 @@ * * @package Elgg.Core * @subpackage Navigation + * + * @uses $vars['item'] ElggMenuItem + * @uses $vars['item_class'] Additional CSS class for the menu item */ $item = $vars['item']; @@ -21,6 +24,9 @@ if ($children) { } $item_class = $item->getItemClass(); +if (isset($vars['item_class']) && $vars['item_class']) { + $item_class .= ' ' . $vars['item_class']; +} echo "
  • "; echo $item->getContent(); diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php index 92a259776..c0e9ba750 100644 --- a/views/default/navigation/menu/elements/section.php +++ b/views/default/navigation/menu/elements/section.php @@ -2,15 +2,17 @@ /** * Menu group * - * @uses $vars['items'] - * @uses $vars['class'] - * @uses $vars['name'] - * @uses $vars['section'] - * @uses $vars['show_section_headers'] + * @uses $vars['items'] Array of menu items + * @uses $vars['class'] Additional CSS class for the section + * @uses $vars['name'] Name of the menu + * @uses $vars['section'] The section name + * @uses $vars['item_class'] Additional CSS class for each menu item + * @uses $vars['show_section_headers'] Do we show headers for each section */ $headers = elgg_extract('show_section_headers', $vars, false); $class = elgg_extract('class', $vars, ''); +$item_class = elgg_extract('item_class', $vars, ''); if ($headers) { $name = elgg_extract('name', $vars); @@ -20,6 +22,9 @@ if ($headers) { echo "
      "; foreach ($vars['items'] as $menu_item) { - echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); + echo elgg_view('navigation/menu/elements/item', array( + 'item' => $menu_item, + 'item_class' => $item_class, + )); } echo '
    '; -- cgit v1.2.3 From 1ec7692c1639e8415cd9984d9ad040ec28bd9755 Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 8 Dec 2011 20:09:36 -0500 Subject: Fixes #4185, #2111 adds control panel widget --- actions/admin/site/flush_cache.php | 10 ++++++++++ engine/lib/admin.php | 5 +++-- languages/en.php | 6 ++++++ views/default/widgets/control_panel/content.php | 24 ++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 actions/admin/site/flush_cache.php create mode 100644 views/default/widgets/control_panel/content.php diff --git a/actions/admin/site/flush_cache.php b/actions/admin/site/flush_cache.php new file mode 100644 index 000000000..b81f5fc83 --- /dev/null +++ b/actions/admin/site/flush_cache.php @@ -0,0 +1,10 @@ + array of handlers in order, top to bottom $adminWidgets = array( - 1 => array('admin_welcome'), + 1 => array('control_panel', 'admin_welcome'), 2 => array('online_users', 'new_users', 'content_stats'), ); diff --git a/languages/en.php b/languages/en.php index 036ca8883..a2e6e152e 100644 --- a/languages/en.php +++ b/languages/en.php @@ -610,6 +610,12 @@ $english = array( // argh, this is ugly 'admin:widget:admin_welcome:outro' => '
    Be sure to check out the resources available through the footer links and thank you for using Elgg!', + 'admin:widget:control_panel' => 'Control panel', + 'admin:widget:control_panel:help' => "Provides easy access to common controls", + + 'admin:cache:flush' => 'Flush the caches', + 'admin:cache:flushed' => "The site's caches have been flushed", + 'admin:footer:faq' => 'Administration FAQ', 'admin:footer:manual' => 'Administration Manual', 'admin:footer:community_forums' => 'Elgg Community Forums', diff --git a/views/default/widgets/control_panel/content.php b/views/default/widgets/control_panel/content.php new file mode 100644 index 000000000..d2db54bc6 --- /dev/null +++ b/views/default/widgets/control_panel/content.php @@ -0,0 +1,24 @@ + 'flush', + 'text' => elgg_echo('admin:cache:flush'), + 'href' => 'action/admin/site/flush_cache', + 'is_action' => true, + 'link_class' => 'elgg-button elgg-button-action', +)); + +elgg_register_menu_item('admin_control_panel', array( + 'name' => 'upgrade', + 'text' => elgg_echo('upgrade'), + 'href' => 'upgrade.php', + 'link_class' => 'elgg-button elgg-button-action', +)); + +echo elgg_view_menu('admin_control_panel', array( + 'class' => 'elgg-menu-hz', + 'item_class' => 'mrm', +)); -- cgit v1.2.3 From cafd3b84cead11f6e9bf4222f1e28ee3cc158a7a Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 8 Dec 2011 20:59:08 -0500 Subject: Fixes #4025 added a url handler for comments --- engine/lib/annotations.php | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index e40ab2e39..bfd40d1e8 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -528,6 +528,20 @@ function elgg_annotation_exists($entity_guid, $annotation_type, $owner_guid = NU return FALSE; } +/** + * Return the URL for a comment + * + * @param ElggAnnotation $comment The comment object + * @return string + * @access private + */ +function elgg_comment_url_handler(ElggAnnotation $comment) { + $entity = $comment->getEntity(); + if ($entity) { + return $entity->getURL() . '#item-annotation-' . $comment->id; + } +} + /** * Register an annotation url handler. * @@ -540,11 +554,6 @@ function elgg_register_annotation_url_handler($extender_name = "all", $function_ return elgg_register_extender_url_handler('annotation', $extender_name, $function_name); } -/** Register the hook */ -elgg_register_plugin_hook_handler("export", "all", "export_annotation_plugin_hook", 2); - -elgg_register_plugin_hook_handler('unit_test', 'system', 'annotations_test'); - /** * Register annotation unit tests * @access private @@ -554,3 +563,16 @@ function annotations_test($hook, $type, $value, $params) { $value[] = $CONFIG->path . 'engine/tests/api/annotations.php'; return $value; } + +/** + * Initialize the annotation library + * @access private + */ +function elgg_annotations_init() { + elgg_register_annotation_url_handler('generic_comment', 'elgg_comment_url_handler'); + + elgg_register_plugin_hook_handler("export", "all", "export_annotation_plugin_hook", 2); + elgg_register_plugin_hook_handler('unit_test', 'system', 'annotations_test'); +} + +elgg_register_event_handler('init', 'system', 'elgg_annotations_init'); -- cgit v1.2.3 From be930396dfd7c722d9c90d8987a49823710e6717 Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 8 Dec 2011 21:15:36 -0500 Subject: Fixes #4189 correctly getting the base url in pagination view --- views/default/navigation/pagination.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/views/default/navigation/pagination.php b/views/default/navigation/pagination.php index 4df5cf575..ad4689d83 100644 --- a/views/default/navigation/pagination.php +++ b/views/default/navigation/pagination.php @@ -25,7 +25,12 @@ if (!$limit = (int) elgg_extract('limit', $vars, 10)) { $count = (int) elgg_extract('count', $vars, 0); $offset_key = elgg_extract('offset_key', $vars, 'offset'); -$base_url = elgg_extract('baseurl', $vars, current_page_url()); +// some views pass an empty string for base_url +if (isset($vars['base_url']) && $vars['base_url']) { + $base_url = $vars['base_url']; +} else { + $base_url = current_page_url(); +} $num_pages = elgg_extract('num_pages', $vars, 10); $delta = ceil($num_pages / 2); -- cgit v1.2.3 From 1ebbff44be8bccb87ec8cacee171d9b951ec50f4 Mon Sep 17 00:00:00 2001 From: cash Date: Thu, 8 Dec 2011 22:12:32 -0500 Subject: Fixes #3181 caching language js on server side with proper headers --- engine/lib/languages.php | 11 +++++++++++ js/lib/languages.js | 26 ++++++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/engine/lib/languages.php b/engine/lib/languages.php index 7607ea3bf..0400843af 100644 --- a/engine/lib/languages.php +++ b/engine/lib/languages.php @@ -301,4 +301,15 @@ function get_missing_language_keys($language) { return false; } +/** + * Initialize the language library + * @access private + */ +function elgg_languages_init() { + $lang = get_current_language(); + elgg_register_simplecache_view("cache/js/languages/$lang"); +} + +elgg_register_event_handler('init', 'system', 'elgg_languages_init'); + register_translations(dirname(dirname(dirname(__FILE__))) . "/languages/"); diff --git a/js/lib/languages.js b/js/lib/languages.js index ae7ba63e2..bfa858364 100644 --- a/js/lib/languages.js +++ b/js/lib/languages.js @@ -26,16 +26,22 @@ elgg.add_translation = function(lang, translations) { elgg.reload_all_translations = function(language) { var lang = language || elgg.get_language(); - elgg.getJSON('ajax/view/js/languages', { - data: { - language: lang - }, - success: function(json) { - elgg.add_translation(lang, json); - elgg.config.languageReady = true; - elgg.initWhenReady(); - } - }); + var url, options; + if (elgg.config.simplecache_enabled) { + url = 'cache/js/default/languages/' + lang + '.' + elgg.config.lastcache + '.js'; + options = {}; + } else { + url = 'ajax/view/js/languages'; + options = {data: {language: lang}}; + } + + options['success'] = function(json) { + elgg.add_translation(lang, json); + elgg.config.languageReady = true; + elgg.initWhenReady(); + }; + + elgg.getJSON(url, options); }; /** -- cgit v1.2.3 From 2aa0e3846b60a44c6f2dbfe2f9a690776533dca3 Mon Sep 17 00:00:00 2001 From: hypeJunction Date: Mon, 12 Dec 2011 23:31:26 +0100 Subject: Fixed #4198 uservalidationbyemail respects the return value of the register,user hook --- mod/uservalidationbyemail/start.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mod/uservalidationbyemail/start.php b/mod/uservalidationbyemail/start.php index 8de5d0522..576e12247 100644 --- a/mod/uservalidationbyemail/start.php +++ b/mod/uservalidationbyemail/start.php @@ -69,6 +69,12 @@ function uservalidationbyemail_disable_new_user($hook, $type, $value, $params) { return; } + // another plugin is requesting that registration be terminated + // no need for uservalidationbyemail + if (!$value) { + return $value; + } + // disable user to prevent showing up on the site // set context so our canEdit() override works elgg_push_context('uservalidationbyemail_new_user'); -- cgit v1.2.3 From 32d30e7b805e7c9c192b69516c211e90a2b3862e Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Thu, 15 Dec 2011 07:27:42 -0500 Subject: Refs #4196 integrates fix into 1.8 branch --- mod/uservalidationbyemail/lib/functions.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mod/uservalidationbyemail/lib/functions.php b/mod/uservalidationbyemail/lib/functions.php index eaca374f4..f3091f94d 100644 --- a/mod/uservalidationbyemail/lib/functions.php +++ b/mod/uservalidationbyemail/lib/functions.php @@ -87,7 +87,13 @@ function uservalidationbyemail_get_unvalidated_users_sql_where() { global $CONFIG; $validated_id = get_metastring_id('validated'); - $one_id = get_metastring_id(1); + if ($validated_id === false) { + $validated_id = add_metastring('validated'); + } + $one_id = get_metastring_id('1'); + if ($one_id === false) { + $one_id = add_metastring('1'); + } // thanks to daveb@freenode for the SQL tips! $wheres = array(); -- cgit v1.2.3 From 54c220bf4d68cdad8077c7355855d9d424ef63e6 Mon Sep 17 00:00:00 2001 From: zcho Date: Mon, 12 Dec 2011 19:24:07 +0400 Subject: fixes elgg_get_user_validation_status() always returning null --- engine/lib/users.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/lib/users.php b/engine/lib/users.php index 3a86c1faa..beabcbb59 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1021,7 +1021,7 @@ function elgg_get_user_validation_status($user_guid) { return; } - if ($md->value) { + if ($md[0]->value) { return true; } -- cgit v1.2.3 From f8a2f8e5b9ae26781ec317391948266433cd7669 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Thu, 15 Dec 2011 19:31:33 -0500 Subject: Fixes #4214 added missing dependency for userpicker --- js/lib/ui.userpicker.js | 2 +- views/default/input/userpicker.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/js/lib/ui.userpicker.js b/js/lib/ui.userpicker.js index 8287ba91c..7298da114 100644 --- a/js/lib/ui.userpicker.js +++ b/js/lib/ui.userpicker.js @@ -93,7 +93,7 @@ elgg.userpicker.viewUser = function(info) { html += "
    " + info.icon + "
    "; html += "
    " + deleteLink + "
    "; html += "
    " + info.name + "
    "; - html += " Date: Sat, 17 Dec 2011 08:11:36 -0500 Subject: Fixes #4217 user validation by email now respects decisions by other plugins --- mod/uservalidationbyemail/start.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mod/uservalidationbyemail/start.php b/mod/uservalidationbyemail/start.php index 576e12247..ea59a2e7b 100644 --- a/mod/uservalidationbyemail/start.php +++ b/mod/uservalidationbyemail/start.php @@ -75,6 +75,11 @@ function uservalidationbyemail_disable_new_user($hook, $type, $value, $params) { return $value; } + // has the user already been validated? + if (elgg_get_user_validation_status($user->guid) == true) { + return $value; + } + // disable user to prevent showing up on the site // set context so our canEdit() override works elgg_push_context('uservalidationbyemail_new_user'); -- cgit v1.2.3 From 2ab13017f36a7e6c667e9c9006f24c06fb11a1d6 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 17 Dec 2011 08:18:24 -0500 Subject: embed can now be activated without the file plugin as other plugins can provide content --- mod/embed/manifest.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mod/embed/manifest.xml b/mod/embed/manifest.xml index 7ffbc23a4..46ab2df9e 100644 --- a/mod/embed/manifest.xml +++ b/mod/embed/manifest.xml @@ -13,9 +13,10 @@ elgg_release 1.8 - + plugin file - + 1.8.1 + true -- cgit v1.2.3 From c97e17eba9a5bd2272c27b15c18580c964a57f9d Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 17 Dec 2011 08:30:44 -0500 Subject: Refs #3971 inserting medium size thumbnails rather than small --- mod/embed/views/default/js/embed/embed.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index 8a8f0290c..54b9c391d 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -35,7 +35,12 @@ elgg.embed.insert = function(event) { // generalize this based on a css class attached to what should be inserted var content = ' ' + $(this).find(".embed-insert").parent().html() + ' '; - + + // this is a temporary work-around for #3971 + if (content.indexOf('thumbnail.php') != -1) { + content = content.replace('size=small', 'size=medium'); + } + textArea.val(textArea.val() + content); textArea.focus(); -- cgit v1.2.3 From c529671a522dea0dcfc280815092ee1f5127b92b Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 17 Dec 2011 08:43:49 -0500 Subject: Fixes #4190 accepting full urls with non-ascii characters --- engine/lib/output.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine/lib/output.php b/engine/lib/output.php index 989eca60e..6554481f5 100644 --- a/engine/lib/output.php +++ b/engine/lib/output.php @@ -234,7 +234,7 @@ function elgg_clean_vars(array $vars = array()) { * * @example * elgg_normalize_url(''); // 'http://my.site.com/' - * elgg_normalize_url('dashboard'); // 'http://my.site.com/dashboard' + * elgg_normalize_url('dashboard'); // 'http://my.site.com/dashboard' * elgg_normalize_url('http://google.com/'); // no change * elgg_normalize_url('//google.com/'); // no change * @@ -257,6 +257,11 @@ function elgg_normalize_url($url) { $validated = filter_var($url, FILTER_VALIDATE_URL); } + // work around for handling absoluate IRIs (RFC 3987) - see #4190 + if (!$validated && (strpos($url, 'http:') === 0) || (strpos($url, 'https:') === 0)) { + $validated = true; + } + if ($validated) { // all normal URLs including mailto: return $url; -- cgit v1.2.3 From 3d8ca76d4b8b9e69a92f5f5b034609b410c9ee8c Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 17 Dec 2011 10:37:25 -0500 Subject: Fixes #4086 handling containers for embed uploading --- mod/embed/start.php | 26 +++++++++++++++++----- mod/embed/views/default/embed/layout.php | 7 ++++++ mod/embed/views/default/js/embed/embed.php | 25 ++++++++++++++++++++- .../views/default/embed/file_upload/content.php | 3 ++- 4 files changed, 53 insertions(+), 8 deletions(-) diff --git a/mod/embed/start.php b/mod/embed/start.php index 015c0c0e4..940219476 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -37,10 +37,15 @@ function embed_longtext_menu($hook, $type, $items, $vars) { if (elgg_get_context() == 'embed') { return $items; } + + $url = 'embed'; + if (elgg_get_page_owner_guid()) { + $url = 'embed?container_guid=' . elgg_get_page_owner_guid(); + } $items[] = ElggMenuItem::factory(array( 'name' => 'embed', - 'href' => "embed", + 'href' => $url, 'text' => elgg_echo('embed:media'), 'rel' => 'lightbox', 'link_class' => "elgg-longtext-control elgg-lightbox embed-control embed-control-{$vars['id']}", @@ -64,7 +69,9 @@ function embed_longtext_menu($hook, $type, $items, $vars) { */ function embed_select_tab($hook, $type, $items, $vars) { - $tab_name = array_pop(explode('/', full_url())); + // can this ba called from page handler instead? + $page = get_input('page'); + $tab_name = array_pop(explode('/', $page)); foreach ($items as $item) { if ($item->getName() == $tab_name) { $item->setSelected(); @@ -85,6 +92,11 @@ function embed_select_tab($hook, $type, $items, $vars) { */ function embed_page_handler($page) { + $container_guid = (int)get_input('container_guid'); + if ($container_guid) { + elgg_set_page_owner_guid($container_guid); + } + echo elgg_view('embed/layout'); // exit because this is in a modal display. @@ -120,15 +132,17 @@ function embed_list_items($entities, $vars = array()) { */ function embed_get_list_options($options = array()) { + $container_guids = array(elgg_get_logged_in_user_guid()); if (elgg_get_page_owner_guid()) { - $container_guid = elgg_get_page_owner_guid(); - } else { - $container_guid = elgg_get_logged_in_user_guid(); + $page_owner_guid = elgg_get_page_owner_guid(); + if ($page_owner_guid != elgg_get_logged_in_user_guid()) { + $container_guids[] = $page_owner_guid; + } } $defaults = array( 'limit' => 6, - 'container_guid' => $container_guid, + 'container_guids' => $container_guids, 'item_class' => 'embed-item', ); diff --git a/mod/embed/views/default/embed/layout.php b/mod/embed/views/default/embed/layout.php index c1e43f13c..e906160b1 100644 --- a/mod/embed/views/default/embed/layout.php +++ b/mod/embed/views/default/embed/layout.php @@ -21,10 +21,17 @@ if ($selected->getData('view')) { } } + +$container_info = elgg_view('input/hidden', array( + 'name' => 'embed_container_guid', + 'value' => elgg_get_page_owner_guid(), +)); + echo << $title $menu $tab + $container_info HTML; diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index 54b9c391d..5fd534a09 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -80,9 +80,13 @@ elgg.embed.submit = function(event) { if (response.status >= 0) { var forward = $('input[name=embed_forward]').val(); var url = elgg.normalize_url('embed/tab/' + forward); + url = elgg.embed.addContainerGUID(url); $('.embed-wrapper').parent().load(url); } } + }, + error: function(xhr, status) { + // nothing for now } }); @@ -98,8 +102,27 @@ elgg.embed.submit = function(event) { * @return void */ elgg.embed.forward = function(event) { - $('.embed-wrapper').parent().load($(this).attr('href')); + // make sure container guid is passed + var url = $(this).attr('href'); + url = elgg.embed.addContainerGUID(url); + + $('.embed-wrapper').parent().load(url); event.preventDefault(); }; +/** + * Adds the container guid to a URL + * + * @param {string} url + * @return string + */ +elgg.embed.addContainerGUID = function(url) { + if (url.indexOf('container_guid=') == -1) { + var guid = $('input[name=embed_container_guid]').val(); + return url + '?container_guid=' + guid; + } else { + return url; + } +}; + elgg.register_hook_handler('init', 'system', elgg.embed.init); diff --git a/mod/file/views/default/embed/file_upload/content.php b/mod/file/views/default/embed/file_upload/content.php index 4d3db0d97..8b630c828 100644 --- a/mod/file/views/default/embed/file_upload/content.php +++ b/mod/file/views/default/embed/file_upload/content.php @@ -7,7 +7,8 @@ $form_vars = array( 'enctype' => 'multipart/form-data', 'class' => 'elgg-form-embed', ); -echo elgg_view_form('file/upload', $form_vars); +$body_vars = array('container_guid' => elgg_get_page_owner_guid()); +echo elgg_view_form('file/upload', $form_vars, $body_vars); // the tab we want to be forwarded to after upload is complete echo elgg_view('input/hidden', array( -- cgit v1.2.3 From a41f00224a0b5bc241b569138f4562bae4b811dd Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 17 Dec 2011 16:10:06 -0500 Subject: moved user settings extensions to user_settings library --- engine/lib/user_settings.php | 7 +++++++ engine/lib/users.php | 7 ------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/engine/lib/user_settings.php b/engine/lib/user_settings.php index c71670357..af30d8f0d 100644 --- a/engine/lib/user_settings.php +++ b/engine/lib/user_settings.php @@ -346,6 +346,13 @@ function usersettings_init() { elgg_register_plugin_hook_handler('usersettings:save', 'user', 'users_settings_save'); elgg_register_action("usersettings/save"); + + // extend the account settings form + elgg_extend_view('forms/account/settings', 'core/settings/account/name', 100); + elgg_extend_view('forms/account/settings', 'core/settings/account/password', 100); + elgg_extend_view('forms/account/settings', 'core/settings/account/email', 100); + elgg_extend_view('forms/account/settings', 'core/settings/account/language', 100); + elgg_extend_view('forms/account/settings', 'core/settings/account/default_access', 100); } elgg_register_event_handler('init', 'system', 'usersettings_init'); diff --git a/engine/lib/users.php b/engine/lib/users.php index beabcbb59..1b3cca799 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -1562,13 +1562,6 @@ function users_init() { elgg_register_widget_type('friends', elgg_echo('friends'), elgg_echo('friends:widget:description')); - // extend the account settings form - elgg_extend_view('forms/account/settings', 'core/settings/account/name', 100); - elgg_extend_view('forms/account/settings', 'core/settings/account/password', 100); - elgg_extend_view('forms/account/settings', 'core/settings/account/email', 100); - elgg_extend_view('forms/account/settings', 'core/settings/account/language', 100); - elgg_extend_view('forms/account/settings', 'core/settings/account/default_access', 100); - // Register the user type elgg_register_entity_type('user', ''); -- cgit v1.2.3 From d784d088ddfd6cc0d74f79539872921c358b75cb Mon Sep 17 00:00:00 2001 From: Ismayil Khayredinov Date: Thu, 15 Dec 2011 13:20:56 +0100 Subject: Fixes 4209: jquery.form.js library loading --- engine/lib/views.php | 1 - mod/developers/start.php | 14 ++++++++------ mod/embed/start.php | 1 + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/engine/lib/views.php b/engine/lib/views.php index d3c9ff551..b938dd60e 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1598,7 +1598,6 @@ function elgg_views_boot() { elgg_load_js('jquery'); elgg_load_js('jquery-ui'); - elgg_load_js('jquery.form'); elgg_load_js('elgg'); elgg_register_simplecache_view('js/lightbox'); diff --git a/mod/developers/start.php b/mod/developers/start.php index 2e3df7663..79ec0655a 100644 --- a/mod/developers/start.php +++ b/mod/developers/start.php @@ -23,6 +23,8 @@ function developers_init() { elgg_register_js('jquery.jstree', 'mod/developers/vendors/jsTree/jquery.jstree.js', 'footer'); elgg_register_css('jquery.jstree', 'mod/developers/vendors/jsTree/themes/default/style.css'); + elgg_load_js('jquery.form'); + elgg_register_js('elgg.dev', 'js/developers/developers.js', 'footer'); elgg_load_js('elgg.dev'); } @@ -166,13 +168,13 @@ function developers_theme_preview_controller($page) { $pages = array( 'buttons', - 'components', - 'forms', - 'grid', + 'components', + 'forms', + 'grid', 'icons', - 'modules', - 'navigation', - 'typography', + 'modules', + 'navigation', + 'typography', ); foreach ($pages as $page_name) { diff --git a/mod/embed/start.php b/mod/embed/start.php index 015c0c0e4..7c070fa75 100644 --- a/mod/embed/start.php +++ b/mod/embed/start.php @@ -49,6 +49,7 @@ function embed_longtext_menu($hook, $type, $items, $vars) { elgg_load_js('lightbox'); elgg_load_css('lightbox'); + elgg_load_js('jquery.form'); elgg_load_js('elgg.embed'); return $items; -- cgit v1.2.3 From bd5c0005158ca136fe87b34dacdf75491e69ed03 Mon Sep 17 00:00:00 2001 From: Ismayil Khayredinov Date: Thu, 15 Dec 2011 05:20:57 +0100 Subject: Fix #4200: Converting widgets controls into an elgg menu --- engine/lib/navigation.php | 50 +++++++++++++++++++++++ js/lib/ui.widgets.js | 2 +- views/default/css/elements/modules.php | 15 ------- views/default/css/elements/navigation.php | 24 ++++++++++- views/default/object/widget/elements/controls.php | 49 ++++------------------ 5 files changed, 82 insertions(+), 58 deletions(-) diff --git a/engine/lib/navigation.php b/engine/lib/navigation.php index 176790188..956ca220a 100644 --- a/engine/lib/navigation.php +++ b/engine/lib/navigation.php @@ -384,6 +384,55 @@ function elgg_entity_menu_setup($hook, $type, $return, $params) { return $return; } +/** + * Widget menu is a set of widget controls + * @access private + */ +function elgg_widget_menu_setup($hook, $type, $return, $params) { + + $widget = $params['entity']; + $show_edit = elgg_extract('show_edit', $params, true); + + $collapse = array( + 'name' => 'collapse', + 'text' => ' ', + 'href' => "#elgg-widget-content-$widget->guid", + 'class' => 'elgg-widget-collapse-button', + 'rel' => 'toggle', + 'priority' => 1 + ); + $return[] = ElggMenuItem::factory($collapse); + + if ($widget->canEdit()) { + $delete = array( + 'name' => 'delete', + 'text' => elgg_view_icon('delete-alt'), + 'title' => elgg_echo('widget:delete', array($widget->getTitle())), + 'href' => "action/widgets/delete?widget_guid=$widget->guid", + 'is_action' => true, + 'class' => 'elgg-widget-delete-button', + 'id' => "elgg-widget-delete-button-$widget->guid", + 'priority' => 900 + ); + $return[] = ElggMenuItem::factory($delete); + + if ($show_edit) { + $edit = array( + 'name' => 'settings', + 'text' => elgg_view_icon('settings-alt'), + 'title' => elgg_echo('widget:edit'), + 'href' => "#widget-edit-$widget->guid", + 'class' => "elgg-widget-edit-button", + 'rel' => 'toggle', + 'priority' => 800, + ); + $return[] = ElggMenuItem::factory($edit); + } + } + + return $return; +} + /** * Adds a delete link to "generic_comment" annotations * @access private @@ -418,6 +467,7 @@ function elgg_nav_init() { elgg_register_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:river', 'elgg_river_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', 'elgg_entity_menu_setup'); + elgg_register_plugin_hook_handler('register', 'menu:widget', 'elgg_widget_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:annotation', 'elgg_annotation_menu_setup'); } diff --git a/js/lib/ui.widgets.js b/js/lib/ui.widgets.js index f12ae02c1..a44585843 100644 --- a/js/lib/ui.widgets.js +++ b/js/lib/ui.widgets.js @@ -107,7 +107,7 @@ elgg.ui.widgets.move = function(event, ui) { * @return void */ elgg.ui.widgets.remove = function(event) { - var $widget = $(this).parent().parent(); + var $widget = $(this).closest('.elgg-module-widget'); // if widget type is single instance type, enable the add buton var type = $widget.attr('class'); diff --git a/views/default/css/elements/modules.php b/views/default/css/elements/modules.php index ef85d4dd5..7750c208f 100644 --- a/views/default/css/elements/modules.php +++ b/views/default/css/elements/modules.php @@ -158,16 +158,7 @@ .elgg-module-widget.elgg-state-draggable > .elgg-head { cursor: move; } -.elgg-module-widget > .elgg-head a { - position: absolute; - top: 4px; - display: inline-block; - width: 18px; - height: 18px; - padding: 2px 2px 0 0; -} a.elgg-widget-collapse-button { - left: 5px; color: #c5c5c5; } a.elgg-widget-collapse-button:hover, @@ -181,12 +172,6 @@ a.elgg-widget-collapse-button:before { a.elgg-widget-collapsed:before { content: "\25BA"; } -a.elgg-widget-delete-button { - right: 5px; -} -a.elgg-widget-edit-button { - right: 25px; -} .elgg-module-widget > .elgg-body { background-color: white; width: 100%; diff --git a/views/default/css/elements/navigation.php b/views/default/css/elements/navigation.php index d5b20896a..62f370069 100644 --- a/views/default/css/elements/navigation.php +++ b/views/default/css/elements/navigation.php @@ -534,4 +534,26 @@ *************************************** */ .elgg-menu-extras { margin-bottom: 15px; -} \ No newline at end of file +} + +/* *************************************** + WIDGET MENU +*************************************** */ +.elgg-menu-widget > li { + position: absolute; + top: 4px; + display: inline-block; + width: 18px; + height: 18px; + padding: 2px 2px 0 0; +} + +.elgg-menu-widget > .elgg-menu-item-collapse { + left: 5px; +} +.elgg-menu-widget > .elgg-menu-item-delete { + right: 5px; +} +.elgg-menu-widget > .elgg-menu-item-settings { + right: 25px; +} diff --git a/views/default/object/widget/elements/controls.php b/views/default/object/widget/elements/controls.php index 866dcc787..d1d630c4f 100644 --- a/views/default/object/widget/elements/controls.php +++ b/views/default/object/widget/elements/controls.php @@ -6,44 +6,11 @@ * @uses $vars['show_edit'] Whether to show the edit button (true) */ -$widget = $vars['widget']; -$show_edit = elgg_extract('show_edit', $vars, true); - -$params = array( - 'text' => ' ', - 'href' => "#elgg-widget-content-$widget->guid", - 'class' => 'elgg-widget-collapse-button', - 'rel' => 'toggle', -); -$collapse_link = elgg_view('output/url', $params); - -$delete_link = $edit_link = ''; -if ($widget->canEdit()) { - $params = array( - 'text' => elgg_view_icon('delete-alt'), - 'title' => elgg_echo('widget:delete', array($widget->getTitle())), - 'href' => "action/widgets/delete?widget_guid=$widget->guid", - 'is_action' => true, - 'is_trusted' => true, - 'class' => 'elgg-widget-delete-button', - 'id' => "elgg-widget-delete-button-$widget->guid" - ); - $delete_link = elgg_view('output/url', $params); - - if ($show_edit) { - $params = array( - 'text' => elgg_view_icon('settings-alt'), - 'title' => elgg_echo('widget:edit'), - 'href' => "#widget-edit-$widget->guid", - 'class' => "elgg-widget-edit-button", - 'rel' => 'toggle', - ); - $edit_link = elgg_view('output/url', $params); - } -} - -echo <<<___END - $collapse_link - $delete_link - $edit_link -___END; +echo elgg_view_menu('widget', array( + 'entity' => elgg_extract('widget', $vars), + 'params' => array( + 'show_edit' => elgg_extract('show_edit', $vars, true) + ), + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); -- cgit v1.2.3 From 5ee43086ec79b38e3f2cdb288f80bd5f24d413b1 Mon Sep 17 00:00:00 2001 From: cash Date: Sun, 18 Dec 2011 18:22:59 -0500 Subject: Refs #4192 adds proper 'px' to minHeight but does not solve the issue --- js/lib/ui.widgets.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/lib/ui.widgets.js b/js/lib/ui.widgets.js index a44585843..47e43c876 100644 --- a/js/lib/ui.widgets.js +++ b/js/lib/ui.widgets.js @@ -190,7 +190,7 @@ elgg.ui.widgets.equalHeight = function(selector) { maxHeight = $(this).height(); } }) - $(selector).css('min-height', maxHeight); + $(selector).css('min-height', maxHeight + 'px'); }; elgg.register_hook_handler('init', 'system', elgg.ui.widgets.init); -- cgit v1.2.3 From f003120fba687d14630b690c50e2316f717eca7d Mon Sep 17 00:00:00 2001 From: cash Date: Mon, 19 Dec 2011 20:49:30 -0500 Subject: added more spacing to error layout --- engine/lib/pagehandler.php | 2 ++ views/default/css/elements/layout.php | 3 +++ views/default/page/layouts/error.php | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/engine/lib/pagehandler.php b/engine/lib/pagehandler.php index 16be6e3b2..ffcfc5b6a 100644 --- a/engine/lib/pagehandler.php +++ b/engine/lib/pagehandler.php @@ -114,6 +114,8 @@ function elgg_unregister_page_handler($handler) { /** * Serve an error page * + * @todo not sending status codes yet + * * @param string $hook The name of the hook * @param string $type The type of the hook * @param bool $result The current value of the hook diff --git a/views/default/css/elements/layout.php b/views/default/css/elements/layout.php index 42d898439..25a2bffb7 100644 --- a/views/default/css/elements/layout.php +++ b/views/default/css/elements/layout.php @@ -81,6 +81,9 @@ .elgg-layout-two-sidebar { background: transparent url(_graphics/two_sidebar_background.gif) repeat-y right top; } +.elgg-layout-error { + margin-top: 20px; +} .elgg-sidebar { position: relative; padding: 20px 10px; diff --git a/views/default/page/layouts/error.php b/views/default/page/layouts/error.php index 5b3109964..cdce28a8e 100644 --- a/views/default/page/layouts/error.php +++ b/views/default/page/layouts/error.php @@ -3,4 +3,10 @@ * Error layout */ +$class = 'elgg-layout-error'; +if (isset($vars['class'])) { + $class = "$class {$vars['class']}"; +} +$vars['class'] = $class; + echo elgg_view('page/layouts/one_column', $vars); -- cgit v1.2.3 From e8abce49de57d64a5475be011b51842be2cb0344 Mon Sep 17 00:00:00 2001 From: cash Date: Mon, 19 Dec 2011 21:04:00 -0500 Subject: Refs #4221 added a conflict statement to manifest for PECL extension --- mod/oauth_api/manifest.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mod/oauth_api/manifest.xml b/mod/oauth_api/manifest.xml index efd3d944f..991be6a22 100644 --- a/mod/oauth_api/manifest.xml +++ b/mod/oauth_api/manifest.xml @@ -18,4 +18,8 @@ plugin oauth_lib + + php_extension + oauth + -- cgit v1.2.3 From 41ae1fb2732f56ad0bb01cb0450c7517df06494e Mon Sep 17 00:00:00 2001 From: cash Date: Mon, 19 Dec 2011 21:27:02 -0500 Subject: Fixes #4184 dashboard default widgets should work and widgets should be created regardless of access --- engine/lib/widgets.php | 87 ++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/engine/lib/widgets.php b/engine/lib/widgets.php index 5d18a16b0..46f34391a 100644 --- a/engine/lib/widgets.php +++ b/engine/lib/widgets.php @@ -332,14 +332,14 @@ function elgg_default_widgets_init() { * @param string $event The event * @param string $type The type of object * @param object $entity The entity being created - * @return null + * @return void * @access private */ function elgg_create_default_widgets($event, $type, $entity) { $default_widget_info = elgg_get_config('default_widget_info'); if (!$default_widget_info || !$entity) { - return null; + return; } $type = $entity->getType(); @@ -347,53 +347,48 @@ function elgg_create_default_widgets($event, $type, $entity) { // event is already guaranteed by the hook registration. // need to check subtype and type. - foreach ($default_widget_info as $temp) { - if ($temp['entity_type'] == $type) { - if ($temp['entity_subtype'] == ELGG_ENTITIES_ANY_VALUE || $temp['entity_subtype'] == $subtype) { - $info = $temp; - break; + foreach ($default_widget_info as $info) { + if ($info['entity_type'] == $type) { + if ($info['entity_subtype'] == ELGG_ENTITIES_ANY_VALUE || $info['entity_subtype'] == $subtype) { + + // need to be able to access everything + $old_ia = elgg_set_ignore_access(true); + elgg_push_context('create_default_widgets'); + + // pull in by widget context with widget owners as the site + // not using elgg_get_widgets() because it sorts by columns and we don't care right now. + $options = array( + 'type' => 'object', + 'subtype' => 'widget', + 'owner_guid' => elgg_get_site_entity()->guid, + 'private_setting_name' => 'context', + 'private_setting_value' => $info['widget_context'], + 'limit' => 0 + ); + + $widgets = elgg_get_entities_from_private_settings($options); + + foreach ($widgets as $widget) { + // change the container and owner + $new_widget = clone $widget; + $new_widget->container_guid = $entity->guid; + $new_widget->owner_guid = $entity->guid; + + // pull in settings + $settings = get_all_private_settings($widget->guid); + + foreach ($settings as $name => $value) { + $new_widget->$name = $value; + } + + $new_widget->save(); + } + + elgg_set_ignore_access($old_ia); + elgg_pop_context(); } } } - - // need to be able to access everything - $old_ia = elgg_get_ignore_access(true); - elgg_push_context('create_default_widgets'); - - // pull in by widget context with widget owners as the site - // not using elgg_get_widgets() because it sorts by columns and we don't care right now. - $options = array( - 'type' => 'object', - 'subtype' => 'widget', - 'owner_guid' => elgg_get_site_entity()->guid, - 'private_setting_name' => 'context', - 'private_setting_value' => $info['widget_context'], - 'limit' => 0 - ); - - $widgets = elgg_get_entities_from_private_settings($options); - - foreach ($widgets as $widget) { - // change the container and owner - $new_widget = clone $widget; - $new_widget->container_guid = $entity->guid; - $new_widget->owner_guid = $entity->guid; - - // pull in settings - $settings = get_all_private_settings($widget->guid); - - foreach ($settings as $name => $value) { - $new_widget->$name = $value; - } - - $new_widget->save(); - } - - elgg_get_ignore_access($old_ia); - elgg_pop_context(); - - // failure here shouldn't stop the event. - return null; } /** -- cgit v1.2.3 From fea599f1653d7206e34ac33c0c0a668cb587bc20 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Wed, 21 Dec 2011 07:43:35 -0500 Subject: Set version to 1.8.2 and updated the changes list --- CHANGES.txt | 31 +++++++++++++++++++++++++++++++ version.php | 4 ++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 879fee50c..5232deadc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,34 @@ +Version 1.8.2 +(December 21, 2011 from https://github.com/Elgg/Elgg/tree/1.8) + + Enhancements: + * Added a 404 page + * Widgets controls now using the menu system + * Admins can edit users' account information + * Embed uploader supports uploading into groups + * Add a control panel widget for easy access to cache flushing and upgrading + * Comments now have a unqiue URL with fragment identifier + * JavaScript language files are cacheable + * jQuery form script only loaded when required + + Bugfixes: + * Fixed default widgets + * Fixed activity filtering + * Embedding an image now inserts a medium sized image + * Search plugin only uses mbstring extension if enabled + * Site pages links returned to footer + * Fixed URL creation for users with non-ASCII characters in username + * The wire username parsing supports periods in usernames + * Returned the posting area to the main wire page + * Fixed layout issue on pages with a fragment identifier in URL + * Added support for call elgg_load_js() in header and footer + * Fixed user picker + * Fixed uservalidationbyemail plugin ignoring the actions of other plugins + * Fixed bug preventing the creation of admin users + * Fixed deleting a widget with JavaScript disabled + * Fixed many bugs in the unit/integration tests + + Version 1.8.1 (November 16, 2011 from https://github.com/Elgg/Elgg/tree/1.8) diff --git a/version.php b/version.php index 59b5305dd..29870f93f 100644 --- a/version.php +++ b/version.php @@ -11,7 +11,7 @@ // YYYYMMDD = Elgg Date // XX = Interim incrementer -$version = 2011110700; +$version = 2011122100; // Human-friendly version name -$release = '1.8.1'; +$release = '1.8.2'; -- cgit v1.2.3