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 |
| 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 |
| filter.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 |
{table-plus}