Settings.php

From ARK
Revision as of 16:06, 14 November 2008 by Andydufton (talk | contribs) (Server Specific Information)

Jump to: navigation, search

This is the main settings file for each instance of ARK. The file is divide into sections as set out below

Server Setup

The server setup being used. Currently ARK is configured for Mapserver 4 Windows (ms4w), Mac, and Linux servers. Set the server type and include the env_settings.php file using:

$server="ms4w";
// Include settings related to your server environment (this also uses the server specified above)
include('env_settings.php');

Server Specific Information

You will need to edit the following depending on your specific server information. Edit the information under the type of server you are using.

YOU MUST UPDATE THE SERVER SPECIFIC INFORMATION BEFORE YOUR ARK INSTALLATION WILL FUNCTION. At the very least, please update:

  • $ark_dir - your ark directory
  • $ark_db - your ark database
  • $sql_server - the MySQL server
  • $sql_user - The MySQL user who will make db calls
  • $sql_pwd - The mysql user password

The rest of the basic settings for each server are included below:

switch($server){
	
	case ms4w:
		// The folder name of THIS instance of Ark (relative to the document root of the host in which it is hosted)
		$ark_dir = '/ark/';
		// The mysql db name of this instance of ark
		$ark_db = 'ark';
		// The mysqlserver
		$sql_server = 'localhost';
		// The mysql user who will make all the db calls
		$sql_user = 'usr';
		// The mysql user's password
		$sql_pwd = 'psw';
		// EXPORT
 		$export_dir = $ark_dir.'data/tmp/';
		// FILE specific
		// Where the files are stored after they are registered (/ after last folder)
		$registered_files_dir = $doc_root. $ark_dir . 'data/files/';
		// Where the files are stored after they are registered (/ after last folder)
		// Browser option: default is $ark_dir . 'data/files/
		// If the registered files directory is outside the main server directory then you need to setup an alias in httdp.conf
		$registered_files_host = $ark_dir . 'data/files/';
		// Top directory of the file browser - can only search relative to this directory. 
		$default_upload_dir = 'C:/';
	break;
	case mac:
		// The folder name of THIS instance of Ark (relative to the document root of the host in which it is hosted)
		$ark_dir = '/ark/';
		// The mysql db name of this instance of ark
		$ark_db = 'ark';
		// The mysqlserver
		$sql_server = '127.0.0.1';
		// The mysql user who will make all the db calls
		$sql_user = 'usr';
		// The mysql user's password
		$sql_pwd = 'pws';
		// EXPORT
 		$export_dir = $ark_dir.'data/tmp/';
		// FILE specific
		// Where the files are stored after they are registered (/ after last folder)
		$registered_files_dir = $doc_root. $ark_dir . 'data/files/';
		// Where the files are stored after they are registered (/ after last folder)
		// Browser option: default is $ark_dir . 'data/files/
		// If the registered files directory is outside the main server directory then you need to setup an alias in httdp.conf
		$registered_files_host = $ark_dir . 'data/files/';
		// Top directory of the file browser - can only search relative to this directory. 
		$default_upload_dir = '\srv';

	break;
	case linux:
		// The folder name of THIS instance of Ark (relative to the document root of the host in which it is hosted)
		$ark_dir = '/ark/';
		// The mysql db name of this instance of ark
		$ark_db = 'ark';
		// The mysqlserver
		$sql_server = 'localhost';
		// The mysql user who will make all the db calls
		$sql_user = 'usr';
		// The mysql user's password
		$sql_pwd = 'pwd';
		// EXPORT
 		$export_dir = $ark_dir.'data/tmp/';
		// FILE specific
		// Where the files are stored after they are registered (/ after last folder)
		$registered_files_dir = $doc_root. $ark_dir . 'data/files/';
		// Where the files are stored after they are registered (/ after last folder)
		// Browser option: default is $ark_dir . 'data/files/
		// If the registered files directory is outside the main server directory then you need to setup an alias in httdp.conf
		$registered_files_host = $ark_dir . 'data/files/';
		// Top directory of the file browser - can only search relative to this directory. 
		$default_upload_dir = '\srv';
	break;
}

General

This contains general configuration for the ARK.

Minimiser

Is the minimiser enabled? To use the minimiser on specific data entry pages you need to go to the mod_settings files (ex. mod_cxt_settings.php) and make sure that 'col_type' => 'collaps_col', instead of single_col in the $conf_dat_materi and $conf_dat_detfrm settings.

// Set to TRUE if you want to use the minimising right hand navigation bar
$minimiser = TRUE;

ARK Name

The name of this instance of ARK

// The Ark name
$ark_name = 'Tutorial';

Live Search

