Sever801 (31.10.2011, 10:37) писал:


Радио модуль от Xeona
#42
Отправлено 05 November 2011 - 21:34
это
1) список диджеев с инфой
2) будет заменён чат
3) появится возможность выбрать плеер из 20штук с кодами снизу чтобы можно было поставить на другой сайт
4) инфа о радио
5) админка будет в портале и будет использовать бд (насчёт этого думаю ещё)
#46
Отправлено 06 November 2011 - 21:23
Снеговик (5.11.2011, 22:55) писал:
хранить в файле не удобно.
да и несколько станций в бд хранить лучше.
да согласен с бд удобней но представь у кого то бд сайта загружена по полной иногда бывает и вариант с бд иногда не подходит =) я любитель просто и берегу бд и не нагружаю её если её нагрузить сайт потом полвека будет грузится

#47
Отправлено 06 November 2011 - 21:27
xeon (6.11.2011, 20:23) писал:

чтож там за сервер что бд его вешает? и чем может навредить 1 запрос в бд?
а представь постоянно при загрузке получать инфу о радио с сервера напрямую? а если сервер радио тупит у тя сайт не загрузится.
Сообщение отредактировал Снеговик: 06 November 2011 - 21:28
#48
Отправлено 06 November 2011 - 21:33
CREATE TABLE IF NOT EXISTS `mkp_radio` ( `id` int(2) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `descr` varchar(255) NOT NULL, `ip` varchar(20) NOT NULL, `port` varchar(20) NOT NULL, `mount` varchar(55) NOT NULL, `bitrate` varchar(20) NOT NULL, `CurListeners` int(10) NOT NULL DEFAULT '0', `PeakListeners` int(10) NOT NULL DEFAULT '0', `janre` varchar(55) NOT NULL, `Current_Song` varchar(255) NOT NULL, `date` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
таблица для радио.
делаеш функцию в админке для добавления радио.
парсер сервера в отдельный файл и кроном дергать данные сохранять в бд.
юзер при загрузки страницы получит данных сохраненные в бд . это намного быстрее и минимальная нагрузка на сайт.
плюс нормальный плеер заюзать.
плюс смена станции в плеере без перезагрузки страницы.
вот ето норм модуль будет.
#49
Отправлено 06 November 2011 - 21:51
Снеговик (6.11.2011, 21:33) писал:
CREATE TABLE IF NOT EXISTS `mkp_radio` ( `id` int(2) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `descr` varchar(255) NOT NULL, `ip` varchar(20) NOT NULL, `port` varchar(20) NOT NULL, `mount` varchar(55) NOT NULL, `bitrate` varchar(20) NOT NULL, `CurListeners` int(10) NOT NULL DEFAULT '0', `PeakListeners` int(10) NOT NULL DEFAULT '0', `janre` varchar(55) NOT NULL, `Current_Song` varchar(255) NOT NULL, `date` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
таблица для радио.
делаеш функцию в админке для добавления радио.
парсер сервера в отдельный файл и кроном дергать данные сохранять в бд.
юзер при загрузки страницы получит данных сохраненные в бд . это намного быстрее и минимальная нагрузка на сайт.
плюс нормальный плеер заюзать.
плюс смена станции в плеере без перезагрузки страницы.
вот ето норм модуль будет.
ого вот ты зажег мне придется тогда системную точку модуля переписать напрочь всю ладно попробую
#50
Отправлено 06 November 2011 - 21:59
Снеговик (6.11.2011, 21:33) писал:
CREATE TABLE IF NOT EXISTS `mkp_radio` ( `id` int(2) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `descr` varchar(255) NOT NULL, `ip` varchar(20) NOT NULL, `port` varchar(20) NOT NULL, `mount` varchar(55) NOT NULL, `bitrate` varchar(20) NOT NULL, `CurListeners` int(10) NOT NULL DEFAULT '0', `PeakListeners` int(10) NOT NULL DEFAULT '0', `janre` varchar(55) NOT NULL, `Current_Song` varchar(255) NOT NULL, `date` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
таблица для радио.
вот ток я не понял как это в модуле реализовать примерный код модуля можешь скинуть чтоб со всеми пунктами в бд соединялось (за помощь в копирайтах твой ник допишу )
Сообщение отредактировал xeon: 06 November 2011 - 22:00
#51
Отправлено 06 November 2011 - 23:04
форма добавления
function submit_station() { global $mkportals, $DB, $mklib, $Skin, $mklib_board, $MK_BOARD; if(!$mkportals->member['g_access_cp']) { $message = "{$mklib->lang['re_nosend']}"; $mklib->error_page($message); exit; } $output = " <tr> <td class=\"modulex\"> <form action=\"index.php?ind=radio&op=add_station\" name=\"editor\" method=\"post\" enctype=\"multipart/form-data\"> <table width=\"100%\" border=\"0\"> <tr> <td width=\"5%\">Название радио</td> <td width=\"95%\"> <input type=\"text\" name=\"name\" size=\"52\" class=\"bgselect\" /> </td> </tr> <tr> <td width=\"5%\" valign=\"top\">Описание</td> <td width=\"95%\"> <textarea id=\"descr\" name=\"descr\" rows=\"14\" cols=\"40\"></textarea> </td> </tr> <tr> <td width=\"5%\">IP:</td> <td width=\"95%\"> <input type=\"text\" name=\"ip\" size=\"30\" class=\"bgselect\" /> </td> </tr> <tr> <td width=\"5%\">Порт</td> <td width=\"95%\"> <input type=\"text\" name=\"port\" size=\"20\" class=\"bgselect\" /> </td> </tr> <tr> <td width=\"5%\">Точка монтирования</td> <td width=\"95%\"> <input type=\"text\" name=\"mount\" size=\"52\" class=\"bgselect\" /> </td> </tr> <tr> <td width=\"5%\">Логотип радио</td> <td width=\"95%\"><input type=\"file\" name=\"FILE_UPLOAD\" size=\"50\" class=\"bgselect\" /></td> </tr> <tr> <td colspan=\"2\"><br /></td> </tr> <tr> <td width=\"5%\"></td> <td width=\"95%\" class=\"mkalign1\"> <input type=\"submit\" value=\"Сохранить\" class=\"mkbutton\" /> </td> </tr> </table> </form> </td> </tr> "; $blocks = $Skin->view_block("Добавить радио", $output); $mklib->printpage("1", "1", "Добавить радио, $blocks); }
обработчик
function add_station() { global $mkportals, $DB, $_FILES, $mklib, $mklib_board; if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_send_reviews']) { $message = "{$mklib->lang['re_nosend']}"; $mklib->error_page($message); exit; } $name = $mkportals->input['name']; $descr = $mkportals->input['descr']; $ip = $mkportals->input['ip']; $port = $mkportals->input['port']; $mount = $mkportals->input['mount']; $FILE_UPLOAD = $mkportals->input['FILE_UPLOAD']; $file = $_FILES['FILE_UPLOAD']['tmp_name']; $file_name = $_FILES['FILE_UPLOAD']['name']; if (!$name || !$descr || !$ip || !$port || !$mount) { $message = "вы не заполнили все поля"; $mklib->error_page($message); exit; } $cdata = time(); $query="INSERT INTO mkp_radio(name, descr, ip, port, mount,date)VALUES('$name', '$descr','$ip','$port', '$mount','$cdata)"; $DB->query($query); $DB->close_db(); Header("Location: index.php?ind=radio"); exit; }
если у вас админка в отдельной функции то чтобы в нее внедрить используйте
что то типа
switch($mkportals->input['tip']) { case 'submit_station': >тут форма< break; case 'add_station': >тут обработчик< break; }
#52
Отправлено 09 November 2011 - 04:32
global $DB; $query = "SELECT * FROM mkp_radio order by ip, port, mount"; $res =$DB->query($query); while($row = $DB->fetch_row($res)){ $ip = ($row['ip']); $port = ($row['port']); $mount = ($row['mount']); }
#53
Отправлено 09 November 2011 - 20:15
global $DB; $query = "SELECT * FROM mkp_radio order by ip, port, mount"; $res =$DB->query($query); while($row = $DB->fetch_row($res)){ $ip = ($row['ip']); $port = ($row['port']); $mount = ($row['mount']); }
global $DB; $query = $DB->query( "SELECT * FROM mkp_radio order by id"); while($row = $DB->fetch_row($query)){ $ip = $row['ip']; $port = $row['port']; $mount = $row['mount']; }
Сообщение отредактировал Снеговик: 09 November 2011 - 20:16
#54
Отправлено 10 November 2011 - 11:20
помоги сделать страницу админки и объясни как это потом направить в модуль подключить (в модуле уже сам справлюсь)
вот страница админки на первый вид ужасна
ad_radio.php в админке портала с выводом в модуль
<?php if (!defined("IN_MKP")) { die ("Sorry !! You cannot access this file directly."); } $idx = new mk_ad_radio; class mk_ad_radio { function mk_ad_radio() { global $mkportals; switch($mkportals->input['op']) { case 'add_station': $this->add_station(); break; default: $this->music_admin(); break; } } function music_admin(){ global $mkportals, $DB, $mklib, $Skin, $mklib_board, $MK_BOARD; if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_send_reviews']) { $message = "{$mklib->lang['re_nosend']}"; $mklib->error_page($message); exit; } global $DB; $query = $DB->query( "SELECT * FROM mkp_radio order by id"); while($row = $DB->fetch_row($query)){ $ip = $row['ip']; $port = $row['port']; $mount = $row['mount']; } $content .= ' <tr><td> <table cellspacing="5" cellpadding="5" align="center" border="0" width="100%"> <tr><td align="center" class="titadmin" colspan="2"> <font color=red> Мы подключены сейчас к станции <a href="http://'.$ip.':'.$port.'/status.xsl?mount='.$mount.'" target="_blank">http://'.$ip.':'.$port.'/status.xsl?mount='.$mount.'</a> ! </font> </td></tr> <tr><td align="left" class="titadmin" colspan="2"> Изменение настроек если страница обновилась настройки сохранены: </td></tr> <tr> <td align="left" class="modulex"> Версия модуля. </td> <td align="left" class="modulex"> <font color=green><b>'.$vertikal.'</b></font> // подключение через фаилы модуля </td> </tr> <form action="index.php?ind=ad_radio&mode=add_station" name="editor" method="post" enctype="multipart/form-data"> <tr><td align="center" class="titadmin" colspan="2"> <font color=red>Настройка модуля </font> </td></tr> <tr><td align="left" class="titadmin" colspan="2"> </td></tr> <tr> <td align="left" class="modulex">IP:</td> <td align="left" class="modulex"> <input type="text" name="ip" size="30" class="bgselect" > </td> </tr> <tr> <td align="left" class="modulex">Порт</td> <td align="left" class="modulex"> <input type="text" name="port" size="20" class="bgselect" > </td> </tr> <tr> <td align="left" class="modulex">Точка монтирования</td> <td align="left" class="modulex"> <input type="text" name="mount" size="52" class="bgselect" > </td> </tr> <tr> <td align="left" class="modulex"> Авто плей радио плеера ? </td> <td align="left" class="modulex"> Да <input type="radio" value="1" name="autostart"'.$auto.'> Нет <input type="radio" value="0" name="autostart"'.$auto1.'> </td> </tr> ////////////это в 1-й функции <tr> <td align="left" class="modulex"> Вырубить DJ? </td> <td align="left" class="modulex"> Да <input type="radio" value="1" name="offg"'.$ne.'> Нет <input type="radio" value="0" name="offg"'.$ne1.'> </td> </tr> <tr> <td align="left" class="modulex"> Фальшивый DJ? </td> <td align="left" class="modulex"> Да <input type="radio" value="0" name="off"'.$nee1.'> Нет <input type="radio" value="1" name="off"'.$nee.'> </td> </tr> /////////////////// <tr> <td align="left" class="modulex"> Название радио. </td> <td align="left" class="modulex"> <input type="text" name="name" size="80" class="bgselect" value="'.$name_radio.'"> </td> </tr> <tr> <td align="left" class="modulex"> Ширина блока радио плеера. </td> <td align="left" class="modulex"> <input type="text" name="radio_blok" size="4" maxlength="45" value="'.$radio_blok.'"> </td> </tr> <tr> <td align="left" class="modulex"> Запрет гостей? </td> <td align="left" class="modulex"> Да <input type="radio" value="0" name="guest"'.$chk1.'> Нет <input type="radio" value="1" name="guest"'.$chk.'> </td> </tr> <tr> <td align="left" class="modulex"> Включить кто на радио? </td> <td align="left" class="modulex"> Да <input type="radio" value="0" name="online"'.$nline1.'> Нет <input type="radio" value="1" name="online"'.$nline.'> </td> </tr> <tr> <td align="left" class="modulex">Логотип радио</td> <td align="left" class="modulex"> <input type="file" name="FILE_UPLOAD" size="50" class="bgselect" ></td> </tr> <tr> <td colspan="2"><br /></td> </tr> <tr> <td align="left" class="modulex"></td> <td align="left" class="modulex" class="mkalign1"> <input type="submit" value="Сохранить" class="mkbutton" > </td> </tr> </td></tr> </table></td></tr> </form> </table> </td></tr>'; $output = $Skin->view_block("Админка радио", "$content"); $mklib->printpage_admin("Админка радио", $output); } function add_station(){ global $mkportals, $DB, $_FILES, $mklib, $mklib_board; if(!$mkportals->member['g_access_cp'] && !$mklib->member['g_send_reviews']) { $message = "{$mklib->lang['re_nosend']}"; $mklib->error_page($message); exit; } $name = $mkportals->input['name']; $descr = $mkportals->input['descr']; $ip = $mkportals->input['ip']; $port = $mkportals->input['port']; $mount = $mkportals->input['mount']; $FILE_UPLOAD = $mkportals->input['FILE_UPLOAD']; $file = $_FILES['FILE_UPLOAD']['tmp_name']; $file_name = $_FILES['FILE_UPLOAD']['name']; if (!$name || !$descr || !$ip || !$port || !$mount) { $message = "вы не заполнили все поля"; $mklib->error_page($message); exit; } $cdata = time(); $query="INSERT INTO mkp_radio(name, descr, ip, port, mount,date,online)VALUES('$name', '$descr','$ip','$port', '$mount','$cdata','$online')"; $DB->query($query); $DB->close_db(); Header("Location: index.php?ind=ad_radio"); exit; } } ?>
#55
Отправлено 10 November 2011 - 20:56
в админке портала с выводом в модуль
что это значит??
судя оп твоей полу админке нужна еще таблица в бд для хранения инфы о
1 автоплей или нет
2 ширина блока
3 Вырубить DJ
4 файльшивый dj
5 Включить кто на радио?
опять же надо разделить настройки самого радио и добаление нового радио
Сообщение отредактировал Снеговик: 10 November 2011 - 21:19
#56
Отправлено 10 November 2011 - 22:15
Снеговик (10.11.2011, 19:56) писал:
в админке портала с выводом в модуль
что это значит??
судя оп твоей полу админке нужна еще таблица в бд для хранения инфы о
1 автоплей или нет
2 ширина блока
3 Вырубить DJ
4 файльшивый dj
5 Включить кто на радио?
опять же надо разделить настройки самого радио и добаление нового радио
ну это я вчера ещё понял вот как только это реализовать в коде не совсем допёр
и это должно быть 1 кнопкой
3 Вырубить DJ 4 файльшивый dj
#57
Отправлено 11 November 2011 - 01:32
делаем запрос в бд
INSERT INTO mkp_config (`id`, `chiave`, `valore`) VALUES (NULL, 'mkp_radio', NULL);
файл админки ]]>ad_radio.php]]>
Сообщение отредактировал Снеговик: 11 November 2011 - 01:45
#58
Отправлено 11 November 2011 - 04:21
Снеговик (11.11.2011, 0:32) писал:
делаем запрос в бд
INSERT INTO mkp_config (`id`, `chiave`, `valore`) VALUES (NULL, 'mkp_radio', NULL);
файл админки <span class='inv'><![CDATA[<noindex>]]></span>ad_radio.php<span class='inv'><![CDATA[</noindex>]]></span>
спасибо огромное ты мне помог сделать админку для модуля с модулем сам уже разберусь за помощь вписал тебя в копирайты
Ответить

Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных