diff options
author | tuscanhobbit <tuscanhobbit@users.noreply.github.com> | 2014-09-28 23:19:44 +0200 |
---|---|---|
committer | tuscanhobbit <tuscanhobbit@users.noreply.github.com> | 2014-09-28 23:19:44 +0200 |
commit | a548f644d05f330a2b70c87df821bce05007c979 (patch) | |
tree | 41eacca012451ef5a0dabb7471d810f37be100a9 /mod | |
parent | f104dc840c79f4ea666a85033bffbf4a33d06f4e (diff) | |
parent | e18dfbe3ce0a8d89a5320e4f239801d0b84dd83e (diff) | |
download | volse-hubzilla-a548f644d05f330a2b70c87df821bce05007c979.tar.gz volse-hubzilla-a548f644d05f330a2b70c87df821bce05007c979.tar.bz2 volse-hubzilla-a548f644d05f330a2b70c87df821bce05007c979.zip |
Merge from upstream
Diffstat (limited to 'mod')
-rw-r--r-- | mod/p.php | 52 | ||||
-rw-r--r-- | mod/photos.php | 4 | ||||
-rw-r--r-- | mod/siteinfo.php | 52 |
3 files changed, 104 insertions, 4 deletions
diff --git a/mod/p.php b/mod/p.php new file mode 100644 index 000000000..227f9e24a --- /dev/null +++ b/mod/p.php @@ -0,0 +1,52 @@ +<?php /** @file */ + +require_once('include/bb2diaspora.php'); + +// used in Diaspora communications to provide a server copy of a sent post in XML format. + +function p_init(&$a) { + + if(argc() < 2) + http_status_exit(401); + + $mid = str_replace('.xml','',argv(1)); + + $r = q("select * from item where mid = '%s' and (item_flags & %d) and item_private = 0 limit 1", + dbesc($mid), + intval(ITEM_WALL) + ); + + + if((! $r) || (! perm_is_allowed($r[0]['uid'],'','view_stream'))) + http_status_exit(404); + + + $c = q("select * from channel where channel_id = %d limit 1", + intval($r[0]['uid']) + ); + + if(! $c) + http_status_exit(404); + + $myaddr = $c[0]['channel_address'] . '@' . $a->get_hostname(); + + $item = $r[0]; + + $title = $item['title']; + $body = bb2diaspora_itembody($item); + $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C'); + + $tpl = get_markup_template('diaspora_post.tpl'); + $msg = replace_macros($tpl, array( + '$body' => xmlify($body), + '$guid' => $item['mid'], + '$handle' => xmlify($myaddr), + '$public' => 'true', + '$created' => $created, + '$provider' => (($item['app']) ? $item['app'] : 'redmatrix') + )); + + header('Content-type: text/xml'); + echo $msg; + killme(); +}
\ No newline at end of file diff --git a/mod/photos.php b/mod/photos.php index c2d90184e..0ff0e29c9 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -654,7 +654,7 @@ function photos_content(&$a) { ); $o .= '<div class="section-title-wrapper">'; - $o .= '<h3>' . $album . '</h3>'; + $o .= '<h2>' . $album . '</h2>'; $o .= '<div class="section-title-submenu">'; if($cmd === 'edit') { if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { @@ -1238,7 +1238,7 @@ function photos_content(&$a) { $o .= replace_macros($tpl, array( '$title' => t('Recent Photos'), '$can_post' => $can_post, - '$upload' => array(t('Upload New Photos'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), + '$upload' => array(t('Upload'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), '$photos' => $photos, )); diff --git a/mod/siteinfo.php b/mod/siteinfo.php index 01355a51d..bdae14edb 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -48,6 +48,51 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); + + // Statistics (from statistics.json plugin) + + $r = q("select count(channel_id) as channels_total from channel left join account on account_id = channel_account_id + where account_flags = 0 "); + if($r) + $channels_total = $r[0]['channels_total']; + + $r = q("select channel_id from channel left join account on account_id = channel_account_id + where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 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_flags & %d) and created > UTC_TIMESTAMP - INTERVAL 6 MONTH group by uid", + intval(ITEM_WALL) + ); + if($x) + $channels_active_halfyear = count($x); + } + + $r = q("select channel_id from channel left join account on account_id = channel_account_id + where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 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_flags & %d ) and created > UTC_TIMESTAMP - INTERVAL 1 MONTH group by uid", + intval(ITEM_WALL) + ); + if($x) + $channels_active_monthly = count($x); + } + + $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d) ", + intval(ITEM_WALL) + ); + if (is_array($posts)) + $local_posts = $posts[0]["local_posts"]; $data = Array( 'version' => RED_VERSION, @@ -61,9 +106,12 @@ function siteinfo_init(&$a) { 'admin' => $admin, 'site_name' => (($site_name) ? $site_name : ''), 'platform' => RED_PLATFORM, - 'info' => (($site_info) ? $site_info : '') + 'info' => (($site_info) ? $site_info : ''), + 'channels_total' => $channels_total, + 'channels_active_halfyear' => $channels_active_halfyear, + 'channels_active_monthly' => $channels_active_monthly, + 'local_posts' => $local_posts ); - json_return_and_die($data); } } |