Example #1
0
 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;
    }
Example #3
0
 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;
 }
Example #4
0
    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;
    }
Example #5
0
    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;
    }
Example #6
0
 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'];
         }
     }
 }
Example #7
0
 /**
  * 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;
 }
Example #8
0
 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;
 }
Example #9
0
 /**
  * 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;
 }
Example #10
0
    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;
    }
Example #11
0
 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;
 }
Example #12
0
 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();
     }
 }
Example #13
0
  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'];
          }
      }
  }
Example #14
0
    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';
         }
     }
 }
Example #16
0
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();
            }
Example #17
0
    /**
     * 
     * 
     * 
     */
    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;
    }
Example #18
0
    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();
            }
        }
    }
Example #19
0
    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;
        }
    }
Example #20
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;
    }
Example #21
0
 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();
 }
Example #22
0
 $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) {