Расширения для phpBB3.3.*- Upload Images

Ответить
 • Просмотры: 4906
Аватара пользователя
волчара
Администратор
Сообщения: 1902
Зарегистрирован: 29 дек 2016, 10:45
Благодарил (а): 10 раз
Поблагодарили: 664 раза
Страна: Russia
Откуда: Омск
Пол: Мужчина
Возраст: 51
Контактная информация:

Расширения для phpBB3.3.*- Upload Images

Сообщение волчара »

Название расширения: Загрузка изображение на внешние хостинги и сервер форума.
Версия: 1.1.1(Начальная)
Автор: Oleg(волчара), Cursor - The AI Code Editor
Лицензия: GNU General Public License, version 2 (GPL-2.0)
Требования:PHP=7.4-8.5, phpBB >= 3.3.15
ВНИМАНИЕ! Расширение создавалось и проверялось на версии phpBB 3.3.15 и новее, PHP=7.4 и 8.5, на других версиях phpBB т.е. ниже 3.3.15 работоспособность расширения не проверялось!
Описание расширения: Расширение добавляет возможность загрузки изображений на хостинги: сервер форума(по отношению корня форума), imageban.ru, yandex.disk, google.disk, google.photos c последующей вставки тегов ссылок в форму сообщения(с превью или обычных). На страницах создания тем, личных сообщений, быстрого ответа, отображается кнопка "Добавить изображения".
Идея была позаимствована от расширения
BB3ImageUpload(SE/SE2): загрузка изображений на внешние хостинги изображений

Данное расширение создавалось с нуля.
Отличие от BB3ImageUpload(SE/SE2):
  1. Нет функции: Лог загрузки, Обзор изображений, для меня лично это все лишнее(имхо)
  2. Присутствует функция слайдер (у BB3ImageUpload(SE/SE2) нет)
  3. Время ожидания перенаправления страницы (у BB3ImageUpload(SE/SE2) нет)
  4. При выборе метода загрузки, то показывает именно тот блок который вы выбрали (у BB3ImageUpload(SE/SE2) нет)
    Примечание:Сделал показ одиночного блока что бы страница в ACP не становилось портянкой, т.к. в будущем буду добавлять другие методы загрузки.
  5. Нет функции отключения автоматической вставки изображения в сообщение (у BB3ImageUpload(SE/SE2) есть)
  6. Три вида вставки тега: Превью, С подключением функции слайдер и Стандартный(будет показывать размер полного изображение)(у BB3ImageUpload(SE/SE2)Превью и Стандартный, требуется отдельное расширение для показа тега

    Код: Выделить всё

    [img]URL[/img]
    с функцией слайдер)
  7. Жесткое ограничение размера файла, максимум 10Мб на один файл(у BB3ImageUpload(SE/SE2) ограничение связаны с настройками сервера)
    Примечание: Ограничение данного расширения зависят только от самого хостинга изображений, пример: если вы выставите 10Мб в расширении, а у хостинга ограничение 5мб, то файл не загрузиться и появится ошибка.
  8. Ограничение количества загружаемых изображений: максимум 50шт в одно сообщение(у BB3ImageUpload(SE/SE2) без ограничений)
  9. Жесткое ограничение размера миниатюр в блоке «Предпросмотр» (от 100 до 300 px). (у BB3ImageUpload(SE/SE2) без ограничений)
  10. Жесткое ограничение размер превью (в сообщении): (от 100 до 300 px).(у BB3ImageUpload(SE/SE2) нет такой функции)
  11. Кнопка "Добавить изображения" по умолчанию добавляется в страницах создания тем, личных сообщений, быстрого ответа.(у BB3ImageUpload(SE/SE2) есть выбор где можно показывать кнопку)
  12. Удаление изображения из папки хостинга изображения, во всех видах загрузки(у BB3ImageUpload(SE/SE2) только для яндекс и гугл диск)
    Примечание:В данном расширении полностью удаляется загруженное изображение из папки во всех видов загрузки, а так же в блоке "Предпросмотр", тег в сообщении и изображение в форме предпросмотр форума, у расширения BB3ImageUpload(SE/SE2) только тег в сообщении.
  13. Создание папки в хостинге изображения(у BB3ImageUpload(SE/SE2) нет такой функции)
Все выше перечисленные функции в BB3ImageUpload(SE/SE2) это чисто мое наблюдение и с чем я столкнулся в расширении, может в следующих версиях что то будет добавлено/исправлено, кто знает.
Получение данных для расширения
Загрузка на сервер:
  1. Укажите папку (относительно корня phpBB) для сохранения загруженных изображений. Если папка ещё не создана — она будет создана автоматически при нажатии «Отправить».
Imageban.ru:
  1. Кликните по кнопке "Перейти в профиль"(вы должны быть зарегистрированы)
  2. Напротив CLIENT_ID и SECRET_KEY нажать кнопку "Создать новый"
  3. Скопировать значения в соответствующие поля в расширении
  4. Указать ID папки или создать новую.
