X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fitem.php;h=f87b6074a8e736d2616f3890cf0a1e71a7a58d8d;hb=2a578478167174b328352e0eafe8a4fdbe0fb68d;hp=0fb780adc75be709235876d4c12d7007056d1af1;hpb=547fd1e0e5155d50941fd8f6cfd89701a5da650b;p=friendica.git diff --git a/mod/item.php b/mod/item.php index 0fb780adc7..f87b6074a8 100644 --- a/mod/item.php +++ b/mod/item.php @@ -22,6 +22,15 @@ function item_post(&$a) { $uid = local_user(); + if(x($_POST,'dropitems')) { + require_once('include/items.php'); + $arr_drop = explode(',',$_POST['dropitems']); + drop_items($arr_drop); + $json = array('success' => 1); + echo json_encode($json); + killme(); + } + call_hooks('post_local_start', $_POST); $parent = ((x($_POST,'parent')) ? intval($_POST['parent']) : 0); @@ -52,6 +61,7 @@ function item_post(&$a) { $profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0); $post_id = ((x($_POST['post_id'])) ? intval($_POST['post_id']) : 0); + $app = ((x($_POST['source'])) ? strip_tags($_POST['source']) : ''); if(! can_write_wall($a,$profile_uid)) { notice( t('Permission denied.') . EOL) ; @@ -93,6 +103,7 @@ function item_post(&$a) { $coord = $orig_post['coord']; $verb = $orig_post['verb']; $emailcc = $orig_post['emailcc']; + $app = $orig_post['app']; $body = escape_tags(trim($_POST['body'])); $private = $orig_post['private']; @@ -196,7 +207,7 @@ function item_post(&$a) { $match = null; - if(preg_match_all("/\[img\](.+?)\[\/img\]/",$body,$match)) { + if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) { $images = $match[1]; if(count($images)) { foreach($images as $image) { @@ -235,7 +246,7 @@ function item_post(&$a) { $match = false; - if(preg_match_all("/\[attachment\](.+?)\[\/attachment\]/",$body,$match)) { + if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",$body,$match)) { $attaches = $match[1]; if(count($attaches)) { foreach($attaches as $attach) { @@ -408,10 +419,12 @@ function item_post(&$a) { $datarray['author-avatar'] = $author['thumb']; $datarray['created'] = datetime_convert(); $datarray['edited'] = datetime_convert(); + $datarray['received'] = datetime_convert(); $datarray['changed'] = datetime_convert(); $datarray['uri'] = $uri; $datarray['title'] = $title; $datarray['body'] = $body; + $datarray['app'] = $app; $datarray['location'] = $location; $datarray['coord'] = $coord; $datarray['tag'] = $str_tags; @@ -433,6 +446,7 @@ function item_post(&$a) { $datarray['parent'] = $parent; $datarray['self'] = $self; + $datarray['prvnets'] = $user['prvnets']; if($orig_post) $datarray['edit'] = true; @@ -460,9 +474,9 @@ function item_post(&$a) { $r = q("INSERT INTO `item` (`uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`, - `author-name`, `author-link`, `author-avatar`, `created`, `edited`, `changed`, `uri`, `title`, `body`, `location`, `coord`, + `author-name`, `author-link`, `author-avatar`, `created`, `edited`, `received`, `changed`, `uri`, `title`, `body`, `app`, `location`, `coord`, `tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach` ) - VALUES( %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )", + VALUES( %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )", intval($datarray['uid']), dbesc($datarray['type']), intval($datarray['wall']), @@ -476,10 +490,12 @@ function item_post(&$a) { dbesc($datarray['author-avatar']), dbesc($datarray['created']), dbesc($datarray['edited']), + dbesc($datarray['received']), dbesc($datarray['changed']), dbesc($datarray['uri']), dbesc($datarray['title']), dbesc($datarray['body']), + dbesc($datarray['app']), dbesc($datarray['location']), dbesc($datarray['coord']), dbesc($datarray['tag']), @@ -544,6 +560,7 @@ function item_post(&$a) { // load the template for private message notifications $tpl = get_intltext_template('cmnt_received_html_body_eml.tpl'); $email_html_body_tpl = replace_macros($tpl,array( + '$username' => $user['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site '$thumb' => $author['thumb'], // thumbnail url for sender icon @@ -557,6 +574,7 @@ function item_post(&$a) { // load the template for private message notifications $tpl = get_intltext_template('cmnt_received_text_body_eml.tpl'); $email_text_body_tpl = replace_macros($tpl,array( + '$username' => $user['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site '$thumb' => $author['thumb'], // thumbnail url for sender icon @@ -610,6 +628,7 @@ function item_post(&$a) { // load the template for private message notifications $tpl = load_view_file('view/wall_received_html_body_eml.tpl'); $email_html_body_tpl = replace_macros($tpl,array( + '$username' => $user['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site '$thumb' => $author['thumb'], // thumbnail url for sender icon @@ -622,6 +641,7 @@ function item_post(&$a) { // load the template for private message notifications $tpl = load_view_file('view/wall_received_text_body_eml.tpl'); $email_text_body_tpl = replace_macros($tpl,array( + '$username' => $user['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site '$thumb' => $author['thumb'], // thumbnail url for sender icon @@ -709,6 +729,8 @@ function item_post(&$a) { logger('return: ' . $_POST['return']); goaway($a->get_baseurl() . "/" . $_POST['return'] ); } + if($_POST['api_source']) + return; $json = array('success' => 1); if(x($_POST,'jsreload') && strlen($_POST['jsreload'])) $json['reload'] = $a->get_baseurl() . '/' . $_POST['jsreload']; @@ -731,91 +753,8 @@ function item_content(&$a) { require_once('include/security.php'); - $uid = local_user(); - if(($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) { - - // locate item to be deleted - - $r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1", - intval($a->argv[2]) - ); - - if(! count($r)) { - notice( t('Item not found.') . EOL); - goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); - } - $item = $r[0]; - - // check if logged in user is either the author or owner of this item - - if(($_SESSION['visitor_id'] == $item['contact-id']) || ($_SESSION['uid'] == $item['uid'])) { - - // delete the item - - $r = q("UPDATE `item` SET `deleted` = 1, `body` = '', `edited` = '%s', `changed` = '%s' WHERE `id` = %d LIMIT 1", - dbesc(datetime_convert()), - dbesc(datetime_convert()), - intval($item['id']) - ); - - // If item is a link to a photo resource, nuke all the associated photos - // (visitors will not have photo resources) - // This only applies to photos uploaded from the photos page. Photos inserted into a post do not - // generate a resource-id and therefore aren't intimately linked to the item. - - if(strlen($item['resource-id'])) { - q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ", - dbesc($item['resource-id']), - intval($item['uid']) - ); - // ignore the result - } - - // If it's the parent of a comment thread, kill all the kids - - if($item['uri'] == $item['parent-uri']) { - $r = q("UPDATE `item` SET `deleted` = 1, `edited` = '%s', `changed` = '%s', `body` = '' - WHERE `parent-uri` = '%s' AND `uid` = %d ", - dbesc(datetime_convert()), - dbesc(datetime_convert()), - dbesc($item['parent-uri']), - intval($item['uid']) - ); - // ignore the result - } - else { - // ensure that last-child is set in case the comment that had it just got wiped. - q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d ", - dbesc(datetime_convert()), - dbesc($item['parent-uri']), - intval($item['uid']) - ); - // who is the last child now? - $r = q("SELECT `id` FROM `item` WHERE `parent-uri` = '%s' AND `type` != 'activity' AND `deleted` = 0 AND `uid` = %d ORDER BY `edited` DESC LIMIT 1", - dbesc($item['parent-uri']), - intval($item['uid']) - ); - if(count($r)) { - q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1", - intval($r[0]['id']) - ); - } - } - $drop_id = intval($item['id']); - - // send the notification upstream/downstream as the case may be - - proc_run('php',"include/notifier.php","drop","$drop_id"); -// We seem to lose the return url occasionally. Have not been able to reliably duplicate -// logger('drop_return_url: ' . $_SESSION['return_url']); - goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); - //NOTREACHED - } - else { - notice( t('Permission denied.') . EOL); - goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); - //NOTREACHED - } + require_once('include/items.php'); + drop_item($a->argv[2]); } }