diff --git a/app/conference_controls/conference_controls.php b/app/conference_controls/conference_controls.php index bce62e6cea..b3657a8b1e 100644 --- a/app/conference_controls/conference_controls.php +++ b/app/conference_controls/conference_controls.php @@ -1,11 +1,36 @@ + Portions created by the Initial Developer are Copyright (C) 2018 - 2019 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ //includes require_once "root.php"; require_once "resources/require.php"; + require_once "resources/check_auth.php"; + require_once "resources/paging.php"; //check permissions - require_once "resources/check_auth.php"; if (permission_exists('conference_control_view')) { //access granted } @@ -18,132 +43,182 @@ $language = new text; $text = $language->get(); -//get variables used to control the order +//get the http post data + if (is_array($_POST['conference_controls'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $conference_controls = $_POST['conference_controls']; + } + +//process the http post data by action + if ($action != '' && is_array($conference_controls) && @sizeof($conference_controls) != 0) { + switch ($action) { + case 'copy': + if (permission_exists('conference_control_add')) { + $obj = new conference_controls; + $obj->copy($conference_controls); + } + break; + case 'toggle': + if (permission_exists('conference_control_edit')) { + $obj = new conference_controls; + $obj->toggle($conference_controls); + } + break; + case 'delete': + if (permission_exists('conference_control_delete')) { + $obj = new conference_controls; + $obj->delete($conference_controls); + } + break; + } + + header('Location: conference_controls.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; + } + +//get order and order by $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//add the search term - $search = strtolower($_GET["search"]); - if (strlen($search) > 0) { - $sql_search = "where ("; - $sql_search .= "lower(control_name) like :search "; - $sql_search .= "or lower(control_description) like :search "; +//add the search string + if (isset($_GET["search"])) { + $search = strtolower($_GET["search"]); + $sql_search = " ("; + $sql_search .= " lower(control_name) like :search "; + $sql_search .= " or lower(control_description) like :search "; $sql_search .= ") "; $parameters['search'] = '%'.$search.'%'; } -//additional includes - require_once "resources/header.php"; - require_once "resources/paging.php"; - -//prepare to page the results - $sql = "select count(conference_control_uuid) "; - $sql .= "from v_conference_controls "; - $sql .= $sql_search; +//get the count + $sql = "select count(conference_control_uuid) from v_conference_controls "; + if (isset($sql_search)) { + $sql .= "where ".$sql_search; + } $database = new database; $num_rows = $database->select($sql, $parameters, 'column'); - unset($sql); //prepare to page the results $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = ""; - $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); + $param = $search ? "&search=".$search : null; + $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; + list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); + list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); $offset = $rows_per_page * $page; //get the list - $sql = "select * from v_conference_controls "; - //$sql .= "where domain_uuid = :domain_uuid "; - $sql .= $sql_search; - $sql .= order_by($order_by, $order); + $sql = str_replace('count(conference_control_uuid)', '*', $sql); + $sql .= order_by($order_by, $order, 'control_name', 'asc'); $sql .= limit_offset($rows_per_page, $offset); - //$parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; - $result = $database->select($sql, $parameters, 'all'); + $conference_controls = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); -//alternate the row style - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + +//include the header + require_once "resources/header.php"; //show the content - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
".$text['title-conference_controls']."
\n"; - echo " \n"; - echo " \n"; - echo "
\n"; - echo " ".$text['title_description-conference_control']."

