Page settings.php
As of v1.0, all settings related to individual page displays, navigation, and toolbars are to be included in the page_settings.php.
Contents
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', 'overlay_holder.php', 'export.php', 'alias_admin.php', 'markup_admin.php', 'import.php' );
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' );
User Home
These settings control the subforms and left panel in the user home. The user home needs configuration both for the left panel and for the subforms included in the main area.
User Home Left Panel
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) as defined in the left_panel documentation. 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:
$uhlpoutput = 'subforms';
Configure the subform:
$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' ) );
Load the subform:
$user_home_left_panel = array( 'col_id' => 'mvlp', 'col_alias' => FALSE, 'col_type' => 'primary_col', 'subforms' => array( $uhlp_subform_module ) );
Data Entry
These settings configure the data entry page. The data entry requires configuration for both the left panel and the record navigation bar appearing at the top of the main area. Further options for advanced file upload are also included below.
Data Entry Left Panel
This section gives examples for the left panel configuration in the data entry pages using either Option 1 (linklists) or Option 2 (subforms) as defined in the left_panel documentation.
Minimiser Option
This tool condenses subforms and offers quick navigation in left panel. 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.
$minimiser = TRUE;
Link list Option Example
Define the configuration type:
$delpoutput = 'linklist';
Configure the links:
$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=files", 'mknname' => 'uplfile' );
Subforms Option Example
Define the configuration type:
$delpoutput = 'subforms';
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):
$link_list_admin[] = array( 'href' => "{$_SERVER['PHP_SELF']}?view=files", 'mknname' => 'uplfile', 'img' => 'bigplus.png' );
Configure the subforms - Subform listing the modules:
$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', ) );
Admin Subform calling the file upload linklist from above:
$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 );
Load the subforms:
$data_entry_left_panel = array( 'col_id' => 'delp', 'col_alias' => FALSE, 'col_type' => 'primary_col', 'subforms' => array( $delp_subform_module, $delp_subform_admin ) );
Data Entry Toolbar
Configure the tools for data entry. First form the individual buttons and displays:
// 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 );
Administrator tools
// 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' );
And then put them in the toolbar conf array:
// Package these button groups up into a toolbar $conf_entry_nav = array( 'record_nav' => $group_entry_nav, 'record_admin' => $group_entry_admin, );
Advanced File Upload
The following includes instructions on how to configure the advanced file uploader which was developed as a mechanism for not only batch uploading files, but also registering and/or linking them to existing records on the fly.
- on - Set to TRUE, advanced file uploader dialog is displayed.
- pattern - This is a regex (Regular expression) designed to detect the file names and associate the files with the appropriate records (item_keys). These example expressions are set up to treat the first 3 letters of a file name as the relevant site code and the numbers following as the number. (For example: 'pattern' => "/\b[a-zA-Z]*\-(([0-9]*)|(([0-9]*)-[a-zA-Z0-9]*))\.[a-zA-Z]{2,4}\b/i" handles files xxx-1234.jpg, xxx-1234-yyy.jpg, where xxx can be any letter and yyy any alphanumeric combination, only number before first '-' is used as an ID)
$fu = array( 'on' => TRUE, 'pattern' => "/\b[a-zA-Z]*\-(([0-9]*)|(([0-9]*)-[a-z0-9A-Z]*))\.[a-z0-9]{2,4}\b/i", );
Data View (Search)
These settings configure the data view (or search) page. The data view requires configuration for the left panel, the search tools options (results views, download options, etc) as well as some general settings for search results.
General Page Settings
Configure the viewers to display a set number of rows:
// Number of rows to display on the data viewer $conf_viewer_rows = 25;
And the number of pages to display on the data viewer:
// Number of pages to display on the data viewer $conf_num_res_pgs = 5; // best choose an odd number
Also configure the index pages for Data View and Search pages:
// 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 (options include: text, table, or map):
// Default $output_mode for the data viewer $default_output_mode = 'table';
Data View Left Panel
This configures the left panel for the data view pages through a series of complex subforms including sf_linklist, sf_buildfilter, and sf_mysavedstuff.
Configure the linklist
First configure the linklist, which requires the following:
- href - link to the output ({$_SERVER['PHP_SELF']} is on same page, and then links to the key ID in the relevant cor table 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:
$link_list_filters[] = array( 'href' => "{$_SERVER['PHP_SELF']}?ftype=key&key=1&ftr_id=new", 'mknname' => 'filtercxt', 'img' => 'view_mag.png' ); $link_list_filters[] = array( 'href' => "{$_SERVER['PHP_SELF']}?ftype=key&key=6&ftr_id=new", 'mknname' => 'filtersmp', 'img' => 'view_mag.png' ); $link_list_filters[] = array( 'href' => "{$_SERVER['PHP_SELF']}?ftype=stecd&ftr_id=new", 'mknname' => 'filterstecd', 'img' => 'view_mag.png' ); $link_list_filters[] = array( 'href' => "{$_SERVER['PHP_SELF']}?ftype=action&ftr_id=new", 'mknname' => 'filteractor', 'img' => 'view_mag.png' ); $link_list_filters[] = array( 'href' => "{$_SERVER['PHP_SELF']}?ftype=ftx&ftr_id=new", 'mknname' => 'ftx', 'img' => 'view_mag.png' );
Configure the linklist subform:
$dvlp_subform_filters = array( 'view_state' => 'min', 'edit_state' => 'view', 'sf_nav_type' => 'name', '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 );
Filter Builders
Various options exist for the types of filters administrators will want to make available to users- including different stages of pre-built or partially executed filters. For more information on this subform and options see sf_buildfilter.
Subform for the filter builder to run in the left panel:
$dvlp_filter_builder = 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/data_view/subforms/sf_buildfilter.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_sf_cssclass' => 'ftr_subform', 'op_condition' => array( array( 'func'=> 'chkTmpFtr', 'args'=> FALSE ), ), );
Subform for the filter builder to run in the left panel preloaded with a filter:
$dvlp_filter_builder_atridx = 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/data_view/subforms/sf_buildfilter.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_sf_cssclass' => 'ftr_subform', 'op_filter' => 'atr', // the filter to be used 'op_filter_args' => array( // 'arg' => 'var', // example 'atrtype' => 1, 'op_display' => 'dd' ) // 'op_condition' => // array( // array( // 'func'=> 'chkTmpFtr', // 'args'=> FALSE // ), // ), );
Subform for user saved filters
$dvlp_my_saved_filters = array( 'view_state' => 'min', 'edit_state' => 'view', 'sf_nav_type' => 'name', 'sf_title' => 'savedfilters', 'sf_html_id' => 'dvlp_saved_filters', // Must be unique 'script' => 'php/data_view/subforms/sf_mysavedstuff.php', 'op_modtype' => FALSE, //if each modtype uses same fields (see below) 'op_sf_cssclass' => 'ftr_subform', // 'op_condition' => // array( // array( // 'func'=> 'chkTmpFtr', // 'args'=> FALSE // ), // ), );
Make a column to hold the subforms:
$data_view_left_panel = array( 'col_id' => 'dvlp', 'col_alias' => FALSE, 'col_type' => 'primary_col', 'subforms' => array( $dvlp_filter_builder, $dvlp_filter_builder_atridx, $dvlp_subform_filters, $dvlp_my_saved_filters ) );
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
// TOOLS $group_tools[] = array( 'type' => 'img', 'href' => "overlay_holder.php?sf_conf=conf_mac_userconfigfields&lboxreload=1", 'css_class' => 'gears', 'mkname' => FALSE, 'lightbox' => 'lightbox' );
Displays
// DISPs $res = "results_mode=disp"; // Text view $group_disp[] = array( 'type' => 'img', 'href' => "{$_SERVER['PHP_SELF']}?$res&disp_mode=text", 'css_class' => 'text', 'mkname' => FALSE, 'lightbox' => FALSE ); // Table view $group_disp[] = array( 'type' => 'img', 'href' => "{$_SERVER['PHP_SELF']}?$res&disp_mode=table", 'css_class' => 'table', 'mkname' => FALSE, 'lightbox' => FALSE ); // Map view $group_disp[] = array( 'type' => 'img', 'href' => "{$_SERVER['PHP_SELF']}?$res&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 );
Feeds
// FEEDS $res = "results_mode=feed"; // RSS feed $group_feeds[] = array( 'type' => 'text', 'href' => "{$_SERVER['PHP_SELF']}?$res&feed_mode=rss", 'css_class' => FALSE, 'mkname' => 'rss', 'lightbox' => FALSE ); // Atom feed $group_feeds[] = array( 'type' => 'text', 'href' => "{$_SERVER['PHP_SELF']}?$res&feed_mode=atom", 'css_class' => FALSE, 'mkname' => 'atom', 'lightbox' => FALSE );
Downloads
// DOWNLOADS $res = "results_mode=dl"; // CSV download $group_dls[] = array( 'type' => 'text', 'href' => "overlay_holder.php?$res&dl_mode=csv&lboxreload=1&sf_conf=conf_mac_exportdownloadcsv", 'css_class' => FALSE, 'mkname' => 'csv', 'lightbox' => 'lightbox|200' );
And then put them in the toolbar conf array:
// 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, );
Micro View (Record View)
These settings configure the micro view (or record view) page. The micro view requires configuration for the left panel, and record nav options as well as some general settings.
General Page Settings
Configure the index page for the micro view:
// Default Micro viewer page (used by search result handlers) $conf_micro_viewer = $ark_dir."micro_view.php";
Micro View Left Panel
Configures the left panel in the micro view pages, requires the administrator to configure the left panel with either Option 1 (linklists) or Option 2 (subforms) as defined in the left_panel documentation. 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:
$mvlpoutput = 'subforms';
Configure the subform module to include the relevant modules:
$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' ) );
Load the subform:
$micro_view_left_panel = array( 'col_id' => 'mvlp', 'col_alias' => FALSE, 'col_type' => 'primary_col', 'subforms' => array( $mvlp_subform_module ) );
Record Toolbar
Configure the tools for the record view toolbar. This tool bar controls what navigation and options which appear in data entry record toolbar.
First form the individual buttons and displays:
// 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 );
Refresh View
// Refresh button $group_refresh[] = array( 'name' => 'refresh', 'type' => 'img', 'href' => "{$_SERVER['PHP_SELF']}?disp_reset=default", 'css_class' => 'refresh', 'mkname' => 'reset', 'lightbox' => FALSE );
Administrator Tools
// 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' );
And then put them in the toolbar conf array:
// Package these button groups up into a toolbar $conf_record_nav = array( 'record_nav' => $group_nav, 'record_refresh' => $group_refresh, 'record_admin' => $group_admin, );
Map View
This is optional, but needs to be configured correctly if you are using the mapping capabilities of ARK. It needs to be set up like other top level pages, but also a series of settings need to be configured.
Map View Page Settings
The page needs to be set up like all other standard top-level pages. If not using, or if you would like it to be inaccessible in the dynamic navigation set 'is_visible' to FALSE.
// MAP VIEW PAGE SETTINGS $conf_page_map_view = array( 'name' =>'Map View', 'title' => 'Map View Page', 'file' => 'map_view.php', 'sgrp' => '1', 'navname' => 'mapviewnav', 'navlinkvars' => '?view=home', 'cur_code_dir' => 'php/map_view/', 'is_visible' => TRUE );
Map View Left Panel
The first subform is to allow saving of maps from the left panel, and the second to allow downloads of maps as PDFs.
// LEFT PANEL // Subforms $conf_map_wmcoverlay = array( 'view_state' => 'max', 'edit_state' => 'view', 'sf_nav_type' => 'nmedit', 'sf_title' => 'wmcoverlay', 'sf_html_id' => 'map_wmcoverlay', // Must be unique 'script' => 'php/map_admin/subforms/sf_savewmc_overlay.php', 'op_label' => 'space', 'op_input' => 'save', 'fields' => array( ) ); $conf_maptopdf = array( 'view_state' => 'max', 'edit_state' => 'view', 'sf_nav_type' => 'full', 'sf_title' => 'interp', 'sf_html_id' => 'map_maptopdf', // Must be unique 'script' => 'php/map_view/subforms/sf_maptopdf.php', 'op_label' => 'space', 'op_input' => 'save', 'fields' => array( ) );
Map View Main
These are a series of settings that define the query layers and query maps displayed in the map view as well as the results map view.
Map Timeout
Mapping timeout in milliseconds- if you are using a slow WxS server set this to be high (default is 1500).
$map_timeout = 5000;
WXS Query Layers
$wxs_qlayers: mapping layers for mods - specify in this array the names of the wms/wfs layers that contain the spatial data for each mod. Bear in mind that these layers should contain an ark_id column that can be retrieved using a getFeatureInfo request. Each layer is a seperate entry in the array containing an array of variables:
*'mod' - the mod of the item (without _cd) eg. 'cxt' *'geom' - the geometry of the layer - eg. 'pt', 'pl' or 'pgn' *'url' - the full url of the WMS/WFS server that is hosting the layer eg. http://localhost/ark/php/map/ark_wxs_server.php? *'title_field' - this is the field_id of the field that you want to be displayed during the click to query, if this is set to 'GIS' then it will return the attributes in the remote GIS attribute table.
$wxs_qlayers = array( 'sites' => array( 'mod' => 'cxt', 'geom' => 'pt', 'url' => 'http://localhost/ark/php/map/ark_wxs_server.php?', 'title_field' => 'conf_field_name', 'style_array' => array( 'fillOpacity' => 0.75, 'strokeColor' => '"black"', 'fillColor' => '"red"', 'pointRadius' => 10, ) ), );
WXS Query Map
$wxs_query_map - this is the name of a saved map (saved using the map_admin tools), that you want to be the background for the 'View Results as Map'. Admins should note: the $wxs_qlayers array is used to determine which layers can be used to display the spatial data for each mod - therefore those layers HAVE to be available in the saved $wxs_query_map. Also, the more info button - if you store information about your GIS layers as ARK items then set this to TRUE. Please note you will need to have a 'gis' module and you will need to name your WMS-served GIS layers in the format for instance,'contexts_PCO06_123'
$wxs_query_map = 'QueryMap'; $map_more_info_button = FALSE;