From e18e17ef647e7faf4563bb8ce77ffe448bc929cb Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 18 Apr 2011 18:15:14 +0000 Subject: Fixes #3365. Pulled in blacktooth's patch. git-svn-id: http://code.elgg.org/elgg/trunk@9003 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/cache.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/cache.php b/engine/lib/cache.php index 8529ae7fa..11c95e78a 100644 --- a/engine/lib/cache.php +++ b/engine/lib/cache.php @@ -163,13 +163,15 @@ function elgg_register_simplecache_view($viewname) { function elgg_get_simplecache_url($type, $view) { global $CONFIG; $lastcache = (int)$CONFIG->lastcache; - + $viewtype = elgg_get_viewtype(); if (elgg_is_simplecache_enabled()) { - $viewtype = elgg_get_viewtype(); $url = elgg_get_site_url() . "cache/$type/$viewtype/$view.$lastcache.$type"; } else { $url = elgg_get_site_url() . "$type/$view.$lastcache.$type"; + $elements = array("view" => $viewtype); + $url = elgg_http_add_url_query_elements($url, $elements); } + return $url; } -- cgit v1.2.3 From 2408cc5c69209350a350246e260de494720eb773 Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 18 Apr 2011 18:47:17 +0000 Subject: Fixes #2046. Applied Franz' patch for sanitize_int(). git-svn-id: http://code.elgg.org/elgg/trunk@9004 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/database.php | 21 +++++++++++++++------ engine/lib/entities.php | 2 +- engine/lib/metastrings.php | 4 ++-- engine/lib/river.php | 4 ++-- 4 files changed, 20 insertions(+), 11 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/database.php b/engine/lib/database.php index a9c4017a0..6b1b494b9 100644 --- a/engine/lib/database.php +++ b/engine/lib/database.php @@ -680,22 +680,31 @@ function sanitize_string($string) { * Sanitises an integer for database use. * * @param int $int Integer - * + * @param bool[optional] $signed Whether negative values should be allowed (true) * @return int Sanitised integer */ -function sanitise_int($int) { +function sanitise_int($int, $signed = true) { + $int = (int) $int; + + if ($signed === false) { + if ($int < 0) { + $int = 0; + } + } + return (int) $int; } /** - * Wrapper function for alternate English spelling + * Sanitises an integer for database use. + * Wrapper function for alternate English spelling (@see sanitise_int) * * @param int $int Integer - * + * @param bool[optional] $signed Whether negative values should be allowed (true) * @return int Sanitised integer */ -function sanitize_int($int) { - return (int) $int; +function sanitize_int($int, $signed = true) { + return sanitise_int($int, $signed); } /** diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 685c68a5b..cb197b569 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -922,7 +922,7 @@ function elgg_get_entities(array $options = array()) { if ($options['limit']) { $limit = sanitise_int($options['limit']); - $offset = sanitise_int($options['offset']); + $offset = sanitise_int($options['offset'], false); $query .= " LIMIT $offset, $limit"; } diff --git a/engine/lib/metastrings.php b/engine/lib/metastrings.php index 604c7f765..655617ac6 100644 --- a/engine/lib/metastrings.php +++ b/engine/lib/metastrings.php @@ -319,7 +319,7 @@ function elgg_get_metastring_based_objects($options) { 'metastring_owner_guid', 'metastring_id', 'select', 'where', 'join' ); - + $options = elgg_normalise_plural_options_array($options, $singulars); if (!$options) { @@ -456,7 +456,7 @@ function elgg_get_metastring_based_objects($options) { if ($options['limit']) { $limit = sanitise_int($options['limit']); - $offset = sanitise_int($options['offset']); + $offset = sanitise_int($options['offset'], false); $query .= " LIMIT $offset, $limit"; } diff --git a/engine/lib/river.php b/engine/lib/river.php index 55d1c783a..80f285e50 100644 --- a/engine/lib/river.php +++ b/engine/lib/river.php @@ -302,7 +302,7 @@ function elgg_get_river(array $options = array()) { if ($options['limit']) { $limit = sanitise_int($options['limit']); - $offset = sanitise_int($options['offset']); + $offset = sanitise_int($options['offset'], false); $query .= " LIMIT $offset, $limit"; } @@ -375,7 +375,7 @@ function elgg_row_to_elgg_river_item($row) { function elgg_river_get_access_sql() { // rewrite default access where clause to work with river table return str_replace("and enabled='yes'", '', - str_replace('owner_guid', 'rv.subject_guid', + str_replace('owner_guid', 'rv.subject_guid', str_replace('access_id', 'rv.access_id', get_access_sql_suffix()))); } -- cgit v1.2.3 From d928588805375e7190ab393e2def555b39701a27 Mon Sep 17 00:00:00 2001 From: brettp Date: Mon, 18 Apr 2011 21:11:00 +0000 Subject: Fixes #3358. Renamed menu's class to link_class and documented possible problems with passing tags in the text option. git-svn-id: http://code.elgg.org/elgg/trunk@9005 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/classes/ElggMenuItem.php | 8 ++++---- engine/lib/navigation.php | 11 +++++++++-- views/default/page/layouts/content/header.php | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) (limited to 'engine/lib') diff --git a/engine/classes/ElggMenuItem.php b/engine/classes/ElggMenuItem.php index bf6cf2edc..61dbf539e 100644 --- a/engine/classes/ElggMenuItem.php +++ b/engine/classes/ElggMenuItem.php @@ -123,9 +123,9 @@ class ElggMenuItem { unset($options['context']); } - if (isset($options['class'])) { - $item->setLinkClass($options['class']); - unset($options['class']); + if (isset($options['link_class'])) { + $item->setLinkClass($options['link_class']); + unset($options['link_class']); } if (isset($options['item_class'])) { @@ -459,7 +459,7 @@ class ElggMenuItem { if ($this->href) { $vars['href'] = $this->href; } - + if ($this->linkClass) { $vars['class'] = $this->getLinkClass(); } diff --git a/engine/lib/navigation.php b/engine/lib/navigation.php index 953bbe59a..b51c63b49 100644 --- a/engine/lib/navigation.php +++ b/engine/lib/navigation.php @@ -61,12 +61,19 @@ * @param mixed $menu_item A ElggMenuItem object or an array of options in format: * name => STR Menu item identifier (required) * text => STR Menu item display text (required) - * href => STR Menu item URL (required) (false for non-links) + * href => STR Menu item URL (required) (false for non-links. + * @warning If you disable the href the tag will + * not appear, so the link_class will not apply. If you + * put tags in manually through the 'text' option + * the default CSS selector .elgg-menu-$menu > li > a + * may affect formatting. Wrap in a if it does.) * contexts => ARR Page context strings * section => STR Menu section identifier * title => STR Menu item tooltip * selected => BOOL Is this menu item currently selected * parent_name => STR Identifier of the parent menu item + * link_class => STR A class or classes for the tag + * item_class => STR A class or classes for the
  • tag * * Custom options can be added as key value pairs. * @@ -269,7 +276,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'), - 'class' => "elgg-toggler", + 'link_class' => "elgg-toggler", 'priority' => 50, ); $return[] = ElggMenuItem::factory($options); diff --git a/views/default/page/layouts/content/header.php b/views/default/page/layouts/content/header.php index 4c63009f4..403da8a0a 100644 --- a/views/default/page/layouts/content/header.php +++ b/views/default/page/layouts/content/header.php @@ -37,7 +37,7 @@ if ($context) { 'name' => 'add', 'href' => elgg_extract('new_link', $vars, "$context/add/$guid"), 'text' => elgg_echo("$context:add"), - 'class' => 'elgg-button elgg-button-action', + 'link_class' => 'elgg-button elgg-button-action', )); } } -- cgit v1.2.3