diff --git a/app/conference_controls/conference_control_detail_edit.php b/app/conference_controls/conference_control_detail_edit.php index 040905884c..127e3b909f 100644 --- a/app/conference_controls/conference_control_detail_edit.php +++ b/app/conference_controls/conference_control_detail_edit.php @@ -1,4 +1,28 @@ + Portions created by the Initial Developer are Copyright (C) 2018-2023 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ //set the include path $conf = glob("{/usr/local/etc,/etc}/fusionpbx/config.conf", GLOB_BRACE); @@ -45,7 +69,7 @@ $control_digits = $_POST["control_digits"]; $control_action = $_POST["control_action"]; $control_data = $_POST["control_data"]; - $control_enabled = $_POST["control_enabled"] ?: 'false'; + $control_enabled = $_POST["control_enabled"] ?? 'false'; } //process the http post diff --git a/app/conference_controls/conference_control_details.php b/app/conference_controls/conference_control_details.php index 545c347298..2627097a89 100644 --- a/app/conference_controls/conference_control_details.php +++ b/app/conference_controls/conference_control_details.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2018-2019 + Portions created by the Initial Developer are Copyright (C) 2018-2023 the Initial Developer. All Rights Reserved. Contributor(s): @@ -240,4 +240,4 @@ //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file diff --git a/app/conference_controls/conference_control_edit.php b/app/conference_controls/conference_control_edit.php index de175a6281..28bd4907c0 100644 --- a/app/conference_controls/conference_control_edit.php +++ b/app/conference_controls/conference_control_edit.php @@ -1,4 +1,28 @@ + Portions created by the Initial Developer are Copyright (C) 2018 - 2023 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ //set the include path $conf = glob("{/usr/local/etc,/etc}/fusionpbx/config.conf", GLOB_BRACE); @@ -37,7 +61,7 @@ //get http post variables and set them to php variables if (!empty($_POST)) { $control_name = $_POST["control_name"]; - $control_enabled = $_POST["control_enabled"] ?: 'false'; + $control_enabled = $_POST["control_enabled"] ?? 'false'; $control_description = $_POST["control_description"]; } @@ -77,7 +101,7 @@ } //add the conference_control_uuid - if (!is_uuid($_POST["conference_control_uuid"])) { + if (empty($_POST["conference_control_uuid"]) || !is_uuid($_POST["conference_control_uuid"])) { $conference_control_uuid = uuid(); } @@ -111,7 +135,7 @@ } //(is_array($_POST) && empty($_POST["persistformvar"])) //pre-populate the form - if (!empty($_GET) && !empty($_POST["persistformvar"])) { + if (!empty($_GET) && empty($_POST["persistformvar"])) { $conference_control_uuid = $_GET["id"]; $sql = "select * from v_conference_controls "; //$sql .= "where domain_uuid = '$domain_uuid' "; diff --git a/app/conference_controls/resources/classes/conference_controls.php b/app/conference_controls/resources/classes/conference_controls.php index 2d788dffad..478781b0c9 100644 --- a/app/conference_controls/resources/classes/conference_controls.php +++ b/app/conference_controls/resources/classes/conference_controls.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2019 + Portions created by the Initial Developer are Copyright (C) 2019-2023 the Initial Developer. All Rights Reserved. Contributor(s): @@ -90,7 +90,7 @@ if (!class_exists('conference_controls')) { $x = 0; foreach ($records as $record) { //add to the array - if ($record['checked'] == 'true' && is_uuid($record['uuid'])) { + if (!empty($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) { $array[$this->table][$x][$this->name.'_uuid'] = $record['uuid']; $array['conference_control_details'][$x][$this->name.'_uuid'] = $record['uuid']; } @@ -146,17 +146,20 @@ if (!class_exists('conference_controls')) { } //delete multiple records - if (is_array($records) && @sizeof($records) != 0) { + if (!empty($records) && is_array($records) && @sizeof($records) != 0) { + //build the delete array $x = 0; - foreach ($records as $record) { - //add to the array - if ($record['checked'] == 'true' && is_uuid($record['uuid'])) { - $array[$this->table][$x][$this->name.'_uuid'] = $record['uuid']; - } + if (!empty($records) && is_array($records) && @sizeof($records) != 0) { + foreach ($records as $record) { + //add to the array + if (!empty($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) { + $array[$this->table][$x][$this->name.'_uuid'] = $record['uuid']; + } - //increment the id - $x++; + //increment the id + $x++; + } } //delete the checked rows @@ -205,8 +208,8 @@ if (!class_exists('conference_controls')) { //toggle the checked records if (is_array($records) && @sizeof($records) != 0) { //get current toggle state - foreach($records as $record) { - if ($record['checked'] == 'true' && is_uuid($record['uuid'])) { + foreach ($records as $record) { + if (!empty($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) { $uuids[] = "'".$record['uuid']."'"; } } @@ -214,7 +217,7 @@ if (!class_exists('conference_controls')) { $sql = "select ".$this->name."_uuid as uuid, ".$this->toggle_field." as toggle from v_".$this->table." "; $sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") "; $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $database->select($sql, $parameters ?? null, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $row) { $states[$row['uuid']] = $row['toggle']; @@ -225,7 +228,7 @@ if (!class_exists('conference_controls')) { //build update array $x = 0; - foreach($states as $uuid => $state) { + foreach ($states as $uuid => $state) { //create the array $array[$this->table][$x][$this->name.'_uuid'] = $uuid; $array[$this->table][$x][$this->toggle_field] = $state == $this->toggle_values[0] ? $this->toggle_values[1] : $this->toggle_values[0]; @@ -278,15 +281,15 @@ if (!class_exists('conference_controls')) { if (is_array($records) && @sizeof($records) != 0) { //get current toggle state foreach ($records as $record) { - if ($record['checked'] == 'true' && is_uuid($record['uuid'])) { + if (!empty($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) { $uuids[] = "'".$record['uuid']."'"; } } - if (is_array($uuids) && @sizeof($uuids) != 0) { + if (!empty($uuids) && is_array($uuids) && @sizeof($uuids) != 0) { $sql = "select ".$this->name."_uuid as uuid, ".$this->toggle_field." as toggle from v_".$this->table." "; $sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") "; $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $database->select($sql, $parameters ?? null, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $row) { $states[$row['uuid']] = $row['toggle']; @@ -297,17 +300,19 @@ if (!class_exists('conference_controls')) { //build update array $x = 0; - foreach ($states as $uuid => $state) { - //create the array - $array[$this->table][$x][$this->name.'_uuid'] = $uuid; - $array[$this->table][$x][$this->toggle_field] = $state == $this->toggle_values[0] ? $this->toggle_values[1] : $this->toggle_values[0]; + if (!empty($states) && is_array($states) && @sizeof($states) != 0) { + foreach ($states as $uuid => $state) { + //create the array + $array[$this->table][$x][$this->name.'_uuid'] = $uuid; + $array[$this->table][$x][$this->toggle_field] = $state == $this->toggle_values[0] ? $this->toggle_values[1] : $this->toggle_values[0]; - //increment the id - $x++; + //increment the id + $x++; + } } //save the changes - if (is_array($array) && @sizeof($array) != 0) { + if (!empty($array) && is_array($array) && @sizeof($array) != 0) { //save the array $database = new database; $database->app_name = $this->app_name; @@ -352,8 +357,8 @@ if (!class_exists('conference_controls')) { if (is_array($records) && @sizeof($records) != 0) { //get checked records - foreach($records as $record) { - if ($record['checked'] == 'true' && is_uuid($record['uuid'])) { + foreach ($records as $record) { + if (!empty($record['checked']) && $record['checked'] == 'true' && is_uuid($record['uuid'])) { $uuids[] = "'".$record['uuid']."'"; } } @@ -365,7 +370,7 @@ if (!class_exists('conference_controls')) { $sql = "select * from v_".$this->table." "; $sql .= "where ".$this->name."_uuid in (".implode(', ', $uuids).") "; $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $database->select($sql, $parameters ?? null, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { $y = 0; foreach ($rows as $x => $row) { @@ -376,7 +381,7 @@ if (!class_exists('conference_controls')) { //add copy to the description $array[$this->table][$x][$this->name.'_uuid'] = $primary_uuid; - $array[$this->table][$x][$this->description_field] = trim($row[$this->description_field]).' ('.$text['label-copy'].')'; + $array[$this->table][$x][$this->description_field] = trim($row[$this->description_field] ?? '').' ('.$text['label-copy'].')'; //details sub table $sql_2 = "select * from v_conference_control_details where conference_control_uuid = :conference_control_uuid";