public static function createGame($pack) { $pack->auth->permission = "read_write"; if (!users::authenticateUser($pack->auth)) { return new return_package(6, NULL, "Failed Authentication"); } if (isset($pack->siftr_url) && $pack->siftr_url == '') { // For creation, a siftr_url of undefined, null, or empty string are all the same. // They all become NULL in the db. $pack->siftr_url = null; } $url_result = games::isValidSiftrURL($pack); if ($url_result->returnCode != 0) { return $url_result; } $pack->game_id = dbconnection::queryInsert("INSERT INTO games (" . (isset($pack->name) ? "name," : "") . (isset($pack->description) ? "description," : "") . (isset($pack->icon_media_id) ? "icon_media_id," : "") . (isset($pack->media_id) ? "media_id," : "") . (isset($pack->map_type) ? "map_type," : "") . (isset($pack->map_focus) ? "map_focus," : "") . (isset($pack->map_latitude) ? "map_latitude," : "") . (isset($pack->map_longitude) ? "map_longitude," : "") . (isset($pack->map_zoom_level) ? "map_zoom_level," : "") . (isset($pack->map_show_player) ? "map_show_player," : "") . (isset($pack->map_show_players) ? "map_show_players," : "") . (isset($pack->map_offsite_mode) ? "map_offsite_mode," : "") . (isset($pack->notebook_allow_comments) ? "notebook_allow_comments," : "") . (isset($pack->notebook_allow_likes) ? "notebook_allow_likes," : "") . (isset($pack->notebook_trigger_scene_id) ? "notebook_trigger_scene_id," : "") . (isset($pack->notebook_trigger_requirement_root_package_id) ? "notebook_trigger_requirement_root_package_id," : "") . (isset($pack->notebook_trigger_title) ? "notebook_trigger_title," : "") . (isset($pack->notebook_trigger_icon_media_id) ? "notebook_trigger_icon_media_id," : "") . (isset($pack->notebook_trigger_distance) ? "notebook_trigger_distance," : "") . (isset($pack->notebook_trigger_infinite_distance) ? "notebook_trigger_infinite_distance," : "") . (isset($pack->notebook_trigger_wiggle) ? "notebook_trigger_wiggle," : "") . (isset($pack->notebook_trigger_show_title) ? "notebook_trigger_show_title," : "") . (isset($pack->notebook_trigger_hidden) ? "notebook_trigger_hidden," : "") . (isset($pack->notebook_trigger_on_enter) ? "notebook_trigger_on_enter," : "") . (isset($pack->inventory_weight_cap) ? "inventory_weight_cap," : "") . (isset($pack->is_siftr) ? "is_siftr," : "") . (isset($pack->siftr_url) ? "siftr_url," : "") . (isset($pack->published) ? "published," : "") . (isset($pack->type) ? "type," : "") . (isset($pack->intro_scene_id) ? "intro_scene_id," : "") . (isset($pack->latitude) ? "latitude," : "") . (isset($pack->longitude) ? "longitude," : "") . (isset($pack->network_level) ? "network_level," : "") . (isset($pack->allow_download) ? "allow_download," : "") . (isset($pack->preload_media) ? "preload_media," : "") . (isset($pack->moderated) ? "moderated," : "") . (isset($pack->version) ? "version," : "") . (isset($pack->colors_id) ? "colors_id," : "") . "created" . ") VALUES (" . (isset($pack->name) ? "'" . addslashes($pack->name) . "'," : "") . (isset($pack->description) ? "'" . addslashes($pack->description) . "'," : "") . (isset($pack->icon_media_id) ? "'" . addslashes($pack->icon_media_id) . "'," : "") . (isset($pack->media_id) ? "'" . addslashes($pack->media_id) . "'," : "") . (isset($pack->map_type) ? "'" . addslashes($pack->map_type) . "'," : "") . (isset($pack->map_focus) ? "'" . addslashes($pack->map_focus) . "'," : "") . (isset($pack->map_latitude) ? "'" . addslashes($pack->map_latitude) . "'," : "") . (isset($pack->map_longitude) ? "'" . addslashes($pack->map_longitude) . "'," : "") . (isset($pack->map_zoom_level) ? "'" . addslashes($pack->map_zoom_level) . "'," : "") . (isset($pack->map_show_player) ? "'" . addslashes($pack->map_show_player) . "'," : "") . (isset($pack->map_show_players) ? "'" . addslashes($pack->map_show_players) . "'," : "") . (isset($pack->map_offsite_mode) ? "'" . addslashes($pack->map_offsite_mode) . "'," : "") . (isset($pack->notebook_allow_comments) ? "'" . addslashes($pack->notebook_allow_comments) . "'," : "") . (isset($pack->notebook_allow_likes) ? "'" . addslashes($pack->notebook_allow_likes) . "'," : "") . (isset($pack->notebook_trigger_scene_id) ? "'" . addslashes($pack->notebook_trigger_scene_id) . "'," : "") . (isset($pack->notebook_trigger_requirement_root_package_id) ? "'" . addslashes($pack->notebook_trigger_requirement_root_package_id) . "'," : "") . (isset($pack->notebook_trigger_title) ? "'" . addslashes($pack->notebook_trigger_title) . "'," : "") . (isset($pack->notebook_trigger_icon_media_id) ? "'" . addslashes($pack->notebook_trigger_icon_media_id) . "'," : "") . (isset($pack->notebook_trigger_distance) ? "'" . addslashes($pack->notebook_trigger_distance) . "'," : "") . (isset($pack->notebook_trigger_infinite_distance) ? "'" . addslashes($pack->notebook_trigger_infinite_distance) . "'," : "") . (isset($pack->notebook_trigger_wiggle) ? "'" . addslashes($pack->notebook_trigger_wiggle) . "'," : "") . (isset($pack->notebook_trigger_show_title) ? "'" . addslashes($pack->notebook_trigger_show_title) . "'," : "") . (isset($pack->notebook_trigger_hidden) ? "'" . addslashes($pack->notebook_trigger_hidden) . "'," : "") . (isset($pack->notebook_trigger_on_enter) ? "'" . addslashes($pack->notebook_trigger_on_enter) . "'," : "") . (isset($pack->inventory_weight_cap) ? "'" . addslashes($pack->inventory_weight_cap) . "'," : "") . (isset($pack->is_siftr) ? "'" . addslashes($pack->is_siftr) . "'," : "") . (isset($pack->siftr_url) ? "'" . addslashes($pack->siftr_url) . "'," : "") . (isset($pack->published) ? "'" . addslashes($pack->published) . "'," : "") . (isset($pack->type) ? "'" . addslashes($pack->type) . "'," : "") . (isset($pack->intro_scene_id) ? "'" . addslashes($pack->intro_scene_id) . "'," : "") . (isset($pack->latitude) ? "'" . addslashes($pack->latitude) . "'," : "") . (isset($pack->longitude) ? "'" . addslashes($pack->longitude) . "'," : "") . (isset($pack->network_level) ? "'" . addslashes($pack->network_level) . "'," : "") . (isset($pack->allow_download) ? "'" . addslashes($pack->allow_download) . "'," : "") . (isset($pack->preload_media) ? "'" . addslashes($pack->preload_media) . "'," : "") . (isset($pack->moderated) ? "'" . addslashes($pack->moderated) . "'," : "") . (isset($pack->version) ? "'" . addslashes($pack->version) . "'," : "") . (isset($pack->colors_id) ? "'" . addslashes($pack->colors_id) . "'," : "") . "CURRENT_TIMESTAMP" . ")"); dbconnection::queryInsert("INSERT INTO user_games (game_id, user_id, created) VALUES ('{$pack->game_id}','{$pack->auth->user_id}',CURRENT_TIMESTAMP)"); // game_id, type, name, icon, sort, created dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'QUESTS', '', '0', '1', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'MAP', '', '0', '2', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'INVENTORY', '', '0', '3', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'SCANNER', '', '0', '4', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'DECODER', '', '0', '5', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'PLAYER', '', '0', '6', CURRENT_TIMESTAMP)"); dbconnection::query("INSERT INTO tabs (game_id, type, name, icon_media_id, sort_index, created) VALUES ('{$pack->game_id}', 'NOTEBOOK', '', '0', '7', CURRENT_TIMESTAMP)"); mkdir(Config::v2_gamedata_folder . "/{$pack->game_id}", 0777); $pack->name = "Starting Scene"; $pack->description = ""; scenes::createScene($pack); return games::getGame($pack); }
public static function getScenesForGame($pack) { $sql_scenes = dbconnection::queryArray("SELECT * FROM scenes WHERE game_id = '{$pack->game_id}'"); $scenes = array(); for ($i = 0; $i < count($sql_scenes); $i++) { if ($ob = scenes::sceneObjectFromSQL($sql_scenes[$i])) { $scenes[] = $ob; } } return new return_package(0, $scenes); }