Overview

Packages

  • None
  • PHPShopAjaxElements
  • PHPShopAjaxElementsDepricated
  • PHPShopArray
  • PHPShopClass
    • Helper
  • PHPShopCore
  • PHPShopCoreDepricated
  • PHPShopCoreFunction
  • PHPShopDepricated
  • PHPShopElements
  • PHPShopElementsDepricated
  • PHPShopGUI
  • PHPShopInc
  • PHPShopObj
  • PHPShopParser
  • PHPShopShopCore
  • PHPShopTest

Classes

  • AjaxNotice
  • AjaxPricemail
  • AjaxReview
  • fase4_rdf
  • inwords
  • PHPShop404
  • PHPShopAdminRule
  • PHPShopAnalitica
  • PHPShopArray
  • PHPShopBannerElement
  • PHPShopBase
  • PHPShopBaseXml
  • PHPShopBonus
  • PHPShopBrandsElement
  • PHPShopCart
  • PHPShopCartElement
  • PHPShopCategory
  • PHPShopCategoryArray
  • PHPShopClients
  • PHPShopCloudElement
  • PHPShopCommerceML
  • PHPShopCompanyArray
  • PHPShopCompare
  • PHPShopCore
  • PHPShopCoreElement
  • PHPShopCoretest
  • PHPShopCssParser
  • PHPShopCurrencyElement
  • PHPShopDate
  • PHPShopDebug
  • PHPShopDelivery
  • PHPShopDeliveryArray
  • PHPShopDoc
  • PHPShopDone
  • PHPShopElements
  • PHPShopError
  • PHPShopExcel
  • PHPShopFail
  • PHPShopFile
  • PHPShopForma
  • PHPShopFrontInterface
  • PHPShopGbook
  • PHPShopGbookElement
  • PHPShopGUI
  • PHPShopIndex
  • PHPShopInterface
  • PHPShopLang
  • PHPShopLinks
  • PHPShopMail
  • PHPShopMailFile
  • PHPShopMap
  • PHPShopMath
  • PHPShopModules
  • PHPShopNav
  • PHPShopNewprice
  • PHPShopNews
  • PHPShopNewsElement
  • PHPShopNewtip
  • PHPShopObj
  • PHPShopOpros
  • PHPShopOprosElement
  • PHPShopOrder
  • PHPShopOrderDelivery
  • PHPShopOrderFunction
  • PHPShopOrderStatusArray
  • PHPShopOrm
  • PHPShopPage
  • PHPShopPageCatalogElement
  • PHPShopPageCategory
  • PHPShopPageCategoryArray
  • PHPShopPages
  • PHPShopParentNameArray
  • PHPShopParser
  • PHPShopPayment
  • PHPShopPaymentArray
  • PHPShopPaymentResult
  • PHPShopPhoto
  • PHPShopPhotoCategory
  • PHPShopPhotoCategoryArray
  • PHPShopPhotoElement
  • PHPShopPrice
  • PHPShopPricemail
  • PHPShopPrint
  • PHPShopProduct
  • PHPShopProductArray
  • PHPShopProductElements
  • PHPShopProductFunction
  • PHPShopProductIconElements
  • PHPShopProductIndexElements
  • PHPShopPromotions
  • PHPShopPush
  • PHPShopReadCsvNative
  • PHPShopRecaptchaElement
  • PHPShopRestore
  • PHPShopRssParser
  • PHPShopSearch
  • PHPShopSecurity
  • PHPShopSelection
  • PHPShopSelectioncat
  • PHPShopShop
  • PHPShopShopCatalogElement
  • PHPShopShopCore
  • PHPShopSkinElement
  • PHPShopSliderElement
  • PHPShopSort
  • PHPShopSortAjax
  • PHPShopSortArray
  • PHPShopSortCategoryArray
  • PHPShopSortElement
  • PHPShopSortSearch
  • PHPShopSpec
  • PHPShopString
  • PHPShopSuccess
  • PHPShopSystem
  • PHPShopTemplates
  • PHPShopText
  • PHPShopTextElement
  • PHPShopUnsubscribe
  • PHPShopUpdate
  • PHPShopUser
  • PHPShopUserElement
  • PHPShopUserFunction
  • PHPShopUsers
  • PHPShopUserStatus
  • PHPShopUserStatusArray
  • PHPShopValuta
  • PHPShopValutaArray
  • rateForComment
  • XMLparser

