diff --git a/app/registrations/registrations.php b/app/registrations/registrations.php index d92a51789a..2bbed51178 100644 --- a/app/registrations/registrations.php +++ b/app/registrations/registrations.php @@ -69,6 +69,68 @@ $show = trim($_REQUEST["show"]); if ($show == "all") { $profile = 'all'; } +//set the registrations variable + $registrations = $_REQUEST["registrations"]; + +//get the action and remove items from the array that are not checked + if (is_array($registrations)) { + $x = 0; + foreach ($registrations as $row) { + //get the action + switch ($row['action']) { + case "unregister": + $action = 'unregister'; + break; + case "provision": + $action = 'provision'; + break; + break; + case "reboot": + $action = 'reboot'; + break; + } + //unset rows that were not selected + if (!isset($row['checked'])) { + unset($registrations[$x]); + } + //increment the id + $x++; + } + } + +//create the event socket connection + $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + +//user registrations + if (isset($action)) { + if (is_array($registrations)) { + foreach ($registrations as $row) { + if ($fp) { + //get the vendor + $vendor = device::get_vendor_by_agent($row['agent']); + //prepare the command + if ($action == "unregister") { + $command = "sofia profile ".$row['profile']." flush_inbound_reg ".$row['user']." reboot"; + } + if ($action == "provision") { + $command = "lua app.lua event_notify ".$row['profile']." check_sync ".$row['user']." ".$vendor; + } + if ($action == "reboot") { + $command = "lua app.lua event_notify ".$row['profile']." reboot ".$row['user']." ".$vendor; + } + //send the command + $response = event_socket_request($fp, "api ".$command); + $response = event_socket_request($fp, "api log notice ".$command); + } + } + } + } + +//show the response + if (isset($response)) { + messages::add($text['label-event']." ".ucwords($cmd)." ".$text['label-response'].htmlentities($response)); + } + //define variables $c = 0; $row_style["0"] = "row_style0"; @@ -95,28 +157,46 @@ //count the registrations $registration_count = 0; - if (count($registrations) > 0) { + if (is_array($registrations)) { foreach ($registrations as $row) { - //search $matches = preg_grep ("/$search/i",$row); if ($matches != FALSE) { $registration_count++; } } } + + //define the checkbox_toggle function + echo "\n"; + //show the registrations + echo "