mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-17 04:15:15 +02:00
Merge remote-tracking branch 'upstream/develop' into public-redir
This commit is contained in:
commit
b5b172500d
59 changed files with 18880 additions and 13205 deletions
|
@ -65,7 +65,7 @@ function admin_post(App $a)
|
|||
case 'addons':
|
||||
if ($a->argc > 2 &&
|
||||
is_file("addon/" . $a->argv[2] . "/" . $a->argv[2] . ".php")) {
|
||||
@include_once("addon/" . $a->argv[2] . "/" . $a->argv[2] . ".php");
|
||||
include_once "addon/" . $a->argv[2] . "/" . $a->argv[2] . ".php";
|
||||
if (function_exists($a->argv[2] . '_addon_admin_post')) {
|
||||
$func = $a->argv[2] . '_addon_admin_post';
|
||||
$func($a);
|
||||
|
@ -916,6 +916,7 @@ function admin_page_site_post(App $a)
|
|||
$upds = implode(", ", $upd);
|
||||
|
||||
$r = q("UPDATE %s SET %s;", $table_name, $upds);
|
||||
|
||||
if (!DBM::is_result($r)) {
|
||||
notice("Failed updating '$table_name': " . dba::errorMessage());
|
||||
goaway('admin/site');
|
||||
|
@ -1297,15 +1298,18 @@ function admin_page_site(App $a)
|
|||
$user_names = [];
|
||||
$user_names['---'] = L10n::t('Multi user instance');
|
||||
$users = q("SELECT `username`, `nickname` FROM `user`");
|
||||
|
||||
foreach ($users as $user) {
|
||||
$user_names[$user['nickname']] = $user['username'];
|
||||
}
|
||||
|
||||
/* Banner */
|
||||
$banner = Config::get('system', 'banner');
|
||||
|
||||
if ($banner == false) {
|
||||
$banner = '<a href="https://friendi.ca"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="https://friendi.ca">Friendica</a></span>';
|
||||
}
|
||||
|
||||
$banner = htmlspecialchars($banner);
|
||||
$info = Config::get('config', 'info');
|
||||
$info = htmlspecialchars($info);
|
||||
|
@ -1437,7 +1441,7 @@ function admin_page_site(App $a)
|
|||
'$max_comments' => ['max_comments', L10n::t("Maximum numbers of comments per post"), Config::get('system','max_comments'), L10n::t("How much comments should be shown for each post? Default value is 100.")],
|
||||
'$temppath' => ['temppath', L10n::t("Temp path"), Config::get('system','temppath'), L10n::t("If you have a restricted system where the webserver can't access the system temp path, enter another path here.")],
|
||||
'$basepath' => ['basepath', L10n::t("Base path to installation"), Config::get('system','basepath'), L10n::t("If the system cannot detect the correct path to your installation, enter the correct path here. This setting should only be set if you are using a restricted system and symbolic links to your webroot.")],
|
||||
'$proxy_disabled' => ['proxy_disabled', L10n::t("Disable picture proxy"), Config::get('system','proxy_disabled'), L10n::t("The picture proxy increases performance and privacy. It shouldn't be used on systems with very low bandwith.")],
|
||||
'$proxy_disabled' => ['proxy_disabled', L10n::t("Disable picture proxy"), Config::get('system','proxy_disabled'), L10n::t("The picture proxy increases performance and privacy. It shouldn't be used on systems with very low bandwidth.")],
|
||||
'$only_tag_search' => ['only_tag_search', L10n::t("Only search in tags"), Config::get('system','only_tag_search'), L10n::t("On large systems the text search can slow down the system extremely.")],
|
||||
|
||||
'$relocate_url' => ['relocate_url', L10n::t("New base url"), System::baseUrl(), L10n::t("Change base url for this server. Sends relocate message to all Friendica and Diaspora* contacts of all users.")],
|
||||
|
@ -1501,9 +1505,12 @@ function admin_page_dbsync(App $a)
|
|||
|
||||
if ($a->argc > 2 && intval($a->argv[2])) {
|
||||
require_once 'update.php';
|
||||
|
||||
$func = 'update_' . intval($a->argv[2]);
|
||||
|
||||
if (function_exists($func)) {
|
||||
$retval = $func();
|
||||
|
||||
if ($retval === UPDATE_FAILED) {
|
||||
$o .= L10n::t("Executing %s failed with error: %s", $func, $retval);
|
||||
} elseif ($retval === UPDATE_SUCCESS) {
|
||||
|
@ -1516,11 +1523,13 @@ function admin_page_dbsync(App $a)
|
|||
$o .= L10n::t('There was no additional update function %s that needed to be called.', $func) . "<br />";
|
||||
Config::set('database', $func, 'success');
|
||||
}
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
$failed = [];
|
||||
$r = q("SELECT `k`, `v` FROM `config` WHERE `cat` = 'database' ");
|
||||
|
||||
if (DBM::is_result($r)) {
|
||||
foreach ($r as $rr) {
|
||||
$upd = intval(substr($rr['k'], 7));
|
||||
|
@ -1530,6 +1539,7 @@ function admin_page_dbsync(App $a)
|
|||
$failed[] = $upd;
|
||||
}
|
||||
}
|
||||
|
||||
if (!count($failed)) {
|
||||
$o = replace_macros(get_markup_template('structure_check.tpl'), [
|
||||
'$base' => System::baseUrl(true),
|
||||
|
@ -1764,8 +1774,8 @@ function admin_page_users(App $a)
|
|||
$e['page-flags-raw'] = $e['page-flags'];
|
||||
$e['page-flags'] = $page_types[$e['page-flags']];
|
||||
|
||||
$e['account-type-raw'] = ($e['page_flags_raw']==0) ? $e['account-type'] : -1;
|
||||
$e['account-type'] = ($e['page_flags_raw']==0) ? $account_types[$e['account-type']] : "";
|
||||
$e['account-type-raw'] = ($e['page_flags_raw'] == 0) ? $e['account-type'] : -1;
|
||||
$e['account-type'] = ($e['page_flags_raw'] == 0) ? $account_types[$e['account-type']] : "";
|
||||
|
||||
$e['register_date'] = Temporal::getRelativeDate($e['register_date']);
|
||||
$e['login_date'] = Temporal::getRelativeDate($e['login_date']);
|
||||
|
@ -1916,7 +1926,7 @@ function admin_page_addons(App $a)
|
|||
|
||||
$admin_form = "";
|
||||
if (in_array($addon, $a->addons_admin)) {
|
||||
@require_once("addon/$addon/$addon.php");
|
||||
require_once "addon/$addon/$addon.php";
|
||||
$func = $addon . '_addon_admin';
|
||||
$func($a, $admin_form);
|
||||
}
|
||||
|
@ -2157,6 +2167,7 @@ function admin_page_themes(App $a)
|
|||
}
|
||||
|
||||
$readme = null;
|
||||
|
||||
if (is_file("view/theme/$theme/README.md")) {
|
||||
$readme = Markdown::convert(file_get_contents("view/theme/$theme/README.md"), false);
|
||||
} elseif (is_file("view/theme/$theme/README")) {
|
||||
|
|
|
@ -433,6 +433,7 @@ function events_content(App $a) {
|
|||
if (x($_REQUEST, 'location')) {$orig_event['location'] = $_REQUEST['location'];}
|
||||
if (x($_REQUEST, 'start')) {$orig_event['start'] = $_REQUEST['start'];}
|
||||
if (x($_REQUEST, 'finish')) {$orig_event['finish'] = $_REQUEST['finish'];}
|
||||
if (x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
|
||||
|
||||
$n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
|
||||
$a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
|
||||
|
|
|
@ -1231,9 +1231,11 @@ function photos_content(App $a)
|
|||
$prevlink = '';
|
||||
$nextlink = '';
|
||||
|
||||
/// @todo This query is totally bad, the whole functionality has to be changed
|
||||
// The query leads to a really intense used index.
|
||||
// By now we hide it if someone wants to.
|
||||
/*
|
||||
* @todo This query is totally bad, the whole functionality has to be changed
|
||||
* The query leads to a really intense used index.
|
||||
* By now we hide it if someone wants to.
|
||||
*/
|
||||
if (!Config::get('system', 'no_count', false)) {
|
||||
$order_field = defaults($_GET, 'order', '');
|
||||
if ($order_field === 'posted') {
|
||||
|
@ -1268,8 +1270,10 @@ function photos_content(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
if (count($ph) == 1)
|
||||
if (count($ph) == 1) {
|
||||
$hires = $lores = $ph[0];
|
||||
}
|
||||
|
||||
if (count($ph) > 1) {
|
||||
if ($ph[1]['scale'] == 2) {
|
||||
// original is 640 or less, we can display it directly
|
||||
|
@ -1281,6 +1285,7 @@ function photos_content(App $a)
|
|||
}
|
||||
|
||||
$album_link = 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']);
|
||||
|
||||
$tools = null;
|
||||
$lock = null;
|
||||
|
||||
|
@ -1307,8 +1312,9 @@ function photos_content(App $a)
|
|||
]);
|
||||
}
|
||||
|
||||
if ($prevlink)
|
||||
if ($prevlink) {
|
||||
$prevlink = [$prevlink, '<div class="icon prev"></div>'] ;
|
||||
}
|
||||
|
||||
$photo = [
|
||||
'href' => 'photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.' . $phototypes[$hires['type']],
|
||||
|
@ -1669,8 +1675,9 @@ function photos_content(App $a)
|
|||
$twist = false;
|
||||
foreach ($r as $rr) {
|
||||
//hide profile photos to others
|
||||
if (!$is_owner && !remote_user() && ($rr['album'] == L10n::t('Profile Photos')))
|
||||
if (!$is_owner && !remote_user() && ($rr['album'] == L10n::t('Profile Photos'))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$twist = !$twist;
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@ function poco_init(App $a) {
|
|||
echo json_encode($ret);
|
||||
killme();
|
||||
}
|
||||
|
||||
if ($a->argc > 1 && $a->argv[1] === '@global') {
|
||||
// List of all profiles that this server recently had data from
|
||||
$global = true;
|
||||
|
|
|
@ -966,7 +966,7 @@ function settings_content(App $a)
|
|||
'$noinfo' => ['noinfo', L10n::t("Don't show notices"), $noinfo, ''],
|
||||
'$infinite_scroll' => ['infinite_scroll', L10n::t("Infinite scroll"), $infinite_scroll, ''],
|
||||
'$no_auto_update' => ['no_auto_update', L10n::t("Automatic updates only at the top of the network page"), $no_auto_update, L10n::t('When disabled, the network page is updated all the time, which could be confusing while reading.')],
|
||||
'$bandwidth_saver' => ['bandwidth_saver', L10n::t('Bandwith Saver Mode'), $bandwidth_saver, L10n::t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')],
|
||||
'$bandwidth_saver' => ['bandwidth_saver', L10n::t('Bandwidth Saver Mode'), $bandwidth_saver, L10n::t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')],
|
||||
'$smart_threading' => ['smart_threading', L10n::t('Smart Threading'), $smart_threading, L10n::t('When enabled, suppress extraneous thread indentation while keeping it where it matters. Only works if threading is available and enabled.')],
|
||||
|
||||
'$d_tset' => L10n::t('General Theme Settings'),
|
||||
|
|
|
@ -5,6 +5,7 @@ use Friendica\Database\DBM;
|
|||
|
||||
function share_init(App $a) {
|
||||
$post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
if (!$post_id || !local_user()) {
|
||||
killme();
|
||||
}
|
||||
|
@ -14,37 +15,44 @@ function share_init(App $a) {
|
|||
WHERE `item`.`id` = %d LIMIT 1",
|
||||
intval($post_id)
|
||||
);
|
||||
|
||||
if (!DBM::is_result($r) || ($r[0]['private'] == 1)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
if (strpos($r[0]['body'], "[/share]") !== false) {
|
||||
$pos = strpos($r[0]['body'], "[share");
|
||||
$o = substr($r[0]['body'], $pos);
|
||||
} else {
|
||||
$o = share_header($r[0]['author-name'], $r[0]['author-link'], $r[0]['author-avatar'], $r[0]['guid'], $r[0]['created'], $r[0]['plink']);
|
||||
|
||||
if ($r[0]['title'])
|
||||
if ($r[0]['title']) {
|
||||
$o .= '[b]'.$r[0]['title'].'[/b]'."\n";
|
||||
}
|
||||
|
||||
$o .= $r[0]['body'];
|
||||
$o.= "[/share]";
|
||||
$o .= "[/share]";
|
||||
}
|
||||
|
||||
echo $o;
|
||||
killme();
|
||||
}
|
||||
|
||||
/// @TODO Rewrite to handle over whole record array
|
||||
function share_header($author, $profile, $avatar, $guid, $posted, $link) {
|
||||
$header = "[share author='".str_replace(["'", "[", "]"], ["'", "[", "]"], $author).
|
||||
"' profile='".str_replace(["'", "[", "]"], ["'", "[", "]"], $profile).
|
||||
"' avatar='".str_replace(["'", "[", "]"], ["'", "[", "]"], $avatar);
|
||||
$header = "[share author='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $author).
|
||||
"' profile='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $profile).
|
||||
"' avatar='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $avatar);
|
||||
|
||||
if ($guid) {
|
||||
$header .= "' guid='".str_replace(["'", "[", "]"], ["'", "[", "]"], $guid);
|
||||
$header .= "' guid='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $guid);
|
||||
}
|
||||
|
||||
if ($posted) {
|
||||
$header .= "' posted='".str_replace(["'", "[", "]"], ["'", "[", "]"], $posted);
|
||||
$header .= "' posted='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $posted);
|
||||
}
|
||||
$header .= "' link='".str_replace(["'", "[", "]"], ["'", "[", "]"], $link)."']";
|
||||
|
||||
$header .= "' link='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $link)."']";
|
||||
|
||||
return $header;
|
||||
}
|
||||
|
|
|
@ -63,17 +63,19 @@ function subthread_content(App $a) {
|
|||
WHERE `contact`.`self` = 1 AND `contact`.`uid` = %d LIMIT 1",
|
||||
intval($owner_uid)
|
||||
);
|
||||
if (DBM::is_result($r))
|
||||
|
||||
if (DBM::is_result($r)) {
|
||||
$owner = $r[0];
|
||||
}
|
||||
|
||||
if (! $owner) {
|
||||
logger('like: no owner');
|
||||
return;
|
||||
}
|
||||
|
||||
if (! $remote_owner)
|
||||
if (! $remote_owner) {
|
||||
$remote_owner = $owner;
|
||||
|
||||
}
|
||||
|
||||
$contact = null;
|
||||
// This represents the person posting
|
||||
|
@ -85,8 +87,10 @@ function subthread_content(App $a) {
|
|||
intval($_SESSION['visitor_id']),
|
||||
intval($owner_uid)
|
||||
);
|
||||
if (DBM::is_result($r))
|
||||
|
||||
if (DBM::is_result($r)) {
|
||||
$contact = $r[0];
|
||||
}
|
||||
}
|
||||
if (! $contact) {
|
||||
return;
|
||||
|
|
|
@ -159,11 +159,13 @@ EOT;
|
|||
}
|
||||
|
||||
$term_objtype = ($item['resource-id'] ? TERM_OBJ_PHOTO : TERM_OBJ_POST);
|
||||
$t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
|
||||
intval($item['id']),
|
||||
dbesc($term)
|
||||
);
|
||||
if((! $blocktags) && $t[0]['tcount']==0 ) {
|
||||
|
||||
$t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
|
||||
intval($item['id']),
|
||||
dbesc($term)
|
||||
);
|
||||
|
||||
if ((!$blocktags) && $t[0]['tcount'] == 0 ) {
|
||||
q("INSERT INTO term (oid, otype, type, term, url, uid) VALUE (%d, %d, %d, '%s', '%s', %d)",
|
||||
intval($item['id']),
|
||||
$term_objtype,
|
||||
|
@ -176,26 +178,28 @@ EOT;
|
|||
|
||||
// if the original post is on this site, update it.
|
||||
|
||||
$r = q("select `tag`,`id`,`uid` from item where `origin` = 1 AND `uri` = '%s' LIMIT 1",
|
||||
$r = q("SELECT `tag`,`id`,`uid` FROM `item` WHERE `origin`=1 AND `uri`='%s' LIMIT 1",
|
||||
dbesc($item['uri'])
|
||||
);
|
||||
|
||||
if (DBM::is_result($r)) {
|
||||
$x = q("SELECT `blocktags` FROM `user` WHERE `uid` = %d limit 1",
|
||||
$x = q("SELECT `blocktags` FROM `user` WHERE `uid`=%d LIMIT 1",
|
||||
intval($r[0]['uid'])
|
||||
);
|
||||
$t = q("SELECT count(tid) as tcount FROM term WHERE oid=%d AND term='%s'",
|
||||
$t = q("SELECT COUNT(`tid`) AS `tcount` FROM `term` WHERE `oid`=%d AND `term`='%s'",
|
||||
intval($r[0]['id']),
|
||||
dbesc($term)
|
||||
);
|
||||
if(count($x) && !$x[0]['blocktags'] && $t[0]['tcount']==0){
|
||||
q("INSERT INTO term (oid, otype, type, term, url, uid) VALUE (%d, %d, %d, '%s', '%s', %d)",
|
||||
intval($r[0]['id']),
|
||||
$term_objtype,
|
||||
TERM_HASHTAG,
|
||||
dbesc($term),
|
||||
dbesc(System::baseUrl() . '/search?tag=' . $term),
|
||||
intval($owner_uid)
|
||||
);
|
||||
|
||||
if (DBM::is_result($x) && !$x[0]['blocktags'] && $t[0]['tcount'] == 0){
|
||||
q("INSERT INTO term (`oid`, `otype`, `type`, `term`, `url`, `uid`) VALUE (%d, %d, %d, '%s', '%s', %d)",
|
||||
intval($r[0]['id']),
|
||||
$term_objtype,
|
||||
TERM_HASHTAG,
|
||||
dbesc($term),
|
||||
dbesc(System::baseUrl() . '/search?tag=' . $term),
|
||||
intval($owner_uid)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ function update_community_content(App $a) {
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
if (PConfig::get(local_user(), "system", "bandwith_saver")) {
|
||||
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
|
||||
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
|
|
@ -23,7 +23,7 @@ function update_display_content(App $a)
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
if (PConfig::get(local_user(), "system", "bandwith_saver")) {
|
||||
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
|
||||
$replace = "<br />" . L10n::t("[Embedded content - reload page to view]") . "<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
|
|
@ -29,7 +29,7 @@ function update_network_content(App $a)
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
if (PConfig::get(local_user(), "system", "bandwith_saver")) {
|
||||
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
|
||||
$replace = "<br />" . L10n::t("[Embedded content - reload page to view]") . "<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
|
|
@ -36,7 +36,7 @@ function update_notes_content(App $a) {
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
if (PConfig::get(local_user(), "system", "bandwith_saver")) {
|
||||
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
|
||||
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
|
|
@ -35,7 +35,7 @@ function update_profile_content(App $a) {
|
|||
$replace = "<img\${1} dst=\"\${2}\"";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
||||
if (PConfig::get(local_user(), "system", "bandwith_saver")) {
|
||||
if (PConfig::get(local_user(), "system", "bandwidth_saver")) {
|
||||
$replace = "<br />".L10n::t("[Embedded content - reload page to view]")."<br />";
|
||||
$pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
|
||||
$text = preg_replace($pattern, $replace, $text);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue