Merge branch 'bookmarks' into 'master'

Bookmarks

See merge request 076/community/076Server!11
このコミットが含まれているのは:
テクニカル諏訪子 2018-04-25 18:27:15 +09:00
コミット f2fa0bd346
2個のファイルの変更118行の追加1行の削除

ファイルの表示

@ -178,6 +178,121 @@ class BoardController extends Controller {
->get();
}
public function getBookmarks(Request $request) { // /api/rpc/board/forum/getbookmarks
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
return '';
}
else {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_canview'] == 1) {
$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!';
}
}
}
public function addBookmark(Request $request) { // /api/rpc/board/forum/addbookmark
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
return '';
}
else {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) {
DB::table('for_bookmarks')
->insert([
'user_id' => $check,
'for_id' => $request->for_id,
'top_id' => $request->top_id
]);
return 'Success!';
}
else {
return 'Permission denied!';
}
}
}
public function delBookmark(Request $request) { // /api/rpc/board/forum/delbookmark
$check = $this->objAuth->checkLegit($request->username, $request->password);
if ($check == 0) {
return '';
}
else {
$valid = $this->objAuth->getPermissions($request->username, $request->password);
if ($valid['for_editown'] == 1) {
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 {
return 'Permission denied!';
}
}
}
public function addForum(Request $request) { // /api/rpc/board/forum/add
$check = $this->objAuth->checkLegit($request->username, $request->password);

ファイルの表示

@ -25,11 +25,13 @@ 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', 'BoardController@getBookmarks');
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');
Route::post('/api/rpc/board/forum/addbookmark', 'BoardController@addBookmark');
Route::post('/api/rpc/board/forum/delbookmark', 'BoardController@delBookmark');
// Topic
Route::get('/api/rpc/board/topic/gettopics/{for}/{from}/{to}', 'BoardController@getTopics');