\n"; - echo "
\n"; - - echo "\n"; - echo "\n"; - echo th_order_by('control_name', $text['label-control_name'], $order_by, $order); - echo th_order_by('control_enabled', $text['label-control_enabled'], $order_by, $order); - echo th_order_by('control_description', $text['label-control_description'], $order_by, $order); - echo "\n"; - echo "\n"; + if (permission_exists('conference_control_edit') && $conference_controls) { + echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'onclick'=>"if (confirm('".$text['confirm-toggle']."')) { list_action_set('toggle'); list_form_submit('form_list'); } else { this.blur(); return false; }"]); + } + if (permission_exists('conference_control_delete') && $conference_controls) { + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'onclick'=>"if (confirm('".$text['confirm-delete']."')) { list_action_set('delete'); list_form_submit('form_list'); } else { this.blur(); return false; }"]); + } + echo "\n"; + echo ""; + echo button::create(['label'=>$text['button-search'],'icon'=>$_SESSION['theme']['button_icon_search'],'type'=>'submit','id'=>'btn_search','style'=>($search != '' ? 'display: none;' : null)]); + echo button::create(['label'=>$text['button-reset'],'icon'=>$_SESSION['theme']['button_icon_reset'],'type'=>'button','id'=>'btn_reset','link'=>'conference_controls.php','style'=>($search == '' ? 'display: none;' : null)]); + if ($paging_controls_mini != '') { + echo "".$paging_controls_mini."\n"; + } + echo " \n"; + echo " \n"; + echo "
\n"; + echo "\n"; - if (is_array($result) && sizeof($result) != 0) { - foreach($result as $row) { + echo $text['description-conference_controls']."\n"; + echo "

\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "
"; + echo "
\n"; + echo "
".$text['title-conference_controls']." (".$num_rows.")
\n"; + echo "
\n"; if (permission_exists('conference_control_add')) { - echo "$v_link_label_add"; + echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'link'=>'conference_control_edit.php']); } - else { - echo " \n"; + if (permission_exists('conference_control_add') && $conference_controls) { + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'onclick'=>"if (confirm('".$text['confirm-copy']."')) { list_action_set('copy'); list_form_submit('form_list'); } else { this.blur(); return false; }"]); } - echo "
\n"; + echo "\n"; + if (permission_exists('conference_control_add') || permission_exists('conference_control_edit') || permission_exists('conference_control_delete')) { + echo " \n"; + } + echo th_order_by('control_name', $text['label-control_name'], $order_by, $order); + echo th_order_by('control_enabled', $text['label-control_enabled'], $order_by, $order, null, "class='center'"); + echo " \n"; + if (permission_exists('conference_control_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; + } + echo "\n"; + + if (is_array($conference_controls) && @sizeof($conference_controls) != 0) { + $x = 0; + foreach ($conference_controls as $row) { if (permission_exists('conference_control_edit')) { - $tr_link = "href='conference_control_edit.php?id=".$row['conference_control_uuid']."'"; + $list_row_url = "conference_control_edit.php?id=".urlencode($row['conference_control_uuid']); } - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; + if (permission_exists('conference_control_add') || permission_exists('conference_control_edit') || permission_exists('conference_control_delete')) { + echo " \n"; + } + echo " \n"; + if (permission_exists('conference_control_edit')) { + echo " \n"; + echo " \n"; + if (permission_exists('conference_control_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; + } echo "\n"; - if ($c==0) { $c=1; } else { $c=0; } - } //end foreach - unset($result); - } //end if results + $x++; + } + unset($conference_controls); + } - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; + echo " \n"; + echo " ".$text['label-control_description']." 
".escape($row['control_name'])." ".escape($row['control_enabled'])." ".escape($row['control_description'])." "; + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; if (permission_exists('conference_control_edit')) { - echo "$v_link_label_edit"; + echo " ".escape($row['control_name'])."\n"; } - if (permission_exists('conference_control_delete')) { - echo "$v_link_label_delete"; + else { + echo " ".escape($row['control_name']); } echo " \n"; + echo $text['label-'.$row['control_enabled']]; + } + echo " ".escape($row['control_description'])."\n"; + echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); + echo "
\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
 $paging_controls"; - if (permission_exists('conference_control_add')) { - echo "$v_link_label_add"; - } - else { - echo " "; - } - echo "
\n"; - echo "
"; - echo "

"; + echo "\n"; + echo "
\n"; + echo "
".$paging_controls."
\n"; + echo "\n"; + echo "\n"; //include the footer require_once "resources/footer.php";