Difference between revisions of "Settings.php"

From ARK
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is the main settings file for each instance of ARK. The file is divide into sections as set out below
+
This is the main settings file for administrators to set defaults for security settings and permissions, loaded modules, etc. for each instance of ARK. As of v1.0, for settings related to page display and navigation see [[page_settings.php]], and those related to server settings see [[env_settings.php]].
  
 
==Server Setup==
 
==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:
+
The server setup being used (can include"ms4w", "mac", or "linux"):
 
<pre>
 
<pre>
 
$server="ms4w";
 
$server="ms4w";
// Include settings related to your server environment (this also uses the server specified above)
 
include('env_settings.php');
 
 
</pre>
 
</pre>
  
===Server Specific Information===
+
And include the settings related to your server environment contained within the [[env_settings.php]]:
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. AS A FIRST STEP 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:
 
 
<pre>
 
<pre>
switch($server){
+
// Include settings related to your server environment
+
include('env_settings.php');
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;
 
}
 
</pre>
 
 
 
==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.
 
<pre>
 
// Set to TRUE if you want to use the minimising left hand navigation bar
 
$minimiser = TRUE;
 
 
</pre>
 
</pre>
  
===ARK Name===
+
==ARK Name and Markup==
 
The name of this instance of ARK -  can not contain spaces!
 
The name of this instance of ARK -  can not contain spaces!
 
<pre>
 
<pre>
Line 113: Line 19:
 
$ark_name = 'Tutorial';
 
$ark_name = 'Tutorial';
 
</pre>
 
</pre>
 
===ARK Name (Markup)===
 
 
The name of this instance of ARK -  as markup. Appears on the index (home) page and in the browser window/tab title. Should be entered in cor_tbl_markup accordingly.
 
The name of this instance of ARK -  as markup. Appears on the index (home) page and in the browser window/tab title. Should be entered in cor_tbl_markup accordingly.
 
<pre>
 
<pre>
Line 244: Line 148:
 
</pre>
 
</pre>
  
 +
==Forms==
 
===Form Methods===
 
===Form Methods===
 +
Choose between 'get' or 'post' form methods.
 
<pre>
 
<pre>
 
// -- FORMS -- //
 
// -- FORMS -- //
Line 251: Line 157:
 
// post = form message sent via post method - invisible to the user.
 
// post = form message sent via post method - invisible to the user.
 
$form_method = 'get';
 
$form_method = 'get';
 +
</pre>
 +
===Form Defaults===
 +
Set default year and site code for data entry and viewing:
 +
<pre>
 +
//Default year as a setting for form data entry
 +
$default_year = '2008';
 +
//Default site code
 +
$default_site_cd = 'PCO06';
 
</pre>
 
</pre>
  
Line 275: Line 189:
 
</pre>
 
</pre>
  
==Forms==
 
Set default year and site code for data entry and viewing:
 
<pre>
 
//Default year as a setting for form data entry
 
$default_year = '2008';
 
//Default site code
 
$default_site_cd = 'PCO06';
 
</pre>
 
 
==Viewers==
 
Configure the viewers to display a set number of rows:
 
<pre>
 
// -- VIEWERS -- //
 
// Number of rows to display on the data viewer
 
$conf_viewer_rows = 25;
 
</pre>
 
 
And the number of pages to display on the data viewer:
 
<pre>
 
// Number of pages to display on the data viewer
 
$conf_num_res_pgs = 5; // best choose an odd number
 
</pre>
 
 
Also configure the index pages for Micro View, Data View, and Search pages:
 
<pre>
 
// 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";
 
</pre>
 
 
Set the default for search results display:
 
<pre>
 
// Default $output_mode for the data viewer
 
$default_output_mode = 'tbl';
 
</pre>
 
 
==Mapping==
 
Set the basic configuration for mapping functions (map directory, temp directory, etc):
 
<pre>
 
// 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?';
 
</pre>
 
 
Configure the wms query layers:
 
<pre>
 
/*$wms_qlayers = array (
 
array(
 
'name' => 'cxt_schm',
 
'geom' => 'pgn'
 
),
 
array(
 
'name' => 'sfi_points',
 
'geom' => 'pt'
 
),
 
);*/
 
</pre>
 
 
Set up the map projection and extents to suit the location of the ARK project:
 
<pre>
 
// Map projection (in form: "EPSG:4326")
 
$map_projection = 'EPSG:27700';
 
// Map extents (in form: "1075,970,1115,1010")
 
$map_extents = '533866, 180940,533963, 181000';
 
</pre>
 
 
Set the layer from WMS to be used in map view
 
<pre>
 
// Maplayers from the WMS layer used in the map view
 
$mapview_layers = array ('contexts');
 
</pre>
 
  
 
==Logging==
 
==Logging==
Line 396: Line 227:
 
     PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n
 
     PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n
 
     \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"";
 
     \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"";
</pre>
 
 
==Navigation==
 
===Navigation Links===
 
Configure to state what links will appear in the end of the navigation bar.
 
<pre>
 
$conf_linklist =
 
    array(
 
        'file' => 'index.php',
 
        'vars' => 'logout=true',
 
        'label' => 'logout'
 
);
 
</pre>
 
 
===Navigation Pages===
 
Unless listed in this array, all pages will appear in the main nav.
 
<pre>
 
$conf_hide_pages =
 
    array(
 
        'index.php',
 
        'record_view.php',
 
        'contact.php',
 
        'about.php',
 
        'search.php',
 
        'folder.php',
 
        'overlay_holder.php',
 
        'export.php',
 
        'alias_admin.php',
 
        'markup_admin.php',
 
        'import.php'
 
);
 
</pre>
 
 
===Results Toolbar===
 
Configure the tools and display options for the search page (data_view).  All of the toolbars require the following in the array:
 
*'''type''' - Options of 'img', 'text', or 'newpage' (used in the all record view to display function in a new page)
 
*'''href''' - The href link to the function being called
 
*'''css_class''' - The css class to style the button or display
 
*'''mkname''' - The name of markup contained within cor_tbl_markup used for buttons which combine text and images, are just text based. Set to FALSE if not used.
 
*'''lightbox''' - Option of using the lightbox when calling an overlay form, set to FALSE otherwise
 
 
First form the individual buttons:
 
 
==== Tools ====
 
<pre>
 
// TOOLS
 
$group_tools[] =
 
    array(
 
        'type' => 'img',
 
        'href' => "overlay_holder.php?sf_conf=conf_mac_userconfigfields&amp;lboxreload=1",
 
        'css_class' => 'gears',
 
        'mkname' => FALSE,
 
        'lightbox' => 'lightbox'
 
);
 
</pre>
 
 
==== Displays ====
 
<pre>
 
// DISPs
 
$res = "results_mode=disp";
 
// Text view
 
$group_disp[] =
 
    array(
 
        'type' => 'img',
 
        'href' => "{$_SERVER['PHP_SELF']}?$res&amp;disp_mode=text",
 
        'css_class' => 'text',
 
        'mkname' => FALSE,
 
        'lightbox' => FALSE
 
);
 
// Table view
 
$group_disp[] =
 
    array(
 
        'type' => 'img',
 
        'href' => "{$_SERVER['PHP_SELF']}?$res&amp;disp_mode=table",
 
        'css_class' => 'table',
 
        'mkname' => FALSE,
 
        'lightbox' => FALSE
 
);
 
// Map view
 
$group_disp[] =
 
    array(
 
        'type' => 'img',
 
        'href' => "{$_SERVER['PHP_SELF']}?$res&amp;disp_mode=map",
 
        'css_class' => 'map',
 
        'mkname' => FALSE,
 
        'lightbox' => FALSE
 
);
 
// All record view
 
$group_disp[] =
 
    array(
 
        'type' => 'newpage',
 
        'href' => "resultsmicro_view.php?",
 
        'css_class' => 'printall',
 
        'mkname' => FALSE,
 
        'lightbox' => FALSE
 
);   
 
</pre>
 
 
==== Feeds ====
 
<pre>
 