The controls for the live search function

// Live search controls 
/*
* live = live search 
* dd = drop down menu
* plain = plain text search
*/
$mode = "live";

Also the controls for live search for XMI

// Live search controls for xmi
/*
* live = live search - this should only be set to live if you are using the collapsing data entry
* dd = drop down menu
* plain = plain text search
*/
$xmi_mode = "live";

Modules

Configure the modules to be used in this ARK project:

// List the modules that need to be loaded in this ARK project
$loaded_modules = 
    array(
	'abk', // address book
        'cxt', // contexts
        'pln', // plans
	'smp', // samples
        'spf', // Special finds
        'sph', // Site photos
        
);

Also configure the modules to load mapping data:

// Lists the modules to load maps for
$loaded_map_mods = 
    array(
        'cxt', // context
	'smp', // samples
);

Set the default item key for this ARK setup:

// The default item key for this instance of Ark - format: mod_cd
$default_itemkey = 'cxt_cd'; // context

Set the DSN for this ARK (this should generally NOT need adjusting)

// DSN (this shouldn't need adjusting)
$dsn = 'mysql://'.$sql_user.':'.$sql_pwd.'@'.$sql_server.'/'.$ark_db;

Security

The security for ARK is handled by LiveUser. The liveuser configuration is as follows:

// Liveuser: 
// These are the names of the liveuser objects. They should be unique per ARK 
// (to prevent cross ark hacking). They need to be called in the code as
// $$liveuser and $$liveuser_admin
$liveuser = $ark_name . 'usr';
$liveuser_admin = $ark_name . 'usr' . '_admin';
// The path to the login script (relative to the document root)
$loginScript = 'index.php';
// Anonymous Logins
// If these variables are set then you are allowing anonymous logins
// This is a security risk! Its best to leave these statements commented out.
// Bear in mind that this does not need to be a real user.
$anonymous_login['username'] = 'anon';
$anonymous_login['password'] = 'anon';
// Method used in forms:
// get = form messages sent via get method - vissible in browser bar.
// post = form message sent via post method - invisible to the user.
$form_method = 'get';

Skin

Sets the skin name and skin path for this ARK project:

// Skin name
$skin = 'arkologik';
// Skin path
$skin_path = "$ark_dir/skins/$skin";

Thumbnails

Sets thumbnail sizes for ARK (this will be used when uploading files)

// Optional
$thumbnail_sizes =
    array(
        'arkthumb_width' => 100,
        'arkthumb_height' => 100,
        'webthumb_width' => 500,
        'webthumb_height' => 500
);

Forms

Set default year and site code for data entry and viewing:

//Default year as a setting for form data entry
$default_year = '2008';
//Default site code
$default_site_cd = 'PCO06';

Viewers

Configure the viewers to display a set number of rows:

// Number of rows to display on the data viewer
$conf_viewer_rows = 25;

Also configure the index pages for Micro View, Data View, and Search pages:

// Default Micro viewer page (used by search result handlers)
$conf_micro_viewer = $ark_dir."micro_view.php";
// Default data viewer page
$conf_data_viewer = $ark_dir."data_view.php";
// Default search page - search funtions will send data thru to this page
$conf_search_viewer = $ark_dir."data_view.php";

Set the default for search results display:

// Default $output_mode for the data viewer
$default_output_mode = 'tbl';

Mapping

Set the basic configuration for mapping functions (map directory, temp directory, etc):

// Path to temp directory (server)
$ark_maptemp_dir = 'C:/ms4w/Apache/htdocs/'.$ark_dir.'mapserver/tmp/';
// Path to temp directory (web)
$ark_web_maptemp_dir = 'mapserver/tmp/';
// Path to WMS mapfile (server)
$ark_wms_map = 'C:/ms4w/Apache/htdocs/'.$ark_dir.'mapserver/mapfiles/ark_wms.map';
// Path to WFS mapfile (server)
$ark_wfs_map = 'C:/ms4w/Apache/htdocs/'.$ark_dir.'mapserver/mapfiles/ark_wfs.map';
// Map scales
$map_scales = '[1000,750,500,250,150,100,50,25,10]';
// Tilecache_path - only set this if you have a tilecache setup on your server
//$tilecache_path = '/cgi-bin/tilecache.cgi?';

Configure the wms query layers:

/*$wms_qlayers = array (
	array(
		'name' => 'cxt_schm',
		'geom' => 'pgn'
	),
	array(
		'name' => 'sfi_points',
		'geom' => 'pt'
	),
);*/

Set up the map projection and extents to suit the location of the ARK project:

// Map projection (in form: "EPSG:4326")
$map_projection = 'EPSG:27700';
// Map extents (in form: "1075,970,1115,1010")
$map_extents = '533866, 180940,533963, 181000';

