/www/caches/scripts/SQLiteDB.php
PHP | 123 lines | 109 code | 14 blank | 0 comment | 3 complexity | 8de43cddef56a3e69d7bb2fb969e127a MD5 | raw file
Possible License(s): MIT
- <?php
- $DB = SQLite_Open(PrivateFolder . 'database.sqlite', 0666, $Err);
- If(!$DB || $Err)
- {
- Header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
- Echo '500 Internal Server Error ' . __FILE__ . '; Line: ' . __LINE__;
- EXIT;
- }
- $Tables = Array();
- $rows = SQLite_Query($DB, 'SELECT name FROM sqlite_master WHERE type = "table"');
- While($Row = SQLite_Fetch_Array($rows, SQLITE_ASSOC))
- {
- $Tables[$Row['name']] = $Row['name'];
- }
- If(!IsSet($Tables['tbl_users']))
- {
- SQLite_Exec($DB, '
- CREATE TABLE tbl_users (
- userid INTEGER PRIMARY KEY,
- gid UNSIGNED INTEGER(10) NOT NULL DEFAULT 0,
- avatar UNSIGNED INTEGER(10) NOT NULL DEFAULT 0,
- banreasonid UNSIGNED INTEGER(10) NOT NULL DEFAULT 0,
- passwd NVARCHAR(32) NOT NULL DEFAULT "",
- salt NVARCHAR(5) NOT NULL DEFAULT "",
- email VARCHAR(100) NOT NULL DEFAULT "",
- login VARCHAR(50) NOT NULL DEFAULT "",
- displayname VARCHAR(200) NOT NULL DEFAULT ""
- );
- CREATE UNIQUE INDEX tbl_users_uidx_login ON tbl_users(login);
- CREATE UNIQUE INDEX tbl_users_uidx_displayname ON tbl_users(displayname);
- ');
- }
- If(!IsSet($Tables['tbl_banreasons']))
- {
- SQLite_Exec($DB, '
- CREATE TABLE tbl_banreasons (
- banreasonid INTEGER PRIMARY KEY,
- untiltime INTEGER(10) NOT NULL DEFAULT 0,
- bannedtime INTEGER(10) NOT NULL DEFAULT 0,
- banby INTEGER(10) NOT NULL DEFAULT 0,
- reason VARCHAR(255) NOT NULL DEFAULT ""
- );
- ');
- }
- If(!IsSet($Tables['tbl_uuids']))
- {
- SQLite_Exec($DB, '
- CREATE TABLE tbl_uuids (
- uuidid INTEGER PRIMARY KEY,
- uuid NVARCHAR(64) NOT NULL,
- banreasonid UNSIGNED INTEGER(10) NOT NULL DEFAULT 0
- );
- CREATE UNIQUE INDEX tbl_uuids_uidx_uuid ON tbl_uuids(uuid);
- ');
- }
- If(!IsSet($Tables['tbl_userids_uuids']))
- {
- SQLite_Exec($DB, '
- CREATE TABLE tbl_userids_uuids (
- uuidid UNSIGNED INTEGER(10) NOT NULL DEFAULT 0,
- userid UNSIGNED INTEGER(10) NOT NULL DEFAULT 0
- );
- CREATE UNIQUE INDEX tbl_userids_uuids_uidx_uuidid ON tbl_userids_uuids(uuidid, userid);
- CREATE UNIQUE INDEX tbl_userids_uuids_uidx_userid ON tbl_userids_uuids(userid, uuidid);
- ');
- }
- SQLite_Create_Function($DB, 'MD5WithSalt', 'fSQLite_MD5WithSalt', 2);
- Function fSQLite_MD5WithSalt($Str, $salt)
- {
- Return MD5($salt . $Str . $salt);
- }
- Define('DB_UNBUF', 1);
- Define('DB_QUERY', 2);
- Define('DB_EXEC', 3);
- Function CheckQueryOkEx($Query = False, $Execute = False, $Err500 = False)
- {
- GLOBAL $DB, $ERRORS;
- If(!$ERRORS || !Is_Array($ERRORS))
- {
- $ERRORS = Array();
- }
- If($Query)
- {
- SWITCH($Execute)
- {
- Case DB_UNBUF: $result = SQLite_Unbuffered_Query($DB, $Query); Break;
- Case DB_QUERY: $result = SQLite_Query($DB, $Query); Break;
- Case DB_EXEC: $result = SQLite_Exec($DB, $Query); Break;
- Default: $result = True; Break;
- }
- }
-
- $No = SQLite_Last_Error($DB);
- If($No)
- {
- If($Err500)
- {
- If(!Headers_Sent())
- {
- Header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
- }
- Echo '500 Internal Server Error';
- EXIT;
- }
- $ERRORS[] = '?????? ?????????? SQL ???????. SQLite Error ? ' . $No . ': ' . SQLite_Error_String($No) . ($Query && DEBUG ? ('<br /><pre>' . $Query . '</pre>') : '');
- Return False;
- }
- Return $result;
- }
- ?>