db->last_query(); print_r($result); exit; } function getPostLink($post, $sn) { $post = is_object($post) ? $post : (object) $post; $contentSection = ($sn == 'opinions' ? 'channel' : 'news'); return BASE_URL . '/' . $contentSection . '/' . ($sn == 'opinions' ? $post->pageID : $sn) . '/' . (empty($post->postSeq) ? $post->postID : $post->postSeq); } function getChildrenByParentId($parentId) { $sql = "SELECT categoryID FROM (SELECT categoryID FROM cm_category WHERE parentID = $parentId) a UNION SELECT categoryID FROM cm_category WHERE parentID IN (SELECT categoryID FROM cm_category WHERE parentID = $parentId)"; return array_column(get_instance()->db->query($sql)->result(), 'categoryID'); } function getNewsArticleURL($data, $sn = null) { $articles = []; if (is_null($sn)) { $subcategories = []; foreach (NEWS_SECTION_CATEGORY as $sn => $sc) { $subcategories[$sn] = getChildrenByParentId($sc); array_push($subcategories[$sn], $sc); } foreach (NEWS_SECTION_CATEGORY as $sn => $sc) { foreach ($data as $post) { if (array_search($post->categoryID, $subcategories[$sn]) !== false) { $post->articleURL = getPostLink($post, $sn); array_push($articles, $post); } } } } else if (is_numeric($sn)) { get_instance()->load->model('category_model'); $subcategories = get_instance()->category_model->getSubcategoriesByCategoryId($sn); } else { foreach ($data as $k => $p) { $data[$k]->articleURL = getPostLink($p, $sn); } } return $articles; } function getResultWithAuthor(&$data) { $userIds = array_column($data, 'userID'); if (count($userIds)) { $users = get_instance()->db->where_in('cm_user.userID', $userIds) ->get('cm_user') ->result(); } foreach ($data as $k => $t) { $data[$k]->author = ''; foreach ($users as $u) { if ($t->userID == $u->userID) { $data[$k]->author = $u->name; } } } } function r(callable $fn, $cache) { if (is_null($cache) || !$data = get_instance()->cache->get($cache['n'])) { $data = $fn(); if (!is_null($cache) && !is_null($data)) { $this->cache->save($cache['n'], $data, $cache['t']); } } return $data; } function s($task, $duration, $cache) { $cache = 'task-' . $cache; $lastExecutionTime = get_instance()->cache->get($cache); if (time() - $lastExecutionTime >= $duration) { get_instance()->cache->save($cache, time(), 60 * 60); $task(); } } function getSessionUser() { $user = (object) ['is' => false]; get_instance()->load->library('session'); if (get_instance()->session->userdata('auth')) { $user = json_decode(get_instance()->session->userdata('auth')); $user->is = true; }; return $user; } function getSearchTerm() { return get_instance()->input->get('term') ? get_instance()->input->get('term') : get_instance()->input->post('term'); } function getPostComments($postId) { get_instance()->load->mode('comment_model'); $comments = get_instance()->comment_model->getByPostId($postId); return $comments; } function getImageUrl($imagePath) { // return 'https://crossmap.co.kr' . $imagePath; return strpos($imagePath, 'thumbs/') === false && strpos($imagePath, 'images/') === false ? 'https://crossmap.co.kr' . $imagePath : $imagePath; } function getThumbUrl($imagePath, $postThumb) { return 'https://crossmap.co.kr' . str_replace('files/', 'thumbs/', $imagePath); return $postThumb ? $postThumb : 'https://crossmap.co.kr' . str_replace('files/', 'thumbs/', $imagePath); } function isAdminSite() { return defined('HOOSK_ADMIN') && HOOSK_ADMIN == 1; } function getPostsImageUrl(&$posts) { if (is_array($posts)) { foreach ($posts as $k => $v) { if (is_array($v)) { if(isset($posts[$k]['postImage'])){ strpos($posts[$k]['postImage'], '://') === false ? ($posts[$k]['postImage'] = getImageUrl($posts[$k]['postImage'])) : ''; $posts[$k]['postImage'] = str_replace('http://', 'https://', $posts[$k]['postImage']); } } else { if(isset($posts[$k]->postImage)) { strpos($posts[$k]->postImage, '://') === false ? ($posts[$k]->postImage = getImageUrl($posts[$k]->postImage)) : ''; $posts[$k]->postImage = str_replace('http://', 'https://', $posts[$k]->postImage); } } } } } function getPrayPostUrl($post) { return implode('/', ['/pray', $post->categorySlug, $post->postSeq]); }