private function autoinstall() { $q = new mysql(); writelogs("FREEWEB: running autoinstall()", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); if (!$q->DATABASE_EXISTS($this->database)) { writelogs("[{$this->servername}] DATABASE DOES NOT EXISTS Create e new one", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); $q->CREATE_DATABASE($this->database); } global $GO_LANGUAGE, $lang, $GO_EVENTS; require "{$this->www_dir}/Group-Office.php"; require_once "{$this->www_dir}/classes/filesystem.class.inc"; require_once "{$this->www_dir}/install/gotest.php"; include_once "{$this->www_dir}/classes/base/events.class.inc.php"; require "{$this->www_dir}/language/languages.inc.php"; require "{$this->www_dir}/install/sql/updates.inc.php"; require_once "{$this->www_dir}/classes/base/users.class.inc.php"; require_once "{$this->www_dir}/classes/base/groups.class.inc.php"; require $GO_LANGUAGE->get_base_language_file('countries'); require_once "{$this->www_dir}/classes/base/theme.class.inc.php"; $GO_THEME = new GO_THEME(); $db = new db(); $GO_EVENTS = new GO_EVENTS(); $GO_CONFIG->save_setting('version', count($updates)); $GO_LANGUAGE->set_language($GO_CONFIG->language); $GO_USERS = new GO_USERS(); $user['id'] = $GO_USERS->nextid("go_users"); echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" userid \"{$user['id']}\"\n"; $GO_GROUPS = new GO_GROUPS(); $GO_GROUPS->query("DELETE FROM go_db_sequence WHERE seq_name='groups'"); $GO_GROUPS->query("DELETE FROM go_groups"); $admin_group_id = $GO_GROUPS->add_group(1, $lang['common']['group_admins']); $everyone_group_id = $GO_GROUPS->add_group(1, $lang['common']['group_everyone']); $internal_group_id = $GO_GROUPS->add_group(1, $lang['common']['group_internal']); $GO_MODULES->load_modules(); require_once "{$this->www_dir}/install/upgrade.php"; $fs = new filesystem(); $module_folders = $fs->get_folders($GO_CONFIG->root_path . 'modules/'); $available_modules = array(); foreach ($module_folders as $folder) { if (!file_exists($folder['path'] . '/install/noautoinstall')) { echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" checking module {$folder['name']}\n"; $available_modules[] = $folder['name']; } } $priority_modules = array('summary', 'email', 'calendar', 'tasks', 'addressbook', 'files', 'notes', 'projects', 'ldapauth'); for ($i = 0; $i < count($priority_modules); $i++) { if (in_array($priority_modules[$i], $available_modules)) { echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" add module \"{$priority_modules[$i]}\" [" . $i . "/" . count($priority_modules) . "]\n"; $GO_MODULES->add_module($priority_modules[$i]); } } for ($i = 0; $i < count($available_modules); $i++) { if (!in_array($available_modules[$i], $priority_modules)) { if ($available_modules[$i] == "mailings") { continue; } /* if($available_modules[$i]=="blacklist"){continue;} if($available_modules[$i]=="search"){continue;} if($available_modules[$i]=="modules"){continue;} //if($available_modules[$i]=="users"){continue;} //if($available_modules[$i]=="comments"){continue;} //if($available_modules[$i]=="sieve"){continue;} //if($available_modules[$i]=="bookmarks"){continue;} //if($available_modules[$i]=="links"){continue;} */ echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" add module \"{$available_modules[$i]}\" [" . $i . "/" . count($available_modules) . "]\n"; try { $GO_MODULES->add_module($available_modules[$i]); } catch (Exception $e) { echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" failed adding \"{$available_modules[$i]}\" module\n"; } } } writelogs("Adding LDAPAUTH Module GO_MODULES->add_module('ldapauth')", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); $GO_MODULES->add_module('ldapauth'); echo "Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" save_setting upgrade_mtime\n"; $GO_CONFIG->save_setting('upgrade_mtime', $GO_CONFIG->mtime); if ($this->uid != null) { $u = new user($this->uid); $password = $u->password; $mail = $u->mail; $uid = $this->uid; writelogs("Adding {$this->uid}/{$u->password}/{$mail} Module GO_USERS->add_user", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); } else { $ldap = new clladp(); $uid = $ldap->ldap_admin; $password = $ldap->ldap_password; $mail = "*****@*****.**"; } $GO_USERS->nextid('go_users'); writelogs("Starting......: " . date("H:i:s") . " Apache \"{$this->servername}\" adding \"{$uid}\" language {$GO_LANGUAGE->language} user {$mail}", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); $user['id'] = 1; $user['language'] = $GO_LANGUAGE->language; $user['first_name'] = $GO_CONFIG->product_name; $user['middle_name'] = ''; $user['last_name'] = "en"; $user['username'] = "******"; $user['password'] = "******"; $user['email'] = "{$mail}"; $user['sex'] = 'M'; $user['enabled'] = '1'; $user['country'] = $GO_CONFIG->default_country; $user['work_country'] = $GO_CONFIG->default_country; //$GO_USERS->debug=true; $GO_USERS->add_user($user, array(1, 2, 3), array($GO_CONFIG->group_everyone)); writelogs("Starting......: " . date("H:i:s") . " Apache installtion of group office success", __CLASS__ . '/' . __FUNCTION__, __FILE__, __LINE__); }