<?php

use Bdp\Modules\EventParticipants\Controllers\EventSignupPageController;
use Bdp\Modules\EventParticipants\Controllers\RegisterMemberController;

add_action( 'plugins_loaded', 'bdp_kompass_load_plugin_textdomain' );

register_activation_hook(BDP_LV_STARTUP_FILE, 'bdp_plugin_install');
add_action('init', 'bdp_plugin_init');



function _protect_wp_disablexmlrpc_string() {
	return "<FilesMatch \"xmlrpc.php\">
    Require all denied
</FilesMatch>";
}

function _protect_wp_disable_script_execution_string() {
	return '<FilesMatch "\.(php|phtml|php3|php4|php5|pl|py|jsp|asp|html|htm|shtml|sh|cgi|suspected)$">' . "
    deny from all
</FilesMatch>";
}

function _protect_wp_disable_special_files_string() {
	return '<FilesMatch "^.*(README|error_log|wp-config\.php|user.ini|log|php.ini|\.[hH][tT][aApP].*)$">' . "
    deny from all
</FilesMatch>";
}

function _protect_wp_disable_directory_listing_string() {
	return 'Options -Indexes';
}

function _protect_wp_secure_include_dir_string() {
	return "RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]";
}

function _protect_wp_initial_bot_list_array()
{
	return explode(';', 'SemrushBot;AhrefsBot;DotBot;WhatCMS;Rogerbot;trendictionbot;BLEXBot;linkfluence;magpie-crawler;MJ12bot;Mediatoolkitbot;AspiegelBot;DomainStatsBot;Cincraw;Nimbostratus;HTTrack;serpstatbot;omgili;GrapeshotCrawler;MegaIndex;PetalBot;Semanticbot;Cocolyzebot;DomCopBot;Traackr;BomboraBot;Linguee;webtechbot;DomainStatsBot;Clickagy;sqlmap;Internet-structure-research-project-bot;Seekport;AwarioSmartBot;OnalyticaBot;Buck;Riddler;SBL-BOT;DF Bot 1.0;PubMatic Crawler Bot;BVBot;Sogou;Barkrowler;Yandex');
}


add_filter('the_content', 'load_kompass_content');


function load_kompass_content($content) {
	$content = Calendar::printCalendar($content);
	$content = EventSignupPageController::print_signup_page($content);

	return $content;
}