public function getOs() { $q = ' SELECT * FROM `devices_os` ORDER BY `os_order`'; DB::executeQuery($q, 'getOs'); $rows = DB::fetchResults('getOs'); return $rows; }
public function buildSitemap() { if ($this->isValid) { $q = 'SELECT pg_address, pg_lang, pg_priority, UNIX_TIMESTAMP(pg_lastmodify) AS pg_lastmod FROM ' . $this->dbName . 'pages WHERE pg_indexed = 1 AND pg_hidden = 0'; DB::executeQuery($q, 'pages'); $rows = DB::fetchResults('pages'); if (!empty($rows)) { $tsize = sizeof($rows); for ($i = 0; $i < $tsize; $i++) { if (!$this->alLangs[$rows[$i]['pg_lang']]['blocked']) { $this->sitemap .= ' <url> <loc>http://' . $this->Host . $this->alLangs[$rows[$i]['pg_lang']]['prefix'] . $rows[$i]['pg_address'] . '</loc> <lastmod>' . date('Y-m-d\\Th:i:s-04:00', $rows[$i]['pg_lastmod']) . '</lastmod> <changefreq>weekly</changefreq> <priority>' . (!empty($rows[$i]['pg_priority']) ? $rows[$i]['pg_priority'] : '0.3') . '</priority> </url>'; } } if (!empty($this->sitemap)) { $this->sitemap = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">' . $this->sitemap . ' </urlset>'; } return TRUE; } return FALSE; } return FALSE; }
public function getComments($args = null) { $db = VBox::get('ConstData')->getConst('langsDb'); if (isset($args[0]) && strpos($args[0], ',') !== false) { $where = " AND c.comment_product_id IN({$args[0]}) "; } elseif (isset($args[0]) && $args[0] > 0) { $where = " AND c.comment_product_id = '{$args[0]}' "; } elseif (isset($args[1]) && strpos($args[1], ',') !== false) { $where = " AND c.comment_id IN({$args[1]}) "; } elseif (isset($args[1]) && $args[1] > 0) { $where = " AND c.comment_id = '{$args[1]}' "; } else { $where = ''; } $q = "SELECT * FROM {$db}.comments AS c WHERE c.comment_hidden = '0'{$where} ORDER BY comment_order"; DB::executeQuery($q, 'comments'); $rows = DB::fetchResults('comments'); $comments = $pages = array(); foreach ($rows as $row) { $pages = explode(',', $row['comment_pages']); if (in_array($this->pageUrl, $pages) && isset($this->pageUrl)) { $comments[] = $row; } } return $comments; }
public function getMenuByParentId($alias = '', $parent_id = 0) { $q = 'SELECT mi.* FROM menu as m, menu_item as mi WHERE m.m_id = mi.mi_menu_id and m.m_alias = "' . $alias . '" and mi.mi_parent_id=' . $parent_id . ' and mi.mi_hidden = "0" ORDER BY mi.mi_order'; // var_dump($q); DB::executeQuery($q, 'menu' . $parent_id); $rows = DB::fetchResults('menu' . $parent_id); $result = array(); if (!empty($rows)) { $tsize = sizeof($rows); for ($i = 0; $i < $tsize; $i++) { // $mi_link_alias = explode('|',$rows[$i]['mi_link_alias']); $mi_link_alias = preg_split("/[\\s,]+/", $rows[$i]['mi_link_alias']); $page_not_view = explode(',', $rows[$i]['mi_pages_not_view']); if (!in_array($this->PageId, $page_not_view)) { $mPageAddress = ($this->mLanguage !== 'en' && strpos($rows[$i]['mi_link'], '/' . $this->mLanguage . '/') === false ? '/' . $this->mLanguage : '') . $rows[$i]['mi_link']; if ($this->mPageAddress == $mPageAddress || in_array($this->mPageAddress, $mi_link_alias)) { $selected = true; } else { $selected = false; } $LocalStrings = $this->page->getLocalStrings(); $result[] = array('name' => $LocalStrings[$rows[$i]['mi_name']], 'title' => $LocalStrings[$rows[$i]['mi_title']], 'link' => $rows[$i]['mi_link'], 'attr' => $rows[$i]['mi_attr'], 'level' => $rows[$i]['mi_level'], 'class' => $rows[$i]['mi_class'], 'selected' => $selected, 'pageadres' => $mPageAddress, 'items' => $this->getMenuByParentId($alias, $rows[$i]['mi_id'])); } } } return $result; }
public static function extCheckGreenList($addr) { $q = ' SELECT gle_expression, gle_header, gle_destination, gle_regular FROM greenlistext ORDER BY gle_order'; DB::executeQuery($q, 'extGreenList'); $res = DB::fetchResults('extGreenList'); if (!empty($res)) { $tsize = sizeof($res); $regex = array(); $headers = FALSE; for ($i = 0; $i < $tsize; $i++) { $exp = $res[$i]['gle_expression']; if ($res[$i]['gle_regular'] == '0') { $exp = trim($exp, '*'); $exp = explode('*', $exp); $match = TRUE; $ls = substr($addr, strlen($addr) - 1, strlen($addr)); if ($ls != '/') { foreach ($exp as $val) { if (strpos($addr . '/', $val) === FALSE) { $match = FALSE; } else { $match = TRUE; } } } else { foreach ($exp as $val) { if (strpos($addr, $val) === FALSE) { $match = FALSE; } else { $match = TRUE; } } } if ($match) { $headers['headers'] = !empty($res[$i]['gle_header']) ? unserialize($res[$i]['gle_header']) : array(); $headers['location'] = $res[$i]['gle_destination']; break; } } else { $pattern = '/^' . $exp . '/'; @preg_match($pattern, $addr, $matches); if ($matches) { $headers['headers'] = !empty($res[$i]['gle_header']) ? unserialize($res[$i]['gle_header']) : array(); // $headers['location'] = $res[$i]['gle_destination']; //add garbagecat76 26.03.2013 $headers['location'] = @preg_replace($pattern, $res[$i]['gle_destination'], $addr); //add garbagecat76 26.03.2013 break; } } } return $headers; } return FALSE; }
public function loadConst() { $q = 'SELECT c_name, c_value FROM ' . $this->siteDb . 'const'; DB::executeQuery($q, 'const_data'); $results = DB::fetchResults('const_data'); if (!empty($results)) { foreach ($results as $row) { $this->internalData[$row['c_name']] = $row['c_value']; } } }
/** * function for get array banners & overlays * @version 25.11.2014 * @author italiano * @param $alias = empty or overlay, $id = id item * @return array */ public function getBanners($args = array('alias' => null, 'id' => null)) { $limit = 10; if (isset($args['alias'])) { $where = " AND b.banner_alias ='{$args['alias']}'"; } else { $where = ''; } if (isset($args['id'])) { $where .= " AND bi.bi_id = '{$args['id']}'"; } else { $where .= ''; } $q = "SELECT bi.* FROM banners as b, banners_item as bi WHERE b.banner_id = bi.bi_banner_id {$where} AND bi.bi_hidden = '0' ORDER BY bi.bi_order LIMIT 0,{$limit}"; DB::executeQuery($q, 'banners'); $rows = DB::fetchResults('banners'); $result = array(); $tsize = count($rows); $assign = null; $cookieBanners = isset($_COOKIE['banners']) ? $_COOKIE['banners'] : false; $cookieOverlays = isset($_COOKIE['overlay']) ? $_COOKIE['overlay'] : false; for ($i = 0; $i < $tsize; $i++) { $page_for_view = explode(',', $rows[$i]['bi_pages']); $assign = $rows[$i]['bi_assign']; //if not isset banner ID in cookie['banners'] if (!isset($cookieBanners[$rows[$i]['bi_id']])) { switch ($assign) { //for all pages case "0": $result[] = array('link' => $rows[$i]['bi_link'], 'type' => $rows[$i]['bi_type'], 'id' => $rows[$i]['bi_id']); break; //for select pages //for select pages case "1": if (in_array($this->PageId, $page_for_view)) { $result[] = array('link' => $rows[$i]['bi_link'], 'type' => $rows[$i]['bi_type'], 'id' => $rows[$i]['bi_id']); } break; //for no select pages //for no select pages case "2": if (!in_array($this->PageId, $page_for_view)) { $result[] = array('link' => $rows[$i]['bi_link'], 'type' => $rows[$i]['bi_type'], 'id' => $rows[$i]['bi_id']); } break; } } } return $result; }
public function getNews($desc = "") { $db = VBox::get('ConstData')->getConst('langsDb'); $q = 'SELECT news_text, news_title FROM ' . $db . '.news_' . $this->mLanguage . ' ORDER BY news_order ' . $desc; DB::executeQuery($q, 'newsList'); $rows = DB::fetchResults('newsList'); $newsList = array(); foreach ($rows as $row) { $newsList[] = $row; } return $newsList; }
/** * function to check a user at the data table * @vars email, hash * @return bool * */ protected function checkIn($id, $hash) { $result = false; $q = 'SELECT es_email FROM ' . $this->table_name . ' WHERE es_id = ? LIMIT 1'; if (DB::executeQuery($q, 'checkIn', array($id))) { $rows = DB::fetchResults('checkIn'); if (count($rows) > 0) { $email = $rows[0]['es_email']; if ($this->check_hash($id, $email, $hash)) { $this->email = $email; $result = true; } } } //include_once('application/final.inc.php'); return $result; }
public function getCases($limit = NULL, $order = 'cs_id') { // $db = VBox::get('ConstData')->getConst('langsDb'); $q = 'SELECT cs_autor, cs_text, cs_pages_not_view, ifnull(cs_link,"") as cs_link FROM case_study WHERE cs_lang_id = ' . $this->languageId . ' and cs_hidden="0" ORDER BY ' . $order; if ($limit !== NULL) { $q .= ' LIMIT ' . $limit; } DB::executeQuery($q, 'caseList'); $rows = DB::fetchResults('caseList'); $caseList = array(); foreach ($rows as $row) { $page_not_chow = explode(',', $row['cs_pages_not_view']); if (!in_array($this->PageId, $page_not_chow)) { $caseList[] = $row; } } return $caseList; }
private function getBlocksData() { $callback = false; if (is_array($this->pageIds)) { foreach ($this->pageIds as $pageId) { $q = 'SELECT b.b_id, b.b_file, b.b_name, bf.bf_id, bf.bf_type, bf.bf_block_id, bf.bf_name, bf.bf_default, bp.bp_id, bp.bp_page_id, bp.bp_block_id, bp.bp_parent, bp.bp_order, bd.bd_id, bd.bd_value, bd.bd_bp_id, bd.bd_field_id FROM ' . $this->siteDb . 'blocks2pages AS bp LEFT JOIN ' . $this->siteDb . 'blocks_data AS bd ON bp.bp_id = bd.bd_bp_id LEFT JOIN ' . $this->siteDb . 'blocks_fields AS bf ON bf.bf_id = bd.bd_field_id LEFT JOIN ' . $this->siteDb . 'blocks AS b ON b.b_id = bp.bp_block_id WHERE bp.bp_page_id = ' . $pageId . ' ORDER BY bp.bp_order'; DB::executeQuery($q, 'blocks_data'); $result = DB::fetchResults('blocks_data'); if (!empty($result)) { $this->blocksData[$pageId] = $result; $callback = true; } } } return $callback; }
protected function call_details() { $product_id = $this->getParam('p') ? urldecode($this->getParam('p')) : ''; $where = ''; if ($this->getParam('from')) { $from = $this->getParam('from'); $where .= " AND es_date >='{$from}'"; $this->smarty->assign('from', $from); } if ($this->getParam('to')) { $to = $this->getParam('to'); $where .= " AND es_date <='{$to}'"; $this->smarty->assign('to', $to); } //$join = ' LEFT JOIN '.$db_name.'.products as p on p.p_id = t.es_product_id'; $join = ''; $q = 'SELECT es_email, es_product_id as product_id, COUNT(es_email) as count_send, SUM(es_count_open) as count_open, SUM(es_count_click) as count_click, MIN(es_date) as start_date FROM ' . $this->table_name . ' as t ' . $join . ' WHERE ((es_product_id = ? AND ? <> "") OR ( ? = "" )) ' . $where . ' GROUP BY es_email ORDER BY es_product_id'; if (DB::executeQuery($q, 'details', array($product_id, $product_id, $product_id))) { $q = 'SELECT MIN(es_date) as min_date, MAX(es_date) as max_date FROM ' . $this->table_name . ' WHERE ((es_product_id = ? AND ? <> "") OR ( ? = "" ))'; if (DB::executeQuery($q, 'maccdetails', array($product_id, $product_id, $product_id))) { $dates = DB::fetchResults('maccdetails'); $this->smarty->assign('min_date', $dates[0]['min_date']); $this->smarty->assign('max_date', $dates[0]['max_date']); } $rows = DB::fetchResults('details'); if (count($rows) == 0) { $vars['alert'] = 'Empty result'; $vars['page_title'] = "Empty SQL result"; $this->smarty->assign('vars', $vars); $this->to_print(); } else { /* $result[0] = array('email' => 'Email address', 'product_name' => 'Product', 'product_sent' => 'Sum send', 'count_open'=>'Sum open', 'count_click'=>'Sum clicks', 'start_date'=>'Start date');*/ $result[0] = array('email' => 'Email address', 'product_name' => 'Product', 'product_sent' => 'Sum send', 'start_date' => 'Start date'); foreach ($rows as $row) { /* $result[] = array('email' => $row['es_email'], 'product_name' => $row['product_id'], 'product_sent' => $row['count_send'], 'count_open' => $row['count_open'], 'count_click' => $row['count_click'], 'start_date' => $row['start_date']);*/ $result[] = array('email' => $row['es_email'], 'product_name' => $row['product_id'], 'product_sent' => $row['count_send'], 'start_date' => $row['start_date']); } if ($this->getParam('getcsv')) { include_once CLASSES . 'CsvExporter.php'; $filename = 'notify-users-' . date('Y-m-d') . '.csv'; ob_end_clean(); CsvExporter::sendArrayAsCSV($result, false, $filename); } else { $vars['file'] = 'reports/details.tpl'; $vars['data'] = $result; $vars['page_title'] = "General report"; $this->smarty->assign('vars', $vars); $this->to_print(); } } } else { $vars['file'] = 'reports/details.tpl'; $vars['alert'] = '<strong>SQL error!</strong> Something happened!'; $vars['page_title'] = "SQL error"; $this->smarty->assign('vars', $vars); $this->to_print(); } }
private function loadLocalStrings() { if (VBox::get('ConstData')->getConst('siteId') == 1115) { $q = "\n\t\t\t\tSELECT ln.ls_id,ln.ls_nick,ls.ls_text FROM `local_nicks` AS ln\n\t\t\t\tLEFT JOIN `local_strings` AS `ls` ON ln.ls_id = ls.ls_id\n\t\t\t\tWHERE ls.ls_lang = ? "; DB::executeQuery($q, 'lstrings', array($this->languageId)); $rows = DB::fetchResults('lstrings'); $this->lStrings = array(); foreach ($rows as $row) { $this->lStrings[$row['ls_nick']] = $row['ls_text']; } } else { /* $q = 'SELECT ls_nick, ll_text FROM '.VBox::get('ConstData')->getConst('langsDb').'.lstrings AS ls LEFT JOIN '.VBox::get('ConstData')->getConst('langsDb').'.'.$this->language.' AS enls ON enls.ll_nick_id = ls.ls_id WHERE ls_site = ?';*/ $q = 'SELECT ls_nick, ll_text FROM lstrings AS ls LEFT JOIN ' . $this->language . ' AS enls ON enls.ll_nick_id = ls.ls_id'; // WHERE ls_site = ?'; // DB::executeQuery($q, 'lstrings', array(VBox::get('ConstData')->getConst('siteId'))); DB::executeQuery($q, 'lstrings'); $rows = DB::fetchResults('lstrings'); $this->lStrings = array(); foreach ($rows as $row) { $this->lStrings[$row['ls_nick']] = $row['ll_text']; } } }
public function getProductPurchaseInfo($contractId, $contractQuant) { $data = array(); $data['contract_id'] = $contractId; $data['quatity'] = $contractQuant; $data['curency'] = 'USD'; $q = ' SELECT oi_lid FROM ' . $this->dbName . 'pa_operators_id WHERE oi_price_id = "' . $contractId . '"'; if (DB::executeQuery($q, 'lic')) { $row = DB::fetchResults('lic'); } $licId = $row[0]['oi_lid']; unset($row); $q = ' SELECT * FROM ' . $this->dbName . 'pa_licenses WHERE l_id = ' . $licId . ' OR l_parentid = ' . $licId . ' '; if (DB::executeQuery($q, 'lic2')) { $row = DB::fetchResults('lic2'); } if ($contractQuant != 0) { foreach ($row as $key => $lic) { $minUsers = $lic['l_min_usernumber']; $maxUsers = $lic['l_usernumber']; if ($contractQuant == $maxUsers && $maxUsers != 0) { echo '1'; $pricePerUnit = $lic['l_price']; } elseif ($contractQuant >= $minUsers && $contractQuant <= $maxUsers) { echo '2'; $pricePerUnit = $lic['l_price']; } elseif ($contractQuant >= $minUsers && $maxUsers == 0) { $pricePerUnit = $lic['l_price']; } } $data['price_per_unit'] = $pricePerUnit; $data['totalPrice'] = $pricePerUnit * $contractQuant; $data['hash'] = md5($contractId . '#' . $data['totalPrice'] . $data['curency'] . ',N#' . Purchase::element5Pass); $data['elementLink'] = 'PRODUCT[' . $contractId . ']=' . $contractQuant . '&PRODUCTPRICE[' . $contractId . ']=' . $data['totalPrice'] . $data['curency'] . ',N;' . $data['hash'] . '&js=-1'; } /* echo '<pre>'; print_r($data); echo '</pre>'; */ }
private function includeGlobalExtensions() { $q = 'SELECT ext_id, ext_name, ext_nick FROM ' . $this->siteDb . 'extensions WHERE ext_type = "G" AND ext_blocked = 0'; DB::executeQuery($q, 'gexts_data'); $result = DB::fetchResults('gexts_data'); foreach ($result as $row) { $this->extensions[$row['ext_nick']] = $row['ext_id']; if (file_exists($this->localPath . 'application/globalExt/' . $row['ext_nick'] . '/index.php')) { include_once $this->localPath . 'application/globalExt/' . $row['ext_nick'] . '/index.php'; } } }
define('LOCAL_PATH', '/usr/home/www/venginse_admin/'); include_once ENGINE_PATH . 'class/classError.php'; include_once ENGINE_PATH . 'class/classDB.php'; include_once ENGINE_PATH . 'class/classConstData.php'; include_once ENGINE_PATH . 'class/classSitemapGenerator.php'; Error::initialize(); Error::setMailing(TRUE); Error::$pathToFile = LOCAL_PATH . 'logs/sitemap.log'; Error::setFileLogging(TRUE); DB::initialize('mysql', 'localhost', NULL, 'venginse_admin', 'venginse', 'YqPffTfB'); DB::executeQuery('SET NAMES utf8', 'cp_utf8'); $q = 'SELECT s_hostname, s_dbname, s_path, s_gziped FROM sites WHERE s_indexed = 1'; DB::executeQuery($q, 'sites'); $rows = DB::fetchResults('sites'); if (!empty($rows)) { $tsize = sizeof($rows); $Sitemap = new SitemapGenerator('venginse_all'); for ($i = 0; $i < $tsize; $i++) { $q = 'SELECT c_value FROM ' . $rows[$i]['s_dbname'] . '.const WHERE c_name = "siteClosed" LIMIT 1'; DB::executeQuery($q, 'close'); $row = DB::fetchOne('close'); if ($row == '0') { $Sitemap->setParams($rows[$i]); if ($Sitemap->buildSitemap()) { $Sitemap->writeSitemap(); $Sitemap->submitSitemap(); }
/** * * * */ public function getProductsAll($wtFree = TRUE, $wtBlocked = FALSE, $tree = true) { //if $platform == 0 all products, if 1 - only PC, etc $platform = 0; $db = VBox::get('ConstData')->getConst('langsDb'); $q = 'SELECT c_name, p_page_link, p_wiki_link, p_id, p_title, p_nick, p_cat, p_download, p_downloads, p_featured, p_relation, p_rel_url, p_platform, platform_nick, platform_acronim, platform_order FROM ' . $db . '.category LEFT JOIN ' . $db . '.category_' . $this->mLanguage . ' ON cat_id = c_id LEFT JOIN ' . $db . '.products ON cat_id = p_cat LEFT JOIN ' . $db . '.platforms ON platform_id = p_platform'; if (!$wtFree || !$wtBlocked) { $q .= ' WHERE '; $free = !$wtFree ? 'p_free = 0' : ''; $block = !$wtBlocked ? 'p_blocked = 0' : ''; $condition = $free . (!empty($free) && !empty($block) ? ' AND ' : '') . $block; $q .= $condition; } $q .= ' ORDER BY cat_order, p_order'; DB::executeQuery($q, 'prods'); $rows = DB::fetchResults('prods'); $array = array(); $category = array(); if ($tree) { foreach ($rows as $key => $value) { if (!in_array($value['p_cat'], $category)) { $category[] = $value['c_name']; $array[$value['p_cat']]['category'] = $value['c_name']; $array[$value['p_cat']]['featured'][$value['p_id']] = $value; } else { $array[$value['p_cat']]['featured'][$value['p_id']] = $value; } } } else { $array = $rows; } return $array; }
public function createRss($platform = 0) { if ($_SERVER["REQUEST_URI"] != '') { $dom = $_SERVER['HTTP_HOST']; $product = ''; $isProduct = false; $this->type = isset($_GET['type']) ? $_GET['type'] : 'xml'; $url = pathinfo($_SERVER["REQUEST_URI"]); $ex = explode('-', $url['filename']); $this->lang = $ex[0]; if (!in_array($this->lang, $this->langs)) { $this->lang = 'en'; } $countIn = count($ex); for ($i = 1; $i < $countIn; $i++) { $product .= $ex[$i]; if ($i + 1 != $countIn) { $product .= '-'; } } // get db table name and domain adress $constData = new ConstData(); $db = $constData->getConst('langsDb'); $query = 'SELECT p_id, p_title, p_download, p_cat, p_platform, p_build, p_page_link, pb_version, pb_build, pb_id, pb_date_release, pc_text, pc_order FROM ' . $db . '.product_changelog_' . $this->lang . ' LEFT JOIN ' . $db . '.product_builds ON pc_pbid = pb_id LEFT JOIN ' . $db . '.products ON pb_pid = p_id WHERE ((p_platform = ' . $platform . ' and ' . $platform . ' > 0) or (' . $platform . ' = 0))'; if ($product != 'products' && $product != 'mac-software' && $product != 'flash-software' && $product != 'system-utilities') { $query .= ' and p_nick = "' . $product . '"'; $isProduct = true; } $query .= ' ORDER BY pb_date_release DESC, pc_order'; DB::executeQuery($query, 'pr'); $rows = DB::fetchResults('pr'); foreach ($rows as $key => $val) { if ($isProduct) { $this->title = $val['p_title']; } $this->rssData[$val['pb_build']]['version'] = $val['pb_version']; $this->rssData[$val['pb_build']]['title'] = $val['p_title']; $this->rssData[$val['pb_build']]['chLog'][$val['pc_order']] = $val['pc_text']; $this->rssData[$val['pb_build']]['pb_date_release'] = $val['pb_date_release']; $this->rssData[$val['pb_build']]['page_link'] = $val['p_page_link']; $this->rssData[$val['pb_build']]['download'] = 'http://' . $dom . '/download/' . $val['p_download']; if (count($this->rssData) >= $this->display) { break; } } if ((strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false or strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false or strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== false) && $this->type !== 'rss') { $this->outputXML(); } else { $this->outputRSS(); } } }
public function sendPassword($email) { $pass = substr(md5(mt_rand(1, 1000000)), 0, 12); $q = 'SELECT user_id FROM ' . $this->siteDb . 'update_subscribers WHERE user_email = ? LIMIT 1'; $result = DB::executeQuery($q, 'email', array($email)); $row = DB::fetchResults('email'); if (is_array($row) && count($row) > 0) { $q = 'UPDATE ' . $this->siteDb . 'update_subscribers SET user_pass = ? WHERE user_email = ?'; DB::executeAlter($q, array($pass, $email)); $msg = "Hi there,\n\nYour new unsubscription password is: " . $pass . "\n\nThank you very much for your interest in our solutions!\nYours, Garbagecat Software Team"; $this->sendMailUp($email, $msg); return $row[0]['user_id'] + 0; } else { return 0; } }
public function processLicenseData() { $q = 'SELECT l_id, l_parentid, l_price, l_type, l_usernumber, l_min_usernumber, l_name, l_wiki_link, l_default, pr_curid, pr_price, oi_price_id, po_operator_id FROM ' . $this->dbName . 'pa_licenses LEFT JOIN ' . $this->dbName . 'pa_prices ON l_id = pr_lid LEFT JOIN ' . $this->dbName . 'pa_products_operators ON po_product_id = l_pid LEFT JOIN ' . $this->dbName . 'pa_operators_id ON oi_lid = l_id AND oi_curid = 12 WHERE l_pid = ' . $this->productId . ' AND l_blocked = "N" ORDER BY l_order'; if (DB::executeQuery($q, 'lic')) { $rows = DB::fetchResults('lic'); for ($i = 0; $i < sizeof($rows); $i++) { $lid = $rows[$i]['l_id']; $parentid = $rows[$i]['l_parentid']; $this->productArray['categories'][$rows[$i]['l_type']][$lid] = $lid; $this->productArray['lic'][$lid]['id'] = $lid; $this->productArray['lic'][$lid]['name'] = $rows[$i]['l_name']; $this->productArray['lic'][$lid]['parentid'] = $parentid; $this->productArray['lic'][$lid]['price'] = $rows[$i]['l_price']; $this->productArray['lic'][$lid]['price_id'] = $rows[$i]['oi_price_id']; $this->productArray['lic'][$lid]['wiki_link'] = $rows[$i]['l_wiki_link']; $this->productArray['lic'][$lid]['default'] = $rows[$i]['l_default']; $this->productArray['lic'][$lid]['htmlprice'] = str_replace('.', '.<sup>', $rows[$i]['l_price']) . '</sup>'; $this->productArray['lic'][$lid]['type'] = $rows[$i]['l_type']; $this->productArray['lic'][$lid]['usernumber'] = $rows[$i]['l_usernumber']; $this->productArray['lic'][$lid]['min_usernumber'] = $rows[$i]['l_min_usernumber']; $this->productArray['operator_id'] = $rows[$i]['po_operator_id']; $this->productArray['lic'][$lid]['save'] = 0; if (0 < $rows[$i]['l_parentid']) { $parentPrice = $this->productArray['lic'][$parentid]['price']; if (0 < $parentPrice) { $this->productArray['lic'][$lid]['save'] = 100 - round($rows[$i]['l_price'] * 100 / $parentPrice); } } $cCode = $this->currencyData[$rows[$i]['pr_curid']]['code']; if (0 < $rows[$i]['l_price']) { $this->productArray['prices'][$lid]['USD']['price'] = $rows[$i]['l_price']; $this->productArray['prices'][$lid][$cCode]['price'] = $rows[$i]['pr_price']; } } } $q = 'SELECT oi_price_id, oi_default, oi_curid, oi_operator_id, l_id FROM ' . $this->dbName . 'pa_licenses LEFT JOIN ' . $this->dbName . 'pa_operators_id ON l_id = oi_lid WHERE l_pid = ' . $this->productId . ' AND oi_blocked = "N"'; if (DB::executeQuery($q, 'lic_contracts')) { $rows = DB::fetchResults('lic_contracts'); foreach ($rows as $row) { //echo $row['oi_price_id'].'<br/>'; $cCode = $this->currencyData[$row['oi_curid']]['code']; if ($cCode == 'USD') { $this->productArray['lic'][$row['l_id']]['contractId'][$row['oi_operator_id']] = $row['oi_price_id']; $this->productArray['prices'][$row['l_id']][$row['oi_operator_id']]['contractIds']['default'] = $row['oi_price_id']; } $this->productArray['prices'][$row['l_id']][$row['oi_operator_id']]['contractIds'][$cCode] = $row['oi_price_id']; } } return $this->productArray; }
public function _rebuildAllCache() { $this->renameCacheDir(); $sql = 'select pg_id from pages where pg_cacheable=1 and pg_hidden=0'; DB::executeQuery($sql, 'all_pages_data'); $results = DB::fetchResults('all_pages_data'); if (!empty($results)) { foreach ($results as $row) { $this->rebuildCachePageAdress($row['pg_id']); } } //$this->flushLog(); }
$q = "select distinct pg_lang from pages where pg_hidden = ?"; DB::executeQuery($q, 'langs_data', array(0)); $langs_data = DB::fetchResults('langs_data'); //Запрос для выборки активных страниц для данного языка $q_page = "select pg_id from pages where pg_hidden = ? and pg_lang = ? and pg_id <>?"; //Запрос для выборки активных case для данного языка $q_case = "select cs_id from " . VBox::get('ConstData')->getConst('langsDb') . ".case_study where cs_hidden = ? and cs_lang_id = ?"; $q_res = ""; // Делаем цикл по языкам foreach ($langs_data as $lang) { // Выбираем все активные страницы для данного языка DB::executeQuery($q_page, 'pages_data_' . $lang['pg_lang'], array(0, $lang['pg_lang'], VBox::get('ConstData')->getConst('loginPage'))); $pages_data = DB::fetchResults('pages_data_' . $lang['pg_lang']); // Выбираем все активные case для данного языка DB::executeQuery($q_case, 'case_data_' . $lang['pg_lang'], array(0, $lang['pg_lang'])); $cases_data = DB::fetchResults('case_data_' . $lang['pg_lang']); // Определим колво елементов case $count_case = sizeof($cases_data); $cases = array(); foreach ($cases_data as $case) { array_push($cases, $case['cs_id']); } //Перемешиваем массив случайным образом shuffle($cases); //Счетчик цикла $j = 0; //Делаем цикл по кол-ву case на каждой странице for ($i = 0; $i < $count_case_on_page; $i++) { //Делаем цикл по всем страницам foreach ($pages_data as $page) { if ($j >= $count_case) {