ViArt PHP Shoping cart

Статус
В этой теме нельзя размещать новые ответы.
подскажите, пожалуйста, есть ли у этого магазина модуль интеграции с 1с? есть ли у кого то опыт успешного использования?
 
Собирался переносить свой сайт на 4,05, но после поста ndmitriy растерялся. Так стоит или не стоит переходить и ставить нулл?
 
...Так стоит или не стоит переходить и ставить нулл?
Каждому своё :)
В моём проекте товаров много, поэтому я поставил на локалку нулл - изучаю, отлаживаю, заполняю... Проблем пока не замечено.
Если всё понравится и получится, уволюсь с работы, зарегистрирую ИП, куплю лицензию и открою магазин :D
P.S. А про действующие нуллёные магазины тут, вроде, уже писали...
 
Собирался переносить свой сайт на 4,05, но после поста ndmitriy растерялся. Так стоит или не стоит переходить и ставить нулл?

У меня нулленый работает 4.05 , да есть кое какие глюки, но возникли они после того как хостер сменил версию php пришлось возвратить версию назад в настройках сайта. потом все вроде в норму пришло.
был php 5.1.6 поменялся на PHP5.2.10 , вернул назад.
На днях правда другая проблема вылезла, совершенно не трогал сами файлы скрипта, настраивал админку, что то делал с блоками, что никак не могу вспомнить теперь на главной и еще на некоторых страницах вылазит такой текст:
Notice: Undefined variable: articles_order_column in /mysite.ru/blocks/block_articles_hot.php on line 25

Причем правка даже через админку ни коем образом не касалась ни дизайна ни перестановки блоков, возможно только показ или скрытие для пользователей блоков. Вот поставил на локалку чистую копию буду сидеть изменять искать после чего ошибка вылезла...
 
У меня нулленый работает 4.05 , да есть кое какие глюки
Видимо у вас нулл отсюда и для скрипта версии релиза до Нового года, а в нем самом по себе ошибок и глюков хватает. Они связаны как с показом товаров, статей, разных блоков вообще, подсчёта скидок и т.п. Повторяю ещё раз - существующий нулл не будет корректно работать на последней стабильной версии 4.0.5 или при попытке пропатчить скрипт для исправления указанных ошибок в старой версии. И ошибки там будут совсем не мелкие, а затрагивающие очень важный функционал, фактически, магазин вообще нормально функционировать не сможет. Тем более, не будет работать с новой версией 4.0.6. Там поменялись многие файлы.
 
Нулл отсюда, и релиз брал до нового года с _irts.ru - ViArt v.4.05 RE .

на 4.06 не предвидится нулл? очень уж хочется, я уже дизайн даже сделали базу наполнил не смогу второй раз сделать на третью версию базу и дизайн))
 
Поддерживаю, очень уж хочется перейти на 4-ку
 
Срочно, нужна помощь!!

В последнее время хостер с периодичностью раз в две недели вырубает сайт из-за перегрузки по friendly_url.php. Версия 3.6

Вот данные от провайдера:

В результате мониторинга работы запросов от пользователя "xxxxx" были обнаружены высокие превышение допустимых лимитов, которые указаны в нашем договоре

Все детали перегруза показаны ниже :

==================================================

