]> git.mxchange.org Git - friendica.git/commitdiff
poco addition to provide a "suggestme" for new members
authorfriendica <info@friendica.com>
Mon, 28 Nov 2011 23:11:59 +0000 (15:11 -0800)
committerfriendica <info@friendica.com>
Mon, 28 Nov 2011 23:11:59 +0000 (15:11 -0800)
boot.php
mod/poco.php
mod/settings.php

index 19cdb87beea46d3c0bf2c996ac950a0e3a0a7c35..b07249260dd0c5615a5c14adf3a1f88812d90dbb 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -9,7 +9,7 @@ require_once('include/nav.php');
 require_once('include/cache.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '2.3.1178' );
+define ( 'FRIENDICA_VERSION',      '2.3.1179' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.22'    );
 define ( 'DB_UPDATE_VERSION',      1106      );
 
index 21ee4df695906291e2e3cad07c1e0b8f101dbff1..6331131fadf7d33a77af427eab4aea667cd21307 100644 (file)
@@ -2,11 +2,21 @@
 
 function poco_init(&$a) {
 
+       $system_mode = false;
+
+       if(intval(get_config('system','block_public')))
+               http_status_exit(401);
+
+
        if($a->argc > 1) {
                $user = notags(trim($a->argv[1]));
        }
-       if(! x($user) || get_config('system','block_public'))
-               http_status_exit(401);
+       if(! x($user)) {
+               $c = q("select * from pconfig where cat = 'system' and k = 'suggestme' and v = 1");
+               if(! count($c))
+                       http_status_exit(401);
+               $system_mode = true;
+       }
 
        $format = (($_GET['format']) ? $_GET['format'] : 'json');
 
@@ -22,14 +32,16 @@ function poco_init(&$a) {
                $cid = intval($a->argv[4]);
                
 
-       $r = q("SELECT `user`.*,`profile`.`hide-friends` from user left join profile on `user`.`uid` = `profile`.`uid`
-               where `user`.`nickname` = '%s' and `profile`.`is-default` = 1 limit 1",
-               dbesc($user)
-       );
-       if(! count($r) || $r[0]['hidewall'] || $r[0]['hide-friends'])
-               http_status_exit(404);
+       if(! $system_mode) {
+               $r = q("SELECT `user`.*,`profile`.`hide-friends` from user left join profile on `user`.`uid` = `profile`.`uid`
+                       where `user`.`nickname` = '%s' and `profile`.`is-default` = 1 limit 1",
+                       dbesc($user)
+               );
+               if(! count($r) || $r[0]['hidewall'] || $r[0]['hide-friends'])
+                       http_status_exit(404);
 
-       $user = $r[0];
+               $user = $r[0];
+       }
 
        if($justme)
                $sql_extra = " and `contact`.`self` = 1 ";
@@ -37,10 +49,16 @@ function poco_init(&$a) {
        if($cid)
                $sql_extra = sprintf(" and `contact`.`id` = %d ",intval($cid));
 
-       $r = q("SELECT count(*) as `total` from `contact` where `uid` = %d and blocked = 0 and pending = 0
-               $sql_extra ",
-               intval($user['uid'])
-       );
+       if($system_mode) {
+               $r = q("SELECT count(*) as `total` from `contact` where self = 1 
+                       and uid in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = 1) ");
+       }
+       else {
+               $r = q("SELECT count(*) as `total` from `contact` where `uid` = %d and blocked = 0 and pending = 0
+                       $sql_extra ",
+                       intval($user['uid'])
+               );
+       }
        if(count($r))
                $totalResults = intval($r[0]['total']);
        else
@@ -51,13 +69,23 @@ function poco_init(&$a) {
                $startIndex = 0;
        $itemsPerPage = ((x($_GET,'count') && intval($_GET['count'])) ? intval($_GET['count']) : $totalResults);
 
-       $r = q("SELECT * from `contact` where `uid` = %d and blocked = 0 and pending = 0
-               $sql_extra LIMIT %d, %d",
-               intval($user['uid']),
-               intval($startIndex),
-               intval($itemsPerPage)
-       );
 
+       if($system_mode) {
+               $r = q("SELECT * from contact where self = 1 
+                       and uid in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = 1) limit %d, %d ",
+                       intval($startIndex),
+                       intval($itemsPerPage)
+               );
+       }
+       else {
+
+               $r = q("SELECT * from `contact` where `uid` = %d and blocked = 0 and pending = 0
+                       $sql_extra LIMIT %d, %d",
+                       intval($user['uid']),
+                       intval($startIndex),
+                       intval($itemsPerPage)
+               );
+       }
        $ret = array();
        if(x($_GET,'sorted'))
                $ret['sorted'] = 'false';
index 163588f4acda06eafe70545312ddb923c6a6ceca..51db9b06eb1109e0c3827e1071ad1d42d35cf5b5 100644 (file)
@@ -6,6 +6,8 @@ function settings_init(&$a) {
                profile_load($a,$a->user['nickname']);
        }
 
+       // These lines provide the javascript needed by the acl selector
+
        $a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
 
        $a->page['htmlhead'] .= <<< EOT
@@ -231,8 +233,9 @@ function settings_post(&$a) {
        $blockwall        = (((x($_POST,'blockwall')) && (intval($_POST['blockwall']) == 1)) ? 0: 1); // this setting is inverted!
        $blocktags        = (((x($_POST,'blocktags')) && (intval($_POST['blocktags']) == 1)) ? 0: 1); // this setting is inverted!
 
-       $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
-       $hidewall = (($_POST['hidewall'] == 1) ? 1: 0);
+       $suggestme        = ((x($_POST,'suggestme')) ? intval($_POST['suggestme'])  : 0);  
+       $hide_friends     = (($_POST['hide-friends'] == 1) ? 1: 0);
+       $hidewall         = (($_POST['hidewall'] == 1) ? 1: 0);
 
 
        $notify = 0;
@@ -309,6 +312,8 @@ function settings_post(&$a) {
        set_pconfig(local_user(),'expire','starred', $expire_starred);
        set_pconfig(local_user(),'expire','photos', $expire_photos);
 
+       set_pconfig(local_user(),'system','suggestme', $suggestme);
+
        $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s',  `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d  WHERE `uid` = %d LIMIT 1",
                        dbesc($username),
                        dbesc($email),