public function __construct() { //$this->setCountry("Earth"); $this->setEndpointUrl("http://maps.google.com/maps/geo?"); //API Key will be collected from the database in future if (!($vhost = VirtualHost::getCurrentVirtualHost())) { $this->setAPIKey("0"); } else { $this->setAPIKey($vhost->getGoogleAPIKey()); } }
/** * Set allowed context of concrete directive */ protected function setAllowedContext() { $this->allowedContext = [VirtualHost::getFullName()]; }
/** * Get the default network * * @return object A Network object, NEVER returns null. * * @static * @access public */ public static function getDefaultNetwork() { $retval = null; $vhost = VirtualHost::getCurrentVirtualHost(); if ($vhost == null) { $vhost = VirtualHost::getDefaultVirtualHost(); } return $vhost->getDefaultNetwork(); }
/** * Remove a parked domain from the current virtual host * @param string $domainName Parked domain name to remove * @return boolean */ public function removeParkedDomain($domainName) { // Load parked domain object $vhost = new VirtualHost($this->db); $vhost->domainName = $domainName; $rc = $vhost->get(); if ($rc === false) { Log::error('Unknown parked domain'); return false; } // Make sure this is a parked domain and not a virtual host if ($vhost->parkedUnder == '') { Log::error('The domain \'' . $vhost->domainName . '\' is not a parked domain, but a virtual host'); return false; } Log::debug('Delete parked domain: ' . $domainName); // Full home directory path $home = $this->home . '/' . $this->unixName; // Delete etc $etcDir = $home . '/etc/' . $domainName; if (is_dir($etcDir)) { exec('/usr/bin/rm -rf ' . escapeshellarg($etcDir) . ' 2>/dev/null'); } // Delete mail $mailDir = $home . '/mail/' . $domainName; if (is_dir($mailDir)) { exec('/usr/bin/rm -rf ' . escapeshellarg($mailDir) . ' 2>/dev/null'); } // Delete NSD configuration and zone files if (is_file(Config::read('nsd|directoryConfD') . '/' . $domainName . '.conf')) { unlink(Config::read('nsd|directoryConfD') . '/' . $domainName . '.conf'); } if (is_file(Config::read('nsd|directoryConfD') . '/' . $domainName . '.zone')) { unlink(Config::read('nsd|directoryConfD') . '/' . $domainName . '.zone'); } // Delete vhost directory if (is_link('/etc/dovecot/vhost/' . $domainName)) { unlink('/etc/dovecot/vhost/' . $domainName); } // Delete Apache virtual host file if (is_file(Config::read('apache|directoryConfD') . '/' . $domainName . '.conf')) { unlink(Config::read('apache|directoryConfD') . '/' . $domainName . '.conf'); } // Delete Apache log files if (is_file('/var/log/httpd/' . $domainName)) { unlink('/var/log/httpd/' . $domainName); } if (is_file('/var/log/httpd/' . $domainName . '-bytes_log')) { unlink('/var/log/httpd/' . $domainName . '-bytes_log'); } if (is_file('/var/log/httpd/' . $domainName . '-ssl_log')) { unlink('/var/log/httpd/' . $domainName . '-ssl_log'); } // Remove from database // Prepare statement $preped = $this->db->conn->prepare("DELETE FROM `virtualHostMx` WHERE VirtualHost_ID=:id"); // Bind parameter $preped->bindParam(':id', $vhost->id); // Execute prepared statement $rc = $preped->execute(); if ($rc === false) { Log::error('Error while deleting mail exchange server from the database table: virtualHostMx'); return false; } // Prepare statement $preped = $this->db->conn->prepare("DELETE FROM `virtualHostNs` WHERE VirtualHost_ID=:id"); // Bind parameter $preped->bindParam(':id', $vhost->id); // Execute prepared statement $rc = $preped->execute(); if ($rc === false) { Log::error('Error while deleting name server from the database table: virtualHostNs'); return false; } // Prepare statement $preped = $this->db->conn->prepare("DELETE FROM `virtualHost` WHERE Id=:id"); // Bind parameter $preped->bindParam(':id', $vhost->id); // Execute prepared statement $rc = $preped->execute(); if ($rc === false) { Log::error('Error while deleting parked domain from the database table: virtualHost'); return false; } return true; }
/** * Placeholder for backward compatibility (iTop <= 2.1.0) * in case an extension attempts to redefine this function... */ public static function GetRelationQueries($sRelCode) { return parent::GetRelationQueries($sRelCode); }
* * @copyright Noumenia (C) 2015 - All rights reserved - Software Development - www.noumenia.gr * @license GNU GPL v3.0 * @package aetolos * @subpackage parkeddomainsmanager */ // No direct access - loadable only if (!defined('AET_IN')) { die("No Access"); } // Check for parameter if (!isset($cmdParameters['modify-virtualhost'])) { Log::error('Missing parameter'); exit(9); } $vhost = new VirtualHost($db); $vhost->domainName = $cmdParameters['modify-virtualhost']; $rc = $vhost->get(); if ($rc === false) { Log::error('Unknown virtual host'); exit(9); } if (isset($cmdParameters['add-pdomain'])) { // Set parameters - name server(s) if (isset($cmdParameters['ns']) && is_array($cmdParameters['ns'])) { $ns = $cmdParameters['ns']; } elseif (isset($cmdParameters['ns'])) { $ns = array($cmdParameters['ns']); } else { $ns = array(); }
// Convert array back to string $d = implode(':', $d); } // Convert array back to string $data = implode("\n", $data); // Save to passwd file $rc = file_put_contents($passwd, $data); if ($rc === false) { return false; } else { return true; } } Log::debug('Import virtual host from: ' . $cmdParameters['import']); // Create virtual host object $vhost = new VirtualHost($db); // Set parameters - home directory and unix name $vhost->home = trim(tarReadFile($cmdParameters['import'], 'homedir_paths', true)); $pos = mb_strrpos($vhost->home, '/'); if ($pos === false) { Log::error('Could not parse home directory from the file: homedir_paths'); exit(9); } $vhost->unixName = mb_substr($vhost->home, $pos + 1); $vhost->home = mb_substr($vhost->home, 0, $pos); // Load generic config $cpConfig = trim(tarReadFile($cmdParameters['import'], 'cp/' . $vhost->unixName)); // Set parameters - domain name $rc = preg_match('/DNS=(.*)/', $cpConfig, $matches); if ($rc === 1 && isset($matches[1]) && $matches[1] != '') { $vhost->domainName = $matches[1];
/** * Aetolos - Add a new virtual host * * Add a new virtual host and generate all required configuration files. * * @copyright Noumenia (C) 2015 - All rights reserved - Software Development - www.noumenia.gr * @license GNU GPL v3.0 * @package aetolos * @subpackage addvirtualhost */ // No direct access - loadable only if (!defined('AET_IN')) { die("No Access"); } // Create virtual host object $vhost = new VirtualHost($db); // Set parameters - domain name $vhost->domainName = $cmdParameters['add-virtualhost']; // Set parameters - ip address if (isset($cmdParameters['ipaddress'])) { $vhost->ipAddress = $cmdParameters['ipaddress']; } // Set parameters - home directory if (isset($cmdParameters['home'])) { $vhost->home = $cmdParameters['home']; } // Set parameters - administrator/owner email address if (isset($cmdParameters['admin-email'])) { $vhost->adminEmail = $cmdParameters['admin-email']; } // Set parameters - account quota
/** * Set as the default server * * @param VirtualHost $vhost * * @return bool True on success, false on failure */ public function setDefaultVirtualHost(VirtualHost $vhost) { $db = AbstractDb::getObject(); $vhostIdStr = $db->escapeString($vhost->getId()); // Init values $_retVal = false; if ($vhostIdStr != VirtualHost::getDefaultVirtualHost()->getId()) { $sql = "UPDATE server SET default_virtual_host = '{$vhostIdStr}';\n"; $_retVal = $db->execSqlUpdate($sql, false); $this->refresh(); } return $_retVal; }
/** * Aetolos - Remove an existing virtual host * * Completely remove an existing virtual host from the system, optionally remove home directory. * * @copyright Noumenia (C) 2015 - All rights reserved - Software Development - www.noumenia.gr * @license GNU GPL v3.0 * @package aetolos * @subpackage removevirtualhost */ // No direct access - loadable only if (!defined('AET_IN')) { die("No Access"); } // Create virtual host object $vhost = new VirtualHost($db); // Set parameters if (isset($cmdParameters['keep-home'])) { $keepHome = true; } else { $keepHome = false; } // Delete from database $rc = $vhost->delete($cmdParameters['remove-virtualhost'], $keepHome); if ($rc === false) { echo "[ERROR] Error while deleting virtual host.\n"; exit(9); } // Postfix $feature = new Postfix(); $rc = $feature->exportVirtualHosts($db);
*/ /* This section deals with PATHs used in URLs and local content * BASE_SSL_PATH should be used to enter SSL mode (if available) * BASE_NON_SSL_PATH should be used to break out of SSL mode of when we * explicitely do not want someting to be referenced over http * BASE_URL_PATH should be used in all other cases to avoid needless SSL warning * * */ require_once 'classes/VirtualHost.php'; /** * Check for SSL support */ try { $vhost = VirtualHost::getCurrentVirtualHost(); if ($vhost == null) { $vhost = VirtualHost::getDefaultVirtualHost(); } if ($vhost->isSSLAvailable()) { /** * @ignore */ define("SSL_AVAILABLE", true); } else { /** * @ignore */ define("SSL_AVAILABLE", false); } } catch (Exception $e) { //Leave this catch here, in case the schema update hasn't yet been done. define("SSL_AVAILABLE", false);
// Init ALL smarty values $smarty->assign('DEPRECATEDisSuperAdmin', false); $smarty->assign('selectNetworkUI', null); /** * Define user security levels for the template * * These values are used in the default template of WiFoDog but could be used * in a customized template to restrict certain links to specific user * access levels. */ $smarty->assign('DEPRECATEDisSuperAdmin', $currentUser && $currentUser->DEPRECATEDisSuperAdmin()); /* * Header JavaScripts */ // Add Google Maps JavaScript (must set config values) if (!($vhost = VirtualHost::getCurrentVirtualHost())) { throw new Exception(_("Unable to get the google API key, because I couldn't find a vhost matching the current hostname")); } $html_headers = "<script src='http://maps.google.com/maps?file=api&v=2&&key=" . $vhost->getGoogleAPIKey() . "' type='text/javascript'></script>"; $html_headers .= "<script src='js/hotspots_status_map.js' type='text/javascript'></script>"; $html = null; /* * Main content */ // Set section of Smarty template $smarty->assign('sectionMAINCONTENT', true); // Set network selector $preSelectedObject = !empty($_REQUEST['network_map']) ? Network::getObject($_REQUEST['network_map']) : Network::getCurrentNetwork(); //$selectNetworkUI = Network::getSelectUI('network_map', array('preSelectedObject' => $preSelectedObject, 'onChange' => "javascript: document.lang_form.submit();")); $selectNetworkUI = Network::getSelectUI('network_map', array('preSelectedObject' => $preSelectedObject, 'onChange' => "submit.click();")); $smarty->assign('selectNetworkUI', $selectNetworkUI . (count(Network::getAllNetworks()) > 1 ? '<input class="submit" type="submit" name="submit" value="' . _("Change network") . '">' : ""));
public static function GetRelationQueries($sRelCode) { switch ($sRelCode) { case "impacts": $aRels = array(); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); break; case 'depends on': $aRels = array("Hypervisor" => array("sQuery" => "SELECT Hypervisor WHERE farm_id = :this->id", "bPropagate" => true, "iDistance" => 10)); return array_merge($aRels, parent::GetRelationQueries($sRelCode)); break; default: return parent::GetRelationQueries($sRelCode); } }
* * @copyright Noumenia (C) 2015 - All rights reserved - Software Development - www.noumenia.gr * @license GNU GPL v3.0 * @package aetolos * @subpackage emailmanager */ // No direct access - loadable only if (!defined('AET_IN')) { die("No Access"); } // Check for parameter if (!isset($cmdParameters['modify-virtualhost'])) { Log::error('Missing parameter'); exit(9); } $vhost = new VirtualHost($db); $vhost->domainName = $cmdParameters['modify-virtualhost']; $rc = $vhost->get(); if ($rc === false) { Log::error('Unknown virtual host'); exit(9); } $emailManager = new EmailManager($vhost); if (isset($cmdParameters['add-email'])) { if (!isset($cmdParameters['password'])) { if (isset($cmdParameters['password-file'])) { if (!is_file($cmdParameters['password-file'])) { Log::error('Error while opening the password file'); exit(9); } $cmdParameters['password'] = file_get_contents($cmdParameters['password-file']);
*/ /** * Load common include file */ require_once 'admin_common.php'; require_once 'classes/Node.php'; require_once 'classes/Network.php'; require_once 'classes/AbstractGeocoder.php'; require_once 'classes/MainUI.php'; require_once 'classes/Server.php'; $ui = MainUI::getObject(); $ui->setTitle(_("Hotspot location map")); if (!empty($_REQUEST['node_id'])) { $node = Node::getObject($_REQUEST['node_id']); // Add Google Maps JavaScript ( must set config values ) $html_headers = "<script src=\"http://maps.google.com/maps?file=api&v=1&key=" . VirtualHost::getCurrentVirtualHost()->getGoogleAPIKey() . "\" type=\"text/javascript\"></script>"; $ui->appendHtmlHeadContent($html_headers); // Create HTML body $html = _("Click anywhere on the map to extract the GIS location, then click on the button to save the data.") . "<br>"; $html .= "<div id=\"map_frame\"></div>\n"; $html .= "<input type='button' value='" . _("Use these coordinates") . "' onClick='setLocationInOriginalWindow();'>\n"; $ui->addContent('main_area_middle', $html); if (($gisLocation = $node->getGisLocation()) !== null && $gisLocation->getLatitude() != null) { } elseif (($gisLocation = $node->getNetwork()->getGisLocation()) !== null && $gisLocation->getLatitude() != null) { } else { $html .= "<div class='error'>" . _("Error: You need to set the GIS coordinates of the center of your network") . "</div\n"; $gisLocation = null; } if ($gisLocation !== null) { //pretty_print_r($gisLocation); $lat = $gisLocation->getLatitude();
/** * Set allowed context of concrete directive */ protected function setAllowedContext() { $this->allowedContext = [ConfigurationFile::SERVER_CONFIG, VirtualHost::getFullName(), Directory::getFullName(), ConfigurationFile::HTACCESS]; }
/** * Is this vhost the server's default? * * @return bool True or false */ public function isDefaultVirtualHost() { // Init values $retVal = false; if (VirtualHost::getDefaultVirtualHost()->getId() == $this->getId()) { $retVal = true; } return $retVal; }