Идеи пользователя Зеленецкий Дмитрий

Рейтинг: 0.3617  
Внедрено
Предложил Зеленецкий Дмитрий 06.09.2012 09:49:47

Скидки с расшириными возможностями

Необходима возможность ставить скидки для товаров с определенным диапазонам цен. Возможно наверное у других пользователей намного более сложные варианты проставления скидок в зависимоти от определенного наличия и значения поля.
Хотелось бы чтобы это можно было легко настроить из коробки.
Рейтинг: 0  
Ответил Жуков Евгений 01.04.2013 12:52:12
Выходит в версии 12.5
Рейтинг: 7.6436  
На голосовании
Предложил Зеленецкий Дмитрий 07.08.2012 21:47:01

Подтверждение регистрации

Компонент подтверждения регистрации ( system.auth.confirmation ) довольно прост. В начале он проверяет авторизирован ли пользователь, иначе активный ли пользователь, и лишь потом обращает внимание на CONFIRM_CODE. При этом конечной точкой является обнуление этого поля( CONFIRM_CODE ).

Мне кажется, что логика этого компонента не верна - ведь пользователь может быть активным благодаря администратору, но содержать CONFIRM_CODE заполненым. Более того то, что пользователю выставлена активность не означает, что он подтвердил свой email! И наоборот если пользователь не активный, это не значит, что подтверждение регистрации должно его активировать, т.к. важен email, а не активность.

Вот примерная последовательность действий по моему мнению более правильная:


1. если полученный USER_ID соответсвует пользователю, тогда получить его данные
2. если пользователь не активирован и выставлен к примеру параметр "активировать после регистрации", тогда продолжить проверку
3. если существует CONFIRM_CODE у пользователя и в присланном параметре
4. если они совпадают тогда обнулить CONFIRM_CODE и если указаный выше параметр установлен в "Y" - активировать пользователя.

во всех остальных случаях выводить ошибку либо форму для заполнения кода.
Рейтинг: 1.0693  
На голосовании
Предложил Зеленецкий Дмитрий 07.07.2012 15:35:49

Перемещение по каталогам

Есть код:

require_once(substr(__FILE__, 0, strlen(__FILE__) - strlen("/classes/mysql/main.php"))."/bx_root.php");


что сподвигло написать так я не знаю, но подняться на 2 уровня вверх можно проще:

__DIR__.'/. ./. ./bx_root.php' для php >= 5.3.0 
и dirname(__FILE__) .'/. ./. ./bx_root.php' если хотите оставить совместимость 

Этот способ я еще видел в некоторых файлах, не только в main.php.
Рейтинг: 1.3037  
Внедрено
Предложил Зеленецкий Дмитрий 06.07.2012 15:57:47

Дополнительные пункты меню для сайта с идеями

Добавте пожалуйста кроме списка "моих идей", так же "мои комментарии" и "мои оценки", чтобы можно наблюдать за идеями, в которых была моя активность.
Рейтинг: 0  
Ответил Лузин Иван 09.07.2012 23:07:14
Дмитрий, попробуйте, пожалуйста, использовать функционал подписки на комментарии.

Подписаться можно, нажав на ссылку справа под текстом Идеи - если вы авторизованы на сайте.
Рейтинг: 51.9125  
На голосовании
Предложил Зеленецкий Дмитрий 05.07.2012 12:23:07

PHP autoloader

В файле \bitrix\modules\main\classes\general\module.php есть код
if (!function_exists("__autoload"))
{
   function __autoload($className)
   {
      CModule::RequireAutoloadClass($className);
   }
   define("NO_BITRIX_AUTOLOAD", False);
}
else
{
   define("NO_BITRIX_AUTOLOAD", True);
}
 
Так вот функцию __autoload лучше заменить на spl_autoload_register. Таким образом появляется возможность добавлять свои автолоадеры без перерегистрации стандартного битрикса.