ShopCMS - 1 часть

Статус
В этой теме нельзя размещать новые ответы.
Подниму опять тему характеристик. Подскажите рецепт чтобы вообще скрыть все характеристики (и названия и значения) и в коротком и в полном описаниях.

В
product_brief.tpl.html
product_detailed.tpl.html

ищи
Код:
product_info.product_extra
, старый вариант сокрытия для новой версии не подходит.
 
Вопрос уже неоднократно проскальзывал в теме, но четкого ответа так и не нашел.
При установке на платный хостинг, в корневую директорию сайта возникает ошибка на первом шаге: "перенаправление ссылок - ERROR или .htaccess не сконфигурирован правильно".
Пробовал и заливать файлы скрипта в ручную и через инсталлятор - результат одинаковый.
Что можно попробовать сделать в таком случае.
 
Вопрос уже неоднократно проскальзывал в теме, но четкого ответа так и не нашел.
При установке на платный хостинг, в корневую директорию сайта возникает ошибка на первом шаге: "перенаправление ссылок - ERROR или .htaccess не сконфигурирован правильно".
Пробовал и заливать файлы скрипта в ручную и через инсталлятор - результат одинаковый.
Что можно попробовать сделать в таком случае.
Включить на хосте mod_rewrite
 
Вопрос уже неоднократно проскальзывал в теме, но четкого ответа так и не нашел.
При установке на платный хостинг, в корневую директорию сайта возникает ошибка на первом шаге: "перенаправление ссылок - ERROR или .htaccess не сконфигурирован правильно".
Пробовал и заливать файлы скрипта в ручную и через инсталлятор - результат одинаковый.
Что можно попробовать сделать в таком случае.

На некоторых хостингах .htaccess в таком представлении в котором он идёт с ShopCMS не принимается, к примеру на Infobox. Можно попробовать либо совсем всё удалить из .htaccess либо только вот эти строки

php_value session.use_trans_sid 0
php_value session.use_cookies 1
php_value session.use_only_cookies 1
php_value session.auto_start 0
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value display_errors 0
php_value magic_quotes_runtime 0
php_value allow_url_fopen 1
 
выводит белый экран, заливаю в бинарном режиме версия 3.1

Версия 3.1.2. Возможно при копировании вы не убрали пробел перед начальным <?php. Все должно заработать.

Но вы зря думаете что я показал 100% рабочий файл. Попробуй зайти на страницу регистрации нового пользователя или на любуй статичную страницу.
Я лишь выложил сырой результат моего дезендера. Часть функций перепутана и требует небольшой корректировки.
 
index.php - страница регистрации нового пользователя

Версия 3.1.2. Возможно при копировании вы не убрали пробел перед начальным <?php.
Но вы зря думаете что я показал 100% рабочий файл. Попробуй зайти на страницу регистрации нового пользователя
Есть решение проблемы, если что не так - просьба исправить:
строка 160 в файле index.php который Для просмотра ссылки Войди или Зарегистрируйся Evgeniy Artemyev
PHP:
$register = isset($_POST['register'], $_GET['register']) ? $_POST['register'] : $_GET['register'];
строка 181 в файле index.php - ссылка на Контактную информацию из Личного аккаунта покупателя
PHP:
$contact_info = isset($_POST['contact_info'], $_GET['contact_info']) ? $_POST['contact_info'] : $_GET['contact_info'];
Просьба ко всем: делитесь найдеными багами и исправлениями )))
 
Парочка модов и дизайн

Делал тут для себя под заказ пару модов: сео и заказ товара, которого нет на складе.
сео - назначает тайтлы, мета описание и ключевики на: каждую категории магазина (с выводом их для каждого товара), на статические страницы.
заказ товара - если нет товара на складе, то корзина работает и появляется линк "Ожидать".
Ну и плюс покупал как то дизайн для мага, сейчас уже не нужен.
Все это продаю, пишите - договоримся.
597-552-547 или в личку.
 
Есть решение проблемы

А по моему конструкция вида if(isset($_POST['DATA'], $_GET['DATA'])) ? $_POST['DATA'] : $_GET['DATA']; сама по себе не правильна, по скольку эти два условия $_POST и $_GET никогда не выполнятся одновременно, следовательно всегда будет $_GET.

