ca. Zeile 7 
ca. Zeile 62 
Code: Alles auswählen
	if ($_POST['CamControl'] === "Start Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' start'.$SUFcmd.'',$output,$return_var);
	} elseif ($_POST['CamControl'] === "Stop Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' stop'.$SUFcmd.'',$output,$return_var);
	} elseif ($_POST['CamControl'] === "Restart Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' restart'.$SUFcmd.'',$output,$return_var);
ca. Zeile 122 
Code: Alles auswählen
$RestartCamsCamd3="<input type=\"checkbox\" name=\"CR[]\" value=\"Camd3\" checked>Camd3</input>\n";
ca. Zeile 125 
ca. Zeile 128 
Code: Alles auswählen
$Camd3Buttons ='<input type="submit" value="Start Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Stop Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Restart Camd3" name="CamControl"/><br><p>';
ca. Zeile 134 
Code: Alles auswählen
if (file_exists("$Camd3script")) { $SHOWbuttons.="$Camd3Buttons\n"; }
ca. Zeile 146 
Code: Alles auswählen
	$RUNCD=exec("ps auxw | grep -v grep | grep $CDVERSION | awk {'print $2'}");
ca. Zeile 152 
Code: Alles auswählen
	if ($RUNCD <> "")
		{$ProzessStatus.="<td> - <td class=tabgreen>Camd3</td>";}
	else
		{$ProzessStatus.="<td> - <td class=tabred>Camd3</td>";}
Damit das auch funktioniert muss man noch dem WebServer-Benutzer 
www-data erlauben den jeweiligen Camd3 Befehl über sudo auszuführen, damit der Befehl dann auch als root ausgeführt wird
Um das zu erreichen müssen wir die entsprechende Zeile über den Befehl 
visudo anpassen - Dieser Befehl öffnet standardmässig eine Datei (/etc/sudoers), allerdings über 
vi - wenn man stattdessen 
nano nutzen möchte, führ man einmal vorher folgenden Befehl aus: 
EDITOR=nano
Aber unbedingt wirklich den Befehl 
visudo benutzen da der Befehl noch mehr macht als nur die Datei mit einem Editor zu öffnen!
Also wie gesagt, den Befehl 
visudo ausführen und dann dort nach einer entsprechenden Zeile suchen die ungefähr so aussehen sollte:
Code: Alles auswählen
www-data ALL=NOPASSWD:/bin/c,/bin/o,/bin/n,/bin/i,/etc/init.d/cron,/usr/bin/last,/tmp/reboot
in diese Zeile fügt ihr dann den /pfad/zum/camd3/script ein, also passend für obige Zeilen laut control.php:
...fals ihr oben einen Symlink angelegt habt könnt ihr aber natürlich auch 
/bin/camd3 nehmen...
Die komplette Zeile sollte dann ungefähr so aussehen:
Code: Alles auswählen
www-data ALL=NOPASSWD:/bin/c,/bin/o,/bin/n,/bin/i,/etc/init.d/cron,/usr/bin/last,/tmp/reboot,/var/emu/script/camd3
Zu guter letzt muss jetzt noch das Script für den Befehl 
i cr angepasst werden (Cam Restart)
-> 
/var/emu/script/ipc-camrestart.sh
Code: Alles auswählen
#!/bin/bash
#
CCcam=0
OScam=0
NewCS=0
Camd3=0
Cams=""
srcv="0.1"
for emu in "$@"; do
	case $emu in
		[cC][cC][cC][aA][mM])
			CCcam=1 ; Cams="$Cams CCcam"
		;;
		[oO][sS][cC][aA][mM])
			OScam=1 ; Cams="$Cams OScam"
		;;
		[nN][eE][wW][cC][sS])
			NewCS=1 ; Cams="$Cams NewCS"
		;;
		[cC][aA][mM][dD]3)
			Camd3=1 ; Cams="$Cams Camd3"
		;;
		[aA][lL][lL])
			CCcam=1 ; OScam=1 ; NewCS=1 ; Camd3=1 ; Cams="CCcam OScam NewCS Camd3"
		;;
	esac
done
Cams=$(echo $Cams | sort)
cd /var/emu/script
if [ "$CCcam" = "1" ]; then
	./cccam stop
	echo ""; sleep 3
fi
if [ "$OScam" = "1" ]; then
	./oscam restart
	echo ""; sleep 2
fi
if [ "$NewCS" = "1" ]; then
	./newcs restart
	echo ""; sleep 2
fi
if [ "$Camd3" = "1" ]; then
	./camd3 restart
	echo ""; sleep 2
fi
if [ "$CCcam" = "1" ]; then
	./cccam start
	echo ""; sleep 1
fi
if [ ! -z "$Cams" ]; then
	echo "Restart der Cams '$Cams' wurde durchgefuehrt"
	echo ""
else
	echo "Usage: $0 [CCcam OScam NewCS Camd3|all]"
	echo "E.g.: $0 CCcam OScam NewCS"
	echo "E.g.: $0 OScam Camd3"
	echo "E.g.: $0 all"
fi
exit 0