CODE STYLE class.Installer.php
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* class.Installer.php
|
* class.Installer.php
|
||||||
|
*
|
||||||
* @package workflow.engine.ProcessMaker
|
* @package workflow.engine.ProcessMaker
|
||||||
*
|
*
|
||||||
* ProcessMaker Open Source Edition
|
* ProcessMaker Open Source Edition
|
||||||
@@ -31,8 +33,10 @@
|
|||||||
// License: LGPL, see LICENSE
|
// License: LGPL, see LICENSE
|
||||||
////////////////////////////////////////////////////
|
////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processmaker Installer
|
* Processmaker Installer
|
||||||
|
*
|
||||||
* @package workflow.engine.ProcessMaker
|
* @package workflow.engine.ProcessMaker
|
||||||
* @author maborak
|
* @author maborak
|
||||||
* @copyright 2008 COLOSA
|
* @copyright 2008 COLOSA
|
||||||
@@ -65,26 +69,12 @@ class Installer
|
|||||||
*/
|
*/
|
||||||
public function create_site ($config = Array(), $confirmed = false)
|
public function create_site ($config = Array(), $confirmed = false)
|
||||||
{
|
{
|
||||||
$this->options=G::array_concat(Array(
|
$this->options = G::array_concat( Array ('isset' => false,'password' => G::generate_password( 12 ),'path_data' => @PATH_DATA,'path_compiled' => @PATH_C,'name' => $config['name'],'database' => Array (),'admin' => Array ('username' => 'admin','password' => 'admin'
|
||||||
'isset'=>false,
|
),'advanced' => Array ('ao_db_wf' => 'wf_' . $config['name'],'ao_db_rb' => 'rb_' . $config['name'],'ao_db_rp' => 'rp_' . $config['name'],'ao_db_drop' => false
|
||||||
'password' =>G::generate_password(12),
|
|
||||||
'path_data' =>@PATH_DATA,
|
|
||||||
'path_compiled' =>@PATH_C,
|
|
||||||
'name'=>$config['name'],
|
|
||||||
'database'=>Array(),
|
|
||||||
'admin'=>Array('username'=>'admin','password'=>'admin'),
|
|
||||||
'advanced'=>Array(
|
|
||||||
'ao_db_wf'=>'wf_'.$config['name'],
|
|
||||||
'ao_db_rb'=>'rb_'.$config['name'],
|
|
||||||
'ao_db_rp'=>'rp_'.$config['name'],
|
|
||||||
'ao_db_drop'=>false
|
|
||||||
)
|
)
|
||||||
), $config );
|
), $config );
|
||||||
$a = @explode( SYSTEM_HASH, G::decrypt( HASH_INSTALLATION, SYSTEM_HASH ) );
|
$a = @explode( SYSTEM_HASH, G::decrypt( HASH_INSTALLATION, SYSTEM_HASH ) );
|
||||||
$this->options['database']=G::array_concat(Array(
|
$this->options['database'] = G::array_concat( Array ('username' => @$a[1],'password' => @$a[2],'hostname' => @$a[0]
|
||||||
'username'=>@$a[1],
|
|
||||||
'password'=>@$a[2],
|
|
||||||
'hostname'=>@$a[0]
|
|
||||||
), $this->options['database'] );
|
), $this->options['database'] );
|
||||||
return ($confirmed === true) ? $this->make_site() : $this->create_site_test();
|
return ($confirmed === true) ? $this->make_site() : $this->create_site_test();
|
||||||
}
|
}
|
||||||
@@ -108,40 +98,14 @@ class Installer
|
|||||||
private function create_site_test ()
|
private function create_site_test ()
|
||||||
{
|
{
|
||||||
$name = (preg_match( '/^[\w]+$/i', trim( $this->options['name'] ) )) ? true : false;
|
$name = (preg_match( '/^[\w]+$/i', trim( $this->options['name'] ) )) ? true : false;
|
||||||
$result=Array(
|
$result = Array ('path_data' => $this->is_dir_writable( $this->options['path_data'] ),'path_compiled' => $this->is_dir_writable( $this->options['path_compiled'] ),'database' => $this->check_connection(),'access_level' => $this->cc_status,'isset' => ($this->options['isset'] == true) ? $this->isset_site( $this->options['name'] ) : false,'microtime' => microtime(),'workspace' => $this->options['name'],'name' => array ('status' => $name,'message' => ($name) ? 'PASSED' : 'Workspace name invalid'
|
||||||
'path_data' =>$this->is_dir_writable($this->options['path_data']),
|
),'admin' => array ('username' => (preg_match( '/^[\w@\.-]+$/i', trim( $this->options['admin']['username'] ) )) ? true : false,'password' => ((trim( $this->options['admin']['password'] ) == '') ? false : true)
|
||||||
'path_compiled' =>$this->is_dir_writable($this->options['path_compiled']),
|
|
||||||
'database' =>$this->check_connection(),
|
|
||||||
'access_level'=>$this->cc_status,
|
|
||||||
'isset'=>($this->options['isset']==true)?$this->isset_site($this->options['name']):false,
|
|
||||||
'microtime'=>microtime(),
|
|
||||||
'workspace'=>$this->options['name'],
|
|
||||||
'name'=>array(
|
|
||||||
'status'=>$name,
|
|
||||||
'message'=>($name)?'PASSED':'Workspace name invalid'
|
|
||||||
),
|
|
||||||
'admin'=>array(
|
|
||||||
'username'=>(preg_match('/^[\w@\.-]+$/i',trim($this->options['admin']['username'])))?true:false,
|
|
||||||
'password'=>((trim($this->options['admin']['password'])=='')?false:true)
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$result['name']['message'] = ($result['isset']) ? 'Workspace already exist' : $result['name']['message'];
|
$result['name']['message'] = ($result['isset']) ? 'Workspace already exist' : $result['name']['message'];
|
||||||
$result['name']['status'] = ($result['isset']) ? false : $result['name']['status'];
|
$result['name']['status'] = ($result['isset']) ? false : $result['name']['status'];
|
||||||
//print_r($result);
|
//print_r($result);
|
||||||
return Array(
|
return Array ('created' => G::var_compare( true, $result['path_data'], $result['database']['connection'], $result['name']['status'], $result['database']['version'], $result['database']['ao']['ao_db_wf']['status'], $result['database']['ao']['ao_db_rb']['status'], $result['database']['ao']['ao_db_rp']['status'], $result['admin']['username'], (($result['isset']) ? false : true), $result['admin']['password'] ),'result' => $result
|
||||||
'created'=>G::var_compare(
|
|
||||||
true,
|
|
||||||
$result['path_data'],
|
|
||||||
$result['database']['connection'],
|
|
||||||
$result['name']['status'],
|
|
||||||
$result['database']['version'],
|
|
||||||
$result['database']['ao']['ao_db_wf']['status'],
|
|
||||||
$result['database']['ao']['ao_db_rb']['status'],
|
|
||||||
$result['database']['ao']['ao_db_rp']['status'],
|
|
||||||
$result['admin']['username'],
|
|
||||||
(($result['isset'])?false:true),
|
|
||||||
$result['admin']['password']),
|
|
||||||
'result'=>$result
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,11 +118,9 @@ class Installer
|
|||||||
{
|
{
|
||||||
$test = $this->create_site_test();
|
$test = $this->create_site_test();
|
||||||
|
|
||||||
if($test["created"] == true || $this->options["advanced"]["ao_db_drop"] == true)
|
if ($test["created"] == true || $this->options["advanced"]["ao_db_drop"] == true) {
|
||||||
{
|
|
||||||
/* Check if the hostname is local (localhost or 127.0.0.1) */
|
/* Check if the hostname is local (localhost or 127.0.0.1) */
|
||||||
$islocal = (strcmp(substr($this->options['database']['hostname'], 0, strlen('localhost')),'localhost')===0) ||
|
$islocal = (strcmp( substr( $this->options['database']['hostname'], 0, strlen( 'localhost' ) ), 'localhost' ) === 0) || (strcmp( substr( $this->options['database']['hostname'], 0, strlen( '127.0.0.1' ) ), '127.0.0.1' ) === 0);
|
||||||
(strcmp(substr($this->options['database']['hostname'], 0, strlen('127.0.0.1')),'127.0.0.1')===0);
|
|
||||||
|
|
||||||
$this->wf_site_name = $wf = $this->options['advanced']['ao_db_wf'];
|
$this->wf_site_name = $wf = $this->options['advanced']['ao_db_wf'];
|
||||||
|
|
||||||
@@ -171,27 +133,22 @@ class Installer
|
|||||||
if ($this->options['advanced']['ao_db_drop'] === true) {
|
if ($this->options['advanced']['ao_db_drop'] === true) {
|
||||||
//Delete workspace directory if exists
|
//Delete workspace directory if exists
|
||||||
|
|
||||||
|
|
||||||
//Drop databases
|
//Drop databases
|
||||||
$this->run_query( "DROP DATABASE IF EXISTS " . $wf, "Drop database $wf" );
|
$this->run_query( "DROP DATABASE IF EXISTS " . $wf, "Drop database $wf" );
|
||||||
$this->run_query( "DROP DATABASE IF EXISTS " . $rb, "Drop database $rb" );
|
$this->run_query( "DROP DATABASE IF EXISTS " . $rb, "Drop database $rb" );
|
||||||
$this->run_query( "DROP DATABASE IF EXISTS " . $rp, "Drop database $rp" );
|
$this->run_query( "DROP DATABASE IF EXISTS " . $rp, "Drop database $rp" );
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->run_query("CREATE DATABASE IF NOT EXISTS ".$wf." DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci",
|
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $wf . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $wf" );
|
||||||
"Create database $wf");
|
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $rb . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rb" );
|
||||||
$this->run_query("CREATE DATABASE IF NOT EXISTS ".$rb." DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci",
|
$this->run_query( "CREATE DATABASE IF NOT EXISTS " . $rp . " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci", "Create database $rp" );
|
||||||
"Create database $rb");
|
|
||||||
$this->run_query("CREATE DATABASE IF NOT EXISTS ".$rp." DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci",
|
|
||||||
"Create database $rp");
|
|
||||||
|
|
||||||
if ($this->cc_status == 1) {
|
if ($this->cc_status == 1) {
|
||||||
$host = ($islocal) ? "localhost" : "%";
|
$host = ($islocal) ? "localhost" : "%";
|
||||||
$this->run_query("GRANT ALL PRIVILEGES ON `$wf`.* TO $wf@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION",
|
$this->run_query( "GRANT ALL PRIVILEGES ON `$wf`.* TO $wf@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $wf on database $wf" );
|
||||||
"Grant privileges for user $wf on database $wf");
|
$this->run_query( "GRANT ALL PRIVILEGES ON `$rb`.* TO $rb@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rb on database $rb" );
|
||||||
$this->run_query("GRANT ALL PRIVILEGES ON `$rb`.* TO $rb@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION",
|
$this->run_query( "GRANT ALL PRIVILEGES ON `$rp`.* TO $rp@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION", "Grant privileges for user $rp on database $rp" );
|
||||||
"Grant privileges for user $rb on database $rb");
|
|
||||||
$this->run_query("GRANT ALL PRIVILEGES ON `$rp`.* TO $rp@'$host' IDENTIFIED BY '{$this->options['password']}' WITH GRANT OPTION",
|
|
||||||
"Grant privileges for user $rp on database $rp");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dump schema workflow && data */
|
/* Dump schema workflow && data */
|
||||||
@@ -211,7 +168,6 @@ class Installer
|
|||||||
$qwv = $this->query_sql_file( PATH_WORKFLOW_MYSQL_DATA . $values, $this->connection_database );
|
$qwv = $this->query_sql_file( PATH_WORKFLOW_MYSQL_DATA . $values, $this->connection_database );
|
||||||
$this->log( $qwv, isset( $qwv['errors'] ) );
|
$this->log( $qwv, isset( $qwv['errors'] ) );
|
||||||
|
|
||||||
|
|
||||||
/* Dump schema rbac && data */
|
/* Dump schema rbac && data */
|
||||||
$pws = PATH_RBAC_MYSQL_DATA . $schema;
|
$pws = PATH_RBAC_MYSQL_DATA . $schema;
|
||||||
mysql_select_db( $rb, $this->connection_database );
|
mysql_select_db( $rb, $this->connection_database );
|
||||||
@@ -242,22 +198,7 @@ class Installer
|
|||||||
@mkdir( $path_site . "reports/", 0777, true );
|
@mkdir( $path_site . "reports/", 0777, true );
|
||||||
@mkdir( $path_site . "xmlForms", 0777, true );
|
@mkdir( $path_site . "xmlForms", 0777, true );
|
||||||
|
|
||||||
$db_text = "<?php\n" .
|
$db_text = "<?php\n" . "// Processmaker configuration\n" . "define ('DB_ADAPTER', 'mysql' );\n" . "define ('DB_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_NAME', '" . $wf . "' );\n" . "define ('DB_USER', '" . (($this->cc_status == 1) ? $wf : $this->options['database']['username']) . "' );\n" . "define ('DB_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_RBAC_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_RBAC_NAME', '" . $rb . "' );\n" . "define ('DB_RBAC_USER', '" . (($this->cc_status == 1) ? $rb : $this->options['database']['username']) . "' );\n" . "define ('DB_RBAC_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_REPORT_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_REPORT_NAME', '" . $rp . "' );\n" . "define ('DB_REPORT_USER', '" . (($this->cc_status == 1) ? $rp : $this->options['database']['username']) . "' );\n" . "define ('DB_REPORT_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "?>";
|
||||||
"// Processmaker configuration\n" .
|
|
||||||
"define ('DB_ADAPTER', 'mysql' );\n" .
|
|
||||||
"define ('DB_HOST', '" . $this->options['database']['hostname'] . ":".$myPort."' );\n" .
|
|
||||||
"define ('DB_NAME', '" . $wf. "' );\n" .
|
|
||||||
"define ('DB_USER', '" . (($this->cc_status==1)?$wf:$this->options['database']['username']). "' );\n" .
|
|
||||||
"define ('DB_PASS', '" . (($this->cc_status==1)?$this->options['password']:$this->options['database']['password']). "' );\n" .
|
|
||||||
"define ('DB_RBAC_HOST', '". $this->options['database']['hostname'] .":".$myPort."' );\n" .
|
|
||||||
"define ('DB_RBAC_NAME', '". $rb . "' );\n" .
|
|
||||||
"define ('DB_RBAC_USER', '".(($this->cc_status==1)?$rb:$this->options['database']['username']) . "' );\n" .
|
|
||||||
"define ('DB_RBAC_PASS', '". (($this->cc_status==1)?$this->options['password']:$this->options['database']['password']) . "' );\n" .
|
|
||||||
"define ('DB_REPORT_HOST', '". $this->options['database']['hostname'] .":".$myPort."' );\n" .
|
|
||||||
"define ('DB_REPORT_NAME', '". $rp . "' );\n" .
|
|
||||||
"define ('DB_REPORT_USER', '".(($this->cc_status==1)?$rp:$this->options['database']['username']) . "' );\n" .
|
|
||||||
"define ('DB_REPORT_PASS', '". (($this->cc_status==1)?$this->options['password']:$this->options['database']['password']) . "' );\n" .
|
|
||||||
"?>";
|
|
||||||
$fp = @fopen( $db_file, "w" );
|
$fp = @fopen( $db_file, "w" );
|
||||||
$this->log( "Create: " . $db_file . " => " . ((! $fp) ? $fp : "OK") . "\n", $fp === FALSE );
|
$this->log( "Create: " . $db_file . " => " . ((! $fp) ? $fp : "OK") . "\n", $fp === FALSE );
|
||||||
$ff = @fputs( $fp, $db_text, strlen( $db_text ) );
|
$ff = @fputs( $fp, $db_text, strlen( $db_text ) );
|
||||||
@@ -280,18 +221,12 @@ class Installer
|
|||||||
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
|
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
|
||||||
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
||||||
// "Add 'admin' user in ProcessMaker (wf)");
|
// "Add 'admin' user in ProcessMaker (wf)");
|
||||||
$this->run_query('UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string($this->options['admin']['username']) . '\', ' .
|
$this->run_query( 'UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string( $this->options['admin']['username'] ) . '\', ' . ' `USR_PASSWORD` = \'' . md5( $this->options['admin']['password'] ) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (wf)" );
|
||||||
' `USR_PASSWORD` = \'' . md5($this->options['admin']['password']) . '\' ' .
|
|
||||||
' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
|
||||||
"Add 'admin' user in ProcessMaker (wf)");
|
|
||||||
mysql_select_db( $this->rbac_site_name, $this->connection_database );
|
mysql_select_db( $this->rbac_site_name, $this->connection_database );
|
||||||
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
|
// The mysql_escape_string function has been DEPRECATED as of PHP 5.3.0.
|
||||||
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
// $this->run_query('UPDATE USERS SET USR_USERNAME = \''.mysql_escape_string($this->options['admin']['username']).'\', `USR_PASSWORD` = \''.md5($this->options['admin']['password']).'\' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
||||||
// "Add 'admin' user in ProcessMaker (rb)");
|
// "Add 'admin' user in ProcessMaker (rb)");
|
||||||
$this->run_query('UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string($this->options['admin']['username']) . '\', ' .
|
$this->run_query( 'UPDATE USERS SET USR_USERNAME = \'' . mysql_real_escape_string( $this->options['admin']['username'] ) . '\', ' . ' `USR_PASSWORD` = \'' . md5( $this->options['admin']['password'] ) . '\' ' . ' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1', "Add 'admin' user in ProcessMaker (rb)" );
|
||||||
' `USR_PASSWORD` = \'' . md5($this->options['admin']['password']) . '\' ' .
|
|
||||||
' WHERE `USR_UID` = \'00000000000000000000000000000001\' LIMIT 1',
|
|
||||||
"Add 'admin' user in ProcessMaker (rb)");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -301,11 +236,11 @@ class Installer
|
|||||||
* @param string $query SQL command
|
* @param string $query SQL command
|
||||||
* @param string $description Description to log instead of $query
|
* @param string $description Description to log instead of $query
|
||||||
*/
|
*/
|
||||||
private function run_query($query, $description = NULL) {
|
private function run_query ($query, $description = NULL)
|
||||||
|
{
|
||||||
$result = @mysql_query( $query, $this->connection_database );
|
$result = @mysql_query( $query, $this->connection_database );
|
||||||
$error = ($result) ? false : mysql_error();
|
$error = ($result) ? false : mysql_error();
|
||||||
$this->log(($description ? $description : $query) . " => " . (($error) ? $error : "OK") . "\n",
|
$this->log( ($description ? $description : $query) . " => " . (($error) ? $error : "OK") . "\n", $error );
|
||||||
$error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -324,6 +259,7 @@ class Installer
|
|||||||
foreach ($lines as $j => $line) {
|
foreach ($lines as $j => $line) {
|
||||||
$line = trim( $line ); // Remove comments from the script
|
$line = trim( $line ); // Remove comments from the script
|
||||||
|
|
||||||
|
|
||||||
if (strpos( $line, "--" ) === 0) {
|
if (strpos( $line, "--" ) === 0) {
|
||||||
$line = substr( $line, 0, strpos( $line, "--" ) );
|
$line = substr( $line, 0, strpos( $line, "--" ) );
|
||||||
}
|
}
|
||||||
@@ -410,8 +346,7 @@ class Installer
|
|||||||
if (PHP_OS == 'WINNT') {
|
if (PHP_OS == 'WINNT') {
|
||||||
$dir = $this->find_root_path( $dir );
|
$dir = $this->find_root_path( $dir );
|
||||||
return file_exists( $dir );
|
return file_exists( $dir );
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$dir = $this->find_root_path( $dir );
|
$dir = $this->find_root_path( $dir );
|
||||||
return (is_writable( $dir ) && is_readable( $dir ));
|
return (is_writable( $dir ) && is_readable( $dir ));
|
||||||
}
|
}
|
||||||
@@ -423,7 +358,8 @@ class Installer
|
|||||||
* @param string $dir default value empty
|
* @param string $dir default value empty
|
||||||
* @return string $path
|
* @return string $path
|
||||||
*/
|
*/
|
||||||
public function getDirectoryFiles($dir,$extension){
|
public function getDirectoryFiles ($dir, $extension)
|
||||||
|
{
|
||||||
$filesArray = array ();
|
$filesArray = array ();
|
||||||
if (file_exists( $dir )) {
|
if (file_exists( $dir )) {
|
||||||
if ($handle = opendir( $dir )) {
|
if ($handle = opendir( $dir )) {
|
||||||
@@ -466,13 +402,13 @@ class Installer
|
|||||||
if (! $this->connection_database) {
|
if (! $this->connection_database) {
|
||||||
//erik: new verification if the mysql extension is enabled
|
//erik: new verification if the mysql extension is enabled
|
||||||
$error = class_exists( 'mysql_error' ) ? mysql_error() : 'Mysql Module for PHP is not enabled!';
|
$error = class_exists( 'mysql_error' ) ? mysql_error() : 'Mysql Module for PHP is not enabled!';
|
||||||
return Array('status' => false, 'message' => $error);
|
return Array ('status' => false,'message' => $error
|
||||||
}
|
);
|
||||||
else {
|
} else {
|
||||||
if (! mysql_select_db( $dbName, $this->connection_database ) && $this->cc_status != 1) {
|
if (! mysql_select_db( $dbName, $this->connection_database ) && $this->cc_status != 1) {
|
||||||
return Array('status' => false, 'message' => mysql_error());
|
return Array ('status' => false,'message' => mysql_error()
|
||||||
}
|
);
|
||||||
else {
|
} else {
|
||||||
/* var_dump($this->options['advanced']['ao_db_drop'],$this->cc_status,$this->check_db_empty($dbName));
|
/* var_dump($this->options['advanced']['ao_db_drop'],$this->cc_status,$this->check_db_empty($dbName));
|
||||||
if(($this->options['advanced']['ao_db_drop']===false && $this->cc_status!=1 && !$this->check_db_empty($dbName)) )
|
if(($this->options['advanced']['ao_db_drop']===false && $this->cc_status!=1 && !$this->check_db_empty($dbName)) )
|
||||||
{
|
{
|
||||||
@@ -483,10 +419,11 @@ class Installer
|
|||||||
return Array('status'=>true,'message'=>'OK');
|
return Array('status'=>true,'message'=>'OK');
|
||||||
}*/
|
}*/
|
||||||
if ($this->options['advanced']['ao_db_drop'] === true || $this->check_db_empty( $dbName )) {
|
if ($this->options['advanced']['ao_db_drop'] === true || $this->check_db_empty( $dbName )) {
|
||||||
return Array('status' => true, 'message' => 'PASSED');
|
return Array ('status' => true,'message' => 'PASSED'
|
||||||
}
|
);
|
||||||
else {
|
} else {
|
||||||
return Array('status' => false, 'message' => 'Database is not empty');
|
return Array ('status' => false,'message' => 'Database is not empty'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -501,26 +438,12 @@ class Installer
|
|||||||
{
|
{
|
||||||
if (! function_exists( "mysql_connect" )) {
|
if (! function_exists( "mysql_connect" )) {
|
||||||
$this->cc_status = 0;
|
$this->cc_status = 0;
|
||||||
$rt = Array(
|
$rt = Array ('connection' => false,'grant' => 0,'version' => false,'message' => "ERROR: Mysql Module for PHP is not enabled, try install <b>php-mysql</b> package.",'ao' => Array ('ao_db_wf' => false,'ao_db_rb' => false,'ao_db_rp' => false
|
||||||
'connection' => false,
|
|
||||||
'grant' => 0,
|
|
||||||
'version' => false,
|
|
||||||
'message' => "ERROR: Mysql Module for PHP is not enabled, try install <b>php-mysql</b> package.",
|
|
||||||
'ao'=>Array(
|
|
||||||
'ao_db_wf' => false,
|
|
||||||
'ao_db_rb' => false,
|
|
||||||
'ao_db_rp' => false
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$this->connection_database = @mysql_connect( $this->options['database']['hostname'], $this->options['database']['username'], $this->options['database']['password'] );
|
$this->connection_database = @mysql_connect( $this->options['database']['hostname'], $this->options['database']['username'], $this->options['database']['password'] );
|
||||||
$rt = Array(
|
$rt = Array ('version' => false,'ao' => Array ('ao_db_wf' => false,'ao_db_rb' => false,'ao_db_rp' => false
|
||||||
'version' => false,
|
|
||||||
'ao'=>Array(
|
|
||||||
'ao_db_wf' => false,
|
|
||||||
'ao_db_rb' => false,
|
|
||||||
'ao_db_rp' => false
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
if (! $this->connection_database) {
|
if (! $this->connection_database) {
|
||||||
@@ -528,8 +451,7 @@ class Installer
|
|||||||
$rt['connection'] = false;
|
$rt['connection'] = false;
|
||||||
$rt['grant'] = 0;
|
$rt['grant'] = 0;
|
||||||
$rt['message'] = "Mysql error: " . mysql_error();
|
$rt['message'] = "Mysql error: " . mysql_error();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
preg_match( '@[0-9]+\.[0-9]+\.[0-9]+@', mysql_get_server_info( $this->connection_database ), $version );
|
preg_match( '@[0-9]+\.[0-9]+\.[0-9]+@', mysql_get_server_info( $this->connection_database ), $version );
|
||||||
$rt['version'] = version_compare( @$version[0], "4.1.0", ">=" );
|
$rt['version'] = version_compare( @$version[0], "4.1.0", ">=" );
|
||||||
$rt['connection'] = true;
|
$rt['connection'] = true;
|
||||||
@@ -541,8 +463,7 @@ class Installer
|
|||||||
$rt['grant'] = 3;
|
$rt['grant'] = 3;
|
||||||
//$rt['message'] = "Db GRANTS error: ".mysql_error();
|
//$rt['message'] = "Db GRANTS error: ".mysql_error();
|
||||||
$rt['message'] = "Successful connection";
|
$rt['message'] = "Successful connection";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
//@mysql_drop_db("processmaker_testGA");
|
//@mysql_drop_db("processmaker_testGA");
|
||||||
$usrTest = "wfrbtest";
|
$usrTest = "wfrbtest";
|
||||||
@@ -553,8 +474,7 @@ class Installer
|
|||||||
$rt['grant'] = 2;
|
$rt['grant'] = 2;
|
||||||
//$rt['message'] = "USER PRIVILEGES ERROR";
|
//$rt['message'] = "USER PRIVILEGES ERROR";
|
||||||
$rt['message'] = "Successful connection";
|
$rt['message'] = "Successful connection";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$this->cc_status = 1;
|
$this->cc_status = 1;
|
||||||
@mysql_query( "DROP USER " . $usrTest . "@'%'", $this->connection_database );
|
@mysql_query( "DROP USER " . $usrTest . "@'%'", $this->connection_database );
|
||||||
$rt['grant'] = 1;
|
$rt['grant'] = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user