| <?php |
|
|
| function cleanupDb() |
| { |
| if (isset($db)) { |
| $db->close(); |
| $db = null; |
| } |
| } |
|
|
| function abortDb($errormsg) |
| { |
| header('HTTP/1.0 500 Error'); |
| echo "<h1>500 Error</h1>"; |
| echo $errormsg; |
| cleanupDb(); |
| exit; |
| } |
|
|
| function initDbIfNeeded() |
| { |
| global $db, $dbhost, $dbuserid, $dbpassword, $dbname, $dbport; |
|
|
| $pos = strpos($dbname, '?'); |
|
|
| if ($pos) { |
| $dbname = substr($dbname, 0, $pos); |
| } |
|
|
| if (!$db) { |
| $db = mysqli_connect('p:' . $dbhost, $dbuserid, $dbpassword, $dbname, $dbport); |
| if (mysqli_connect_errno()) { |
| abortDb("Error opening database"); |
| } |
| } |
| } |
|
|
| function getStandaloneFileByServerId($fname, $sid) |
| { |
| global $db, $dbprefix; |
|
|
| initDbIfNeeded(); |
| $stmt = $db->prepare('SELECT Content from ' . $dbprefix . 'StandaloneFiles WHERE FileName=? AND ServerID=?'); |
| $stmt->bind_param('si', $fname, $sid); |
| $res = $stmt->execute(); |
| $stmt->store_result(); |
| $stmt->bind_result($content); |
| if ($stmt->fetch()) { |
| $rslt = $content; |
| } else { |
| $rslt = null; |
| } |
| $stmt->close(); |
| return $rslt; |
| } |
|
|
| function getStandaloneFile($fname) |
| { |
| global $serverid; |
|
|
| if (!isset($serverid)) { |
| $serverid = 0; |
| if (isset($_REQUEST['serverid'])) { |
| $serverid = $_REQUEST['serverid']; |
| } |
| } |
| return getStandaloneFileByServerId($fname, $serverid); |
| } |
|
|
| function updateStandaloneFileByServerId($fname, $sid, $content) |
| { |
| global $db, $dbprefix; |
|
|
| initDbIfNeeded(); |
| $stmt = $db->prepare('UPDATE ' . $dbprefix . 'StandaloneFiles SET Content=? WHERE FileName=? AND ServerID=?'); |
| $stmt->bind_param('ssi', $content, $fname, $sid); |
| $res = $stmt->execute(); |
| $stmt->close(); |
| if (!$res) { |
| $res = insertStandaloneFileByServerId($fname, $sid, $content); |
| } |
| return $res; |
| } |
|
|
| function updateStandaloneFile($fname, $content) |
| { |
| global $serverid; |
|
|
| if (!isset($serverid)) { |
| $serverid = 0; |
| if (isset($_REQUEST['serverid'])) { |
| $serverid = $_REQUEST['serverid']; |
| } |
| } |
| return updateStandaloneFileByServerId($fname, $serverid, $content); |
| } |
|
|
| function insertStandaloneFileByServerId($fname, $sid, $content) |
| { |
| global $db, $dbprefix; |
|
|
| initDbIfNeeded(); |
| $stmt = $db->prepare('INSERT INTO ' . $dbprefix . 'StandaloneFiles (Content,FileName,ServerID) VALUES (?,?,?);'); |
| $stmt->bind_param('ssi', $content, $fname, $sid); |
| $res = $stmt->execute(); |
| $stmt->close(); |
| return $res; |
| } |
|
|
| function insertStandaloneFile($fname, $content) |
| { |
| global $serverid; |
|
|
| if (!isset($serverid)) { |
| $serverid = 0; |
| if (isset($_REQUEST['serverid'])) { |
| $serverid = $_REQUEST['serverid']; |
| } |
| } |
| return insertStandaloneFileByServerId($fname, $serverid, $content); |
| } |
|
|