19 require_once(BASE.
"wcmf/lib/util/class.InifileParser.php");
20 require_once(BASE.
"wcmf/lib/util/class.FileUtil.php");
21 require_once(BASE.
"wcmf/lib/util/class.DBUtil.php");
45 if(strlen($this->_request->getValue(
'newInstanceName')) == 0)
47 $this->
setErrorMsg(
"No 'newInstanceName' given in data.");
52 $this->
setErrorMsg(
"The target path is not writable.");
55 $name = $this->_request->getValue(
'newInstanceName');
58 $this->
setErrorMsg(
"The instance '".$name.
"' already exists. Please choose a different name.");
61 return parent::validate();
76 $appName = $this->_request->getValue(
'newInstanceName');
81 Log::debug(
"Create new instance: ".$newLocation, __CLASS__);
83 foreach($directories as $directory) {
84 $sourceDir =
"../".$directory;
85 $destDir = $newLocation.
"/".$directory;
86 Log::debug(
"Copy directory: ".$sourceDir.
" to ".$destDir, __CLASS__);
91 Log::debug(
"Create database: ".$newDatabase, __CLASS__);
93 $dbParams = $parser->getSection(
'database');
94 DBUtil::copyDatabase($dbParams[
'dbName'], $newDatabase, $dbParams[
'dbHostName'], $dbParams[
'dbUserName'], $dbParams[
'dbPassword']);
99 $applicationDir = array_pop(split(
'/', dirname($_SERVER[
'PHP_SELF'])));
100 $configFilename = $newLocation.
"/".$applicationDir.
"/".$CONFIG_PATH.
'server.ini';
101 Log::debug(
"Modify configuration: ".$configFilename, __CLASS__);
103 $configFile->parseIniFile($configFilename,
false);
104 if ($configFile->setValue(
'dbName', $newDatabase,
'database',
false) ===
false) {
107 $configFile->writeIniFile($configFilename);
109 $this->_response->setAction(
'ok');
120 if (($targetDir = $parser->getValue(
'targetDir',
'newinstance',
false)) ===
false) {
144 if (($dbPrefix = $parser->getValue(
'dbPrefix',
'newinstance',
false)) ===
false) {
This Controller creates a new instance of this application.
debug($message, $category)
throwEx($message, $file='', $line='')
getNewInstanceDatabase($name)
Controller is the base class of all controllers. If a Controller has a view it is expected to reside ...
InifileParser provides basic services for parsing a ini file from the file system.
copyRecDir($source, $dest)
getNewInstanceLocation($name)
getDirectories($directory, $pattern='/./', $prependDirectoryName=false, $recursive=false)
static copyDatabase($srcName, $destName, $server, $user, $password)