OSDN Git Service

練習用ステージ(onieasy)の作成。メッセージがあるため説明がある。
[h58pcdgame/GameScriptCoreLibrary.git] / www / header.php
index 10058bc..1946f81 100644 (file)
@@ -10,25 +10,54 @@ define("DATABASE_PWD", "MoonStone");
 //データベース名
 define("DATABASE_NAME", "pcd2013dev");
 
-//SQL文 for AuthUserTable
-define("QUERY_SELECT_USER_ID", "SELECT id from AuthUserTable where name = ?;");
+//データベース生成SQL
+define("QUERY_CREATE_authUserTable", "");
+define("QUERY_CREATE_stageObjectTable", "");
+
+//SQL文 for authUserTable
+define("QUERY_SELECT_USER_ID", "SELECT id from authUserTable where name = ?");
 define("QUERY_SELECT_USER_ID_TYPES", "s");
-define("QUERY_SELECT_USER_STAGE", "SELECT userStageName from AuthUserTable where id = ?;");
+define("QUERY_SELECT_USER_STAGE", "SELECT userStageName from authUserTable where id=?");
 define("QUERY_SELECT_USER_STAGE_TYPES", "i");
-define("QUERY_ADD_USER", "insert into AuthUserTable (name) values (?)");
-define("QUERY_ADD_USER_TYPES", "s");
-define("QUERY_UPDATE_USER_STAGE", "UPDATE AuthUserTable SET userStageName=? WHERE id=?;");
+define("QUERY_SELECT_USER_STAGE_AND_TIMESTAMP", "SELECT userStageName, lastResponseTimestamp from authUserTable where id=?");
+define("QUERY_SELECT_USER_STAGE_AND_TIMESTAMP_TYPES", "i");
+define("QUERY_ADD_USER", "insert into authUserTable (name, userStageName) values (?, ?)");
+define("QUERY_ADD_USER_TYPES", "ss");
+define("QUERY_UPDATE_USER_STAGE", "UPDATE authUserTable SET userStageName=? WHERE id=?");
 define("QUERY_UPDATE_USER_STAGE_TYPES", "si");
-define("QUERY_UPDATE_USER_TIMESTAMP", "UPDATE AuthUserTable SET lastResponseTimestamp=? WHERE id=?;");
+define("QUERY_UPDATE_USER_TIMESTAMP", "UPDATE authUserTable SET lastResponseTimestamp=? WHERE id=?");
 define("QUERY_UPDATE_USER_TIMESTAMP_TYPES", "ii");
-define("QUERY_SELECT_USER_TIMESTAMP", "SELECT lastResponseTimestamp from AuthUserTable where id = ?;");
+define("QUERY_SELECT_USER_TIMESTAMP", "SELECT lastResponseTimestamp from authUserTable where id = ?");
 define("QUERY_SELECT_USER_TIMESTAMP_TYPES", "i");
