Open Player это аудиоплеер с открытым исходным кодом, который каждый может установить на свой хостинг. Создавался как альтернатива ныне платному простоплееру.

Рабочая версия: http://music.bonart.org.ua
GitHub проекта: https://github.com/uavn/openplayer, самая свежая версия всегда там.
Новости и обновления в твиттере http://twitter.com/openwebplayer
Фичреквесты, баги, предложения и пожелания принимаются в комментариях к анонсу на хабре, в группе проекта на гугл+, на github в разделе issues, по имейлу, вконтактике и фейсбуке.
Инструкция по установке находится в REEDME файле проекта, который можно увидеть на github.
Если вы хотите помочь проекту:
Яндекс деньги:
41001985742406
Доступные публичные зеркала
http://music.bonart.org.ua, http://f2dclub.ru/music/, http://paused.me, http://yomus.org.ua, http://neprostopleer.com, http://myzz.kz, http://ipleer.kz, http://club-music.kz, http://musiclover.com.ua, http://music.dmin.msk.ru, http://abunai.ru, http://search.nomber1.com, http://music.vsadmin.ru, http://music.for-us.nl, http://music.studiaom.ru, http://187guild.net/music/, http://102media.ru, http://music.nvkznet.ru, http://freak.od.ua/music, http://hardbeats.me/jukebox, http://music.be5.ru, http://music.rinaldus.ru, http://musik.kz, http://openplayer.club-music.kz, http://music.mir05.ru, http://music.mizhgan.ru, http://music.promail.kz, http://player.bestsoundbox.ru, http://mp3ll.net, http://radio.tsigan.org.ua.
Приложение состоит из фалов:
app/ - Папка с аппликейшинами
AppName.php - Один из аппликейшинов
...
assets/ - Временно не исопльзуется, папка для временных файлов
configs/ - Конфиг. В репозитории хранится только app.ini.sample, который нужно скопировать в app.ini и настроить под себя
app.ini.sample
app.ini
i18n/ - Папка для переводов
ua.php
ru.php
...
lib/ - Папка для скриптов общего назначения (парсеры, базовые классы, etc)
Base/
App.php - Базовый аппликейшн, от которого наследуются аппликейшены
DB.php - Базовый класс для работы с базой
Manager.php - Базовый менеджер
Lib.php
...
managers/ - Менеджеры
ManagerName.php
...
views/ - Вьюшки
layouts/ - лэйауты
default.phtml
partials/ - Общие частицы страниц
partialname.phtml
templates/ - вьюшки
appname.php
web/ - Доступная клиенту директория
assets/ - Папка временных файлов, доступных клиенту (музыка)
css/ - Стили
style.css
img/ - Картинки
img.jpg
js/ - JavaScript-ы
js.js
lib/ - Доступные клиенту скрипты общего назначния
lib.js
.htaccess - Апачевый htaccess (ограничение доступа, реврайты)
README
dump.sql - дамп базы данных
index.php - входящий скрипт
аппликейшн:
Класс приложение (плейлист, поиск, пользователь). Каждый аппликейшн состоит из php класса (apps/AppName.php), вида:
namespace App;
class AppName extends \Lib\Base\App {
public function init() {
$manager = new \Manager\SomeManager;
$this->someText = $manager->getSomeData();
}
}
и вьюшки (views/templates/appname.phml) вида:
echo $this->someText Так же аппликейшн использует менеджер.
Менеджер:
Класс для работы с базой данных, вида (managers/SomeManager.php):
namespace Manager;
class SomeManager extends \Lib\Base\Manager {
public function getSomeData() {
$q = "SELECT NOW()";
$res = $this->pdo->query( $q );
return $res->fetchAll( \PDO::FETCH_OBJ );
}
}
Специальный менеджер Manager\User для управления пользователем, напр. получить текущего пользователя
$user = \Manager\User::getUser();
Для отображения аппликейшена где-нибудь достаточно вызвать функцию:
echo $this->render('appname')
из любой вьюшки.
Конфиг:
Для получения значения из конфига нужно воспользоваться классом \Lib\Config:
$test = \Lib\Config::getInstance()->getOption('sectionname', 'parametername', 'defaultvalue');
Лэйаут:
Лэйаут это базовая вьюшка, с шапкой сайта, футером, и др. общими частями.
Переводы:
Для перевода фразы есть функция
__('Translate this');
И если такой перевод описан в нужном файле перевода, он будет применен, если нет - останется Translate this
_GET и _POST:
Для получения данных запроса есть специальный класс \Lib\Request:
$test = \Lib\Request::get('param');
Так же есть методы: getGet, getPost, getRequest, isPost, isGet, getAllGet, getAllPost