Newer
Older
list($user, $group) = $output;
}
break;
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
}
}
if (!empty($user) && !empty($group)) {
chown($tConf, $user);
chgrp($tConf, $group);
}
if (!empty($access)) {
exec("chmod $access $tConf");
}
}
/**
* Helper function - filter the contents of a config
* file by inserting the common ispconfig database
* credentials.
*
* @param $tContents
* @return string
*/
protected function insert_db_credentials($tContents) {
global $conf;
$tContents = str_replace('{mysql_server_ispconfig_user}', $conf["mysql"]["ispconfig_user"], $tContents);
$tContents = str_replace('{mysql_server_ispconfig_password}', $conf["mysql"]["ispconfig_password"], $tContents);
$tContents = str_replace('{mysql_server_database}', $conf["mysql"]["database"], $tContents);
$tContents = str_replace('{mysql_server_ip}', $conf["mysql"]["ip"], $tContents);
$tContents = str_replace('{mysql_server_host}', $conf['mysql']['host'], $tContents);
Michel Käser
committed
$tContents = str_replace('{mysql_server_port}', $conf['mysql']['port'], $tContents);
$tContents = str_replace('{mysql_server_port}', $conf["mysql"]["port"], $tContents);
private function loadAddonClasses($path) {
if(!is_dir($path)) {
return false;
}
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
if(($dir = opendir($libpath))) {
while(false !== ($cur = readdir($dir))) {
if($cur === '.' || $cur === '..' || strpos($cur, '..') !== false || !is_dir($libpath . '/' . $cur)) {
continue;
}
$addon_file = $libpath . '/' . $cur . '/' . $cur . '.addon.php';
if(!is_file($addon_file)) {
continue;
}
$class_name = $cur . '_addon_installer';
if(isset($this->addon_classes[$class_name]) && is_object($this->addon_classes[$class_name])) {
// don't override
continue;
}
include_once $addon_file;
if(!class_exists($class_name)) {
continue;
}
if(!is_array($this->addon_classes)) {
$this->addon_classes = array();
$this->addon_classes[$class_name] = new $class_name;
closedir($dir);
}
public function raiseEvent($event_name, $data = false) {
global $conf;
if(is_null($this->addon_classes)) {
// load addon libs
$this->addon_classes = array();
$addonpath = $conf['ispconfig_install_dir'] . '/addons';
$this->loadAddonClasses($addonpath);
reset($this->addon_classes);
foreach($this->addon_classes as $cl) {
if(method_exists($cl, $call_method)) {
call_user_func(array($cl, $call_method), $event_name, $data);
}
}
}