[Помощь] Убираем копирайты из CubeCart 3

Статус
В этой теме нельзя размещать новые ответы.
4.2.0 при установке на шаге 3 считает, что два пустых пароля к БД не равны друг-другу, и не пускает дальше.

Решение:
Закомментировать строку проверки в файле /setup/js/library.js (строка 23)

PHP:
function YY_checkform() { //v4.71
...
//      if (r&&v.length==0){err=true}
...

Если у вас выводится примерно такое сообщение об ошибке:
Notice: Undefined offset: 1 in z:\home\localhost\www\cubecart420\index.php on line 34

То следует заменить в файле /index.php строку 34:
Было:
PHP:
	switch ($matches[1]) {
Стало:
PHP:
//	switch ($matches[1]) {
	if(isset($matches[1])) switch ($matches[1]) {
 
Недоглядел

М-да, как я мог пропустить проверку полей ввода :nezn:.
Буду внимательней.

Дистр исправлен.

З.Ы.
"vot" прочти личку или выйди в Аську.
 
Нашел еще одну ошибку в сборке 4.2.0.

Если выбрать скин MSN, то зарегистрировать нового юзера невозможно.
Причина - неверное имя поля в шаблоне.

Решение:
Исправить строку 79 в файле cubecart420/skins/MSN/styleTemplates/content/reg.tpl
(должно быть не "county", а "country")
PHP:
        <select name="country" id="county_sel" class="textbox" tabindex="11">


Добавлено через 48 минут
Нашел еще одну ошибку в сборке 4.2.0.

Под Виндой не дает редактировать текст страниц сайта на другом языке (на русском в частности). Точнее, происходит ошибка при выполнении SQL запроса.
Причина - использование в качестве разделителя каталогов символа "\" (с ним происходит путаница при выполнении операции "escape_string").

Решение: Отказаться от символа "\", и использовать всегда "/", поскольку он работает и под виндой, и под *никсами.
Для этого нужно изменить строку 216 в файле /cubecart420/ini.inc.php.
Было:
PHP:
## Define a few environmental variables
define('CC_DS', DIRECTORY_SEPARATOR);
Стало:
PHP:
## Define a few environmental variables
define('CC_DS', '/');
Побочный эффект:
После таких ошибок в БД в таблице CubeCart_lang остается мусор. Найдите вручную в этой таблице строки, в которых поле identifier начинается с обратного слэша "\", (например, "\ru\home.inc.php") и удалите их.
Вуаля.
 
Темы для CubeCart 4.2.0

Темы вложил в комплект только для ознакомления, если есть желание можно поковырять и почистить их от мусорного кода (типа бэклинков, не бойтесь это не страшно т.к. эти шаблоны бесплатные) или вообще использовать как шаблон для своей темы.
 
Найдена ошибка в в админке. При нажатии на Manage Images у товара вываливается с сообщением syntax error.

Причина: пропущена закрывающая скобка в конце строки .

Решение: добавить в хвост скобочку :)
Файл /cubecart420/admin/sources/products/extraImgs.inc.php, строка 70:
PHP:
$query		= sprintf("SELECT img, id FROM %sCubeCart_img_idx WHERE productId = %d", $glob['dbprefix'], $db->mySQLsafe($_GET['productId'])); //vot

-----------
Еще одна ошибка:
Неверно генерируется код товара, если наименование товара введено на русском, а код товара не введен.

Причина:
Разработчики для вывода используют кодировку UTF-8, но забыли, что каждая буковка может состоять из двух байтов, и берут из начала строки 3 символа без учета двухбайтности. Кроме того, там же они забыли получить новое значение случайного числа после сброса рандомизатора. В итоге код товара получается с "кракозябрами" типа ���.

Решение:
Принципиально изменить метод генерации кода товара. В оригинале это 3 первых байта из имени товара + случайный_набор_символов + код_категории. Я предлагаю использовать другой метод: код_категории - случайный_набор_символов.

Исправленный код:
Файл /cubecart420/admin/sources/products/index.inc.php,
строки с 205 по 218:
PHP:
	## Generate product code
	if (empty($_POST['productCode'])) {
		$chars = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N",
				"O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3",
				"4","5","6","7","8","9","0");
		$max_chars = count($chars) - 1;
		srand((double)microtime()*1000000);
$randnum = rand(); //vot
		for ($i = 0; $i < 5; $i++) {
			$randChars = ($i == 0) ? $chars[rand(0, $max_chars)] : $randnum . $chars[rand(0, $max_chars)];
		}
		$record["productCode"] = $db->mySQLSafe(intval($_POST['cat_id'])."-".$randChars); //vot
	} else {
		$record["productCode"] = $db->mySQLSafe($_POST['productCode']);	
	}
 
В нулле палиться iAG nulled кто-то это убрал?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху