diff --git a/app/bridges/app_languages.php b/app/bridges/app_languages.php
index a3cd1aa21e..ce292c0f20 100644
--- a/app/bridges/app_languages.php
+++ b/app/bridges/app_languages.php
@@ -221,4 +221,25 @@
$text['description-bridge_description']['sv-se'] = '';
$text['description-bridge_description']['uk-ua'] = '';
-?>
+ $text['label-bridge_description']['en-us'] = "Description";
+ $text['label-bridge_description']['ar-eg'] = "";
+ $text['label-bridge_description']['de-at'] = "Beschreibung"; //copied from de-de
+ $text['label-bridge_description']['de-ch'] = "Beschreibung"; //copied from de-de
+ $text['label-bridge_description']['de-de'] = "Beschreibung";
+ $text['label-bridge_description']['es-cl'] = "Descripción";
+ $text['label-bridge_description']['es-mx'] = "Descripción"; //copied from es-cl
+ $text['label-bridge_description']['fr-ca'] = "Description"; //copied from fr-fr
+ $text['label-bridge_description']['fr-fr'] = "Description";
+ $text['label-bridge_description']['he-il'] = "";
+ $text['label-bridge_description']['it-it'] = "Descrizione";
+ $text['label-bridge_description']['nl-nl'] = "";
+ $text['label-bridge_description']['pl-pl'] = "Opis";
+ $text['label-bridge_description']['pt-br'] = "Descrição";
+ $text['label-bridge_description']['pt-pt'] = "Descripção";
+ $text['label-bridge_description']['ro-ro'] = "";
+ $text['label-bridge_description']['ru-ru'] = "Описание";
+ $text['label-bridge_description']['sv-se'] = "Beskrivning";
+ $text['label-bridge_description']['uk-ua'] = "Опис";
+ $text['label-bridge_description']['tr-tr'] = "Açıklama";
+
+?>
\ No newline at end of file
diff --git a/app/bridges/bridge_edit.php b/app/bridges/bridge_edit.php
index 0bef472dfd..f821490639 100644
--- a/app/bridges/bridge_edit.php
+++ b/app/bridges/bridge_edit.php
@@ -52,11 +52,27 @@
$bridge_name = $_POST["bridge_name"];
$bridge_destination = $_POST["bridge_destination"];
$bridge_enabled = $_POST["bridge_enabled"];
+ $bridge_description = $_POST["bridge_description"];
}
//process the user data and save it to the database
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
+ //delete the bridge
+ if (permission_exists('bridge_delete')) {
+ if ($_POST['action'] == 'delete' && is_uuid($bridge_uuid)) {
+ //prepare
+ $bridges[0]['checked'] = 'true';
+ $bridges[0]['bridge_uuid'] = $bridge_uuid;
+ //delete
+ $obj = new bridges;
+ $obj->delete($bridges);
+ //redirect
+ header('Location: bridges.php');
+ exit;
+ }
+ }
+
//get the uuid from the POST
if ($action == "update") {
$bridge_uuid = $_POST["bridge_uuid"];
@@ -99,6 +115,7 @@
$array['bridges'][0]['bridge_name'] = $bridge_name;
$array['bridges'][0]['bridge_destination'] = $bridge_destination;
$array['bridges'][0]['bridge_enabled'] = $bridge_enabled;
+ $array['bridges'][0]['bridge_description'] = $bridge_description;
//save to the data
$database = new database;
@@ -118,7 +135,7 @@
header('Location: bridges.php');
return;
}
- } //(is_array($_POST) && strlen($_POST["persistformvar"]) == 0)
+ }
//pre-populate the form
if (is_array($_GET) && $_POST["persistformvar"] != "true") {
@@ -132,6 +149,7 @@
$bridge_name = $row["bridge_name"];
$bridge_destination = $row["bridge_destination"];
$bridge_enabled = $row["bridge_enabled"];
+ $bridge_description = $row["bridge_description"];
}
unset($sql, $parameters, $row);
}
@@ -150,8 +168,9 @@
echo "
\n";
echo "".$text['title-bridge']."
| \n";
echo "\n";
- echo " ";
- echo " ";
+ echo " ";
+ echo " ";
+ echo " ";
echo " | \n";
echo "
\n";
@@ -201,12 +220,23 @@
echo "\n";
echo "\n";
+ echo "\n";
+ echo "| \n";
+ echo " ".$text['label-bridge_description']."\n";
+ echo " | \n";
+ echo "\n";
+ echo " \n";
+ echo " \n";
+ echo $text['description-bridge_description']."\n";
+ echo " | \n";
+ echo "
\n";
+
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
- echo " \n";
+ echo " \n";
echo " | \n";
echo "
";
echo "";
@@ -216,4 +246,4 @@
//include the footer
require_once "resources/footer.php";
-?>
+?>
\ No newline at end of file
diff --git a/app/bridges/bridges.php b/app/bridges/bridges.php
index c27c4c15ae..e13e63e3ff 100644
--- a/app/bridges/bridges.php
+++ b/app/bridges/bridges.php
@@ -39,25 +39,45 @@
$language = new text;
$text = $language->get();
-//get the action
- if (is_array($_POST["bridges"])) {
- $bridges = $_POST["bridges"];
- foreach($bridges as $row) {
- if ($row['action'] == 'delete') {
- $action = 'delete';
- break;
- }
+//get posted data
+ if (is_array($_POST['bridges'])) {
+ $action = $_POST['action'];
+ $bridges = $_POST['bridges'];
+ }
+
+//copy the bridges
+ if (permission_exists('bridge_add')) {
+ if ($action == 'copy' && is_array($bridges) && @sizeof($bridges) != 0) {
+ //copy
+ $obj = new bridges;
+ $obj->copy($bridges);
+ //redirect
+ header('Location: bridges.php');
+ exit;
+ }
+ }
+
+//toggle the bridges
+ if (permission_exists('bridge_edit')) {
+ if ($action == 'toggle' && is_array($bridges) && @sizeof($bridges) != 0) {
+ //toggle
+ $obj = new bridges;
+ $obj->toggle($bridges);
+ //redirect
+ header('Location: bridges.php');
+ exit;
}
}
//delete the bridges
if (permission_exists('bridge_delete')) {
- if ($action == "delete") {
- //download
+ if ($action == 'delete' && is_array($bridges) && @sizeof($bridges) != 0) {
+ //delete
$obj = new bridges;
$obj->delete($bridges);
- //delete message
- message::add($text['message-delete']);
+ //redirect
+ header('Location: bridges.php');
+ exit;
}
}
@@ -107,7 +127,7 @@
//get the list
$sql = str_replace('count(*)', '*', $sql);
- $sql .= order_by($order_by, $order);
+ $sql .= order_by($order_by, $order, 'bridge_name', 'asc');
$sql .= limit_offset($rows_per_page, $offset);
$database = new database;
$bridges = $database->select($sql, $parameters, 'all');
@@ -124,56 +144,98 @@
//include the header
require_once "resources/header.php";
-//define the checkbox_toggle function
- echo "\n";
//show the content
- echo "\n";
- echo " \n";
- echo " | ".$text['title-bridges']." | \n";
- echo " \n";
- echo "
\n";
- echo " \n";
- echo " \n";
- echo " ".$text['title_description-bridge']."
\n";
- echo " | \n";
- echo "
\n";
- echo "
\n";
+ echo $text['title_description-bridge']."\n";
+ echo "
\n";
+
+ echo "\n";
+//handle form actions
+ echo "\n";
+
//include the footer
require_once "resources/footer.php";
-?>
+?>
\ No newline at end of file
diff --git a/app/bridges/resources/classes/bridges.php b/app/bridges/resources/classes/bridges.php
index 808c970c92..360c47175c 100644
--- a/app/bridges/resources/classes/bridges.php
+++ b/app/bridges/resources/classes/bridges.php
@@ -44,36 +44,158 @@ if (!class_exists('bridges')) {
}
//delete multiple bridges
- if (is_array($bridges)) {
- //get the action
- foreach($bridges as $row) {
- if ($row['action'] == 'delete') {
- $action = 'delete';
- break;
+ if (is_array($bridges) && @sizeof($bridges) != 0) {
+ //delete the checked rows
+ foreach($bridges as $x => $row) {
+ if ($row['checked'] == 'true' && is_uuid($row['bridge_uuid'])) {
+ $array['bridges'][$x]['bridge_uuid'] = $row['bridge_uuid'];
+ $array['bridges'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
}
}
- //delete the checked rows
- if ($action == 'delete') {
- $database = new database;
- foreach($bridges as $x => $row) {
- if ($row['action'] == 'delete' or $row['checked'] == 'true') {
- $array['bridges'][$x]['bridge_uuid'] = $row['bridge_uuid'];
- $array['bridges'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
- }
- }
- if (is_array($array) && @sizeof($array) != 0) {
+ if (is_array($array) && @sizeof($array) != 0) {
+ //execute delete
+ $database = new database;
$database->app_name = 'bridges';
$database->app_uuid = 'a6a7c4c5-340a-43ce-bcbc-2ed9bab8659d';
$database->delete($array);
unset($array);
- }
- unset($bridges);
+ //set message
+ message::add($text['message-delete']);
}
+ unset($bridges);
}
}
- } //end the delete function
+ }
- } //end the class
+ /**
+ * toggle bridges
+ */
+ public function toggle($bridges) {
+ if (permission_exists('bridge_edit')) {
+
+ //add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
+ //validate the token
+ $token = new token;
+ if (!$token->validate($_SERVER['PHP_SELF'])) {
+ message::add($text['message-invalid_token'],'negative');
+ header('Location: bridges.php');
+ exit;
+ }
+
+ //toggle the checked bridges
+ if (is_array($bridges) && @sizeof($bridges) != 0) {
+ //get current enabled state of checked bridges
+ foreach($bridges as $x => $row) {
+ if ($row['checked'] == 'true' && is_uuid($row['bridge_uuid'])) {
+ $bridge_uuids[] = "bridge_uuid = '".$row['bridge_uuid']."'";
+ }
+ }
+ if (is_array($bridge_uuids) && @sizeof($bridge_uuids) != 0) {
+ $sql = "select bridge_uuid, bridge_enabled from v_bridges ";
+ $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
+ $sql .= "and ( ".implode(' or ', $bridge_uuids)." ) ";
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ $database = new database;
+ $rows = $database->select($sql, $parameters, 'all');
+ if (is_array($rows) && @sizeof($rows) != 0) {
+ foreach ($rows as $row) {
+ $bridge_states[$row['bridge_uuid']] = $row['bridge_enabled'];
+ }
+ }
+ unset($sql, $parameters, $rows, $row);
+ }
+
+ //build update array
+ $x = 0;
+ foreach($bridge_states as $bridge_uuid => $bridge_state) {
+ $array['bridges'][$x]['bridge_uuid'] = $bridge_uuid;
+ $array['bridges'][$x]['bridge_enabled'] = $bridge_state == 'true' ? 'false' : 'true';
+ $x++;
+ }
+
+ if (is_array($array) && @sizeof($array) != 0) {
+ //execute update
+ $database = new database;
+ $database->app_name = 'bridges';
+ $database->app_uuid = 'a6a7c4c5-340a-43ce-bcbc-2ed9bab8659d';
+ $database->save($array);
+ unset($array);
+ //set message
+ message::add($text['message-update']);
+ }
+ unset($bridges, $bridge_states);
+ }
+
+ }
+ }
+
+ /**
+ * copy bridges
+ */
+ public function copy($bridges) {
+ if (permission_exists('bridge_add')) {
+
+ //add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
+ //validate the token
+ $token = new token;
+ if (!$token->validate($_SERVER['PHP_SELF'])) {
+ message::add($text['message-invalid_token'],'negative');
+ header('Location: bridges.php');
+ exit;
+ }
+
+ //copy the checked bridges
+ if (is_array($bridges) && @sizeof($bridges) != 0) {
+
+ //get checked bridges
+ foreach($bridges as $x => $row) {
+ if ($row['checked'] == 'true' && is_uuid($row['bridge_uuid'])) {
+ $bridge_uuids[] = "bridge_uuid = '".$row['bridge_uuid']."'";
+ }
+ }
+ //create insert array from existing data
+ if (is_array($bridge_uuids) && @sizeof($bridge_uuids) != 0) {
+ $sql = "select * from v_bridges ";
+ $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
+ $sql .= "and ( ".implode(' or ', $bridge_uuids)." ) ";
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ $database = new database;
+ $rows = $database->select($sql, $parameters, 'all');
+ if (is_array($rows) && @sizeof($rows) != 0) {
+ foreach ($rows as $x => $row) {
+ $array['bridges'][$x]['bridge_uuid'] = uuid();
+ $array['bridges'][$x]['domain_uuid'] = $row['domain_uuid'];
+ $array['bridges'][$x]['bridge_name'] = $row['bridge_name'];
+ $array['bridges'][$x]['bridge_destination'] = $row['bridge_destination'];
+ $array['bridges'][$x]['bridge_enabled'] = $row['bridge_enabled'];
+ $array['bridges'][$x]['bridge_description'] = trim($row['bridge_description'].' ('.$text['label-copy'].')');
+ }
+ }
+ unset($sql, $parameters, $rows, $row);
+ }
+ //execute insert
+ if (is_array($array) && @sizeof($array) != 0) {
+ $database = new database;
+ $database->app_name = 'bridges';
+ $database->app_uuid = 'a6a7c4c5-340a-43ce-bcbc-2ed9bab8659d';
+ $database->save($array);
+ unset($array);
+ //set message
+ message::add($text['message-copy']);
+ }
+ unset($bridges);
+ }
+
+ }
+ }
+
+ }
}
/*
@@ -81,4 +203,4 @@ $obj = new bridges;
$obj->delete();
*/
-?>
+?>
\ No newline at end of file
diff --git a/resources/app_languages.php b/resources/app_languages.php
index 90cd31ad61..2641aa0b4a 100644
--- a/resources/app_languages.php
+++ b/resources/app_languages.php
@@ -337,6 +337,27 @@ $text['confirm-copy']['sv-se'] = "Vill du verkligen kopiera detta?";
$text['confirm-copy']['uk-ua'] = "";
$text['confirm-copy']['tr-tr'] = "Bunu gerçekten kopyalamak istiyor musunuz?";
+$text['confirm-toggle']['en-us'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['ar-eg'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['de-at'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['de-ch'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['de-de'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['es-cl'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['es-mx'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['fr-ca'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['fr-fr'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['he-il'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['it-it'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['nl-nl'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['pl-pl'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['pt-br'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['pt-pt'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['ro-ro'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['ru-ru'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['sv-se'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['uk-ua'] = "Do you really want to toggle this?";
+$text['confirm-toggle']['tr-tr'] = "Do you really want to toggle this?";
+
$text['button-apply']['en-us'] = "Apply";
$text['button-apply']['ar-eg'] = "";
$text['button-apply']['de-at'] = "Anwenden"; //copied from de-de
@@ -1154,6 +1175,66 @@ $text['button-qr_code']['ru-ru'] = "QR Код";
$text['button-qr_code']['sv-se'] = "QR Kod";
$text['button-qr_code']['uk-ua'] = "";
+$text['button-toggle']['en-us'] = "Toggle";
+$text['button-toggle']['ar-eg'] = "Toggle";
+$text['button-toggle']['de-at'] = "Toggle";
+$text['button-toggle']['de-ch'] = "Toggle";
+$text['button-toggle']['de-de'] = "Toggle";
+$text['button-toggle']['es-cl'] = "Toggle";
+$text['button-toggle']['es-mx'] = "Toggle";
+$text['button-toggle']['fr-ca'] = "Toggle";
+$text['button-toggle']['fr-fr'] = "Toggle";
+$text['button-toggle']['he-il'] = "Toggle";
+$text['button-toggle']['it-it'] = "Toggle";
+$text['button-toggle']['nl-nl'] = "Toggle";
+$text['button-toggle']['pl-pl'] = "Toggle";
+$text['button-toggle']['pt-br'] = "Toggle";
+$text['button-toggle']['pt-pt'] = "Toggle";
+$text['button-toggle']['ro-ro'] = "Toggle";
+$text['button-toggle']['ru-ru'] = "Toggle";
+$text['button-toggle']['sv-se'] = "Toggle";
+$text['button-toggle']['uk-ua'] = "Toggle";
+
+$text['button-check_all']['en-us'] = "Check All";
+$text['button-check_all']['ar-eg'] = "Check All";
+$text['button-check_all']['de-at'] = "Check All";
+$text['button-check_all']['de-ch'] = "Check All";
+$text['button-check_all']['de-de'] = "Check All";
+$text['button-check_all']['es-cl'] = "Check All";
+$text['button-check_all']['es-mx'] = "Check All";
+$text['button-check_all']['fr-ca'] = "Check All";
+$text['button-check_all']['fr-fr'] = "Check All";
+$text['button-check_all']['he-il'] = "Check All";
+$text['button-check_all']['it-it'] = "Check All";
+$text['button-check_all']['nl-nl'] = "Check All";
+$text['button-check_all']['pl-pl'] = "Check All";
+$text['button-check_all']['pt-br'] = "Check All";
+$text['button-check_all']['pt-pt'] = "Check All";
+$text['button-check_all']['ro-ro'] = "Check All";
+$text['button-check_all']['ru-ru'] = "Check All";
+$text['button-check_all']['sv-se'] = "Check All";
+$text['button-check_all']['uk-ua'] = "Check All";
+
+$text['button-check_none']['en-us'] = "Check None";
+$text['button-check_none']['ar-eg'] = "Check None";
+$text['button-check_none']['de-at'] = "Check None";
+$text['button-check_none']['de-ch'] = "Check None";
+$text['button-check_none']['de-de'] = "Check None";
+$text['button-check_none']['es-cl'] = "Check None";
+$text['button-check_none']['es-mx'] = "Check None";
+$text['button-check_none']['fr-ca'] = "Check None";
+$text['button-check_none']['fr-fr'] = "Check None";
+$text['button-check_none']['he-il'] = "Check None";
+$text['button-check_none']['it-it'] = "Check None";
+$text['button-check_none']['nl-nl'] = "Check None";
+$text['button-check_none']['pl-pl'] = "Check None";
+$text['button-check_none']['pt-br'] = "Check None";
+$text['button-check_none']['pt-pt'] = "Check None";
+$text['button-check_none']['ro-ro'] = "Check None";
+$text['button-check_none']['ru-ru'] = "Check None";
+$text['button-check_none']['sv-se'] = "Check None";
+$text['button-check_none']['uk-ua'] = "Check None";
+
$text['label-total']['en-us'] = "Total";
$text['label-total']['ar-eg'] = "";
$text['label-total']['de-at'] = "Summe"; //copied from de-de
@@ -2450,7 +2531,28 @@ $text['label-context']['ro-ro'] = "";
$text['label-context']['ru-ru'] = "Контекст";
$text['label-context']['sv-se'] = "Context";
$text['label-context']['uk-ua'] = "Контекст";
-
+
+$text['label-copy']['en-us'] = "Copy";
+$text['label-copy']['ar-eg'] = "";
+$text['label-copy']['de-at'] = "Kopieren"; //copied from de-de
+$text['label-copy']['de-ch'] = "Kopieren"; //copied from de-de
+$text['label-copy']['de-de'] = "Kopieren";
+$text['label-copy']['es-cl'] = "Copiar";
+$text['label-copy']['es-mx'] = "Copiar"; //copied from es-cl
+$text['label-copy']['fr-ca'] = "Copier"; //copied from fr-fr
+$text['label-copy']['fr-fr'] = "Copier";
+$text['label-copy']['he-il'] = "העתק";
+$text['label-copy']['it-it'] = "Copia";
+$text['label-copy']['nl-nl'] = "";
+$text['label-copy']['pl-pl'] = "Kopiuj";
+$text['label-copy']['pt-br'] = "Copiar"; //copied from pt-pt
+$text['label-copy']['pt-pt'] = "Copiar";
+$text['label-copy']['ro-ro'] = "";
+$text['label-copy']['ru-ru'] = "Копировать";
+$text['label-copy']['sv-se'] = "Kopiera";
+$text['label-copy']['uk-ua'] = "Копіювати";
+$text['label-copy']['tr-tr'] = "Kopyala";
+
$text['label-music_on_hold']['en-us'] = "Music on Hold";
$text['label-music_on_hold']['ar-eg'] = "موسيقى المؤجلة";
$text['label-music_on_hold']['de-at'] = "Wartemusik"; //copied from de-de
diff --git a/themes/default/app_config.php b/themes/default/app_config.php
index 82d1033c18..8cac6c1579 100644
--- a/themes/default/app_config.php
+++ b/themes/default/app_config.php
@@ -1645,4 +1645,45 @@
$apps[$x]['default_settings'][$y]['default_setting_value'] = "/themes/default/images/logo_side_expanded.png";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the expanded brand image path for the Side menu.";
-?>
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "dde32589-2d0d-4d10-a42a-3948061c17fe";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_bottom_size";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0 0 1px 0";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Sets the border size of the Action Bar.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "8a2d3b59-a54a-4519-b049-4293e1f0dd4a";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_bottom_style";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "solid";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Sets the border style of the Action Bar.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "1f5f0f7b-e779-48d0-b1a6-afa1a2c9cf9e";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_bottom_color";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "#dddddd";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Sets the border color of the Action Bar.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "544cec97-3407-42f8-8627-32f92bcbc46b";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_border_bottom_radius";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "0";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Sets the border radius of the Action Bar.";
+ $y++;
+ $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "9de3beba-3b56-40e3-b312-111674a3b30f";
+ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
+ $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "action_bar_background";
+ $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
+ $apps[$x]['default_settings'][$y]['default_setting_value'] = "rgba(255,255,255,0.9)";
+ $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
+ $apps[$x]['default_settings'][$y]['default_setting_description'] = "Sets the background color/opacity/image of the Action Bar.";
+
+?>
\ No newline at end of file
diff --git a/themes/default/config.php b/themes/default/config.php
index fc180b99dd..9444234533 100644
--- a/themes/default/config.php
+++ b/themes/default/config.php
@@ -1,8 +1,8 @@
";
$v_link_label_add = "";
+ $v_link_label_edit = "";
$v_link_label_delete = "";
$v_link_label_view = "";
$v_link_label_play = "";
@@ -10,4 +10,14 @@
$v_link_label_stop = "";
$v_link_label_download = "";
-?>
+//icon buttons
+ $v_button_icon_add = "";
+ $v_button_icon_edit = "";
+ $v_button_icon_delete = "";
+ $v_button_icon_view = "";
+ $v_button_icon_play = "";
+ $v_button_icon_pause = "";
+ $v_button_icon_stop = "";
+ $v_button_icon_download = "";
+
+?>
\ No newline at end of file
diff --git a/themes/default/css.php b/themes/default/css.php
index c24f5e2676..eafdb903eb 100644
--- a/themes/default/css.php
+++ b/themes/default/css.php
@@ -2035,4 +2035,35 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
div.form_set > .field.nowrap {
white-space: nowrap;
- }
\ No newline at end of file
+ }
+
+/*******************************************************************************/
+
+ div.action_bar {
+ position: -webkit-sticky;
+ position: sticky;
+
+ top: ;
+ text-align: right;
+ border-bottom-width: ;
+ border-bottom-style: ;
+ border-bottom-color: ;
+ border-bottom-left-radius: ;
+ border-bottom-right-radius: ;
+ padding: 10px;
+ background: ;
+ margin: -10px -10px 10px -10px;
+ }