public function action_default() { $GLOBALS['just_content'] = true; if (isset($_SESSION['user'])) { $vmID = $_GET['vmID']; try { $vm = new QemuVm($vmID); } catch (Exception $e) { return $content . "<div class='notice error'>Unbekannte VM</div>"; } if ($vm->isOwner()) { if ($vm->status == QemuMonitor::RUNNING) { $content = ' <!--[if !IE]>--> <applet archive="tightvnc-jviewer.jar" code="com.glavsoft.viewer.Viewer" width="820" height="640"> <param name="archive" value="tightvnc-jviewer.jar" /> <param code="com.glavsoft.viewer.Viewer" /> <param name="Host" value="10.11.12.1" /> <param name="Port" value="' . $vm->vnc_port . '" /> <param name="OpenNewWindow" value="no" /> <param name="Password" value="' . $vm->password . '"> <param name="ShowControls" value="yes" /> <param name="AllowClipboardTransfer" value="yes" /> <param name="JpegImageQuality" value="Lossless" /> </applet>'; } else { $content = "<div class='notice warning'>Die VM scheint aus zu sein</div>"; } } else { $content = "<div class='notice error'>Du hast keinen Zugriff auf diese VM</div>"; } } else { $content = "<div class='notice warning'>Du musst eingeloggt sein</div>"; } return $content; }
public function action_stop() { Routing::getInstance()->appendRender($this, "action_default"); $vm = new QemuVm($_GET['vmID']); if ($vm->isOwner()) { if ($vm->status == QemuMonitor::RUNNING) { try { $vm->connect(); } catch (Exception $e) { $vm->setStatus(QemuMonitor::SHUTDOWN); return "<div class='notice warning'>Die VM scheint bereits aus zu sein.</div>"; } if (!isset($e)) { $vm->shutdown(); return "<div class='notice success'>Die VM wird ausgeschaltet.</div>"; } } else { return "<div class='notice warning'>Die VM scheint bereits aus zu sein.</div>"; } } else { return "<div class='notice error'>Sie besitzen nicht die Rechte die VM zu stoppen</div>"; } }
<?php include './config.php'; include './classes/Helper.class.php'; Helper::loadClasses(); if (isset($_SESSION['user'])) { $vmID = (int) $_GET['vmID']; $vm = new QemuVm($vmID); if ($vm->isOwner()) { if ($vm->status == QemuMonitor::RUNNING) { $vm->connect(); $path = $GLOBALS['config']['screenshot_dir'] . '/vm_' . $vm->vmID . '_' . date("Y_m_d_h_i_s"); $screen = $vm->createScreenshot($path); if ($screen) { header("Content-Type: image/png"); echo file_get_contents($path . ".png"); } else { echo "Fehler"; } } } }