Есть желание написать модуль для asterisk. Решил начать с простого - выборки звонков, а там может и дальше. И вот туплю - не выходит.
Рабочий, без МД, код выдачи страницы с записями на автоответчике:
Код: Выделить всё
<?php
// определяем начальные данные
$db_host = 'ХОСТ';
$db_name = 'БАЗА АСЕРИСК';
$db_username = 'ПОЛЬЗОВАТЕЛЬ';
$db_password = 'ПАРОЛЬ';
$db_table_to_show = 'cdr';
// соединяемся с сервером базы данных
$connect_to_db = mysql_connect($db_host, $db_username, $db_password)
or die("Could not connect: " . mysql_error());
// подключаемся к базе данных
mysql_select_db($db_name, $connect_to_db)
or die("Could not select DB: " . mysql_error());
// выбираем все значения из таблицы
$qr_result = mysql_query("select * from " . $db_table_to_show . " WHERE filename <> 'none'")
or die(mysql_error());
// выводим на страницу сайта заголовки HTML-таблицы
echo '<table border="1" bgcolor="#ffffff">';
echo '<thead>';
echo '<tr>';
echo '<th>Время</th>';
echo '<th>С</th>';
echo '<th>На</th>';
echo '<th>Файл</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL
while($data = mysql_fetch_array($qr_result)){
echo '<tr>';
echo '<td>' . $data['calldate'] . '</td>';
echo '<td>' . $data['src'] . '</td>';
echo '<td>' . $data['dst'] . '</td>';
echo '<td><audio src="/cached/records/'. $data['filename'] . '" controls></audio></td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
// закрываем соединение с сервером базы данных
mysql_close($connect_to_db);
?>
Пытаюсь сделать вывод записей.
Темплейт:
Код: Выделить всё
<!-- table search records -->
[#if ARECORDS#]
<table border="1" bgcolor="#ffffff">
<thead>
<tr>
<th><#LANG_ADATE#></th>
<th><#LANG_AFROM#></th>
<th><#LANG_ATO#></th>
<th><#LANG_ARECORD#></th>
</tr>
</thead>
<tbody>
[#begin ARECORDS#]
<tr>
<td>[#calldate#]</td>
<td>[#src#]</td>
<td>[#dst#]</td>
<td><audio src="[#AFILEDIR#]'.[#filename#]. '" controls></audio></td>
</tr>
[#end ARECORDS#]
</tbody>
</table>
[#else RESULT#]
<#LANG_ANORECORDS#>
[#CALLDATE#]
[#endif ARECORDS#]
Код: Выделить всё
<?php
/*
* @version 0.1 (wizard)
*/
$db_host = $this->config['A_HOST'];
$db_port = $this->config['A_PORT'];
$db_name = $this->config['A_BASE'];
$db_username = $this->config['A_USERNAME'];
$db_password = $this->config['A_PASSWORD'];
$db_table = $this->config['A_TABLE'];
// соединяемся с сервером базы данных
$ast_db = mysql_connect($db_host, $db_username, $db_password)
or die("Could not connect: " . mysql_error());
// подключаемся к базе данных
mysql_select_db($db_name, $ast_db)
or die("Could not select DB: " . mysql_error());
// выбираем все значения из таблицы
$qry = mysql_query("SELECT * FROM ".$db_table." WHERE filename <> 'none'")
or die(mysql_error());
while ($res = mysql_fetch_array($qry)) {
$out['ARECORDS']['CALLDATE'] = $res['CALLDATE'];
$out['ARECORDS']['SRC'] = $res['SRC'];
$out['ARECORDS']['DST'] = $res['DST'];
$out['ARECORDS']['FILENAME'] = $res['FILENAME'];
}
mysql_close($ast_db);
?>

Ткните носом, пожалуйста, как это грамотно сделать?
Заранее благодарен.