Website status in memberlistThis Snippet shows the website reachable status in memberlist
requested by: FranckTHrequest topic: http://www.phpbb.com/community/viewtopi ... &t=2155208demo: http://4seven.bplaced.net/forum/media/member ... &sk=a&sd=ascreen:Attachment:
website_status.png [ 2.42 MiB | Viewed 1745 times ]
Instructiondownload:
rightclick > save image under ...copy: both images to
root/images/
openmemberlist.php
find Code:
$user->setup(array('memberlist', 'groups'));
after addCode:
if ($auth->acl_get('a_'))
{
function url_reachable($domain){
$a_url = parse_url("$domain");
$host = $a_url['host'];
$starttime = microtime(true);
$file = @fsockopen ("$host", 80, $errno, $errstr, 0.2);
$stoptime = microtime(true);
$status = 0;
if (!$file){
$status = 0;}
else{
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);}
if (($status != 0) && ($status < 200)){
return '<img style="position:relative;top:2px;" src="images/link_yes.png" alt="" /> <span style="color:#999999;">' . $status . ' msec.</span><br />';}
else{
return ($status != 0) ? '<img style="position:relative;top:2px;" src="images/link_no.png" alt="" /> <span style="color:#999999;">Timeout: ' . $status . ' msec.</span><br />' : '<img style="position:relative;top:2px;" src="images/link_no.png" alt="" /> <span style="color:#999999;">Offline or Url not exists</span><br />';}}
}
else
{
function url_reachable($domain){
$a_url = parse_url("$domain");
$host = $a_url['host'];
$starttime = microtime(true);
$file = @fsockopen ("$host", 80, $errno, $errstr, 0.2);
$stoptime = microtime(true);
$status = 0;
if (!$file){
$status = 0;}
else{
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);}
if (($status != 0) && ($status < 200)){
return '<img style="position:relative;top:2px;" src="images/link_yes.png" alt="" /> ';}
else{
return '<img style="position:relative;top:2px;" src="images/link_no.png" alt="" /> ';}}
}
findCode:
'U_WWW' => (!empty($data['user_website'])) ? $data['user_website'] : '',
after addCode:
'S_WWW_EXISTS' => (!empty($data['user_website']) && function_exists('url_reachable')) ? url_reachable($data['user_website']) : false,
openstyles/prosilver/memberlist_body.html
findCode:
<!-- IF memberrow.U_WWW --><div><a href="{memberrow.U_WWW}" title="{L_VISIT_WEBSITE}: {memberrow.U_WWW}">{memberrow.U_SHORT_WWW}</a></div><!-- ENDIF -->
replace withCode:
<!-- IF memberrow.U_WWW --><div><!-- IF memberrow.S_WWW_EXISTS -->{memberrow.S_WWW_EXISTS}<!-- ENDIF --><a href="{memberrow.U_WWW}" title="{L_VISIT_WEBSITE}: {memberrow.U_WWW}">{memberrow.U_SHORT_WWW}</a></div><!-- ENDIF -->
clear all board- and browser-caches
note: this is one of the fastest script for checking url availability.
it checks each [url]
max. 200 msec. (0,2 sec.).
if many links are bad, the memberlist slows down.