Category CRUD and move topic.
このコミットが含まれているのは:
コミット
d33b981a58
|
@ -43,12 +43,109 @@ class BoardController extends Controller {
|
|||
->get();
|
||||
}
|
||||
|
||||
public function readPost(Request $request) { // /api/rpc/board/post/read
|
||||
$check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_canview']) {
|
||||
$getViews = DB::table('for_threads')
|
||||
->select('views')
|
||||
->where('id', $request->id)
|
||||
->first();
|
||||
|
||||
// id, user_id, for_id, last_read
|
||||
// $getReadTopic = DB::table('for_readthreads')
|
||||
|
||||
// id, user_id, top_id, page_id, last_read
|
||||
// $getReadPost = DB::table('for_readposts')
|
||||
// ->select('*')
|
||||
|
||||
// return $something;
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function addCategory(Request $request) { // /api/rpc/board/category/add
|
||||
$check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_catmod'] == 1) {
|
||||
$add = DB::table('for_category')
|
||||
->insertGetId([
|
||||
'title' => $request->title,
|
||||
'order' => $request->order
|
||||
]);
|
||||
|
||||
return $add;
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function editCategory(Request $request) { // /api/rpc/board/category/edit
|
||||
$check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_catmod'] == 1) {
|
||||
return DB::table('for_category')
|
||||
->where('id', $request->id)
|
||||
->update([
|
||||
'id' => $request->id,
|
||||
'title' => $request->title
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteCategory(Request $request) { // /api/rpc/board/category/delete
|
||||
$check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_catmod'] == 1) {
|
||||
return DB::table('for_category')->where('id', $request->id)->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getForums($id) { // /api/rpc/board/forum/getforums/id
|
||||
$get = DB::table('for_forums')
|
||||
->select('id', 'last_uid', 'cat_id', 'title', 'description', 'threads', 'posts', 'last_date')
|
||||
->where('cat_id', $id)
|
||||
->orderBy('order', 'asc')
|
||||
->get();
|
||||
if ($id == 0) {
|
||||
$get = DB::table('for_forums')
|
||||
->select('id', 'last_uid', 'cat_id', 'title', 'description', 'threads', 'posts', 'last_date')
|
||||
->orderBy('order', 'asc')
|
||||
->get();
|
||||
}
|
||||
else {
|
||||
$get = DB::table('for_forums')
|
||||
->select('id', 'last_uid', 'cat_id', 'title', 'description', 'threads', 'posts', 'last_date')
|
||||
->where('cat_id', $id)
|
||||
->orderBy('order', 'asc')
|
||||
->get();
|
||||
}
|
||||
|
||||
$res = array();
|
||||
$key = 0;
|
||||
|
@ -643,6 +740,9 @@ class BoardController extends Controller {
|
|||
'lock' => 1
|
||||
]);
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -662,11 +762,14 @@ class BoardController extends Controller {
|
|||
'lock' => 0
|
||||
]);
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function moveTopic(Request $request) { // /api/rpc/board/topic/move
|
||||
/* $check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
$check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
|
@ -675,6 +778,98 @@ class BoardController extends Controller {
|
|||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_move'] == 1) {
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->old_id)
|
||||
->decrement('threads', 1);
|
||||
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->old_id)
|
||||
->decrement('posts', 1);
|
||||
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->new_id)
|
||||
->increment('threads', 1);
|
||||
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->new_id)
|
||||
->increment('posts', 1);
|
||||
|
||||
$getLastTopic = DB::table('for_threads')
|
||||
->select('last_date', 'last_uid')
|
||||
->where('for_id', $request->old_id)
|
||||
->orderBy('last_date', 'desc')
|
||||
->offset(1)
|
||||
->limit(1)
|
||||
->get();
|
||||
|
||||
$getCurrentTopic = DB::table('for_threads')
|
||||
->select('last_date', 'last_uid')
|
||||
->where('for_id', $request->old_id)
|
||||
->orderBy('last_date', 'desc')
|
||||
->offset(0)
|
||||
->limit(1)
|
||||
->get();
|
||||
|
||||
// Old forum.
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->old_id)
|
||||
->update([
|
||||
'last_uid' => $getLastTopic[0]->last_uid,
|
||||
'last_date' => $getLastTopic[0]->last_date
|
||||
]);
|
||||
|
||||
DB::table('for_threads')
|
||||
->where('id', $request->id)
|
||||
->update([
|
||||
'for_id' => $request->new_id
|
||||
]);
|
||||
|
||||
// New forum.
|
||||
DB::table('for_forums')
|
||||
->where('id', $request->new_id)
|
||||
->update([
|
||||
'last_uid' => $getCurrentTopic[0]->last_uid,
|
||||
'last_date' => $getCurrentTopic[0]->last_date
|
||||
]);
|
||||
|
||||
return 'Success';
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function bookmarkForum(Request $request) { // /api/rpc/board/forum/bookmark
|
||||
/* $check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_canview'] == 1) {
|
||||
return DB::table('for_forums')
|
||||
->where('id', $request->id)
|
||||
->update([
|
||||
'delete' => 0,
|
||||
'delreason' => ''
|
||||
]);
|
||||
}
|
||||
} */
|
||||
}
|
||||
|
||||
public function bookmarkTopic(Request $request) { // /api/rpc/board/topic/bookmark
|
||||
/* $check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_canview'] == 1) {
|
||||
return DB::table('for_threads')
|
||||
->where('id', $request->id)
|
||||
->update([
|
||||
|
@ -685,6 +880,26 @@ class BoardController extends Controller {
|
|||
} */
|
||||
}
|
||||
|
||||
public function splitPost(Request $request) { // /api/rpc/board/post/split
|
||||
/* $check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
if ($check == 0) {
|
||||
return 'Err!';
|
||||
}
|
||||
else {
|
||||
$valid = $this->objAuth->getPermissions($request->username, $request->password);
|
||||
|
||||
if ($valid['for_split'] == 1) {
|
||||
return DB::table('for_posts')
|
||||
->where('id', $request->id)
|
||||
->update([
|
||||
'delete' => 0,
|
||||
'delreason' => ''
|
||||
]);
|
||||
}
|
||||
} */
|
||||
}
|
||||
|
||||
public function mergeTopic(Request $request) { // /api/rpc/board/topic/merge
|
||||
/* $check = $this->objAuth->checkLegit($request->username, $request->password);
|
||||
|
||||
|
@ -721,6 +936,9 @@ class BoardController extends Controller {
|
|||
'sticky' => 1
|
||||
]);
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -760,6 +978,9 @@ class BoardController extends Controller {
|
|||
'delreason' => ''
|
||||
]);
|
||||
}
|
||||
else {
|
||||
return 'Permission denied.';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,9 +14,9 @@ Route::get('/api/rpc/board/category/getcategories', 'BoardController@getCategori
|
|||
Route::get('/api/rpc/board/category/getcategory/{id}', 'BoardController@getCategory');
|
||||
Route::get('/api/rpc/board/category/getcategoryname/{id}', 'BoardController@getCategoryName');
|
||||
|
||||
// Route::post('/api/rpc/board/category/add', 'BoardController@addCategory');
|
||||
// Route::post('/api/rpc/board/category/edit', 'BoardController@editCategory');
|
||||
// Route::post('/api/rpc/board/category/delete', 'BoardController@deleteCategory');
|
||||
Route::post('/api/rpc/board/category/add', 'BoardController@addCategory');
|
||||
Route::post('/api/rpc/board/category/edit', 'BoardController@editCategory');
|
||||
Route::post('/api/rpc/board/category/delete', 'BoardController@deleteCategory');
|
||||
|
||||
// Forum
|
||||
Route::get('/api/rpc/board/forum/getforumsincategory/{cat_id}', 'BoardController@getForumsInCategory');
|
||||
|
@ -29,6 +29,7 @@ Route::get('/api/rpc/board/forum/getreadonly/{id}', 'BoardController@getReadOnly
|
|||
Route::post('/api/rpc/board/forum/add', 'BoardController@addForum');
|
||||
Route::post('/api/rpc/board/forum/edit', 'BoardController@editForum');
|
||||
Route::post('/api/rpc/board/forum/delete', 'BoardController@deleteForum');
|
||||
Route::post('/api/rpc/board/forum/bookmark', 'BoardController@bookmarkForum');
|
||||
|
||||
// Topic
|
||||
Route::get('/api/rpc/board/topic/gettopics/{for}/{from}/{to}', 'BoardController@getTopics');
|
||||
|
@ -49,6 +50,7 @@ Route::post('/api/rpc/board/topic/merge', 'BoardController@mergeTopic');
|
|||
Route::post('/api/rpc/board/topic/move', 'BoardController@moveTopic');
|
||||
Route::post('/api/rpc/board/topic/pin', 'BoardController@pinTopic');
|
||||
Route::post('/api/rpc/board/topic/unpin', 'BoardController@unpinTopic');
|
||||
Route::post('/api/rpc/board/topic/bookmark', 'BoardController@bookmarkTopic');
|
||||
|
||||
// Post
|
||||
Route::get('/api/rpc/board/post/getpostsintopic/{top}/{from}/{to}', 'BoardController@getPostsInTopic');
|
||||
|
@ -68,6 +70,7 @@ Route::post('/api/rpc/board/post/addpost', 'BoardController@addPost');
|
|||
Route::post('/api/rpc/board/post/editpost', 'BoardController@editPost');
|
||||
Route::post('/api/rpc/board/post/deletepost', 'BoardController@deletePost');
|
||||
Route::post('/api/rpc/board/post/undeletepost', 'BoardController@undeletePost');
|
||||
Route::post('/api/rpc/board/post/split', 'BoardController@splitPost');
|
||||
|
||||
// Compiled routes.
|
||||
Route::get('/api/rpc/board/browse/browsecategories', 'BoardController@browseCategories');
|
||||
|
|
新しいイシューから参照