Merge branch 'master' into oauth2
This commit is contained in:
commit
245142cc07
@ -266,7 +266,7 @@ class Chatroom {
|
||||
intval($room_id),
|
||||
dbesc($xchan),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($arr['chat_text'])
|
||||
dbesc(str_rot47(base64url_encode($arr['chat_text'])))
|
||||
);
|
||||
|
||||
$ret['success'] = true;
|
||||
|
@ -60,7 +60,7 @@ class Chatsvc extends \Zotlabs\Web\Controller {
|
||||
intval(\App::$data['chat']['room_id']),
|
||||
dbesc(get_observer_hash()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($arr['chat_text'])
|
||||
dbesc(str_rot47(base64url_encode($arr['chat_text'])))
|
||||
);
|
||||
|
||||
$ret['success'] = true;
|
||||
@ -157,7 +157,7 @@ class Chatsvc extends \Zotlabs\Web\Controller {
|
||||
'name' => $rr['xchan_name'],
|
||||
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $rr['created'], 'c'),
|
||||
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $rr['created'], 'r'),
|
||||
'text' => zidify_links(smilies(bbcode($rr['chat_text']))),
|
||||
'text' => zidify_links(smilies(bbcode(base64url_decode(str_rot47($rr['chat_text']))))),
|
||||
'self' => ((get_observer_hash() == $rr['chat_xchan']) ? 'self' : '')
|
||||
);
|
||||
}
|
||||
|
@ -412,12 +412,16 @@ class Channel {
|
||||
));
|
||||
|
||||
$subdir = ((strlen(\App::get_path())) ? '<br />' . t('or') . ' ' . z_root() . '/channel/' . $nickname : '');
|
||||
|
||||
$webbie = $nickname . '@' . \App::get_hostname();
|
||||
$intl_nickname = unpunify($nickname) . '@' . unpunify(\App::get_hostname());
|
||||
|
||||
|
||||
$tpl_addr = get_markup_template("settings_nick_set.tpl");
|
||||
|
||||
$prof_addr = replace_macros($tpl_addr,array(
|
||||
'$desc' => t('Your channel address is'),
|
||||
'$nickname' => $nickname,
|
||||
'$nickname' => (($intl_nickname === $webbie) ? $webbie : $intl_nickname . ' (' . $webbie . ')'),
|
||||
'$subdir' => $subdir,
|
||||
'$davdesc' => t('Your files/photos are accessible via WebDAV at'),
|
||||
'$davpath' => ((get_account_techlevel() > 3) ? z_root() . '/dav/' . $nickname : ''),
|
||||
|
@ -125,10 +125,16 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
|
||||
*/
|
||||
function dob($dob) {
|
||||
|
||||
$y = substr($dob,0,4);
|
||||
if((! ctype_digit($y)) || ($y < 1900))
|
||||
$ignore_year = true;
|
||||
else
|
||||
$ignore_year = false;
|
||||
|
||||
if ($dob === '0000-00-00' || $dob === '')
|
||||
$value = '';
|
||||
else
|
||||
$value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d'));
|
||||
$value = (($ignore_year) ? datetime_convert('UTC','UTC',$dob,'m-d') : datetime_convert('UTC','UTC',$dob,'Y-m-d'));
|
||||
|
||||
$o = replace_macros(get_markup_template("field_input.tpl"), [
|
||||
'$field' => [ 'dob', t('Birthday'), $value, ((intval($value)) ? t('Age: ') . age($value,App::$user['timezone'],App::$user['timezone']) : ''), '', 'placeholder="' . t('YYYY-MM-DD or MM-DD') .'"' ]
|
||||
|
@ -2532,43 +2532,7 @@ function tag_deliver($uid, $item_id) {
|
||||
*/
|
||||
|
||||
if($item['obj_type'] === ACTIVITY_OBJ_TAGTERM) {
|
||||
|
||||
// We received a community tag activity for a post.
|
||||
// See if we are the owner of the parent item and have given permission to tag our posts.
|
||||
// If so tag the parent post.
|
||||
|
||||
logger('tag_deliver: community tag activity received');
|
||||
|
||||
if(($item['owner_xchan'] === $u[0]['channel_hash']) && (! get_pconfig($u[0]['channel_id'],'system','blocktags'))) {
|
||||
logger('tag_deliver: community tag recipient: ' . $u[0]['channel_name']);
|
||||
$j_tgt = json_decode($item['target'],true);
|
||||
if($j_tgt && $j_tgt['id']) {
|
||||
$p = q("select * from item where mid = '%s' and uid = %d limit 1",
|
||||
dbesc($j_tgt['id']),
|
||||
intval($u[0]['channel_id'])
|
||||
);
|
||||
if($p) {
|
||||
$j_obj = json_decode($item['obj'],true);
|
||||
logger('tag_deliver: tag object: ' . print_r($j_obj,true), LOGGER_DATA);
|
||||
if($j_obj && $j_obj['id'] && $j_obj['title']) {
|
||||
if(is_array($j_obj['link']))
|
||||
$taglink = get_rel_link($j_obj['link'],'alternate');
|
||||
|
||||
store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$j_obj['title'],$j_obj['id']);
|
||||
$x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($j_tgt['id']),
|
||||
intval($u[0]['channel_id'])
|
||||
);
|
||||
Zotlabs\Daemon\Master::Summon(array('Notifier','edit_post',$p[0]['id']));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
logger('Tag permission denied for ' . $u[0]['channel_address']);
|
||||
item_community_tag($u[0],$item);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2763,6 +2727,61 @@ function tag_deliver($uid, $item_id) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
function item_community_tag($channel,$item) {
|
||||
|
||||
|
||||
// We received a community tag activity for a post.
|
||||
// See if we are the owner of the parent item and have given permission to tag our posts.
|
||||
// If so tag the parent post.
|
||||
|
||||
logger('tag_deliver: community tag activity received: channel: ' . $channel['channel_name']);
|
||||
|
||||
$tag_the_post = false;
|
||||
$p = null;
|
||||
|
||||
$j_obj = json_decode($item['obj'],true);
|
||||
$j_tgt = json_decode($item['target'],true);
|
||||
if($j_tgt && $j_tgt['id']) {
|
||||
$p = q("select * from item where mid = '%s' and uid = %d limit 1",
|
||||
dbesc($j_tgt['id']),
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
}
|
||||
if($p) {
|
||||
xchan_query($p);
|
||||
$items = fetch_post_tags($p,true);
|
||||
$pitem = $items[0];
|
||||
$auth = get_iconfig($item,'system','communitytagauth');
|
||||
if($auth) {
|
||||
if(rsa_verify('tagauth.' . $item['mid'],base64url_decode($auth),$pitem['owner']['xchan_pubkey']) || rsa_verify('tagauth.' . $item['mid'],base64url_decode($auth),$pitem['author']['xchan_pubkey'])) {
|
||||
logger('tag_deliver: tagging the post: ' . $channel['channel_name']);
|
||||
$tag_the_post = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(($pitem['owner_xchan'] === $channel['channel_hash']) && (! intval(get_pconfig($channel['channel_id'],'system','blocktags')))) {
|
||||
logger('tag_deliver: community tag recipient: ' . $channel['channel_name']);
|
||||
$tag_the_post = true;
|
||||
$sig = rsa_sign('tagauth.' . $item['mid'],$channel['channel_prvkey']);
|
||||
logger('tag_deliver: setting iconfig for ' . $item['id']);
|
||||
set_iconfig($item['id'],'system','communitytagauth',base64url_encode($sig),1);
|
||||
}
|
||||
}
|
||||
|
||||
if($tag_the_post) {
|
||||
store_item_tag($channel['channel_id'],$pitem['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$j_obj['title'],$j_obj['id']);
|
||||
}
|
||||
else {
|
||||
logger('Tag permission denied for ' . $channel['channel_address']);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief This function is called pre-deliver to see if a post matches the criteria to be tag delivered.
|
||||
*
|
||||
|
@ -17,23 +17,10 @@ function update_channels_active_halfyear_stat() {
|
||||
db_utcnow(), db_quoteinterval('6 MONTH')
|
||||
);
|
||||
if($r) {
|
||||
$s = '';
|
||||
foreach($r as $rr) {
|
||||
if($s)
|
||||
$s .= ',';
|
||||
$s .= intval($rr['channel_id']);
|
||||
}
|
||||
$x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
|
||||
db_utcnow(), db_quoteinterval('6 MONTH')
|
||||
);
|
||||
if($x) {
|
||||
$channels_active_halfyear_stat = count($x);
|
||||
set_config('system','channels_active_halfyear_stat',$channels_active_halfyear_stat);
|
||||
} else {
|
||||
set_config('system','channels_active_halfyear_stat',0);
|
||||
}
|
||||
} else {
|
||||
set_config('system','channels_active_halfyear_stat',0);
|
||||
set_config('system','channels_active_halfyear_stat',count($r));
|
||||
}
|
||||
else {
|
||||
set_config('system','channels_active_halfyear_stat','0');
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,28 +30,15 @@ function update_channels_active_monthly_stat() {
|
||||
db_utcnow(), db_quoteinterval('1 MONTH')
|
||||
);
|
||||
if($r) {
|
||||
$s = '';
|
||||
foreach($r as $rr) {
|
||||
if($s)
|
||||
$s .= ',';
|
||||
$s .= intval($rr['channel_id']);
|
||||
}
|
||||
$x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
|
||||
db_utcnow(), db_quoteinterval('1 MONTH')
|
||||
);
|
||||
if($x) {
|
||||
$channels_active_monthly_stat = count($x);
|
||||
set_config('system','channels_active_monthly_stat',$channels_active_monthly_stat);
|
||||
} else {
|
||||
set_config('system','channels_active_monthly_stat',0);
|
||||
}
|
||||
} else {
|
||||
set_config('system','channels_active_monthly_stat',0);
|
||||
set_config('system','channels_active_monthly_stat',count($r));
|
||||
}
|
||||
else {
|
||||
set_config('system','channels_active_monthly_stat','0');
|
||||
}
|
||||
}
|
||||
|
||||
function update_local_posts_stat() {
|
||||
$posts = q("SELECT COUNT(*) AS local_posts FROM item WHERE item_wall = 1 ");
|
||||
$posts = q("SELECT COUNT(*) AS local_posts FROM item WHERE item_wall = 1 and id = parent");
|
||||
if (is_array($posts)) {
|
||||
$local_posts_stat = intval($posts[0]["local_posts"]);
|
||||
set_config('system','local_posts_stat',$local_posts_stat);
|
||||
|
@ -91,7 +91,7 @@
|
||||
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
{{if $nav.login && !$userinfo}}
|
||||
<li class="nav-item d-none d-xl-flex">
|
||||
<li class="nav-item d-lg-flex">
|
||||
{{if $nav.loginmenu.1.4}}
|
||||
<a class="nav-link" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">
|
||||
{{$nav.loginmenu.1.1}}
|
||||
@ -104,12 +104,12 @@
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.register}}
|
||||
<li class="nav-item {{$nav.register.2}} d-none d-xl-flex">
|
||||
<li class="nav-item {{$nav.register.2}} d-lg-flex">
|
||||
<a class="nav-link" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.alogout}}
|
||||
<li class="nav-item {{$nav.alogout.2}} d-none d-xl-flex">
|
||||
<li class="nav-item {{$nav.alogout.2}} d-lg-flex">
|
||||
<a class="nav-link" href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
@ -91,7 +91,7 @@
|
||||
<div class="collapse navbar-collapse" id="navbar-collapse-1">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
{{if $nav.login && !$userinfo}}
|
||||
<li class="nav-item d-none d-xl-flex">
|
||||
<li class="nav-item d-lg-flex">
|
||||
{{if $nav.loginmenu.1.4}}
|
||||
<a class="nav-link" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">
|
||||
{{$nav.loginmenu.1.1}}
|
||||
@ -104,12 +104,12 @@
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.register}}
|
||||
<li class="nav-item {{$nav.register.2}} d-none d-xl-flex">
|
||||
<li class="nav-item {{$nav.register.2}} d-lg-flex">
|
||||
<a class="nav-link" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.alogout}}
|
||||
<li class="nav-item {{$nav.alogout.2}} d-none d-xl-flex">
|
||||
<li class="nav-item {{$nav.alogout.2}} d-none d-lg-flex">
|
||||
<a class="nav-link" href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div id="settings-nick-wrapper" class="section-content-info-wrapper">
|
||||
<div id="settings-nickname-desc">{{$desc}} <strong>'{{$nickname}}@{{$basepath}}'</strong></div>
|
||||
<div id="settings-nickname-desc">{{$desc}} <strong>{{$nickname}}</strong></div>
|
||||
{{if $davpath}}
|
||||
<br>
|
||||
<div id="settings-dav-desc">{{$davdesc}} <strong>'{{$davpath}}'</strong></div>
|
||||
|
Reference in New Issue
Block a user