Bookmarks #11

マージ済み
TechnicalSuwako が 1 個のコミットを bookmarks から master へマージ 2018-04-25 18:27:15 +09:00
2個のファイルの変更60行の追加20行の削除

ファイルの表示

@ -178,7 +178,7 @@ class BoardController extends Controller {
->get(); ->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); $check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) { if ($check == 0) {
@ -188,10 +188,43 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password); $valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_canview'] == 1) { if ($valid['for_canview'] == 1) {
return DB::table('for_bookmarks') $for = DB::table('for_bookmarks')
->select('*') ->join('for_forums', 'for_forums.id', 'for_bookmarks.for_id')
->where('user_id', $uid) ->join('for_category', 'for_forums.cat_id', 'for_category.id')
->get(); ->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 { else {
return 'Permission denied!'; 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); $check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) { if ($check == 0) {
@ -209,14 +242,14 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password); $valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) { if ($valid['for_editown'] == 1) {
$add = DB::table('for_bookmarks') DB::table('for_bookmarks')
->insert([ ->insert([
'user_id' => $request->user_id, 'user_id' => $check,
'for_id' => $request->for_id, 'for_id' => $request->for_id,
'top_id' => $request->top_id 'top_id' => $request->top_id
]); ]);
return $add; return 'Success!';
} }
else { else {
return 'Permission denied!'; 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); $check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) { if ($check == 0) {
@ -234,17 +267,24 @@ class BoardController extends Controller {
$valid = $this->objAuth->getPermissions($request->username, $request->password); $valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) { if ($valid['for_editown'] == 1) {
if ($request->for_id === 0) { if ($request->for_id !== 0) {
return DB::table('for_bookmarks') DB::table('for_bookmarks')
->where('user_id', $request->user_id) ->where('user_id', $check)
->where('top_id', $request->top_id)
->delete();
}
else {
return DB::table('for_bookmarks')
->where('user_id', $request->user_id)
->where('for_id', $request->for_id) ->where('for_id', $request->for_id)
->delete(); ->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 { 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/getforumname/{id}', 'BoardController@getForumName');
Route::get('/api/rpc/board/forum/getpostcountfreeze/{id}', 'BoardController@getPostCountFreeze'); 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/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/add', 'BoardController@addForum');
Route::post('/api/rpc/board/forum/edit', 'BoardController@editForum'); Route::post('/api/rpc/board/forum/edit', 'BoardController@editForum');