Configuration File

ROGO 6.2.0

This is located in the config subdirectory.

Adding New Config Options

If a new configuration option is to be enabled by default then it should be added to the install script, and to an upgrade script for users upgrading an existing instance.

Any new configuration items should be placed in the config table (unless there is a specific reason it should placed in the config file). These items are accessible via the config screen in the administration section of Rogo.

Config items should be added via the install and update scripts using the Config→set_setting function.

Config items can be asked via the Config→get_setting function.

Config File

These files are set during installation and can only be edited via the file not the UI post installation.


$cfg_tmpdir (String):: The Temp directory for the system

$cfg_rogo_data (String):: Stores the location that user data directories will be stored in. The path should use the local file system separator (in the case of Windows it will need to be properly escaped).  The setting should have a trailing shash.

Linux example
 $cfg_rogo_data = '/var/www/rogodata/';
Windows example
 $cfg_rogo_data = 'c:\\rogodata\\';

$cfg_db_username (String):: This is the db (MySQL) username that is initially used for authentication (after authentication the system will switch the db to a specific user for each userrole)

$cfg_db_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_username username

$cfg_db_database (String):: The name of the MySQL database.

$cfg_db_host (String):: The name of the MySQL host server.

$cfg_db_port (Integer):: The port number of the MySQL database.

$cfg_db_charset (String):: The character set that is used on the MySQL database.

$cfg_db_charset = 'utf8mb4';

$cfg_db_collation (String):: From Rogo 7.0.0 The db collation of the MySQL database.

$cfg_db_collation = 'utf8mb4_unicode_ci';

$cfg_db_engine (String):: This is the db engine tables are set to. From Rogo 7.2

$cfg_db_help_engine (String):: This is the db engine the help system tables are set to. From Rogo 7.2

$cfg_db_student_user (String):: This is the db (MySQL) username that is switched to for the student user.

$cfg_db_student_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_student_user username.

$cfg_db_staff_user (String):: This is the db (MySQL) username that is switched to for the staff user.

$cfg_db_staff_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_staff_user username.

$cfg_db_external_user (String):: This is the db (MySQL) username that is switched to for the external review user.

$cfg_db_external_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_external_user username.

$cfg_db_sysadmin_user (String):: This is the db (MySQL) username that is switched to for the sysadmin user.

$cfg_db_sysadmin_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_sysadmin_user username.

$cfg_db_sct_user (String):: This is the db (MySQL) username that is switched to for the Script Concordance Test Expert user.

$cfg_db_sct_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_sct_user username.

$cfg_db_inv_user (String):: This is the db (MySQL) username that is switched to for the invigilator user.

$cfg_db_inv_passwd (String):: This is the db (MySQL) password that goes with $cfg_db_inv_user username.

$cfg_short_date (String): the MYSQL_DATE_FORMAT that is used for display of short date only.

$cfg_short_date = '%d/%m/%y';

$cfg_long_date_time (String):: the MYSQL_DATE_FORMAT that is used for display of date & time.

$cfg_long_date_time = '%d/%m/%Y %H:%i';

$cfg_long_date_php = (String):: the PHP display format for the long date.

$cfg_long_date_php = 'd/m/Y';

$cfg_short_date_php (String):: the PHP display format for the short date.

$cfg_short_date_php = 'd/m/y';

$cfg_long_datetime_php (String):: The PHP display format for the date and time (it should include seconds). From Rogo 7.1.0

$cfg_long_datetime_php = 'd/m/Y H:i:s';

$cfg_short_datetime_php (String):: The PHP display format for the date and time (it should exclude seconds). From Rogo 7.1.0

$cfg_short_datetime_php = 'd/m/Y H:i';

$cfg_very_short_datetime_php (String):: The PHP display format for the date and time (with a short year and no seconds). From Rogo 7.1.0

$cfg_very_short_datetime_php = 'd/m/y H:i';

$cfg_long_time_php (String):: the PHP display format of long time.

$cfg_long_time_php = 'H:i:s';

$cfg_short_time_php (String):: the PHP display format of short time.

$cfg_short_time_php = 'H:i';

$cfg_timezone (String):: the timezone that the machine is in (force).

$cfg_timezone = 'Europe/London';

$cfg_tablesorter_date_time (String):: the timezone used by the jquery tablesorter library (should match above time zones)

$cfg_tablesorter_date_time = 'uk';

