示例#1
0
 public function initialize()
 {
     $c = new ConfigElement_select('system_in_maintenance', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general');
     $c = new ConfigElement_select('admin_language', 'auto');
     $c->setContentAvailable(array('auto', 'ar_AE', 'ca_ES', 'de_DE', 'en_GB', 'es_ES', 'fr_FR', 'hu_HU', 'it_IT', 'ja_JP', 'nl_NL', 'pt_BR', 'sk_SK', 'ro_RO', 'ru_RU', 'zh_CN'));
     $this->add($c, 'general');
     $c = new ConfigElement_multiselect('log_flags', array('info', 'warning', 'error', 'critical'));
     $c->setContentAvailable(array('debug', 'info', 'warning', 'error', 'critical'));
     $this->add($c, 'general');
     $c = new ConfigElement_select('cache_update_interval', 30);
     $c->setContentAvailable(array(30, 60, 300, 900, 1800, 3600, 7200));
     $this->add($c, 'general');
     $c = new ConfigElement_select('cache_expire_time', 86400 * 366);
     $c->setContentAvailable(array(86400, 86400 * 7, 86400 * 31, 86400 * 366));
     $this->add($c, 'general');
     // 		$c = new ConfigElement_input('start_app','');
     // 		$this->add('general',$c);
     $c = new ConfigElement_text('user_default_group', '');
     $this->add($c, 'general');
     $c = new ConfigElement_select('domain_integration', 'internal');
     $c->setContentAvailable(array('internal', 'microsoft', 'ldap', 'novell'));
     $this->add($c, 'general');
     $c = new ConfigElement_input('max_items_per_page', 15);
     $this->add($c, 'general');
     $c = new ConfigElement_inputlist('default_browser', array('linux' => NULL, 'windows' => NULL));
     $this->add($c, 'general');
     $c = new ConfigElement_dictionary('liaison', array());
     $this->add($c, 'general');
     $c = new ConfigElement_multiselect('default_policy', array());
     $c->setContentAvailable(array('canUseAdminPanel', 'viewServers', 'manageServers', 'viewSharedFolders', 'manageSharedFolders', 'viewUsers', 'manageUsers', 'viewUsersGroups', 'manageUsersGroups', 'viewApplications', 'manageApplications', 'viewApplicationsGroups', 'manageApplicationsGroups', 'viewPublications', 'managePublications', 'viewConfiguration', 'manageConfiguration', 'viewStatus', 'manageSession', 'manageReporting', 'viewSummary', 'viewNews', 'manageNews', 'manageScripts', 'viewScripts', 'manageScriptsGroups', 'viewScriptsGroups'));
     $this->add($c, 'general', 'policy');
     $c = new ConfigElement_select('type', 'mysql');
     $c->setContentAvailable(array('mysql'));
     $this->add($c, 'general', 'sql');
     $c = new ConfigElement_input('host', 'localhost');
     $this->add($c, 'general', 'sql');
     $c = new ConfigElement_input('user', '');
     $this->add($c, 'general', 'sql');
     $c = new ConfigElement_password('password', '');
     $this->add($c, 'general', 'sql');
     $c = new ConfigElement_input('database', 'ovd');
     $this->add($c, 'general', 'sql');
     $c = new ConfigElement_input('prefix', 'ulteo_');
     $this->add($c, 'general', 'sql');
     $c_mail_type = new ConfigElement_select('send_type', 'mail');
     $c_mail_type->setContentAvailable(array('mail', 'smtp'));
     $this->add($c_mail_type, 'general', 'mails_settings');
     $c = new ConfigElement_input('send_from', 'no-reply@' . @$_SERVER['SERVER_NAME']);
     $this->add($c, 'general', 'mails_settings');
     // SMTP conf
     $c = new ConfigElement_input('send_host', '');
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_input('send_port', 25);
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_select('send_ssl', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_select('send_auth', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_input('send_username', '');
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_password('send_password', '');
     $this->add($c, 'general', 'mails_settings');
     $c_mail_type->addReference('smtp', $c);
     $c = new ConfigElement_list('authorized_fqdn', array('*'));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('disable_fqdn_check', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('use_reverse_dns', true);
     $c->setContentAvailable(array(false, true));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('action_when_as_not_ready', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('auto_recover', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('remove_orphan', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('auto_register_new_servers', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('auto_switch_new_servers_to_production', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $c = new ConfigElement_select('use_max_sessions_limit', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'slave_server_settings');
     $roles = array(Server::SERVER_ROLE_APS, Server::SERVER_ROLE_FS);
     foreach ($roles as $role) {
         $decisionCriterion = get_classes_startwith('DecisionCriterion_');
         $content_load_balancing = array();
         foreach ($decisionCriterion as $criterion_class_name) {
             $c = new $criterion_class_name(NULL);
             // ugly
             if ($c->applyOnRole($role)) {
                 $content_load_balancing[substr($criterion_class_name, strlen('DecisionCriterion_'))] = $c->default_value();
             }
         }
         $c = new ConfigElement_sliders_loadbalancing('load_balancing_' . $role, $content_load_balancing);
         $this->add($c, 'general', 'slave_server_settings');
     }
     $c_desktop_mode = new ConfigElement_select('enabled', 1);
     $c_desktop_mode->setContentAvailable(array(0, 1));
     $this->add($c_desktop_mode, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_select('desktop_icons', 1);
     $c->setContentAvailable(array(0, 1));
     $c_desktop_mode->addReference('1', $c);
     $this->add($c, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_select('allow_external_applications', 1);
     $c->setContentAvailable(array(0, 1));
     $c_desktop_mode->addReference('1', $c);
     $this->add($c, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_select('desktop_type', 'any');
     $c->setContentAvailable(array('any', 'linux', 'windows'));
     $c_desktop_mode->addReference('1', $c);
     $this->add($c, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_list('allowed_desktop_servers', array());
     $c_desktop_mode->addReference('1', $c);
     $this->add($c, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_select('authorize_no_desktop', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'remote_desktop_settings');
     $c = new ConfigElement_select('enabled', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'remote_applications_settings');
     $c = new ConfigElement_select('session_mode', Session::MODE_APPLICATIONS);
     $c->setContentAvailable(array(Session::MODE_DESKTOP, Session::MODE_APPLICATIONS));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('language', 'en_GB');
     $c->setContentAvailable(array('ar_AE', 'bg_BG', 'ca_ES', 'da-dk', 'de_DE', 'en_GB', 'el_GR', 'es_ES', 'eu_ES', 'fa_IR', 'fi_FI', 'fr_FR', 'he_IL', 'hu_HU', 'id_ID', 'is_IS', 'it_IT', 'ja_JP', 'nb_NO', 'nl_NL', 'pl_PL', 'pt_BR', 'ro_RO', 'ru_RU', 'sk_SK', 'sl', 'sv_SE', 'zh_CN'));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('timeout', -1);
     $c->setContentAvailable(array(60, 120, 300, 600, 900, 1800, 3600, 7200, 18000, 43200, 86400, 172800, 604800, 2764800, -1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_week_time_select('time_restriction', str_repeat("FF", 3 * 7));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_input('max_sessions_number', 0);
     $this->add($c, 'general');
     $c = new ConfigElement_select('launch_without_apps', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('allow_shell', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('use_known_drives', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('bypass_servers_restrictions', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('multimedia', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('redirect_client_drives', 'full');
     $c->setContentAvailable(array('no', 'partial', 'full'));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('redirect_client_printers', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     if (class_exists("PremiumManager") && PremiumManager::is_premium()) {
         $c = new ConfigElement_select('redirect_smartcards_readers', 0);
         $c->setContentAvailable(array(0, 1));
         $this->add($c, 'general', 'session_settings_defaults');
     }
     $c = new ConfigElement_select('rdp_bpp', 16);
     $c->setContentAvailable(array(16, 24, 32));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('enhance_user_experience', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('use_local_ime', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('persistent', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('followme', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c_user_profile = new ConfigElement_select('enable_profiles', 1);
     $c_user_profile->setContentAvailable(array(0, 1));
     $this->add($c_user_profile, 'general', 'session_settings_defaults');
     $c = new ConfigElement_input('quota', 0);
     $c_user_profile->addReference('1', $c);
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('profile_mode', 'advanced');
     $c->setContentAvailable(array('standard', 'advanced'));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('auto_create_profile', 1);
     $c->setContentAvailable(array(0, 1));
     $c_user_profile->addReference('1', $c);
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('start_without_profile', 1);
     $c->setContentAvailable(array(0, 1));
     $c_user_profile->addReference('1', $c);
     $this->add($c, 'general', 'session_settings_defaults');
     $c_shared_folder = new ConfigElement_select('enable_sharedfolders', 1);
     $c_shared_folder->setContentAvailable(array(0, 1));
     $this->add($c_shared_folder, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('start_without_all_sharedfolders', 1);
     $c->setContentAvailable(array(0, 1));
     $c_shared_folder->addReference('1', $c);
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('can_force_sharedfolders', 1);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_multiselect('advanced_settings_startsession', array('session_mode', 'language'));
     $c->setContentAvailable(array('session_mode', 'language', 'server', 'timeout', 'persistent'));
     $this->add($c, 'general', 'session_settings_defaults');
     $c = new ConfigElement_select('show_list_users', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'web_interface_settings');
     $c = new ConfigElement_select('public_webservices_access', 0);
     $c->setContentAvailable(array(0, 1));
     $this->add($c, 'general', 'web_interface_settings');
     $this->getPrefsModules();
     $this->getPrefsEvents();
 }
示例#2
0
}
unset($_SESSION['from_Client_start_XML']);
if (class_exists("PremiumManager") && PremiumManager::is_premium()) {
    if (!PremiumManager::can_start_session()) {
        throw_response(SERVICE_NOT_AVAILABLE);
    }
}
$user = $sessionManagement->user;
$default_settings = $user->getSessionSettings('session_settings_defaults');
$session_mode = $default_settings['session_mode'];
$timeout = $default_settings['timeout'];
$allow_shell = $default_settings['allow_shell'];
$multimedia = $default_settings['multimedia'];
$redirect_client_drives = $default_settings['redirect_client_drives'];
$redirect_client_printers = $default_settings['redirect_client_printers'];
if (class_exists("PremiumManager") && PremiumManager::is_premium()) {
    $redirect_smartcards_readers = $default_settings['redirect_smartcards_readers'];
} else {
    $redirect_smartcards_readers = 0;
}
$rdp_bpp = $default_settings['rdp_bpp'];
$enhance_user_experience = $default_settings['enhance_user_experience'];
$persistent = $default_settings['persistent'];
$followme = $default_settings['followme'];
$use_local_ime = $default_settings['use_local_ime'];
$advanced_settings = array();
foreach ($default_settings['advanced_settings_startsession'] as $v) {
    $advanced_settings[] = $v;
}
$remote_desktop_settings = $user->getSessionSettings('remote_desktop_settings');
$remote_desktop_enabled = $remote_desktop_settings['enabled'] == 1 ? true : false;
示例#3
0
 public function getInitialConfiguration()
 {
     $c = array('version' => OVD_SM_VERSION, 'max_items_per_page' => $this->prefs->get('general', 'max_items_per_page'), 'admin_language' => $this->prefs->get('general', 'admin_language'), 'system_inited' => file_exists(SESSIONMANAGER_CONFFILE_SERIALIZED), 'system_in_maintenance' => $this->prefs->get('general', 'system_in_maintenance'));
     if (file_exists(SESSIONMANAGER_CONFFILE_SERIALIZED)) {
         $c['settings_last_backup'] = @filemtime(SESSIONMANAGER_CONFFILE_SERIALIZED);
     }
     if (Preferences::moduleIsEnabled('UserDB')) {
         $userDB = UserDB::getInstance();
         $b = array('name' => $userDB->prettyName(), 'writable' => $userDB->isWriteable());
         $c['UserDB'] = $b;
     }
     if (Preferences::moduleIsEnabled('UserGroupDB')) {
         $userGroupDB = UserGroupDB::getInstance();
         $b = array('name' => $userGroupDB->prettyName(), 'writable' => $userGroupDB->isWriteable());
         $c['UserGroupDB'] = $b;
     }
     if (Preferences::moduleIsEnabled('ApplicationDB')) {
         $applicationDB = ApplicationDB::getInstance();
         $b = array('name' => $applicationDB->prettyName(), 'writable' => $applicationDB->isWriteable());
         $c['ApplicationDB'] = $b;
     }
     if (Preferences::moduleIsEnabled('UserGroupDBDynamic')) {
         $c['UserGroupDBDynamic'] = true;
     }
     if (Preferences::moduleIsEnabled('UserGroupDBDynamicCached')) {
         $c['UserGroupDBDynamicCached'] = true;
     }
     if (Preferences::moduleIsEnabled('ProfileDB')) {
         $c['ProfileDB'] = true;
     }
     if (Preferences::moduleIsEnabled('SharedFolderDB')) {
         $c['SharedFolderDB'] = true;
     }
     $c['policy'] = $this->user_rights;
     if (class_exists("PremiumManager")) {
         $c["premium"] = PremiumManager::is_premium();
     } else {
         $c["premium"] = False;
     }
     return $c;
 }