=============================================================================
Яндекс.Диск:
  1. Нажать на кнопку "Получить(создать)" или перейти по ссылке
    Получить(создать)
  2. Выбрать: Для доступа к API или отладки
  3. В поле "Название вашего сервиса" указать название вашего домена
  4. В поле "Почта для связи" укажите ссылку на почту(обычно подставляется автоматически)
  5. В поле "Доступ к данным" пропишите disk и выбрать это:
    Доступ к папке приложения на Диске: cloud_api:disk.app_folder
    Чтение всего Диска: cloud_api:disk.read
    Запись в любом месте на Диске: cloud_api:disk.write
    Доступ к информации о Диске: cloud_api:disk.info
    Доступ к Яндекс.Диску для приложений: yadisk:disk
  6. Нажать кнопку "Создать приложение", на следующей странице скопировать данные поля "ClientID" в поле "ClientID" расширения и поля "Client secret" в поле "Client secret:"
  7. В расширении нажать на кнопку "Получить токен"
  8. В появившемся окне скопировать код подтверждения и скопировать в поле ввода "Код подтверждения:"
  9. Нажать на кнопку "Получить токен" после он автоматически вставится в поле ввода "OAuth токен:"
  10. Указать существующую папку или создайте новую.
=============================================================================
Google Drive:
  1. В расширении нажать на кнопку "Получить(создать) или перейти по ссылке
    Получить(создать)
     1
  2. Нажать на "CREATE PROJECT"(справа вверху)
    • В поле "Project name" указать "uploadingimages"
    • Нажать "Create"
  3. Нажать "+ ENABLE APIS AND SERVICES" (сверху)
    • Найти и нажать "Google Drive API"
    • Нажать "Enable"
  4. На открывшейся странице-Нажать "Create credentials"
    • В поле "Select an API" выбрать "Google Drive API"(обычно уже автоматически выбран )
    • В поле "What data will you be accessing?" выбрать "User data"
    • Нажать "Next"
    • В поле "App name" указать "uploadingimages"
    • В поле "User support email" выбрать email адрес
    • В поле "Developer contact information" указать email адрес тот же email адрес что выбрали в поле "User support email"
    • Нажать "Save and continue"
    • Ещё раз нажать "Save and continue"
    • В поле "Application type" выбрать "Web application"
    • В поле "Name" указать "uploadingimages
    • В поле "Authorized JavaScript origins" нажать "ADD URIs" и добавить имя домена на котором установлено расширение(как ссылку без последнего слеша)"
    • В поле "Authorized redirect URIs" нажать "ADD URIs" и добавить ссылку указанную в ClientID:, не забудьте в ссылке название домена заменить на свой, должно выглядеть так.
      Изображение
    • Нажать "Create"
    • ВАЖНО! Нужно скачать файл с данными, т.к. возможность скопировать Client secret: дано один раз, но можно будет создать новый.
    • Нажать "Done"
  5. На открывшейся странице выбрать вкладку "CREDENTIALS"
  6. В поле "OAuth 2.0 Client IDs" нажать ссылку "uploadingimages"
    • На открывшейся странице скопировать данные из полей в расширение:"Client ID" в поле "Client ID" и "Client secret" в поле "Client secret"
    • Нажать на "Audience" или перейти по
      ссылке
    • В поле "Publishing status" нажать "Publish app", затем нажать "confirm"
    • В расширении кликните по кнопке "Получить токен"
    • В открывшемся окне выберите почту что указали при создании данных API
    • Укажите ID папки Google Drive для загрузки. Можно вставить полную ссылку на папку — останется только ID. Пустое поле — загрузка в корень «Мой диск» или создайте новую папку
=============================================================================
Как создать Google Photos:
1) В расширении нажать на кнопку "Получить(создать)" или перейти по ссылке
Получить(создать)
 1
2) Нажать на "CREATE PROJECT"(справа вверху)
  • В поле "Project name" указать "uploadingimages"
  • Нажать "Create"
3) Нажать "+ ENABLE APIS AND SERVICES" (сверху)
  • В поисковом поле(Вверху) ввести "Photos Library API" и нажать Enter
  • Выбрать "Google Photos Library API"
  • Нажать "Enable"
4) В левой стороне нажать "Credentials"
5) На открывшейся странице в верху нажать "Create credentials"
6) Из выпадающего списка выбрать "Create OAuth client ID"
7) Нажать на "Configure consent screen"
8) На открывшейся странице нажать "Get started"
  • В поле "App name" прописать "uploadingimages"
  • В поле "User support email" выбрать свою почту
  • Нажать "Next"
  • Выбрать "Internal"(Если доступно), если нет то "External"
  • Нажать "Next"
  • В поле "Email addresses" прописываем свою почту
  • Нажать "Next"
  • Принимаем соглашение "I agree to the Google API Services: User Data Policy." установив галочку
  • Нажать "Continue"
  • Нажать "Create"
