Выход не работает bitrix

Событие «Выход из системы» при открытии любой страницы

По долгу службы пришлось дорабатывать сайт после одной говнокодерской веб студии ( http://freedevs.ru ). Помимо генерирования > 5 капч в футере основного шаблона, выборки ВСЕХ элементов инфоблока для поиска ссылки на следующую/предыдущую статью и подобных гениальных решений чего то они там намудрили, что при каждом открытии любой страницы сайта любым(авторизированным или нет) пользователем в журнале событий появляется событие «Выход из системы» . За день генирируется несколько тысяч записей этого события.

Где и что можно было сделать, что бы происходило такое?

То есть выход появляется, а вход нет? Именно вход происходит на каждой странице, если сайт закрыт basic-авторизацией, это так работает сам продукт, а вот про выход непонятно.

Но искать надо определенно в обработчиках, или в стороннем модуле, если таковые есть.

Именно так, выход при каждом открытии страницы. Уточнение — при открытии страницы неавторизированным пользователем генирируется 4-6 событий «Выход из системы», при открытии авторизированным — около 50 событий «Изменение пользователей» .

Очевидно, что где-то некий код что то пытается сделать с текущим пользователем, вопрос только где он , почему выход из систему для неавторизированного и почему так дохрена событий для авторизированного.
Перелопатил шаблоны сайта, компонентов , из сторонних модулей был подключен только некий UniSender, который нигде не используется. Его отключение никак не повлияло на ситуацию. В /bitrix/php_interface/init.php убрал много бесполезного говнокода и несколько инклудов. Оставил только несколько нужных обработчиков, но они не имеют отношения и не генерируют искомые события.

Где еще можно поискать?

Самый простой вариант, это посомтреть, откуда идет logout юзера , для этого в init.php добавьте

Тогда при логауте юзера выведется стэк вызовов функций и там уже разобраться будет проще, можете сюда стэк скинуть получившийся, если сами не поймете.

Если, как вы говорите при переходе по страницам логаут срабатывает, то при переходе по страницам дамп и выведется. Не забудьте потом этот код закомментировать

У меня есть подозрение, что что-то с сессиями не то =)

Александр Гусев, спасибо большое! Сам я что то до этого не додумался, теперь буду знать.
Дело было в том, что в одном, подключаемом с помощью include() в шаблон файлике, были строчки:

После устранение этого гениального решения все встало на свои места. А UserUpdate у авторизованных случался, потому что в этом же файлике было пересчитывание рейтинга пользователя, который уважаемые фридевсы зачем то реализовали через пользовательское поле, а не через стандартный рейтинг пользователей. (впрочем как и блоги реализовали через ИБ, хотя редакция битрикса с модулем блогов). Команда профессионалов.

В общем проблема решена, вопрос закрыт, всем, кто отозвался, большое спасибо.

Цитата
moveax3 пишет:
впрочем как и блоги реализовали через ИБ, хотя редакция битрикса с модулем блогов

Тут позвольте вас предостеречь от блогов. Собираюсь тоже у себя блогосферу поднимать, буду делать обязательно на инфоблоках.
Доводы:
— быстрее
— понятнее и рука более набита (соответственно, для меня самого тоже дешевле выйдет)
— инфоблоки постоянно оптимизируются и улучшаются
— виз.редактор в блогах оставляет желать лучшего
— ну и прочие плюшки а-ля тегированный кеш

Блоги от Битрикса подходят только в одном случае — поставил, очень вкратце марафет навел, и в бой.

Цитата
— быстрее
— понятнее и рука более набита (соответственно, для меня самого тоже дешевле выйдет)
— инфоблоки постоянно оптимизируются и улучшаются
— виз.редактор в блогах оставляет желать лучшего
— ну и прочие плюшки а-ля тегированный кеш

По поводу быстрее — тут спорить не буду, сравнительных тестов не проводил, однако проблем с их производительностью не замечал. Если есть пруфлинк, рад был бы почитать.
Рука набита — если рука набита и на блогах, этот аргумент теряет силу.
Инфоблоки постоянно оптимизируются и улучшаются — не думаю, что разработчики битрикса забили на блоги. Опять же, если есть пруф, буду рад просвятиться.
Визуальный редактор — ничего не мешает предоставить вашим блоггерам любой из редакторов с открытым кодом. Благо сейчас есть очень красивые и функциональные.
Тегированный кэш — так же ничего не мешает настроить гибкое кэширование с помощью класса CPHPCache там, где необходимо.

Этот модуль же все таки придумали не зря, там из коробки и друзья, и комментарии и другая полезная мешура, которую в случае инфоблоков надо реализовывать отдельно. К тому же, если все же инфоблоки, то не стоит продавать клиенту более старшую версию битрикса, при этом разрабатывая весь проект возможностями редакции «Старт».

В любом случае, спасибо вам за мнение.

Насчет пруфа — ну если вас не устраивает мое мнение с 10-летним стажем, который при переходе на блоги начал очень сильно терять в рациональности и производительности, другого не смогу пруфа дать

Цитата
moveax3 пишет:
Этот модуль же все таки придумали не зря

Маркетинг. Битрикс не мог выпустить просто компоненты для инфоблоков, сказав «это блоги». Поверьте, технически гораздо проще даже систему блого-друзей прикрутить на ИБ, чем иметь то, что имеем в блогах. Ведь если отбросить маркетинг, блоги это просто статьи. Все. Комментарии — с тем же успехом они прикручиваются к любой статье в пару кликов.

Цитата
moveax3 пишет:
К тому же, если все же инфоблоки, то не стоит продавать клиенту более старшую версию битрикса,при этом разрабатывая весь проект возможностями редакции «Старт».

А вот это уже несомненно плохо.

PS: И еще раз подчеркну — блоги хороши, но когда «поставил и работает». В случае допила (серьезного) куча геморроя.

Источник

Не хочет срабатывать событие

Привет всем. Такая проблема. В файле bitrix/php_interface/init.php написал обработчик события изменения цены товара. При изменении цены у любого товара пытаюсь отправить себе сообщение. Не отправляет.

AddEventHandler(«catalog», «OnBeforePriceUpdate», «CheckPriceBeforeSend»);

Почему? Что не так работает? Может на файл init.php нужно какие-то настройки указывать?

Стандартная функция, в другом файле php на том же сайте она работает прекрасно.

В файле init.php я уже даже пробовал открывать текстовый файл и заносить в него информацию. Не работает, после этого я решил mail() попробовать — тоже не работает.

Ну так mail() может не работать.
Вот же и пишут die(«Work»);

То есть проверить отсылаются ли сообщения

Или if(mail(. ))
echo «rispect»;
else
echo «eror»;

Ну конкретно берём этот код.

if(mail(. тут данные для функции. ))
<
echo «rispect»;
>
else
<
echo «eror»;
>
exit();

Ставим его в нужное событие, там добавление товара, точнее в кадбэк-функцию события. Потом вызываем это событие и отработает всё до функции exit(); и потом остановка.

Ну а в частности проверить работает ли mail(. тут данные для функции. ). Можно тупо кинуть на страницу

или

если придёт письмо значит функция работает. Потому что обработчики как раз работаю все.

Это сугубо мой подход в работе с init.php . Вообще это уже тонкости разработки. Ещё часто в моей практике бывает так что я не правильно выбираю обработчик. Нужно обращать внимание на то — до или после события делать логику. Было так что я написал логику, всё правильно думал думал потом сменил обработчик с до на опосля — и заработало как миленькоею

Или даже можно ответить прямо на вопрос

Цитата
Ну а где эти сообщения вывестись должны? Прям на страницу с товаром, цену которого изменили?

Кстати, если вешаю обработчик AddEventHandler(«iblock», «OnAfterIBlockElementAdd», Array(«addComment», «addCommentFunction»;));

Он работает, а вот
AddEventHandler(«catalog», «OnBeforePriceUpdate», Array(«myClass», «CheckPriceBeforeSend»;));
не хочет.

Пробовал перед объявлением обработчика:
CModule::IncludeModule(«catalog»;);
CModule::IncludeModule(«sale»;);
не помогло. вот что делать, мне нужен именно на обновление цены товара обработчик.

Ну поставьте теперь onAfterPriceUpdate.
Я писал выше, или не в этом посте не помню, что удалённо сказать однозначно нельзя.
Существует понятие подводные камни и я так же в разработке на них натыкаюсь.
Нужно пробовать мало ли что там у вас на сайте. Сайт на Битрикс не состоит из одной функции, которая возвращает да или нет.

где Подводный камень — это парадокс в программировании, когда к примеру бинарная функция должна вернуть ответ только да или только нет, а она возвращает ни то и не другое.

В ТП пишите — они зайдут на сайт и разберутся. Фри — лансера наймите.

где Фри-лансер — свободный копьеносец в европе 15-столетия, тыняющийся по королевствам со своим копьём, убивающий за деньги. По нашему наёмник, киллер.

Это вот и есть разработка, которую пытаются в человеко-часах измерить. А оно вон бывает что волосы на голове рвёшь.
Если вот так каждый шаг вы меня будет спрашивать — это будет самая длинная ветка на Битрикс, потому что я люблю потрепать языком.

Вывод:
Совет такой берёте Битрикс. Устанавливаете на денвер за 8 минут . Потерзайте, помучайте, разламайте его.
Не бойтесь измазаться в этой грязи, поверьте вам это понравиться и вы захотите ещё. Ночь не спите а решите задачу. Изучите рнр, яваскипт, апач.

И в процессе этого решение придёт само — как мимолётное виденье, как гений чистой красоты. И плюс к этому вы получите багаж знаний который в будущем вам поможет преодолеть сложные задачи, которые не под силу половине тут зарегистрированных.

А решение ваше будет как вершина огромного айсберга, смотря в бездну глубины на на который будет захватывать дух. Вот как закаляется сталь, вот как рождается супер-стар.
Вы будете великим. Запомните мои слова — это золото из чана который я несу по жизни, оно плещится и падает на грязную землю бытия. Антологии под названием — словянская земля. Берите его и пользуйтесь. Потому что мы словяне и живём на русской земле в русской антологии.

Как говорят повара — не г0няйся за едой, не думай что ты будешь есть, сыт ли ты будешь или голоден. Еда приходит к тому — кто любит готовить.

Так что дерзайте. Удачи.

Р. С. И плюс к этому всему вы получите все сертификаты. Я верю в Вас. Удачи.

Источник

авторизация битрикс — не попасть в админку

Добрый день!
Сегодня был в админке и установил предложенные обновления bitrix. Они успешно поставились, после чего админку «перекарежило» (слетело форматирование и т.п.) я сделал выход и все. Теперь при попытке войти в админку просто серый фон, запроса логина и пароля не выводится. Что делать? Как зайти в админку?

Да, сайт работает исправно, заметны кое-какие внешние изменения.

Цитата
Яковлев Иван пишет:
Добрый день!
Сегодня был в админке и установил предложенные обновления bitrix. Они успешно поставились, после чего админку «перекарежило» (слетело форматирование и т.п.) я сделал выход и все. Теперь при попытке войти в админку просто серый фон, запроса логина и пароля не выводится. Что делать? Как зайти в админку?

Да, сайт работает исправно, заметны кое-какие внешние изменения.

У меня тоже возникла подобная проблема. Причем эта проблема заключается в том, что когда закрываешь сайт на реконструкцию от посетителей — то тогда и получаешь при входе через /bitrix/admin/ просто серый фон без всплывающего окна с авторизацией. Если сайт открыт — то все в порядке. Решил вопрос так:
создал файлик auth1.php со следующим содержимым:

Залил его по ФТП в папку /bitrix/admin/
Перешел по ссылке сайт.ру//bitrix/admin/auth1.php и получил окно с авторизацией. Авторизовался — попал в админку, ну а там уже дело техники.

Такая же ситуация. Авторизуешься, а тебе http://********.**/bitrix/admin/index.php?login=yes
Причем если потом стереть bitrix/admin/index.php?login=yes и оставить только свой сайт и перейти на него, то появится панель битрикса. Получается что авторизация срабатывает.
Но на этой панели битрикса не сбабатывает почему то одна кнопка «панель управления», при нажатии на нее пересылает на путь /bitrix/admin/index.php?lang=ru&back_url_pub=%2Findex.php и опять пустой экран.

Перед поломкой выдавал доступ FTP к сайту ***.ru\www и папке bitrix. Буду искать что там изменили.

Здравствуйте! не заходит в админку, загружается серый экран и даже нет окошка для ввода логина и пароля. Как быть?

Источник

Читайте также:  После прошивки не работает гугл плей маркет
Оцените статью