more error checking on posts

This commit is contained in:
Friendika 2011-02-04 13:37:04 -08:00
parent 6bb8f677c2
commit 1d0d765344
2 changed files with 23 additions and 13 deletions

View file

@ -740,7 +740,7 @@ function item_store($arr,$force_parent = false) {
return 0; return 0;
} }
if($arr['parent-uri'] === $arr['uri']) if((! $parent_id) || ($arr['parent-uri'] === $arr['uri']))
$parent_id = $current_post; $parent_id = $current_post;
if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid)) if(strlen($allow_cid) || strlen($allow_gid) || strlen($deny_cid) || strlen($deny_gid))

View file

@ -1,11 +1,17 @@
<?php <?php
// This is the POST destination for most all locally posted /**
// text stuff. This function handles status, wall-to-wall status, *
// local comments, and remote coments - that are posted on this site * This is the POST destination for most all locally posted
// (as opposed to being delivered in a feed). * text stuff. This function handles status, wall-to-wall status,
// All of these become an "item" which is our basic unit of * local comments, and remote coments - that are posted on this site
// information. * (as opposed to being delivered in a feed).
* All of these become an "item" which is our basic unit of
* information.
* Posts that originate externally or do not fall into the above
* posting categories go through item_store() instead of this function.
*
*/
function item_post(&$a) { function item_post(&$a) {
@ -417,6 +423,12 @@ function item_post(&$a) {
); );
} }
} }
else {
logger('mod_item: unable to retrieve post that was just stored.');
notify( t('System error. Post not saved.'));
goaway($a->get_baseurl() . "/" . $_POST['return'] );
// NOTREACHED
}
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); $php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
@ -454,10 +466,8 @@ function item_post(&$a) {
} }
} }
goaway($a->get_baseurl() . "/" . $_POST['return'] ); goaway($a->get_baseurl() . "/" . $_POST['return'] );
return; // NOTREACHED // NOTREACHED
} }
@ -551,7 +561,7 @@ function item_content(&$a) {
proc_run($php_path,"include/notifier.php","drop","$drop_id"); proc_run($php_path,"include/notifier.php","drop","$drop_id");
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
return; //NOTREACHED //NOTREACHED
} }
else { else {
notice( t('Permission denied.') . EOL); notice( t('Permission denied.') . EOL);