function InstallPlugin() { $plugin = $_GET['plugin']; check($plugin, "plugin", __FUNCTION__); global $fppDir, $pluginDirectory, $SUDO; if (file_exists("{$pluginDirectory}/{$plugin}")) { EchoStatusXML('Failure'); error_log("Failure, plugin you're trying to install already exists"); return; } require_once "pluginData.inc.php"; foreach ($plugins as $available_plugin) { if ($available_plugin['shortName'] == $plugin) { exec("export SUDO=\"" . $SUDO . "\"; export PLUGINDIR=\"" . $pluginDirectory . "\"; {$fppDir}/scripts/install_plugin {$plugin} \"" . $available_plugin['sourceUrl'] . "\" \"" . $available_plugin['sha'] . "\"", $output, $return_val); unset($output); if ($return_val != 0) { EchoStatusXML('Failure'); error_log("Failure with FPP install script"); return; } } } EchoStatusXML('Success'); }
function ExtGPIO() { $gpio = $_GET['gpio']; $mode = $_GET['mode']; $val = $_GET['val']; check($gpio, "gpio", __FUNCTION__); check($mode, "mode", __FUNCTION__); check($val, "val", __FUNCTION__); $status = SendCommand(sprintf("ExtGPIO,%s,%s,%s", $gpio, $mode, $val)); $status = explode(',', $status, 14); if ((int) $status[1] >= 0) { $doc = new DomDocument('1.0'); $root = $doc->createElement('Status'); $root = $doc->appendChild($root); $temp = $doc->createElement('Success'); $temp = $root->appendChild($temp); $result = $doc->createTextNode((int) $status[6]); $result = $temp->appendChild($result); echo $doc->saveHTML(); } else { EchoStatusXML('Failed'); } }