// FEEDS
 
$res = "results_mode=feed";
 
// RSS feed
 
$group_feeds[] =
 
    array(
 
        'type' => 'text',
 
        'href' => "{$_SERVER['PHP_SELF']}?$res&amp;feed_mode=rss",
 
        'css_class' => FALSE,
 
        'mkname' => 'rss',
 
        'lightbox' => FALSE
 
);
 
// Atom feed
 
$group_feeds[] =
 
    array(
 
        'type' => 'text',
 
        'href' => "{$_SERVER['PHP_SELF']}?$res&amp;feed_mode=atom",
 
        'css_class' => FALSE,
 
        'mkname' => 'atom',
 
        'lightbox' => FALSE
 
);
 
</pre>
 
 
==== Downloads ====
 
<pre>
 
// DOWNLOADS
 
$res = "results_mode=dl";
 
// CSV download
 
$group_dls[] =
 
    array(
 
        'type' => 'text',
 
        'href' => "overlay_holder.php?$res&amp;dl_mode=csv&amp;lboxreload=1&amp;sf_conf=conf_mac_exportdownloadcsv",
 
        'css_class' => FALSE,
 
        'mkname' => 'csv',
 
        'lightbox' => 'lightbox|200'
 
);
 
</pre>
 
 
And then put them in the toolbar conf array:
 
<pre>
 
// Package these button groups up into a toolbar
 
$conf_results_nav =
 
    array(
 
        'tools' => $group_tools,
 
        'result_views' => $group_disp,
 
        'result_feeds' => $group_feeds,
 
        'result_downloads' => $group_dls,
 
);
 
</pre>
 
 
=== Data Entry Toolbar ===
 
Configure the tools for data entry. First form the individual buttons and displays:
 
==== User Navigation ====
 
<pre>
 
// Previous record button
 
$group_entry_nav[] =
 
    array(
 
'name' => 'prev',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'prev',
 
        'lightbox' => FALSE
 
);
 
// Displays site code
 
$group_entry_nav[] =
 
    array(
 
'name' => 'ste_cd',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'ste_cd',
 
        'lightbox' => FALSE
 
);
 
// Displays record number
 
$group_entry_nav[] =
 
    array(
 
'name' => 'current',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'current',
 
        'lightbox' => FALSE
 
);
 
// Displays module type
 
$group_entry_nav[] =
 
    array(
 
'name' => 'modtype',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'modtype',
 
        'lightbox' => FALSE
 
);
 
// Next record button
 
$group_entry_nav[] =
 
    array(
 
'name' => 'next',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'next',
 
        'lightbox' => FALSE
 
);
 
</pre>
 
 
==== Administrator tools ====
 
<pre>
 
// Delete record
 
$group_entry_admin[] =
 
    array(
 
        'name' => 'delete',
 
        'type' => 'img',
 
        'href' => FALSE,
 
        'css_class' => 'delimg',
 
        'mkname' => 'del',
 
        'lightbox' => 'lightbox|200'
 
);
 
// Edit module type
 
$group_entry_admin[] =
 
    array(
 
'name' => 'changemod',
 
        'type' => 'text',
 
'href' => FALSE,
 
        'css_class' => 'recedit',
 
        'mkname' => 'chngmod',
 
        'lightbox' => 'lightbox|200'
 
);
 
// Edit record number
 
$group_entry_admin[] =
 
    array(
 
'name' => 'changeval',
 
        'type' => 'text',
 
'href' => FALSE,
 
        'css_class' => 'recedit',
 
        'mkname' => 'DEL',
 
        'lightbox' => 'lightbox|200'
 
);
 
</pre>
 
 
And then put them in the toolbar conf array:
 
<pre>
 
// Package these button groups up into a toolbar
 
$conf_entry_nav =
 
    array(
 
'record_nav' => $group_entry_nav,
 
        'record_admin' => $group_entry_admin,
 
);
 
</pre>
 
 
===Record Toolbar===
 
Configure the tools for the record view toolbar. First form the individual buttons and displays:
 
 
==== Record Navigation ====
 
<pre>
 
