gaim/www

Now do it right.

2005-10-18, Tim Ringenbach
38bb7d7104f2
Now do it right.
<?php
require "version.inc.php";
error_reporting(0);
require "database.inc.php";
require "config.inc.php";
$changelog_file = "ChangeLog";
$changelog_file_win32 = "win32/ChangeLog.win32";
if(isset($_GET['version']) && isset($_GET['build'])) {
$version = $_GET['version'];
$build = $_GET['build'];
}
else exit();
$cvs = preg_match("/cvs/",$version);
$my_ver = str_replace("cvs","", $version);
$my_ver = preg_replace("/-(\d+)$/","", $my_ver);
if($build == "gaim-win32")
$cur_ver = $current_win32_version;
else
$cur_ver = $current_version;
$cur_ver_parts = explode(".", $cur_ver);
$my_ver_parts = explode(".", $my_ver);
$upgrade = false;
for($i=0; $i < count($cur_ver_parts); $i++) {
if(!isset($my_ver_parts[$i]) || $cur_ver_parts[$i] > $my_ver_parts[$i])
$upgrade = true;
else if($my_ver_parts[$i] > $cur_ver_parts[$i])
break;
}
if($cur_ver == $my_ver && $cvs)
$upgrade = true;
/* This code is going to let me track how quickly people upgrade,
* for my statistics project. Feel free to put on your tinfoil hat */
if(!$cvs) {
$db = new Database($sql_type, $sql_server, $sql_username, $sql_password, $sql_database);
$db->connect();
$db->query("UPDATE version_track SET count=count+1 WHERE day=NOW() AND version = '$my_ver' AND build='$build' AND cur_version = '$cur_ver'");
if(mysql_affected_rows() == 0) {
$db->query("INSERT INTO version_track (day,version,build,count,cur_version) VALUES(NOW(),'$my_ver','$build',1,'$cur_ver')");
}
$db->disconnect();
}
if(!$upgrade) exit();
print "$cur_ver\n";
/* TODO: merge in the stuff from the win32 changelog for them */
$f = fopen ($changelog_file, "r");
$changelog_text = fread ($f, filesize ($changelog_file));
fclose ($f);
/* skip the Pimpin' Penguin line */
$startpos = strpos($changelog_text, "version");
$oldpos = strpos($changelog_text, "version $my_ver ", $startpos);
if($oldpos === FALSE) exit();
print substr($changelog_text, $startpos, $oldpos - $startpos);
?>