]> git.mxchange.org Git - friendica.git/blobdiff - mod/item.php
Rework mod/msearch
[friendica.git] / mod / item.php
index 54ef53a4b87961484b91de0241d3c7ce594dfa67..cc801df57c1b62ce0d0878332807c3449c9109b2 100644 (file)
@@ -36,6 +36,7 @@ use Friendica\Protocol\Email;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Emailer;
 use Friendica\Util\Security;
+use Friendica\Util\Strings;
 
 require_once 'include/enotify.php';
 require_once 'include/text.php';
@@ -165,7 +166,7 @@ function item_post(App $a) {
 
        // Now check that valid personal details have been provided
        if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
-               notice(L10n::t('Permission denied.') . EOL) ;
+               notice(L10n::t('Permission denied.') . EOL);
 
                if (!empty($_REQUEST['return'])) {
                        $a->internalRedirect($return_path);
@@ -203,8 +204,8 @@ function item_post(App $a) {
                $objecttype        = $orig_post['object-type'];
                $app               = $orig_post['app'];
                $categories        = $orig_post['file'];
-               $title             = notags(trim($_REQUEST['title']));
-               $body              = escape_tags(trim($_REQUEST['body']));
+               $title             = Strings::escapeTags(trim($_REQUEST['title']));
+               $body              = Strings::escapeHtml(trim($_REQUEST['body']));
                $private           = $orig_post['private'];
                $pubmail_enabled   = $orig_post['pubmail'];
                $network           = $orig_post['network'];
@@ -235,14 +236,14 @@ function item_post(App $a) {
                        $str_contact_deny  = perms2str(defaults($_REQUEST, 'contact_deny', ''));
                }
 
-               $title             =      notags(trim(defaults($_REQUEST, 'title'   , '')));
-               $location          =      notags(trim(defaults($_REQUEST, 'location', '')));
-               $coord             =      notags(trim(defaults($_REQUEST, 'coord'   , '')));
-               $verb              =      notags(trim(defaults($_REQUEST, 'verb'    , '')));
-               $emailcc           =      notags(trim(defaults($_REQUEST, 'emailcc' , '')));
-               $body              = escape_tags(trim(defaults($_REQUEST, 'body'    , '')));
-               $network           =      notags(trim(defaults($_REQUEST, 'network' , Protocol::DFRN)));
-               $guid              =      System::createUUID();
+               $title             = Strings::escapeTags(trim(defaults($_REQUEST, 'title'   , '')));
+               $location          = Strings::escapeTags(trim(defaults($_REQUEST, 'location', '')));
+               $coord             = Strings::escapeTags(trim(defaults($_REQUEST, 'coord'   , '')));
+               $verb              = Strings::escapeTags(trim(defaults($_REQUEST, 'verb'    , '')));
+               $emailcc           = Strings::escapeTags(trim(defaults($_REQUEST, 'emailcc' , '')));
+               $body              = Strings::escapeHtml(trim(defaults($_REQUEST, 'body'    , '')));
+               $network           = Strings::escapeTags(trim(defaults($_REQUEST, 'network' , Protocol::DFRN)));
+               $guid              = System::createUUID();
 
                $postopts = defaults($_REQUEST, 'postopts', '');
 
@@ -347,7 +348,7 @@ function item_post(App $a) {
        $str_tags = '';
        $inform   = '';
 
-       $tags = get_tags($body);
+       $tags = BBCode::getTags($body);
 
        // Add a tag if the parent contact is from ActivityPub or OStatus (This will notify them)
        if ($parent && in_array($thr_parent_contact['network'], [Protocol::OSTATUS, Protocol::ACTIVITYPUB])) {
@@ -467,7 +468,7 @@ function item_post(App $a) {
 
                                $fields = ['allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow,
                                                'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny];
-                               $condition = ['resource-id' => $image_uri, 'uid' => $profile_uid, 'album' => L10n::t('Wall Photos')];
+                               $condition = ['resource-id' => $image_uri, 'uid' => $profile_uid];
                                DBA::update('photo', $fields, $condition);
                        }
                }
@@ -689,7 +690,7 @@ function item_post(App $a) {
                }
 
                $json = ['cancel' => 1];
-               if (!empty($_REQUEST['jsreload']) && strlen($_REQUEST['jsreload'])) {
+               if (!empty($_REQUEST['jsreload'])) {
                        $json['reload'] = System::baseUrl() . '/' . $_REQUEST['jsreload'];
                }
 
@@ -697,11 +698,10 @@ function item_post(App $a) {
                killme();
        }
 
-       if ($orig_post) {
-
+       if ($orig_post) {
                // Fill the cache field
                // This could be done in Item::update as well - but we have to check for the existance of some fields.
-               put_item_in_cache($datarray);
+               Item::putInCache($datarray);
 
                $fields = [
                        'title' => $datarray['title'],
@@ -817,7 +817,7 @@ function item_post(App $a) {
                                        $subject = Email::encodeHeader('[Friendica]' . ' ' . L10n::t('%s posted an update.', $a->user['username']), 'UTF-8');
                                }
                                $link = '<a href="' . System::baseUrl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
-                               $html    = prepare_body($datarray);
+                               $html    = Item::prepareBody($datarray);
                                $message = '<html><body>' . $link . $html . $disclaimer . '</body></html>';
                                $params =  [
                                        'fromName' => $a->user['username'],
@@ -839,6 +839,12 @@ function item_post(App $a) {
        // We don't fork a new process since this is done anyway with the following command
        Worker::add(['priority' => PRIORITY_HIGH, 'dont_fork' => true], "CreateShadowEntry", $post_id);
 
+       // When we are doing some forum posting via ! we have to start the notifier manually.
+       // These kind of posts don't initiate the notifier call in the item class.
+       if ($only_to_forum) {
+               Worker::add(PRIORITY_HIGH, "Notifier", $notify_type, $post_id);
+       }
+
        Logger::log('post_complete');
 
        if ($api_source) {
@@ -863,7 +869,7 @@ function item_post_return($baseurl, $api_source, $return_path)
        }
 
        $json = ['success' => 1];
-       if (!empty($_REQUEST['jsreload']) && strlen($_REQUEST['jsreload'])) {
+       if (!empty($_REQUEST['jsreload'])) {
                $json['reload'] = $baseurl . '/' . $_REQUEST['jsreload'];
        }