0 && $v != $values[0])
{
if($v == $values[1])
echo " update available"; // second newest
else
echo " updates available"; // current is not first
}
?>
|
|
|
time()-1*24*3600)
return $row['result']; // return cached result
$parsed=parse_url($url);
if(!$parsed["scheme"] && !$parsed["host"] && $parsed["path"])
{ // just a plain address
$parsed["host"]=$parsed["path"];
$parsed["path"]="";
}
if(!$parsed['scheme']) $parsed['scheme']="http"; // default
// print_r($parsed);
// $fullpath="$parsed[scheme]://$parsed[host]$parsed[path]";
$result=" [can't check URL]";
if(!$parsed["host"])
return ""; // not valid at all -- don't cache
if((checkdnsrr($parsed["host"], "A")) != true)
$result=" [host unreachable]"; // host not found
else
{
/*
$ch = curl_init ($url) ;
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
// set some option to check existence only
// set some option to get error status
$res = curl_exec ($ch) ;
curl_close ($ch) ;
return ($res) ;
*/
$port=$parsed["port"];
if(!$port)
{
if($parsed['scheme'] == "https")
$port=443;
else
$port=80; // default for HTTP
}
$path=$parsed["path"];
if(!$path)
$path="/"; // root
if($parsed["query"])
$path.="?".$parsed["query"];
if($parsed['scheme'] == "http")
{
$fp=fsockopen($parsed["host"], $port, $errno, $errstr, 1.0);
if($fp)
{
stream_set_timeout($fp, 2.0);
// if($path[0] == "/")
// $path=substr($path, 1);
// echo " GET $path HTTP/1.1\n\n";
// FIXME: this does not work for https
// we may need to do a curl call
fputs($fp,"HEAD $path HTTP/1.1\nHost: ".$parsed['host']."\n\n"); // ask for header only (large files!)
$lines=fgets($fp, 1024); // get first line(s)
// echo $lines;
strtok($lines, " "); // HTTP...
$code=strtok(" ");
$message=trim(strtok("\n"));
if($code == 200)
$result=" [$code $message]";
// handle server redirect!
else if($message)
$result=" [$code $message]"; // path not found
else
$result=" [no response]";
fclose($fp);
}
else
$result=" [no connection]";
}
}
if($row)
$query="update ${DB_TABLE}_links set timestamp=".quote(time()).", result=".quote($result)." where url=".quote($url);
else
$query="insert into ${DB_TABLE}_links set timestamp=".quote(time()).", result=".quote($result).", url=".quote($url);
// echo $query;
query($query);
return $result;
}
function field($row, $title, $field, $right="", $left="")
{
if($left || $right || $row[$field])
return "".htmlentities($title)." | ".$left.htmlentities($row[$field]).$right." |
";
return "";
}
function urlfield($row, $title, $field)
{
if($row[$field])
return field($row, $title, $field, "".checklink($row[$field]), "");
return "";
}
function details($id, $row)
{ // show description
global $DB_TABLE;
echo "";
$desc=$row['description'];
if(preg_match("//", $desc) ||
preg_match("/ /", $desc) ||
preg_match("//", $desc) ||
preg_match("//", $desc))
echo $desc; // contains or or , don't convert \n and assume plain HTML
else
{
$desc=htmlentities($desc); // convert to HTML
$desc=preg_replace("/\n\n/", " ", $desc); // add simple formatting
$desc=preg_replace("/\n/", " \n", $desc);
echo $desc;
}
?>
|
|
", "");
echo field($row, "Price (US$)", "price", " US$ This is informative and approximate only. Not an offer. No liability for inaccuracies.");
?>
Category
|
";
echo htmlentities($cat);
echo "";
$first=false;
}
if(!$first)
; // no category specified...
?>
|
";
?>
|
".htmlentities($row['author'])."";
?>
|
|
";
}
function commands($id)
{ // show commands
global $DB_TABLE;
?>
[ add comment |
edit entry |
pending changes | ";
}
mysql_free_result($result);
if(isloggedin())
{
$query="select * from ${DB_TABLE}_subscription where appid=$id and email=".quote(loginname());
$result=query($query);
if(mysql_fetch_array($result))
{ // has subscribed
echo " unsubscribe";
}
else
echo " subscribe";
mysql_free_result($result);
echo " |";
}
// if(manage())
// {
// if($row['approved'] == 0)
// echo " | approve";
// else
echo " disapprove";
// }
?>
] |
3)
$factor=3.0; // don't enlarge too much
$h*=$factor;
$w*=$factor;
?>
|
submit
screenshot";
echo "";
}
function morescreens($id, $row)
{ // show more screen shots if available
global $DB_TABLE;
$first=1;
for($num=1; $num <= 4; $num++)
{
$file=getscreenshot($id, $num); // get file name
if($file == "")
continue; // not found
if($first)
{
?>
More Screenshots:
3)
$factor=3.0; // don't enlarge too much
$h*=$factor;
$w*=$factor;
?>
|
|
Comments:
";
echo "From: ".htmlentities($row['from'])."";
echo " Date: ".htmlentities($row['d']);
if($row['version'])
echo " Version: ".htmlentities($row['version']);
if($row['from'] == loginname() || manage())
echo " [ Delete ]";
echo " \n";
echo "Subject: ".htmlentities($row['subject'])."";
echo "\n";
echo htmlentities($row['body']);
echo "\n";
} // while loop
if(!$first)
{ // there was any
?>
|
|
Anything wrong with this entry? Click here to fix it!
Want to add a comment? Click here!
|
This function is to request to delete the application. Please note that this request will be reviewed.";
?>
Please specify a comment.";
}
else if(imagecode($_POST['image']) != "".$_POST['cone']."")
{
echo "Please type in the correct code.";
}
else
{
requestchange($id, 'approved', 0, $_POST['comment']);
echo "Disapproval requested.";
}
}
else if(manage() && $_GET['cmd'] == "approve")
{
requestchange($id, 'approved', 1, $_POST['comment']);
echo "Approval requested.";
}
else if(isloggedin() && $_GET['cmd'] == "subscribe")
{
query("replace ${DB_TABLE}_subscription set email=".quote(loginname()).", appid=$id");
}
else if(isloggedin() && $_GET['cmd'] == "unsubscribe")
{
query("delete from ${DB_TABLE}_subscription where email=".quote(loginname())." and appid=$id");
}
$query="select *, DATE_FORMAT(updated, '%e %b %Y') as upd, DATE_FORMAT(added, '%e %b %Y') as ad from ${DB_TABLE}";
$query.=" where id=".$id;
$result=query($query);
$row=mysql_fetch_array($result);
mysql_free_result($result);
if(!$row)
{
if($_GET['appname'])
$id=$_GET['appname'];
echo "Application $id not found.";
include "include/footer.inc.php";
exit;
}
if(!manage())
{ // update visit count
query("update ${DB_TABLE} set views=views+1 where id=$id");
$query="insert into ${DB_TABLE}_visitors values($id, now(), ".quote($_SERVER['REMOTE_ADDR']).")";
query($query);
query("delete from ${DB_TABLE}_visitors where `when` < date_sub(now(), interval 1 day)"); // remove older entries
}
master($id, $row);
include "include/footer.inc.php";
exit;
?> |