]> git.mxchange.org Git - friendica.git/blobdiff - mod/profperm.php
Normalize App parameter declaration (mod folder, 3 out of 3)
[friendica.git] / mod / profperm.php
index 2a1814639ac24c51442e707556680b1bc2837173..a414d8947bf35369a819b9966239585468889b59 100644 (file)
@@ -1,21 +1,22 @@
 <?php
 
-function profperm_init(&$a) {
+function profperm_init(App $a) {
 
-       if(! local_user())
+       if (! local_user()) {
                return;
+       }
 
        $which = $a->user['nickname'];
-       $profile = $a->argv[1];         
+       $profile = $a->argv[1];
 
        profile_load($a,$which,$profile);
 
 }
 
 
-function profperm_content(&$a) {
+function profperm_content(App $a) {
 
-       if(! local_user()) {
+       if (! local_user()) {
                notice( t('Permission denied') . EOL);
                return;
        }
@@ -26,13 +27,23 @@ function profperm_content(&$a) {
                return;
        }
 
+       // Switch to text mod interface if we have more than 'n' contacts or group members
+
+       $switchtotext = get_pconfig(local_user(),'system','groupedit_image_limit');
+       if($switchtotext === false)
+               $switchtotext = get_config('system','groupedit_image_limit');
+       if($switchtotext === false)
+               $switchtotext = 400;
+
+
        if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
-               $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0 
-                       AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1",
+               $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
+                       AND `network` = '%s' AND `id` = %d AND `uid` = %d LIMIT 1",
+                       dbesc(NETWORK_DFRN),
                        intval($a->argv[2]),
                        intval(local_user())
                );
-               if(count($r))
+               if (dbm::is_result($r))
                        $change = intval($a->argv[2]);
        }
 
@@ -42,7 +53,7 @@ function profperm_content(&$a) {
                        intval($a->argv[1]),
                        intval(local_user())
                );
-               if(! count($r)) {
+               if (! dbm::is_result($r)) {
                        notice( t('Invalid profile identifier.') . EOL );
                        return;
                }
@@ -54,7 +65,7 @@ function profperm_content(&$a) {
                );
 
                $ingroup = array();
-               if(count($r))
+               if (dbm::is_result($r))
                        foreach($r as $member)
                                $ingroup[] = $member['id'];
 
@@ -62,13 +73,13 @@ function profperm_content(&$a) {
 
                if($change) {
                        if(in_array($change,$ingroup)) {
-                               q("UPDATE `contact` SET `profile-id` = 0 WHERE `id` = %d AND `uid` = %d LIMIT 1",
+                               q("UPDATE `contact` SET `profile-id` = 0 WHERE `id` = %d AND `uid` = %d",
                                        intval($change),
                                        intval(local_user())
                                );
                        }
                        else {
-                               q("UPDATE `contact` SET `profile-id` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1",
+                               q("UPDATE `contact` SET `profile-id` = %d WHERE `id` = %d AND `uid` = %d",
                                        intval($a->argv[1]),
                                        intval($change),
                                        intval(local_user())
@@ -84,7 +95,7 @@ function profperm_content(&$a) {
                        $members = $r;
 
                        $ingroup = array();
-                       if(count($r))
+                       if (dbm::is_result($r))
                                foreach($r as $member)
                                        $ingroup[] = $member['id'];
                }
@@ -98,32 +109,42 @@ function profperm_content(&$a) {
        }
 
        $o .= '<div id="prof-update-wrapper">';
-       if($change) 
+       if($change)
                $o = '';
 
-       $o .= '<div id="prof-members">';
+       $o .= '<div id="prof-members-title">';
        $o .= '<h3>' . t('Visible To') . '</h3>';
+       $o .= '</div>';
+       $o .= '<div id="prof-members">';
+
+       $textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
+
        foreach($members as $member) {
                if($member['url']) {
                        $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
-                       $o .= micropro($member,true,'mpprof');
+                       $o .= micropro($member,true,'mpprof', $textmode);
                }
        }
        $o .= '</div><div id="prof-members-end"></div>';
        $o .= '<hr id="prof-separator" />';
+
+       $o .= '<div id="prof-all-contcts-title">';
+       $o .= '<h3>' . t("All Contacts \x28with secure profile access\x29") . '</h3>';
+       $o .= '</div>';
        $o .= '<div id="prof-all-contacts">';
 
-               $o .= '<h3>' . t("All Contacts \x28with remote profile access\x29") . '</h3>';
-               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 
-                       AND `network` = 'dfrn' ORDER BY `name` ASC",
-                       intval(local_user())
+               $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0
+                       AND `network` = '%s' ORDER BY `name` ASC",
+                       intval(local_user()),
+                       dbesc(NETWORK_DFRN)
                );
 
-               if(count($r)) {
+               if (dbm::is_result($r)) {
+                       $textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
                        foreach($r as $member) {
                                if(! in_array($member['id'],$ingroup)) {
                                        $member['click'] = 'profChangeMember(' . $profile['id'] . ',' . $member['id'] . '); return true;';
-                                       $o .= micropro($member,true,'mpprof');
+                                       $o .= micropro($member,true,'mpprof',$textmode);
                                }
                        }
                }