Category CRUD and move topic.

このコミットが含まれているのは:
テクニカル諏訪子 2018-04-17 00:58:49 +09:00
コミット d33b981a58
2個のファイルの変更233行の追加9行の削除

ファイルの表示

@ -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');