9) На открывшейся странице нажать "Create OAuth client"
  • В поле "Application type" выбрать "Web application"
  • В поле "Name" указать "uploadingimages"
  • В поле "Authorized JavaScript origins" нажать "ADD URIs" и добавить имя домена на котором установлено расширение(как ссылку без последнего слеша)
  • В поле "Authorized redirect URIs" нажать "ADD URIs" и добавить ссылку указанную в ClientID:, не забудьте в ссылке название домена заменить на свой, должно выглядеть так.
    Изображение
  • Нажать "Create"
10) В появившемся окне "OAuth client created" нажмите на "Download JONS", что бы скачать файл с данными ID.
  • Скопировать данные из полей в расширение:"Client ID" в поле "Client ID" и "Client secret" в поле "Client secret"
11) Нажать на "Audience" или перейти по
  • В поле "Publishing status" нажать "Publish app", затем нажать "confirm"
12) В расширении нажать на кнопку "Получить токен"
13) В появившемся окне выбрать свою почту, затем в другом окне нажать "Дополнительные настройки"
  • Нажать "Перейти на страницу "main.ru" (небезопасно)"
  • В появившемся окне установите галочку "Выбрать все" и нажать "Продолжить"
=============================================================================
Как создать FTP загрузку:
Рекомендуется отдельная учётная запись FTP только с доступом к папке загрузок для изображений, особенно для загрузки на HDD(роутер).
  1. В поле ввода FTP-хост: указываем данные IP/ имя FTP-сервера.
    • Для загрузки на HDD, подключенный к роутеру: укажите белый статический IP-адрес, который вам выдал ваш провайдер.
    • Для загрузки на сервер, например VDS: укажите имя FTP-сервера, которое было присвоено при создании FTP-аккаунта.
  2. В поле ввода Порт: ни чего не меняем
  3. В поле ввода Логин FTP: указываем данные логин/ имя пользователя FTP-сервера.
    • Для загрузки на HDD, подключенный к роутеру: укажите логин учётной записи с правами только на папку загрузок для изображений.
    • Для загрузки на сервер, например VDS: укажите имя пользователя, которое было присвоено при создании FTP-аккаунта.
  4. В поле ввода Пароль FTP: указываем пароль.
    • Для загрузки на HDD, подключенный к роутеру: укажите пароль, который присвоен учётной записи с правами только на папку загрузок для изображений.
    • Для загрузки на сервер, например VDS: укажите пароль, который присвоен при создании FTP-аккаунта.
  5. В поле ввода Папка на FTP-сервере: указываем папку.
    • Для загрузки на HDD, подключенный к роутеру: укажите название папки, например: images или images/upload; если папки нет, она будет создана.
    • Для загрузки на сервер, например VDS: укажите полный путь на диске до папки images или images/upload, который показывает FileZilla или Total Commander, например: home/(имя пользователя FTP-аккаунта). Примерно должно быть так с папкой для загрузки изображений: home/dims-admin/images. Допускаются латинские буквы, цифры, «_», «-», «/».
  6. В поле ввода Публичный URL картинок: указываем ссылки.
    • Для загрузки на HDD, подключенный к роутеру: включите на роутере «Сервер WebDAV» (или аналог) и укажите здесь HTTP(S)-адрес папки, из которой картинки доступны из интернета — тот же базовый URL, по которому файл открывается в браузере после загрузки по FTP. FTP и WebDAV — разные протоколы: форум загружает по FTP, а в сообщениях и слайдере используется этот публичный WebDAV/HTTP-адрес.
      Пример ссылки:
      https://vask.keenetic.name/webdav/images
    • Для загрузки на сервер, например VDS: укажите HTTP(S)-адрес, по которому файлы открываются в браузере,(без завершающего «/») например:
      https://my-site.ru/images
      .

Данное расширение установлено на этом форуме!
Расширение платное, цена: 650 руб.
Перейти в магазин
 2
Обновление:
Версия 1.1.2
Добавлена загрузка Google Photos
Изображение
Изображение
Версия 1.1.3
Изменения:
  1. Теперь при выборе пункта метода загрузки изображения из впадающего списка, появляется выбранный блок, т.е. если вы выбрали "Загрузка на сервер", то именно этот блок с опциями будет показан. При выборе "Отключено" все блоки скрыты.
    Изображение Изображение
  2. Добавлена функция автоперехода с указанием времени(в миллисекундах) ожидания, если в поле ввода пустое или установлено 0, то включается ручной режим и вам самим нужно будет нажимать кнопки "Отправить" и "« Вернуться на предыдущую страницу"
    Изображение
    ПРИМЕЧАНИЕ! работает только при выборе метода загрузки
Версия 1.1.4
Добавил загрузку по FTP
Изображение Изображение
Мудрость заключается не в том, что бы не делать ошибки, а уметь их исправлять вовремя!
Изображение
Ответить

Вернуться в «Расширения для phpBB3.3.*»