Вид топика - Топик с музыкой
Сделал новый вид топика. Позволяет загружать mp3 файлы на сервер drop.io и затем воспроизводить во флэш плеере.
Всё как на скриншоте:

Теперь описание. Делал на основе этой статьи: livestreet.ru/blog/dev_documentation/195.html. Поэтому необходимо изменять некоторые файлы.
Принцип работы:
1. с помощью флэш загрузчика FancyUpload файлы загружаются на сервер с установленным LS. За один раз можно загружать несколько файлов. Тут пример: digitarald.de/project/fancyupload/3-0/showcase/photoqueue/. Есть проблема: заливать можно даже без авторизации как раз из-за флэша. Но заливать можно только файлы с расширением mp3. Проверка на стороне клиента и сервера.
2. колбэком вызывается другой скрипт, который загружает файл с сервера LS на сервер drop.io. Срок хранения — год, и, по идее, продлевается после каждого доступа к файлу. mp3 файл, который был залит на первом шаге удаляется. Процесс может длиться до 20-30 сек. в зависимости от размера файла, т.к. на том сервере он конвертируется.
3. Для каждого mp3 файла генерируется код флэш плеера и инпуты для редактирования информации об исполнителе.
Плюсы:
— хранение файлов на удалённом сервере, отпадает необходимость платить за место/траффик на сервере, где установлен LS;
— возможность загружать файлы пачкой;
Минусы:
— На каждый загружаемый файл генерируются 2 запроса к серверу;
— Каждый загружаемый файл генерирует входящий и исходящий траффик на сервер, где установлен LS;
— не гибкая установка/настройка.
Но если, несмотря на минусы, кому-то нужно это дело, отдам бесплатно, помогу настроить в меру сил и времени.
Upd.
Вот ссылка на скачку, детальное описание постараюсь в понедельник-вторник опубликовать.
narod.ru/disk/23869930000/topic_music.tgz.html
Кратко:
— тем, у кого не было никаких изменений в файлах ядра, просто распаковать (структура папок в архиве совпадает со структурой в релизе LS). Остальным — или сравнивать, где изменения, или ждать, пока я напишу :); Пока реализовано только для скина «new». Я опишу, как для других.
— выполняем запрос из файла topic_music.sql;
— в папке uploads создаём папку music и даём на нёе права на запись для вэб-сервера;
— в файле classes/lib/external/DropBox/drop_io_api.php меняем API на свой. Свой бесплатно получаем тут: api.drop.io/. Зачем? Ну на мой API ключ стоит лимит — 2000 requests per 15 minutes. Мне хватает, нескольким тоже будет хватать, а если не поменять, то может наступить момент, когда перестанет хватать. 2000 запросов в 15 минут у всех бесплатных ключей.
Всё, можно пользоваться. Если что-то не будет работать — пишите в личку или в комментарии, посмотрю.
Всё как на скриншоте:

