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__); }
} if (file_exists($GO_CONFIG->root_path . 'lib/scripts/' . $cur_ver . '.inc')) { echo 'Running special update script for version ' . $cur_ver . '...<br>'; require_once $GO_CONFIG->root_path . 'lib/scripts/' . $cur_ver . '.inc'; } } $db_version = $GO_CONFIG->version; $_SESSION['completed']['database_structure'] = true; //store the version number for future upgrades $GO_CONFIG->save_setting('version', $GO_CONFIG->version); //Upgrade completed } } else { if (!isset($_POST['fresh_install'])) { //delete all existing users $delete = new GO_USERS(); $delete->Halt_On_Error = 'no'; $GO_USERS->get_users(); while ($GO_USERS->next_record()) { $delete->delete_user($GO_USERS->f('id')); } $GO_MODULES->get_modules(); $delete_module = new GO_MODULES(); $delete_module->Halt_On_Error = 'no'; while ($GO_MODULES->next_record()) { $delete_module->delete_module($GO_MODULES->f('id')); } } //create new empty database //table is empty create the structure $queries = get_sql_queries("lib/sql/groupoffice.sql");
</tr> </table> <br /> <?php if ($task == 'search' || $task == 'show_letter') { if ($task == 'show_letter') { $query = smart_addslashes($_POST['query']) . '%'; } else { $query = '%' . smart_addslashes($_POST['query']) . '%'; } if ($search_type == 'contacts' || $search_type == 'users') { if ($search_type == 'users') { $click_type = 'user'; $array_name = 'users[]'; $ab1 = new GO_USERS(); $ab1->search($query, $search_field, $GO_SECURITY->user_id); } else { $click_type = 'contact'; $array_name = 'contacts[]'; $ab1->search_contacts($GO_SECURITY->user_id, $query, $search_field, $ab_settings['search_addressbook_id']); } $search_results = ''; while ($ab1->next_record()) { if ((!$require_email_address || $ab1->f("email") != '') && ($search_type == 'users' && $GO_SECURITY->has_permission($GO_SECURITY->user_id, $ab1->f('acl_id')) || $search_type != 'users' && ($GO_SECURITY->has_permission($GO_SECURITY->user_id, $ab1->f('acl_read')) || $GO_SECURITY->has_permission($GO_SECURITY->user_id, $ab1->f('acl_write'))))) { $class = "Table1"; $check = ""; if ($pass_value == 'email') { if ($ab1->f("email") != "") { $key = array_search($ab1->f("email"), $addresses); } else {