Functions

  • __
  • __hide
  • _e
  • action_order_info
  • allowedFunctions
  • array2iconv
  • avg_rate
  • calendar
  • catalog_meta
  • CheckCanGzip
  • comment_rate
  • debug
  • delivery
  • DispComment
  • evalstr
  • GetDeliveryPrice
  • getExcelInfoUid
  • GetFile
  • getFotoIconPodrobno
  • getfullname
  • getgoodname
  • getLicense
  • GetVoteValue
  • getYandexSearchSql
  • GzDocOut
  • image_gallery
  • import
  • json_encode
  • json_fix_cyr
  • json_fix_utf
  • mailcartforma
  • makeCalendar
  • message_activation
  • message_register_success
  • MessageList
  • moname
  • Nav_comment
  • Nav_messages
  • notice_add
  • notice_list
  • notice_mail
  • NumFrom
  • option_check
  • option_select
  • option_select_add
  • order_list
  • ordercartforma
  • Page_comment
  • Page_messages
  • parse_ini_file_true
  • parseDatabase
  • Parser
  • ParseTemplate
  • ParseTemplateReturn
  • PHPShopAutoLoadClass
  • phpshopparserevalstr
  • preExtractCallBack
  • product_meta
  • query_filter
  • query_multibase
  • rating
  • ratingshort
  • ratingtop
  • readDatabase
  • returnSmile
  • search_base
  • set_meta
  • setAutokeyword
  • ShowStars
  • ShowStars2
  • sort_table
  • sorttemplateexample
  • stripslashes_deep
  • SysValueReturn
  • timer
  • tmpGetFile
  • user_message
  • usercartforma
  • userdeleveryforma
  • userfiles
  • userorderdoclink
  • userorderfiles
  • userorderpaymentlink
  • utf8_win1251
  • writeLangFile
  • xml2array
  • Overview
  • Package
  • Class
  • Tree
   1:    2:    3:    4:    5:    6:    7:    8:    9:   10:   11:   12:   13:   14:   15:   16:   17:   18:   19:   20:   21:   22:   23:   24:   25:   26:   27:   28:   29:   30:   31:   32:   33:   34:   35:   36:   37:   38:   39:   40:   41:   42:   43:   44:   45:   46:   47:   48:   49:   50:   51:   52:   53:   54:   55:   56:   57:   58:   59:   60:   61:   62:   63:   64:   65:   66:   67:   68:   69:   70:   71:   72:   73:   74:   75:   76:   77:   78:   79:   80:   81:   82:   83:   84:   85:   86:   87:   88:   89:   90:   91:   92:   93:   94:   95:   96:   97:   98:   99:  100:  101:  102:  103:  104:  105:  106:  107:  108:  109:  110:  111:  112:  113:  114:  115:  116:  117:  118:  119:  120:  121:  122:  123:  124:  125:  126:  127:  128:  129:  130:  131:  132:  133:  134:  135:  136:  137:  138:  139:  140:  141:  142:  143:  144:  145:  146:  147:  148:  149:  150:  151:  152:  153:  154:  155:  156:  157:  158:  159:  160:  161:  162:  163:  164:  165:  166:  167:  168:  169:  170:  171:  172:  173:  174:  175:  176:  177:  178:  179:  180:  181:  182:  183:  184:  185:  186:  187:  188:  189:  190:  191:  192:  193:  194:  195:  196:  197:  198:  199:  200:  201:  202:  203:  204:  205:  206:  207:  208:  209:  210:  211:  212:  213:  214:  215:  216:  217:  218:  219:  220:  221:  222:  223:  224:  225:  226:  227:  228:  229:  230:  231:  232:  233:  234:  235:  236:  237:  238:  239:  240:  241:  242:  243:  244:  245:  246:  247:  248:  249:  250:  251:  252:  253:  254:  255:  256:  257:  258:  259:  260:  261:  262:  263:  264:  265:  266:  267:  268:  269:  270:  271:  272:  273:  274:  275:  276:  277:  278:  279:  280:  281:  282:  283:  284:  285:  286:  287:  288:  289:  290:  291:  292:  293:  294:  295:  296:  297:  298:  299:  300:  301:  302:  303:  304:  305:  306:  307:  308:  309:  310:  311:  312:  313:  314:  315:  316:  317:  318:  319:  320:  321:  322:  323:  324:  325:  326:  327:  328:  329:  330:  331:  332:  333:  334:  335:  336:  337:  338:  339:  340:  341:  342:  343:  344:  345:  346:  347:  348:  349:  350:  351:  352:  353:  354:  355:  356:  357:  358:  359:  360:  361:  362:  363:  364:  365:  366:  367:  368:  369:  370:  371:  372:  373:  374:  375:  376:  377:  378:  379:  380:  381:  382:  383:  384:  385:  386:  387:  388:  389:  390:  391:  392:  393:  394:  395:  396:  397:  398:  399:  400:  401:  402:  403:  404:  405:  406:  407:  408:  409:  410:  411:  412:  413:  414:  415:  416:  417:  418:  419:  420:  421:  422:  423:  424:  425:  426:  427:  428:  429:  430:  431:  432:  433:  434:  435:  436:  437:  438:  439:  440:  441:  442:  443:  444:  445:  446:  447:  448:  449:  450:  451:  452:  453:  454:  455:  456:  457:  458:  459:  460:  461:  462:  463:  464:  465:  466:  467:  468:  469:  470:  471:  472:  473:  474:  475:  476:  477:  478:  479:  480:  481:  482:  483:  484:  485:  486:  487:  488:  489:  490:  491:  492:  493:  494:  495:  496:  497:  498:  499:  500:  501:  502:  503:  504:  505:  506:  507:  508:  509:  510:  511:  512:  513:  514:  515:  516:  517:  518:  519:  520:  521:  522:  523:  524:  525:  526:  527:  528:  529:  530:  531:  532:  533:  534:  535:  536:  537:  538:  539:  540:  541:  542:  543:  544:  545:  546:  547:  548:  549:  550:  551:  552:  553:  554:  555:  556:  557:  558:  559:  560:  561:  562:  563:  564:  565:  566:  567:  568:  569:  570:  571:  572:  573:  574:  575:  576:  577:  578:  579:  580:  581:  582:  583:  584:  585:  586:  587:  588:  589:  590:  591:  592:  593:  594:  595:  596:  597:  598:  599:  600:  601:  602:  603:  604:  605:  606:  607:  608:  609:  610:  611:  612:  613:  614:  615:  616:  617:  618:  619:  620:  621:  622:  623:  624:  625:  626:  627:  628:  629:  630:  631:  632:  633:  634:  635:  636:  637:  638:  639:  640:  641:  642:  643:  644:  645:  646:  647:  648:  649:  650:  651:  652:  653:  654:  655:  656:  657:  658:  659:  660:  661:  662:  663:  664:  665:  666:  667:  668:  669:  670:  671:  672:  673:  674:  675:  676:  677:  678:  679:  680:  681:  682:  683:  684:  685:  686:  687:  688:  689:  690:  691:  692:  693:  694:  695:  696:  697:  698:  699:  700:  701:  702:  703:  704:  705:  706:  707:  708:  709:  710:  711:  712:  713:  714:  715:  716:  717:  718:  719:  720:  721:  722:  723:  724:  725:  726:  727:  728:  729:  730:  731:  732:  733:  734:  735:  736:  737:  738:  739:  740:  741:  742:  743:  744:  745:  746:  747:  748:  749:  750:  751:  752:  753:  754:  755:  756:  757:  758:  759:  760:  761:  762:  763:  764:  765:  766:  767:  768:  769:  770:  771:  772:  773:  774:  775:  776:  777:  778:  779:  780:  781:  782:  783:  784:  785:  786:  787:  788:  789:  790:  791:  792:  793:  794:  795:  796:  797:  798:  799:  800:  801:  802:  803:  804:  805:  806:  807:  808:  809:  810:  811:  812:  813:  814:  815:  816:  817:  818:  819:  820:  821:  822:  823:  824:  825:  826:  827:  828:  829:  830:  831:  832:  833:  834:  835:  836:  837:  838:  839:  840:  841:  842:  843:  844:  845:  846:  847:  848:  849:  850:  851:  852:  853:  854:  855:  856:  857:  858:  859:  860:  861:  862:  863:  864:  865:  866:  867:  868:  869:  870:  871:  872:  873:  874:  875:  876:  877:  878:  879:  880:  881:  882:  883:  884:  885:  886:  887:  888:  889:  890:  891:  892:  893:  894:  895:  896:  897:  898:  899:  900:  901:  902:  903:  904:  905:  906:  907:  908:  909:  910:  911:  912:  913:  914:  915:  916:  917:  918:  919:  920:  921:  922:  923:  924:  925:  926:  927:  928:  929:  930:  931:  932:  933:  934:  935:  936:  937:  938:  939:  940:  941:  942:  943:  944:  945:  946:  947:  948:  949:  950:  951:  952:  953:  954:  955:  956:  957:  958:  959:  960:  961:  962:  963:  964:  965:  966:  967:  968:  969:  970:  971:  972:  973:  974:  975:  976:  977:  978:  979:  980:  981:  982:  983:  984:  985:  986:  987:  988:  989:  990:  991:  992:  993:  994:  995:  996:  997:  998:  999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 1154: 1155: 1156: 1157: 1158: 1159: 1160: 1161: 1162: 1163: 1164: 1165: 1166: 1167: 1168: 1169: 1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177: 1178: 1179: 1180: 1181: 1182: 1183: 1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191: 1192: 1193: 1194: 1195: 1196: 1197: 1198: 1199: 1200: 1201: 1202: 1203: 1204: 1205: 1206: 1207: 1208: 1209: 1210: 1211: 1212: 1213: 1214: 1215: 1216: 1217: 1218: 1219: 1220: 1221: 1222: 1223: 1224: 1225: 1226: 1227: 1228: 1229: 1230: 1231: 1232: 1233: 1234: 1235: 1236: 1237: 1238: 1239: 1240: 1241: 1242: 1243: 1244: 1245: 1246: 1247: 1248: 1249: 1250: 1251: 1252: 1253: 1254: 1255: 1256: 1257: 1258: 1259: 1260: 1261: 1262: 1263: 1264: 1265: 1266: 1267: 1268: 1269: 1270: 1271: 1272: 1273: 1274: 1275: 1276: 1277: 1278: 1279: 1280: 1281: 1282: 1283: 1284: 1285: 1286: 1287: 1288: 1289: 1290: 1291: 1292: 1293: 1294: 1295: 1296: 1297: 1298: 1299: 1300: 1301: 1302: 1303: 1304: 1305: 1306: 1307: 1308: 1309: 1310: 1311: 1312: 1313: 1314: 1315: 1316: 1317: 1318: 1319: 1320: 1321: 1322: 1323: 1324: 1325: 1326: 1327: 1328: 1329: 1330: 1331: 1332: 1333: 1334: 1335: 1336: 1337: 1338: 1339: 1340: 1341: 1342: 1343: 1344: 1345: 1346: 1347: 1348: 1349: 1350: 1351: 1352: 1353: 1354: 1355: 1356: 1357: 1358: 1359: 1360: 1361: 1362: 1363: 1364: 1365: 1366: 1367: 1368: 1369: 1370: 1371: 1372: 1373: 1374: 1375: 1376: 1377: 1378: 1379: 1380: 1381: 1382: 1383: 1384: 1385: 1386: 1387: 1388: 1389: 1390: 1391: 1392: 1393: 1394: 1395: 1396: 1397: 1398: 1399: 1400: 1401: 1402: 1403: 1404: 1405: 1406: 1407: 1408: 1409: 1410: 1411: 1412: 1413: 1414: 1415: 1416: 1417: 1418: 1419: 1420: 1421: 1422: 1423: 1424: 1425: 1426: 1427: 1428: 1429: 1430: 1431: 1432: 1433: 1434: 1435: 1436: 1437: 1438: 1439: 1440: 1441: 1442: 1443: 1444: 1445: 1446: 1447: 1448: 1449: 1450: 1451: 1452: 1453: 1454: 1455: 1456: 1457: 1458: 
