$score){ }else{ // UPDATE self::query("UPDATE `SECTOR_SCORES` SET `time`='$time', `score`='$score' WHERE `lid` = '$lid' AND `uid` = '$uid' LIMIT 1;"); if($scoreOld != $score) $change = "true"; } } self::getLevelScores($lid, $change, $lastRecord); exit(); } public static function refreshLogin($uid){ $token = Util::uniqueString(20); self::query(" UPDATE `SECTOR_USERS` SET `auth_token` = '$token' WHERE `uid` = '$uid' LIMIT 1; "); $result = self::query("SELECT `name`,`email`,`reg_time`,`country` FROM `SECTOR_USERS` WHERE `uid` = '$uid';"); $row = mysql_fetch_assoc($result); $name = $row["name"]; $email = $row["email"]; $reg_time = $row["reg_time"]; $country = $row["country"]; echo XmlGen::sessionInfo($uid, $token, $name, $email, $reg_time, $country); } public static function addLevel($title, $filename){ $result = self::query("SELECT COUNT(*) FROM `SECTOR_LEVELS` WHERE `filename` = '".mysql_real_escape_string($filename)."';"); $row = mysql_fetch_array($result); $cnt = $row[0]; if($cnt>0) XmlGen::error_exit("LEVEL_ALREADY_ADDED"); $result = self::query("SELECT COUNT(*) FROM `SECTOR_LEVELS` WHERE `title` = '".mysql_real_escape_string($title)."';"); $row = mysql_fetch_array($result); $cnt = $row[0]; if($cnt>0) XmlGen::error_exit("LEVEL_NAME_NOT_UNIQUE"); $result = self::query("SELECT `value` FROM `SECTOR_INFO` WHERE `key` = 'LEVELS_PATH_RELATIVE_TO_SERVER';"); $row = mysql_fetch_array($result); $path = $row[0]; $result = self::query("SELECT `value` FROM `SECTOR_INFO` WHERE `key` = 'LEVELS_PATH';"); $row = mysql_fetch_array($result); $apath = $row[0]; $fpath = $path.$filename; if(!file_exists($fpath)){ XmlGen::error_exit("FILE_NOT_FOUND","Level file does not exist: ".$fpath); } if(substr($filename,strlen($filename)-4) != ".xml"){ XmlGen::error_exit("BAD_FILE_FORMAT", "Level file must be XML: ".$fpath); } // generate a LID $lid = ""; while(true){ $lid = "L-".Util::uniqueString(9); $result = self::query("SELECT COUNT(*) FROM `SECTOR_LEVELS` WHERE `lid` = '$lid';"); $row = mysql_fetch_row($result); if($row[0] == 0) break; } $hash = md5_file($fpath); $title = mysql_real_escape_string($title); $filename = mysql_real_escape_string($filename); $time = time(); self::query(" INSERT INTO `SECTOR_LEVELS` (`lid`,`title`,`filename`,`checksum`,`time`) VALUES ('$lid','$title','$filename','$hash','$time'); "); echo XmlGen::levelAddedInfo($lid, $title, $apath.$filename, $hash, $time); exit(); } public static function query($q){ $res = mysql_query($q) or die(XmlGen::error("INTERNAL_ERROR", "DbError: ".mysql_error())); return $res; } }