diff options
Diffstat (limited to 'mod')
| -rw-r--r-- | mod/blog/actions/blog/auto_save_revision.php | 2 | ||||
| -rw-r--r-- | mod/blog/actions/blog/save.php | 6 | ||||
| -rw-r--r-- | mod/bookmarks/actions/bookmarks/save.php | 2 | ||||
| -rw-r--r-- | mod/embed/views/default/js/embed/embed.php | 9 | ||||
| -rw-r--r-- | mod/file/actions/file/upload.php | 4 | ||||
| -rw-r--r-- | mod/groups/actions/discussion/save.php | 2 | ||||
| -rw-r--r-- | mod/groups/actions/groups/edit.php | 3 | ||||
| -rw-r--r-- | mod/groups/start.php | 9 | ||||
| -rw-r--r-- | mod/messages/pages/messages/inbox.php | 9 | ||||
| -rw-r--r-- | mod/messages/pages/messages/read.php | 9 | ||||
| -rw-r--r-- | mod/messages/pages/messages/sent.php | 9 | ||||
| -rw-r--r-- | mod/pages/actions/pages/edit.php | 5 | ||||
| -rw-r--r-- | mod/search/views/default/search/search_box.php | 3 | 
13 files changed, 49 insertions, 23 deletions
| diff --git a/mod/blog/actions/blog/auto_save_revision.php b/mod/blog/actions/blog/auto_save_revision.php index 66b65c5fd..e33edfaab 100644 --- a/mod/blog/actions/blog/auto_save_revision.php +++ b/mod/blog/actions/blog/auto_save_revision.php @@ -7,7 +7,7 @@  $guid = get_input('guid');  $user = elgg_get_logged_in_user_entity(); -$title = get_input('title'); +$title = htmlspecialchars(get_input('title', '', false), ENT_QUOTES, 'UTF-8');  $description = get_input('description');  $excerpt = get_input('excerpt'); diff --git a/mod/blog/actions/blog/save.php b/mod/blog/actions/blog/save.php index 048bc00be..070c96398 100644 --- a/mod/blog/actions/blog/save.php +++ b/mod/blog/actions/blog/save.php @@ -57,7 +57,11 @@ $required = array('title', 'description');  // load from POST and do sanity and access checking  foreach ($values as $name => $default) { -	$value = get_input($name, $default); +	if ($name === 'title') { +		$value = htmlspecialchars(get_input('title', $default, false), ENT_QUOTES, 'UTF-8'); +	} else { +		$value = get_input($name, $default); +	}  	if (in_array($name, $required) && empty($value)) {  		$error = elgg_echo("blog:error:missing:$name"); diff --git a/mod/bookmarks/actions/bookmarks/save.php b/mod/bookmarks/actions/bookmarks/save.php index 3ca6bef32..46090b115 100644 --- a/mod/bookmarks/actions/bookmarks/save.php +++ b/mod/bookmarks/actions/bookmarks/save.php @@ -5,7 +5,7 @@  * @package Bookmarks  */ -$title = strip_tags(get_input('title')); +$title = htmlspecialchars(get_input('title', '', false), ENT_QUOTES, 'UTF-8');  $description = get_input('description');  $address = get_input('address');  $access_id = get_input('access_id'); diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index 0c8442292..eb6153abf 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -67,6 +67,8 @@ echo elgg_view('embed/custom_insert_js');   * @return bool   */  elgg.embed.submit = function(event) { +	$('.embed-wrapper .elgg-form-file-upload').hide(); +	$('.embed-throbber').show();  	$(this).ajaxSubmit({  		dataType : 'json', @@ -82,6 +84,10 @@ elgg.embed.submit = function(event) {  					var url = elgg.normalize_url('embed/tab/' + forward);  					url = elgg.embed.addContainerGUID(url);  					$('.embed-wrapper').parent().load(url); +				} else { +					// incorrect response, presumably an error has been displayed +					$('.embed-throbber').hide(); +					$('.embed-wrapper .elgg-form-file-upload').show();  				}  			}  		}, @@ -90,9 +96,6 @@ elgg.embed.submit = function(event) {  		}  	}); -	$('.elgg-form-file-upload').hide(); -	$('.embed-throbber').show(); -  	// this was bubbling up the DOM causing a submission  	event.preventDefault();  	event.stopPropagation(); diff --git a/mod/file/actions/file/upload.php b/mod/file/actions/file/upload.php index d72d04eb7..d6dce2528 100644 --- a/mod/file/actions/file/upload.php +++ b/mod/file/actions/file/upload.php @@ -6,7 +6,7 @@   */  // Get variables -$title = get_input("title"); +$title = htmlspecialchars(get_input('title', '', false), ENT_QUOTES, 'UTF-8');  $desc = get_input("description");  $access_id = (int) get_input("access_id");  $container_guid = (int) get_input('container_guid', 0); @@ -44,7 +44,7 @@ if ($new_file) {  	// if no title on new upload, grab filename  	if (empty($title)) { -		$title = $_FILES['upload']['name']; +		$title = htmlspecialchars($_FILES['upload']['name'], ENT_QUOTES, 'UTF-8');  	}  } else { diff --git a/mod/groups/actions/discussion/save.php b/mod/groups/actions/discussion/save.php index de4afadfb..b3e9da654 100644 --- a/mod/groups/actions/discussion/save.php +++ b/mod/groups/actions/discussion/save.php @@ -4,7 +4,7 @@   */  // Get variables -$title = get_input("title"); +$title = htmlspecialchars(get_input('title', '', false), ENT_QUOTES, 'UTF-8');  $desc = get_input("description");  $status = get_input("status");  $access_id = (int) get_input("access_id"); diff --git a/mod/groups/actions/groups/edit.php b/mod/groups/actions/groups/edit.php index df2464a65..a4169461a 100644 --- a/mod/groups/actions/groups/edit.php +++ b/mod/groups/actions/groups/edit.php @@ -33,8 +33,7 @@ foreach ($CONFIG->group as $shortname => $valuetype) {  	}  } -$input['name'] = get_input('name'); -$input['name'] = html_entity_decode($input['name'], ENT_COMPAT, 'UTF-8'); +$input['name'] = htmlspecialchars(get_input('name', '', false), ENT_QUOTES, 'UTF-8');  $user = elgg_get_logged_in_user_entity(); diff --git a/mod/groups/start.php b/mod/groups/start.php index c591410c5..9dca7dc16 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -194,6 +194,15 @@ function groups_setup_sidebar_menus() {   */  function groups_page_handler($page) { +	// forward old profile urls +	if (is_numeric($page[0])) { +		$group = get_entity($page[0]); +		if (elgg_instanceof($group, 'group', '', 'ElggGroup')) { +			system_message(elgg_echo('changebookmark')); +			forward($group->getURL()); +		} +	} +	  	elgg_load_library('elgg:groups');  	if (!isset($page[0])) { diff --git a/mod/messages/pages/messages/inbox.php b/mod/messages/pages/messages/inbox.php index fdfc20c43..de5b8b231 100644 --- a/mod/messages/pages/messages/inbox.php +++ b/mod/messages/pages/messages/inbox.php @@ -8,8 +8,13 @@  gatekeeper();  $page_owner = elgg_get_page_owner_entity(); -if (!$page_owner) { -	register_error(elgg_echo()); + +if (!$page_owner || !$page_owner->canEdit()) { +	$guid = 0; +	if($page_owner){ +		$guid = $page_owner->getGUID(); +	} +	register_error(elgg_echo("pageownerunavailable", array($guid)));  	forward();  } diff --git a/mod/messages/pages/messages/read.php b/mod/messages/pages/messages/read.php index 19e3ecdd7..eb36eaa4b 100644 --- a/mod/messages/pages/messages/read.php +++ b/mod/messages/pages/messages/read.php @@ -8,8 +8,8 @@  gatekeeper();  $message = get_entity(get_input('guid')); -if (!$message) { -	forward('messages/inbox'); +if (!$message || !elgg_instanceof($message, "object", "messages")) { +	forward('messages/inbox/' . elgg_get_logged_in_user_entity()->username);  }  // mark the message as read @@ -38,8 +38,9 @@ if ($inbox) {  	);  	$body_params = array('message' => $message);  	$content .= elgg_view_form('messages/reply', $form_params, $body_params); - -	if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) { +	$from_user = get_user($message->fromID); +	 +	if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid() && $from_user) {  		elgg_register_menu_item('title', array(  			'name' => 'reply',  			'href' => '#messages-reply-form', diff --git a/mod/messages/pages/messages/sent.php b/mod/messages/pages/messages/sent.php index af06ab273..3d08cd5ee 100644 --- a/mod/messages/pages/messages/sent.php +++ b/mod/messages/pages/messages/sent.php @@ -8,8 +8,13 @@  gatekeeper();  $page_owner = elgg_get_page_owner_entity(); -if (!$page_owner) { -	register_error(elgg_echo()); + +if (!$page_owner || !$page_owner->canEdit()) { +	$guid = 0; +	if($page_owner){ +		$guid = $page_owner->getGUID(); +	} +	register_error(elgg_echo("pageownerunavailable", array($guid)));  	forward();  } diff --git a/mod/pages/actions/pages/edit.php b/mod/pages/actions/pages/edit.php index a32e4a4ba..fe5754d76 100644 --- a/mod/pages/actions/pages/edit.php +++ b/mod/pages/actions/pages/edit.php @@ -8,9 +8,10 @@  $variables = elgg_get_config('pages');  $input = array();  foreach ($variables as $name => $type) { -	$input[$name] = get_input($name);  	if ($name == 'title') { -		$input[$name] = strip_tags($input[$name]); +		$input[$name] = htmlspecialchars(get_input($name, '', false), ENT_QUOTES, 'UTF-8'); +	} else { +		$input[$name] = get_input($name);  	}  	if ($type == 'tags') {  		$input[$name] = string_to_tag_array($input[$name]); diff --git a/mod/search/views/default/search/search_box.php b/mod/search/views/default/search/search_box.php index ff12ae4f0..7474a280c 100644 --- a/mod/search/views/default/search/search_box.php +++ b/mod/search/views/default/search/search_box.php @@ -32,12 +32,11 @@ if (function_exists('mb_convert_encoding')) {  }  $display_query = htmlspecialchars($display_query, ENT_QUOTES, 'UTF-8', false); -  ?>  <form class="<?php echo $class; ?>" action="<?php echo elgg_get_site_url(); ?>search" method="get">  	<fieldset> -		<input type="text" class="search-input" size="21" name="q" value="<?php echo elgg_echo('search'); ?>" onblur="if (this.value=='') { this.value='<?php echo elgg_echo('search'); ?>' }" onfocus="if (this.value=='<?php echo elgg_echo('search'); ?>') { this.value='' };" /> +		<input type="text" class="search-input" size="21" name="q" value="<?php echo $display_query; ?>" onblur="if (this.value=='') { this.value='<?php echo elgg_echo('search'); ?>' }" onfocus="if (this.value=='<?php echo elgg_echo('search'); ?>') { this.value='' };" />  		<input type="hidden" name="search_type" value="all" />  		<input type="submit" value="<?php echo elgg_echo('search:go'); ?>" class="search-submit-button" />  	</fieldset> | 