<?php

/**

 * @author PHPShop Software
 * @version 1.4
 * @package PHPShopElements
 */
class PHPShopBrandsElement extends PHPShopElements {

    /**

     */
    public $limitOnLine = 5;
    public $firstClassName = 'span-first-child';
    public $debug = false;

    //
    private static $brands = [];
    private static $brandValues = [];

    /**

     */
    function __construct() {
        parent::__construct();
    }

    /**

     * @return string
     */
    function index() {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, null, 'START');
        if ($hook)
            return $hook;

        foreach (self::getBrandsValues() as $v) {
            if ($i % $this->limitOnLine == 0) {
                $this->set('brandFirstClass', $this->firstClassName);
            } else {
                $this->set('brandFirstClass', '');
            }
            $i++;

            $this->set('brandIcon', null);
            foreach ($v as $val) {
                if (!empty($val['icon']))
                    $this->set('brandIcon', $val['icon']);
            }
            $this->set('brandName', $v[0]['name']);
            $this->set('brandPageLink', PHPShopBrandsElement::getBrandLink($v));
            $this->set('brandsList', ParseTemplateReturn('brands/top_brands_one.tpl'), true);

            //
            $this->set('brandsListMobile', PHPShopText::li($this->get('brandName'), $this->get('brandPageLink'), false), true);
        }

