]> git.mxchange.org Git - friendica-addons.git/commitdiff
fixing bug 485, making private forums visible in forumlist in the network tab but...
authorTobias Diekershoff <tobias.diekershoff@gmx.net>
Sat, 8 Dec 2012 08:12:44 +0000 (09:12 +0100)
committerTobias Diekershoff <tobias.diekershoff@gmx.net>
Sat, 8 Dec 2012 08:12:44 +0000 (09:12 +0100)
forumlist/forumlist.php

index 3a682446e5db2859ed65452c214bbc1e05a1235d..4ca063853fb8d82429c8dd80401cd13a2afc25a5 100644 (file)
@@ -26,16 +26,20 @@ function forumlist_uninstall() {
 }
 
 
-function forumlist_getpage($uid,$showhidden = true,$randomise = false) {
+function forumlist_getpage($uid,$showhidden = true,$randomise = false, $showprivate = false) {
 
 
        $forumlist = array();
 
        $order = (($showhidden) ? '' : " and hidden = 0 ");
-       $order .= (($randomise) ? ' order by rand() ' : ' order by name asc ');
+        $order .= (($randomise) ? ' order by rand() ' : ' order by name asc ');
+        $select = "`forum` = 1";
+        if ($showprivate) {
+            $select = "( `forum` = 1 OR `prv` = 1 )";
+        }
 
        $contacts = q("SELECT `contact`.`id`, `contact`.`url`, `contact`.`name`, `contact`.`micro` from contact 
-                       WHERE `network`= 'dfrn' AND `forum` = 1 AND `uid` = %d
+                       WHERE `network`= 'dfrn' AND $select AND `uid` = %d
                        and blocked = 0 and hidden = 0 and pending = 0 and archive = 0
                        $order ",
                        intval($uid)
@@ -66,7 +70,7 @@ function forumlist_network_mod_init($a,$b) {
 
        $randomise = intval(get_pconfig(local_user(),'forumlist','randomise'));
 
-       $contacts = forumlist_getpage($a->user['uid'],true,$randomise);
+       $contacts = forumlist_getpage($a->user['uid'],true,$randomise, true);
 
        if(count($contacts)) {
                foreach($contacts as $contact) {
@@ -99,7 +103,7 @@ function forumlist_profile_advanced($a,&$b) {
 
        $randomise = true;
 
-       $contacts = forumlist_getpage($a->user['uid'],false,$randomise);
+       $contacts = forumlist_getpage($a->user['uid'],false,$randomise,false);
 
        $total_shown = 0;
        $more = false;
@@ -120,9 +124,14 @@ function forumlist_profile_advanced($a,&$b) {
 
 
 function forumlist_plugin_settings_post($a,$post) {
+
+        logger('forum list save 1');
+
        if(! local_user() || (! x($_POST,'forumlist-settings-submit')))
                return;
 
+        logger('forum list save 2');
+
 //     set_pconfig(local_user(),'forumlist','max_forumlists',intval($_POST['forumlist_max_forumlists']));
        set_pconfig(local_user(),'forumlist','randomise',intval($_POST['forumlist_random']));
        set_pconfig(local_user(),'forumlist','show_on_profile',intval($_POST['forumlist_profile']));