objAuth = new AuthController(); $this->objUser = new UserController(); $this->objPermission = new PermissionController(); } // Posts public function getPosts() { // /api/rpc/site/post/getposts // Load group colours. $ucol = $this->objUser->getGroupColours(); // Load content. $get = DB::table('blg_content') ->join('users', 'blg_content.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'blg_content.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'blg_content.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'blg_content.user_id') ->where('public_status', 0) ->where('isPost', 1) ->orderBy('publish_date', 'desc') ->get(array( 'blg_content.id', 'blg_content.user_id', 'title', 'slug', 'post_date', 'publish_date', 'public_status', 'message', 'username', 'perm_id', 'gender', 'avatar', 'name_style', 'display_name' )); $res = array(); $key = 0; setlocale(LC_ALL, 'ja_JP.utf8'); foreach ($get as $i) { $showName = ''; $showCol = ''; $showGroupName = ''; // Display name or username? if (!empty($i->display_name)) { $showName = $i->display_name; } else { $showName = $i->username; } // Custom name styling or default? if (!empty($i->name_style)) { $showCol = $i->name_style; } else { foreach ($ucol as $j) { if ($j->id == $i->perm_id) { if ($i->gender == 1) $showCol = $j->colour_m; else if ($i->gender == 2) $showCol = $j->colour_f; else $showCol = $j->colour_u; } } } // Group names. $gname = $this->objUser->getGroupName($i->user_id); $showGroupName = $gname[0]->name; array_push($res, [ 'key' => $key, 'id' => $i->id, 'user_id' => $i->user_id, 'title' => $i->title, 'slug' => $i->slug, 'post_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->post_date), 'publish_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->publish_date), 'public_status' => $i->public_status, 'message' => $i->message, 'avatar' => $i->avatar, 'showcol' => $showCol, 'showname' => $showName ]); $key++; } return $res; } public function getUserPosts($id) { // /api/rpc/site/post/getuserposts/id $get = DB::table('blg_content') ->select('id', 'title', 'slug', 'post_date', 'publish_date', 'public_status', 'message') ->where('public_status', 0) ->where('isPost', 1) ->where('user_id', $id) ->orderBy('publish_date', 'desc') ->get(); $res = array(); $key = 0; setlocale(LC_ALL, 'ja_JP.utf8'); foreach ($get as $i) { array_push($res, [ 'key' => $key, 'id' => $i->id, 'title' => $i->title, 'slug' => $i->slug, 'post_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->post_date), 'publish_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->publish_date), 'public_status' => $i->public_status, 'message' => $i->message ]); $key++; } return $res; } public function getPostSlug($id) { // /api/rpc/site/post/getpostslug/id $get = DB::table('blg_content') ->select('slug') ->where('public_status', 0) ->where('isPost', 1) ->where('id', $id) ->get(); $res = array(); foreach ($get as $i) { array_push($res, [ 'slug' => $i->slug ]); } return $res; } public function getPost($slug) { // /api/rpc/site/post/getpost/slug // Load group colours. $ucol = $this->objUser->getGroupColours(); // Load content. $get = DB::table('blg_content') ->join('users', 'blg_content.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'blg_content.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'blg_content.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'blg_content.user_id') ->where('public_status', 0) ->where('isPost', 1) ->where('slug', $slug) ->get(array( 'blg_content.id', 'blg_content.user_id', 'title', 'slug', 'post_date', 'publish_date', 'public_status', 'message', 'username', 'perm_id', 'gender', 'avatar', 'name_style', 'display_name' )); $res = array(); setlocale(LC_ALL, 'ja_JP.utf8'); foreach ($get as $i) { $showName = ''; $showCol = ''; $showGroupName = ''; // Display name or username? if (!empty($i->display_name)) { $showName = $i->display_name; } else { $showName = $i->username; } // Custom name styling or default? if (!empty($i->name_style)) { $showCol = $i->name_style; } else { foreach ($ucol as $j) { if ($j->id == $i->perm_id) { if ($i->gender == 1) $showCol = $j->colour_m; else if ($i->gender == 2) $showCol = $j->colour_f; else $showCol = $j->colour_u; } } } // Group names. $gname = $this->objUser->getGroupName($i->user_id); $showGroupName = $gname[0]->name; array_push($res, [ 'id' => $i->id, 'user_id' => $i->user_id, 'title' => $i->title, 'slug' => $i->slug, 'post_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->post_date), 'publish_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->publish_date), 'public_status' => $i->public_status, 'message' => $i->message, 'gender' => $i->gender, 'avatar' => $i->avatar, 'showcol' => $showCol, 'showname' => $showName ]); } return $res; } public function newPost(Request $request) { // /api/rpc/site/post/new $pubdate = 0; if ($request->public_status == 1) { if ($request->publish_date <= time()) { return \Response::json(array('error' => 'Publish date can\'t be older than post date.')); } } if ($request->public_status == 1) $pubdate = $request->publish_date; else $pubdate = time(); $add = DB::table('blg_content') ->insert([ 'user_id' => $request->user_id, 'isPost' => 1, 'title' => $request->title, 'slug' => $request->slug, 'post_date' => time(), 'publish_date' => $pubdate, 'sortorder' => 0, 'public_status' => $request->public_status, 'isMenu' => 0, 'message' => $request->message ]); return \Response::json($add); } public function editPost(Request $request) { // /api/rpc/site/post/edit return DB::table('blg_content') ->where('id', $request->id) ->update([ 'title' => $request->title, 'slug' => $request->slug, 'public_status' => $request->public_status, 'message' => $request->message ]); } public function deletePost(Request $request) { // /api/rpc/site/post/delete return DB::table('blg_content')->where('id', $request->id)->delete(); } // Comments public function getComments($id) { // /api/rpc/site/post/getcomments/id // Load group colours. $ucol = $this->objUser->getGroupColours(); // Load content. $get = DB::table('blg_comments') ->join('users', 'blg_comments.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'blg_comments.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'blg_comments.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'blg_comments.user_id') ->where('content_id', $id) ->orderBy('post_date', 'asc') ->get(array( 'blg_comments.id', 'blg_comments.user_id', 'votes', 'post_date', 'last_date', 'isDeleted', 'message', 'blg_comments.ip_address', 'username', 'perm_id', 'gender', 'avatar', 'name_style', 'display_name' )); $res = array(); $key = 1; setlocale(LC_ALL, 'ja_JP.utf8'); foreach ($get as $i) { $showName = ''; $showCol = ''; $showGroupName = ''; // Display name or username? if (!empty($i->display_name)) { $showName = $i->display_name; } else { $showName = $i->username; } // Custom name styling or default? if (!empty($i->name_style)) { $showCol = $i->name_style; } else { foreach ($ucol as $j) { if ($j->id == $i->perm_id) { if ($i->gender == 1) $showCol = $j->colour_m; else if ($i->gender == 2) $showCol = $j->colour_f; else $showCol = $j->colour_u; } } } // Group names. $gname = $this->objUser->getGroupName($i->user_id); $showGroupName = $gname[0]->name; array_push($res, [ 'key' => $key, 'id' => $i->id, 'user_id' => $i->user_id, 'votes' => $i->votes, 'post_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->post_date), 'last_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->last_date), 'last_unix' => $i->last_date, 'isDeleted' => $i->isDeleted, 'message' => $i->message, 'ip_address' => $i->ip_address, 'avatar' => $i->avatar, 'showcol' => $showCol, 'showname' => $showName ]); $key++; } return $res; } public function getComment($id) { // /api/rpc/site/post/getcomment/id // Load group colours. $ucol = $this->objUser->getGroupColours(); // Load content. $get = DB::table('blg_comments') ->join('users', 'blg_comments.user_id', '=', 'users.id') ->join('usr_details', 'usr_details.user_id', '=', 'blg_comments.user_id') ->join('usr_profile', 'usr_profile.user_id', '=', 'blg_comments.user_id') ->join('usr_perm_id', 'usr_perm_id.user_id', '=', 'blg_comments.user_id') ->where('blg_comments.id', $id) ->orderBy('post_date', 'asc') ->get(array( 'blg_comments.user_id', 'content_id', 'votes', 'post_date', 'last_date', 'isDeleted', 'message', 'blg_comments.ip_address', 'username', 'perm_id', 'gender', 'avatar', 'name_style', 'display_name' )); $res = array(); setlocale(LC_ALL, 'ja_JP.utf8'); foreach ($get as $i) { $showName = ''; $showCol = ''; $showGroupName = ''; // Display name or username? if (!empty($i->display_name)) { $showName = $i->display_name; } else { $showName = $i->username; } // Custom name styling or default? if (!empty($i->name_style)) { $showCol = $i->name_style; } else { foreach ($ucol as $j) { if ($j->id == $i->perm_id) { if ($i->gender == 1) $showCol = $j->colour_m; else if ($i->gender == 2) $showCol = $j->colour_f; else $showCol = $j->colour_u; } } } // Group names. $gname = $this->objUser->getGroupName($i->user_id); $showGroupName = $gname[0]->name; array_push($res, [ 'user_id' => $i->user_id, 'content_id' => $i->content_id, 'votes' => $i->votes, 'post_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->post_date), 'last_date' => strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $i->last_date), 'last_unix' => $i->last_date, 'isDeleted' => $i->isDeleted, 'message' => $i->message, 'ip_address' => $i->ip_address, 'avatar' => $i->avatar, 'showcol' => $showCol, 'showname' => $showName ]); } return $res; } public function newComment(Request $request) { // /api/rpc/site/comment/new $add = DB::table('blg_comments') ->insert([ 'user_id' => $request->user_id, 'content_id' => $request->content_id, 'votes' => 0, 'post_date' => time(), 'last_date' => 0, 'isDeleted' => 0, 'message' => $request->message, 'ip_address' => $request->ip_address ]); return \Response::json($add); } public function editComment(Request $request) { // /api/rpc/site/comment/edit return DB::table('blg_comments') ->where('id', $request->id) ->update([ 'last_date' => time(), 'message' => $request->message ]); } public function removeComment(Request $request) { // /api/rpc/site/comment/remove $get = DB::table('blg_comments') ->select('isDeleted') ->where('id', $request->id) ->get(); $mod = 0; foreach ($get as $i) { if ($i->isDeleted == 1) $mod = 0; else $mod = 1; } return DB::table('blg_comments') ->where('id', $request->id) ->update([ 'isDeleted' => $mod ]); } public function voteComment(Request $request) { // /api/rpc/site/comment/vote $get = DB::table('blg_comments') ->select('votes') ->where('id', $request->id) ->get(); $mod = 0; foreach ($get as $i) { $mod = $i->votes; } return DB::table('blg_comments') ->where('id', $request->id) ->update([ 'votes' => $request->votemod ]); } // Pages public function getPagesInMenu() { // /api/rpc/site/page/getpagesinmenu $get = DB::table('blg_content') ->select('title', 'slug') ->where('public_status', 0) ->where('isPost', 0) ->where('isMenu', 1) ->orderBy('sortorder', 'asc') ->get(); $res = array(); $key = 0; foreach ($get as $i) { array_push($res, [ 'key' => $key, 'title' => $i->title, 'slug' => $i->slug ]); $key++; } return $res; } public function getPages() { // /api/rpc/site/page/getpages $get = DB::table('blg_content') ->select('id', 'title', 'slug', 'public_status', 'isMenu', 'message') ->where('public_status', 0) ->where('isPost', 0) ->orderBy('sortorder', 'asc') ->get(); $res = array(); $key = 0; foreach ($get as $i) { array_push($res, [ 'key' => $key, 'id' => $i->id, 'title' => $i->title, 'slug' => $i->slug, 'public_status' => $i->public_status, 'isMenu' => $i->isMenu, 'message' => $i->message ]); $key++; } return $res; } public function getPageSlug($id) { // /api/rpc/site/page/getpageslug/id $get = DB::table('blg_content') ->select('slug') ->where('public_status', 0) ->where('isPost', 0) ->where('id', $id) ->get(); $res = array(); foreach ($get as $i) { array_push($res, [ 'slug' => $i->slug ]); } return $res; } public function getPage($slug) { // /api/rpc/site/page/getpage/slug $get = DB::table('blg_content') ->select('id', 'title', 'slug', 'public_status', 'isMenu', 'message') ->where('public_status', 0) ->where('isPost', 0) ->where('slug', $slug) ->orderBy('sortorder', 'asc') ->get(); $res = array(); foreach ($get as $i) { array_push($res, [ 'id' => $i->id, 'title' => $i->title, 'slug' => $i->slug, 'public_status' => $i->public_status, 'isMenu' => $i->isMenu, 'message' => $i->message ]); } return $res; } public function newPage(Request $request) { // /api/rpc/site/page/new $pubdate = 0; if ($request->public_status == 1) { if ($request->publish_date <= time()) { return \Response::json(array('error' => 'Publish date can\'t be older than post date.')); } } if ($request->public_status == 1) $pubdate = $request->publish_date; else $pubdate = time(); $add = DB::table('blg_content') ->insert([ 'user_id' => 0, 'isPost' => 0, 'title' => $request->title, 'slug' => $request->slug, 'post_date' => 0, 'publish_date' => $pubdate, 'sortorder' => $request->sortorder, 'public_status' => $request->public_status, 'isMenu' => $request->isMenu, 'message' => $request->message ]); return \Response::json($add); } public function editPage(Request $request) { // /api/rpc/site/page/edit return DB::table('blg_content') ->where('id', $request->id) ->update([ 'title' => $request->title, 'slug' => $request->slug, 'public_status' => $request->public_status, 'isMenu' => $request->isMenu, 'message' => $request->message ]); } public function deletePage(Request $request) { // /api/rpc/site/page/delete return DB::table('blg_content')->where('id', $request->id)->delete(); } // Contact Fields public function getContactFields() { // /api/rpc/site/contact/getcontactfields return false; } public function getContactField($id) { // /api/rpc/site/contact/getcontactfield/id return false; } // Portfolio Categories public function getPortfolioCategories() { // /api/rpc/site/portfolio/getportfoliocategories return false; } public function getPortfolioCategory($id) { // /api/rpc/site/portfolio/getportfoliocategory/id return false; } public function newPortfolioCategory(Request $request) { // /api/rpc/site/portfolio/newcategory return false; } public function editPortfolioCategory(Request $request) { // /api/rpc/site/portfolio/editcategory return false; } public function removePortfolioCategory(Request $request) { // /api/rpc/site/portfolio/removecategory return false; } public function deletePortfolioCategory(Request $request) { // /api/rpc/site/portfolio/deletecategory return false; } // Portfolio Items public function getPortfolioItems($id) { // /api/rpc/site/portfolio/getportfolioitems/id return false; } public function getPortfolioItem($id) { // /api/rpc/site/portfolio/getportfolioitems/id return false; } public function newPortfolioItem(Request $request) { // /api/rpc/site/portfolio/newitem return false; } public function editPortfolioItem(Request $request) { // /api/rpc/site/portfolio/edititem return false; } public function removePortfolioItem(Request $request) { // /api/rpc/site/portfolio/removeitem return false; } public function deletePortfolioItem(Request $request) { // /api/rpc/site/portfolio/deleteitem return false; } // Admin public function getSettings() { // /api/rpc/site/admin/getsettings return DB::table('blg_settings') ->select('sitename', 'description', 'tags', 'blog_status', 'homepage', 'announcement', 'theme', 'locale') ->get(); } public function setSettings(Request $request) { // /api/rpc/site/admin/setsettings return DB::table('blg_settings') ->update([ 'sitename' => $request->sitename, 'description' => $request->description, 'tags' => $request->tags, 'blog_status' => $request->blog_status, 'homepage' => $request->homepage, 'announcement' => $request->announcement, 'theme' => $request->theme, 'locale' => $request->locale ]); } }