        if ($this->get('brandsList'))
            return ParseTemplateReturn('brands/top_brands_main.tpl');
    }

    public static function getCategoryBrands($categoryId)
    {
        global $PHPShopShopCatalogElement;

        PHPShopParser::set('categoryBrandsList', null);

        if(is_array($PHPShopShopCatalogElement->CategoryArray)) {
            $category = $PHPShopShopCatalogElement->CategoryArray[(int) $categoryId];
        } else {
            $category = (new PHPShopCategory((int) $categoryId))->objRow;
        }

        $brands = self::getBrands();
        $categoryBrands = [];

        $sorts = unserialize($category['sort']);
        if(is_array($sorts)) {
            foreach ($sorts as $sort) {
                if(isset($brands[$sort])) {
                    $categoryBrands[] = (int) $sort;
                }
            }
        }

        foreach (self::getBrandsValues($categoryBrands) as $brandValues) {
            PHPShopParser::set('categoryBrandIcon', null);
            foreach ($brandValues as $brandValue) {
                if (!empty($brandValue['icon']))
                    PHPShopParser::set('categoryBrandIcon', $brandValue['icon']);
            }
            PHPShopParser::set('categoryBrandName', $brandValues[0]['name']);
            PHPShopParser::set('categoryBrandPageLink', self::getBrandLink($brandValues));
            PHPShopParser::set('categoryBrandsList', ParseTemplateReturn('brands/category_brands_one.tpl'), true);
        }

        if(!empty(PHPShopParser::get('categoryBrandsList'))) {
            return ParseTemplateReturn('brands/category_brands.tpl');
        }
    }

    private static function getBrands()
    {
        if(count(self::$brands) > 0) {
            return self::$brands;
        }

        //
        $where = ['brand' => '="1"'];
        if (defined("HostID"))
            $where['brand'] .= " and servers REGEXP 'i" . HostID . "i'";
        elseif (defined("HostMain"))
            $where['brand'] .= ' and (servers ="" or servers REGEXP "i1000i")';

        //
        $PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['sort_categories']);
        self::$brands = array_column($PHPShopOrm->getList(['*'], $where, ['order' => 'num']), null, 'id');

        return self::$brands;
    }

    public static function getBrandsValues($categories = null)
    {
        if(count(self::$brandValues) === 0) {
            $PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['sort']);
            $PHPShopOrm->mysql_error = false;

            $brands = array_keys(self::getBrands());
            if (is_array($brands) && count($brands) > 0) {
                $result = $PHPShopOrm->query('select * from ' . $GLOBALS['SysValue']['base']['sort'] . ' where category IN (' . implode(',', $brands) . ') order by num,name');
                while ($row = mysqli_fetch_assoc($result)) {
                    self::$brandValues[$row['name']][] = ['name' => $row['name'], 'id' => $row['id'], 'category' => $row['category'], 'icon' => $row['icon'], 'seo' => $row['sort_seo_name']];
                }
            }
        }

        //
        if(is_array($categories)) {
            $result = [];
            foreach (self::$brandValues as $brandName => $brandValue) {
                foreach ($brandValue as $value) {
                    if(in_array((int) $value['category'], $categories)) {
                        $result[$brandName][] = $value;
                    }
                }
            }

            return $result;
        }


        return self::$brandValues;
    }

    public static function getBrandLink($values)
    {
        //
        if (!empty($GLOBALS['SysValue']['base']['seourlpro']['seourlpro_system'])) {
            if(is_null($GLOBALS['PHPShopSeoPro'])) {
                include_once dirname(__DIR__) . '/modules/seourlpro/inc/option.inc.php';
                $GLOBALS['PHPShopSeoPro'] = new PHPShopSeoPro();
            }
            $seourlpro = $GLOBALS['PHPShopSeoPro']->getSettings();;
        }

        $link = null;
        $isSeoNameIdentical = true;
        foreach ($values as $key => $val) {
            $link .= 'v[' . $val['category'] . ']=' . $val['id'] . '&';

            if($key > 0 && $val['seo'] !== $values[$key-1]['seo']) {
                $isSeoNameIdentical = false;
            }
        }

        if ((int) $seourlpro['seo_brands_enabled'] === 2 && $isSeoNameIdentical) {
            return $GLOBALS['SysValue']['dir']['dir'] . '/brand/' . $values[0]['seo'] . '.html';
        }

        return $GLOBALS['SysValue']['dir']['dir'] . '/selection/?' . substr($link, 0, strlen($link) - 1);
    }
}

/**

 * @author PHPShop Software
 * @version 1.3
 * @package PHPShopElements
 */
class PHPShopSortElement extends PHPShopElements {

    /**

     */
    function __construct() {
        parent::__construct();
    }

    /**





     */
    function brand($var, $n, $title, $target = '/selection/') {

        //
        $this->n = $n;

        //
        PHPShopObj::loadClass('sort');

        $PHPShopSort = new PHPShopSort();
        $value = $PHPShopSort->value($n, $title);
        $forma = PHPShopText::p(PHPShopText::form($value . PHPShopText::button('OK', 'SortSelect.submit()'), 'SortSelect', 'get', $target, false, 'ok'));
        $this->set('leftMenuContent', $forma);
        $this->set('leftMenuName', $title);

        //
        $dis = $this->parseTemplate($this->getValue('templates.left_menu'));

        //
        $this->setHook(__CLASS__, __FUNCTION__, $value);

        //
        $this->set($var, $dis);
    }

}

/**

 * @author PHPShop Software
 * @version 1.5
 * @package PHPShopElements
 */
class PHPShopProductIconElements extends PHPShopProductElements {

    /**

     * @var bool
     */
    var $debug = false;

    /**

     * @var bool
     */
    var $memory = true;

    /**

     * @var string 
     */
    var $template = 'main_spec_forma_icon';

    /**

     * @var string 
     */
    var $limitspec;

    /**

     * @var int 
     */
    var $cell;

    /**

     */
    function __construct() {
        $this->objBase = $GLOBALS['SysValue']['base']['products'];
        $this->template_debug = true;
        parent::__construct();

        //
        $this->setHtmlOption(__CLASS__);
    }

    function __call($name, $arguments) {
        if ($name == __CLASS__) {
            self::__construct();
        }
    }

    /**





     * @return string
     */
    function specMainIcon($force = false, $category = null, $cell = null, $limit = null, $line = false) {

        $this->limitspec = $limit;

        if (!empty($cell))
            $this->cell = $cell;

        elseif (empty($this->cell))
            $this->cell = 1;

        //
        $this->new_enabled = $this->PHPShopSystem->getSerilizeParam("admoption.new_enabled");

        switch ($GLOBALS['SysValue']['nav']['nav']) {

            //
            case "CID":

                if (!empty($category))
                    $where['category'] = '=' . $category;

                elseif (PHPShopSecurity::true_num($this->PHPShopNav->getId())) {

                    $category = $this->PHPShopNav->getId();
                    if (!$this->memory_get('product_enabled.' . $category, true))
                        $where['category'] = '=' . $category;
                }
                break;

            //
            case "UID":

                if (!empty($category))
                    $where['category'] = '=' . $category;

                $where['id'] = '!=' . $this->PHPShopNav->getId();

                break;
        }

        //
        if ($GLOBALS['PHPShopNav']->objNav['name'] == 'UID') {
            $where['id'] = '!=' . $GLOBALS['PHPShopNav']->objNav['id'];
        }

        //
        if (empty($this->limitspec))
            $this->limitspec = $this->PHPShopSystem->getParam('new_num');

        if (!$this->limitspec)
            $this->limitspec = $this->num_row;

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__);
        if ($hook)
            return $hook;

        //
        if (empty($this->limitspec))
            return false;

        //
        $where['newtip'] = "='1'";
        $where['enabled'] = "='1'";
        $where['parent_enabled'] = "='0'";

        //
        if ($limit == 1 || $this->limitspec == 1) {
            $array_pop = true;
            $limit++;
            $this->limitspec++;
        }

        //
        //$memory_spec = $this->memory_get('product_spec.' . $category);
        //
        $queryMultibase = $this->queryMultibase();
        if (!empty($queryMultibase))
            $where['enabled'] .= ' ' . $queryMultibase;
        else {
            //
            $where['id'] = $this->setramdom($limit);
        }

