]> git.mxchange.org Git - friendica.git/blobdiff - mod/contacts.php
Merge remote-tracking branch 'upstream/master'
[friendica.git] / mod / contacts.php
index ef77366da71ddeae61fd4831e05e0693e5b32170..c99ac14520a625bac36210136305034c6d29d8e1 100755 (executable)
@@ -366,40 +366,76 @@ function contacts_content(&$a) {
        }
 
        $blocked = false;
+       $hidden = false;
+       $ignored = false;
+       $all = false;
 
        $_SESSION['return_url'] = $a->query_string;
 
-       if(($a->argc == 2) && ($a->argv[1] === 'all'))
+       if(($a->argc == 2) && ($a->argv[1] === 'all')) {
                $sql_extra = '';
-       else {
-               if(($a->argc == 2) && ($a->argv[1] === 'blocked')) {
-                       $sql_extra = " AND `blocked` = 1 ";
-                       $blocked = true;
-               }
-               else
-                       $sql_extra = " AND `blocked` = 0 ";
+               $all = true;
+       }
+       elseif(($a->argc == 2) && ($a->argv[1] === 'blocked')) {
+               $sql_extra = " AND `blocked` = 1 ";
+               $blocked = true;
+       }
+       elseif(($a->argc == 2) && ($a->argv[1] === 'hidden')) {
+               $sql_extra = " AND `hidden` = 1 ";
+               $hidden = true;
+       }
+       elseif(($a->argc == 2) && ($a->argv[1] === 'ignored')) {
+               $sql_extra = " AND `readonly` = 1 ";
+               $ignored = true;
        }
+       else
+               $sql_extra = " AND `blocked` = 0 ";
+
        $search = ((x($_GET,'search')) ? notags(trim($_GET['search'])) : '');
        $nets = ((x($_GET,'nets')) ? notags(trim($_GET['nets'])) : '');
 
-       $tpl = get_markup_template("contacts-top.tpl");
-       $o .= replace_macros($tpl,array(
-               '$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''),
-               '$hide_url' => (($blocked) ? 'contacts' : 'contacts/blocked'),
-               '$hide_text' => (($blocked) ? t('Show Unblocked Contacts') : t('Show Blocked Contacts')),
-               '$all_url' => 'contacts/all',
-               '$all_text' => t('Show All Contacts'),
-               '$search' => $search,
-               '$desc' => t('Search your contacts'),
-               '$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : ""),
-               '$submit' => t('Find'),
-               '$cmd' => $a->cmd
+       $tabs = array(
+               array(
+                       'label' => t('All Contacts'),
+                       'url'   => $a->get_baseurl() . '/contacts/all', 
+                       'sel'   => ($all) ? 'active' : '',
+               ),
+               array(
+                       'label' => t('Unblocked Contacts'),
+                       'url'   => $a->get_baseurl() . '/contacts',
+                       'sel'   => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored)) ? 'active' : '',
+               ),
+
+               array(
+                       'label' => t('Blocked Contacts'),
+                       'url'   => $a->get_baseurl() . '/contacts/blocked',
+                       'sel'   => ($blocked) ? 'active' : '',
+               ),
+
+               array(
+                       'label' => t('Ignored Contacts'),
+                       'url'   => $a->get_baseurl() . '/contacts/ignored',
+                       'sel'   => ($ignored) ? 'active' : '',
+               ),
+
+               array(
+                       'label' => t('Hidden Contacts'),
+                       'url'   => $a->get_baseurl() . '/contacts/hidden',
+                       'sel'   => ($hidden) ? 'active' : '',
+               ),
+
+       );
+
+       $tab_tpl = get_markup_template('common_tabs.tpl');
+       $t = replace_macros($tab_tpl, array('$tabs'=>$tabs));
+
 
 
-       )); 
 
-       if($search)
+       if($search) {
+               $search_hdr = $search;
                $search = dbesc($search.'*');
+       }
        $sql_extra .= ((strlen($search)) ? " AND MATCH `name` AGAINST ('$search' IN BOOLEAN MODE) " : "");
 
        if($nets)
@@ -414,15 +450,18 @@ function contacts_content(&$a) {
        if(count($r))
                $a->set_pager_total($r[0]['total']);
 
+
+
+
        $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ",
                intval($_SESSION['uid']),
                intval($a->pager['start']),
                intval($a->pager['itemspage'])
        );
 
-       if(count($r)) {
+       $contacts = array();
 
-               $tpl = get_markup_template("contact_template.tpl");
+       if(count($r)) {
 
                foreach($r as $rr) {
                        if($rr['self'])
@@ -454,24 +493,41 @@ function contacts_content(&$a) {
                        }
 
 
-                       $o .= replace_macros($tpl, array(
-                               '$img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
-                               '$edit_hover' => t('Edit contact'),
-                               '$contact_photo_menu' => contact_photo_menu($rr),
-                               '$id' => $rr['id'],
-                               '$alt_text' => $alt_text,
-                               '$dir_icon' => $dir_icon,
-                               '$thumb' => $rr['thumb'], 
-                               '$name' => $rr['name'],
-                               '$username' => $rr['name'],
-                               '$sparkle' => $sparkle,
-                               '$url' => $url
-                       ));
+                       $contacts[] = array(
+                               'img_hover' => sprintf( t('Visit %s\'s profile [%s]'),$rr['name'],$rr['url']),
+                               'edit_hover' => t('Edit contact'),
+                               'photo_menu' => contact_photo_menu($rr),
+                               'id' => $rr['id'],
+                               'alt_text' => $alt_text,
+                               'dir_icon' => $dir_icon,
+                               'thumb' => $rr['thumb'], 
+                               'name' => $rr['name'],
+                               'username' => $rr['name'],
+                               'sparkle' => $sparkle,
+                               'itemurl' => $rr['url'],
+                               'url' => $url,
+                               'network' => network_to_name($rr['network']),
+                       );
                }
 
-               $o .= '<div id="contact-edit-end"></div>';
+               
 
        }
-       $o .= paginate($a);
+       
+       $tpl = get_markup_template("contacts-template.tpl");
+       $o .= replace_macros($tpl,array(
+               '$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''),
+               '$tabs' => $t,
+               '$total' => $r[0]['total'],
+               '$search' => $search_hdr,
+               '$desc' => t('Search your contacts'),
+               '$finding' => (strlen($search) ? t('Finding: ') . "'" . $search . "'" : ""),
+               '$submit' => t('Find'),
+               '$cmd' => $a->cmd,
+               '$contacts' => $contacts,
+               '$paginate' => paginate($a),
+
+       )); 
+       
        return $o;
 }