2010-07-29 03:24:07 +02:00
< ? php
2015-11-06 00:47:54 +01:00
require_once ( 'include/Contact.php' );
2012-02-23 11:22:32 +01:00
require_once ( 'include/contact_selectors.php' );
2010-07-29 03:24:07 +02:00
function viewcontacts_init ( & $a ) {
2011-04-22 04:12:22 +02:00
if (( get_config ( 'system' , 'block_public' )) && ( ! local_user ()) && ( ! remote_user ())) {
return ;
}
2010-07-29 03:24:07 +02:00
2011-04-22 04:12:22 +02:00
profile_load ( $a , $a -> argv [ 1 ]);
2010-07-29 03:24:07 +02:00
}
function viewcontacts_content ( & $a ) {
2015-01-28 10:09:16 +01:00
require_once ( " mod/proxy.php " );
2011-04-22 04:12:22 +02:00
if (( get_config ( 'system' , 'block_public' )) && ( ! local_user ()) && ( ! remote_user ())) {
notice ( t ( 'Public access denied.' ) . EOL );
return ;
}
2010-07-29 03:24:07 +02:00
if ((( ! count ( $a -> profile )) || ( $a -> profile [ 'hide-friends' ]))) {
notice ( t ( 'Permission denied.' ) . EOL );
return ;
2015-01-28 10:09:16 +01:00
}
2010-07-29 03:24:07 +02:00
2015-11-28 03:50:45 +01:00
$r = q ( " SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 " ,
2010-07-29 03:24:07 +02:00
intval ( $a -> profile [ 'uid' ])
);
if ( count ( $r ))
2010-07-30 15:09:20 +02:00
$a -> set_pager_total ( $r [ 0 ][ 'total' ]);
2010-07-29 03:24:07 +02:00
2012-04-28 02:17:58 +02:00
$r = q ( " SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 ORDER BY `name` ASC LIMIT %d , %d " ,
2010-07-29 03:24:07 +02:00
intval ( $a -> profile [ 'uid' ]),
intval ( $a -> pager [ 'start' ]),
intval ( $a -> pager [ 'itemspage' ])
);
if ( ! count ( $r )) {
2011-05-23 11:39:57 +02:00
info ( t ( 'No contacts.' ) . EOL );
2010-07-29 03:24:07 +02:00
return $o ;
}
2012-02-23 11:22:32 +01:00
$contacts = array ();
2010-07-29 03:24:07 +02:00
foreach ( $r as $rr ) {
if ( $rr [ 'self' ])
continue ;
2015-10-18 17:12:48 +02:00
$url = $rr [ 'url' ];
2011-06-06 06:05:55 +02:00
// route DFRN profiles through the redirect
$is_owner = (( local_user () && ( $a -> profile [ 'profile_uid' ] == local_user ())) ? true : false );
if ( $is_owner && ( $rr [ 'network' ] === NETWORK_DFRN ) && ( $rr [ 'rel' ]))
$url = 'redir/' . $rr [ 'id' ];
2012-03-30 05:58:32 +02:00
else
$url = zrl ( $url );
2011-06-06 06:05:55 +02:00
2015-11-06 00:47:54 +01:00
$contact_details = get_contact_details_by_url ( $rr [ 'url' ], $a -> profile [ 'uid' ]);
2012-02-23 11:22:32 +01:00
$contacts [] = array (
'id' => $rr [ 'id' ],
'img_hover' => sprintf ( t ( 'Visit %s\'s profile [%s]' ), $rr [ 'name' ], $rr [ 'url' ]),
2015-11-28 18:49:37 +01:00
'photo_menu' => contact_photo_menu ( $rr ),
2015-10-07 08:25:10 +02:00
'thumb' => proxy_url ( $rr [ 'thumb' ], false , PROXY_SIZE_THUMB ),
2015-10-08 00:25:55 +02:00
'name' => htmlentities ( substr ( $rr [ 'name' ], 0 , 20 )),
'username' => htmlentities ( $rr [ 'name' ]),
2015-11-06 00:47:54 +01:00
'details' => $contact_details [ 'location' ],
2015-11-28 03:50:45 +01:00
'tags' => $contact_details [ 'keywords' ],
'about' => $contact_details [ 'about' ],
'account_type' => (( $contact_details [ 'community' ]) ? t ( 'Forum' ) : '' ),
2012-02-23 11:22:32 +01:00
'url' => $url ,
'sparkle' => '' ,
2015-11-06 00:47:54 +01:00
'itemurl' => (( $contact_details [ 'addr' ] != " " ) ? $contact_details [ 'addr' ] : $rr [ 'url' ]),
2015-07-16 10:09:59 +02:00
'network' => network_to_name ( $rr [ 'network' ], $rr [ 'url' ]),
2012-02-23 11:22:32 +01:00
);
2010-07-29 03:24:07 +02:00
}
2012-02-23 11:22:32 +01:00
$tpl = get_markup_template ( " viewcontact_template.tpl " );
2012-12-25 19:48:02 +01:00
$o .= replace_macros ( $tpl , array (
2012-02-23 11:22:32 +01:00
'$title' => t ( 'View Contacts' ),
'$contacts' => $contacts ,
'$paginate' => paginate ( $a ),
));
2010-07-29 03:24:07 +02:00
return $o ;
2011-05-23 11:39:57 +02:00
}