        //
        //if ($memory_spec != 2 and $memory_spec != 3)
        $this->dataArray = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limitspec), __FUNCTION__);

        //
        if (!empty($array_pop) and is_array($this->dataArray)) {
            array_pop($this->dataArray);
        }

        //
        $count = @count($this->dataArray);
        if ($count < $this->limitspec) {
            unset($where['id']);
            $this->dataArray = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limitspec), __FUNCTION__);
        }

        if (is_array($this->dataArray)) {
            $this->product_grid($this->dataArray, $this->cell, $this->template, $line);
            $this->set('specMainTitle', $this->lang('newprod'));

            //
            //$this->memory_set('product_spec.' . $category, 1);
        }
        //
        elseif ($this->new_enabled == 1) {

            //
            unset($where['newtip']);
            $where['spec'] = "='1'";

            //if ($memory_spec != 1 and $memory_spec != 3)
            $this->dataArray = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limitspec), __FUNCTION__);

            //
            if (!empty($array_pop) and is_array($this->dataArray)) {
                array_pop($this->dataArray);
            }

            if (!empty($this->dataArray) and is_array($this->dataArray)) {
                $this->product_grid($this->dataArray, $this->cell, $this->template, $line);
                $this->set('specMainTitle', $this->lang('specprod'));

                //
                //$this->memory_set('product_spec.' . $category, 2);
            }
        }
        //
        elseif ($this->new_enabled == 2) {

            //
            unset($where['id']);
            unset($where['spec']);
            unset($where['newtip']);
            $this->dataArray = $this->select(array('*'), $where, array('order' => 'id DESC'), array('limit' => $this->limitspec), __FUNCTION__);

            //
            if (!empty($array_pop) and is_array($this->dataArray)) {
                array_pop($this->dataArray);
            }

            if (is_array($this->dataArray)) {
                $this->product_grid($this->dataArray, $this->cell, $this->template, $line);
                $this->set('specMainTitle', $this->lang('newprod'));

                //
                //$this->memory_set('product_spec.' . $category, 3);
            }
        }

        //
        return $this->compile();
    }

    /**





     * @return string
     */
    function seamply_forma($row, $cell = false, $template = 'main_spec_forma_icon', $line = false, $mod = false) {

        //
        if (empty($cell))
            $this->cell = $this->PHPShopSystem->getParam('num_vitrina');
        else
            $this->cell = $cell;

        $this->set('productInfo', $this->lang('productInfo'));

        //
        $this->product_grid($row, $this->cell, $template, $line, $mod);

        //
        return $this->compile();
    }

    /**

     * @return string
     */
    function setCell($d1, $d2 = null, $d3 = null, $d4 = null, $d5 = null, $d6 = null, $d7 = null) {

        //
        if ($this->memory_get(__CLASS__ . '.' . __FUNCTION__, true)) {
            $Arg = func_get_args();
            $hook = $this->setHook(__CLASS__, __FUNCTION__, $Arg);
            if ($hook) {
                return $hook;
            } else
                $this->memory_set(__CLASS__ . '.' . __FUNCTION__, 0);
        }

        return parent::setCell($d1, $d2, $d3, $d4, $d5, $d6, $d7);
    }

    /**

     * @return string
     */
    function compile() {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__);
        if ($hook) {
            return $hook;
        }

        return parent::compile();
    }

}

/**

 * @author PHPShop Software
 * @version 1.5
 * @package PHPShopElements
 */
class PHPShopProductIndexElements extends PHPShopProductElements {

    /**

     * @var bool
     */
    var $debug = false;

    /**

     * @var int
     */
    var $cell;

    /**

     * @var bool
     */
    var $memory = true;

    /**

     * @var string 
     */
    var $template = '';
    var $check_index = false;

    /**

     */
    function __construct() {
        $this->objBase = $GLOBALS['SysValue']['base']['products'];
        parent::__construct();

        //
        $this->setHtmlOption(__CLASS__);
    }

    function __call($name, $arguments) {
        if ($name == __CLASS__) {
            self::__construct();
        }
    }

    /**


     * @return string
     */
    function template_nowbuy($row) {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, $row);
        if ($hook)
            return $hook;

        return PHPShopText::li($row['name'], 'shop/UID_' . $row['id'] . '.html');
    }

    /**

     * @return string
     */
    function nowBuy() {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, null, 'START');
        if ($hook)
            return $hook;

        //
        if ($this->PHPShopNav->index($this->check_index)) {
            $i = 1;

            if (!$this->limitpos)
                $this->limitpos = 10; //

            if (!$this->limitorders)
                $this->limitorders = 10; //
            $disp = $li = null;

            if (!$this->enabled)
                $this->enabled = $this->PHPShopSystem->getSerilizeParam('admoption.nowbuy_enabled');

            $sort = null;

            //
            if (empty($this->cell))
                $this->cell = $this->PHPShopSystem->getValue('num_vitrina');

            if (!empty($this->enabled)) {

                $where['statusi']=" !=1";

                //
                if (defined("HostID"))
                    $where['servers'] = "=" . HostID;
                elseif (defined("HostMain"))
                    $where['servers'] .= '=0';

                //
                $PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['orders']);
                $PHPShopOrm->debug = $this->debug;
                $data = $PHPShopOrm->select(array('orders'), $where, array('order' => 'id desc'), array('limit' => $this->limitorders));

                if (is_array($data)) {
                    foreach ($data as $row) {
                        $order = unserialize($row['orders']);
                        $cart = $order['Cart']['cart'];
                        if (is_array($cart))
                            foreach ($cart as $good) {
                                if ($i > $this->limitpos)
                                    break;
                                //
                                if (!empty($good['parent']))
                                    $good['id'] = $good['parent'];

                                $sort .= ' id=' . intval($good['id']) . ' OR';
                            }
                    }
                    $sort = substr($sort, 0, strlen($sort) - 2);

                    //
                    if (!empty($sort)) {
                        $PHPShopOrm = new PHPShopOrm();
                        $PHPShopOrm->debug = $this->debug;

                        //
                        $queryMultibase = $this->queryMultibase();

                        $PHPShopOrm->sql = "select * from " . $this->objBase . " where (" . $sort . ") and enabled='1' and sklad != '1' " . $queryMultibase . " LIMIT 0," . $this->limitpos;
                        $PHPShopOrm->comment = __CLASS__ . '.' . __FUNCTION__;
                        $dataArray = $PHPShopOrm->select();

                        if (is_array($dataArray)) {

                            //
                            if ($this->enabled == 2) {

                                //
                                if (empty($this->cell))
                                    $this->cell = $this->PHPShopSystem->getParam('num_vitrina');
                                $this->set('productInfo', $this->lang('productInfo'));

                                //
                                $this->product_grid($dataArray, $this->cell, $this->template);

                                //
                                $disp = $this->compile();
                            }
                            //
                            else {
                                foreach ($dataArray as $row) {
                                    $li .= $this->template_nowbuy($row);
                                    $i++;
                                }

                                $disp = PHPShopText::ol($li);
                            }

                            //
                            $this->setHook(__CLASS__, __FUNCTION__, $dataArray, 'END');

                            if (!empty($disp)) {
                                $this->set('now_buying', $this->lang('now_buying'));
                                return $disp;
                            }
                        }
                    }
                }
            }
        }
    }

    /**

     * @return string
     */
    function specMain() {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__);
        if ($hook)
            return $hook;

        //
        if ($this->PHPShopNav->index($this->check_index)) {


            //
            if (empty($this->cell))
                $this->cell = $this->PHPShopSystem->getParam('num_vitrina');

            //
            $this->limit = $this->PHPShopSystem->getParam('spec_num');

            if (!$this->limit)
                $this->limit = $this->num_row;

            //
            if ($this->limit < 1)
                return false;

            $this->set('productInfo', $this->lang('productInfo'));

            //
            $where['spec'] = "='1'";
            $where['enabled'] = "='1'";
            $where['parent_enabled'] = "='0'";

            //
            $queryMultibase = $this->queryMultibase();
            if (!empty($queryMultibase))
                $where['enabled'] .= ' ' . $queryMultibase;
            else {
                //
                $where['id'] = $this->setramdom($this->limit);
            }

            //
            if ($this->limit > 1)
                $this->dataArray = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limit), __FUNCTION__);
            else
                $this->dataArray[] = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limit), __FUNCTION__);

            //
            $count = count($this->dataArray);
            if ($count < $this->limit) {
                unset($where['id']);
                $this->dataArray = $this->select(array('*'), $where, array('order' => 'RAND()'), array('limit' => $this->limit), __FUNCTION__);
            }

            //
            $this->product_grid($this->dataArray, $this->cell, $this->template);

            //
            return $this->compile();
        }
    }

    /**

     * @return string
     */
    function setCell($d1, $d2 = null, $d3 = null, $d4 = null, $d5 = null, $d6 = null, $d7 = null) {

        //
        if ($this->memory_get(__CLASS__ . '.' . __FUNCTION__, true)) {
            $Arg = func_get_args();
            $hook = $this->setHook(__CLASS__, __FUNCTION__, $Arg);
            if ($hook) {
                return $hook;
            } else
                $this->memory_set(__CLASS__ . '.' . __FUNCTION__, 0);
        }

        return parent::setCell($d1, $d2, $d3, $d4, $d5, $d6, $d7);
    }

    /**

     * @return string
     */
    function compile() {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__);
        if ($hook) {
            return $hook;
        }

        return parent::compile();
    }

}

/**

 * @author PHPShop Software
 * @version 1.5
 * @package PHPShopElements
 */
class PHPShopShopCatalogElement extends PHPShopProductElements {

    /**

     * @var bool
     */
    var $debug = false;

    /**

     * @var array
     */
    var $cache_format = array('content', 'yml_bid_array');
    var $memory = true;

    /**

     * @var string 
     */
    var $root_order = 'num, name';
    var $grid = true;

    /**

     * @var bool 
     */
    var $multimenu = false;

    /**

     */
    function __construct() {

        parent::__construct();
        $this->objBase = $GLOBALS['SysValue']['base']['categories'];

        //
        $this->setHtmlOption(__CLASS__);
    }

    function __call($name, $arguments) {
        if ($name == __CLASS__) {
            self::__construct();
        }
    }

    /**



     * @return string
     */
    function template_cat_table($val) {

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, $val);
        if ($hook)
            return $hook;

        if ($val['tile'] == 1) {

            $this->set('catalogId', $val['id']);
            $this->set('catalogTitle', $val['name']);
            $this->set('catalogName', $val['name']);
            $this->set('catalogIcon', $val['icon']);
            $this->set('catalogContent', null);

            return ParseTemplateReturn("catalog/catalog_table_forma.tpl");
        }
    }

    /**

     * @return string
     */
    function leftCatalTable() {

        //
        if ($this->PHPShopNav->index()) {

            //
            $hook = $this->setHook(__CLASS__, __FUNCTION__, null, 'START');
            if ($hook)
                return $hook;

            $dis = null;

            //
            $where['skin_enabled'] = "!='1' and tile='1'";

            //
            if (defined("HostID"))
                $where['servers'] = " REGEXP 'i" . HostID . "i'";
            elseif (defined("HostMain"))
                $where['skin_enabled'] .= ' and (servers ="" or servers REGEXP "i1000i")';

            $PHPShopCategoryArray = new PHPShopCategoryArray($where);
            $PHPShopCategoryArray->order = array('order' => $this->root_order);
            $categories = $PHPShopCategoryArray->getArray();

            if (is_array($categories))
                foreach ($categories as $category) {

                    $this->set('catalogId', $category['id']);
                    $this->set('catalogTitle', $category['name']);
                    $this->set('catalogName', $category['name']);
                    $this->set('catalogIcon', $category['icon']);
                    $this->set('catalogContent', null);

                    $dis .= ParseTemplateReturn("catalog/catalog_table_forma.tpl");

                    //
                    $this->setHook(__CLASS__, __FUNCTION__, $category, 'END');
                }

            return $dis;
        }
    }

    //
    function treegenerator($array) {
        $tree_select = $check = false;

        if (is_array($array['sub'])) {
            foreach ($array['sub'] as $k => $v) {

                if ($this->multimenu and $this->tree_array[$k]['vid'] != 1)
                    $check = $this->treegenerator($this->tree_array[$k]);
                else
                    $check = false;

                $this->set('catalogName', $v);
                $this->set('catalogUid', $k);
                $this->set('catalogId', $k);

                //
                if (empty($this->CategoryArray[$k]['icon']))
                    $this->CategoryArray[$k]['icon'] = $this->no_photo;
                $this->set('catalogIcon', $this->CategoryArray[$k]['icon']);

                //
                $this->setHook(__CLASS__, __FUNCTION__, $this->CategoryArray[$k]);

                if (empty($check)) {
                    $tree_select .= $this->parseTemplate($this->getValue('templates.podcatalog_forma'));
                } else {
                    $this->set('catalogPodcatalog', $check);

                    $tree_select .= $this->parseTemplate($this->getValue('templates.catalog_forma'));
                }
            }
        }
        return $tree_select;
    }

    /**



     * PHPShopShopCatalogElement::leftCatal(false,$where['id']=1);
     * @return string
     */
    function leftCatal($replace = null, $where = null) {

        $this->set('thisCat', $this->PHPShopNav->getId());


        //
        if ($this->getValue('sys.multimenu') == 'true')
            $this->multimenu = true;
        else
            $this->multimenu = false;

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, $where, 'START');
        if ($hook)
            return $hook;

        //
        $where['skin_enabled'] = "!='1' and (vid !='1' or parent_to =0)";

        //
        if (defined("HostID"))
            $where['servers'] = " REGEXP 'i" . HostID . "i'";
        elseif (defined("HostMain"))
            $where['skin_enabled'] .= ' and (servers ="" or servers REGEXP "i1000i")';


        $PHPShopCategoryArray = new PHPShopCategoryArray($where);
        $PHPShopCategoryArray->order = array('order' => $this->root_order);

        $this->CategoryArray = $PHPShopCategoryArray->getArray();
        $CategoryArrayKey = $PHPShopCategoryArray->getKey('parent_to.id', true);

        if (is_array($CategoryArrayKey))
            foreach ($CategoryArrayKey as $k => $v) {
                foreach ($v as $cat) {
                    $this->tree_array[$k]['sub'][$cat] = $this->CategoryArray[$cat]['name'];

                    //
                    if (strstr($this->CategoryArray[$cat]['dop_cat'], "#")) {

                        $dop_cat_array = explode("#", $this->CategoryArray[$cat]['dop_cat']);

                        if (is_array($dop_cat_array)) {
                            foreach ($dop_cat_array as $vc) {
                                $this->tree_array[$vc]['sub'][$cat] = $this->CategoryArray[$cat]['name'];
                            }
                        }
                    }

                    //
                    $this->setHook(__CLASS__, __FUNCTION__, $this->CategoryArray[$cat], 'MIDDLE');
                }

                $this->tree_array[$k]['name'] = $this->CategoryArray[$k]['name'];
                $this->tree_array[$k]['id'] = $k;
                $this->tree_array[$k]['icon'] = $this->CategoryArray[$k]['icon'];
                $this->tree_array[$k]['vid'] = $this->CategoryArray[$k]['vid'];
                $this->tree_array[$k]['tile'] = $this->CategoryArray[$k]['tile'];
            }


        if (is_array($this->tree_array[0]['sub'])) {

            //
            if (defined("HostID") and count($this->tree_array[0]['sub']) == 1) {
                $parent = array_keys($this->tree_array[0]['sub']);
                if (is_array($this->tree_array[$parent[0]]['sub'])) {
                    foreach ($this->tree_array[$parent[0]]['sub'] as $k => $v) {
                        $this->tree_array_host[0]['sub'][$k] = $this->CategoryArray[$k]['name'];
                    }

                    $this->tree_array[0] = $this->tree_array_host[0];
                }
            }


            foreach ($this->tree_array[0]['sub'] as $k => $v) {

                if ($this->tree_array[$k]['vid'] != 1)
                    $check = $this->treegenerator($this->tree_array[$k]);

                $this->set('catalogName', $v);
                $this->set('catalogUid', $k);
                $this->set('catalogId', $k);

                //
                if (empty($this->CategoryArray[$k]['icon']))
                    $this->CategoryArray[$k]['icon'] = $this->no_photo;
                $this->set('catalogIcon', $this->CategoryArray[$k]['icon']);

                //
                $this->setHook(__CLASS__, __FUNCTION__, $this->CategoryArray[$k], 'END');

                if (empty($check) or $this->tree_array[$k]['vid'] == 1)
                    $tree_select .= $this->parseTemplate($this->getValue('templates.catalog_forma_3'));
                else {
                    $this->set('catalogPodcatalog', $check);
                    $tree_select .= $this->parseTemplate($this->getValue('templates.catalog_forma'));
                }
            }
        }

        //
        if (is_array($replace)) {
            foreach ($replace as $key => $val)
                $tree_select = str_replace($key, $val, $tree_select);
        }

        return $tree_select;
    }

    /**


     * @return bool
     */
    function chek($n) {
        if (!is_array($this->tree_array[$n]['sub']))
            return true;
    }

    /**

     * @return string
     */
    function topcatMenu() {
        $dis = null;

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, null, 'START');
        if ($hook)
            return $hook;

        $where['skin_enabled'] = "!='1'";
        $where['menu'] = "='1'";

        //
        if (defined("HostID"))
            $where['servers'] = " REGEXP 'i" . HostID . "i'";
        elseif (defined("HostMain"))
            $where['skin_enabled'] .= ' and (servers ="" or servers REGEXP "i1000i")';

        $PHPShopOrm = new PHPShopOrm($this->objBase);
        $PHPShopOrm->debug = false;
        $data = $PHPShopOrm->select(array('id', 'name'), $where, array('order' => 'num,name'), array("limit" => 20));
        if (is_array($data))
            foreach ($data as $row) {

                //
                $this->setHook(__CLASS__, __FUNCTION__, $row, 'MIDDLE');

                //
                if (PHPShopParser::checkFile($this->getValue('templates.catalog_top_menu'))) {

                    $this->set('catalogName', $row['name']);
                    $this->set('catalogUid', $row['id']);
                    $this->set('catalogIcon', $row['icon']);

                    $dis .= $this->parseTemplate($this->getValue('templates.catalog_top_menu'));
                }
                //
                else {

                    //
                    $this->set('topMenuName', $row['name']);
                    $this->set('topMenuLink', $row['id']);

                    $dis .= str_replace('page/', 'shop/CID_', $this->parseTemplate($this->getValue('templates.top_menu')));
                }
            }

        return $dis;
    }

}

