22
33require_once ("/usr/local/emhttp/plugins/compose.manager/php/defines.php " );
44
5+ function logger ($ string ) {
6+ $ string = escapeshellarg ($ string );
7+ exec ("logger " .$ string );
8+ }
9+
510function sanitizeStr ($ a ) {
611 $ a = str_replace (". " ,"_ " ,$ a );
712 $ a = str_replace (" " ,"_ " ,$ a );
813 return str_replace ("- " ,"_ " ,$ a );
914}
1015
16+ function execComposeCommandInTTY ($ cmd )
17+ {
18+ global $ socket_name ;;
19+ $ pid = exec ("pgrep -a ttyd|awk '/ \\/ $ socket_name \\.sock/{print \$1}' " );
20+ logger ($ pid );
21+ if ($ pid ) exec ("kill $ pid " );
22+ @unlink ("/var/tmp/ $ socket_name.sock " );
23+ $ command = "ttyd -R -o -i '/var/tmp/ $ socket_name.sock' $ cmd " . " > /dev/null & " ;
24+ exec ($ command );
25+ logger ($ command );
26+ }
27+
1128function echoComposeCommand ($ action )
29+ // {
30+ // global $plugin_root;
31+ // $path = isset($_POST['path']) ? urldecode(($_POST['path'])) : "";
32+ // $unRaidVars = parse_ini_file("/var/local/emhttp/var.ini");
33+ // if ($unRaidVars['mdState'] != "STARTED" ) {
34+ // echo $plugin_root."/scripts/arrayNotStarted.sh";
35+ // logger("Array not Started!");
36+ // }
37+ // else
38+ // {
39+ // $projectName = basename($path);
40+ // if ( is_file("$path/name") ) {
41+ // $projectName = trim(file_get_contents("$path/name"));
42+ // }
43+ // $projectName = sanitizeStr($projectName);
44+ // $path .= "/compose.yml";
45+ // // exec("chmod +x ".escapeshellarg($plugin_root."/scripts/compose.sh"));
46+ // $composeCommand = $plugin_root."/scripts/compose.sh"."&arg1=".$action."&arg2=".$path."&arg3=".$projectName;
47+ // echo $composeCommand;
48+ // }
49+ // }
1250{
1351 global $ plugin_root ;
1452 $ path = isset ($ _POST ['path ' ]) ? urldecode (($ _POST ['path ' ])) : "" ;
@@ -25,10 +63,13 @@ function echoComposeCommand($action)
2563 }
2664 $ projectName = sanitizeStr ($ projectName );
2765 $ path .= "/compose.yml " ;
28- // exec("chmod +x ".escapeshellarg($plugin_root."/scripts/compose.sh"));
29- $ composeCommand = $ plugin_root ."/scripts/compose.sh " ."&arg1= " .$ action ."&arg2= " .$ path ."&arg3= " .$ projectName ;
30- echo $ composeCommand ;
31- }
66+ $ compose_command = join (" " , array (escapeshellarg ($ plugin_root ."scripts/compose.sh " ),escapeshellarg ($ action ),escapeshellarg ($ path ),escapeshellarg ($ projectName )));
67+ logger ($ compose_command );
68+
69+ execComposeCommandInTTY ($ compose_command );
70+ echo "/plugins/compose.manager/php/show_ttyd.php " ;
71+ logger ("/plugins/compose.manager/php/show_ttyd.php " );
72+ }
3273}
3374
3475switch ($ _POST ['action ' ]) {
0 commit comments