// Previous record
 
$group_nav[] =
 
    array(
 
'name' => 'prev',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'prev',
 
        'lightbox' => FALSE
 
);
 
// Displays current site code
 
$group_nav[] =
 
    array(
 
'name' => 'ste_cd',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'ste_cd',
 
        'lightbox' => FALSE
 
);
 
// Displays current record number
 
$group_nav[] =
 
    array(
 
'name' => 'current',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'current',
 
        'lightbox' => FALSE
 
);
 
// Displays current modtype
 
$group_nav[] =
 
    array(
 
'name' => 'modtype',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'modtype',
 
        'lightbox' => FALSE
 
);
 
// Next record
 
$group_nav[] =
 
    array(
 
'name' => 'next',
 
        'type' => 'text',
 
        'href' => "",
 
        'css_class' => FALSE,
 
        'mkname' => 'next',
 
        'lightbox' => FALSE
 
);
 
</pre>
 
 
==== Refresh View ====
 
<pre>
 
// Refresh button
 
$group_refresh[] =
 
    array(
 
'name' => 'refresh',
 
        'type' => 'img',
 
        'href' => "{$_SERVER['PHP_SELF']}?disp_reset=default",
 
        'css_class' => 'refresh',
 
        'mkname' => 'reset',
 
        'lightbox' => FALSE
 
);
 
</pre>
 
 
==== Administrator Tools ====
 
<pre>
 
// ADMIN TOOLS
 
// Delete record
 
$group_admin[] =
 
    array(
 
        'name' => 'delete',
 
        'type' => 'img',
 
'href' => FALSE,
 
        'css_class' => 'delimg',
 
        'mkname' => 'del',
 
        'lightbox' => 'lightbox|200'
 
);
 
// Edit modtype
 
$group_admin[] =
 
    array(
 
'name' => 'changemod',
 
        'type' => 'text',
 
'href' => FALSE,
 
        'css_class' => 'recedit',
 
        'mkname' => 'chgtype',
 
        'lightbox' => 'lightbox|200'
 
);
 
// Edit record number
 
$group_admin[] =
 
    array(
 
'name' => 'changeval',
 
        'type' => 'text',
 
'href' => FALSE,
 
        'css_class' => 'recedit',
 
        'mkname' => 'chgkey',
 
        'lightbox' => 'lightbox|200'
 
);
 
</pre>
 
 
And then put them in the toolbar conf array:
 
<pre>
 
// Package these button groups up into a toolbar
 
$conf_record_nav =
 
    array(
 
    'record_nav' => $group_nav,
 
        'record_refresh' => $group_refresh,
 
        'record_admin' => $group_admin,
 
);
 
</pre>
 
 
==Left Panel Configuration==
 
As of v0.8 there are two configuration options (Option 1: Link list or Option 2: Subform) which may be used to provide users with links in the left panel. The left panel now follows the subform-linklist options for all views including the user home, data entry and micro view (record view) left panels- not including the search-data view). Both options require the option to be defined first, i.e. $delpoutput = 'subforms'; OR $delpoutput = 'linklist'; (this example is for data entry). It should be noted that if this is not set, the left panel sets this to 'linklist' by default.
 
 
[[Image:lpanel_linklist.png|right|frame|Example of left panel in data entry configured with linklist]]
 
==== Option 1 - Link list ====
 
This is a simple list of links that will be formatted and outputted into the left panel,  and has been the default mechanism for configuring links in the left panel to date. This usually requires administrators to configure individual links for registers and detailed forms (view). Each link requires the following:
 
*'''href''' - link to the output
 
*'''mknname''' - mark-up nickname will search the markup table for this nickname and print the markup
 
*'''img''' - link to an image used
 
 
within the 'href' the following vars need to be set up (see example below):
 