Я бы сделал так:
PHP:
if(isset($_POST["register"]) || isset($_GET["register"])){
 $register = isset($_POST["register"]) ? $_POST["register"] : $_GET["register"];
}

Что в принципе и показал паблик дезендер v.4
PHP:
if(isset($_GET['register']) || isset($_POST['register'])){
 $register = isset($_GET['register']) ? $_GET['register'] : $_POST['register'];
}


---------- Сообщение добавлено в 17:50 ----------
---------- ShopCMS 3.1.2 / index.php pre-final dezend by Evgeniy Artemyev ----------

Допустим все это привело к такому виду.

PHP:
<?php
#####################################
# ShopCMS: Скрипт интернет-магазина
# Copyright (c) by ADGroup
# http://shopcms.ru
#####################################

function gmts(){
 list($usec, $sec) = explode(" ", microtime());
 return ((float)$usec + (float)$sec);
}
function set_cookie($name_cookie, $value_cookie = "", $expires_cookie = "", $secure_cookie = false, $path_cookie = "", $domain_cookie = "", $httponly_cookie = false){
 header("Set-Cookie: ".rawurlencode($name_cookie)."=".rawurlencode($value_cookie)
                                                     .(empty($expires_cookie) ? "" : "; expires=".gmdate("D, d-M-Y H:i:s", $expires_cookie)." \\G\\M\\T")
                                                     .(empty($path_cookie) ? "" : "; path=".$path_cookie)
                                                     .(empty($domain_cookie) ? "" : "; domain=".$domain_cookie)
                                                     .(!$secure_cookie ? "" : "; secure")
                                                     .(!$httponly_cookie ? "" : "; HttpOnly"), false);
}

define('SECURITY_STOP_MSG', 'License not found!');
define('SECURITY_NOLIC_MSG', 'Invalid license!');
define('ERROR_DB_INIT', 'Database connection problem!');
$sc_1 = gmts();
$sc_4 = 0;
$sc_8 = 0;
$gmc = 1;

if(file_exists("core/config/license.txt")){
 if(!in_array(md5(strtr($_SERVER['HTTP_HOST'], array("www." => ""))."sNLYnT"), explode("dlv1b", trim(file_get_contents("core/config/license.txt"))))){
  exit(SECURITY_NOLIC_MSG);
 }
}else{
 exit(SECURITY_STOP_MSG);
}

include("core/config/init.php");
include("core/includes/database/mysql.php");

$far_1 = array("core/config/connect.inc.php"
              ,"core/config/language_list.php"
              ,"core/classes/class.ajax.php"
              ,"core/classes/class.kcaptcha.php"
              ,"core/classes/class.virtual.paymentmodule.php"
              ,"core/classes/class.virtual.shippingratecalculator.php"
              ,"core/classes/class.xml2array.php");

$far_2 = glob("core/functions/*.php");
$far = array_merge($far_1,$far_2);

$cfar = count($far);
if(file_exists("core/cache/fcache.php")){
 include("core/cache/fcache.php");
}else{
 for($n=0; $n<$cfar; $n++){
  include($far[$n]);
 }
}
define('PATH_DELIMITER', isWindows() ? ';' : ':');

$_POST = xStripSlashesGPC($_POST);
$_GET = xStripSlashesGPC($_GET);
$_COOKIE = xStripSlashesGPC($_COOKIE);

if(!db_connect(DB_HOST, DB_USER, DB_PASS)){
 exit(ERROR_DB_INIT);
}
if(!db_select_db(DB_NAME)){
 exit(db_error());
}

settingDefineConstants();

include("core/config/headers.php");
include("core/config/error_handler.php");
define('SECURITY_EXPIRE', 3600 * CONF_SECURITY_EXPIRE);
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
session_start();
if(isset($_COOKIE['PHPSESSID'])){
 if(0 < SECURITY_EXPIRE){
  set_cookie("PHPSESSID", $_COOKIE['PHPSESSID'], time() + SECURITY_EXPIRE);
 }else{
  set_cookie("PHPSESSID", $_COOKIE['PHPSESSID']);
 }
}

//select a new language?
if(isset($_POST['lang'])){
 $_SESSION['current_language'] = $_POST['lang'];
}

//current language session variable
if(!isset($_SESSION['current_language']) || $_SESSION['current_language'] < 0 || count($lang_list) < $_SESSION['current_language']){
 $_SESSION['current_language'] = 0; //set default language
}

