X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fconversation.php;h=bc0a7586827bb2537a8e52cb5ed69927cb0aa6ad;hb=a59796d1d48ab96feeefbea6fce0656ebc7373a5;hp=e0f9856bab296c6844ea0589f88553adf8cc4175;hpb=9cd3b17743b335407a663742998bbc0e93386f12;p=friendica.git diff --git a/include/conversation.php b/include/conversation.php index e0f9856bab..bc0a758682 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -2,9 +2,11 @@ /** * @file include/conversation.php */ + use Friendica\App; use Friendica\Content\ContactSelector; use Friendica\Content\Feature; +use Friendica\Content\Text\BBCode; use Friendica\Core\Addon; use Friendica\Core\Config; use Friendica\Core\L10n; @@ -13,10 +15,12 @@ use Friendica\Core\System; use Friendica\Database\DBM; use Friendica\Model\Contact; use Friendica\Model\Profile; -use Friendica\Object\Thread; use Friendica\Object\Post; +use Friendica\Object\Thread; +use Friendica\Util\DateTimeFormat; +use Friendica\Util\Temporal; +use Friendica\Util\XML; -require_once "include/bbcode.php"; require_once "include/acl_selectors.php"; function item_extract_images($body) { @@ -68,7 +72,7 @@ function item_redir_and_replace_images($body, $images, $cid) { $newbody = ''; $cnt = 1; - $pos = get_bb_tag_pos($origbody, 'url', 1); + $pos = BBCode::getTagPosition($origbody, 'url', 0); while ($pos !== false && $cnt < 1000) { $search = '/\[url\=(.*?)\]\[!#saved_image([0-9]*)#!\]\[\/url\]' . '/is'; @@ -86,7 +90,8 @@ function item_redir_and_replace_images($body, $images, $cid) { $newbody .= $subject; $cnt++; - $pos = get_bb_tag_pos($origbody, 'url', 1); + // Isn't this supposed to use $cnt value for $occurrences? - @MrPetovan + $pos = BBCode::getTagPosition($origbody, 'url', 0); } $newbody .= $origbody; @@ -184,8 +189,8 @@ function localize_item(&$item) { $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; - $obj = parse_xml_string($xmlhead.$item['object']); - $links = parse_xml_string($xmlhead."".unxmlify($obj->link).""); + $obj = XML::parseString($xmlhead.$item['object']); + $links = XML::parseString($xmlhead."".unxmlify($obj->link).""); $Bname = $obj->title; $Blink = ""; $Bphoto = ""; @@ -220,8 +225,8 @@ function localize_item(&$item) { $xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">"; - $obj = parse_xml_string($xmlhead.$item['object']); - $links = parse_xml_string($xmlhead."".unxmlify($obj->link).""); + $obj = XML::parseString($xmlhead.$item['object']); + $links = XML::parseString($xmlhead."".unxmlify($obj->link).""); $Bname = $obj->title; $Blink = ""; @@ -295,7 +300,7 @@ function localize_item(&$item) { } $plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]'; - $parsedobj = parse_xml_string($xmlhead.$item['object']); + $parsedobj = XML::parseString($xmlhead.$item['object']); $tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content); $item['body'] = L10n::t('%1$s tagged %2$s\'s %3$s with %4$s', $author, $objauthor, $plink, $tag ); @@ -312,7 +317,7 @@ function localize_item(&$item) { $xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">"; - $obj = parse_xml_string($xmlhead.$item['object']); + $obj = XML::parseString($xmlhead.$item['object']); if (strlen($obj->id)) { $r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($obj->id), @@ -343,7 +348,7 @@ function localize_item(&$item) { $photo_pattern = "/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is"; if (preg_match($photo_pattern, $item['body'])) { $photo_replace = '[url=' . Profile::zrl('$1' . '/photos/' . '$2' . '/image/' . '$3' ,true) . '][img' . '$4' . ']h' . '$5' . '[/img][/url]'; - $item['body'] = bb_tag_preg_replace($photo_pattern, $photo_replace, 'url', $item['body']); + $item['body'] = BBCode::pregReplaceInTag($photo_pattern, $photo_replace, 'url', $item['body']); } // add sparkle links to appropriate permalinks @@ -434,7 +439,6 @@ These Fields are not added below (yet). They are here to for bug search. `item`.`forum_mode`, `item`.`mention`, `item`.`global`, -`item`.`gcontact-id`, `item`.`shadow`, */ @@ -493,7 +497,6 @@ function item_condition() { * */ function conversation(App $a, $items, $mode, $update, $preview = false) { - require_once 'include/bbcode.php'; require_once 'mod/proxy.php'; $ssl_state = ((local_user()) ? true : false); @@ -577,9 +580,7 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { . " var profile_page = 1; "; } } elseif ($mode === 'community') { - if (!$community_readonly) { - $items = community_add_items($items); - } + $items = community_add_items($items); $profile_owner = 0; if (!$update) { $live_update_div = '
' . "\r\n" @@ -613,33 +614,23 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { $page_template = get_markup_template("conversation.tpl"); if ($items && count($items)) { - $community_readonly = ($mode === 'community'); - - // Currently behind a config value. This allows the commenting and sharing of every public item. - if (Config::get('system', 'comment_public')) { - if ($mode === 'community') { - $community_readonly = false; - $writable = true; - } else { - $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], [NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_DFRN]); - } + if ($mode === 'community') { + $writable = true; } else { - $writable = false; + $writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], [NETWORK_OSTATUS, NETWORK_DIASPORA, NETWORK_DFRN]); } if (!local_user()) { $writable = false; } - if (in_array($mode, ['network-new', 'search', 'contact-posts']) || $community_readonly) { + if (in_array($mode, ['network-new', 'search', 'contact-posts'])) { /* * "New Item View" on network page or search page results * - just loop through the items and format them minimally for display */ - /// @TODO old lost code? - // $tpl = get_markup_template('search_item.tpl'); $tpl = 'search_item.tpl'; foreach ($items as $item) { @@ -799,8 +790,8 @@ function conversation(App $a, $items, $mode, $update, $preview = false) { 'categories' => $categories, 'folders' => $folders, 'text' => strip_tags($body_e), - 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), - 'ago' => (($item['app']) ? L10n::t('%s from %s', relative_date($item['created']),$item['app']) : relative_date($item['created'])), + 'localtime' => DateTimeFormat::local($item['created'], 'r'), + 'ago' => (($item['app']) ? L10n::t('%s from %s', Temporal::getRelativeDate($item['created']),$item['app']) : Temporal::getRelativeDate($item['created'])), 'location' => $location_e, 'indent' => '', 'owner_name' => $owner_name_e, @@ -916,6 +907,7 @@ function community_add_items($parents) { foreach ($parents AS $parent) { $thread_items = dba::p(item_query()." AND `item`.`uid` = ? AND `item`.`parent-uri` = ? + AND NOT `author`.`hidden` AND NOT `author`.`blocked` ORDER BY `item`.`commented` DESC LIMIT ".intval($max_comments + 1), local_user(), $parent['uri'] @@ -1175,7 +1167,7 @@ function builtin_activity_puller($item, &$conv_responses) { * @param array $arr = array of pre-linked names of likers/dislikers * @param string $type = one of 'like, 'dislike', 'attendyes', 'attendno', 'attendmaybe' * @param int $id = item id - * @return formatted text + * @return string formatted text */ function format_like($cnt, array $arr, $type, $id) { $o = '';