top - 10:19:36 up 8 days, 4:45, 4 users, load average: 6.09, 5.34, 5.12
Tasks: 384 total, 5 running, 370 sleeping, 0 stopped, 9 zombie
Cpu(s:( 55.5%us, 25.7%sy, 0.0%ni, 17.5%id, 0.6%wa, 0.0%hi, 0.6%si, 0.0%st
Mem: 8029.383M total, 7626.082M used, 403.301M free, 612.043M buffers
Swap: 8189.344M total, 1856.000k used, 8187.531M free, 4543.719M cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12638 xxxxx 18 0 210m 19m 7836 R 90.2 0.2 0:02.84 /usr/bin/php /home/xxxxx/public_html/friendly_url.php
12568 xxxxx 18 0 212m 20m 7844 R 81.2 0.3 0:06.80 /usr/bin/php /home/xxxxx/public_html/friendly_url.php
13214 xxxxx 18 0 210m 19m 7836 R 70.7 0.3 0:05.14 /usr/bin/php /home/xxxxx/public_html/friendly_url.php
13381 xxxxx 18 0 211m 19m 7836 R 60.4 0.2 0:07.31 /usr/bin/php /home/xxxxx/public_html/friendly_url.php

Просят либо оптимизировать либо платить им кучу денег, как его оптимизировать???

Добавлено через 21 минуту
Вот код скрипта

PHP:
<?php
/*
  ****************************************************************************
  ***                                                                      ***
  ***      ViArt Shop 3.6                                                  ***
  ***      File:  friendly_url.php                                         ***
  ***      Built: Sat Jul 25 04:26:02 2009                                 ***
  ***      http://www.viart.com                                            ***
  ***                                                                      ***
  ****************************************************************************
*/


	if (isset($_SERVER["REQUEST_URI"])) {
		$request_uri = $_SERVER["REQUEST_URI"];
	} elseif (isset($_SERVER["URL"])) {
		$request_uri = $_SERVER["URL"];
	} elseif (isset($_SERVER["HTTP_X_REWRITE_URL"])) {
		$request_uri = $_SERVER["HTTP_X_REWRITE_URL"]; // IIS Mod-Rewrite - HTTP_X_ORIGINAL_URL
	} elseif (isset($_SERVER["SERVER_SOFTWARE"]) && preg_match("/IIS/i", $_SERVER["SERVER_SOFTWARE"])
		&& isset($_SERVER["QUERY_STRING"]) && preg_match("/^404;/i", $_SERVER["QUERY_STRING"])) {
		// IIS 404 Error
		$request_uri = preg_replace("/^404;/", "", $_SERVER["QUERY_STRING"]);
	} else {
		$request_uri = getenv("REQUEST_URI");
		if (!$request_uri) { $request_uri = getenv("URL"); }
		if (!$request_uri) { $request_uri = getenv("HTTP_X_REWRITE_URL"); }
	}
    $request_uri = ( (strrpos($request_uri, '/') + 1) == strlen($request_uri)) ? substr($request_uri, 0, -1) : $request_uri;

	$friendly_url = ""; $query_string = "";
	if ($request_uri) {
		//$slash_position = strrpos ($request_uri, "/");
		//$request_uri = ($slash_position === false) ? $request_uri : substr($request_uri, $slash_position + 1);
		$question_mark = strrpos ($request_uri, "?");
		if ($question_mark === false) {
			$friendly_url = $request_uri;
		} else {
			$friendly_url = substr($request_uri, 0, $question_mark);
			$query_string = substr($request_uri, $question_mark + 1);
		}
	}

 	$is_friendly_url = preg_match("/(\.html)|(\.htm)|(.php)|(\/)$/", $friendly_url) || !preg_match("/\./", $friendly_url);
	if (!$is_friendly_url) {
		header("HTTP/1.0 404 Not Found");
		header("Status: 404 Not Found");
		exit;
	}
	$friendly_url = preg_replace("/(\.html)|(\.htm)|(.php)$/i", "", $friendly_url);


	if ($query_string) {
		$query_params = explode("&", $query_string);
		for ($qp = 0; $qp < sizeof($query_params); $qp++) {
			$query_param = $query_params[$qp];
			if (preg_match("/^([^=]+)=(.*)$/", $query_param, $matches)) {
				set_get_param($matches[1], urldecode($matches[2]));
			} else {
				set_get_param($query_param, "");
			}
		}
	}

	include_once("./includes/common.php");

	$parsed_url = parse_url($settings["site_url"]);
	$site_path = isset($parsed_url["path"]) ? $parsed_url["path"] : "/";
	$friendly_url = preg_replace("/^".preg_quote($site_path, "/")."/i", "", $friendly_url);
	$friendly_url = urldecode($friendly_url);

	// what page should be included
	$page_name = "";

	// check products categories
	if (!$page_name) {
		$sql  = " SELECT category_id FROM " . $table_prefix . "categories ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$category_id = $db->f("category_id");
			set_get_param("category_id", $category_id);
			$page_name = "products.php";
		}
	}

	// check product details page
	if (!$page_name) {
		$sql  = " SELECT item_id FROM " . $table_prefix . "items ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$item_id = $db->f("item_id");
			set_get_param("item_id", $item_id);
			$page_name = "product_details.php";
		}
	}

	// check manufacturers page
	if (!$page_name) {
		$sql  = " SELECT manufacturer_id FROM " . $table_prefix . "manufacturers ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$manufacturer_id= $db->f("manufacturer_id");
			set_get_param("manf", $manufacturer_id);
			$page_name = "products.php";
		}
	}

	// check user list page
	if (!$page_name) {
		$sql  = " SELECT user_id FROM " . $table_prefix . "users ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$user_id = $db->f("user_id");
			set_get_param("user", $user_id);
			$page_name = "user_list.php";
		}
	}

	// check articles categories
	if (!$page_name) {
		$sql  = " SELECT category_id FROM " . $table_prefix . "articles_categories ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$category_id = $db->f("category_id");
			set_get_param("category_id", $category_id);
			$page_name = "articles.php";
		}
	}

	// check article details page
	if (!$page_name) {
		$sql  = " SELECT article_id FROM " . $table_prefix . "articles ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$article_id = $db->f("article_id");
			set_get_param("article_id", $article_id);
			$page_name = "article.php";
		}
	}

	// check forum categories
	if (!$page_name) {
		$sql  = " SELECT category_id FROM " . $table_prefix . "forum_categories ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$category_id = $db->f("category_id");
			set_get_param("category_id", $category_id);
			$page_name = "forums.php";
		}
	}

	// check forum
	if (!$page_name) {
		$sql  = " SELECT forum_id FROM " . $table_prefix . "forum_list ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$forum_id = $db->f("forum_id");
			set_get_param("forum_id", $forum_id);
			$page_name = "forum.php";
		}
	}

	// check forum topic
	if (!$page_name) {
		$sql  = " SELECT thread_id FROM " . $table_prefix . "forum ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$thread_id = $db->f("thread_id");
			set_get_param("thread_id", $thread_id);
			$page_name = "forum_topic.php";
		}
	}


	// check ads categories
	if (!$page_name) {
		$sql  = " SELECT category_id FROM " . $table_prefix . "ads_categories ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$category_id = $db->f("category_id");
			set_get_param("category_id", $category_id);
			$page_name = "ads.php";
		}
	}

	// check ads items
	if (!$page_name) {
		$sql  = " SELECT item_id FROM " . $table_prefix . "ads_items ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$item_id = $db->f("item_id");
			set_get_param("item_id", $item_id);
			$page_name = "ads_details.php";
		}
	}

	// check custom page
	if (!$page_name) {
		$sql  = " SELECT page_code FROM " . $table_prefix . "pages ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$page_code = $db->f("page_code");
			set_get_param("page", $page_code);
			$page_name = "page.php";
		}
	}

	// check manuals list
	if (!$page_name) {
		$sql  = " SELECT manual_id FROM " . $table_prefix . "manuals_list ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$manual_id = $db->f("manual_id");
			set_get_param("manual_id", $manual_id);
			$page_name = "manuals_articles.php";
		}
	}

	// check manual article
	if (!$page_name) {
		$sql  = " SELECT article_id FROM " . $table_prefix . "manuals_articles ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$article_id = $db->f("article_id");
			set_get_param("article_id", $article_id);
			$page_name = "manuals_article_details.php";
		}
	}

	// check manual categories
	if (!$page_name) {
		$sql  = " SELECT category_id FROM " . $table_prefix . "manuals_categories ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$category_id = $db->f("category_id");
			set_get_param("category_id", $category_id);
			$page_name = "manuals.php";
		}
	}

	if (!$page_name) {
		$sql  = " SELECT script_name FROM " . $table_prefix . "friendly_urls ";
		$sql .= " WHERE friendly_url=" . $db->tosql($friendly_url, TEXT);
		$db->query($sql);
		if ($db->next_record()) {
			$page_name = $db->f("script_name");
		}
	}

	if ($page_name) {
		header("HTTP/1.0 200 OK");
		header("Status: 200 OK");
		include_once($page_name);
		return;
	} else {
		$is_friendly_url = false;
		header("HTTP/1.0 404 Not Found");
		header("Status: 404 Not Found");
		exit;
	}

	function set_get_param($param_name, $param_value)
	{
		global $HTTP_GET_VARS;

		if (isset($_GET)) {
			$_GET[$param_name] = $param_value;
		} else {
			$HTTP_GET_VARS[$param_name] = $param_value;
		}
	}

?>
 
Что за провайдер такой? это их проблема если они не могут ограничить тебе процессорное время)) и вообще посмотри что у тебя в договоре написано, это раз, второе насколько раскручен сайт что у тебя так много запросов выдает френдли урл?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху