diff --git a/core/domains/domains.php b/core/domains/domains.php index ae9b415cbc..7f70fd372e 100644 --- a/core/domains/domains.php +++ b/core/domains/domains.php @@ -1,51 +1,40 @@ - Portions created by the Initial Developer are Copyright (C) 2008-2018 - the Initial Developer. All Rights Reserved. + The Initial Developer of the Original Code is + Mark J Crane + Portions created by the Initial Developer are Copyright (C) 2018 - 2019 + the Initial Developer. All Rights Reserved. - Contributor(s): - Mark J Crane + 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"; //redirect admin to app instead if (file_exists($_SERVER["PROJECT_ROOT"]."/app/domains/app_config.php") && !permission_exists('domain_all') && !is_cli()) { header("Location: ".PROJECT_PATH."/app/domains/domains.php"); } -//check permission - if (permission_exists('domain_all') && permission_exists('domain_view')) { - //access granted - } - else { - echo "access denied"; - exit; - } - -//add multi-lingual support - $language = new text; - $text = $language->get(); - //change the domain if (is_uuid($_GET["domain_uuid"]) && $_GET["domain_change"] == "true") { if (permission_exists('domain_select')) { @@ -96,149 +85,201 @@ } } -//redirect the user - if (file_exists($_SERVER["DOCUMENT_ROOT"]."/app/domains/domains.php")) { - $href = '/app/domains/domains.php'; +//check permission + if (permission_exists('domain_all') && permission_exists('domain_view')) { + //access granted + } + else { + echo "access denied"; + exit; } -//includes - require_once "resources/header.php"; - $document['title'] = $text['title-domains']; - require_once "resources/paging.php"; +//add multi-lingual support + $language = new text; + $text = $language->get(); -//get the http values and set them as variables - $search = $_GET["search"]; - $order_by = $_GET["order_by"] != '' ? $_GET["order_by"] : 'domain_name'; +//get the http post data + if (is_array($_POST['domains'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $domains = $_POST['domains']; + } + +//process the http post data by action + if ($action != '' && is_array($domains) && @sizeof($domains) != 0) { + switch ($action) { + case 'copy': + if (permission_exists('domain_add')) { + $obj = new domains; + $obj->copy($domains); + } + break; + case 'toggle': + if (permission_exists('domain_edit')) { + $obj = new domains; + $obj->toggle($domains); + } + break; + case 'delete': + if (permission_exists('domain_delete')) { + $obj = new domains; + $obj->delete($domains); + } + break; + } + + header('Location: domains.php'.($search != '' ? '?search='.urlencode($search) : null)); + exit; + } + +//get order and order by + $order_by = $_GET["order_by"]; $order = $_GET["order"]; -//prepare search - if ($search != '') { - $sql_where = "where ("; - $sql_where .= " lower(domain_name) like :domain_name "; - $sql_where .= " or domain_description like :domain_description "; - $sql_where .= ") "; - $parameters['domain_name'] = '%'.strtolower($search).'%'; - $parameters['domain_description'] = '%'.strtolower($search).'%'; +//add the search string + if (isset($_GET["search"])) { + $search = strtolower($_GET["search"]); + $sql_search = " ("; + $sql_search .= " lower(domain_name) like :search "; + $sql_search .= " or lower(domain_description) like :search "; + $sql_search .= ") "; + $parameters['search'] = '%'.$search.'%'; } -//prepare to page the results - $sql = "select count(*) from v_domains "; - $sql .= $sql_where; +//get the count + $sql = "select count(domain_uuid) from v_domains "; + 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 domains - $sql = "select * from v_domains "; - $sql .= $sql_where; - $sql .= order_by($order_by, $order); +//get the list + $sql = str_replace('count(domain_uuid)', '*', $sql); + $sql .= order_by($order_by, $order, 'domain_name', 'asc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; - $result = $database->select($sql, $parameters, 'all'); - if (is_array($result) && sizeof($result) != 0) { - foreach ($result as $domain) { - $domains[$domain['domain_uuid']]['name'] = $domain['domain_name']; - $domains[$domain['domain_uuid']]['parent_uuid'] = $domain['domain_parent_uuid']; - $domains[$domain['domain_uuid']]['enabled'] = $domain['domain_enabled']; - $domains[$domain['domain_uuid']]['description'] = $domain['domain_description']; - } - } - unset($sql, $sql_where, $parameters, $result, $domain); + $domains = $database->select($sql, $parameters, 'all'); + unset($sql, $parameters); - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); -//show the header and the search - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
".$text['header-domains']." (".$num_rows.")\n"; - echo "
\n"; - echo " "; - echo " "; - echo "
\n"; - echo "
\n"; - echo " ".$text['description-domains']."

\n"; - echo "
\n"; +//include the header + require_once "resources/header.php"; - echo "\n"; - echo "\n"; - echo th_order_by('domain_name', $text['label-domain'], $order_by, $order); - echo ""; - echo th_order_by('domain_description', $text['label-description'], $order_by, $order); - echo "
".$text['label-tools'].""; +//show the content + echo "
\n"; + echo "
".$text['title-domains']." (".$num_rows.")
\n"; + echo "
\n"; if (permission_exists('domain_add')) { - echo "$v_link_label_add"; + echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'link'=>'domain_edit.php']); + } + if (permission_exists('domain_add') && $domains) { + 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; }"]); + } + if (permission_exists('domain_edit') && $domains) { + 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('domain_delete') && $domains) { + 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 "
\n"; + echo "
\n"; + echo "
\n"; + + echo $text['description-domains']."\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + if (permission_exists('domain_add') || permission_exists('domain_edit') || permission_exists('domain_delete')) { + echo " \n"; + } + if ($_GET['show'] == 'all' && permission_exists('domain_all')) { + echo th_order_by('domain_name', $text['label-domain'], $order_by, $order); + } + echo th_order_by('domain_name', $text['label-domain_name'], $order_by, $order); + echo th_order_by('domain_enabled', $text['label-domain_enabled'], $order_by, $order, null, "class='center'"); + echo " \n"; + if (permission_exists('domain_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; } - echo "\n"; echo "\n"; - if (is_array($domains) && sizeof($domains) != 0) { - foreach ($domains as $domain_uuid => $domain) { - $tr_link = (permission_exists('domain_edit')) ? "href='domain_edit.php?id=".escape($domain_uuid)."'" : null; - echo "\n"; - echo " \n"; + if (permission_exists('domain_add') || permission_exists('domain_edit') || permission_exists('domain_delete')) { + echo " \n"; + } + if ($_GET['show'] == 'all' && permission_exists('domain_all')) { + echo " \n"; + } + echo " \n"; - echo " "; - echo " \n"; - echo " \n"; + echo " \n"; + if (permission_exists('domain_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; + } echo "\n"; - $c = ($c == 0) ? 1 : 0; + $x++; } - } //end if results - - echo "\n"; - echo "\n"; - echo "\n"; - echo "
\n"; + echo " \n"; + echo " ".$text['label-domain_description']." 
"; - echo " ".escape($domain['name']).""; - if ($domain['enabled'] != '' && $domain['enabled'] != 'true') { - echo "   (".$text['label-disabled'].")"; + if (is_array($domains) && @sizeof($domains) != 0) { + $x = 0; + foreach ($domains as $row) { + if (permission_exists('domain_edit')) { + $list_row_url = "domain_edit.php?id=".urlencode($row['domain_uuid']); + } + echo "
\n"; + echo " \n"; + echo " \n"; + echo " ".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name'])."\n"; + if (permission_exists('domain_edit')) { + echo " ".escape($row['domain_name'])."\n"; + } + else { + echo " ".escape($row['domain_name']); } echo " "; if (permission_exists('domain_edit')) { - echo "".$text['label-manage'].""; + echo " ".escape($domain['description'])." "; - if (permission_exists('domain_edit')) { - echo "".$v_link_label_edit.""; - } - if (permission_exists('domain_delete')) { - if ($_SESSION["groups"][0]["domain_uuid"] != $domain_uuid && count($_SESSION['domains']) > 1) { - echo "".$v_link_label_delete.""; - } - else { - echo "".$v_link_label_delete.""; - } + else { + echo " \n"; + echo $text['label-'.$row['domain_enabled']]; } echo " ".escape($row['domain_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('domain_add')) { - echo "$v_link_label_add"; + unset($domains); } - echo "
\n"; - echo "
"; - echo "

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