+ * do not allow to call this file directly
+ */
+if ((isset($_SERVER['SCRIPT_FILENAME']) && $_SERVER['SCRIPT_FILENAME'] == __FILE__) ||
+ (isset($HTTP_SERVER_SERVER['SCRIPT_FILENAME']) && $HTTP_SERVER_SERVER['SCRIPT_FILENAME'] == __FILE__) ) {
+ header("Location: ../../src/login.php");
+ die();
+}
+
+/** load globals */
+global $UseSeparateImapConnection,
+ $AllowSpamFilters, $SpamFilters_YourHop, $SpamFilters_ShowCommercial,
+ $SpamFilters_DNScache, $SpamFilters_BulkQuery, $SpamFilters_SharedCache,
+ $SpamFilters_CacheTTL;
+
+/**
+ * load required functions. Plugin depends on IMAP functions and they are not
+ * loaded in src/webmail.php
+ */
+include_once (SM_PATH . 'functions/imap.php');
+
+/** load default config */
+if (file_exists(SM_PATH . 'plugins/filters/config_default.php')) {
+ include_once (SM_PATH . 'plugins/filters/config_default.php');
+} else {
+ // default config was removed.
+ $UseSeparateImapConnection = false;
+ $AllowSpamFilters = true;
+ $SpamFilters_YourHop = ' ';
+ $SpamFilters_ShowCommercial = false;
+ $SpamFilters_DNScache = array();
+ $SpamFilters_BulkQuery = '';
+ $SpamFilters_SharedCache = true;
+ $SpamFilters_CacheTTL = 7200;
+}
+
+if (file_exists(SM_PATH . 'config/filters_config.php')) {
+ include_once (SM_PATH . 'config/filters_config.php');
+} elseif (file_exists(SM_PATH . 'plugins/filters/config.php')) {
+ include_once (SM_PATH . 'plugins/filters/config.php');
+}
+
+/**
+ * Register option blocks
+ * @access private
+ */
+function filters_optpage_register_block() {
+ global $optpage_blocks, $AllowSpamFilters;
+
+ $optpage_blocks[] = array(
+ 'name' => _("Message Filters"),
+ 'url' => SM_PATH . 'plugins/filters/options.php',
+ 'desc' => _("Filtering enables messages with different criteria to be automatically filtered into different folders for easier organization."),
+ 'js' => false
+ );
+
+ if ($AllowSpamFilters) {
+ $optpage_blocks[] = array(
+ 'name' => _("SPAM Filters"),
+ 'url' => SM_PATH . 'plugins/filters/spamoptions.php',
+ 'desc' => _("SPAM filters allow you to select from various DNS based blacklists to detect junk email in your INBOX and move it to another folder (like Trash)."),
+ 'js' => false
+ );
+ }
+}
+
+/* Receive the status of the folder and do something with it */
+function filters_folder_status($statusarr) {
+
+ global $filter_inbox_count;
+ if (empty($filter_inbox_count)) $filter_inbox_count=0;
+
+ if ($statusarr['MAILBOX'] == 'INBOX')
+ {
+ if (!empty($statusarr['MESSAGES'])) $filter_inbox_count=$statusarr['MESSAGES'];
+ }
+}
+
+/**
+ * Saves the DNS Cache to disk