Ris
+657
Репутация
3771
Рейтинг
Размер RSS-канала превышает 15 МБ
Может есть какой-то метод ограничить материалы, попадающие в xml файл по времени? Например только за последний год.
С каждым новым релизом куча новых функций и прочих ништяков. Разработчики разрабатывают, пользователи изучают новый функционал. Жизнь кипит!
Для сравнения, сегодня вышел новый релиз VestaCP, которого все с нетерпением ждали полгода и гадали, какой новый функционал будет .
И вот наконец-то! Версия 0.9.8-20 !!! Список изменений:
0.9.8-20 (security)
Post by imperio » Mon Apr 09, 2018 1:36 am
Hardening password checks
Auth fix
Спасибо!
И с праздником!
Но просто трындец, как долго...
Если в панели нет файлового менеджера - можно упаковать в midnight commander
В Весте, например, чуть зазевался - готово три архива всего и места на диске нет.
Сейчас исследую...
Еще вот это можно туда добавить, если разработчик согласится:
http://instantcms.ru/addons/icontroller.html
http://instantcms.ru/addons/itemp.html
А вот это разработчик не согласится.
http://instantcms.ru/addons/hooker.html
На самом деле я не очень понял, как этот код применить.
Вот в этом дополнении есть в файле \system\controllers\unfinder\backend.php есть функция getLinks()
Там есть такой код:
Я уже сделал цикл на яваскрипте для выборки из больших таблиц. И поиск ссылок на картинки во всех таблицах и полях базы сделал.
Сейчас допиливаю...
Все поля таблиц базы, сканируются на предмет строк с наличием текста типа .jpg, .gif, .png и т.д. и подсчитывается количество строк с наличием такого текста.
Все таблицы и поля, в которых меньше 15000 строк с картинками заносятся в файл columns.json, а те, в которых больше - в файл big_columns.json.
Это уже реализовано.
Теперь нужно после сканирования таблиц, которые в columns.json, запустить цикл именно на яваскрипте (чтобы память между итерациями очищалась) и просканировать таблицы и поля, которые в big_columns.json, причем по частям с переключением лимита на выборку, чтобы память не переполнялась.
И вот ни как запустить яваскрипт из php, ни как обратиться к функции php из яваскрипта, я не очень представляю...
Все равно, где хранить результаты сканирования, в базе, в переменной, в файле. Затык происходит на стадии выборки из таблицы с большим количеством строк.
$this->model->db->getRows($co['TABLE_NAME'], "{$co['COLUMN_NAME']} REGEXP 'jpg|gif|png'));
Тут нужно, если в таблице больше, к примеру, 10000 строк - отправлять выборку в цикл с limit $x * 10000, 10000. Соответственно $x при каждой итерации меняется.
Если никто не подскажет - придется делать фронтенд и экшенз. Там я знаю как функцию вызвать.
Сможете сделать пример, как выплюнуть данные в браузер, сменить лимит офсет и с новым лимитом запустить скрипт в бэкэнде?
При попытке сканирования память заполняется мгновенно.
Единственный выход - цикл на яваскрипте.
А уж как сохранять результаты итераций этого цикла - дело десятое.