/**

 * @author PHPShop Software
 * @version 1.0
 * @package PHPShopElements
 */
class PHPShopCartElement extends PHPShopElements {

    /**


     */
    function __construct($order = false) {

        PHPShopObj::loadClass('cart');
        $this->PHPShopCart = new PHPShopCart();
        $this->order = $order;

        parent::__construct();
    }

    /**

     */
    function miniCart() {

        //
        if ($this->PHPShopNav->notPath(array('order', 'done')) or ! empty($this->order)) {

            if (!empty($_SESSION['compare']))
                $compare = $_SESSION['compare'];
            else
                $compare = array();
            $numcompare = 0;

            //
            if ($this->PHPShopCart->getNum() > 0) {
                $this->set('orderEnabled', 'block');

                //
                $this->setValue("cache.last_modified", false);
            } else
                $this->set('orderEnabled', 'none');

            //
            if (count($compare) > 0) {
                if (is_array($compare)) {
                    foreach ($compare as $j => $v) {
                        $numcompare = count($compare);
                    }
                }
                $this->set('compareEnabled', 'block');
            } else {
                $numcompare = "0";
                $this->set('compareEnabled', 'none');
            }

            //
            $this->set('tovarNow', $this->getValue('lang.cart_tovar_now'));
            $this->set('summaNow', $this->getValue('cart_summa_now'));
            $this->set('orderNow', $this->getValue('cart_order_now'));

            //
            $this->set('numcompare', $numcompare);

            //
            $this->set('num', $this->PHPShopCart->getNum());

            //
            $this->set('sum', $this->PHPShopCart->getSum(true, ' '));
        } else {
            $this->set('productValutaName', $this->PHPShopSystem->getDefaultValutaCode(false));
            //
            $this->set('num', 0);
            //
            $this->set('sum', 0);
        }

        //
        $this->setHook(__CLASS__, __FUNCTION__);
    }

}

/**

 * @author PHPShop Software
 * @version 1.0
 * @package PHPShopElements
 */
class PHPShopCurrencyElement extends PHPShopElements {

    /**

     */
    function __construct() {
        global $PHPShopValutaArray;
        parent::__construct();
        $this->PHPShopValuta = $PHPShopValutaArray->getArray();
        $this->setAction(array('post' => 'valuta'));
    }

    /**

     */
    function valuta() {
        $currency = intval($_POST['valuta']);
        if (!empty($this->PHPShopValuta[$currency])) {
            $_SESSION['valuta'] = $currency;
            header("Location: " . $_SERVER['REQUEST_URI']);
        }
    }

    /**

     * @return string
     */
    function valutaDisp() {

        if ($this->PHPShopNav->notPath('order')) {

            if (isset($_SESSION['valuta']))
                $valuta = $_SESSION['valuta'];
            else
                $valuta = $this->PHPShopSystem->getParam('dengi');

            if (is_array($this->PHPShopValuta))
                foreach ($this->PHPShopValuta as $v) {
                    if ($valuta == $v['id'])
                        $sel = "selected";
                    else
                        $sel = false;
                    $value[] = array($v['name'], $v['id'], $sel);
                }

            //
            $this->set('leftMenuName', '');
            $select = PHPShopText::select('valuta', $value, 100, "none", false, "ChangeValuta()");
            $this->set('leftMenuContent', PHPShopText::form($select, 'ValutaForm'));

            //
            $this->setHook(__CLASS__, __FUNCTION__, $this->PHPShopValuta);

            //
            $dis = $this->parseTemplate($this->getValue('templates.valuta_forma'));
            return $dis;
        }
    }

}

/**

 * @author PHPShop Software
 * @version 1.3
 * @package PHPShopElements
 */
class PHPShopCloudElement extends PHPShopElements {

    var $debug = false;

    /**

     * @var int
     */
    var $page_limit = 100;

    /**

     * @var int
     */
    var $word_limit = 20;

    /**

     * @var string
     */
    var $color = "0x518EAD";

    /**

     */
    function __construct() {
        $this->objBase = $GLOBALS['SysValue']['base']['products'];
        parent::__construct();
    }

    /**


     * @return string
     */
    function index($row = null) {
        $disp = $dis = $CloudCount = $ArrayWords = $CloudCountLimit = null;
        $ArrayLinks = array();

        //
        $hook = $this->setHook(__CLASS__, __FUNCTION__, $row, 'START');
        if ($hook)
            return $hook;

        if ($this->PHPShopSystem->ifSerilizeParam('admoption.cloud_enabled')) {
            switch ($GLOBALS['SysValue']['nav']['nav']) {

                case(""):
                    $tip = "search";
                    $str = array('enabled' => "='1'", 'keywords' => " !=''");
                    break;

                case("CID"):
                    $tip = "words";
                    if (empty($row))
                        return false;
                    else
                        $data = $row;
                    break;

                case("UID"):
                    $tip = "words";
                    if (empty($row))
                        return false;
                    else
                        $data[] = $row;
                    break;

                default:
                    $tip = "search";
                    $str = array('enabled' => "='1'", 'keywords' => " !=''");
                    break;
            }

            if (empty($row))
                $data = $this->PHPShopOrm->select(array('keywords', 'id'), $str, false, array("limit" => $this->page_limit), __CLASS__, __FUNCTION__);

            if (is_array($data))
                foreach ($data as $row) {
                    $explode = explode(", ", $row['keywords']);
                    foreach ($explode as $ev)
                        if (!empty($ev)) {
                            $ArrayWords[] = $ev;
                            $ArrayLinks[$ev] = $row['id'];
                        }
                }
            if (is_array($ArrayWords))
                foreach ($ArrayWords as $k => $v) {
                    $count = array_keys($ArrayWords, $v);
                    $CloudCount[$v]['size'] = count($count);
                }

            //
            $i = 0;
            if (is_array($CloudCount))
                foreach ($CloudCount as $k => $v) {
                    if ($i < $this->word_limit)
                        $CloudCountLimit[$k] = $v;
                    $i++;
                }


            //
            $tip = "words";

            if (is_array($CloudCountLimit))
                foreach ($CloudCountLimit as $key => $val) {

                    //
                    $key = str_replace('"', '', $key);
                    $key = str_replace("'", '', $key);
                    if ($tip == "words")
                        $disp .= '<div><a href="/search/?words=' . urlencode($key) . '">' . $key . '</a></div>';
                    else
                        $disp .= "<a href='/search/?words=" . urlencode($key) . "' style='font-size:12pt;'>$key</a>";
                }

            //
            $disp = str_replace('\n', '', $disp);

            if ($tip == "search" and ! empty($disp))
                $disp = '

var dd=new Date();
var spath = "' . $this->get('dir.dir') . 'phpshop/lib/templates";
var so = new SWFObject(spath+"/tagcloud/tagcloud.swf?rnd="+dd.getTime(), "tagcloudflash", "180", "180", "9", "' . $this->color . '");
so.addParam("wmode", "transparent");
so.addParam("allowScriptAccess", "always");
so.addVariable("tcolor", "' . $this->color . '");
so.addVariable("tspeed", "150");
so.addVariable("distr", "true");
so.addVariable("mode", "tags");
so.addVariable("tagcloud", "<tags>' . $disp . '</tags>");
so.write("wpcumuluscontent");</script>
';

            //
            $disp = str_replace('\n', '', $disp);
            $disp = str_replace(chr(13), '', $disp);
            $disp = str_replace(chr(10), '', $disp);

            //
            if (!empty($disp)) {
                $this->set('leftMenuName', __(""));
                $this->set('leftMenuContent', '<div class="product-tags">' . $disp . '</div>');

                //
                $this->setHook(__CLASS__, __FUNCTION__, $disp, 'END');

                //
                $dis .= $this->parseTemplate($this->getValue('templates.left_menu'));
            }
            return $dis;
        }
    }

}

?>
PHPShop 6.X API documentation generated by ApiGen