db = \Config\Database::connect($this->con_name); $data = array(); $extra_filter = ""; if ($blog_id > 0 ){ $extra_filter = " AND p1.id = $blog_id "; } try { $mysql = "SELECT id, post_title, post_content,post_date,comment_count FROM wp_posts WHERE post_type='post' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 9"; $mysql = "SELECT p1.id AS id, p1.*, wm2.meta_value FROM wp_posts p1 LEFT JOIN wp_postmeta wm1 ON (wm1.post_id = p1.id AND wm1.meta_value IS NOT NULL AND wm1.meta_key = '_thumbnail_id' ) LEFT JOIN wp_postmeta wm2 ON (wm1.meta_value = wm2.post_id AND wm2.meta_key = '_wp_attached_file' AND wm2.meta_value IS NOT NULL ) WHERE p1.post_status='publish' AND p1.post_type='post' $extra_filter ORDER BY p1.post_date DESC LIMIT 2000"; $query = $this->db->query($mysql); $data['payload']['blogdata'] = $query->getResult('array'); $totalCount = count( $data['payload']['blogdata'] ); $randomIndex = rand(1, $totalCount); $data['payload']['featured'] = $data['payload']['blogdata'][$randomIndex ]; $data['payload']['image_url'] = 'https://blog.wrenchboard.com/wp-content/uploads/'; $data['payload']['blog_url'] = 'https://blog.wrenchboard.com/'; $data['payload']['total'] = $totalCount; } catch (Exception $ex) { } return $data; } public function blogData($endpoint,$raw_array) { /* $rawData = $this->apiData(); // $res1= $rawData[0]['payload']; $res1= $rawData; //[0]['payload']; $this->saveCache('blogdata',$res1['payload']); */ $res1 = $this->getCache($endpoint); if (count($res1)==0){ $rawData = $this->apiData(); $res1= $rawData['payload']; //[0]['payload']; $this->saveCache($endpoint,$res1); } //$resJson = $this->response->setJson($res1); return $res1; } public function website(){ $blog_id = 0; // echo "EXYTACT INPUT DATA HERE"; $raw_json = file_get_contents('php://input'); $in = json_decode($raw_json, true); log_message('critical', "BLOG DATA CALL ********* ".serialize($in) ); if (isset($in['blog_id'])){ $blog_id = (int) $in['blog_id']; } if ($blog_id > 0 ){ $rawData = $this->apiData($blog_id); $res1= $rawData['payload']; //[0]['payload']; } else{ $endpoint = "WRENCH_BLOG_DATA"; $res1 = $this->getCache($endpoint); if (count($res1)==0){ $rawData = $this->apiData($blog_id); $res1= $rawData['payload']; //[0]['payload']; $this->saveCache($endpoint,$res1); } } $limit = isset($in['limit']) ? $in['limit']: 0; if ($limit> 0){ $res1['blogdata'] = array_slice($res1['blogdata'], 0, $limit); } $res1['blogconfig'] = [ "media_url" => "https://blog.wrenchboard.com/wp-content/uploads", "site_url" => "https://blog.wrenchboard.com", "other_cofig2" => "NONE", ]; return $this->response->setJson($res1); } public function blogLimitedData($inData){ log_message('critical', "blogLimitedData-> ".$inData ); $res1 = $this->blogData('blogdata',$raw_array=['limit'=>$inData ]); $res1['blogdata'] = array_slice($res1['blogdata'], 0, $inData); return $this->response->setJson($res1); } public function anyBlogData($blogName) { log_message('critical', "anyBlogData DATA CALL ********* ".$blogName ); $blogsArray = ['chiefsoft', 'blackfaces', 'mermsemr', 'myfit', 'dorcastore', 'sanyaameye', 'oluameye_www', 'automedsys', 'tokslaw', 'oluameye', 'coregrade', 'wrenchboard', 'tokslaw_blog', 'modupeameye']; $custom = [ 'DSN' => '', 'hostname' => '10.10.10.35', 'username' => 'bloguser', 'password' => 'bloguserF22!', 'database' => $blogName, 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3307, ]; $dbConnection = \Config\Database::connect($custom); // var_dump( $general_blog ); $raw_json = file_get_contents('php://input'); $in = json_decode($raw_json, true); log_message('critical', "anyBlogData DATA CALL ********* ".serialize($in) ); $out = $this->apiBlogData($dbConnection, 0); //var_dump($out); $out['blogconfig'] = [ "media_url" => "https://blog.wrenchboard.com/wp-content/uploads", "site_url" => "https://blog.wrenchboard.com", "other_cofig2" => "NONE", ]; return $this->response->setJson($out); } private function apiBlogData($dbConnection, $blog_id=0) { $this->db = \Config\Database::connect($this->con_name); $data = array(); $extra_filter = ""; if ($blog_id > 0 ){ $extra_filter = " AND p1.id = $blog_id "; } try { $mysql = "SELECT id, post_title, post_content,post_date,comment_count FROM wp_posts WHERE post_type='post' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 9"; $mysql = "SELECT p1.id AS id, p1.*, wm2.meta_value FROM wp_posts p1 LEFT JOIN wp_postmeta wm1 ON (wm1.post_id = p1.id AND wm1.meta_value IS NOT NULL AND wm1.meta_key = '_thumbnail_id' ) LEFT JOIN wp_postmeta wm2 ON (wm1.meta_value = wm2.post_id AND wm2.meta_key = '_wp_attached_file' AND wm2.meta_value IS NOT NULL ) WHERE p1.post_status='publish' AND p1.post_type='post' $extra_filter ORDER BY p1.post_date DESC LIMIT 2000"; $query =$dbConnection->query($mysql); $data['payload']['blogdata'] = $query->getResult('array'); $totalCount = count( $data['payload']['blogdata'] ); $randomIndex = rand(1, $totalCount); $siteConfig = $this->blogConfigData($dbConnection); $siteUrl = $siteConfig[0]["option_value"]; //var_dump($siteConfig); $data['payload']['featured'] = $data['payload']['blogdata'][$randomIndex ]; $data['payload']['image_url'] = $siteUrl.'wp-content/uploads/'; $data['payload']['blog_url'] = $siteUrl; //https://blog.wrenchboard.com/'; $data['payload']['total'] = $totalCount; } catch (Exception $ex) { } return $data; } private function blogConfigData($dbConnection){ $opSql ="SELECT * FROM `wp_options` WHERE option_name='siteurl'"; $query =$dbConnection->query($opSql); return $query->getResult('array'); } }