Global variables ---------------- "Public" API: %config %Moderated set: get_config(); used: filter_art() $now set: filter_art() $lines set: filter_art() %gr set,used: filter_art() @groups set,used: filter_art() @followups set,used: filter_art() @Path_Entries set,used: filter_art() $body set,used: filter_art(),body_urls(); reset: filter_art() $XReader reset,set,used: filter_art(); used: log_entry() Internal use only: %Restricted_Groups set: get_config(); used: filter_art() @Restricted_List set: get_config(); used: filter_art() %Bad_Nph set: get_config(); used: filter_art() %Bad_Path set: get_config(); used: filter_art() $Local_Conf_Err reset,set: get_config(); used: filter_stats(),write_html_stats(),writestats() $Log_File reset,set: get_config(); used,reset: setup_stuff(); used: trimhashes() + highwind.pl $Do_Log set: main; used: trimhashes() + highwind.pl $Last_Stats set: main,writestats(); used: filter_art() $Last_Trim set: main,trimhashes(); used: filter_art() $Start_Time set,used: main; used: timer_stats(),write_html_stats(),restore_emp() $Cache_Is_Binary set: is_binary(); reset,used: filter_art() $MD5 set: setup_stuff() used: filter_art() User defined functions ---------------------- local_filter_first after the initial setup, %gr and %lch are initialised local_filter_bot after binaries/HTML checks, at the end of if ($config{do_bot_checks}) local_filter_after_emp after EMP checks local_filter_scoring for calculating the final score (must return a number!) local_filter_last at the end local_filter_cancel after all checks on cancels The local_filter_reject() function can be used to save rejected articles or to override a rejection (be careful!). Debugging: saveart() -------------------- The function saveart($file, $info, $format) can be used to save interesting articles in the $file, which is similar enough to the mbox format (From_ lines in articles body are not escaped) that it can be opened with your favourite mail reader. The $file is saved in $config{debug_batch_directory}, and if this configuration option is empty the function will be a no-op. $info is an optional string which will be saved in a header. $format is an optional parameter used to specify how much of the article you want to save: 0: at most 250 lines of the body (the default), 1: the whole article, 2: only the headers.