Location: PHPKode > projects > ProjectPress > projectpress/installer/configuration.php
<?php if(!defined('INST_BASEDIR')) die('Direct access is not allowed!');

    /* ====================================================================
    *
    *                             PHP Setup Wizard
	*
    *                            -= CONFIGURATION =-
    *
    *  ================================================================= */
    


	/*=====================================================================================================================================*\
    |*                                                                                                                                     *|
    |*                                                             INSTALLATION STEPS                                                      *|
	|*                                                                                                                                     *|
    \*=====================================================================================================================================*/

	define('STEP_PHPREQUIRES',	'phprequires');
	define('STEP_IOFILES',		'iopermission');
	define('STEP_WELCOME',		'welcomemsg');
	define('STEP_TERMSOFUSE',	'termsofuse');
	define('STEP_SERIALKEY',	'serialkey');
	define('STEP_TIMEZONE',		'timezones');
	define('STEP_LANGUAGE',		'languages');
	define('STEP_ADDEDINFO',	'additional');
	define('STEP_DBCONNECT',	'dbserverlogon');
	define('STEP_DBSELECT',		'dbselection');
	define('STEP_DBACCESS',		'dbaccesstest');
	define('STEP_DBPREFIX',		'dbprefix');
	define('STEP_RUNSQL',		'installsql');
	define('STEP_ROOTUSER',		'rootuser');
	define('STEP_WRITECONFIG',	'writeconfig');
	define('STEP_FINISHED',		'finishedmsg');

	// This constant is used in overview.php as a "special" step to show the contents
	// of this file! This step IS NOT IMPLEMENTED in the installer.php - only overview.php
	define('STEP_SETTOVERVIEW',	'settoverview');


	$steps = array(

	/*--------------------------------------------------------------------|
	|  Welcome Message                                                    |
	|---------------------------------------------------------------------|
	|  Show welcome message or short introduction to what is being 
	|  installed
	|  
	|  > title    : The title of this step in the process box
	|  > enabled  : Should this step be included or not
	|  > maskname : The mask filename - HTML is supported   
	\---------------------------------------------------------------------*/
	STEP_WELCOME => array(
		'title'        =>  'Introduction',
		'enabled'      =>  true,
		'maskname'     =>  'welcome_message.html',
		),


	/*--------------------------------------------------------------------|
	|  PHP Requirements Checks                                            |
	|---------------------------------------------------------------------|
	|  Does the hosting service support the necessary PHP modules for this
	|  installer to function or not
	|  
	|  > title      : The title of this step in the process box
	|
	|  > enabled    : Should this step be included or not
	|
	|  > ishidden   : If all requirements are met, this step is not visible
	|
	|  > extensions : List of PHP extensions that must be loaded. NOTE: that
	|                 the array MUST be configured with the indices as the 
	|                 actual extension names, the values are the titles. Like
	|                 this: array('extension_name' => 'Friendly Title')
	| 
	|                 Example: If you want to check 'mysql' and 'mbstring'
	|                          array('mysql'=>'MySQL', 'mbstring'=>'MB Strings')
	|
	|  > directives : Should the installer verify list of directives or not.
	|                 If TRUE, then this step will use the $php_directives
	|                 array that is defined at the bottom of this config
	|
	|  > phpversion : Defines the required PHP version. If the system only
	|                 requires PHP 5 for instance, then '5' is enough and all
	|                 versions starting with 5 and above will be accepted. 
	|                 If you need to be very spesific you can set '5.2.10' and
	|                 any newer version will be accepted. Set this to false
	|                 to disable PHP version check
	|
	|  > maxversion : The 'phpversion' setting will accept any newer version
	|                 unless specified here. In other words, in what PHP 
	|                 version begins your system not to work?
	|
	|                 Example: phpversion = '5.2' and maxversion = '6' means
	|                          all versions after 5.2.0 (including 5.2.0) up
	|                          to 6.99.99 will be accepted, in other words, any 
	|                          PHP 5 and 6 versions after 5.2. Set max version
	|                          to '6.0.0' or '5' to limit only versions 5
	|
	|                 Example: phpversion = '4.3.9' and maxversion = '5.3.0'
	|                          means accept any version starting from 4.3.9
	|                          and up to (not including) 5.3.0
	\---------------------------------------------------------------------*/
	STEP_PHPREQUIRES => array(
		'title'       =>  'PHP Requirements',
		'enabled'     =>  true,
		'ishidden'    =>  false,
		'extensions'  =>  array(
							'mysql'  => 'MySQL Databases',
							'mcrypt' => 'Encryption',
							'zlib'   => 'ZIP Archives',
							),
		'directives'  =>  true,
		'phpversion'  =>  '5.1.4', # minimum: 5.1.4
		'maxversion'  =>  '5.x.x', # maximum: any PHP5 version
		),


	/*---------------------------------------------------------------------|
	|  I/O File Permissions Test                                           |
	|----------------------------------------------------------------------|
	|  Checks wherther if the installer can in fact create and write to 
	|  files on the server, which is the core purpose of the installer
	|
	|  !!NOTE!!:  This step will verify the "Create Configuration File" 
	|             step configuration. So IF this step has been passed the
	|             output config will be able to be created/updated
	|  
	|  > title     : The title of this step in the process box
	|
	|  > enabled  : Should this step be included or not
	|
	|  > ishidden  : If permission is granted, this step will be hidden
	|                whitout notifying the user at all. Othervice the user
	|                will be prompted "can create files" success message
	|
	|  > enabled   : If disabled, the installer continues without the 
	|                certany that files can be created and written to
	\---------------------------------------------------------------------*/
	STEP_IOFILES => array(
		'title'        =>  'File Permissions',
		'enabled'      =>  true,
		'ishidden'     =>  false,
		),


	/*---------------------------------------------------------------------|
	|  Terms Of Use Agreement                                              |
	|----------------------------------------------------------------------|
	|  If enabled the user MUST approve the "terms of use" agreement before
	|  continuing with the install
	|  
	|  > title    : The title of this step in the process box
	|  > enabled  : Should this step be included or not
	|  > maskname : The mask filename - plain-text only!   
	\---------------------------------------------------------------------*/
	STEP_TERMSOFUSE => array(
		'title'        =>  'Terms Of Use Agreement',
		'enabled'      =>  false,
		'maskname'     =>  'terms_of_use.txt',
		),


	/*---------------------------------------------------------------------|
	|  Serial Key Confirmation                                             |
	|----------------------------------------------------------------------|
	|  If enabled the user MUST enter valid serial key that matches a value
	|  in this config in order to continue. However, "try it out" trial is
	|  also supported if enabled in this step.
	|
	|  !!NOTE!!:  This step will be rather useless if used in your setup
	|             and the PHP code is not obfuscated. Meaning, PHP is in 
	|             clear text and anyone with very basic understanding of
	|             programming could easily just copy 'serialkey' and paste
	|             it during installation. Consider using some obfuscation,
	|             and with that said - obfuscating these array keys might
	|             also be a good idea.
	|
	|  > title      : The title of this step in the process box
	|  > enabled    : Should this step be included or not
	|  > allowtrial : Permits the user to press "Trial" button and avoid
	|                 entering some serial
	|  > serialkey  : The one or more serial keys the user must enter in
	|                 order to continue
	\---------------------------------------------------------------------*/
	STEP_SERIALKEY => array(
		'title'        =>  'Serial Key Confirmation',
		'enabled'      =>  false,
		'allowtrial'   =>  false,
		'serialkeys'   =>  array('ABC123', '123ABC'),		
		),


	/*---------------------------------------------------------------------|
	|  Language Selection                                                  |
	|----------------------------------------------------------------------|
	|  Does the system you are installing require a language selection?
	|
	|  > title        : The title of this step in the process box
	|  > enabled      : Should this step be included or not
	|  > supported    : Array of supported languages, with country code and name
	\---------------------------------------------------------------------*/
	STEP_LANGUAGE => array(
		'title'        =>  'Select Scandinavian Language',
		'enabled'      =>  false,
		'default'      =>  'is',
		'supported'    =>  array(
						'dk'=>'Danish',
						'fi'=>'Finish',
						'fo'=>'Faroese',
						'is'=>'Icelandic',
						'no'=>'Norwegian',
						'se'=>'Swedish'),
		),


	/*---------------------------------------------------------------------|
	|  Timezone Selection                                                  |
	|----------------------------------------------------------------------|
	|  Does the system you are installing require a timezone selection?
	|
	|  > title        : The title of this step in the process box
	|  > enabled      : Should this step be included or not
	\---------------------------------------------------------------------*/
	STEP_TIMEZONE => array(
		'title'        =>  'Select Timezone',
		'enabled'      =>  false,
		),


	/*---------------------------------------------------------------------|
	|  Additional Information                                              |
	|----------------------------------------------------------------------|
	|  Does the system you are installing require some custom inputs from
	|  the user, like the "title" of the website or other related things
	|  that should go into the configs but are not related to login, db,
	|  admin account or any of the other steps available.
	|
	|  > title        : The title of this step in the process box
	|  > enabled      : Should this step be included or not
	\---------------------------------------------------------------------*/
	STEP_ADDEDINFO => array(
		'title'        =>  'ProjectPress Options Table',
		'enabled'      =>  true,
		'form'        =>  array(						
			  array('type' => 'paragraph',
					'text' => 'You must fill out all options or your system will not work'),

			  array('type' => 'label',
					'text' => 'Site Title:'),
			  array('type' => 'textbox',
					'keyword'  => 'sitetitle',
					'value'    => '',
					'numeric'  => false,
					'mustfill' => true,
					'minlen'   => false,
					'maxlen'   => false,
					'minval'   => false,        
					'maxval'   => false), 

			  array('type' => 'label',
					'text' => 'Site URL'),
			  array('type' => 'textbox',
					'keyword'  => 'siteurl',
					'value'    => 'Do not include the trailing slash.',
					'numeric'  => false,
					'mustfill' => true,
					'minlen'   => false,
					'maxlen'   => false,
					'minval'   => false,        
					'maxval'   => false), 

			  array('type' => 'label',
					'text' => 'Site Absolute Path:'),
			  array('type' => 'textbox',
					'keyword'  => 'sitepath',
					'value'    => 'You must include the trailing slash / at the end.',
					'numeric'  => false,
					'mustfill' => true,
					'minlen'   => false,
					'maxlen'   => false,
					'minval'   => false,        
					'maxval'   => false),
			),
		),	


	/*---------------------------------------------------------------------|
	|  Database Server Connection                                          |
	|----------------------------------------------------------------------|
	|  Prompts username, password and host input fieldss that the user 
	|  fills out to logon to the server.
	|  
	|  > title        : The title of this step in the process box
	|
	|  > enabled      : Should this step be included or not
	|
	|  > portoptional : If enabled, the user has the option to fill in port
	|                   value. If keept empty it will be ignored when 
	|                   connection is made
	|
	|  > encryptlogin : When login is successful, this flag will make sure
	|                   the username, password, host and database name will 
	|                   be encrypted in session using the Blowfish encryption. 
	|                   It is highly recommended that you enable this feature 
	|                   to enhance security during the installation. 
	\---------------------------------------------------------------------*/
	STEP_DBCONNECT => array(
		'title'        =>  'Server Connection',
		'enabled'      =>  true,
		'portoptional' =>  true,
		'encryptlogin' =>  false, 
		),


	/*---------------------------------------------------------------------|
	|  Database Selection / Creation                                       |
	|----------------------------------------------------------------------|
	|  Lists all databases available and total number of tables in each 
	|  database. Offers the user to choose one database for the installation. 
	|  New databasew can also be created in this step
	|  
	|  > title        : The title of this step in the process box
	|
	|  > enabled      : Should this step be included or not
	|
	|  > allowcreate  : Can the user create new databases as well
	|
	|  > selecttype   : This setting controls how databases are selected.
	|                   You can set this to be manual or list only, but
	|                   setting this to 'both' enables the installer to
	|                   automatically determine which one to use at any
	|                   given time
	|
	|                   - 'manual' : Only show a input box to type in a 
	|                                database name manually
	|
	|                   - 'dblist' : Databases are listed such that the user
	|                                can select one of them. But, when the 
	|                                database list is empty or the 
	|                                SHOW DATABASES; query is restricted, 
	|                                the manual box is shown so the user can
	|                                attempt to enter it manually
	|
	|                   - 'both'   : Both options are shown togehter
	\---------------------------------------------------------------------*/
	STEP_DBSELECT => array(
		'title'        =>  'Database Selection',
		'enabled'      =>  true,
		'allowcreate'  =>  true,
		'selecttype'   =>  'both', 
		),


	/*---------------------------------------------------------------------|
	|  Database Access Test                                                | 
	|----------------------------------------------------------------------|
	|  A test is made to see if the selected user has the permit to create
	|  tables, insert, update, delete etc. If this step is set to ishidden,
	|  then it will only be shown if something in the test will render fail
	|  
	|  > title    : The title of this step in the process box
	|  > ishidden : Possible to hide this step if all tests are successful
	|  > enabled  : Should this step be included or not
	\---------------------------------------------------------------------*/
	STEP_DBACCESS => array(
		'title'        =>  'Database Access Test',
		'ishidden'     =>  false,
		'enabled'      =>  true,
		),


	/*---------------------------------------------------------------------|
	|  Database Table Prefix                                               |
	|----------------------------------------------------------------------|
	|  A very usefull option when you want to make sure that the table names 
	|  will be unique and not collide with other table names. Either from 
	|  other systems or another version of this same system 
	|
	|  > title      : The title of this step in the process box
	|
	|  > enabled    : Should this step be included or not
	|
	|  > optional   : The table prefix is not always wanted, though it is
	|                 a nice feature to offer. If you want the table prefix
	|                 to be enabled but not forced - set optional to true
	|                 so the user can self deside if he wants a prefix. Set
	|                 it to false and the prefix must have a value, thus
	|                 forced to have some value
	|
	|  > separator  : This string value is added at the end of the prefix.
	|                 If it is already at the end (the user added it) then
	|                 it will not be repeated. Keep the box empty if you
	|                 wish not to use a separator
	\---------------------------------------------------------------------*/
	STEP_DBPREFIX => array(
		'title'        =>  'Table Prefix',
		'enabled'      =>  true,
		'optional'     =>  false,
		'separator'    =>  '_',  
		),


	/*---------------------------------------------------------------------|
	|  Execute SQL Queries (Install Tables)                                |
	|----------------------------------------------------------------------|
	|  A block of SQL well be executed, assuming the system needs to run 
	|  SQL commands to create tables and perhaps insert few rows as well. 
	|
	|  > title        : The title of this step in the process box
	|  > enabled      : Should this step be included or not
	|  > viewsql      : Should the install script be visible to the user,
	|                   if true then showin in a box with scrollbars
	|  > maskname     : The mask filename - plain-text only!
	\---------------------------------------------------------------------*/
	STEP_RUNSQL => array(
		'title'        =>  'Install Database Tables',
		'enabled'      =>  true,
		'viewsql'      =>  false,
		'maskname'     =>  'database_commands.sql',
		),


	/*---------------------------------------------------------------------|
	|  Create Administrator Account                                        |
	|----------------------------------------------------------------------|
	|  Should the installer include "Create Administrator Account" for the 
	|  system that is beeing installed? 
	|
	|  !!NOTE!!:  This step has to be customized to fit the needs of the
	|             system being installed. It is nearly impossible to count 
	|             for all possibilities when it comes to install users to 
	|             various systems. 
	|
	|  > title        : The title of this step in the process box
	|  > enabled      : Should this step be included or not
	|  > encryptdata  : The administrator data will be encrypted in sessions
	|  > maskname     : Name of the mask file containing the "insert" query
	\---------------------------------------------------------------------*/
	STEP_ROOTUSER => array(
		'title'        =>  'Create Administrator Account',
		'enabled'      =>  true,
		'encryptdata'  =>  false,
		'maskname'     =>  'insert_root_access.sql',
		),


	/*---------------------------------------------------------------------|
	|  Create Configuration File(s)                                        |
	|----------------------------------------------------------------------|
	|  Create one or more config files for the system being installed. 
	|  This step writes any information you want from what the setup 
	|  has been collecting.
	|
	|  > title        : The title of this step in the process box
	|
	|  > enabled      : Should this step be included or not
	|
	|  > ishidden     : If creation is successful, this step will be hidden
	|                   whitout notifying the user at all. Othervice the user
	|                   will be prompted "config created" success message
	|
	|  > configs      : The names of the configs in your system and where to 
	|                   save them. Each config name must match a mask name which
	|                   will be a building block for creating that config. This
	|                   is because no system has the exactly the same config
	|                   structure. Therefore rename each mask file accordingly.
	|                   
	|      - maskname :     The name of the maskfile which will become the output config
	|                       file after installation (with all keywords replaced).
	|
	|      - savetofolder : Where will the config file be saved. This setting will 
	|                       create these folders from where the installer was launched 
	|                       from, which usually is index.php. Some tips:
	|
	|                         "folder/" : Create new folder and put the config
	|                                     inside that folder
	|
	|                      "../folder/" : Go back one folder, create the new folder
	|                                     there and put the config in it
	|
	|                                "" : No folder should be created, the config
	|                                     will be created at the same place as the
	|                                     file that launched the installer (index.php)
	|
	|                       NOTE: If some string is presented, that string will 
	|                             be put in the PHP function "mkdir()". To read
	|                             more about creating folders - check PHP documentation	                       
	|
	|  > updateonzero : In some cases, the config files have to be created 
	|                   manually due to security reasons. When that happens
	|                   the installer cannot rely on the fact that if a
	|                   config exists, we are done. So, the work around is
	|                   that you create a file manually and make it totally
	|                   empty! If the installer detects the output file, and
	|                   this setting is set to true - then if the file has 
	|                   zero bytes, we are not done and will keep installing!
	\---------------------------------------------------------------------*/
	STEP_WRITECONFIG => array(
		'title'        =>  'Create Configuration Files',
		'enabled'      =>  true,
		'ishidden'     =>  true,
		'updateonzero' =>  true,
		'configs'      =>  array(
		  array(
			'maskname'     =>  'config.inc.php',
			'savetofolder' =>  ''),
		  array(
			'maskname'     =>  'broken.index.php',
			'savetofolder' =>  ''),
		),		 
	),


	/*---------------------------------------------------------------------|
	|  Finished Message                                                    |
	|----------------------------------------------------------------------|
	|  Show finished message or short outro to what has been installed
	|  
	|  > title    : The title of this step in the process box
	|  > enabled  : Should this step be included or not
	|  > maskname : The mask filename - HTML is supported   
	\---------------------------------------------------------------------*/
	STEP_FINISHED => array(
		'title'        =>  'All done!',
		'enabled'      =>  true,
		'maskname'     =>  'finished_message.html',
		),
	);




    
	/*=====================================================================================================================================*\
    |*                                                                                                                                     *|
    |*                                                             ADDITIONAL SETTINGS                                                     *|
	|*                                                                                                                                     *|
    \*=====================================================================================================================================*/
    $config = array(


	/*--------------------------------------------------------------------|
	|  Installer Title                                                    |
	|---------------------------------------------------------------------|
	|  What should the name of the installer be
	\--------------------------------------------------------------------*/
	'installer_title_name' => 'Install ProjectPress',

	
    /*--------------------------------------------------------------------|
	|  PHP Error Messages                                                 |
	|---------------------------------------------------------------------|
	|  Should the installer show PHP error messages or not. The installer
	|  will display errors in a mush more friendly fashion. Set to TRUE if 
	|  you are creating custom steps and need some debugging. 
	\--------------------------------------------------------------------*/
	'show_php_error_messages' => true,

     
    /*--------------------------------------------------------------------|
	|  Show Database Error Messages                                       |
	|---------------------------------------------------------------------|
	|  Error messages generated by the database server when SQL queries
	|  are unsuccessful. Useful when users are at "advanced" level, but 
	|  not considered needed when users are at "novice" level.
	\--------------------------------------------------------------------*/
    'show_database_error_messages' => true,


    /*--------------------------------------------------------------------|
	|  Masks Folder name                                                  |
	|---------------------------------------------------------------------|
	|  What is the name of the masks folder. Default: "masks"
	\--------------------------------------------------------------------*/
    'mask_folder_name' => 'masks',


	/*--------------------------------------------------------------------|
	|  Ignore Installer When Process Is Done                              |
	|---------------------------------------------------------------------|
	|  When the installer detects that the output config file exists and 
	|  it contains some data, it can simply "ignore itself" and continue
	|  running the website. Else it will notify the user to remove the
	|  installer folder
	\--------------------------------------------------------------------*/
    'ignore_installer_when_done' => false,


	/*--------------------------------------------------------------------|
	|  Allow Overriding Current Config                                    |
	|---------------------------------------------------------------------|
	|  When the installer detects that the output config file exists and 
	|  it contains some data, and "ignore" setting is set to false, should 
	|  the installer offer a "start all over" button. If pressed, the 
	|  current config will be deleted from the server as the installer 
	|  reloads and then acknowledges that there is a need for config creation
	|
	|  NOTE: 'ignore_installer_when_done' must be FALSE for this to work!
	\--------------------------------------------------------------------*/
    'allow_overriding_oldconfig' => true,
    

	/*--------------------------------------------------------------------|
	|  Allow Complete Self-Destruction                                    |
	|  Automatically launch Self-Destruction                              |
	|---------------------------------------------------------------------|
	|  When the installer detects that the output config file exists and 
	|  it contains some data, and "ignore" setting is set to false, should 
	|  the installer offer a "remove files" button. If pressed, all files
	|  in the Installer folder will be deleted from the server, or at least 
	|  an attempt will be made to do so
	|
	|  If the setting 'allow_self_destruction' is set to true, this setting
	|  can enforce that mechanism to execute automatically when installer 
	|  is done, and the user simply presses "Done" or "Finished" button and
	|  the installer files will be removed as the installed system is 
	|  starting up for the first time
	\--------------------------------------------------------------------*/
    'allow_self_destruction'       => true,    
	'automatically_self_destruct'  => false,


	/*--------------------------------------------------------------------|
	|  Self-Destruction Filter / Folder Removal                           |
	|---------------------------------------------------------------------|
	|  If for some reason, you do not want the installer to remove some
	|  spesific extensions from the Installer folder, specify the ones that
	|  you want to remove, but keep the array empty to remove everything
	|
	|  - Example:  array('php', 'css');  = Removes only PHP and CSS files
	|  - Example:  array();              = Removes ALL files!
	\--------------------------------------------------------------------*/
	'self_destruct_filter'          => array(),
	'self_destruct_removes_folders' => true,


	/*--------------------------------------------------------------------|
	|  Session Prefix                                                     |
	|---------------------------------------------------------------------|
	|  Uniquely identifies the sessions for the installer, important! 
	|  Default value is 'INST_' but change it if you are using it yourself
	\--------------------------------------------------------------------*/
    'session_prefix' => 'INST_',


	/*--------------------------------------------------------------------|
	|  Session Encryption Hash                                            |
	|---------------------------------------------------------------------|
	|  The sever connection credentials will be encrypted using a blowfish
	|  encryption. It will need a key that is used to encrypt/decrypt the
	|  the login info. To keep the encryption safe and unique for your 
	|  installer - replace the key below and try to obscure it as much as
	|  you can for added security.
	\--------------------------------------------------------------------*/
    'encryption_key' => '*r3p14ce_tHiz-w1Th>y0uR<paS5phr4ze!1*',


	/*--------------------------------------------------------------------|
	|  Debug Sessions / Posts / Gets                                      |
	|---------------------------------------------------------------------|
	|  Do you want to know the values of Sessions, Posts and Gets at the
	|  start of each reload? This is very helpful when adding custom steps
	\--------------------------------------------------------------------*/
    'debug_sessions' => false,
	'debug_posts'    => false,
	'debug_gets'     => false,
    );	



    /*=====================================================================================================================================*\
    |*                                                                                                                                     *|
    |*                                                              MASK KEYWORDS                                                          *|
	|*                                                                                                                                     *|
    \*=====================================================================================================================================*/
    $keywords = array(
    
    /*--------------------------------------------------------------------|
	|  Opening-Closing Brackets                                           |
	|---------------------------------------------------------------------|
	|  These are the symbols that represents starting and closing of 
	|  keywords, curly braces are default values. Example: {username}
	\--------------------------------------------------------------------*/
    'open_bracket'  => '{',
    'close_bracket' => '}',


	/*--------------------------------------------------------------------|
	|  [RESERVED] Installer Keywords : Connection                        |
	|---------------------------------------------------------------------|
	|  These keywords in this list MUST be here in order for the installer 
	|  to function properly! Fill in the empty brackets if you want to set 
	|  some default values. If default values are "correct" or accepted by 
	|  some of the steps, the user will be promted a success message when
	|  that step is entered, like it was posted by the user himself.
	\--------------------------------------------------------------------*/
    'connection' => array(
        'hostname' => 'localhost',  # default: localhost
        'username' => '',
        'password' => '',
        'database' => '',
		'dbport'   => '', # optional: enable it in STEP_DBCONNECT in $steps
        'dbprefix' => '', # optional: enable it in STEP_DBPREFIX in $steps
		),


	/*--------------------------------------------------------------------|
	|  Installer Keywords : Additional Information step                   |
	|---------------------------------------------------------------------|
	|  The additional step allows the configurer to add a simple step
	|  to the installer without any programming. The form itself is setup 
	|  in the STEP_ADDEDINFO $step. This array should be kept empty as
	|  any values in here will be reset anyways
	\--------------------------------------------------------------------*/
    STEP_ADDEDINFO => array(						
		
			/*  This is configured in STEP_ADDEDINFO step 
			 *  and the keywords are the components names.
			 *  Keep this empty - it will be reset anyways
			 */
		),


	/*--------------------------------------------------------------------|
	|  Installer Keywords : Serial Key Confirmation step                  |
	|---------------------------------------------------------------------|
	|  The data used and entered by user in STEP_SERIALKEY is stored here.
	|  If you want the serial key check step to have "default" serial 
	|  typed in the serial box during setup then put it here. If the user
	|  changes the serial during setup the value here will change. All 
	|  these values will be available in the mask files 
	\--------------------------------------------------------------------*/
	'serial' => array(
		// The "default" serial value, keep empty if 
		// no pre-filled serial should be prompted
		'keyvalue'  => '',

		// Just something to indicate some time length,
		// if changed remember to change it in installer.php 
		'trialtime' => 10,

		// These two are set at runtime by the installer
		// to indicate what the user did in the step
		'isTrial'   => false, # was the "Trial" button clicked
		'isMatch'   => false  # did the user enter valid serial
		),
    

	/*--------------------------------------------------------------------|
	|  Installer Keywords : Administrator Account step                    |
	|---------------------------------------------------------------------|
	|  If the step STEP_ROOTUSER is enabled, these are the keywords that 
	|  will be used with that step. Here you can specify the default values
	|  and add more keywords that you might need
	|
	|  NOTE: The current keys and values are only for demonstration on how
	|        to use the installer mechanics to your advantage. Change these
	|        keys to what ever you like and add more if you need. Remember
	|        to keep your mask file updated with the keywords here
	|
	|  NOTE: The prefix "admin_" is added here to prevent the 'connection'
	|        keywords overriding these. In other worder - if a keyword here
	|        is "username" then the "username" in 'connection' will override
	|        the value here and the installer would be broken!
	\--------------------------------------------------------------------*/
    'admin' => array(
        'admin_username'  => '', 
        'admin_password'  => '', 
		'admin_passagain' => '', 
		'admin_realname'  => '', 
        'admin_email'     => '',
		'admin_phonenr'   => '',
		
		// This value is not set by the "installer user" but should be specified
		// by the system's developer of the system being installed. So, 
		// this key is kept here to be available to the mask files instead 
		// of putting this value directly into the mask file.
		'admin_level'     => 10,

		// In some systems there are "hashkeys" to protect the data from
		// being updated outside the system itself. So, this is generated
		// when all the "admindata" is valid and ready to be inserted. This
		// key is set by the step when process is done. 
		'admin_hashkey'   => '',
		),


	/*--------------------------------------------------------------------|
	|  Installer Keywords : Special / Custom                              |
	|---------------------------------------------------------------------|
	|  These keywords are custom to your installation. Any keyword can be
	|  added as long as it does not collide with reserved keywords. If 
	|  collision occurs, the reserved keyword will override the special one. 
	|  You can either use these keywords for some custom steps  or just to have
	|  them available to use in the mask files (like welcome message etc.)
	\--------------------------------------------------------------------*/
    'special' => array(    

		// These three keywords are used in welcome and finished
		// messages, just a demonstration on special keywords
        'company' => '7 Media Web Solutions, LLC', 
        'product' => 'ProjectPress',
        'version' => '2.1',

		// These keywords are used with Timezone and Language steps
		'timezone' => '0',
		'language' => 'gb',

		// Want to show the todays date
		// in welcome/outro message?
		'datenow'  => date('H:m:s, F j, Y'),
		), 
    );
   


	/*=====================================================================================================================================*\
    |*                                                                                                                                     *|
    |*                                                            PHP DIRECTIVE REQUIREMENTS                                               *|
	|*                                              (enable these checks in $steps under STEP_PHPREQUIRES)                                 *|
    \*=====================================================================================================================================*/


	/*--------------------------------------------------------------------|
	|  Define Required PHP Directives                                     |
	|---------------------------------------------------------------------|
	|  If the system requires some directive to be set to true, false, have
	|  some spesific 'string' value, or numeric value that can be either
	|  higher or lower than something - put all that into this list!
	|
	|  NOTE: This list below is simply to get you started with these settings,
	|        you can add new and remove from the list - or simply disable 
	|        some directives by removing them or out commenting.
	|
	|  > title    : More readable title of the directive, makes the display
	|               of these checks more user friendly :)
	|
	|  > inikey   : The actual php.ini key, used with ini_get('*key*')
	|
	|  > mustbe   : This can be 'Off', 'On', 123 or 'some string. This is
	|               simply "equals" to something. If Off/On is set, then the
	|               value will be treated as boolean. Numeric values are
	|               turned into strings and it must match (case-insensitive)
	|
	|  > orhigher : Ini values will be turned as numeric values and they 
	|               must be equal or HIGHER than the one defined
	|               
	|  > orlower  : Ini values will be turned as numeric values and they 
	|               must be equal or LOWER than the one defined
	\--------------------------------------------------------------------*/
	$php_directives = array
	(
		// --- BOOLEAN SETTINGS : On/Off ---
		array('title'  => 'Running Safe Mode',
			  'inikey' => 'safe_mode',
			  'mustbe' => 'Off',
			),
		array('title'  => 'Register Globals',
			  'inikey' => 'register_globals',
			  'mustbe' => 'Off',
			),
		array('title'  => 'Magic Quotes Runtime',
			  'inikey' => 'magic_quotes_runtime',
			  'mustbe' => 'Off',
			),
		/*array('title'  => 'Display PHP Errors',
			  'inikey' => 'display_errors',
			  'mustbe' => 'On',
			),
		array('title'  => 'Short Open Tags',
			  'inikey' => 'short_open_tag',
			  'mustbe' => 'On',
			),
		array('title'  => 'Automatic Session Start',
			  'inikey' => 'session.auto_start',
			  'mustbe' => 'Off',
			),*/
		array('title'  => 'File Uploading',
			  'inikey' => 'file_uploads',
			  'mustbe' => 'On',
			),

		// --- NUMERIC SETTINGS : Ints ---
		array('title'    => 'Maximum Upload File Size',
			  'inikey'   => 'upload_max_filesize',
			  'orhigher' => '32M',
			),
		/*array('title'    => 'Max Simultaneous Uploads',
			  'inikey'   => 'max_file_uploads',
			  'orhigher'  => '2', 
			),
		array('title'    => 'Floating Point Precision',
			  'inikey'   => 'precision',
			  'orhigher' => '10',
			),*/	
		array('title'    => 'Memory Capacity Limit',
			  'inikey'   => 'memory_limit',
			  'orhigher' => '32M',
			),
		array('title'    => 'POST Form Maximum Size',
			  'inikey'   => 'post_max_size',
			  'orhigher' => '32M',
			),
	);


	/*--------------------------------------------------------------------|
	|  Setting current PHP.INI values                                     |
	|---------------------------------------------------------------------|
	|  The Installer should be the first thing a system checks for, and 
	|  includes if exists, and the very first file included by the Installer 
	|  is the configuration - this file! 
	|
	|  So, this array is populated at the bottom and filled with current 
	|  values from PHP.INI >before< any code gets the opertunity to alter 
	|  it. That could break the installation if the directives check is 
	|  very important for the installed system!
	\--------------------------------------------------------------------*/
	foreach($php_directives as $idx=>$directive)
		$php_directives[$idx]['value'] = ini_get($directive['inikey']);
Return current item: ProjectPress