Set the layer from WMS to be used in map view

// Maplayers from the WMS layer used in the map view
$mapview_layers = array ('contexts');

Logging

Cofigures logging levels to record logging into database and changes to data.

//Logging levels
$conf_log_add = 'on';
$conf_log_edt = 'on';
$conf_log_del = 'on';

Search Engine

Configures words to cut out of multi-string searches to streamline the search process and maximise results.

// words to cut out of multi string searches
$conf_non_search_words = array('and', 'di', 'in');

Languages

Configures the default language and other languages in use.

// The default lang
$default_lang = 'en';
// These are the languages in use (in order)
$conf_langs = array('en', 'da');

Fields

Used to include the field_settings.php file.

include_once('field_settings.php');

Document Type

Configures the document type to use for web output

$doctype = "html \n
     PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n
     \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"";

Navigation

Navigation Links

Configure to state what links will appear in the end of the navigation bar.

$conf_linklist =
    array(
        'file' => 'index.php',
        'vars' => 'logout=true',
        'label' => 'logout'
);

Navigation Pages

Unless listed in this array, all pages will appear in the main nav.

$conf_hide_pages =
    array(
        'index.php',
        'record_view.php',
        'contact.php',
        'about.php',
        'search.php',
        'folder.php',
);

Left Panel Configuration

Left Panel- Data Entry

Configures the left panel in the data entry pages, requires the following:

  • view - the view the link should point to (regist, detfrm, files or a custom view)
  • item_key - itemkey to point to if any (cxt_cd, smp_cd)
  • href - link to the output
  • mknname - mark-up nickname will search the markup table for this nickname and print the markup
$data_entry_left_panel[] = 
array(
        'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=cxt_cd", 
        'mknname' => 'regcxt'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=detfrm&item_key=cxt_cd", 
	'mknname' => 'detcxt'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=pln_cd", 
	'mknname' => 'regpln'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=sph_cd", 
	'mknname' => 'regsph'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=abk_cd", 
	'mknname' => 'regabk'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=smp_cd", 
	'mknname' => 'regsmp'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=detfrm&item_key=smp_cd", 
	'mknname' => 'detsmp'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=materi&item_key=smp_cd", 
	'mknname' => 'matsmp'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=regist&item_key=spf_cd", 
	'mknname' => 'regspf'
	);
$data_entry_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?view=files", 
	'mknname' => 'uplfile'
	);

Left Panel- Micro View

Configures the left panel in the micro view pages, requires the following:

  • item_key - itemkey to point to if any (cxt_cd, smp_cd)
  • href - link to the output
  • mknname - mark-up nickname will search the markup table for this nickname and print the markup
$micro_view_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?item_key=cxt_cd", 
	'mknname' => 'vwcxt'
	);
$micro_view_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?item_key=pln_cd", 
	'mknname' => 'vwpln'
	);
$micro_view_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?item_key=smp_cd", 
	'mknname' => 'vwsmp'
	);
$micro_view_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?item_key=spf_cd", 
	'mknname' => 'vwspf'
	);
$micro_view_left_panel[] = 
array(
	'href' => "{$_SERVER['PHP_SELF']}?item_key=sph_cd", 
	'mknname' => 'vwsph'
	);

Left Panel- Data View

This configures the left panel for the data view pages and needs the following:

  • href - link to the output ({$_SERVER['PHP_SELF']} is on same page, $ark_dir/export.php is on export page)
  • output_mode - output format for internal links
  • output - is output format for external links
  • mknname - mark-up nickname will search the markup table for this nickname and print the markup
$data_view_left_panel[] =
    array(
        'href' => "$ark_dir/export.php?output=CSVExt",
        'mknname' => 'expcsv'
);
$data_view_left_panel[] =
    array(
        'href' => "$ark_dir/export.php?output=XMLExt",
        'mknname' => 'expxml'
);
$data_view_left_panel[] =
    array(
        'href' => "{$_SERVER['PHP_SELF']}?output_mode=tbl",
        'mknname' => 'vwtbl'
);
$data_view_left_panel[] =
    array(
        'href' => "{$_SERVER['PHP_SELF']}?output_mode=chat",
        'mknname' => 'vwchat'
);

Left Panel- User Home

This configures the left-panel for the user home pages and needs the following fields:

  • href - link to the output
  • mknname - mark-up nickname will search the markup table for this nickname and print the markup
$user_home_left_panel[] =
    array(
        'href' => "data_view.php?vtok=1&nname=All_Contexts&ftype=key&key=1&ktype=all",
        'mknname' => 'vwcxt'
);