Теперь описание. Делал на основе этой статьи: livestreet.ru/blog/dev_documentation/195.html. Поэтому необходимо изменять некоторые файлы.
Принцип работы:
1. с помощью флэш загрузчика FancyUpload файлы загружаются на сервер с установленным LS. За один раз можно загружать несколько файлов. Тут пример: digitarald.de/project/fancyupload/3-0/showcase/photoqueue/. Есть проблема: заливать можно даже без авторизации как раз из-за флэша. Но заливать можно только файлы с расширением mp3. Проверка на стороне клиента и сервера.
2. колбэком вызывается другой скрипт, который загружает файл с сервера LS на сервер drop.io. Срок хранения — год, и, по идее, продлевается после каждого доступа к файлу. mp3 файл, который был залит на первом шаге удаляется. Процесс может длиться до 20-30 сек. в зависимости от размера файла, т.к. на том сервере он конвертируется.
3. Для каждого mp3 файла генерируется код флэш плеера и инпуты для редактирования информации об исполнителе.
Плюсы:
— хранение файлов на удалённом сервере, отпадает необходимость платить за место/траффик на сервере, где установлен LS;
— возможность загружать файлы пачкой;
Минусы:
— На каждый загружаемый файл генерируются 2 запроса к серверу;
— Каждый загружаемый файл генерирует входящий и исходящий траффик на сервер, где установлен LS;
— не гибкая установка/настройка.
Но если, несмотря на минусы, кому-то нужно это дело, отдам бесплатно, помогу настроить в меру сил и времени.
Upd.
Вот ссылка на скачку, детальное описание постараюсь в понедельник-вторник опубликовать.
narod.ru/disk/23869930000/topic_music.tgz.html
Кратко:
— тем, у кого не было никаких изменений в файлах ядра, просто распаковать (структура папок в архиве совпадает со структурой в релизе LS). Остальным — или сравнивать, где изменения, или ждать, пока я напишу :); Пока реализовано только для скина «new». Я опишу, как для других.
— выполняем запрос из файла topic_music.sql;
— в папке uploads создаём папку music и даём на нёе права на запись для вэб-сервера;
— в файле classes/lib/external/DropBox/drop_io_api.php меняем API на свой. Свой бесплатно получаем тут: api.drop.io/. Зачем? Ну на мой API ключ стоит лимит — 2000 requests per 15 minutes. Мне хватает, нескольким тоже будет хватать, а если не поменять, то может наступить момент, когда перестанет хватать. 2000 запросов в 15 минут у всех бесплатных ключей.
Всё, можно пользоваться. Если что-то не будет работать — пишите в личку или в комментарии, посмотрю.
81 комментарий
Очень удивительно видеть(в хорошем смысле) такие хаки от вчера зарегистрировавшегося новичка.
З.Ы. Если есть аналог drop.io с возможностью с пом. апи заливать mp3 и с возможностью его потом потоково воспроизвести, киньте пример, может добавлю тогда другие сервисы.
Только приступил к тестированию.
В чем может быть проблема?
Ошибка «Невозможно получить параметры удалённого сервера.» — это проблема с коммуникацией с drop.io. Yt работает curl, закрыт исходящий трафик, лежит drop.io
Ошибка «Невозможно загрузить файл на удалённый сервер.» — или проблема с drop.io, или max_execution_time поставить секунд на 300 (через php.ini или .htaccess)
Нет включен.
Адрес локального сайта
работают ли запросы с внешними серверами в других случаях?
Upload failed: timeout #0
Из-за чего может быть? Причем пишет Upload completed
З.Ы. Попробую довести до ума сообщения об ошибках.
Можно попробовать в .htaccess добавить строчку
php_value max_execution_time 300
Если ошибки не выдаст, то значит поменялось.
Будут еще предложения? )))
Кстати заметил еще один прикол, если зайти в сам топик, то плеер есть, а если смотреть на него с главной(например) то плеера нету.
А на главной я плееры и не размещал, они как бы под катом.
Так в итоге у кого-нибудь, кроме автора, получилось все до конца? Нормально зарегистрировать API, поставить все ручками и загрузить mp3 без ошибок на реальном проекте?
Глянуть можно
Автору респект! Сам хотел сделать такое как раз с drop.io а тут бах и уже кто то постарался :)
Вопрос про drop.io. Ключ свой? Какой лимит? А то сверху жаловались на проблемы при регистрации.
А так же результат выполнения разный. У Вас после аплоада сразу показывается плэйер, а у меня ничего, хотя «Upload complite»
Ставил на sweb.ru, изменения добавлял руками, sql запрос выполнил
В чем может быть проблема?!?
Только вопрос, а как сделать так, что бы вся музыка хранилась у меня на сервере(без ее заливки куда либо)?
И, второе, а можно ли будет как-то по ссылке (скажем — МУЗЫКА) отсортировать все виды топика музыка и вывести отдельно?
Спасибо!
А решение сделано на 1.0
— не от сюда ли большое количество рабочих проблем?
П.С. у самого встало коряво и не грузит большие файлы, а малые грузит, но не вставляет плейер.
В нем после:
Добавь:
Тогда плеер будет выводится всегда в списке топиков.
Лично я сделал так:
Так получается что плеер прячестя под кат, если сам кат существует, если же ката нету, тогда плеер выводится в списке топиков.
«Читать дальше»
«Читать дальше»
Решения swat'a рабочее и единственно-правильное =)
Проблема вскрылась практически сразу.
А дело, видимо, в том, что сначала файл грузится на серв лс, потом отправляется на drop.io, потом удаляется с серва лс.
НО! Проблема в том, что если загрузка на drop.io не прошла, то файлик остается, таким образом забивается место.
Надо бы какой то чистящий мод добавить )
Так же firebug нашел ошибку в коде
это что-то новенькое.
На моем сайте процесс зависает на этом этапе.
secfilterengine off в .htaccess не помог, т.к. mod_security не установлен на сервере.
В чем может быть проблема?
Ключ свой юзал? Файл по меньше размером пробовал загрузить? А то я смотрю 10 метров…
ключ свой.
файлы до 2 мб грузятся нормально, больше 2х вот такая вот борода…
У меня на сайте (в ff периодически, в опере постоянно) выходит ошибка при загрузке страницы:
Причем при загрузке страницы,
Хотите верьте, хотите нет, но сегодня в течении вечера пытался более 10 раз загрузить один и тот же файл как на своем новом проекте, куда только что поставил скрипт, так и на чужом (SWATовском :) — не получалось. И вот после того как я отписал коммент выше (закон подлости) — тот же самый файл загрузился и на проекте SWATa и на моем сыром проекте.
Жесть.
сейчас уже несколько раз подряд все без проблем.
вот только времени скрипту не хватает для загрузки 22 метров ;(
и дальше идет форма загрузки фото и внизу идет флэш-загрузчик…
Было бы очень интересно.
Вот такая вот ошибка вылезла, когда один из пользователей добавлял музыку. Что оно значит? :)
п.с. в jevix.php добавил