このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
076server/app/Http/Controllers/BoardController.php

325 行
11 KiB
PHP
Raw 通常表示 履歴

2018-02-06 06:08:19 +09:00
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
2018-02-16 23:09:35 +09:00
use Illuminate\Contracts\Routing\ResponseFactory;
2018-02-06 06:08:19 +09:00
use Illuminate\Support\Facades\Log;
class BoardController extends Controller {
public function getCategories() { // /api/rpc/board/category/getcategories
return DB::table('for_category')
->select('*')
->orderBy('order', 'asc')
->get();
}
public function getCategory($id) { // /api/rpc/board/category/getcategory/id
return DB::table('for_category')
->select('*')
->where('id', $id)
->get();
}
2018-02-06 17:24:16 +09:00
public function getCategoryName($id) { // /api/rpc/board/category/getcategoryname/id
return DB::table('for_category')
->select('title')
->where('id', $id)
->get();
}
public function getForums() { // /api/rpc/board/forum/getforums
2018-02-06 06:08:19 +09:00
return DB::table('for_forums')
->select('*')
->orderBy('order', 'asc')
->get();
}
2018-02-06 17:24:16 +09:00
public function getForum($id) { // /api/rpc/board/forum/getforum/id
return DB::table('for_forums')
->select('*')
->where('id', $id)
->orderBy('order', 'asc')
->get();
}
2018-02-16 23:09:35 +09:00
public function getForumIdFromTopic($id) { // /api/rpc/board/topic/getforumidfromtopic/id
return DB::table('for_threads')
->select('for_id')
->where('id', $id)
->first()->for_id;
}
public function getTopicIdFromPost($id) { // /api/rpc/board/post/gettopicidfrompost/id
return DB::table('for_posts')
->select('top_id')
->where('id', $id)
->first()->top_id;
}
public function getForumIdFromPost($id) { // /api/rpc/board/post/getforumidfrompost/id
$top_id = $this->getTopicIdFromPost($id);
return $this->getForumIdFromTopic($top_id);
}
2018-02-06 17:24:16 +09:00
public function getForumName($id) { // /api/rpc/board/forum/getforumname/id
return DB::table('for_forums')
->select('cat_id', 'title')
->where('id', $id)
->orderBy('order', 'asc')
->get();
}
2018-02-16 23:09:35 +09:00
public function getPostCountFreeze($id) { // /api/rpc/board/forum/getpostcountfreeze/id
return DB::table('for_forums')
->select('post_count_freeze')
->where('id', $id)
->first()->post_count_freeze;
}
public function getReadOnly($id) { // /api/rpc/board/forum/getreadonly/id
return DB::table('for_forums')
->select('readonly')
->where('id', $id)
->first()->readonly;
}
2018-02-06 16:12:00 +09:00
public function getForumsInCategory($cat_id) { // /api/rpc/board/forum/getforumsincategory/cat_id
2018-02-06 06:08:19 +09:00
return DB::table('for_forums')
->select('*')
->where('cat_id', $cat_id)
->get();
}
2018-02-06 17:24:16 +09:00
public function getTopics($for, $from, $to) { // /api/rpc/board/topic/gettopics/for/from/to
return DB::table('for_threads')
->select('*')
->where('for_id', $for)
2018-02-06 17:24:16 +09:00
->offset($from)
->limit($to)
->orderBy('last_date', 'desc')
->get();
}
public function getTopicsUnpinned($for_id, $from, $to) { // /api/rpc/board/topic/gettopicsunpinned/for_id
return DB::table('for_threads')
->select('*')
->where('for_id', $for_id)
->where('sticky', 0)
->offset($from)
->limit($to)
->orderBy('last_date', 'desc')
->get();
}
public function getTopicsPinned($for_id) { // /api/rpc/board/topic/gettopicspinned/for_id
return DB::table('for_threads')
->select('*')
->where('for_id', $for_id)
->where('sticky', 1)
->orderBy('last_date', 'desc')
->get();
}
public function getTopicStart($top_id) { // /api/rpc/board/post/gettopicstart/top_id
return DB::table('for_posts')
->select('MIN(user_id)', 'post_date')
->where('top_id', $top_id)
->get();
}
public function getLastPost($top_id) { // /api/rpc/board/post/getlastpost/top_id
return DB::table('for_posts')
->select('MAX(user_id)', 'post_date')
->where('top_id', $top_id)
->get();
}
2018-02-06 17:24:16 +09:00
public function countUnpinnedTopicsInForum($for_id) { // /api/rpc/board/topic/countunpinnedtopicsinforum/for_id
return DB::table('for_threads')
->where('for_id', $for_id)
->where('sticky', 0)
->count();
}
2018-02-06 19:51:43 +09:00
public function getTopic($id, $from, $to) { // /api/rpc/board/topic/gettopic/id/from/to
2018-02-06 17:24:16 +09:00
return DB::table('for_threads')
->select('*')
->where('id', $id)
->offset($from)
->limit($to)
->orderBy('last_date', 'desc')
->get();
}
2018-02-06 19:51:43 +09:00
public function getTopicLock($id) { // /api/rpc/board/topic/gettopiclock/id
return DB::table('for_threads')
->select('lock')
->where('id', $id)
->get();
}
public function getTopicName($id) { // /api/rpc/board/topic/gettopicname/id
return DB::table('for_threads')
->select('for_id', 'title')
->where('id', $id)
->get();
}
public function getPostsInTopic($top_id, $from, $to) { // /api/rpc/board/post/getpostsintopic/top_id/from/to
return DB::table('for_posts')
->select('*')
->where('top_id', $top_id)
->offset($from)
->limit($to)
->orderBy('post_date', 'asc')
->get();
}
public function countPostsInTopic($top_id) { // /api/rpc/board/post/countpostsintopic/top_id
return DB::table('for_posts')
->where('top_id', $top_id)
->count();
}
public function getPost($id) { // /api/rpc/board/post/getpost/id
return DB::table('for_posts')
->select('*')
->where('id', $id)
->get();
}
public function getCurrentPostCount($user_id) { // /api/rpc/board/post/getcurrentpostcount/user_id
return DB::table('for_posts')->where('user_id', $user_id)->max('postcount');
}
public function getNextPostCount($user_id) { // /api/rpc/board/post/getnextpostcount/user_id
$get = DB::table('for_posts')->where('user_id', $user_id)->max('postcount');
$get++;
return $get;
}
2018-02-06 19:51:43 +09:00
public function getUserPosts($top_id, $from, $to) { // /api/rpc/board/post/getuserposts/top/from/to
return DB::table('for_posts')
2018-02-07 22:24:41 +09:00
->join('users', 'for_posts.user_id', '=', 'users.id')
->join('usr_details', 'usr_details.user_id', '=', 'for_posts.user_id')
->join('usr_profile', 'usr_profile.user_id', '=', 'for_posts.user_id')
->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'for_posts.user_id')
2018-02-06 19:51:43 +09:00
->where('for_posts.top_id', $top_id)
->offset($from)
->limit($to)
->orderBy('for_posts.post_date', 'asc')
->get(array(
2018-02-16 23:09:35 +09:00
'for_posts.id',
'top_id',
'for_posts.user_id',
'post_date',
'message',
'delete',
'lastedit',
'ipaddress',
'delreason',
'nolayout',
'postcount',
'username',
'perm_id',
'total_posts',
'header',
'footer',
'member_title',
'gender',
'avatar',
'name_style',
'display_name',
'country'
2018-02-06 19:51:43 +09:00
));
}
public function getUserPost($id) { // /api/rpc/board/post/getuserpost/id
return DB::table('for_posts')
2018-02-07 22:24:41 +09:00
->join('users', 'for_posts.user_id', '=', 'users.id')
->join('usr_details', 'usr_details.user_id', '=', 'for_posts.user_id')
->join('usr_profile', 'usr_profile.user_id', '=', 'for_posts.user_id')
->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'for_posts.user_id')
2018-02-06 19:51:43 +09:00
->where('for_posts.id', $id)
->orderBy('for_posts.post_date', 'asc')
->get(array(
2018-02-16 23:09:35 +09:00
'for_posts.id',
'top_id',
'for_posts.user_id',
'post_date',
'message',
'delete',
'lastedit',
'ipaddress',
'delreason',
'nolayout',
'postcount',
'username',
'perm_id',
'total_posts',
'header',
'footer',
'member_title',
'gender',
'avatar',
'name_style',
'display_name',
'country'
2018-02-06 19:51:43 +09:00
));
}
public function addPost(Request $request) { // /api/rpc/board/post/addpost
2018-02-16 23:09:35 +09:00
$add = DB::table('for_posts')
->insert([
'top_id' => $request->top_id,
'user_id' => $request->user_id,
'post_date' => $request->post_date,
'message' => $request->message,
2018-02-16 23:09:35 +09:00
'delete' => 0,
'lastedit' => 0,
'ipaddress' => $request->ipaddress,
2018-02-16 23:09:35 +09:00
'delreason' => '',
'nolayout' => $request->nolayout,
2018-02-16 23:09:35 +09:00
'postcount' => $request->postcount,
// Deprecated: remove like and read stuff after full release!
'likes' => 0,
'likers' => '',
'read' => ''
]);
2018-02-16 23:09:35 +09:00
return \Response::json($add);
}
public function editPost(Request $request) { // /api/rpc/board/post/editpost
return DB::table('for_posts')
->where('id', $request->id)
->update([
'lastedit' => $request->lastedit,
'message' => $request->message,
'nolayout' => $request->nolayout
]);
}
public function deletePost(Request $request) { // /api/rpc/board/post/deletepost
return DB::table('for_posts')
->where('id', $request->id)
->update([
'delete' => 1,
'delreason' => $request->delreason
]);
}
public function undeletePost(Request $request) { // /api/rpc/board/post/undeletepost
return DB::table('for_posts')
->where('id', $request->id)
->update([
'delete' => 0,
'delreason' => ''
]);
}
2018-02-06 06:08:19 +09:00
}