function JOOMLA_INSTALL($servername, $root, $hash = array()) { $GLOBALS["ADDLOG"] = "{$GLOBALS["ARTICALOGDIR"]}/{$servername}.log"; if ($root == null) { events("Starting install joomla Unable to stat root dir"); return false; } if (!is_dir("/usr/local/share/artica/joomla_src")) { events("Starting install joomla Unable to stat JOOMLA SRC"); return false; } $sql_file = "/usr/share/artica-postfix/bin/install/joomla/joomla.sql"; echo "sql_file:{$sql_file}\n"; $user = $hash["wwwmysqluser"][0]; echo "user:{$user}\n"; $mysql_password = $hash[strtolower("WWWMysqlPassword")][0]; $appli_user = $hash["wwwappliuser"][0]; $appli_password = $hash["wwwapplipassword"][0]; $ou = $hash["OU"][0]; if ($user == null) { events("Starting install Joomla Unable to stat Mysql username"); return false; } if ($mysql_password == null) { events("Starting install Joomla Unable to stat Mysql password"); return false; } echo "Create dir {$root}\n"; @mkdir($root, 0755, true); $server_database = str_replace(".", "_", $servername); $server_database = str_replace("-", "_", $server_database); echo "server_database: {$server_database}\n"; events("Starting install Joomla sub-system mysql database {$server_database}..."); $q = new mysql(); echo "CREATE_DATABASE: {$server_database}\n"; $q->CREATE_DATABASE($server_database); if (!$q->DATABASE_EXISTS($server_database)) { echo "CREATE_DATABASE: FAILED\n"; events("Starting install Joomla unable to create MYSQL Database"); return false; } events("Starting install Joomla installing source code"); echo "/bin/cp -rf /usr/local/share/artica/joomla_src/* {$root}/\n"; shell_exec("/bin/cp -rf /usr/local/share/artica/joomla_src/* {$root}/"); echo "Copy done...\n"; if ($q->mysql_password != null) { $password = "******"; } else { events("Starting install Joomla installing tables datas with null password"); } echo "Installing database {$server_database}\n"; $cmd = "mysql --port={$q->mysql_port} --skip-column-names --database={$server_database} --silent --xml "; $cmd = $cmd . " --user={$q->mysql_admin}{$password} <{$sql_file}"; shell_exec($cmd); echo "Installing database {$server_database} done.\n"; echo "Setting privileges\n"; $q->PRIVILEGES($user, $mysql_password, $server_database); $joomla = new joomla(); echo "Setting Joomla password\n"; $joomla->SaveAdminPasswordDatabase($server_database, $appli_password); if (is_dir("{$root}/installation")) { echo "removing installation {$root}/installation subfolder\n"; shell_exec("/bin/rm -rf {$root}/installation"); } echo "settings configuration in {$root} installation folder\n"; JOOMLA_CONFIG($root, $ou, $user, $mysql_password, $server_database); }
function JOOMLA_INSTALL($servername, $root, $hash = array()) { $GLOBALS["ADDLOG"] = "/var/log/artica-postfix/{$servername}.log"; if ($root == null) { events("Starting install joomla Unable to stat root dir"); return false; } if (!is_dir("/usr/local/share/artica/joomla_src")) { events("Starting install joomla Unable to stat JOOMLA SRC"); return false; } $sql_file = "/usr/share/artica-postfix/bin/install/joomla/joomla.sql"; $user = $hash["wwwmysqluser"][0]; $mysql_password = $hash[strtolower("WWWMysqlPassword")][0]; $appli_user = $hash["wwwappliuser"][0]; $appli_password = $hash["wwwapplipassword"][0]; if ($user == null) { events("Starting install Joomla Unable to stat Mysql username"); return false; } if ($mysql_password == null) { events("Starting install Joomla Unable to stat Mysql password"); return false; } @mkdir($root, 0755, true); $server_database = str_replace(".", "_", $servername); $server_database = str_replace("-", "_", $server_database); events("Starting install Joomla sub-system mysql database {$server_database}..."); $q = new mysql(); $q->CREATE_DATABASE($server_database); if (!$q->DATABASE_EXISTS($server_database)) { events("Starting install Joomla unable to create MYSQL Database"); return false; } events("Starting install Joomla installing source code"); shell_exec("/bin/cp -rf /usr/local/share/artica/joomla_src/* {$root}/"); if ($q->mysql_password != null) { $password = "******"; } else { events("Starting install Joomla installing tables datas with null password"); } $cmd = "mysql --port={$q->mysql_port} --skip-column-names --database={$server_database} --silent --xml "; $cmd = $cmd . " --user={$q->mysql_admin}{$password} <{$sql_file}"; shell_exec($cmd); AddPrivileges($user, $mysql_password, $server_database); $joomla = new joomla(); $joomla->SaveAdminPasswordDatabase($server_database, $appli_password); shell_exec("/bin/cp -rf /usr/local/share/artica/joomla_src/* {$root}/"); }