Add a CLI version of setcolor.php

This commit is contained in:
Junior 2025-02-23 15:53:38 -05:00
parent 0a47769531
commit acf0c5b846

43
setcolor_cli.php Executable file
View File

@ -0,0 +1,43 @@
#!/usr/bin/php
<?php
require 'header.php';
if ( php_sapi_name() != "cli" ) {
echo "This is a command line only utility.\n";
exit();
}
if ( $argc != 3 ) {
echo "Usage: setcolor_cli.php <6 digit hex color> <target ids separated by commas>\n\n";
exit();
}
$hex = $argv[1];
if ( !ctype_xdigit($hex) || (strlen($hex) != 6) ) {
echo "Invalid six character hex color patter in ARG[1]\n";
exit();
}
$targets = explode(",", $argv[2]);
foreach ( $targets as $target ) {
if ( !is_numeric($target) ) {
echo "Invalid targetd id: {$target}\n";
exit();
}
}
$command = 0x01;
$unique = mt_rand(1, 2000000000);
$red = hexdec(substr($hex, 0, 2));
$green = hexdec(substr($hex, 2, 2));
$blue = hexdec(substr($hex, 4, 2));
var_dump($targets);
foreach ( $targets as $target ) {
$target = intval($target);
$unique = mt_rand(1, 2000000000);
$data = pack("LLLCLLCCC", PACKETFILTER[0], PACKETFILTER[1], $unique, $command, $target, 1, $red, $green, $blue);
transmitMessage($data);
}
?>