//include a language file
if(isset($lang_list[$_SESSION['current_language']]) && file_exists("core/languages/".$lang_list[$_SESSION['current_language']]->filename)){
 //include current language file
 include("core/languages/".$lang_list[$_SESSION['current_language']]->filename);
}else{
 exit("<font color=red><b>ERROR: Couldn't find language file!</b></font>");
}

if(isset($_GET['do'])){
 if(in_array($_GET['do'], array("captcha", "cart", "rss", "compare", "yandex", "invoice_jur", "invoice_phys", "stat", "get_file"))){
  include("core/includes/processor/".$_GET['do'].".php");
 }else{
  header("HTTP/1.0 404 Not Found");
  header("HTTP/1.1 404 Not Found");
  header("Status: 404 Not Found");
  exit(ERROR_404_HTML);
 }
}else{
 //init Smarty
 require("core/smarty/smarty.class.php");
 $smarty = new Smarty; //core smarty object
 $smarty_mail = new Smarty; //for e-mails

 if((integer)CONF_SMARTY_FORCE_COMPILE){ //this forces Smarty to recompile design each time someone runs index.php
  $smarty->force_compile = true;
  $smarty_mail->force_compile = true;
 }

 $relaccess = checklogin();

 //# of selected currency
 $current_currency = isset($_SESSION['current_currency']) ? $_SESSION['current_currency'] : CONF_DEFAULT_CURRENCY;
 $smarty->assign("current_currency", $current_currency);
 $q = db_query("select code, currency_value, where2show, currency_iso_3, Name, roundval from ".CURRENCY_TYPES_TABLE." where CID=".(integer)$current_currency);
 if($row = db_fetch_row($q)){
  $smarty->assign("currency_name", $row[0]);
  $selected_currency_details = $row; //for show_price() function
 }else{ //no currency found. In this case check is there any currency type in the database
  $q = db_query("select code, currency_value, where2show, roundval from ".CURRENCY_TYPES_TABLE);
  if($row = db_fetch_row($q)){
   $smarty->assign("currency_name", $row[0]);
   $selected_currency_details = $row; //for show_price() function
  }
 }
 
 $smarty->assign("currency_roundval", $selected_currency_details["roundval"]);

 //set $categoryID
 if(isset($_GET['categoryID']) || isset($_POST['categoryID'])){
  $categoryID = isset($_GET['categoryID']) ? $_GET['categoryID'] : $_POST['categoryID'];
  $categoryID = (integer)$categoryID;
 }
 // else $categoryID = 1;
 // set $productID
 if(isset($_GET['productID']) || isset($_POST['productID'])){
  $productID = isset($_GET['productID']) ? $_GET['productID'] : $_POST['productID'];
  $productID = (integer)$productID;
 }

 //and different vars...
 if(isset($_GET['register']) || isset($_POST['register'])){
  $register = isset($_GET['register']) ? $_GET['register'] : $_POST['register'];
 }
 if(isset($_GET['update_details']) || isset($_POST['update_details'])){
  $update_details = isset($_GET['update_details']) ? $_GET['update_details'] : $_POST['update_details'];
 }
 if(isset($_GET['order']) || isset($_POST['order'])){
  $order = isset($_GET['order']) ? $_GET['order'] : $_POST['order'];
 }
 if(isset($_GET['order_without_billing_address']) || isset($_POST['order_without_billing_address'])){
  $order_without_billing_address = isset($_GET['order_without_billing_address']) ? $_GET['order_without_billing_address'] : $_POST['order_without_billing_address'];
 }
 if(isset($_GET['check_order']) || isset($_POST['check_order'])){
  $check_order = isset($_GET['check_order']) ? $_GET['check_order'] : $_POST['check_order'];
 }
 if(isset($_GET['proceed_ordering']) || isset($_POST['proceed_ordering'])){
  $proceed_ordering = isset($_GET['proceed_ordering']) ? $_GET['proceed_ordering'] : $_POST['proceed_ordering'];
 }
 if(isset($_GET['update_customer_info']) || isset($_POST['update_customer_info'])){
  $update_customer_info = isset($_GET['update_customer_info']) ? $_GET['update_customer_info'] : $_POST['update_customer_info'];
 }
 if(isset($_GET['show_aux_page']) || isset($_POST['show_aux_page'])){
  $show_aux_page = isset($_GET['show_aux_page']) ? $_GET['show_aux_page'] : $_POST['show_aux_page'];
 }
 if(isset($_GET['visit_history']) || isset($_POST['visit_history'])){
  $visit_history = 1;
 }
 if(isset($_GET['order_history']) || isset($_POST['order_history'])){
  $order_history = 1;
 }
 if(isset($_GET['address_book']) || isset($_POST['address_book'])){
  $address_book = 1;
 }
 if(isset($_GET['address_editor']) || isset($_POST['address_editor'])){
  $address_editor = isset( $_GET['address_editor'] ) ? $_GET['address_editor'] : $_POST['address_editor'];
 }
 if(isset($_GET['add_new_address']) || isset($_POST['add_new_address'])){
  $add_new_address = isset( $_GET['add_new_address'] ) ? $_GET['add_new_address'] : $_POST['add_new_address'];
 }
 if(isset($_GET['contact_info']) || isset($_POST['contact_info'])){
  $contact_info = isset($_GET['contact_info']) ? $_GET['contact_info'] : $_POST['contact_info'];
 }
 if(isset($_GET['comparison_products']) || isset($_POST['comparison_products'])){
  $comparison_products = 1;
 }
 if(isset($_GET['register_authorization']) || isset($_POST['register_authorization'])){
  $register_authorization = 1;
 }
 if(isset($_GET['page_not_found']) || isset($_POST['page_not_found'])){
  $page_not_found = 1;
 }
 if(isset($_GET['news']) || isset($_POST['news'])){
  $news = 1;
 }
 if(isset($_GET['quick_register'])){
  $quick_register = 1;
 }
 if(isset($_GET['order2_shipping_quick'])){
  $order2_shipping_quick = 1;
 }
 if(isset($_GET['order3_billing_quick'])){
  $order3_billing_quick = 1;
 }
 if(isset($_GET['order2_shipping']) || isset($_POST['order2_shipping'])){
  $order2_shipping = 1;
 }
 if(isset($_GET['order3_billing']) || isset($_POST['order3_billing'])){
  $order3_billing = 1;
 }
 if(isset($_GET['change_address']) || isset($_POST['change_address'])){
  $change_address = 1;
 }
 if(isset($_GET['order4_confirmation']) || isset($_POST['order4_confirmation'])){
  $order4_confirmation = 1;
 }
 if(isset($_GET['order4_confirmation_quick']) || isset($_POST['order4_confirmation_quick'])){
  $order4_confirmation_quick = 1;
 }
 if(isset($_GET['order_detailed']) || isset($_POST['order_detailed'])){
  $order_detailed = isset($_GET['order_detailed']) ? $_GET['order_detailed'] : $_POST['order_detailed'];
 }
 if(isset($_GET['p_order_detailed']) || isset($_POST['p_order_detailed'])){
  $p_order_detailed = isset($_GET['p_order_detailed']) ? $_GET['p_order_detailed'] : $_POST['p_order_detailed'];
 }

 if(!isset($_SESSION['vote_completed'])){
  $_SESSION['vote_completed'] = array();
 }

 //checking for proper $offset init
 $offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
 if($offset < 0 || $offset % CONF_PRODUCTS_PER_PAGE){
  $offset = 0;
 }

 if(isset($productID)){ //to rollout categories navigation table
  $q = db_query("select categoryID FROM ".PRODUCTS_TABLE." WHERE productID=".(integer)$productID);
  $r = db_fetch_row($q);
  if($r){
   $categoryID = $r[0];
  }
 }

 if(isset($_POST['change_design'])){
  $_SESSION['CUSTOM_DESIGN'] = $_POST['change_design'];
 }

 if(isset($_SESSION['CUSTOM_DESIGN'])){
  $smarty->template_dir = "core/tpl/user/".$_SESSION['CUSTOM_DESIGN'];
  define('TPL', $_SESSION['CUSTOM_DESIGN']);
 }else{
  $smarty->template_dir = "core/tpl/user/".CONF_DEFAULT_TEMPLATE;
  define('TPL', CONF_DEFAULT_TEMPLATE);
 }

 $smarty_mail->template_dir = "core/tpl/email";

 //fetch currency types from database
 $q = db_query("select CID, Name, code, currency_value, where2show, roundval, currency_iso_3 from ".CURRENCY_TYPES_TABLE." order by sort_order");
 $currencies = array();
 while($row = db_fetch_row($q)){
  $currencies[] = $row;
 }

 $smarty->assign("currencies", $currencies);
 $smarty->assign("currencies_count", count($currencies));

 $smarty->assign("lang_list", $lang_list);

 if(isset($_SESSION['current_language'])){
  $smarty->assign("current_language", $_SESSION['current_language']);
 }
 if(isset($_SESSION['log'])){
  $smarty->assign("log", $_SESSION['log']);
 }
 // - following vars are used as hidden in the customer survey form
 if(isset($categoryID)){
  $smarty->assign("categoryID", $categoryID);
 }
 if(isset($productID)){
  $smarty->assign("productID", $productID);
 }
 if(isset($_GET['currency'])){
  $smarty->assign("currency", $_GET['currency']);
 }
 if(isset($_GET['user_details'])){
  $smarty->assign("user_details", $_GET['user_details']);
 }
 if(isset($_GET['aux_page'])){
  $smarty->assign("aux_page", $_GET['aux_page']);
 }
 if(isset($_GET['show_price'])){
  $smarty->assign("show_price", $_GET['show_price']);
 }
 if(isset($_GET['searchstring'])){
  $smarty->hassign("searchstring", $_GET['searchstring']);
 }
 if(isset($register)){
  $smarty->assign("register", $register);
 }
 if(isset($order)){
  $smarty->assign("order", $order);
 }
 if(isset($check_order)){
  $smarty->assign("check_order", $check_order);
 }
 //set defualt main_content template to homepage
 $smarty->assign("main_content_template", "home.tpl.html");

 //catalog

 $q = db_query("select categoryID, name, products_count, products_count_admin, parent, picture, subcount FROM ".CATEGORIES_TABLE." ORDER BY sort_order, name");
 $fc = array(); //parents
 $mc = array(); //parents
 while($row = db_fetch_row($q)){
  $fc[(integer)$row["categoryID"]] = $row;
  $mc[(integer)$row["categoryID"]] = (integer)$row["parent"];
 }

 $cats = catGetCategoryCListMin();

 //include all .php files from core/includes/ dir or from cache
 if((integer)CONF_SMARTY_FORCE_COMPILE){
  if(file_exists("core/cache/incache.php")){
   unlink("core/cache/incache.php");
  }
  if(file_exists("core/cache/fcache.php")){
   unlink("core/cache/fcache.php");
  }
  $fls = glob("core/includes/*.php");
  $cfls = count($fls);
  for($zc=0; $zc<$cfls; $zc++){
   include($fls[$zc]);
  }
 }elseif(file_exists("core/cache/incache.php")){
  include("core/cache/incache.php");
 }else{
  ob_start();
  for($n=0; $n<$cfar; $n++){
   readfile($far[$n]);
  }
  $_res = ob_get_contents();
  ob_end_clean();
  $fh = fopen("core/cache/fcache.php", 'w');
  fwrite($fh, $_res);
  fclose($fh);
  unset($_res);

  $fls = glob("core/includes/*.php");
  $cfls = count($fls);
  ob_start();
  for($i=0; $i<$cfls; $i++){
   readfile($fls[$i]);
  }
  $_res = ob_get_contents();
  ob_end_clean();
  $fh = fopen("core/cache/incache.php", 'w');
  fwrite($fh, $_res);
  fclose($fh);
  unset($_res);
  include("core/cache/incache.php");
 }

 //show admin a administrative mode link
 if(isset($_SESSION['log']) && in_array(100, $relaccess)){
  $smarty->assign("isadmin", "yes");
  $adminislog = true;
 }else{
  $adminislog = false;
 }

 $exploerrors = "";

 if(file_exists("install.php")){
  $exploerrors.= WARNING_DELETE_INSTALL_PHP;
 }

 if(!is_writable("core/cache")){
  exit(WARNING_WRONG_CHMOD);
 }

 $RGLBLS = @ini_get('register_globals');
 if(strtolower($RGLBLS)=="on" || (integer)$RGLBLS==1){
  exit(WARNING_REGISTER_GLOBALS);
 }

 $smarty->assign("exploerrors", $exploerrors);

 $tmpb = array();
 foreach($leftb as $keylb => $vallb){
  do{
   if($vallb["which"] == 1){
    if(!in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) && !in_array($aux_page["aux_page_ID"], $vallb["dpages"]) && !in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = false;
    }
   }elseif($vallb["which"] == 2){
    if(in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) || in_array($aux_page["aux_page_ID"], $vallb["dpages"]) || in_array($categoryID, $vallb["categories"]) || in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = true;
    }
   }
  }while(0);
  do{
   if($vallb["admin"] == 1 && !$adminislog){
    $vallb["state"] = false;
   }
  }while(0);
  if($vallb["state"] == true && $vallb["url"] == "filter.tpl.html"){
  do{
    if($smarty->get_template_vars("main_content_template") == true){
     if($smarty->get_template_vars("categories_to_select")){
      $vallb["state"] = false;
     }
	 do{
      if(!$categoryID){
       $vallb["state"] = false;
      }
	 }while(0);
     if(!$smarty->get_template_vars("allow_products_search"))
	  $vallb["state"] = false;
    }else{
     $vallb["state"] = false;
    }
   }while(0);
  }
  if($vallb["state"] == true){
   $tmpb[] = $vallb;
  }
 }
 $smarty->assign("left_blocks",$tmpb);
 $smarty->assign("countlb",count($tmpb));

 $tmpb = array();
 foreach($rightb as $keylb => $vallb){
  do{
   if($vallb["which"] == 1){
    if(!in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) && !in_array($aux_page["aux_page_ID"], $vallb["dpages"]) && !in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = false;
    }
   }elseif($vallb["which"] == 2){
    if(in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) || in_array($aux_page["aux_page_ID"], $vallb["dpages"]) || in_array($categoryID, $vallb["categories"]) || in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = true;
    }
   }
  }while(0);
  do{
   if($vallb["admin"] == 1 && !$adminislog){
    $vallb["state"] = false;
   }
  }while(0);
  if($vallb["state"] == true && $vallb["url"] == "filter.tpl.html"){
  do{
    if($smarty->get_template_vars("main_content_template") == true){
     if($smarty->get_template_vars("categories_to_select")){
      $vallb["state"] = false;
     }
	 do{
      if(!$categoryID){
       $vallb["state"] = false;
      }
	 }while(0);
     if(!$smarty->get_template_vars("allow_products_search"))
	  $vallb["state"] = false;
    }else{
     $vallb["state"] = false;
    }
   }while(0);
  }
  if($vallb["state"] == true){
   $tmpb[] = $vallb;
  }
 }
 $smarty->assign("right_blocks",$tmpb);
 $smarty->assign("countrb",count($tmpb));

 $tmpb = array();
 foreach($topb as $keylb => $vallb){
  do{
   if($vallb["which"] == 1){
    if(!in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) && !in_array($aux_page["aux_page_ID"], $vallb["dpages"]) && !in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = false;
    }
   }elseif($vallb["which"] == 2){
    if(in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) || in_array($aux_page["aux_page_ID"], $vallb["dpages"]) || in_array($categoryID, $vallb["categories"]) || in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = true;
    }
   }
  }while(0);
  do{
   if($vallb["admin"] == 1 && !$adminislog){
    $vallb["state"] = false;
   }
  }while(0);
  if($vallb["state"] == true && $vallb["url"] == "filter.tpl.html"){
  do{
    if($smarty->get_template_vars("main_content_template") == true){
     if($smarty->get_template_vars("categories_to_select")){
      $vallb["state"] = false;
     }
	 do{
      if(!$categoryID){
       $vallb["state"] = false;
      }
	 }while(0);
     if(!$smarty->get_template_vars("allow_products_search"))
	  $vallb["state"] = false;
    }else{
     $vallb["state"] = false;
    }
   }while(0);
  }
  if($vallb["state"] == true){
   $tmpb[] = $vallb;
  }
 }
 $smarty->assign("top_blocks",$tmpb);
 $smarty->assign("counttb",count($tmpb));

 $tmpb = array();
 foreach($bottomb as $keylb => $vallb){
  do{
   if($vallb["which"] == 1){
    if(!in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) && !in_array($aux_page["aux_page_ID"], $vallb["dpages"]) && !in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = false;
    }
   }elseif($vallb["which"] == 2){
    if(in_array($smarty->get_template_vars("main_content_template"), $vallb["pages"]) || in_array($aux_page["aux_page_ID"], $vallb["dpages"]) || in_array($categoryID, $vallb["categories"]) || in_array($productID, $vallb["products"])){
     $vallb["state"] = false;
    }
    if(in_array($categoryID, $vallb["categories"]) && !in_array($productID, $vallb["products"]) && $smarty->get_template_vars("main_content_template") == "product_detailed.tpl.html"){
     $vallb["state"] = true;
    }
   }
  }while(0);
  do{
   if($vallb["admin"] == 1 && !$adminislog){
    $vallb["state"] = false;
   }
  }while(0);
  if($vallb["state"] == true && $vallb["url"] == "filter.tpl.html"){
  do{
    if($smarty->get_template_vars("main_content_template") == true){
     if($smarty->get_template_vars("categories_to_select")){
      $vallb["state"] = false;
     }
	 do{
      if(!$categoryID){
       $vallb["state"] = false;
      }
	 }while(0);
     if(!$smarty->get_template_vars("allow_products_search"))
	  $vallb["state"] = false;
    }else{
     $vallb["state"] = false;
    }
   }while(0);
  }
  if($vallb["state"] == true){
   $tmpb[] = $vallb;
  }
 }
 $smarty->assign("bottom_blocks",$tmpb);
 $smarty->assign("countbb",count($tmpb));

 $sc_2 = getmicrotime();
 $sr_1 = $sc_2 - $sc_1 - $sc_8;

 //show Smarty output
 $smarty->display("index.tpl.html");

 if($adminislog && CONF_DISPLAY_INFO == 1){
  $sr3  = getmicrotime();
  $sr_2 = $sr3 - $sc_2;
  $sr_3 = $sr3 - $sc_1;
  $sr_1 = number_format(round($sr_1, 3), 3, '.', '');
  $sr_2 = number_format(round($sr_2, 3), 3, '.', '');
  $sr_3 = number_format(round($sr_3, 3), 3, '.', '');
  $sc_8 = number_format(round($sc_8, 3), 3, '.', '');

  $_SESSION["tgenexe"]     = $sr_1;
  $_SESSION["tgencompile"] = $sr_2;
  $_SESSION["tgendb"]      = $sc_8;
  $_SESSION["tgenall"]     = $sr_3;
  $_SESSION["tgensql"]     = $sc_4;
 }
}
if(!isset($_GET['do'])){
 echo "<!-- NULLED by Evgeniy Artemyev -->";
}
?>

