Bookmark APIs are done.

このコミットが含まれているのは:
テクニカル諏訪子 2018-04-25 18:26:08 +09:00
コミット 64e2655534
2個のファイルの変更60行の追加20行の削除

ファイルの表示

@ -178,7 +178,7 @@ class BoardController extends Controller {
->get();
}
public function getBookmarks($uid, Request $request) { // /api/rpc/board/forum/getbookmarks/uid
public function getBookmarks(Request $request) { // /api/rpc/board/forum/getbookmarks
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
@ -188,10 +188,43 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_canview'] == 1) {
return DB::table('for_bookmarks')
->select('*')
->where('user_id', $uid)
->get();
$for = DB::table('for_bookmarks')
->join('for_forums', 'for_forums.id', 'for_bookmarks.for_id')
->join('for_category', 'for_forums.cat_id', 'for_category.id')
->where('for_bookmarks.user_id', $check)
->get(array(
'for_forums.id as fid',
'for_forums.title as ftitle',
'for_category.title as fctitle'
));
$top = DB::table('for_bookmarks')
->join('for_threads', 'for_threads.id', 'for_bookmarks.top_id')
->where('for_bookmarks.user_id', $check)
->get(array(
'for_threads.id as tid',
'for_threads.title as ttitle'
));
$forS = array();
foreach($for as $f) {
$forS[] = array(
'id' => $f->fid,
'type' => 'forum',
'title' => $f->fctitle.'/'.$f->ftitle
);
}
foreach($top as $t) {
$forS[] = array(
'id' => $t->tid,
'type' => 'topic',
'title' => $t->ttitle
);
}
return $forS;
}
else {
return 'Permission denied!';
@ -199,7 +232,7 @@ class BoardController extends Controller {
}
}
public function addBookmarks(Request $request) { // /api/rpc/board/forum/addbookmarks
public function addBookmark(Request $request) { // /api/rpc/board/forum/addbookmark
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
@ -209,14 +242,14 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) {
$add = DB::table('for_bookmarks')
DB::table('for_bookmarks')
->insert([
'user_id' => $request->user_id,
'user_id' => $check,
'for_id' => $request->for_id,
'top_id' => $request->top_id
]);
return $add;
return 'Success!';
}
else {
return 'Permission denied!';
@ -224,7 +257,7 @@ class BoardController extends Controller {
}
}
public function delBookmarks(Request $request) { // /api/rpc/board/forum/delbookmarks
public function delBookmark(Request $request) { // /api/rpc/board/forum/delbookmark
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
@ -234,17 +267,24 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) {
if ($request->for_id === 0) {
return DB::table('for_bookmarks')
->where('user_id', $request->user_id)
->where('top_id', $request->top_id)
->delete();
}
else {
return DB::table('for_bookmarks')
->where('user_id', $request->user_id)
if ($request->for_id !== 0) {
DB::table('for_bookmarks')
->where('user_id', $check)
->where('for_id', $request->for_id)
->delete();
return 'Success!';
}
else if ($request->top_id !== 0) {
DB::table('for_bookmarks')
->where('user_id', $check)
->where('top_id', $request->top_id)
->delete();
return 'Success!';
}
else {
return 'Cannot do that.';
}
}
else {

ファイルの表示

@ -25,7 +25,7 @@ Route::get('/api/rpc/board/forum/getforum/{id}', 'BoardController@getForum');
Route::get('/api/rpc/board/forum/getforumname/{id}', 'BoardController@getForumName');
Route::get('/api/rpc/board/forum/getpostcountfreeze/{id}', 'BoardController@getPostCountFreeze');
Route::get('/api/rpc/board/forum/getreadonly/{id}', 'BoardController@getReadOnly');
Route::get('/api/rpc/board/forum/getbookmarks/{id}', 'BoardController@getBookmarks');
Route::get('/api/rpc/board/forum/getbookmarks', 'BoardController@getBookmarks');
Route::post('/api/rpc/board/forum/add', 'BoardController@addForum');
Route::post('/api/rpc/board/forum/edit', 'BoardController@editForum');