예제 #1
0
파일: cfg_db.php 프로젝트: rudiedirkx/CMS1
<?php

define('SQL_HOST', 'localhost');
define('ROOT_SQL_USER', 'cms1');
define('ROOT_SQL_PASS', 'powertothe1cms');
define('ROOT_SQL_DB', 'cms1_');
define('SITE_SQL_USER', substr(ROOT_SQL_DB . CMS_SITE_SUBDOMAIN, 0, 16));
define('SITE_SQL_PASS', getDatabasePasswordForCMSSite(CMS_SITE_SUBDOMAIN));
define('SITE_SQL_DB', ROOT_SQL_DB . CMS_SITE_SUBDOMAIN);
function getDatabasePasswordForCMSSite($site)
{
    return '1' . strrev($site);
}
예제 #2
0
{
    var_dump($var);
}
if (isset($_GET['vhost'])) {
    header('Content-type: text/plain');
    exit(file_get_contents(SCRIPT_ROOT . '/_config/vhosts/' . ROOT_SQL_DB . $_GET['vhost'] . '.conf'));
} else {
    if (isset($_POST['subdomain'], $_POST['urls'])) {
        $subdomain = $_POST['subdomain'];
        if ('zzzzz' == $subdomain || 0 == preg_match('/^[0-9a-z]+(?:\\-[0-9a-z]+)?$/i', $subdomain) || 3 > strlen($subdomain) || in_array($subdomain, $arrSites)) {
            exit('Invalid subdomain: invalid name or already exists');
        }
        echo '<pre>';
        $db_name = ROOT_SQL_DB . $_POST['subdomain'];
        $db_user = substr(ROOT_SQL_DB . $_POST['subdomain'], 0, 16);
        $db_pass = getDatabasePasswordForCMSSite($_POST['subdomain']);
        // create VHost
        $szVHost = strtr(file_get_contents(PROJECT_ROOT_RESOURCES . '/generic_vhost.conf'), array('__SERVERNAME__' => $subdomain . '.' . $_SERVER['HTTP_HOST'], '__SERVERALIASES__' => $_POST['urls'], '__DOCROOT__' => str_replace('CMS_SITE_SUBDOMAIN', $subdomain, PROJECT_IMPARTIAL_PUBLIC)));
        var_dump(file_put_contents(SCRIPT_ROOT . '/_config/vhosts/' . ROOT_SQL_DB . $subdomain . '.conf', $szVHost));
        // copy file structure
        rcopy(PROJECT_ROOT_RESOURCES . '/default', PROJECT_RESOURCES . $subdomain . '');
        rcopy(PROJECT_ROOT_RUNTIME . '/default', PROJECT_RUNTIME . $subdomain . '');
        createHtaccessForSite($subdomain);
        // create database
        tmp_debug($root->query('CREATE DATABASE `' . $db_name . '`;'));
        echo $root->error . "\n";
        // grant user database rights
        tmp_debug($root->query("GRANT SELECT , INSERT , UPDATE , DELETE ON  `" . str_replace('_', '\\_', $db_name) . "` . * TO  '" . $db_user . "'@'localhost' IDENTIFIED BY '" . $db_pass . "';"));
        echo $root->error . "\n";
        // connect with new database
        $db = new $_dbtype(SQL_HOST, ROOT_SQL_USER, ROOT_SQL_PASS, $db_name);