Merge remote-tracking branch 'upstream/develop' into 1506-tag-users
This commit is contained in:
commit
39d4856abb
2
boot.php
2
boot.php
|
@ -18,7 +18,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
||||||
define ( 'FRIENDICA_CODENAME', 'Lily of the valley');
|
define ( 'FRIENDICA_CODENAME', 'Lily of the valley');
|
||||||
define ( 'FRIENDICA_VERSION', '3.4.0' );
|
define ( 'FRIENDICA_VERSION', '3.4.0' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1184 );
|
define ( 'DB_UPDATE_VERSION', 1185 );
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
|
||||||
|
|
10
database.sql
10
database.sql
|
@ -1,6 +1,6 @@
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
-- Friendica 3.4.0 (Lily of the valley)
|
-- Friendica 3.4.0 (Lily of the valley)
|
||||||
-- DB_UPDATE_VERSION 1183
|
-- DB_UPDATE_VERSION 1185
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -358,7 +358,12 @@ CREATE TABLE IF NOT EXISTS `group_member` (
|
||||||
CREATE TABLE IF NOT EXISTS `guid` (
|
CREATE TABLE IF NOT EXISTS `guid` (
|
||||||
`id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
|
`id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
|
||||||
`guid` varchar(255) NOT NULL DEFAULT '',
|
`guid` varchar(255) NOT NULL DEFAULT '',
|
||||||
INDEX `guid` (`guid`)
|
`plink` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`uri` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`network` varchar(32) NOT NULL DEFAULT '',
|
||||||
|
INDEX `guid` (`guid`),
|
||||||
|
INDEX `plink` (`plink`),
|
||||||
|
INDEX `uri` (`uri`)
|
||||||
) DEFAULT CHARSET=utf8;
|
) DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
--
|
--
|
||||||
|
@ -587,6 +592,7 @@ CREATE TABLE IF NOT EXISTS `notify` (
|
||||||
`msg` mediumtext NOT NULL,
|
`msg` mediumtext NOT NULL,
|
||||||
`uid` int(11) NOT NULL DEFAULT 0,
|
`uid` int(11) NOT NULL DEFAULT 0,
|
||||||
`link` varchar(255) NOT NULL DEFAULT '',
|
`link` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`iid` int(11) NOT NULL DEFAULT 0,
|
||||||
`parent` int(11) NOT NULL DEFAULT 0,
|
`parent` int(11) NOT NULL DEFAULT 0,
|
||||||
`seen` tinyint(1) NOT NULL DEFAULT 0,
|
`seen` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
`verb` varchar(255) NOT NULL DEFAULT '',
|
`verb` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
|
|
@ -94,3 +94,7 @@ $a->config['system']['lockpath'] = "";
|
||||||
|
|
||||||
// Use the old style "share"
|
// Use the old style "share"
|
||||||
// $a->config['system']['old_share'] = false;
|
// $a->config['system']['old_share'] = false;
|
||||||
|
|
||||||
|
//Deny public access to the local directory
|
||||||
|
//$a->config['system']['block_local_dir'] = false;
|
||||||
|
|
||||||
|
|
|
@ -395,19 +395,27 @@
|
||||||
'screen_name' => (($r[0]['nick']) ? $r[0]['nick'] : $r[0]['name']),
|
'screen_name' => (($r[0]['nick']) ? $r[0]['nick'] : $r[0]['name']),
|
||||||
'location' => NULL,
|
'location' => NULL,
|
||||||
'description' => NULL,
|
'description' => NULL,
|
||||||
'profile_image_url' => $r[0]["avatar"],
|
|
||||||
'profile_image_url_https' => $r[0]["avatar"],
|
|
||||||
'url' => $r[0]["url"],
|
'url' => $r[0]["url"],
|
||||||
'protected' => false,
|
'protected' => false,
|
||||||
'followers_count' => 0,
|
'followers_count' => 0,
|
||||||
'friends_count' => 0,
|
'friends_count' => 0,
|
||||||
|
'listed_count' => 0,
|
||||||
'created_at' => api_date(0),
|
'created_at' => api_date(0),
|
||||||
'favourites_count' => 0,
|
'favourites_count' => 0,
|
||||||
'utc_offset' => 0,
|
'utc_offset' => 0,
|
||||||
'time_zone' => 'UTC',
|
'time_zone' => 'UTC',
|
||||||
'statuses_count' => 0,
|
'geo_enabled' => false,
|
||||||
'following' => false,
|
|
||||||
'verified' => false,
|
'verified' => false,
|
||||||
|
'statuses_count' => 0,
|
||||||
|
'lang' => '',
|
||||||
|
'contributors_enabled' => false,
|
||||||
|
'is_translator' => false,
|
||||||
|
'is_translation_enabled' => false,
|
||||||
|
'profile_image_url' => $r[0]["avatar"],
|
||||||
|
'profile_image_url_https' => $r[0]["avatar"],
|
||||||
|
'following' => false,
|
||||||
|
'follow_request_sent' => false,
|
||||||
|
'notifications' => false,
|
||||||
'statusnet_blocking' => false,
|
'statusnet_blocking' => false,
|
||||||
'notifications' => false,
|
'notifications' => false,
|
||||||
'statusnet_profile_url' => $r[0]["url"],
|
'statusnet_profile_url' => $r[0]["url"],
|
||||||
|
@ -954,20 +962,29 @@
|
||||||
$converted = api_convert_item($item);
|
$converted = api_convert_item($item);
|
||||||
|
|
||||||
$status_info = array(
|
$status_info = array(
|
||||||
'text' => $converted["text"],
|
|
||||||
'truncated' => false,
|
|
||||||
'created_at' => api_date($lastwall['created']),
|
'created_at' => api_date($lastwall['created']),
|
||||||
'in_reply_to_status_id' => $in_reply_to_status_id,
|
|
||||||
'in_reply_to_status_id_str' => $in_reply_to_status_id_str,
|
|
||||||
'source' => (($lastwall['app']) ? $lastwall['app'] : 'web'),
|
|
||||||
'id' => intval($lastwall['id']),
|
'id' => intval($lastwall['id']),
|
||||||
'id_str' => (string) $lastwall['id'],
|
'id_str' => (string) $lastwall['id'],
|
||||||
|
'text' => $converted["text"],
|
||||||
|
'source' => (($lastwall['app']) ? $lastwall['app'] : 'web'),
|
||||||
|
'truncated' => false,
|
||||||
|
'in_reply_to_status_id' => $in_reply_to_status_id,
|
||||||
|
'in_reply_to_status_id_str' => $in_reply_to_status_id_str,
|
||||||
'in_reply_to_user_id' => $in_reply_to_user_id,
|
'in_reply_to_user_id' => $in_reply_to_user_id,
|
||||||
'in_reply_to_user_id_str' => $in_reply_to_user_id_str,
|
'in_reply_to_user_id_str' => $in_reply_to_user_id_str,
|
||||||
'in_reply_to_screen_name' => $in_reply_to_screen_name,
|
'in_reply_to_screen_name' => $in_reply_to_screen_name,
|
||||||
'geo' => NULL,
|
|
||||||
'favorited' => $lastwall['starred'] ? true : false,
|
|
||||||
'user' => $user_info,
|
'user' => $user_info,
|
||||||
|
'geo' => NULL,
|
||||||
|
'coordinates' => "",
|
||||||
|
'place' => "",
|
||||||
|
'contributors' => "",
|
||||||
|
'is_quote_status' => false,
|
||||||
|
'retweet_count' => 0,
|
||||||
|
'favorite_count' => 0,
|
||||||
|
'favorited' => $lastwall['starred'] ? true : false,
|
||||||
|
'retweeted' => false,
|
||||||
|
'possibly_sensitive' => false,
|
||||||
|
'lang' => "",
|
||||||
'statusnet_html' => $converted["html"],
|
'statusnet_html' => $converted["html"],
|
||||||
'statusnet_conversation_id' => $lastwall['parent'],
|
'statusnet_conversation_id' => $lastwall['parent'],
|
||||||
);
|
);
|
||||||
|
@ -2957,6 +2974,19 @@ function api_best_nickname(&$contacts) {
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
To.Do:
|
||||||
|
[pagename] => api/1.1/statuses/lookup.json
|
||||||
|
[id] => 605138389168451584
|
||||||
|
[include_cards] => true
|
||||||
|
[cards_platform] => Android-12
|
||||||
|
[include_entities] => true
|
||||||
|
[include_my_retweet] => 1
|
||||||
|
[include_rts] => 1
|
||||||
|
[include_reply_count] => true
|
||||||
|
[include_descendent_reply_count] => true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Not implemented by now:
|
Not implemented by now:
|
||||||
statuses/retweets_of_me
|
statuses/retweets_of_me
|
||||||
friendships/create
|
friendships/create
|
||||||
|
|
|
@ -1200,7 +1200,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
||||||
|
|
||||||
// fix any escaped ampersands that may have been converted into links
|
// fix any escaped ampersands that may have been converted into links
|
||||||
$Text = preg_replace("/\<([^>]*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
|
$Text = preg_replace("/\<([^>]*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text);
|
||||||
$Text = preg_replace("/\<([^>]*?)(src|href)=\"(?!http|ftp|mailto|cid)(.*?)\>/ism",'<$1$2="">',$Text);
|
// $Text = preg_replace("/\<([^>]*?)(src|href)=\"(?!http|ftp|mailto|cid)(.*?)\>/ism",'<$1$2="">',$Text);
|
||||||
|
|
||||||
if($saved_image)
|
if($saved_image)
|
||||||
$Text = bb_replace_images($Text, $saved_image);
|
$Text = bb_replace_images($Text, $saved_image);
|
||||||
|
|
|
@ -687,10 +687,15 @@ function db_definition() {
|
||||||
"fields" => array(
|
"fields" => array(
|
||||||
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||||
"guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"plink" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"network" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
|
||||||
),
|
),
|
||||||
"indexes" => array(
|
"indexes" => array(
|
||||||
"PRIMARY" => array("id"),
|
"PRIMARY" => array("id"),
|
||||||
"guid" => array("guid"),
|
"guid" => array("guid"),
|
||||||
|
"plink" => array("plink"),
|
||||||
|
"uri" => array("uri"),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$database["hook"] = array(
|
$database["hook"] = array(
|
||||||
|
|
|
@ -1099,7 +1099,15 @@ function encode_rel_links($links) {
|
||||||
return xmlify($o);
|
return xmlify($o);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function add_guid($item) {
|
||||||
|
$r = q("SELECT `guid` FROM `guid` WHERE `guid` = '%s' LIMIT 1", dbesc($item["guid"]));
|
||||||
|
if ($r)
|
||||||
|
return;
|
||||||
|
|
||||||
|
q("INSERT INTO `guid` (`guid`,`plink`,`uri`,`network`) VALUES ('%s','%s','%s','%s')",
|
||||||
|
dbesc($item["guid"]), dbesc($item["plink"]),
|
||||||
|
dbesc($item["uri"]), dbesc($item["network"]));
|
||||||
|
}
|
||||||
|
|
||||||
function item_store($arr,$force_parent = false, $notify = false, $dontcache = false) {
|
function item_store($arr,$force_parent = false, $notify = false, $dontcache = false) {
|
||||||
|
|
||||||
|
@ -1168,11 +1176,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is no guid then take the same guid that was taken before for the same uri
|
// If there is no guid then take the same guid that was taken before for the same uri
|
||||||
if ((trim($arr['guid']) == "") AND (trim($arr['uri']) != "")) {
|
if ((trim($arr['guid']) == "") AND (trim($arr['uri']) != "") AND (trim($arr['network']) != "")) {
|
||||||
logger('item_store: checking for an existing guid for uri '.$arr['uri'], LOGGER_DEBUG);
|
logger('item_store: checking for an existing guid for uri '.$arr['uri'], LOGGER_DEBUG);
|
||||||
$r = q("SELECT `guid` FROM `item` WHERE `uri` = '%s' AND `guid` != '' LIMIT 1",
|
$r = q("SELECT `guid` FROM `guid` WHERE `uri` = '%s' AND `network` = '%s' LIMIT 1",
|
||||||
dbesc(trim($arr['uri']))
|
dbesc(trim($arr['uri'])), dbesc(trim($arr['network'])));
|
||||||
);
|
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$arr['guid'] = $r[0]["guid"];
|
$arr['guid'] = $r[0]["guid"];
|
||||||
|
@ -1181,11 +1188,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is no guid then take the same guid that was taken before for the same plink
|
// If there is no guid then take the same guid that was taken before for the same plink
|
||||||
if ((trim($arr['guid']) == "") AND (trim($arr['plink']) != "")) {
|
if ((trim($arr['guid']) == "") AND (trim($arr['plink']) != "") AND (trim($arr['network']) != "")) {
|
||||||
logger('item_store: checking for an existing guid for plink '.$arr['plink'], LOGGER_DEBUG);
|
logger('item_store: checking for an existing guid for plink '.$arr['plink'], LOGGER_DEBUG);
|
||||||
$r = q("SELECT `guid` FROM `item` WHERE `plink` = '%s' AND `guid` != '' LIMIT 1",
|
$r = q("SELECT `guid` FROM `guid` WHERE `plink` = '%s' AND `network` = '%s' LIMIT 1",
|
||||||
dbesc(trim($arr['plink']))
|
dbesc(trim($arr['plink'])), dbesc(trim($arr['network'])));
|
||||||
);
|
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$arr['guid'] = $r[0]["guid"];
|
$arr['guid'] = $r[0]["guid"];
|
||||||
|
@ -1476,6 +1482,10 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
|
||||||
);
|
);
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
|
|
||||||
|
// Store the guid and other relevant data
|
||||||
|
add_guid($arr);
|
||||||
|
|
||||||
$current_post = $r[0]['id'];
|
$current_post = $r[0]['id'];
|
||||||
logger('item_store: created item ' . $current_post);
|
logger('item_store: created item ' . $current_post);
|
||||||
|
|
||||||
|
@ -1697,12 +1707,12 @@ function item_body_set_hashtags(&$item) {
|
||||||
// mask hashtags inside of url, bookmarks and attachments to avoid urls in urls
|
// mask hashtags inside of url, bookmarks and attachments to avoid urls in urls
|
||||||
$item["body"] = preg_replace_callback("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
$item["body"] = preg_replace_callback("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
||||||
function ($match){
|
function ($match){
|
||||||
return("[url=".$match[1]."]".str_replace("#", "#", $match[2])."[/url]");
|
return("[url=".str_replace("#", "#", $match[1])."]".str_replace("#", "#", $match[2])."[/url]");
|
||||||
},$item["body"]);
|
},$item["body"]);
|
||||||
|
|
||||||
$item["body"] = preg_replace_callback("/\[bookmark\=([$URLSearchString]*)\](.*?)\[\/bookmark\]/ism",
|
$item["body"] = preg_replace_callback("/\[bookmark\=([$URLSearchString]*)\](.*?)\[\/bookmark\]/ism",
|
||||||
function ($match){
|
function ($match){
|
||||||
return("[bookmark=".$match[1]."]".str_replace("#", "#", $match[2])."[/bookmark]");
|
return("[bookmark=".str_replace("#", "#", $match[1])."]".str_replace("#", "#", $match[2])."[/bookmark]");
|
||||||
},$item["body"]);
|
},$item["body"]);
|
||||||
|
|
||||||
$item["body"] = preg_replace_callback("/\[attachment (.*)\](.*?)\[\/attachment\]/ism",
|
$item["body"] = preg_replace_callback("/\[attachment (.*)\](.*?)\[\/attachment\]/ism",
|
||||||
|
@ -1714,6 +1724,7 @@ function item_body_set_hashtags(&$item) {
|
||||||
$item["body"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
$item["body"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
||||||
"#$2", $item["body"]);
|
"#$2", $item["body"]);
|
||||||
|
|
||||||
|
|
||||||
foreach($tags as $tag) {
|
foreach($tags as $tag) {
|
||||||
if(strpos($tag,'#') !== 0)
|
if(strpos($tag,'#') !== 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -193,8 +193,9 @@ function oembed_format_object($j){
|
||||||
} else {
|
} else {
|
||||||
// add <a> for html2bbcode conversion
|
// add <a> for html2bbcode conversion
|
||||||
$ret .= "<a href='$embedurl' rel='oembed'>$embedurl</a>";
|
$ret .= "<a href='$embedurl' rel='oembed'>$embedurl</a>";
|
||||||
$ret.="<br style='clear:left'></span>";
|
$ret .= "<br style='clear:left'>";
|
||||||
}
|
}
|
||||||
|
$ret.="</span>";
|
||||||
return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
|
return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,8 @@ function directory_content(&$a) {
|
||||||
|
|
||||||
require_once("mod/proxy.php");
|
require_once("mod/proxy.php");
|
||||||
|
|
||||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
if((get_config('system','block_public')) && (! local_user()) && (! remote_user()) ||
|
||||||
|
(get_config('system','block_local_dir')) && (! local_user()) && (! remote_user())) {
|
||||||
notice( t('Public access denied.') . EOL);
|
notice( t('Public access denied.') . EOL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -865,6 +865,9 @@ function item_post(&$a) {
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Store the guid and other relevant data
|
||||||
|
add_guid($datarray);
|
||||||
|
|
||||||
$post_id = $r[0]['id'];
|
$post_id = $r[0]['id'];
|
||||||
logger('mod_item: saved item ' . $post_id);
|
logger('mod_item: saved item ' . $post_id);
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ function poco_init(&$a) {
|
||||||
|
|
||||||
$system_mode = false;
|
$system_mode = false;
|
||||||
|
|
||||||
if(intval(get_config('system','block_public')))
|
if(intval(get_config('system','block_public')) || (get_config('system','block_local_dir')))
|
||||||
http_status_exit(401);
|
http_status_exit(401);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1184 );
|
define( 'UPDATE_VERSION' , 1185 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue