Версия: 7.1.0-201803
Модуль: Сканер почты
Нахождение: Главная > Другие настройки > Сканер почты
Создание (Добавление) нового почтого ящика – Шаг 1 – «Детали»
URL: index.php?module=MailConverter&parent=Settings&view=Edit&mode=step1&create=new
При нажатии на кнопку «Следующий» происходит переход на страницу Шаг 2 – «Выбор папки»
Появляется сообщение
«Подключение к почтовому ящику не удалось. Проверьте сетевое подключение и повторите попытку.»
При этом, на странице Шаг1,
происходит первая проверка соединения,
и если не удается соединиться с почтовым сервером
то появляется всплывающее сообщение об этом.
Если доходит до шага 2, то проверка соединения прошла успешно.
Покопавшись основательно в коде, выявил:
ПЕРВОЕ:
Кликаем по кнопке «Следующий»
отсылается запрос на сервер с данными указанными в форме
файл /modules/Settings/MailConverter/handler/MailScannerInfo.php
function update($otherInstance) { …
у меня на строчке 357, выполняется SQL запрос INSERT
используя метод pquery класса PearDatabase (/include/database/PearDatabase.php)
следом после запроса
узнается id новой записи,
КОТОРОЕ ВСЕГДА = 0 (нулю)
$adb->pquery(«INSERT INTO vtiger_mailscanner(scannername,…
…
$this->scannerid = $adb->database->Insert_ID();
заглянув в PearDatabase.php
function pquery($sql, $params=array(), $dieOnError=false, $msg=») {…
видно, что после выполнения запроса, команды Execute,
вызывается logSqlTiming этого же класса,
в которой так же выполняются sql ЗАПРОСЫ!!!
$result = $this->database->Execute($sql…
…
$this->logSqlTiming($sql_start_time, …
Получается, что Insert_ID после pquery
возвращает id запроса выполняемого в logSqlTiming,
который постоянно равен НУЛЮ !!!
ID новой записи необходимо для выполнения шага 2.
На шаге 2, идет соединение с почтовым ящиком с полученным id=0
выводиться сообщение о невозможности соединиться с почтовым сервером
ВТОРОЕ:
Указанный, на шаге 1, пароль к электронному ящику,
шифруется и только потом записывается в базу
после шифрования
длина пароля увеличивается во много раз
я использую пароли длинной более 20 символов
шифрованный пароль получился длинной более 255 символов
поле в таблице для пароля VARCHAR (255)
то есть до 255 символов
мой шифрованный пароль обрезается до 255 символов,
и в дальнейшем при считывании оказывается не правильным…
Возможно, нужно
или> ввести ограничение на длину пароля (или хотя бы предупреждение выдавать)
или> увеличить поле в таблице, например VARCHAR(500)
С уважением, Роман!