db = Registry::get('db'); $this->config = Registry::get('config'); $this->template = Registry::get('template'); $this->lang = Registry::get('lang'); $this->country_code = Registry::get('country_code'); $this->template->assign("lang", $this->lang); $this->template->template_dir .= $_SESSION['default_skin']; $this->template->compile_dir .= $_SESSION['default_skin']; $this->db->query("SET NAMES 'utf8'"); //Предифинираме променливата със пътя до изображенията и css пътя $this->config['site_img'] = $this->config['site_img'] . $_SESSION['default_skin'] . "/"; // Пътя до папката с изображенията на скина който е избран $this->config['site_css'] = $this->config['site_css'] . $_SESSION['default_skin'] . "/"; // Пътя до css файловете на скина който е избран $this->template->assign("config", $this->config); Loader::loadModel("ContentMdl"); //promo left box $promotions_box = ContentMdl::promotionsProductsBox($this->country_code); foreach ($promotions_box as &$promo) { $promo['old_price'] = $promo['price']; $promo['price'] = number_format($promo['price'] - $promo['price'] * ($promo['promotion'] / 100), 2); $promo['cat_url'] = $this->db->fetchOne("SELECT cn.url FROM products AS p LEFT JOIN category AS c ON p.idcategory = c.idcategory LEFT JOIN category_names AS cn ON ( cn.idcategory = c.idcategory AND cn.idcountry = 2 ) WHERE p.idproduct = '" . $promo['idproduct'] . "'"); } if ($promotions_box) $this->template->assign("promotions_box", $promotions_box); } /** * If the action not exists * * @author Venelin Kochev */ function __call($action, $arguments) { Loader::loadModel("SettingsMdl"); // Show 404 error page SettingsMdl::showPage(404); exit(); //System::redirect($this->config['site_url']); } public function indexAction() { Loader::loadModel("SettingsMdl"); // seo mod - do not edit! if (eregi("page\/1", $_SERVER['REQUEST_URI'])) { header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $this->config['site_url_lng'] . "blog"); exit(); } $url = $this->config['site_url'] . "blog/index/page/"; $page = $this->getParam("page", 1); $system = new System(); $system->page = $page; $system->rows_per_page = 10; $system->link = $url; $system->suffix = ''; $count = $this->db->fetchOne("SELECT COUNT(*) FROM `blog` WHERE status = 'active'"); $return = $system->paginate($count); $this->template->assign("paginate", $return[0]); $this->template->assign("url", $url . "$page"); $this->template->assign("pages", $return[1]); $this->template->assign("count", $count); $this->template->assign("page", $page); $now = date("Y-m-d H:i:s"); $data = $this->db->fetchAll("SELECT * FROM `blog` WHERE `date` <= '$now' and status = 'active' ORDER BY `id` DESC LIMIT $system->limit, $system->rows_per_page"); $_data = array(); foreach ($data as $k => $value) { if (strlen($value['content']) > 2000) $value['more'] = 1; else $value['more'] = 0; $_data[$k] = $value; $_data[$k]['content'] = str_replace("#div#", "
", $_data[$k]['content']); $pattern = '/#id#(?\d+)#id#/i'; preg_match_all($pattern, $_data[$k]['content'], $matches); foreach ($matches['id'] as $idprod) { $get_info = SettingsMdl::getInfoForBlogContent($idprod); if (!empty($get_info['promotion'])) { $get_info['price'] = number_format($get_info['price'] - $get_info['price'] * ($get_info['promotion'] / 100), 2); } $product = "

" . $get_info['name_product'] . "

