コード例 #1
0
ファイル: PathLinks.php プロジェクト: gingerP/shop
 public function render()
 {
     $borderStyle = 'border-bottom-left-none';
     $mainPathDiv = new Div();
     $mainPathDiv->addStyleClass("main-path");
     if (array_key_exists(UrlParameters::PAGE_NAME, $_GET)) {
         $pageName = Utils::getFromGET(UrlParameters::PAGE_NAME);
         /*log::temp('path-link render 1');*/
         if (array_key_exists(UrlParameters::KEY, $_GET)) {
             /*log::temp('path-link render 2');*/
             $navKeys = new DBNavKeyType();
             if ($pageName == UrlParameters::PAGE__SINGLE_ITEM) {
                 /*log::temp('path-link render 3');*/
                 $div = new Div();
                 $div->addStyleClasses(array($borderStyle, "font_arial", "float_left", "path_link_item", "text_non_select", "cursor_pointer"));
                 $div->updateId("path_link");
                 $div->addAttribute(TagLabels::ON_CLICK, Utils::getWindowOnclickValue(URLBuilder::getPathLinkSingleItem()));
                 $div->addChild($navKeys->getNameByKey(Utils::getFromGET(UrlParameters::KEY)) . " стр. " . Utils::getFromGET(UrlParameters::PAGE));
                 $mainPathDiv->addChild($div);
                 $divContainer = new Div();
                 $divContainer->updateId('store_mode_container');
                 $div1 = new Div();
                 $div1->updateId('path_');
                 $divContainer->addChild($div1);
                 $div2 = new Div();
                 $div2->updateId('path__');
                 $divContainer->addChild($div2);
                 $mainPathDiv->addChild($divContainer);
             }
             echo $mainPathDiv->getHtml();
         }
     }
 }
コード例 #2
0
ファイル: TreeView.php プロジェクト: gingerP/shop
 public function getAllLabels()
 {
     $navKeyType = new DBNavKeyType();
     $navKeys = $navKeyType->getList();
     $result = [];
     while ($row = mysql_fetch_array($navKeys)) {
         array_push($result, $row[DB::TABLE_NAV_KEY__VALUE]);
     }
     return $result;
 }
コード例 #3
0
ファイル: DBNavKeyType.php プロジェクト: gingerP/shop
 public function getLeafs()
 {
     $individual = array_key_exists(UrlParameters::CHECK_FIZ, $_GET) ? "g.individual='YES'" : '';
     $person = array_key_exists(UrlParameters::CHECK_UR, $_GET) ? "g.person='YES'" : '';
     $store = '';
     if ($individual != '' && $person != '') {
         $store = " (" . $individual . " or " . $person . ") and ";
     } elseif ($individual == '' && $person != '') {
         $store = $person . " and ";
     } elseif ($individual != '' && $person == '') {
         $store = $individual . " and ";
     }
     $sqlCommand = "SELECT DISTINCT nk.* FROM nav_key nk, goods g  WHERE " . $store . " nk.key_item=SUBSTRING(g.key_item, 1, 2)";
     $navKeys = new DBNavKeyType();
     return $navKeys->execute($sqlCommand);
 }
コード例 #4
0
ファイル: GoodsKeysService.php プロジェクト: gingerP/shop
 public static function getList()
 {
     $dbGoodsKeys = new DBNavKeyType();
     $dbGoodsKeys->getList();
     $ret = [];
     $resKeys = [DB::TABLE_NAV_KEY__ID, DB::TABLE_NAV_KEY__VALUE, DB::TABLE_NAV_KEY__KEY_ITEM, DB::TABLE_NAV_KEY__PARENT_KEY, DB::TABLE_NAV_KEY__HOME_VIEW];
     $response = $dbGoodsKeys->getResponse();
     while ($row = mysql_fetch_array($response)) {
         $item = [];
         foreach ($resKeys as $key) {
             $item[$key] = $row[$key];
         }
         array_push($ret, $item);
     }
     return $ret;
 }
コード例 #5
0
ファイル: CatalogLoader.php プロジェクト: gingerP/shop
 public function getItemsMenuData($pageNumber, $num, $key)
 {
     $goods = new DBGoodsType();
     $navKeys = new DBNavKeyType();
     $treeUtils = new TreeUtils();
     $navKeys->executeRequest('', '', DB::TABLE_ORDER);
     $tree = $treeUtils->buildTreeByLeafs();
     $keys = $treeUtils->getTreeLeafesForKey($tree, $key);
     $goods->getGoodsKeyCount($keys);
     $this->dataTotalCount = $goods->getTotalCount();
     $limitBegin = ($pageNumber - 1) * $num;
     $limitEnd = $num;
     if ($this->isAdminOrderEnabled()) {
         $goods->getUserSortedForMenu($keys, $limitBegin, $limitEnd);
     } else {
         $str = implode('|', $keys);
         $goods->executeRequestRegExpWithLimit(DB::TABLE_NAV_KEY__KEY_ITEM, "^(" . $str . "){1}", DB::TABLE_GOODS___ORDER, DB::ASC, $limitBegin, $limitEnd);
     }
     $this->data = $goods->getResponse();
     $this->dataCount = $goods->getResponseSize();
 }
コード例 #6
0
ファイル: TreeUtils.php プロジェクト: gingerP/shop
 public function buildTreeByLeafs()
 {
     $navKeys = new DBNavKeyType();
     $leafsMysql = $navKeys->getLeafs();
     $leafs = array();
     while ($row = mysql_fetch_array($leafsMysql)) {
         array_push($leafs, $row[DB::TABLE_NAV_KEY__KEY_ITEM]);
     }
     $navKeys->executeRequest('', '', DB::TABLE_NAV_KEY__ID, DB::ASC);
     //build full tree
     $mainTree = $this->buildTree($navKeys->getResponse(), "GN");
     $this->clearTree($mainTree, $leafs);
     return $mainTree;
 }