*'''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)
 
 
[[Image:lpanel_subforms.png|right|frame|Example of left panel in data entry configured with subforms (sf_module and sf_linklist)]]
 
==== Option 2 - Subform ====
 
As of v0.8 subforms can be executed within the left panel. This opens the door for a range of custom subforms to be written providing useful user interface features. This also permits us to use conditional behaviours for the panel.
 
 
In order to set this up correctly, you need to set up a subform and place it within a column as you would in data entry or micro view. In order to use the [[sf_linklist]] ('''as in the above example''') create a link list array according to the criteria for option 1 (see above) and then put this into the 'fields' element of the subform instead of an array of fields. This is documented within the [[sf_linklist| page]] for this subform as this is now a behaviour specific to this subform. The example below also uses the [[sf_module]] to define the modules to display in the left panel, which gives the option of inserting icons for the detailed forms and registers if they are configured in the mod_settings.
 
 
=== Left Panel - Data Entry ===
 
This section gives examples for the left panel configuration in the data entry pages.
 
 
====Link list Option Example====
 
 
Define the configuration type:
 
<pre>
 
$delpoutput = 'linklist';
 
</pre>
 
Configure the links:
 
<pre>
 
$data_entry_left_panel[] =
 
array(
 
        'href' => "{$_SERVER['PHP_SELF']}?view=regist&amp;item_key=cxt_cd",
 
        'mknname' => 'regcxt'
 
);
 
$data_entry_left_panel[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?view=detfrm&amp;item_key=cxt_cd",
 
'mknname' => 'detcxt'
 
);
 
$data_entry_left_panel[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?view=regist&amp;item_key=pln_cd",
 
'mknname' => 'regpln'
 
);
 
$data_entry_left_panel[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?view=regist&amp;item_key=sph_cd",
 
'mknname' => 'regsph'
 
);
 
$data_entry_left_panel[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?view=regist&amp;item_key=abk_cd",
 
'mknname' => 'regabk'
 
);
 
$data_entry_left_panel[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?view=files",
 
'mknname' => 'uplfile'
 
);
 
</pre>
 
 
====Subforms Option Example====
 
 
Define the configuration type:
 
<pre>
 
$delpoutput = 'subforms';
 
</pre>
 
 
Configure the linklist (in this case, a linklist is being used to display the upload files link and the sf_linklist is calling the link):
 
<pre>
 
$link_list_admin[] =
 
array(
 
        'href' => "{$_SERVER['PHP_SELF']}?view=files",
 
        'mknname' => 'uplfile',
 
        'img' => 'bigplus.png'
 
        );
 
</pre>
 
 
Configure the subforms - Subform listing the modules:
 
<pre>
 
$delp_subform_module =
 
    array(
 
        'view_state' => 'max',
 
        'edit_state' => 'view',
 
        'sf_nav_type' => 'none',
 
        'sf_title' => 'delpmodlist',
 
        'sf_html_id' => 'delpmodlist', // Must be unique
 
        'script' => 'php/subforms/sf_module.php',
 
        'ark_page'=> 'data_entry',
 
        'fields' => array (
 
            'cxt',
 
            'smp',
 
            'spf',
 
            'sph',
 
            )
 
);
 
</pre>
 
Admin Subform calling the file upload linklist from above:
 
<pre>
 
$delp_subform_admin =
 
    array(
 
        'view_state' => 'max',
 
        'edit_state' => 'view',
 
        'sf_nav_type' => 'none',
 
        'sf_title' => 'delpadmin',
 
        'sf_html_id' => 'delpadmin', // Must be unique
 
        'script' => 'php/subforms/sf_linklist.php',
 
        'op_label' => 'space',
 
        'op_input' => 'save',
 
        'op_linktype' => 'icon',
 
        'op_sf_cssclass' => 'module_list',
 
        'op_modtype' => FALSE, //if each modtype uses same fields (see below)
 
        'fields' => $link_list_admin
 
);   
 
</pre>
 
Load the subforms:
 
<pre>
 
$data_entry_left_panel =
 
    array(
 
        'col_id' => 'delp',
 
        'col_alias' => FALSE,
 
        'col_type' => 'primary_col',
 
        'subforms' =>
 
            array(
 
                $delp_subform_module,
 
                $delp_subform_admin
 
        )
 
);
 
</pre>
 
 
===Left Panel -  Micro View===
 
Configures the left panel in the micro view pages, requires the administrator to configure the lpanel with either Option 1 (linklists) or Option 2 (subforms). Requires the $mvlpoutput to be set, and when using the subform option requires the 'ark_page' to be set to 'micro_view' in the [[sf_module]].
 
 
====Subforms Option Example====
 
Define the configuration type:
 
<pre>
 
$mvlpoutput = 'subforms';
 
</pre>   
 
Configure the subform module to include the relevant modules:
 
<pre>
 
$mvlp_subform_module =
 
    array(
 
        'view_state' => 'max',
 
        'edit_state' => 'view',
 
        'sf_nav_type' => 'none',
 
        'sf_title' => 'mvlpmodlist',
 
        'sf_html_id' => 'mvlpmodlist', // Must be unique
 
        'script' => 'php/subforms/sf_module.php',
 
        'ark_page'=> 'micro_view',
 
        'fields' => array (
 
            'cxt',
 
            'smp',
 
            'spf',
 
            'sph'
 
            )
 
);
 
</pre>
 
Load the subform:
 
<pre>
 
$micro_view_left_panel =
 
    array(
 
        'col_id' => 'mvlp',
 
        'col_alias' => FALSE,
 
        'col_type' => 'primary_col',
 
        'subforms' =>
 
            array(
 
                $mvlp_subform_module
 
        )
 
);
 
</pre>
 
 
===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, and then links to the key ID in cor_tbl_module of the designated data filter
 
*'''mknname''' - mark-up nickname will search the markup table for this nickname and print the markup
 
*'''img''' - optional image for the icon defined in the subform linklist
 
 
Configure the linklist:
 
<pre>
 
$link_list_filters[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?vtok=1&ftype=key&key=1",
 
'mknname' => 'filtercxt',
 
'img' => 'view_mag.png'
 
);
 
$link_list_filters[] =
 
array(
 
        'href' => "{$_SERVER['PHP_SELF']}?vtok=1&ftype=key&key=6",
 
        'mknname' => 'filtersmp',
 
        'img' => 'view_mag.png'
 
        );
 
$link_list_filters[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?vtok=1&ftype=stecd",
 
        'mknname' => 'filterstecd',
 
        'img' => 'view_mag.png'
 
        );
 
$link_list_filters[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?vtok=1&ftype=action",
 
        'mknname' => 'filteractor',
 
        'img' => 'view_mag.png'
 
        );
 
$link_list_filters[] =
 
array(
 
'href' => "{$_SERVER['PHP_SELF']}?vtok=1&ftype=ftx",
 
        'mknname' => 'ftx',
 
        'img' => 'view_mag.png'
 
        );
 
</pre>
 
 
Configure the linklist subform:
 
<pre>
 
$dvlp_subform_filters =
 
    array(
 
        'view_state' => 'min',
 
        'edit_state' => 'view',
 
        'sf_nav_type' => 'none',
 
        'sf_title' => 'dvlp_filters',
 
        'sf_html_id' => 'dvlp_filters', // Must be unique
 
        'script' => 'php/subforms/sf_linklist.php',
 
        'op_modtype' => FALSE, //if each modtype uses same fields (see below)
 
        // Does the linklist use an icon instead of a label as link
 
        'op_linktype' => 'icon',
 
        'op_sf_cssclass' => 'ftr_list',
 
        'fields' => $link_list_filters
 
);
 
</pre>
 
Load the subform:
 
<pre>
 
$data_view_left_panel =
 
    array(
 
        'col_id' => 'dvlp',
 
        'col_alias' => FALSE,
 
        'col_type' => 'primary_col',
 
        'subforms' =>
 
            array(
 
                $dvlp_subform_filters,
 
        )
 
);
 
</pre>
 
 
===Left Panel - User Home===
 
Configures the left panel in the user home pages, requires the administrator to configure the lpanel with either Option 1 (linklists) or Option 2 (subforms). Requires the $uhlpoutput to be set, and when using the subform option requires the 'ark_page' to be set to 'user_home' in the [[sf_module]].
 
 
====Subforms Option Example====
 
Define the configuration type:
 
<pre>
 
$uhlpoutput = 'subforms';
 
</pre>
 
Configure the subform:
 
<pre>
 
$uhlp_subform_module =
 
    array(
 
        'view_state' => 'max',
 
        'edit_state' => 'view',
 
        'sf_nav_type' => 'none',
 
        'sf_title' => 'mvlpmodlist',
 
        'sf_html_id' => 'mvlpmodlist', // Must be unique
 
        'script' => 'php/subforms/sf_module.php',
 
        'ark_page'=> 'user_home',
 
        'fields' => array (
 
            'cxt',
 
            'smp',
 
            'spf',
 
            'sph'
 
            )
 
);
 
</pre>
 
Load the subform:
 
<pre>
 
$user_home_left_panel =
 
    array(
 
        'col_id' => 'mvlp',
 
        'col_alias' => FALSE,
 
        'col_type' => 'primary_col',
 
        'subforms' =>
 
            array(
 
                $uhlp_subform_module
 
        )
 
);
 
 
</pre>
 
</pre>
  
 
[[Category: Administrator]]
 
[[Category: Administrator]]

Latest revision as of 15:49, 21 March 2012

This is the main settings file for administrators to set defaults for security settings and permissions, loaded modules, etc. for each instance of ARK. As of v1.0, for settings related to page display and navigation see page_settings.php, and those related to server settings see env_settings.php.

Server Setup

The server setup being used (can include"ms4w", "mac", or "linux"):

$server="ms4w";

And include the settings related to your server environment contained within the env_settings.php:

// Include settings related to your server environment
include('env_settings.php');

ARK Name and Markup

The name of this instance of ARK - can not contain spaces!

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

The name of this instance of ARK - as markup. Appears on the index (home) page and in the browser window/tab title. Should be entered in cor_tbl_markup accordingly.

// The nickname for the markup ARK name that appears on the index page and
// as browser window/tab title
$arkname_mk = 'arkname';

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";

NB- Controls for xmi live search should not be included in the global settings, this has been moved to the subform configuration as of v0.7

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";

Fancy Text Search

The controls for fancy text search, using boolean functions such as +, -, "search term", etc (like Google).

// Free text search mode
/*
* fancy - this allows complex search options such as +, -, "" (like Google!)
* plain = plain free text search, no fancy options
*/
$ftx_mode = "fancy";

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 and Permissions

The security and permissions for ARK is handled by LiveUser.

Security

The liveuser settings need to be set, as well as the variables for allowing anonymous logins. The liveuser configuration is as follows:

// -- SECURITY -- //
// 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 for this to work - you will also need to make a new user (using the ARK user_admin tools).
$anonymous_login['username'] = 'anon';
$anonymous_login['password'] = 'anon';

Permissions

A variety of permissions need to be set to ensure the appropriate users are making use of advanced functions. All permissions are based on the numerical id of security groups (from the cor_lvu_groups table). For instance, it is possible to allow some users to make their personal saved filters public for all to use. As of v0.8, adding to control lists (adding attributes), and perhaps most importantly, advanced record functions such as edit module types and delete entire records need to also have sgrps defined.

// Filter permissions
// Members of the following (sgrp) groups will have permission to make their own filters public
// and permission to make other users (and their own) filters got private
$ftr_admin_grps =
    array(
        1
);

// Control list permissions
// Members of the following (sgrp) groups will have permission to add items to controlled lists
$ctrllist_admin_grps =
    array(
        1
);
// Record admin permissions
// Members of the following (sgrp) groups will have access to the advanced record functions
$record_admin_grps =
    array(
        2
);

Forms

Form Methods

Choose between 'get' or 'post' form methods.

// -- FORMS -- //
// Method used in forms:
// get = form messages sent via get method - visible in browser bar.
// post = form message sent via post method - invisible to the user.
$form_method = 'get';

Form Defaults

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';

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
);


Logging

Configures logging levels to record logging into database and changes to data. Set to 'on' to turn the logging on, otherwise set to FALSE.

//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\"";