-
+define("QUERY_DELETE_OFFLINE_USER", "DELETE from authUserTable WHERE lastResponseTimestamp<=?");
+define("QUERY_DELETE_OFFLINE_USER_TYPES", "i");
+//SQL文 for stageObjectTable
+define("QUERY_ADD_OBJECT", "insert into stageObjectTable (locationX, locationY, velocityX, velocityY, stageName, className, objectAttribute, constructorArgs, ownerUserID, modifiedTimestamp, addedTimestamp) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+define("QUERY_ADD_OBJECT_TYPES", "ddddssssiii");
+define("QUERY_DELETE_USER_OBJECT_ALL", "delete from stageObjectTable where ownerUserID=?");
+define("QUERY_DELETE_USER_OBJECT_ALL_TYPES", "i");
+define("QUERY_SELECT_ADDED_OBJECT", "SELECT id, locationX, locationY, velocityX, velocityY, className, objectAttribute, constructorArgs, ownerUserID FROM stageObjectTable WHERE stageName=? AND ownerUserID<>? AND addedTimestamp>? AND objectAttribute<>'Deleted'");
+define("QUERY_SELECT_ADDED_OBJECT_TYPES", "sii");
+define("QUERY_SELECT_UPDATED_OBJECT", "SELECT id, locationX, locationY, velocityX, velocityY, className, objectAttribute FROM stageObjectTable WHERE stageName=? AND ownerUserID<>? AND modifiedTimestamp>=? AND addedTimestamp<? AND objectAttribute<>'Deleted'");
+define("QUERY_SELECT_UPDATED_OBJECT_TYPES", "siii");
+define("QUERY_SELECT_DELETED_OBJECT", "SELECT id, locationX, locationY, velocityX, velocityY, className, objectAttribute FROM stageObjectTable WHERE stageName=? AND ownerUserID<>? AND modifiedTimestamp>=? AND objectAttribute='Deleted'");
+define("QUERY_SELECT_DELETED_OBJECT_TYPES", "sii");
+define("QUERY_UPDATE_STAGE_OBJECT", "UPDATE stageObjectTable SET locationX=?, locationY=?, velocityX=?, velocityY=?, objectAttribute=?, modifiedTimestamp=? WHERE stageName=? AND id=? AND objectAttribute<>'Deleted'");
+define("QUERY_UPDATE_STAGE_OBJECT_TYPES", "ddddsisi");
+define("QUERY_SELECT_ALL_OTHER_USER_OBJECT", "SELECT id, locationX, locationY, velocityX, velocityY, className, objectAttribute, constructorArgs, ownerUserID FROM stageObjectTable WHERE stageName=? AND ownerUserID<>? AND modifiedTimestamp>? AND objectAttribute<>'Deleted'");
+define("QUERY_SELECT_ALL_OTHER_USER_OBJECT_TYPES", "sii");
+define("QUERY_CHECK_AND_SET_DELETED_OBJECT", "UPDATE stageObjectTable SET objectAttribute='Deleted', modifiedTimestamp=? WHERE modifiedTimestamp<=? AND objectAttribute<>'Deleted'");
+define("QUERY_CHECK_AND_SET_DELETED_OBJECT_TYPES", "ii");
+define("QUERY_DELETE_OFFLINE_OBJECT", "DELETE from stageObjectTable WHERE modifiedTimestamp<=?");
+define("QUERY_DELETE_OFFLINE_OBJECT_TYPES", "i");
 //デフォルト開始ステージ名
-define("DEFAULT_START_STAGE", "main");
+define("DEFAULT_START_STAGE", "cselect");
 
-//ユーザー生存期間(ミリ秒)
+//生存期間(ミリ秒)
+define("OBJECT_ALIVE_TIME_MS", 2000);
+define("OBJECT_DELETE_TIME_MS", 30000);
 define("USER_ALIVE_TIME_MS", 2000);
+define("USER_DELETE_TIME_MS", 30000);
 
 function escapeMySQLArgumentString(&$str)
 {
@@ -36,6 +65,7 @@ function escapeMySQLArgumentString(&$str)
        $str = str_replace("\"", "", $str);
        $str = str_replace("'", "", $str);
        $str = str_replace("¥", "", $str);
+       $str = str_replace("|", "", $str);
 }
 
 function updateUserTimestamp($db, $userID)
@@ -44,6 +74,7 @@ function updateUserTimestamp($db, $userID)
        $stmt->bind_param(QUERY_UPDATE_USER_TIMESTAMP_TYPES, getTimeStampMs(), $userID);
        $stmt->execute();
        //エラーチェック省略
+       $stmt->close();
 }
 
 function getUserLastResponseTimestamp($db, $userID)
@@ -62,6 +93,7 @@ function getUserLastResponseTimestamp($db, $userID)
                        $stmt->fetch();
                }
        }
+       $stmt->close();
        return $ts;
 }