h1. Plugin Filter



h3. Introduction

*Filters* are callback functions that modify content  before it is rendered to the user on the browser. Filters can also be  applied before content is saved in the database.

In the example below, the filter plugin access the single report title  and modifies it before it's rendered to the user on the browser.

Example:
{code:language=php}<?php
// My Plugin

// Add the filter and call the function modify_title
Event::add('ushahidi_filter.report_title', 'modify_title');

function modify_title()
{
	// Access the report title
	$report_title = Event::$data;

	// Make changes to the report title
	$new_report_title = str_replace("&", "_", $report_title);

	// Return new Title
	Event::$data = $new_report_title;
}
?>{code}

h2. Reference

{table-plus:sortColumn=1|sortIcon=true}









|| Filter \\ || Parameter \\ || Description \\ || File \\ ||
| admin_header_block \\ | $content | Modify Admin Header Block Javascript And CSS | application/libraries/Themes.php \\ |
| pagination | $pagination \\ | | application/controllers/admin/reports.php \\ |
| filter_incidents | $incidents | | application/controllers/admin/reports.php |
| footer_block \\ | $content | Modify Footer Block Javascript | application/libraries/Themes.php \\ |
| location_name | $form\['location_name'\] | | application/controllers/admin/reports.php |
| location_find | $form\['location_find'\] | | application/controllers/admin/reports.php |
| report_download_csv_header \\ | $custom_headers | | application/controllers/admin/reports.php |
| report_download_csv_incident \\ | $event_data | Add some custom data for an incident | application/controllers/admin/reports.php |
| json_index_features\\ | $json_features | Alter /json json_features array before its passed through json_encode | application/controllers/json.php |
| json_cluster_features | $json_features\\ | Alter /json/cluster json_features array before its passed through json_encode\\ | application/controllers/json.php\\ |
| json_single_features | $json_features\\ | Alter /json/single/ID json_features array before its passed through json_encode\\ | application/controllers/json.php\\ |
| json_share_feature | $json_features\\ | Alter /json/share json_features array before its passed through json_encode\\ | application/controllers/json.php\\ |
| map_main | $div_map | Modify Main Map Block | application/controllers/main.php |
| map_timeline | $div_timeline | Modify Main Map Block | application/controllers/main.php |
| active_startDate | $display_startDate | | application/controllers/main.php |
| active_endDate | $display_endDate | | application/controllers/main.php |
| startDate | $startDate | | application/controllers/main.php |
| endDate | $endDate | | application/controllers/main.php |
| page_title | | Modify Page Title | application/controllers/page.php |
| page_description | | Modify Page Description | application/controllers/page.php |
| report_title | $incident_title | Modify report title \\ | application/controllers/reports.php |
| report_description | $incident_description | Modify report description \\ | application/controllers/reports.php |
| map_base_layers | $layers | Add custom map layers \\ | application/helpers/map.php \\ |
| map_layers_js \\ | $js | Alter map layers JS | application/helpers/map.php |
| fetch_incidents_set_params | $params | Modify parameters for reports \\ | application/helpers/reports.php |
| message_sms_from | $from \\ | Modification of the values from the SMS gateway | application/helpers/sms.php |
| message_sms | $message \\ | Modification of the values from the SMS gateway | application/helpers/sms.php |
| header_block \\ | $content | Modify Header Block Javascript And CSS | application/libraries/Themes.php \\ |
| header_js \\ | $inline_js | Modify Header Javascript | application/libraries/Themes.php \\ |
| report_stats | $report_stats | Modify reports list statistics | themes/default/view/reports.php \\ |
| comment_block \\ | $comments | | themes/default/views/reports_view.php; themes/polaroid/views/reports_view.php |
| comment_form_block | $comments_form | | themes/default/views/reports_view.php; themes/polaroid/views/reports_view.php |
| get_incidents_sql | $sql | Alter SQL for fetching incidents (use with caution) | application/models/incident.php |
| get_neighbouring_incidents_sql | $sql | Alter SQL for fetching neighbouring incidnets (use with caution) | application/models/incident.php |
{table-plus}