From b39cd90e0786ac1956a52742555cd18011b4390d Mon Sep 17 00:00:00 2001 From: tuscanhobbit Date: Wed, 1 Oct 2014 20:11:11 +0200 Subject: site language was left out of siteinfo --- mod/siteinfo.php | 1 + 1 file changed, 1 insertion(+) diff --git a/mod/siteinfo.php b/mod/siteinfo.php index eab52e41e..c0c1c6e3e 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -102,6 +102,7 @@ function siteinfo_init(&$a) { 'plugins' => $visible_plugins, 'register_policy' => $register_policy[$a->config['system']['register_policy']], 'directory_mode' => $directory_mode[$a->config['system']['directory_mode']], + 'language' => get_config('system','language'), 'diaspora_emulation' => get_config('system','diaspora_enabled'), 'rss_connections' => get_config('system','feed_contacts'), 'default_service_restrictions' => $service_class, -- cgit v1.2.3 From 15c1529e836f6af4b9aa526cbc2ffa0c56711135 Mon Sep 17 00:00:00 2001 From: Paolo Tacconi Date: Thu, 2 Oct 2014 13:43:48 +0200 Subject: query for statistics are now executed by poller --- include/poller.php | 7 +++++ include/statistics_fns.php | 73 ++++++++++++++++++++++++++++++++++++++++++++++ mod/siteinfo.php | 58 ++++++------------------------------ 3 files changed, 89 insertions(+), 49 deletions(-) create mode 100644 include/statistics_fns.php diff --git a/include/poller.php b/include/poller.php index f689059b9..2febaeb32 100644 --- a/include/poller.php +++ b/include/poller.php @@ -149,6 +149,13 @@ function poller_run($argv, $argc){ update_birthdays(); + //update statistics in config + require_once('include/statistics_fns.php'); + update_channels_total_stat(); + update_channels_active_halfyear_stat(); + update_channels_active_monthly_stat(); + update_local_posts_stat(); + // expire any read notifications over a month old q("delete from notify where seen = 1 and date < UTC_TIMESTAMP() - INTERVAL 30 DAY"); diff --git a/include/statistics_fns.php b/include/statistics_fns.php new file mode 100644 index 000000000..4f72e6615 --- /dev/null +++ b/include/statistics_fns.php @@ -0,0 +1,73 @@ + 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_stat = count($x); + set_config('system','channels_active_halfyear_stat',$channels_active_halfyear_stat); + } else { + set_config('system','channels_active_halfyear_stat',null); + } + } else { + set_config('system','channels_active_halfyear_stat',null); + } +} + +function update_channels_active_monthly_stat() { + $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_stat = count($x); + set_config('system','channels_active_monthly_stat',$channels_active_monthly_stat); + } else { + set_config('system','channels_active_monthly_stat',null); + } + } else { + set_config('system','channels_active_monthly_stat',null); + } +} + +function update_local_posts_stat() { + $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d) ", + intval(ITEM_WALL) ); + if (is_array($posts)) { + $local_posts_stat = intval($posts[0]["local_posts"]); + set_config('system','local_posts_stat',$local_posts_stat); + } else { + set_config('system','local_posts_stat',null); + } +} + + diff --git a/mod/siteinfo.php b/mod/siteinfo.php index c0c1c6e3e..3071e52fb 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -50,51 +50,12 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); - // Statistics (from statistics.json plugin) + //Statistics + $channels_total_stat = intval(get_config('system','channels_total_stat')); + $channels_active_halfyear_stat = intval(get_config('system','channels_active_halfyear_stat')); + $channels_active_monthly_stat = intval(get_config('system','channels_active_monthly_stat')); + $local_posts_stat = intval(get_config('system','local_posts_stat')); - $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 = intval($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 = intval($posts[0]["local_posts"]); - $data = Array( 'version' => RED_VERSION, 'commit' => $commit, @@ -102,7 +63,6 @@ function siteinfo_init(&$a) { 'plugins' => $visible_plugins, 'register_policy' => $register_policy[$a->config['system']['register_policy']], 'directory_mode' => $directory_mode[$a->config['system']['directory_mode']], - 'language' => get_config('system','language'), 'diaspora_emulation' => get_config('system','diaspora_enabled'), 'rss_connections' => get_config('system','feed_contacts'), 'default_service_restrictions' => $service_class, @@ -110,10 +70,10 @@ function siteinfo_init(&$a) { 'site_name' => (($site_name) ? $site_name : ''), 'platform' => RED_PLATFORM, '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 + 'channels_total' => $channels_total_stat, + 'channels_active_halfyear' => $channels_active_halfyear_stat, + 'channels_active_monthly' => $channels_active_monthly_stat, + 'local_posts' => $local_posts_stat ); json_return_and_die($data); } -- cgit v1.2.3 From 9495aba49920d3eac8d53095aed3b4de3820e4cb Mon Sep 17 00:00:00 2001 From: Paolo Tacconi Date: Thu, 2 Oct 2014 16:25:34 +0200 Subject: site language in siteinfo/json has been re-added --- mod/siteinfo.php | 1 + 1 file changed, 1 insertion(+) diff --git a/mod/siteinfo.php b/mod/siteinfo.php index 3071e52fb..de55c69cf 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -63,6 +63,7 @@ function siteinfo_init(&$a) { 'plugins' => $visible_plugins, 'register_policy' => $register_policy[$a->config['system']['register_policy']], 'directory_mode' => $directory_mode[$a->config['system']['directory_mode']], + 'language' => get_config('system','language'), 'diaspora_emulation' => get_config('system','diaspora_enabled'), 'rss_connections' => get_config('system','feed_contacts'), 'default_service_restrictions' => $service_class, -- cgit v1.2.3 From df70c2c9b62365c9b0feb8a482aef1ac626fabd6 Mon Sep 17 00:00:00 2001 From: marijus Date: Thu, 2 Oct 2014 21:04:50 +0200 Subject: more work on photos --- mod/photos.php | 114 ++++++++++++++++---------------------- view/theme/redbasic/css/style.css | 4 +- view/tpl/photo_album.tpl | 26 ++++++++- view/tpl/photo_top.tpl | 2 +- 4 files changed, 75 insertions(+), 71 deletions(-) diff --git a/mod/photos.php b/mod/photos.php index 0ff0e29c9..f02f0f5f7 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -653,9 +653,6 @@ function photos_content(&$a) { intval($a->pager['itemspage']) ); - $o .= '
'; - $o .= '

' . $album . '

'; - $o .= '
'; if($cmd === 'edit') { if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { if($can_post) { @@ -681,33 +678,19 @@ function photos_content(&$a) { else { if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { if($can_post) { - $o .= '' . t('Edit Album') . ''; + $edit = array(t('Edit Album'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($album) . '/edit'); } } } if($_GET['order'] === 'posted') - $o .= '' . t('Show Newest First') . ''; + $order = array(t('Show Newest First'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($album)); else - $o .= '' . t('Show Oldest First') . ''; + $order = array(t('Show Oldest First'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($album) . '?f=&order=posted'); - /* - if($can_post) { - $o .= '' . t('Upload New Photos') . ''; - } - */ - - $o .= '
'; // section-title-submenu - $o .= '
'; // section-title-wrapper - - $ajaxout = ''; - - $tpl = get_markup_template('photo_album.tpl'); + $photos = array(); if(count($r)) { $twist = 'rotright'; - $o .= ""; - $o .= '
'; - foreach($r as $rr) { if($twist == 'rotright') @@ -720,57 +703,58 @@ function photos_content(&$a) { $imgalt_e = $rr['filename']; $desc_e = $rr['description']; - -// prettyphoto has potential license issues, so we can no longer include it in core -// The following lines would need to be modified so that they are provided in theme specific files -// instead of core modules for themes that wish to make use of prettyphoto. I would suggest -// the feature as a per-theme display option and putting the rel line inside a template. - -// if(feature_enabled($a->data['channel']['channel_id'],'prettyphoto')){ -// $imagelink = ($a->get_baseurl() . '/photo/' . $rr['resource_id'] . '.' . $ext ); -// $rel=("prettyPhoto[pp_gal]"); -// } -// else { - $imagelink = ($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id'] - . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '')); - $rel=("photo"); -// } - - - $tmp = replace_macros($tpl,array( - '$id' => $rr['id'], - '$twist' => ' ' . $twist . rand(2,4), - '$photolink' => $imagelink, - '$rel' => $rel, - '$phototitle' => t('View Photo'), - '$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext, - '$imgalt' => $imgalt_e, - '$desc'=> $desc_e, - '$ext' => $ext, - '$hash'=> $rr['resource_id'], - )); - if($_REQUEST['aj']) - $ajaxout .= $tmp; - else - $o .= $tmp; + $imagelink = ($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id'] + . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '')); + + $rel=("photo"); + + $photos[] = array( + 'id' => $rr['id'], + 'twist' => ' ' . $twist . rand(2,4), + 'link' => $imagelink, + 'rel' => $rel, + 'title' => t('View Photo'), + 'src' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext, + 'alt' => $imgalt_e, + 'desc'=> $desc_e, + 'ext' => $ext, + 'hash'=> $rr['resource_id'], + ); } } + if($_REQUEST['aj']) { - if(! $r) { - $ajaxout .= '
'; - echo $ajaxout; - killme(); + if($photos) { + $o = replace_macros(get_markup_template('photosajax.tpl'),array( + '$photos' => $photos, + )); + } + else { + $o = '
'; } - echo $ajaxout; - echo ''; + echo $o; + killme(); + } + else { + $o .= ""; + $tpl = get_markup_template('photo_album.tpl'); + $o .= replace_macros($tpl, array( + '$photos' => $photos, + '$album' => $album, + '$can_post' => $can_post, + '$upload' => array(t('Upload'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/upload/' . bin2hex($album)), + '$order' => $order, + '$edit' => $edit + )); + + } + + if((! $photos) && ($_REQUEST['aj'])) { + $o .= '
'; + echo $o; killme(); } - $o .= '
'; - $o .= '
'; // photo-album-contents - $o .= '
'; - $o .= ''; - $o .= '
'; // $o .= paginate($a); return $o; diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 9bbf996d5..7df70e714 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -75,12 +75,12 @@ a:hover, .fakelink:hover { color: $link_colour; text-decoration: underline; } a.btn-default { color: #333; - + font-weight: normal; } a.btn-success { color: #fff; -font-weight: normal; + font-weight: normal; } input[type="text"], diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index b5ea14c14..d23f7e817 100755 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl @@ -1,3 +1,23 @@ -
- {{if $desc}}{{$desc}}{{else}}{{$imgalt}}{{/if}} - +
+
+ {{if $edit}} + + {{/if}} + + {{if $can_post}} +  {{$upload.0}} + {{/if}} +
+

{{$album}}

+ +
+
+
+ {{foreach $photos as $photo}} + {{include file="photo_top.tpl"}} + {{/foreach}} +
+
+
+ +
diff --git a/view/tpl/photo_top.tpl b/view/tpl/photo_top.tpl index 4a106c30d..ee21e5cce 100755 --- a/view/tpl/photo_top.tpl +++ b/view/tpl/photo_top.tpl @@ -1,4 +1,4 @@ - {{$photo.album.name}} + {{if $photo.album.name}}{{$photo.album.name}}{{elseif $photo.desc}}{{$photo.desc}}{{else}}{{$photo.alt}}{{/if}} -- cgit v1.2.3