zerokl, увы, уже не помню в чём точно проблема, но постараюсь наставить на путь истинный...
$js_array - это массив, в котором ранее хранились все JS, подключаемые в heder'е DLE... В версии, кажется, 9.5 этот массив переделали и теперь он используется как-то по другому - как именно уже не помню. Связано это с изменением алгоритма сжатия gzip все CSS и JS...
Выход из ситуации - перекопать код и найти эти изменения. Честно, уже не помню что и как изменилось... Толи теперь нужно позже подключать этот файл, толи раньше... Но не суть - копать долго, нудно...
Есть вариант выхода куда проще - правим main.tpl и вставляем в head JS скрипты руками, а из всех файлов галлереии вырезаем строки $js_array[]... Единственное - придётся ручками добавить условия подключения этих JS... Судя по названию, not_logged.js должен показываться только группе гостей... Ну а как это делается и как пользоваться тегом script я описывать не буду
P.s. если правильно понял, то теперь $js_array не массив, а строка со всеми JS через запятую... Собственно, об этом ошибка и говорит: Fatal error: [] operator not supported for strings in - мы пытаемся сделать ключ массива у строковой переменной...