Pret: " . $get_info['price'] . "Lei
"; $_data[$k]['content'] = str_replace("#id#$idprod#id#", $product, $_data[$k]['content']); } $_data[$k]['content'] = str_replace("#enddiv#", "
", $_data[$k]['content']); $_data[$k]['content'] = str_replace("#newline#", "
", $_data[$k]['content']); } $this->template->assign("nav", 'Blog'); $this->template->assign("data", $_data); $this->template->assign("mostposts", $this->db->fetchAll("SELECT `id`, `title`, `url` FROM `blog` WHERE `date` <= '$now' and status = 'active' ORDER BY `id` DESC LIMIT 120")); if($page > 1){ $this->template->assign("page_title", strtoupper($this->config['site_name']) . " - Blog - pagina ". $page); }else{ $this->template->assign("page_title", strtoupper($this->config['site_name']) . " - Blog"); } $this->template->display("blog/blog.tpl.html"); } public function viewAction() { Loader::loadModel("SettingsMdl"); $parts = explode("/", ltrim($_SERVER['REQUEST_URI'], "/")); // seo mod - do not edit! //if (substr($_SERVER['REQUEST_URI'], -1) == '/') { //header("HTTP/1.1 301 Moved Permanently"); //header("Location: " . $this->config['site_url_lng'] . "blog/" . $parts[1]); //exit(); //} $id = addslashes($parts[1]); $id = (int) $this->db->fetchOne("SELECT `id` FROM `blog` WHERE `url`='$id' LIMIT 1"); if (!$id) { Loader::loadModel("SettingsMdl"); // Show 404 error page SettingsMdl::showPage(404); exit(); } $now = date("Y-m-d H:i:s"); //$id = (int) $parts[1]; $this->db->query("UPDATE `blog` SET `views` = `views`+1 WHERE `id`='$id' LIMIT 1"); // SLIDER $query = "SELECT p.*, pi.*, pr.value, pr.idprice, c.money FROM `orders_products` AS op LEFT JOIN products AS p ON op.idproduct = p.idproduct LEFT JOIN products_info AS pi ON pi.idproduct = p.idproduct LEFT JOIN country AS c ON c.idcountry = pi.idcountry LEFT JOIN prices AS pr ON p.idproduct = pr.idproduct AND pr.idcountry = '1' LEFT JOIN category as ca ON ca.idcategory = p.idcategory WHERE c.code='$this->country_code' AND p.availability='yes' AND ca.`bg`='1' AND pi.`info` != '' GROUP BY p.idproduct ORDER BY count( op.idproduct ) DESC LIMIT 0, 10"; $result = $this->db->fetchAll($query); foreach ($result as $k => &$v) { $query = "SELECT * FROM images WHERE idproduct='" . $v['idproduct'] . "' ORDER BY main ASC LIMIT 1"; $images = $this->db->fetchRow($query); $v['images'] = $images; $v['url'] = $this->db->fetchOne("SELECT `url` FROM `category_names` WHERE `idcategory`='{$v['idcategory']}' AND `idcountry`='{$v['idcountry']}' LIMIT 1"); } $data = $this->db->fetchRow("SELECT * FROM `blog` WHERE `id`='$id' LIMIT 1"); $data['content'] = str_replace("#div#", "
", $data['content']); $pattern = '/#id#(?\d+)#id#/i'; preg_match_all($pattern, $data['content'], $matches); foreach ($matches['id'] as $idprod) { $get_info = SettingsMdl::getInfoForBlogContent($idprod); if (!empty($get_info['promotion'])) { $get_info['price'] = number_format($get_info['price'] - $get_info['price'] * ($get_info['promotion'] / 100), 2); } $product = "

" . $get_info['name_product'] . "

Pret: " . $get_info['price'] . "Lei.
"; $data['content'] = str_replace("#id#$idprod#id#", $product, $data['content']); } $data['content'] = str_replace("#enddiv#", "
", $data['content']); $data['content'] = str_replace("#newline#", "
", $data['content']); $this->template->assign("data", $data); $posts = $this->db->fetchAll("SELECT `id`, `title`, `url` FROM `blog` WHERE `date` <= '$now' and status = 'active' ORDER BY `id` DESC LIMIT 10"); $this->template->assign("mostposts", $posts); $this->template->assign("facebook_url", $_SERVER['REQUEST_URI']); $this->template->assign("related", $result); $rand_post = $this->db->fetchAll("SELECT `title`, `url` FROM `blog` WHERE status = 'active' ORDER BY RAND() LIMIT 5"); $this->template->assign("rand_post", $rand_post); //$this->template->assign("nav", 'Blog'); $this->template->assign("comments", $this->db->fetchAll("SELECT * FROM `blog_comments` WHERE `idpost`='$id' AND `mod`='1' ORDER BY `id` DESC")); $blog_rate = ContentMdl::getRatingIdBlog($id); $count_vote = $blog_rate['count_vote']; // broq glasuvali potrebiteli if ($count_vote == 0) { $count_vote = 1; } $sum_rate = $blog_rate['sum_rate']; //ob6tata suma na reita $all_vote = number_format($sum_rate / $count_vote, 1); // iz4islqvane na ob6tiq vot if ($all_vote == 1) { $width = '18px;'; } elseif ($all_vote > 1 && $all_vote <= 1.5) { $width = '27px;'; } elseif ($all_vote > 1.5 && $all_vote <= 2.4) { $width = '36px;'; } elseif ($all_vote > 2.4 && $all_vote <= 2.9) { $width = '45px;'; } elseif ($all_vote > 2.9 && $all_vote <= 3.4) { $width = '54px;'; } elseif ($all_vote > 3.4 && $all_vote <= 3.9) { $width = '63px;'; } elseif ($all_vote > 3.9 && $all_vote <= 4.2) { $width = '72px;'; } elseif ($all_vote > 4.2 && $all_vote <= 4.4) { $width = '79px;'; } elseif ($all_vote > 4.4 && $all_vote <= 4.7) { $width = '81px;'; } elseif ($all_vote > 4.7 && $all_vote <= 4.9) { $width = '87px;'; } elseif ($all_vote > 4.9) { $width = '90px;'; } $this->template->assign('url_mobile', "http://m.spy.store.ro/blogpost/page/id/" . $id); $this->template->assign("width", $width); $this->template->assign("idpost", $id); $this->template->assign("all_vote", $all_vote); $this->template->assign("count_vote", $count_vote); $this->template->assign("blog_nav", 1); $this->template->assign("page_title", $data['title'] . ' - ' . strtoupper($this->config['site_name'])); $this->template->display("blog/blog_view.tpl.html"); } } ?>