Esempio n. 1
0
 /**
  * Handles DaemonDomain requests to create, modify or delete domains.
  * Includes the creation of virtual users for EasySCP.
  *
  * @param string $Input
  * @param bool $reload
  * @return mixed
  */
 public static function Start($Input, $reload = true)
 {
     System_Daemon::debug('Starting "DaemonDomain::Start" subprocess.');
     $data = explode(" ", $Input);
     switch ($data[0]) {
         case 'domain':
             System_Daemon::debug('Starting domain.');
             $retVal = false;
             if ($domainData = self::queryDomainDataByDomainID($data[1])) {
                 $retVal = self::handleDomain($domainData);
                 if ($retVal !== true) {
                     $msg = 'Handling of domain ' . $domainData['domain_name'] . ' failed!';
                     System_Daemon::debug($msg);
                     return $msg . '<br />' . $retVal;
                 }
                 if ($subDomainData = self::querySubDomainDataByDomainID($domainData['domain_id'])) {
                     foreach ($subDomainData->fetchAll() as $row) {
                         $retVal = self::handleSubDomain($row);
                         if ($retVal !== true) {
                             $msg = 'Handling of subdomain ' . $domainData['subdomain_name'] . '.' . $domainData['domain_name'] . ' failed!';
                             System_Daemon::debug($msg);
                             return $msg . '<br />' . $retVal;
                         }
                     }
                 }
             } else {
                 System_Daemon::debug('Failed to get "queryDomainDataByDomainID": ' . $data[1]);
             }
             if ($retVal === true) {
                 System_Daemon::debug("Set Domain status");
                 if ($domainData['status'] == 'disable') {
                     $retVal = self::dbSetDomainStatus('disabled', $domainData['domain_id']);
                 } else {
                     $retVal = self::dbSetDomainStatus('ok', $domainData['domain_id']);
                 }
                 if ($retVal !== true) {
                     $msg = 'Setting Domain status failed';
                     System_Daemon::debug($msg);
                     return $msg . '<br />' . $retVal;
                 }
             }
             break;
         case 'alias':
             System_Daemon::debug("Starting alias");
             if ($aliasData = self::queryAliasDataByAliasID($data[1])) {
                 $retVal = self::handleAlias($aliasData);
                 if ($retVal !== true) {
                     $msg = 'Handling of alias ' . $aliasData['alias_name'] . ' failed!';
                     System_Daemon::debug($msg);
                     return $msg . '<br />' . $retVal;
                 }
                 if ($subDomainAliasData = self::queryAliasSubDomainDataByAliasID($aliasData['alias_id'])) {
                     while ($row = $subDomainAliasData->fetch()) {
                         $retVal = self::handleSubDomainAlias($row);
                         if ($retVal !== true) {
                             $msg = 'Handling of subdomain ' . $row['subdomain_alias_name'] . '.' . $row['alias_name'] . ' failed!';
                             System_Daemon::debug($msg);
                             return $msg . '<br />' . $retVal;
                         }
                     }
                 }
             }
             break;
         case 'htaccess':
             if ($domainData = self::queryHTAccessData($data[1])) {
                 $retVal = self::handleHTAccess($domainData);
                 if ($retVal !== true) {
                     $msg = 'Handling of htaccess for ' . $domainData['domain_name'] . ' failed!';
                     System_Daemon::debug($msg);
                     return $msg . '<br />' . $retVal;
                 }
             }
             break;
         case 'reload':
             break;
         case 'master':
             $retVal = self::writeMasterConfig();
             if ($retVal !== true) {
                 $msg = 'Handling of master configuration failed!';
                 System_Daemon::debug($msg);
                 return $msg . '<br />' . $retVal;
             }
             break;
         default:
             System_Daemon::warning("Don't know what to do with " . $data[0]);
     }
     if ($reload === true) {
         $retVal = self::apacheReloadConfig();
         if ($retVal !== true) {
             $msg = 'Reload apache config failed';
             System_Daemon::debug($msg);
             return $msg . '<br />' . (DaemonConfig::$cfg->{'DEBUG'} == '1' ? DaemonCommon::listArrayforGUI($retVal) : '');
         }
     }
     System_Daemon::debug('Finished "DaemonDomain::Start" subprocess.');
     return true;
 }
Esempio n. 2
0
    protected static function deleteAlias($aliasData)
    {
        if ($subDomainAliasData = self::queryAliasSubDomainDataByAliasID($aliasData['alias_id'])) {
            while ($row = $subDomainAliasData->fetch()) {
                $retVal = self::deleteAliasSubDomain($row);
                if ($retVal !== true) {
                    $fqdn = $row['subdomain_alias_name'] . '.' . $row['alias_name'];
                    $msg = 'Deleting of alias subdomain ' . $fqdn . 'failed';
                    System_Daemon::debug($msg);
                    return $msg . '<br />' . (DaemonConfig::$cfg->DEBUG == '1' ? DaemonCommon::listArrayforGUI($retVal) : '');
                }
            }
        }
        $fqdn = $aliasData['domain_name'];
        $confFile = DaemonConfig::$distro->APACHE_SITES_DIR . '/' . $fqdn . '.conf';
        $retVal = self::deleteFile($confFile);
        if ($retVal !== true) {
            return $retVal;
        }
        $confFile = DaemonConfig::$distro->APACHE_CUSTOM_SITES_CONFIG_DIR . '/' . $fqdn . '.custom';
        $retVal = self::deleteFile($confFile);
        if ($retVal !== true) {
            return $retVal;
        }
        self::deleteSSLKeys($aliasData['domain_name']);
        $sql_param = array(':alias_id' => $aliasData['alias_id']);
        $sql_query = '
			DELETE FROM
				domain_aliasses
			WHERE
				alias_id=:alias_id;
		';
        DB::prepare($sql_query);
        if ($row = DB::execute($sql_param)->closeCursor()) {
        }
        return true;
    }