Make recordings.php more efficient.

This commit is contained in:
FusionPBX
2017-08-30 19:32:18 -06:00
committed by GitHub
parent d4853b6ce3
commit cd1033846e

View File

@@ -246,10 +246,43 @@
} //if
} //if
//add paging
require_once "resources/paging.php";
//get total recordings from the database
$sql = "select count(recording_uuid) as num_rows from v_recordings from v_recordings \n";
$sql = "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
$num_rows = $row['num_rows'];
}
unset($prep_statement, $row);
//prepare to page the results
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
$param = "&order_by=".$order_by."&order=".$order;
$page = $_GET['page'];
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page);
$offset = $rows_per_page * $page;
//get the recordings from the database
$sql = "select recording_uuid, domain_uuid, recording_filename, recording_name, recording_description from v_recordings ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by ".$order_by." ".$order." ";
$sql .= "limit ".$rows_per_page." offset ".$offset." ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$recordings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
unset ($prep_statement, $sql);
//set alternate row styles
$c = 0;
$row_style["0"] = "row_style0";
$row_style["1"] = "row_style1";
//include the header
$document['title'] = $text['title'];
require_once "resources/header.php";
@@ -273,36 +306,6 @@
echo $text['description']."\n";
echo "<br /><br />\n";
$sql = "select * from v_recordings ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
if (strlen($order_by)> 0) { $sql .= "order by ".$order_by." ".$order." "; }
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$num_rows = count($result);
unset ($prep_statement, $result, $sql);
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
$param = "&order_by=".$order_by."&order=".$order;
$page = $_GET['page'];
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
list($paging_controls, $rows_per_page, $var_3) = paging($num_rows, $param, $rows_per_page);
$offset = $rows_per_page * $page;
$sql = "select * from v_recordings ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by ".$order_by." ".$order." ";
$sql .= "limit ".$rows_per_page." offset ".$offset." ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$result_count = count($result);
unset ($prep_statement, $sql);
$c = 0;
$row_style["0"] = "row_style0";
$row_style["1"] = "row_style1";
echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr>\n";
echo th_order_by('recording_name', $text['label-recording_name'], $order_by, $order);
@@ -325,8 +328,8 @@
if ($_SESSION['recordings']['storage_type']['text'] == 'base64') { $colspan = $colspan - 2; }
if (!(permission_exists('recording_edit') || permission_exists('recording_delete'))) { $colspan = $colspan - 1; }
if ($result_count > 0) {
foreach($result as $row) {
if (is_array($recordings)) {
foreach($recordings as $row) {
//playback progress bar
if (permission_exists('recording_play')) {
echo "<tr id='recording_progress_bar_".$row['recording_uuid']."' style='display: none;'><td class='".$row_style[$c]." playback_progress_bar_background' style='padding: 0; border: none;' colspan='".$colspan."'><span class='playback_progress_bar' id='recording_progress_".$row['recording_uuid']."'></span></td></tr>\n";
@@ -494,4 +497,5 @@ function range_download($file) {
fclose($fp);
}
?>