<?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); }
{ 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);