-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdeleteroom.php
97 lines (97 loc) · 3.11 KB
/
deleteroom.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
require('../s/common/core.php');
if(isset($_POST['auth_code'])){
if(!checkAuth($_POST['auth_code'])){
echo json_encode(array(
'error'=>'authentication_error',
'error_description'=>'アクセスの認証に失敗しました。'
));
exit;
}
}else{
echo json_encode(array(
'error'=>'not_access_from_lobby',
'error_description'=>'アクセスの認証に失敗しました。(2)'
));
exit;
}
require(DIR_ROOT.'s/common/function.php');
$principal_id='';
if(!empty($_POST['principal_id'])){
$principal_id=$_POST['principal_id'];
}else{
echo json_encode(array(
'error'=>'no_specified_id',
'error_description'=>'プレイヤーが指定されていません。'
));
exit;
}
$principal_ip='';
if(!empty($_POST['principal_ip'])){
$principal_ip=$_POST['principal_ip'];
}else{
echo json_encode(array(
'error'=>'unable_to_delete_room',
'error_description'=>'あなたはルームを削除できません。'
));
exit;
}
$room_id='';
$room_dir='';
$room_file='';
$room_mirror_file='';
if(!empty($_POST['room_id'])){
$room_id=basename($_POST['room_id']);
$room_dir=DIR_ROOT.'r/n/'.$room_id.'/';
$room_file=$room_dir.'data.xml';
$room_mirror_file=$room_dir.'data-mirror.xml';
if(!file_exists($room_file)){
echo json_encode(array(
'error'=>'no_room',
'error_description'=>'ルームが見つかりません。'
));
exit;
}
}else{
echo json_encode(array(
'error'=>'no_room_id',
'error_description'=>'ルームIDが指定されていません。'
));
exit;
}
// ルーム制作者チェック
$room_list=new classRoomList;
if($room_list->load()){
$creater_flag=false;
foreach($room_list->room as $room_data){
if($room_data['creater']==$principal_id){
$creater_flag=true;
break;
}
}
if($creater_flag==false){
echo json_encode(array(
'error'=>'Not_a_creator',
'error_description'=>'ルーム制作者でないため、削除できません。'
));
exit;
}
}else{
echo json_encode(array(
'error'=>'failed_to_load_room_info',
'error_description'=>'ルーム情報の読み込みに失敗しました。'
));
exit;
}
// ルームの削除
if(deleteTargetRoom($room_id)!==false){
$send_info['deleted']=(string)$room_id;
echo json_encode($send_info);
exit;
}else{
echo json_encode(array(
'error'=>'failed_to_delete_room',
'error_description'=>'ルームの削除に失敗しました。'
));
exit;
}