#1
Мод написан буквально за час.
Автор dimka3210.
Установка займёт около 7 минут.
Использует технологии ajax. Работает с БД.
+1 запрос на страницу профиля.
открыть usercp_viewprofile.php
SQL-запрос!!!
Создать в директории files директорию audio. Назначить права 777.
Файл приложеный в аттаче закинуть в /includes/ucp/
Автор dimka3210.
Установка займёт около 7 минут.
Использует технологии ajax. Работает с БД.
+1 запрос на страницу профиля.
открыть usercp_viewprofile.php
#найти if (!bf($profiledata['user_opt'], 'user_opt', 'allow_dls') || (IS_AM || $profile_user_id))
#Выше добавить if($bb_cfg['module_audio']) include(INC_DIR .'ucp/audio_userprofile.php');открыть config.php
# в самый низ добавить // Module AUDIO $bb_cfg['module_audio'] = true; $bb_cfg['max_audio_size'] = 10*4194304; $bb_cfg['max_user_track'] = 10;открыть usercp_viewprofile .tpl
# найти <a name="torrent"></a> <div class="spacer_8"></div>
# ниже добавить
<!-- IF $bb_cfg['module_audio'] -->
<!-- IF GET -->
<table class="bordered w100">
<tr>
<th colspan="4" class="thHead">Аудиозаписи пользователя:</th>
</tr>
<!-- IF INPUT -->
<tr>
<td colspan="4" class="row2">
<form enctype="multipart/form-data" method="POST">
<div align="center">
<input type="file" name="audiofile" /><input type="text" name="audioname" onfocus="if(this.value=='Введите название...') this.value='';" onblur="if(this.value=='') this.value='Введите название...';" value="Введите название..." />
<input type="submit" value="Отправить" name="audio" />
</div>
</form>
</td>
</tr>
<!-- ENDIF -->
<!-- BEGIN audio -->
<tr id="tr{audio.II}">
<td colspan="3" class="row1" align="center" valign="center">
{audio.ECHO}
</td>
<td class="row1" align="center">Добавлено: {audio.DATETIME}
<hr />
<a href="{audio.DOWNLOAD}">Скачать <b>{audio.FILENAME}</b></a>
<!-- IF DELETE -->
<hr />
<a href="#tr{audio.II}" onclick="data_delete_user('tr{audio.II}'); ajax.exec({action: 'delete_user_audio_ajax', id: '{audio.ID}'});">Удалить</b></a>
<!-- ENDIF -->
</td>
</tr>
<!-- END audio -->
</table>
<!-- ENDIF -->
<!-- ENDIF -->* # найти
$('#user-opt-save-btn').click(function(){
this.disabled = 1;
$('#user-opt-resp').html(' ');
ajax.change_user_opt();
});
});# ниже добавить
function data_delete_user(data){
document.getElementById(data).style.display='none';
}ajax.php# в массив $valid_actions новую ячейку
'delete_user_audio_ajax' => array('user'),# и перед последней фигурной скобкой
function delete_user_audio_ajax(){
$id = $this->request['id'];
$sql = "SELECT * FROM `bb__user_audio` WHERE `audio_id` = {$id}";
if($result = DB()->fetch_row($sql)){
DB()->query("DELETE FROM `bb__user_audio` WHERE `audio_id` = {$id}");
if(unlink($result['audio_file']))
$this->ajax_die("Файл успешно удалён");
else
$this->ajax_die("Файл не найден");
}
} SQL-запрос!!!
CREATE TABLE IF NOT EXISTS `bb__user_audio` ( `audio_id` mediumint(5) NOT NULL AUTO_INCREMENT, `user_id` int(5) NOT NULL, `audio_file` varchar(50) NOT NULL, `audio_add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `audio_title` varchar(50) NOT NULL, PRIMARY KEY (`audio_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=35 ;
Создать в директории files директорию audio. Назначить права 777.
Файл приложеный в аттаче закинуть в /includes/ucp/