$cfg_cron_user (String):: Cron user (used by the system to run automated scripts

$cfg_cron_passwd (String):: Cron user password

$cfg_sms_api (String):: Configure the sms api.

$authentication_fields_required_to_create_user (Array):: This is an array of the required fields that the authentication stack requires before it will create a user.

$authentication_fields_required_to_create_user = array('username', 'title', 'firstname', 'surname', 'email', 'role');

$lookup (Array):: This is the configuration array for the Lookup Stack and lets you select which plugins are loaded and the configuration for each plugin. For plugin config options see Lookup Plugin Config. Each element of the outer array is another array with the first parameter being the name of the plugin (String) then an array of configuration options, followed by a description (String).

$lookup = array(
  array('ldap', array('ldap_server' => 'iLDAP.x.ac.uk', 'ldap_search_dn' => 'OU=xx,DC=xx,DC=xx,DC=ac,DC=uk', 'ldap_bind_rdn' => 'UserName', 
'ldap_bind_password' => 'PassWd', 'ldap_user_prefix' => 'sAMAccountName=', 'ldap_attributes' => array('sAMAccountName' => 'username', 'sn' => 'surname', 'title' => 'title', 
'givenName' => 'firstname', 'department' => 'school', 'xx' => 'email', 'xx' => 'email', 'mail' => 'email', 'UonStuID' => 'studentID', 
'UoNStaffID' => 'staffID', 'cn' => 'username', 'UoNPosition' => 'role', 'employeeType' => 'role', 'UoNUPSStatus' => 'role', 'initials' => 'initials'), 'lowercasecompare' => TRUE, 
'storeprepend' => 'ldap_'), 'LDAP'),
  array('XML', array('baseurl' => 'http://exports/', 'userlookup' => array( 'url' => '/student.ashx?campus=uk', 'mandatoryurlfields' => array('username'), 
'urlfields' => array('username' => 'username'), 'xmlfields' => array('StudentID' => 'studentID', 'Title' => 'title', 'Forename' => 'firstname', 'Surname' => 'surname', 
'Email' => 'email', 'Gender' => 'gender', 'YearofStudy' => 'yearofstudy', 'School' => 'school', 'Degree' => 'degree', 'CourseCode' => 'coursecode', 'CourseTitle' => 'coursetitle', 
'AttendStatus' => 'attendstatus'), 'oneitemreturned' => true, 'override' => array('firstname' => true), 'storeprepend' => 'sms_userlookup_')), 'XML')
);

$authentication (Array):: This is the configuration array for the Authentication Stack and lets you select which plugins are loaded and the configuration for each plugin. For plugin config options see Authentication Plugin Config. Each element of the outer array is another array with the first parameter being the name of the plugin (String) then an array of configuration options, followed by a description (String).

$authentication = array(
array('ltilogin', array(), 'LTI Auth'),
array('guestlogin', array(), 'Guest Login'),
array('impersonation', array('separator' => '_'), 'Impersonation'),
array('internaldb', array('table' => 'users', 'username_col' => 'username', 'passwd_col' => 'password', 'id_col' => 'id', 'encrypt' => 'SHA-512', 'encrypt_salt' => 'EncSalt'), 'Internal Database'),
array('ldap',array( 'table' => 'users', 'username_col' => 'username', 'id_col' => 'id', 'ldap_server' => 'iLDAP.nottingham.ac.uk', 'ldap_port' => 389, 
'ldap_search_dn' => 'OU=University,DC=intdir,DC=nottingham,DC=ac,DC=uk', 'ldap_bind_rdn' => 'UserName', 'ldap_bind_password' => 'PassWd', 'ldap_user_prefix' => 'sAMAccountName='),'LDAP')
);

$cfg_js_root (String) (Javascript Code):: The Root path for Javascript

  $cfg_js_root = <<< SCRIPT
<script>
  if (typeof cfgRootPath == 'undefined') {
    var cfgRootPath = '$cfg_root_path';
  }
</script>
SCRIPT;

$dbclass (String):: The class the db uses. This is for debugging as the mysqli class can be overloaded with debug functions.

$display_auth_debug (Bool):: Display extra debug on the authentication screen so you can see why login attempts failed etc.

$cfg_setting_icons_order (Array):: Allows system admin to customise the order/number of the admin screen items - ROGO 6.0.4

$cfg_setting_icons_order = array('calendar','modules','schools','courses');

$cfg_memcache_host( array):: Array of hosts for memcache servers (used by admin/healthcheck.php)

$cfg_memcache_port (String):: Port of memcache servers (used by admin/healthcheck.php)

$cfg_readonly_host (Bool):: Enables or disable file system read only mode

$file_config_override( Bool) Enables or disable config settings in config.inc.php superseding the same config setting on the config table.

$logerrors (Bool)::  Enables or disable logging php errors to file

$displayerrors (Bool)::  Enables or disable logging php errors to the screen (suggested FALSE on production systems)

$displayallerrors (Bool)::   Enables or disable logging PHP notice and warning messages

$cfg_dev_system (Bool)::  For developers only. Enables or disables version check when running upgrade script.