Cleaned up include/items.php (#5523)
* Cleaned up include/items.php - added type-hint for array where suitable - moved opening curly brace to new line after function - used BaseObject::getApp() instead of get_app() - used empty() instead of is_array(), maybe avoids E_NOTICE * Changed 'AS' to 'as', keywords in PHP are all lower-case.
This commit is contained in:
parent
55c10a3fc9
commit
3da1b9f319
|
@ -3,6 +3,7 @@
|
||||||
* @file include/items.php
|
* @file include/items.php
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Friendica\BaseObject;
|
||||||
use Friendica\Content\Feature;
|
use Friendica\Content\Feature;
|
||||||
use Friendica\Core\Addon;
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\Config;
|
use Friendica\Core\Config;
|
||||||
|
@ -23,7 +24,8 @@ require_once 'include/text.php';
|
||||||
require_once 'mod/share.php';
|
require_once 'mod/share.php';
|
||||||
require_once 'include/enotify.php';
|
require_once 'include/enotify.php';
|
||||||
|
|
||||||
function add_page_info_data($data, $no_photos = false) {
|
function add_page_info_data(array $data, $no_photos = false)
|
||||||
|
{
|
||||||
Addon::callHooks('page_info_data', $data);
|
Addon::callHooks('page_info_data', $data);
|
||||||
|
|
||||||
// It maybe is a rich content, but if it does have everything that a link has,
|
// It maybe is a rich content, but if it does have everything that a link has,
|
||||||
|
@ -82,7 +84,7 @@ function add_page_info_data($data, $no_photos = false) {
|
||||||
$hashtags = "";
|
$hashtags = "";
|
||||||
if (isset($data["keywords"]) && count($data["keywords"])) {
|
if (isset($data["keywords"]) && count($data["keywords"])) {
|
||||||
$hashtags = "\n";
|
$hashtags = "\n";
|
||||||
foreach ($data["keywords"] AS $keyword) {
|
foreach ($data["keywords"] as $keyword) {
|
||||||
/// @TODO make a positive list of allowed characters
|
/// @TODO make a positive list of allowed characters
|
||||||
$hashtag = str_replace([" ", "+", "/", ".", "#", "'", "’", "`", "(", ")", "„", "“"],
|
$hashtag = str_replace([" ", "+", "/", ".", "#", "'", "’", "`", "(", ")", "„", "“"],
|
||||||
["", "", "", "", "", "", "", "", "", "", "", ""], $keyword);
|
["", "", "", "", "", "", "", "", "", "", "", ""], $keyword);
|
||||||
|
@ -93,8 +95,8 @@ function add_page_info_data($data, $no_photos = false) {
|
||||||
return "\n".$text.$hashtags;
|
return "\n".$text.$hashtags;
|
||||||
}
|
}
|
||||||
|
|
||||||
function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklist = "") {
|
function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklist = "")
|
||||||
|
{
|
||||||
$data = ParseUrl::getSiteinfoCached($url, true);
|
$data = ParseUrl::getSiteinfoCached($url, true);
|
||||||
|
|
||||||
if ($photo != "") {
|
if ($photo != "") {
|
||||||
|
@ -109,8 +111,10 @@ function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklis
|
||||||
|
|
||||||
if (($keyword_blacklist != "") && isset($data["keywords"])) {
|
if (($keyword_blacklist != "") && isset($data["keywords"])) {
|
||||||
$list = explode(", ", $keyword_blacklist);
|
$list = explode(", ", $keyword_blacklist);
|
||||||
foreach ($list AS $keyword) {
|
|
||||||
|
foreach ($list as $keyword) {
|
||||||
$keyword = trim($keyword);
|
$keyword = trim($keyword);
|
||||||
|
|
||||||
$index = array_search($keyword, $data["keywords"]);
|
$index = array_search($keyword, $data["keywords"]);
|
||||||
if ($index !== false) {
|
if ($index !== false) {
|
||||||
unset($data["keywords"][$index]);
|
unset($data["keywords"][$index]);
|
||||||
|
@ -121,12 +125,13 @@ function query_page_info($url, $photo = "", $keywords = false, $keyword_blacklis
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_page_keywords($url, $photo = "", $keywords = false, $keyword_blacklist = "") {
|
function add_page_keywords($url, $photo = "", $keywords = false, $keyword_blacklist = "")
|
||||||
|
{
|
||||||
$data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
|
$data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
|
||||||
|
|
||||||
$tags = "";
|
$tags = "";
|
||||||
if (isset($data["keywords"]) && count($data["keywords"])) {
|
if (isset($data["keywords"]) && count($data["keywords"])) {
|
||||||
foreach ($data["keywords"] AS $keyword) {
|
foreach ($data["keywords"] as $keyword) {
|
||||||
$hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
|
$hashtag = str_replace([" ", "+", "/", ".", "#", "'"],
|
||||||
["", "", "", "", "", ""], $keyword);
|
["", "", "", "", "", ""], $keyword);
|
||||||
|
|
||||||
|
@ -141,7 +146,8 @@ function add_page_keywords($url, $photo = "", $keywords = false, $keyword_blackl
|
||||||
return $tags;
|
return $tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "") {
|
function add_page_info($url, $no_photos = false, $photo = "", $keywords = false, $keyword_blacklist = "")
|
||||||
|
{
|
||||||
$data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
|
$data = query_page_info($url, $photo, $keywords, $keyword_blacklist);
|
||||||
|
|
||||||
$text = add_page_info_data($data, $no_photos);
|
$text = add_page_info_data($data, $no_photos);
|
||||||
|
@ -149,8 +155,8 @@ function add_page_info($url, $no_photos = false, $photo = "", $keywords = false,
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
|
function add_page_info_to_body($body, $texturl = false, $no_photos = false)
|
||||||
|
{
|
||||||
logger('add_page_info_to_body: fetch page info for body ' . $body, LOGGER_DEBUG);
|
logger('add_page_info_to_body: fetch page info for body ' . $body, LOGGER_DEBUG);
|
||||||
|
|
||||||
$URLSearchString = "^\[\]";
|
$URLSearchString = "^\[\]";
|
||||||
|
@ -227,10 +233,9 @@ function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
|
||||||
* model where comments can have sub-threads. That would require some massive sorting
|
* model where comments can have sub-threads. That would require some massive sorting
|
||||||
* to get all the feed items into a mostly linear ordering, and might still require
|
* to get all the feed items into a mostly linear ordering, and might still require
|
||||||
* recursion.
|
* recursion.
|
||||||
*
|
|
||||||
* @TODO find proper type-hints
|
|
||||||
*/
|
*/
|
||||||
function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0) {
|
function consume_feed($xml, array $importer, array $contact, &$hub, $datedir = 0, $pass = 0)
|
||||||
|
{
|
||||||
if ($contact['network'] === NETWORK_OSTATUS) {
|
if ($contact['network'] === NETWORK_OSTATUS) {
|
||||||
if ($pass < 2) {
|
if ($pass < 2) {
|
||||||
// Test - remove before flight
|
// Test - remove before flight
|
||||||
|
@ -239,6 +244,7 @@ function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0)
|
||||||
logger("Consume OStatus messages ", LOGGER_DEBUG);
|
logger("Consume OStatus messages ", LOGGER_DEBUG);
|
||||||
OStatus::import($xml, $importer, $contact, $hub);
|
OStatus::import($xml, $importer, $contact, $hub);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,6 +253,7 @@ function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0)
|
||||||
logger("Consume feeds", LOGGER_DEBUG);
|
logger("Consume feeds", LOGGER_DEBUG);
|
||||||
Feed::import($xml, $importer, $contact, $hub);
|
Feed::import($xml, $importer, $contact, $hub);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,6 +272,7 @@ function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0)
|
||||||
WHERE `contact`.`id` = %d AND `user`.`uid` = %d",
|
WHERE `contact`.`id` = %d AND `user`.`uid` = %d",
|
||||||
DBA::escape($contact["id"]), DBA::escape($importer["uid"])
|
DBA::escape($contact["id"]), DBA::escape($importer["uid"])
|
||||||
);
|
);
|
||||||
|
|
||||||
if (DBA::isResult($r)) {
|
if (DBA::isResult($r)) {
|
||||||
logger("Now import the DFRN feed");
|
logger("Now import the DFRN feed");
|
||||||
DFRN::import($xml, $r[0], true);
|
DFRN::import($xml, $r[0], true);
|
||||||
|
@ -273,12 +281,12 @@ function consume_feed($xml, $importer, $contact, &$hub, $datedir = 0, $pass = 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function subscribe_to_hub($url, $importer, $contact, $hubmode = 'subscribe') {
|
function subscribe_to_hub($url, array $importer, array $contact, $hubmode = 'subscribe')
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = BaseObject::getApp();
|
||||||
$r = null;
|
$r = null;
|
||||||
|
|
||||||
if (is_array($importer)) {
|
if (!empty($importer)) {
|
||||||
$r = q("SELECT `nickname` FROM `user` WHERE `uid` = %d LIMIT 1",
|
$r = q("SELECT `nickname` FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
|
@ -314,26 +322,28 @@ function subscribe_to_hub($url, $importer, $contact, $hubmode = 'subscribe') {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// @TODO type-hint is array
|
function drop_items(array $items)
|
||||||
function drop_items($items) {
|
{
|
||||||
$uid = 0;
|
$uid = 0;
|
||||||
|
|
||||||
if (!local_user() && !remote_user()) {
|
if (!local_user() && !remote_user()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($items)) {
|
if (!empty($items)) {
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$owner = Item::deleteForUser(['id' => $item], local_user());
|
$owner = Item::deleteForUser(['id' => $item], local_user());
|
||||||
if ($owner && !$uid)
|
|
||||||
|
if ($owner && !$uid) {
|
||||||
$uid = $owner;
|
$uid = $owner;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function drop_item($id) {
|
function drop_item($id)
|
||||||
|
{
|
||||||
$a = get_app();
|
$a = BaseObject::getApp();
|
||||||
|
|
||||||
// locate item to be deleted
|
// locate item to be deleted
|
||||||
|
|
||||||
|
@ -353,7 +363,7 @@ function drop_item($id) {
|
||||||
|
|
||||||
// check if logged in user is either the author or owner of this item
|
// check if logged in user is either the author or owner of this item
|
||||||
|
|
||||||
if (is_array($_SESSION['remote'])) {
|
if (!empty($_SESSION['remote'])) {
|
||||||
foreach ($_SESSION['remote'] as $visitor) {
|
foreach ($_SESSION['remote'] as $visitor) {
|
||||||
if ($visitor['uid'] == $item['uid'] && $visitor['cid'] == $item['contact-id']) {
|
if ($visitor['uid'] == $item['uid'] && $visitor['cid'] == $item['contact-id']) {
|
||||||
$contact_id = $visitor['cid'];
|
$contact_id = $visitor['cid'];
|
||||||
|
@ -369,6 +379,7 @@ function drop_item($id) {
|
||||||
// so add any arguments as hidden inputs
|
// so add any arguments as hidden inputs
|
||||||
$query = explode_querystring($a->query_string);
|
$query = explode_querystring($a->query_string);
|
||||||
$inputs = [];
|
$inputs = [];
|
||||||
|
|
||||||
foreach ($query['args'] as $arg) {
|
foreach ($query['args'] as $arg) {
|
||||||
if (strpos($arg, 'confirm=') === false) {
|
if (strpos($arg, 'confirm=') === false) {
|
||||||
$arg_parts = explode('=', $arg);
|
$arg_parts = explode('=', $arg);
|
||||||
|
@ -404,7 +415,8 @@ function drop_item($id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* arrange the list in years */
|
/* arrange the list in years */
|
||||||
function list_post_dates($uid, $wall) {
|
function list_post_dates($uid, $wall)
|
||||||
|
{
|
||||||
$dnow = DateTimeFormat::localNow('Y-m-d');
|
$dnow = DateTimeFormat::localNow('Y-m-d');
|
||||||
|
|
||||||
$dthen = Item::firstPostDate($uid, $wall);
|
$dthen = Item::firstPostDate($uid, $wall);
|
||||||
|
@ -440,7 +452,8 @@ function list_post_dates($uid, $wall) {
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
function posted_date_widget($url, $uid, $wall) {
|
function posted_date_widget($url, $uid, $wall)
|
||||||
|
{
|
||||||
$o = '';
|
$o = '';
|
||||||
|
|
||||||
if (!Feature::isEnabled($uid, 'archives')) {
|
if (!Feature::isEnabled($uid, 'archives')) {
|
||||||
|
@ -454,10 +467,7 @@ function posted_date_widget($url, $uid, $wall) {
|
||||||
return $o;
|
return $o;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$visible_years = PConfig::get($uid,'system','archive_visible_years');
|
$visible_years = PConfig::get($uid, 'system', 'archive_visible_years', 5);
|
||||||
if (!$visible_years) {
|
|
||||||
$visible_years = 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
$ret = list_post_dates($uid, $wall);
|
$ret = list_post_dates($uid, $wall);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user