2010-07-28 21:24:07 -04:00
< ? php
2012-02-23 05:22:32 -05:00
require_once ( 'include/contact_selectors.php' );
2010-07-28 21:24:07 -04:00
function viewcontacts_init ( & $a ) {
2011-04-21 22:12:22 -04:00
if (( get_config ( 'system' , 'block_public' )) && ( ! local_user ()) && ( ! remote_user ())) {
return ;
}
2010-07-28 21:24:07 -04:00
2011-04-21 22:12:22 -04:00
profile_load ( $a , $a -> argv [ 1 ]);
2010-07-28 21:24:07 -04:00
}
function viewcontacts_content ( & $a ) {
2011-04-21 22:12:22 -04:00
if (( get_config ( 'system' , 'block_public' )) && ( ! local_user ()) && ( ! remote_user ())) {
notice ( t ( 'Public access denied.' ) . EOL );
return ;
}
2010-07-28 21:24:07 -04:00
if ((( ! count ( $a -> profile )) || ( $a -> profile [ 'hide-friends' ]))) {
notice ( t ( 'Permission denied.' ) . EOL );
return ;
}
2012-04-27 20:17:58 -04: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-28 21:24:07 -04:00
intval ( $a -> profile [ 'uid' ])
);
if ( count ( $r ))
2010-07-30 09:09:20 -04:00
$a -> set_pager_total ( $r [ 0 ][ 'total' ]);
2010-07-28 21:24:07 -04:00
2012-04-27 20:17:58 -04: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-28 21:24:07 -04:00
intval ( $a -> profile [ 'uid' ]),
intval ( $a -> pager [ 'start' ]),
intval ( $a -> pager [ 'itemspage' ])
);
if ( ! count ( $r )) {
2011-05-23 05:39:57 -04:00
info ( t ( 'No contacts.' ) . EOL );
2010-07-28 21:24:07 -04:00
return $o ;
}
2012-02-23 05:22:32 -05:00
$contacts = array ();
2010-07-28 21:24:07 -04:00
foreach ( $r as $rr ) {
if ( $rr [ 'self' ])
continue ;
2011-06-06 00:05:55 -04:00
$url = $rr [ 'url' ];
// 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-29 23:58:32 -04:00
else
$url = zrl ( $url );
2011-06-06 00:05:55 -04:00
2012-02-23 05:22:32 -05:00
$contacts [] = array (
'id' => $rr [ 'id' ],
'img_hover' => sprintf ( t ( 'Visit %s\'s profile [%s]' ), $rr [ 'name' ], $rr [ 'url' ]),
'thumb' => $rr [ 'thumb' ],
'name' => substr ( $rr [ 'name' ], 0 , 20 ),
'username' => $rr [ 'name' ],
'url' => $url ,
'sparkle' => '' ,
2012-02-28 13:10:27 -05:00
'itemurl' => $rr [ 'url' ],
'network' => network_to_name ( $rr [ 'network' ]),
2012-02-23 05:22:32 -05:00
);
2010-07-28 21:24:07 -04:00
}
2012-02-23 05:22:32 -05:00
$tpl = get_markup_template ( " viewcontact_template.tpl " );
2012-12-22 14:57:29 -05:00
$includes = array (
'$contact_template' => 'contact_template.tpl' ,
);
$includes = set_template_includes ( $a -> theme [ 'template_engine' ], $includes );
$o .= replace_macros ( $tpl , $includes + array (
2012-02-23 05:22:32 -05:00
'$title' => t ( 'View Contacts' ),
'$contacts' => $contacts ,
'$paginate' => paginate ( $a ),
));
2010-07-28 21:24:07 -04:00
return $o ;
2011-05-23 05:39:57 -04:00
}