summaryrefslogblamecommitdiffstats
path: root/inc/defaultdata.inc.php
blob: 2d993e72eca522447af58263b1f33ae517122551 (plain) (tree)





















                                                                                     
                                                       
                                                   

                                                 
                                                          
                                                             
                                
















                                                                                                                          
                                               













                                                                   
                                                         



































                                                                                        
                                                                 












                                                              
                                                                                           


                                                                       
                                               











                                                                       






                                                                       






                                                              











                                                                                   
                          
                          













                                                                      
                          






                                                                




















                                                                           
                  


         
<?php

/**
 * This class is supposed to fill the database with default entries (where required).
 * The insertion should be non-destructive, so if an entry already exists (and
 * possibly changed), it should be skipped.
 */
class DefaultData
{

	public static function populate()
	{
		self::addSettingCategories();
		self::addSettings();
	}

	/**
	 * Categories for basic system config / config variables
	 */
	private static function addSettingCategories()
	{
		$cats = array(
			1 => 30, // Inactivity/Shutdown
			2 => 50, // Internet access
			3 => 100, // Timesync
			4 => 10, // System config
			//5 => 15, // Public Shared folder
			6 => 20000, // Unassigned/no category
			7 => 20,
		);
		foreach ($cats as $cat => $sort) {
			Database::exec("INSERT IGNORE INTO cat_setting (catid, sortval) VALUES (:catid, :sortval)", array(
				'catid' => $cat,
				'sortval' => $sort
			));
		}
	}

	/**
	 * Settings for basic system config
	 */
	private static function addSettings()
	{
		$data = array(
			array(
				'setting' => 'SLX_ADDONS',
				'catid' => '6',
				'defaultvalue' => 'vmware',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_BIOS_CLOCK',
				'catid' => '3',
				'defaultvalue' => 'off',
				'permissions' => '2',
				'validator' => 'list:off|local|utc'
			),
			array(
				'setting' => 'SLX_LOGOUT_TIMEOUT',
				'catid' => '1',
				'defaultvalue' => '2700',
				'permissions' => '2',
				'validator' => 'regex:/^\d*$/'
			),
			array(
				'setting' => 'SLX_NET_DOMAIN',
				'catid' => '2',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_NTP_SERVER',
				'catid' => '3',
				'defaultvalue' => '0.de.pool.ntp.org 1.de.pool.ntp.org',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_PROXY_BLACKLIST',
				'catid' => '2',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_PROXY_IP',
				'catid' => '2',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_PROXY_MODE',
				'catid' => '2',
				'defaultvalue' => 'off',
				'permissions' => '2',
				'validator' => 'list:off|on|auto'
			),
			array(
				'setting' => 'SLX_PROXY_PORT',
				'catid' => '2',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => 'regex:/^\d*$/'
			),
			array(
				'setting' => 'SLX_PROXY_TYPE',
				'catid' => '2',
				'defaultvalue' => 'socks5',
				'permissions' => '2',
				'validator' => 'list:socks4|socks5|http-connect|http-relay'
			),
			array(
				'setting' => 'SLX_REMOTE_LOG_SESSIONS',
				'catid' => '6',
				'defaultvalue' => 'anonymous',
				'permissions' => '2',
				'validator' => 'list:yes|anonymous|no'
			),
			array(
				'setting' => 'SLX_ROOT_PASS',
				'catid' => '4',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => 'function:linuxPassword'
			),
			array(
				'setting' => 'SLX_DEMO_PASS',
				'catid' => '4',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => 'function:linuxPassword'
			),
			array(
				'setting' => 'SLX_BWIDM_AUTH',
				'catid' => '4',
				'defaultvalue' => 'no',
				'permissions' => '2',
				'validator' => 'list:yes|no'
			),
			array(
				'setting' => 'SLX_SHUTDOWN_SCHEDULE',
				'catid' => '1',
				'defaultvalue' => '22:10 00:00',
				'permissions' => '2',
				'validator' => 'regex:/^(\s*\d{1,2}:\d{1,2})*\s*$/'
			),
			array(
				'setting' => 'SLX_SHUTDOWN_TIMEOUT',
				'catid' => '1',
				'defaultvalue' => '1200',
				'permissions' => '2',
				'validator' => 'regex:/^\d*$/'
			),
			/*
			array(
				'setting' => 'SLX_COMMON_SHARE_PATH',
				'catid' => '5',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => 'function:networkShare'
			),
			array(
				'setting' => 'SLX_COMMON_SHARE_AUTH',
				'catid' => '5',
				'defaultvalue' => 'guest',
				'permissions' => '2',
				'validator' => 'list:guest|user'
			),
			*/
			array(
				'setting' => 'SLX_BENCHMARK_VM',
				'catid' => '6',
				'defaultvalue' => '',
				'permissions' => '2',
				'validator' => ''
			),
			array(
				'setting' => 'SLX_VMCHOOSER_TAB',
				'catid' => '7',
				'defaultvalue' => 'AUTO',
				'permissions' => '2',
				'validator' => 'list:0|1|2|AUTO'
			),
			array(
				'setting' => 'SLX_VMCHOOSER_TEMPLATES',
				'catid' => '7',
				'defaultvalue' => 'IGNORE',
				'permissions' => '2',
				'validator' => 'list:IGNORE|BUMP'
			),
			array(
				'setting' => 'SLX_VMCHOOSER_FORLOCATION',
				'catid' => '7',
				'defaultvalue' => 'BUMP',
				'permissions' => '2',
				'validator' => 'list:IGNORE|BUMP|EXCLUSIVE'
			),
		);
	}

}