assign('page', $page); /* ---------------------------------------------------------------------- 02.04.2024 Получаем данные о категории ---------------------------------------------------------------------- */ $category_title = \DB::getValue("SELECT `title` FROM `pages_category` WHERE `id`=?", $page[0]['category']); $smarty->assign('category_title', $category_title); /* ---------------------------------------------------------------------- 11.02.2023 Получаем данные о пользователе ---------------------------------------------------------------------- */ $autor = \DB::getAll("SELECT * FROM `users` WHERE `id`=? LIMIT 1", $page[0]['user_id']); if ($autor[0]['dostup'] == 'a') $autor[0]['dostup'] = 'Администратор сайта'; $smarty->assign('autor', $autor); /* ---------------------------------------------------------------------- 11.02.2023 Получаем количество статей пользователя ---------------------------------------------------------------------- */ $pageskolvo = \DB::getAll("SELECT count(*) FROM `pages` WHERE `user_id`=? AND `status`=1", $page[0]['user_id']); $smarty->assign('pageskolvo', $pageskolvo[0]['count(*)']); /* ---------------------------------------------------------------------- 11.02.2023 Получаем коментарии ---------------------------------------------------------------------- */ $comments = \DB::getAll("SELECT * FROM `pages_comments` WHERE `page_id`=? AND `status`=1 ORDER BY `id` DESC", $page[0]['id']); //Получаем инфу о пользователе - аву и фио for ($i = 0; $i < count($comments); $i++) { $user_info = \DB::getAll("SELECT `fio`, `ava` FROM `users` WHERE `id`=? LIMIT 1", $comments[$i]['user_id']); $comments[$i]['ava'] = $user_info[0]['ava']; $comments[$i]['fio'] = $user_info[0]['fio']; unset($user_info); } $smarty->assign('comments', $comments); /* ---------------------------------------------------------------------- 14.02.2023 Пишем статистику ---------------------------------------------------------------------- */ $see = \DB::getValue("SELECT `see` FROM `pages` WHERE `id`=? LIMIT 1", $page[0]['id']); $user_id = ($_SESSION['user_id']) ? $_SESSION['user_id'] : session_id(); $id = \DB::getValue("SELECT `id` FROM `likes` WHERE `content_id`=? AND `user_id`=? AND `tip`='see' LIMIT 1", array($page[0]['id'], $user_id)); if (!$id) { $see++; \DB::set("UPDATE `pages` SET `see`=? WHERE `id`=? LIMIT 1", array($see, $page[0]['id'])); \DB::add("INSERT INTO `likes` (`user_id`, `content_id`, `tip`) VALUES(?, ?, ?)", array($user_id, $page[0]['id'], 'see')); } $smarty->assign('see', $see); /* ---------------------------------------------------------------------- 01.04.2023 Получаем спиосок категорий страниц ---------------------------------------------------------------------- */ $categories = \DB::getAll("SELECT * FROM `pages_category` ORDER BY `title`"); for ($i = 0; $i < count($categories); $i++) $categories[$i]['count'] = \DB::getAll("SELECT COUNT(*) FROM `pages` WHERE `category`=? AND `status`=1", $categories[$i]['id'])[0]['COUNT(*)']; $smarty->assign('categories', $categories); /* ---------------------------------------------------------------------- 02.04.2023 Получаем самое читабельное ---------------------------------------------------------------------- */ $popular_pages = \DB::getAll("SELECT `title`, `id`, `description`, `t`, `alias`, `user_id`, `status` FROM `pages` WHERE `status`=1 ORDER BY `see` DESC LIMIT 9"); for ($i = 0; $i < count($popular_pages); $i++) { $popular_pages[$i]['filename'] = \DB::getValue("SELECT `filename` FROM `img` WHERE `content_type`='pages' AND `content_id`=? LIMIT 1", $popular_pages[$i]['id']); $popular_pages[$i]['link'] = ($popular_pages[$i]['alias']) ? '/' . $popular_pages[$i]['alias'] . '.html' : '/page/' . $popular_pages[$i]['id']; } //for ($i=0; $iassign('popular_pages', $popular_pages); //print_r($popular_pages); /* ---------------------------------------------------------------------- 02.04.2023 Получаем вложенные изображения, кроме первого ---------------------------------------------------------------------- */ //$page_img=\DB::getAll("SELECT * FROM `pages_img` WHERE `pages_id`=?", $page[0]['id']); unset($page_img[0]); $smarty->assign('page_img', $page_img); //print_r($page_img); /* ---------------------------------------------------------------------- 02.04.2023 Получаем коменты ---------------------------------------------------------------------- */ $comments = \DB::getAll("SELECT * FROM `pages_comments` WHERE `page_id`=? AND `status`=1 ORDER BY `t` DESC", $page[0]['id']); for ($i = 0; $i < count($comments); $i++) $comments[$i]['fio'] = \DB::getValue("SELECT `fio` FROM `users` WHERE `id`=?", $comments[$i]['user_id']); //print_r($comments); $smarty->assign('comments', $comments); /* ---------------------------------------------------------------------- 13.08.2023 Заполняем мета-теги ---------------------------------------------------------------------- */ function setKeywords($content_id, $host) { $token = 'y0_AgAAAAABiU4jAAn8iwAAAADkWpkSbFJu1kVDTGCi5DQIA4h6RaMwKpA'; $url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $host . $_SERVER['REQUEST_URI']; // . $_SERVER['REQUEST_URI'] //echo $url; $params = array( 'ids' => '21950635', 'metrics' => 'ym:s:visits', 'dimensions' => 'ym:s:searchPhrase', 'date1' => '365daysAgo', 'date2' => 'today', 'filters' => "ym:pv:URL=='" . $url . "'" ); $ch = curl_init('https://api-metrika.yandex.net/stat/v1/data?' . urldecode(http_build_query($params))); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $token)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res, true); $words = array(); foreach ($res['data'] as $row) { $words[] = $row['dimensions'][0]['name']; } //print_r($words); for ($i = 0; $i < count($words); $i++) { $id = \DB::getValue("SELECT `id` FROM `keywords` WHERE `content_id`=? AND `txt`=? AND `content_type`='page' LIMIT 1", array($content_id, $words[$i])); if (!$id) \DB::set("INSERT INTO `keywords` (`content_type`, `content_id`, `txt`) VALUES (?, ?, ?)", array('page', $content_id, $words[$i])); } } function yurecntf($text) { $old1 = array("new.yurecnt.ru"); $new1 = array("yurecnt.ru"); $text = str_replace($old1, $new1, $text); return $text; } setKeywords($page[0]['id'], yurecntf($_SERVER['HTTP_HOST'])); ?>