diff --git a/app/streams/streams.php b/app/streams/streams.php new file mode 100644 index 0000000000..69d923f8a6 --- /dev/null +++ b/app/streams/streams.php @@ -0,0 +1,265 @@ + + Portions created by the Initial Developer are Copyright (C) 2018 + the Initial Developer. All Rights Reserved. +*/ + +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('stream_view')) { + //access granted + } + else { + echo "access denied"; + exit; + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//get the action + if (is_array($_POST["streams"])) { + $streams = $_POST["streams"]; + foreach($streams as $row) { + if ($row['action'] == 'delete') { + $action = 'delete'; + break; + } + } + } + +//delete the streams + if (permission_exists('stream_delete')) { + if ($action == "delete") { + //download + $obj = new streams; + $obj->delete($streams); + //delete message + messages::add($text['message-delete']); + } + } + +//get variables used to control the order + $order_by = check_str($_GET["order_by"]); + $order = check_str($_GET["order"]); + +//add the search term + $search = strtolower(check_str($_GET["search"])); + if (strlen($search) > 0) { + $sql_search = " ("; + $sql_search .= "lower(stream_name) like '%".$search."%' "; + $sql_search .= "or lower(stream_location) like '%".$search."%' "; + $sql_search .= "or lower(stream_enabled) like '%".$search."%' "; + $sql_search .= "or lower(domain_uuid) like '%".$search."%' "; + $sql_search .= "or lower(stream_description) like '%".$search."%' "; + $sql_search .= ") "; + } + +//additional includes + require_once "resources/header.php"; + require_once "resources/paging.php"; + +//prepare to page the results + $sql = "select count(stream_uuid) as num_rows from v_streams "; + if ($_GET['show'] == "all" && permission_exists('stream_all')) { + if (isset($sql_search)) { + $sql .= "where ".$sql_search; + } + } else { + $sql .= "where (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; + if (isset($sql_search)) { + $sql .= "and ".$sql_search; + } + } + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; + } + else { + $num_rows = '0'; + } + } + +//prepare to page the results + $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; + $param = "&search=".$search; + if ($_GET['show'] == "all" && permission_exists('stream_all')) { + $param .= "&show=all"; + } + $page = $_GET['page']; + if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } + list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $page; + +//get the list + $sql = "select * from v_streams "; + if ($_GET['show'] == "all" && permission_exists('stream_all')) { + if (isset($sql_search)) { + $sql .= "where ".$sql_search; + } + } else { + $sql .= "where (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; + if (isset($sql_search)) { + $sql .= "and ".$sql_search; + } + } + if (strlen($order_by) > 0) { $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); + unset ($prep_statement, $sql); + +//alternate the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + +//define the checkbox_toggle function + echo "\n"; + +//show the content + echo "
| ".$text['title-streams']." | \n"; + echo " \n"; + echo "|
| \n";
+ echo " ".$text['title_description-stream']." \n"; + echo " | \n";
+ echo " |