P.S. осталось только раскидать break в циклах.
 
admin.php

А по моему конструкция вида if(isset($_POST['DATA'], $_GET['DATA'])) ? $_POST['DATA'] : $_GET['DATA']; сама по себе не правильна, по скольку эти два условия $_POST и $_GET никогда не выполнятся одновременно, следовательно всегда будет $_GET.
Я бы сделал так:
PHP:
if(isset($_POST["register"]) || isset($_GET["register"])){
 $register = isset($_POST["register"]) ? $_POST["register"] : $_GET["register"];
}
Что в принципе и показал паблик дезендер v.4
PHP:
if(isset($_GET['register']) || isset($_POST['register'])){
 $register = isset($_GET['register']) ? $_GET['register'] : $_POST['register'];
}
Спасибо. Я в принципе "исправил" только те строки где, методом перебора ссылок на форме, заметил баги. А скажите пожалуйста, а как с добавлением товара из админки? Код из дезендера вызывает сомнения (выделено:(
PHP:
$fc = array( );
$mc = array( );
while ( $row = db_fetch_row( $q ) )
{
    $fc[( integer )$row['categoryID']] = $row;
    $mc[( integer )$row['categoryID']] = ( integer )$row['parent'];
}
if ( array( ) ) <----------------- ошибка тут
{
    if ( $_GET['productID'] != 0 )
    {
        $stepmb = $_GET['productID'];
        $q = db_query( "select categoryID from ".PRODUCTS_TABLE." where productID=".( integer )$stepmb );
        $r = db_fetch_row( $q );
        $categoryID = $r['categoryID'];
    }
    else if ( isset( $_GET['categoryID'] ) )
    {
        $categoryID = $_GET['categoryID'];
    }
    else
    {
        $categoryID = 1;
    }
    redirect( ADMIN_FILE."?dpt=catalog&sub=products_categories&categoryID=".$categoryID."&expandCat=".$categoryID );
}
Есть у вас какие-нибудь мысли по этому поводу?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху