bitrix modules main start php

phpjs

статьи о программировании

Bitrix создание модуля

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

Подводные камни создания модуля:

В самом корне модуля — include.php Это как раз entry point модуля. Когда вы вызываете

автоматом тянется этот файл. Чаще всего вся логика в нем и сосредоточена, но бывает что он выполняет лишь роль autoloader. Это уже как вы сами решите. Можно даже оставить пустым.

Далее по порядку, сверху вниз. Папка admin. В ней создаем пхп-файл с любым названием, но лучше пусть будет как название модуля — excel.php

Как видите скрипт ничего особенного не делает как просто подключает класс модуля. Тем не мении лоигка может быть сосредоточена тут.

Файл меню для модуля.

Здесь задается ссылка в сайдбаре админки битрикса. В каком именно пункте — Сервисах или проч. — выбираем сами. Все подробно описано в док-ии битрикса.

Наконец папка Install. Многие файлы отсюда копируются в директории admin, js, tools, images.

Это главный установочный файл модуля. Он отвечает за перемещение файлов в админ дир-ю, создание таблиц, подключение событий. Класс установщика обязательно именуется по id модуля.

Шаг 1 это форма где заполняем свои данные подключения к БД и проч. Необязателен.

Шаг 2 — просто сообщение об успешной или не очень установке)

Сообщение о результате деинсталляции.

Источник

Ошибки при переходе на PHP7

Стала выдаваться ошибка:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/classes/mysql/database.php:83 Stack trace: #0 /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/classes/mysql/database.php(120): CDatabase->DoConnect() #1 /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/classes/mysql/main.php(99): CDatabase->Query(‘SELECT L.*, L.L. ‘, false, ‘FILE: /home/h91. ‘) #2 /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/include.php(1): CMain->GetLang() #3 /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/include/prolog_before.php(14): require_once(‘/home/h91023532. ‘) #4 /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/include/prolog.php(11): require_once(‘/home/h91023532. ‘) #5 /home/h910235323/tgliamz.ru/docs/bitrix/header.php(1): require_once(‘/home/h91023532. ‘) #6 /home/h910235323/tgliamz.ru/docs/index.php(1): require(‘/home/h91023532. ‘) #7

thrown in /home/h910235323/tgliamz.ru/docs/bitrix/modules/main/classes/mysql/database.php on line 83

При переходе на PHP7.1
ошибка
[ErrorException] E_DEPRECATEDNon-static method CSiteCorporate::ShowPanel() should not be called statically (0)
/home/h910235323/meranorm.ru/docs/bitrix/modules/main/classes/general/module.php:490
#0: ExecuteModuleEventEx(array)
/home/h910235323/meranorm.ru/docs/bitrix/modules/main/include.php:568
#1: require_once(string)
/home/h910235323/meranorm.ru/docs/bitrix/modules/main/include/prolog_admin_before.php:18
#2: require_once(string)
/home/h910235323/meranorm.ru/docs/bitrix/modules/main/interface/desktop.php:2
#3: require(string)
/home/h910235323/meranorm.ru/docs/bitrix/admin/index.php:2

[ParseError] syntax error, unexpected ‘[‘, expecting ‘,’ or ‘;’ (0)
/home/a/apikcru/public_html/bitrix/components/alexkova.corporate/block.list/templates/.default/bitrix/news.list/.default/template.php:5
#0: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string)
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/component_template.php:820
#1: CBitrixComponentTemplate->IncludeTemplate(array)
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/component.php:745
#2: CBitrixComponent->showComponentTemplate()
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/component.php:693
#3: CBitrixComponent->includeComponentTemplate()
/home/a/apikcru/public_html/bitrix/components/bitrix/news.list/component.php:426
#4: include(string)
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/component.php:604
#5: CBitrixComponent->__includeComponent()
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/component.php:663
#6: CBitrixComponent->includeComponent(string, array, object)
/home/a/apikcru/public_html/bitrix/modules/main/classes/gene ­ral/main.php:1039
#7: CAllMain->IncludeComponent(string, string, array, object)
/home/a/apikcru/public_html/bitrix/components/alexkova.corporate/block.list/templates/.default/template.php:25
#8: include(string)

Читайте также:  заверенная копия аттестата это что

Источник

Бэкдор во взломанном 1С-Битрикс: под угрозой сотни сайтов

Вообще, взлом CMS это не такая редкая штука. Постоянно то и дело появляются разные нескучные уязвимости которые эксплуатируют все, кому не лень. Сложнее всего тогда, когда компоненты сайта, которые построены на каких-либо массовых платформах не обновляются, их взламывают, и хуже, когда это происходит массово. Но по специфике работы не привыкать к анализу таких проблем, выяснением «кто виноват» и самое важное тут убедиться в том, что дело именно в сайте.

Анализируя содержимое сайта, что первое бросается в глаза, так это наличие нехарактерного мусора:

Таких файлов, как правило, быть вообще не должно. Хорошо, смотрим на дату создания таких файлов и лезем в логи для анализа что происходило на сайте в какой-то промежуток времени. Тут всё оказалось проще, чем хотелось бы:

Видно простой перебор файлов по словарю. Все запросы летят с одного IP, а главное, видно файл new.php, который вместо 404 вернул редирект 302, и сразу после этого видим POST на /bitrix/admin. Вау! Что же это такое?

Те, кто хоть раз в жизни писал код для битрикса, сразу же поймет что этот код делает. А кто не писал, то всё просто: делает авторизацию под пользователем с который как правило является админом сайта.

Пробегаемся поиском по паттерну и находим сразу три таких файла с одинаковым содержимым:

bitrix/admin/mobile/new.php
bitrix/tools/new.php
bitrix/new.php

Почему не только лишь все?

Держите свои сайты в безопасности и не позволяйте случаться таким неприятным ситуациям.

Источник

нужна помощь по сессиям.

тобиш в главном каталоге, файл htaccess.php
строчки session.save_path у меня вообще нет) все что есть из сессий, это php_flag session.use_trans_sid off, и она закомментированна.

P.S. если бы не правильно был прописан путь, мне бы написали подругому, у меня другая проблема, закрыт доступ к записи в каталог параметров сессий, мне надо его найти.

Если не можете сами, то попросите техподдержку хостинга.

Создайте, например, в папке htdocs папку session, и попросите техподдержку хостинга поменять путь в php.ini на session.save_path = /storage/home/srv14976/htdocs/session/

Читайте также:  Айфон xs max и xs в чем разница

Да, не забудьте права на запись в папку session установить.

З.Ы. возможно bitrix просит открыть доступ к каталогу не общему, а внутреннему, так что вопрос думаю к администраторам мой..

строка 279 удалить

if (!BXInstallServices::CheckSession())
<
$this->SetError(InstallGetMessage(«INST_SESSION_NOT_SUPPORT»));
return false;
>

Цитата
Василий Лучинкин пишет:
\bitrix\modules\main\install\wizard\wizard.php

строка 279 удалить

if (!BXInstallServices::CheckSession())
<
$this->SetError(InstallGetMessage(«INST_SESSION_NOT_SUPPORT»));
return false;
>

У меня тоже имеет место эта проблема.

Цитата
Илья Душин пишет:
В php.ini параметр session.save_path = «/tmp» У папки tmp права стоят 777. Бред.

через restore сайт восстановился с н-ного раза но вылетал из админки.

Сейчас пробую поставить заново. Выдает что недоступен каталог под сессии.

Хостеры пинают что у них все хорошо, на другом хостинге все поднял без проблем.
Доступа к php.ini нету.

Поделюсь интересной ситуацией. Я также напоролся на ошибку «Нет. Вероятно, каталог, используемый для сохранения параметров сессии, не доступен для записи». В php.ini прописал session.save_path = «C:\tmp»(ставил в локале), жмакаю F5(ни один раз), проблема не решается. Захожу в папку tmp сессия создана, но весит 0 байт, а потом чисто случайно нажал «Назад» на предущий шаг и снова вперёд и.. даже с бубном прыгать не надо)) все работает)

Всем удачи, может кому-то моё сообщение поможет

Источник

Для разработчиков

Описание

Раздел предназначен для технических специалистов со знанием PHP и HTML. Раздел содержит сведения о технологиях и основных принципах, заложенных в систему Bitrix Framework, описание классов и функций модуля Главный модуль.

Документация носит справочный характер. Для дополнительного изучения рекомендуются учебные курсы Администратор. Базовый и Разработчик Bitrix Framework.

Компоненты

Модуль включает в себя следующие Компоненты 2.0:

Компоненты модуля
Название Имя в пространстве имен bitrix Описание
Рабочий стол desktop Позволяет создать настраиваемый рабочий стол с использованием разнофункциональных гаджетов.
Упрощенный HTML-редактор fileman.light_editor Выводит упрощенный визуальный HTML-редактор.
Элемент управления «Календарь» main.calendar Используется для ввода даты/времени.
Элемент управления «Часы» main.clock Служит для удобного ввода времени с использованием часов.
Элемент управления «Палитра» main.colorpicker Служит для удобного ввода таблицы выбора цвета.
Журнал изменений event_list Позволяет вывести историю изменений, произошедших на проекте.
Форма обратной связи main.feedback Выводит форму для отправки сообщения с сайта на E-mail.
Включаемые области
Вставка включаемой области main.include Располагается в шаблоне дизайна сайта и определяет место расположения включаемых областей страниц и разделов.
Навигация
Выбор сайта main.site.selector Включен в шаблон дизайна сайта и служит для переключения между сайтами, созданными на базе данной копии продукта.
Меню menu Выводит меню указанного типа.
Навигационная цепочка breadcrumb Выводит навигационную цепочку в шаблоне.
Пункты меню menu.sections Осуществляет дополнение созданного меню названиями разделов инфоблоков.
Карта сайта
Карта сайта main.map Осуществляет отображение карты сайта.
Пользователи
Имя пользователя с тултипом main.user.link Выводит имя пользователя с всплывающей подсказкой (тултипом), который содержит информацию о пользователе социальной сети..
Настраиваемая регистрация main.register Позволяет настроить форму регистрации на сайте.
Параметры пользователя main.profile Выводит в публичную часть сайта информацию о пользователе.
Форма авторизации system.auth.form Выводит форму авторизации.
Форма подтверждения регистрации system.auth.confirmation Выводит форму подтверждения регистрации.
Системные компоненты (не описываются)
Форма авторизации system.auth.authorize Осуществляет вывод формы авторизации.
Форма смены пароля system.auth.changepasswd Осуществляет вывод форма смены пароля.
Форма отправки контрольного слова для смены пароля system.auth.forgotpasswd Осуществляет вывод форма отправки контрольного слова для смены пароля.
Форма регистрации system.auth.registration Осуществляет отображение формы регистрации.
Форма ввода настраиваемого пользовательского свойстства system.field.edit Осуществляет ввод настраиваемого пользовательского свойства.
Форма вывода настраиваемого пользовательского свойстсва system.field.view Осуществляет вывод настраиваемого пользовательского свойства. Чтобы не использовать API классов пользовательских полей для получения значений, можно использовать этот компонент:
Шаблон постраничной навигации system.pagenavigation шаблон постраничной навигации.
Форма вывода сообщения об ошибке system.show_message Осуществляет вывод сообщения об ошибке.
Компонент вывода формы main.interface.form Осуществляет вывод форм в рамках универсальных списков.
Компонент вывода таблицы main.interface.grid Осуществляет вывод таблиц в рамках универсальных списков.
Компонент вывода панели инструментов main.interface.toolbar Осуществляет вывод панели инструментов в рамках универсальных списков.
Компонент вывода кнопок меню main.interface.buttons Осуществляет вывод своего меню на странице.

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

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

Источник

Читайте также:  почему после тренировки усталость и упадок сил
Образовательный портал