[communityhome] Remove active user feature

- Updated README with latest addon state
This commit is contained in:
Hypolite Petovan 2018-03-07 14:13:02 -05:00
parent 9a30d2663d
commit b739a08e22
3 changed files with 11 additions and 71 deletions

View file

@ -1,34 +1,17 @@
Community Home
--------------
This addon overwrites the default home page shown to not logged users.
On sidebar there are the login form, last ten users (if they have
choosed to be in site directory), last ten public photos and last ten
"likes" sent by a site user or about a site user's item
This addon overwrites the default home page shown to anonymous users.
On the sidebar there are the login form, last ten users (if they chose
to be in the site directory), last ten public photos and last ten
"likes" sent by a site user or about a site user's item.
In main content is shown the community stream. This addon doesn't
honour your community page visibility site setting: the community
In the main content is shown the community stream. This addon doesn't
honor your community page visibility site setting: the community
stream is shown also if you have choose to not show the community page.
If 'home.html' is found in your friendica root, its content is inserted
If 'home.html' is found in your friendica root, its content is inserted
before community stream
Each elements can be show or not. At the moment, there is no admin page
for settings, so this settings must be added to yout .htconfig.php
$a->config['communityhome']['showcommunitystream'] = true;
$a->config['communityhome']['showlastlike'] = true;
$a->config['communityhome']['showlastphotos'] = true;
$a->config['communityhome']['showactiveusers'] = true;
$a->config['communityhome']['showlastusers'] = true;
If you don't want to show something, set it to false.
Note:
-----
- Default is "false". With no settings in .htconfig.php, nothing is
shown, except login form and content of 'home.html'
- Active users query can be heavy for db, and on some system don't work
By default no features are enabled, you can edit this addon's settings
through the admin panel.

View file

@ -32,7 +32,6 @@ function communityhome_getopts()
return [
'hidelogin' => L10n::t('Hide login form'),
'showlastusers' => L10n::t('Show last new users'),
'showactiveusers' => L10n::t('Show last active users'),
'showlastphotos' => L10n::t('Show last photos'),
'showlastlike' => L10n::t('Show last liked items'),
'showcommunitystream' => L10n::t('Show community stream')
@ -118,40 +117,7 @@ function communityhome_home(App $a, &$o)
}
}
}
// 12 most active users (by posts and contacts)
// this query don't work on some mysql versions
if (Config::get('communityhome', 'showactiveusers')) {
$r = q("SELECT `uni`.`contacts`,`uni`.`items`, `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM
(SELECT COUNT(*) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`,
(SELECT COUNT(*) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`,
(
SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
UNION ALL
SELECT `contacts`,`items`,`con`.`uid` FROM `con` LEFT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
) AS `uni`, `user`, `profile`
WHERE `uni`.`uid`=`user`.`uid`
AND `uni`.`uid`=`profile`.`uid` AND `profile`.`publish`=1
GROUP BY `uid`
ORDER BY `items` DESC,`contacts` DESC
LIMIT 0,10");
if ($r && count($r)) {
$aside['$activeusers_title'] = L10n::t('Most active users');
$aside['$activeusers_items'] = [];
$photo = 'thumb';
foreach ($r as $rr) {
$profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
$entry = replace_macros($tpl, [
'$id' => $rr['id'],
'$profile_link' => $profile_link,
'$photo' => $rr[$photo],
'$photo_user' => sprintf("%s (%s posts, %s contacts)", $rr['name'], ($rr['items'] ? $rr['items'] : '0'),
($rr['contacts'] ? $rr['contacts'] : '0'))
]);
$aside['$activeusers_items'][] = $entry;
}
}
}
// last 12 photos
if (Config::get('communityhome', 'showlastphotos')) {
$aside['$photos_title'] = L10n::t('Latest photos');

View file

@ -15,9 +15,9 @@
$("#tab_1").removeClass("active");
e.preventDefault();
return false;
});
});
</script>
{{if $noOid}}
@ -41,15 +41,6 @@
{{/if}}
{{if $activeusers_title}}
<h3>{{$activeusers_title}}</h3>
<div class='items-wrapper'>
{{foreach $activeusers_items as $i}}
{{$i}}
{{/foreach}}
</div>
{{/if}}
{{if $photos_title}}
<h3>{{$photos_title}}</h3>
<div class='items-wrapper'>