join('usr_details', 'usr_details.user_id', '=', 'users.id') ->join('usr_profile', 'usr_profile.user_id', '=', 'users.id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'users.id') ->get(array( 'id', 'username', 'perm_id', 'email', 'reg_date', 'gender', 'ip_address', 'avatar', 'name_style', 'display_name', 'country' )); } public function getUser($id) { // /api/rpc/user/user/getuser/id return DB::table('users') ->join('usr_details', 'usr_details.user_id', '=', 'users.id') ->join('usr_profile', 'usr_profile.user_id', '=', 'users.id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'users.id') ->where('id', $id) ->get(array( 'users.id', 'username', 'perm_id', 'member_title', 'reg_date', 'website_address', 'website_name', 'gender', 'location', 'birthday', 'bio', 'avatar', 'strikes', 'name_style', 'display_name', 'yt_channel', 'country', // TODO: hide the following stuff away from unprivileaged users. 'email', 'ip_address', 'strikes' )); } public function getPostStyle($id) { // /api/rpc/user/user/getpoststyle/id return DB:: table('users') ->select('header', 'footer') ->where('id', $id) ->get(); } public function getGroupColours() { // /api/rpc/user/user/getgroupcolours return DB::table('usr_perm_module') ->select( 'id', 'name', 'colour_m', 'colour_f', 'colour_u' // 'badge' (this is a pipeline feature, please don't uncomment for now!) ) ->get(); } // Owner public function countOwnersOfEntry($file_id) { // /api/rpc/user/owner/countownersofentry/id return DB::table('str_owners') ->where('file_id', $file_id) ->count(); } public function getOwnersOfEntry($file_id) { // /api/rpc/user/owner/getownersofentry/id return DB::table('str_owners') ->join('str_file', 'str_owners.file_id', '=', 'str_file.id') ->join('users', 'str_owners.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'str_owners.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'str_owners.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'str_owners.user_id') ->where('file_id', $file_id) ->get(array( "users.id", "title", "version", "views", "downloads", "submit_date", "last_date", "username", "avatar", "perm_id", "gender", "display_name", "name_style", )); } public function countEntriesOfOwner($user_id) { // /api/rpc/user/owner/countentriesofowner/id return DB::table('str_owners') ->where('user_id', $user_id) ->count(); } public function getEntriesOfOwner($user_id) { // /api/rpc/user/owner/getentriesofowner/id return DB::table('str_owners') ->join('str_file', 'str_owners.file_id', '=', 'str_file.id') ->join('users', 'str_owners.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'str_owners.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'str_owners.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'str_owners.user_id') ->where('user_id', $user_id) ->get(array( "users.id", "title", "version", "views", "downloads", "submit_date", "last_date", "username", "avatar", "perm_id", "gender", "display_name", "name_style", )); } }