Edit File by line
/home/zeestwma/ceyloniy.../wp-conte.../plugins/loginize...
File: init.php
<?php
[0] Fix | Delete
[1] Fix | Delete
if(!defined('ABSPATH')){
[2] Fix | Delete
die('HACKING ATTEMPT!');
[3] Fix | Delete
}
[4] Fix | Delete
[5] Fix | Delete
// Prevent update of loginizer free
[6] Fix | Delete
// This also work for auto update
[7] Fix | Delete
add_filter('site_transient_update_plugins', 'loginizer_pro_disable_manual_update_for_plugin');
[8] Fix | Delete
add_filter('pre_site_transient_update_plugins', 'loginizer_pro_disable_manual_update_for_plugin');
[9] Fix | Delete
[10] Fix | Delete
// Auto update free version after update pro version
[11] Fix | Delete
add_action('upgrader_process_complete', 'loginizer_pro_update_free_after_pro', 10, 2);
[12] Fix | Delete
[13] Fix | Delete
register_activation_hook(__FILE__, 'loginizer_pro_activation');
[14] Fix | Delete
register_deactivation_hook(__FILE__, 'loginizer_pro_deactivate');
[15] Fix | Delete
function loginizer_pro_deactivate(){
[16] Fix | Delete
delete_option('loginizer_pro_version');
[17] Fix | Delete
delete_option('loginizer_free_installed');
[18] Fix | Delete
delete_option('loginizer_version_free_nag');
[19] Fix | Delete
delete_option('loginizer_version_pro_nag');
[20] Fix | Delete
}
[21] Fix | Delete
[22] Fix | Delete
add_action('plugins_loaded', 'loginizer_security_init');
[23] Fix | Delete
function loginizer_security_init(){
[24] Fix | Delete
[25] Fix | Delete
global $loginizer;
[26] Fix | Delete
[27] Fix | Delete
if(empty($loginizer)){
[28] Fix | Delete
$loginizer = [];
[29] Fix | Delete
}
[30] Fix | Delete
[31] Fix | Delete
loginizer_pro_update_checker();
[32] Fix | Delete
[33] Fix | Delete
$loginizer['social_settings'] = get_option('loginizer_social_settings', []);
[34] Fix | Delete
add_action('init', 'loginizer_security_load_translation_vars', 0);
[35] Fix | Delete
[36] Fix | Delete
// Email to Login
[37] Fix | Delete
$options = get_option('loginizer_epl', []);
[38] Fix | Delete
$loginizer['email_pass_less'] = empty($options['email_pass_less']) ? 0 : $options['email_pass_less'];
[39] Fix | Delete
$loginizer['passwordless_sub'] = empty($options['passwordless_sub']) ? '' : $options['passwordless_sub'];
[40] Fix | Delete
$loginizer['passwordless_msg'] = empty($options['passwordless_msg']) ? '' : $options['passwordless_msg'];
[41] Fix | Delete
$loginizer['passwordless_msg_is_custom'] = empty($options['passwordless_msg']) ? 0 : 1;
[42] Fix | Delete
$loginizer['passwordless_html'] = empty($options['passwordless_html']) ? 0 : $options['passwordless_html'];
[43] Fix | Delete
$loginizer['passwordless_redirect'] = empty($options['passwordless_redirect']) ? 0 : $options['passwordless_redirect'];
[44] Fix | Delete
$loginizer['passwordless_redirect_for'] = empty($options['passwordless_redirect_for']) ? 0 : $options['passwordless_redirect_for'];
[45] Fix | Delete
$loginizer['passwordless_disabled_for'] = empty($options['passwordless_disabled_for']) ? 0 : $options['passwordless_disabled_for'];
[46] Fix | Delete
[47] Fix | Delete
// 2FA OTP Email to Login
[48] Fix | Delete
$options = get_option('loginizer_2fa_email_template');
[49] Fix | Delete
$loginizer['2fa_email_d_sub'] = 'OTP : Login at $site_name';
[50] Fix | Delete
$loginizer['2fa_email_d_msg'] = 'Hi,
[51] Fix | Delete
[52] Fix | Delete
A login request was submitted for your account $email at :
[53] Fix | Delete
$site_name - $site_url
[54] Fix | Delete
[55] Fix | Delete
Please use the following One Time password (OTP) to login :
[56] Fix | Delete
$otp
[57] Fix | Delete
[58] Fix | Delete
Note : The OTP expires after 10 minutes.
[59] Fix | Delete
[60] Fix | Delete
If you haven\'t requested for the OTP, please ignore this email.
[61] Fix | Delete
[62] Fix | Delete
Regards,
[63] Fix | Delete
$site_name';
[64] Fix | Delete
[65] Fix | Delete
$loginizer['2fa_email_sub'] = empty($options['2fa_email_sub']) ? $loginizer['2fa_email_d_sub'] : $options['2fa_email_sub'];
[66] Fix | Delete
$loginizer['2fa_email_msg'] = empty($options['2fa_email_msg']) ? $loginizer['2fa_email_d_msg'] : $options['2fa_email_msg'];
[67] Fix | Delete
$loginizer['2fa_email_html'] = !empty($options['2fa_email_html']);
[68] Fix | Delete
[69] Fix | Delete
// For SitePad its always on
[70] Fix | Delete
if(defined('SITEPAD')){
[71] Fix | Delete
$loginizer['email_pass_less'] = 1;
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
// Captcha
[75] Fix | Delete
$options = get_option('loginizer_captcha');
[76] Fix | Delete
$loginizer['captcha_type'] = empty($options['captcha_type']) ? '' : $options['captcha_type'];
[77] Fix | Delete
$loginizer['captcha_key'] = empty($options['captcha_key']) ? '' : $options['captcha_key'];
[78] Fix | Delete
$loginizer['captcha_secret'] = empty($options['captcha_secret']) ? '' : $options['captcha_secret'];
[79] Fix | Delete
$loginizer['captcha_theme'] = empty($options['captcha_theme']) ? 'light' : $options['captcha_theme'];
[80] Fix | Delete
$loginizer['captcha_size'] = empty($options['captcha_size']) ? 'normal' : $options['captcha_size'];
[81] Fix | Delete
$loginizer['captcha_lang'] = empty($options['captcha_lang']) ? '' : $options['captcha_lang'];
[82] Fix | Delete
$loginizer['captcha_disable_btn'] = empty($options['captcha_disable_btn']) ? '' : $options['captcha_disable_btn'];
[83] Fix | Delete
$loginizer['turn_captcha_key'] = empty($options['turn_captcha_key']) ? '' : $options['turn_captcha_key'];
[84] Fix | Delete
$loginizer['turn_captcha_secret'] = empty($options['turn_captcha_secret']) ? '' : $options['turn_captcha_secret'];
[85] Fix | Delete
$loginizer['turn_captcha_theme'] = empty($options['turn_captcha_theme']) ? 'light' : $options['turn_captcha_theme'];
[86] Fix | Delete
$loginizer['turn_captcha_size'] = empty($options['turn_captcha_size']) ? 'normal' : $options['turn_captcha_size'];
[87] Fix | Delete
$loginizer['turn_captcha_lang'] = empty($options['turn_captcha_lang']) ? '' : $options['turn_captcha_lang'];
[88] Fix | Delete
$loginizer['captcha_user_hide'] = !isset($options['captcha_user_hide']) ? 0 : $options['captcha_user_hide'];
[89] Fix | Delete
$loginizer['captcha_no_js'] = 1;
[90] Fix | Delete
$loginizer['captcha_login'] = !isset($options['captcha_login']) ? 1 : $options['captcha_login'];
[91] Fix | Delete
$loginizer['captcha_lostpass'] = !isset($options['captcha_lostpass']) ? 1 : $options['captcha_lostpass'];
[92] Fix | Delete
$loginizer['captcha_resetpass'] = !isset($options['captcha_resetpass']) ? 1 : $options['captcha_resetpass'];
[93] Fix | Delete
$loginizer['captcha_register'] = !isset($options['captcha_register']) ? 1 : $options['captcha_register'];
[94] Fix | Delete
$loginizer['captcha_comment'] = !isset($options['captcha_comment']) ? 1 : $options['captcha_comment'];
[95] Fix | Delete
$loginizer['captcha_wc_checkout'] = !isset($options['captcha_wc_checkout']) ? 1 : $options['captcha_wc_checkout'];
[96] Fix | Delete
$loginizer['captcha_wc_block_checkout'] = !empty($options['captcha_wc_block_checkout']);
[97] Fix | Delete
$loginizer['captcha_wc_checkout_pos'] = isset($options['captcha_wc_checkout_pos']) ? $options['captcha_wc_checkout_pos'] : '';
[98] Fix | Delete
[99] Fix | Delete
$loginizer['captcha_no_google'] = !isset($options['captcha_no_google']) ? 0 : $options['captcha_no_google'];
[100] Fix | Delete
$loginizer['captcha_domain'] = empty($options['captcha_domain']) ? 'www.google.com' : $options['captcha_domain'];
[101] Fix | Delete
// We are setting default to low to prevent anything from breaking for users who already have v3 enabled
[102] Fix | Delete
$loginizer['captcha_score_threshold'] = isset($options['captcha_score_threshold']) ? $options['captcha_score_threshold'] : '';
[103] Fix | Delete
[104] Fix | Delete
$loginizer['captcha_text'] = empty($options['captcha_text']) ? '' : $options['captcha_text'];
[105] Fix | Delete
$loginizer['captcha_time'] = empty($options['captcha_time']) ? 300 : $options['captcha_time'];
[106] Fix | Delete
$loginizer['captcha_words'] = !isset($options['captcha_words']) ? 0 : $options['captcha_words'];
[107] Fix | Delete
$loginizer['captcha_add'] = !isset($options['captcha_add']) ? 1 : $options['captcha_add'];
[108] Fix | Delete
$loginizer['captcha_subtract'] = !isset($options['captcha_subtract']) ? 1 : $options['captcha_subtract'];
[109] Fix | Delete
$loginizer['captcha_multiply'] = !isset($options['captcha_multiply']) ? 0 : $options['captcha_multiply'];
[110] Fix | Delete
$loginizer['captcha_divide'] = !isset($options['captcha_divide']) ? 0 : $options['captcha_divide'];
[111] Fix | Delete
$loginizer['captcha_status'] = !isset($options['captcha_status']) ? 0 : $options['captcha_status'];
[112] Fix | Delete
[113] Fix | Delete
// hcaptcha
[114] Fix | Delete
$loginizer['hcaptcha_secretkey'] = !isset($options['hcaptcha_secretkey']) ? '' : $options['hcaptcha_secretkey'];
[115] Fix | Delete
$loginizer['hcaptcha_sitekey'] = !isset($options['hcaptcha_sitekey']) ? '' : $options['hcaptcha_sitekey'];
[116] Fix | Delete
$loginizer['hcaptcha_theme'] = empty($options['hcaptcha_theme']) ? 'light' : $options['hcaptcha_theme'];
[117] Fix | Delete
$loginizer['hcaptcha_lang'] = empty($options['hcaptcha_lang']) ? '' : $options['hcaptcha_lang'];
[118] Fix | Delete
$loginizer['hcaptcha_size'] = empty($options['hcaptcha_size']) ? 'normal' : $options['hcaptcha_size'];
[119] Fix | Delete
[120] Fix | Delete
// 2fa/question
[121] Fix | Delete
$options = get_option('loginizer_2fa');
[122] Fix | Delete
$loginizer['2fa_app'] = !isset($options['2fa_app']) ? 0 : $options['2fa_app'];
[123] Fix | Delete
$loginizer['2fa_email'] = !isset($options['2fa_email']) ? 0 : $options['2fa_email'];
[124] Fix | Delete
$loginizer['2fa_email_force'] = !isset($options['2fa_email_force']) ? 0 : $options['2fa_email_force'];
[125] Fix | Delete
$loginizer['2fa_sms'] = !isset($options['2fa_sms']) ? 0 : $options['2fa_sms'];
[126] Fix | Delete
$loginizer['question'] = !isset($options['question']) ? 0 : $options['question'];
[127] Fix | Delete
$loginizer['2fa_default'] = empty($options['2fa_default']) ? 'question' : $options['2fa_default'];
[128] Fix | Delete
$loginizer['2fa_roles'] = empty($options['2fa_roles']) ? array() : $options['2fa_roles'];
[129] Fix | Delete
[130] Fix | Delete
// Security Settings
[131] Fix | Delete
$options = get_option('loginizer_security');
[132] Fix | Delete
$loginizer['login_slug'] = empty($options['login_slug']) ? '' : $options['login_slug'];
[133] Fix | Delete
$loginizer['rename_login_secret'] = empty($options['rename_login_secret']) ? '' : $options['rename_login_secret'];
[134] Fix | Delete
$loginizer['hide_wp_admin'] = empty($options['hide_wp_admin']) ? '' : $options['hide_wp_admin'];
[135] Fix | Delete
$loginizer['login_redirect_url'] = empty($options['login_redirect_url']) ? '' : $options['login_redirect_url'];
[136] Fix | Delete
$loginizer['xmlrpc_slug'] = empty($options['xmlrpc_slug']) ? '' : $options['xmlrpc_slug'];
[137] Fix | Delete
$loginizer['xmlrpc_disable'] = empty($options['xmlrpc_disable']) ? '' : $options['xmlrpc_disable'];// Disable XML-RPC
[138] Fix | Delete
$loginizer['pingbacks_disable'] = empty($options['pingbacks_disable']) ? '' : $options['pingbacks_disable'];// Disable Pingbacks
[139] Fix | Delete
[140] Fix | Delete
// Admin Slug Settings
[141] Fix | Delete
$options = get_option('loginizer_wp_admin');
[142] Fix | Delete
$loginizer['admin_slug'] = empty($options['admin_slug']) ? '' : $options['admin_slug'];
[143] Fix | Delete
$loginizer['restrict_wp_admin'] = empty($options['restrict_wp_admin']) ? '' : $options['restrict_wp_admin'];
[144] Fix | Delete
$loginizer['wp_admin_msg'] = empty($options['wp_admin_msg']) ? '' : $options['wp_admin_msg'];
[145] Fix | Delete
[146] Fix | Delete
// Checksum Settings
[147] Fix | Delete
$options = get_option('loginizer_checksums');
[148] Fix | Delete
$loginizer['disable_checksum'] = empty($options['disable_checksum']) ? '' : $options['disable_checksum'];
[149] Fix | Delete
$loginizer['checksum_time'] = empty($options['checksum_time']) ? '' : $options['checksum_time'];
[150] Fix | Delete
$loginizer['checksum_frequency'] = empty($options['checksum_frequency']) ? 7 : $options['checksum_frequency'];
[151] Fix | Delete
$loginizer['no_checksum_email'] = empty($options['no_checksum_email']) ? '' : $options['no_checksum_email'];
[152] Fix | Delete
$loginizer['checksums_last_run'] = get_option('loginizer_checksums_last_run');
[153] Fix | Delete
[154] Fix | Delete
// Auto Blacklist Usernames
[155] Fix | Delete
$loginizer['username_blacklist'] = get_option('loginizer_username_blacklist');
[156] Fix | Delete
[157] Fix | Delete
$loginizer['domains_blacklist'] = get_option('loginizer_domains_blacklist');
[158] Fix | Delete
[159] Fix | Delete
// CSRF Protection
[160] Fix | Delete
$loginizer['enable_csrf_protection'] = get_option('loginizer_csrf_protection');
[161] Fix | Delete
$loginizer['2fa_custom_login_redirect'] = get_option('loginizer_2fa_custom_redirect');
[162] Fix | Delete
$loginizer['limit_session'] = get_option('loginizer_limit_session');
[163] Fix | Delete
[164] Fix | Delete
// Checking if Ultimate Member plugins is active
[165] Fix | Delete
if(!isset($loginizer['ultimate-member-active'])){
[166] Fix | Delete
$um_is_active = in_array('ultimate-member/ultimate-member.php', apply_filters('active_plugins', get_option('active_plugins', [])));
[167] Fix | Delete
[168] Fix | Delete
$loginizer['ultimate-member-active'] = !empty($um_is_active) ? true : false;
[169] Fix | Delete
}
[170] Fix | Delete
[171] Fix | Delete
// Blocking access to wp-admin if user is not logged in.
[172] Fix | Delete
if(!empty($loginizer['login_slug']) && !empty($loginizer['hide_wp_admin'])){
[173] Fix | Delete
add_action('wp_loaded', 'loginizer_hide_wp_admin');
[174] Fix | Delete
}
[175] Fix | Delete
[176] Fix | Delete
// Check if there is a license file and update it in the database
[177] Fix | Delete
if(file_exists(__DIR__.'/license.key')){
[178] Fix | Delete
[179] Fix | Delete
$license = trim(file_get_contents(__DIR__.'/license.key'));
[180] Fix | Delete
[181] Fix | Delete
if(!empty($license)){
[182] Fix | Delete
loginizer_pro_load_license($license);
[183] Fix | Delete
}
[184] Fix | Delete
[185] Fix | Delete
unlink(__DIR__.'/license.key');
[186] Fix | Delete
}
[187] Fix | Delete
[188] Fix | Delete
// Load license
[189] Fix | Delete
loginizer_pro_load_license();
[190] Fix | Delete
[191] Fix | Delete
// Load license
[192] Fix | Delete
if(!defined('SITEPAD')){
[193] Fix | Delete
[194] Fix | Delete
// Check for updates
[195] Fix | Delete
include_once('updater/plugin-update-checker.php');
[196] Fix | Delete
$loginizer_updater = Loginizer_PucFactory::buildUpdateChecker(loginizer_pro_api_url().'/updates.php?version='.LOGINIZER_PRO_VERSION, LOGINIZER_PRO_FILE);
[197] Fix | Delete
[198] Fix | Delete
// Add the license key to query arguments
[199] Fix | Delete
$loginizer_updater->addQueryArgFilter('loginizer_updater_filter_args');
[200] Fix | Delete
[201] Fix | Delete
// Show the text to install the license key
[202] Fix | Delete
add_filter('puc_manual_final_check_link-loginizer-security', 'loginizer_updater_check_link', 10, 1);
[203] Fix | Delete
[204] Fix | Delete
add_filter('plugin_row_meta', 'loginizer_plugin_row_links', 10, 2);
[205] Fix | Delete
[206] Fix | Delete
}
[207] Fix | Delete
[208] Fix | Delete
// Checking For SSO
[209] Fix | Delete
if(!empty($_GET['ssotoken'])){
[210] Fix | Delete
add_filter('authenticate', 'loginizer_sso_authenticate', 10003, 3);
[211] Fix | Delete
add_action('wp_login_errors', 'loginizer_error_handler', 10001, 2);
[212] Fix | Delete
add_action('wp_login', 'loginizer_login_success', 10, 2);
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
// CSRF Session URL
[216] Fix | Delete
if(!empty($loginizer['enable_csrf_protection']) && loginizer_is_csrf_prot_mod_set()){
[217] Fix | Delete
add_action('init', 'loginizer_csrf_sess_init');
[218] Fix | Delete
add_filter('login_redirect', 'loginizer_login_csrf_redirect', 200, 3);
[219] Fix | Delete
add_action('admin_bar_menu', 'loginizer_csrf_admin_bar_shortcut', 70);
[220] Fix | Delete
add_filter('admin_url', 'loginizer_csrf_admin_redirects', 100005, 3);
[221] Fix | Delete
add_filter('wp_redirect', 'loginizer_csrf_wp_redirects');
[222] Fix | Delete
add_action('set_auth_cookie', 'loginizer_admin_url_cookie'); // Creates session key and handles cookies
[223] Fix | Delete
add_action('wp_logout', 'loginizer_destroy_csrf_session', 10, 1);
[224] Fix | Delete
}
[225] Fix | Delete
[226] Fix | Delete
// Handles Concurrent Sessions
[227] Fix | Delete
if(!empty($loginizer['limit_session']) && !empty($loginizer['limit_session']['enable'])){
[228] Fix | Delete
add_filter('wp_authenticate_user', 'loginizer_limit_sessions');
[229] Fix | Delete
add_action('wp_login', 'loginizer_limit_sessions_wp_login');
[230] Fix | Delete
add_filter('check_password', 'loginizer_limit_destroy_sessions_handler', 10, 4);
[231] Fix | Delete
add_filter('loginizer_pro_limit_sessions', 'loginizer_limit_sessions', 10);
[232] Fix | Delete
}
[233] Fix | Delete
[234] Fix | Delete
// MasterStudy Login filter
[235] Fix | Delete
add_filter('stm_lms_login', 'loginizer_handle_stm_lms_login');
[236] Fix | Delete
[237] Fix | Delete
add_filter('loginizer_system_information', 'loginizer_premium_system_info', 10);
[238] Fix | Delete
add_filter('loginizer_pre_page_dashboard', 'loginizer_premium_page_dashboard', 10);
[239] Fix | Delete
[240] Fix | Delete
// A way to remove the settings
[241] Fix | Delete
if(file_exists(LOGINIZER_PRO_DIR.'/reset_admin.txt')){
[242] Fix | Delete
update_option('loginizer_wp_admin', array());
[243] Fix | Delete
delete_option('loginizer_csrf_protection');
[244] Fix | Delete
}
[245] Fix | Delete
[246] Fix | Delete
// Are we to ban user emails ?
[247] Fix | Delete
if(!empty($loginizer['domains_blacklist']) && count($loginizer['domains_blacklist']) > 0){
[248] Fix | Delete
add_filter('registration_errors', 'loginizer_domains_blacklist', 10, 3);
[249] Fix | Delete
add_filter('woocommerce_registration_errors', 'loginizer_domains_blacklist', 10, 3);
[250] Fix | Delete
}
[251] Fix | Delete
[252] Fix | Delete
// Is email password less login enabled ?
[253] Fix | Delete
$sapi_type = defined('PHP_SAPI') ? PHP_SAPI : '';
[254] Fix | Delete
if(!empty($loginizer['email_pass_less']) && !defined('XMLRPC_REQUEST') && $sapi_type !== 'cli'){
[255] Fix | Delete
[256] Fix | Delete
// Add a handler for the GUI Login
[257] Fix | Delete
add_filter('authenticate', 'loginizer_epl_wp_authenticate', 10002, 3);
[258] Fix | Delete
[259] Fix | Delete
// Dont show password error
[260] Fix | Delete
add_filter('wp_login_errors', 'loginizer_epl_error_handler', 10000, 2);
[261] Fix | Delete
[262] Fix | Delete
// Hide the password field
[263] Fix | Delete
add_action('login_enqueue_scripts', 'loginizer_epl_hide_pass');
[264] Fix | Delete
add_action('wp_enqueue_scripts', 'loginizer_epl_hide_woocommerce_pass');
[265] Fix | Delete
[266] Fix | Delete
}
[267] Fix | Delete
[268] Fix | Delete
// Are we to rename the login ?
[269] Fix | Delete
if(!empty($loginizer['login_slug'])){
[270] Fix | Delete
[271] Fix | Delete
//$loginizer['login_slug'] = 'login';
[272] Fix | Delete
[273] Fix | Delete
// Add the filters / actions
[274] Fix | Delete
add_filter('site_url', 'loginizer_rl_site_url', 10, 2);
[275] Fix | Delete
add_filter('network_site_url', 'loginizer_rl_site_url', 10, 2);
[276] Fix | Delete
add_filter('wp_redirect', 'loginizer_rl_wp_redirect', 10, 2);
[277] Fix | Delete
add_filter('register', 'loginizer_rl_register');
[278] Fix | Delete
add_action('wp_loaded', 'loginizer_rl_wp_loaded');
[279] Fix | Delete
[280] Fix | Delete
}
[281] Fix | Delete
[282] Fix | Delete
// Rename the WP-ADMIN folder
[283] Fix | Delete
if(!defined('SITEPAD') && !empty($loginizer['admin_slug'])){
[284] Fix | Delete
[285] Fix | Delete
add_filter('admin_url', 'loginizer_admin_url', 10001, 3);
[286] Fix | Delete
add_action('set_auth_cookie', 'loginizer_admin_url_cookie');
[287] Fix | Delete
[288] Fix | Delete
// For multisite
[289] Fix | Delete
if(lz_is_multisite()){
[290] Fix | Delete
add_filter('network_admin_url', 'loginizer_network_admin_url', 10001, 2);
[291] Fix | Delete
}
[292] Fix | Delete
[293] Fix | Delete
if(!empty($loginizer['restrict_wp_admin']) && preg_match('/\/wp-admin/is', $_SERVER['REQUEST_URI'])){
[294] Fix | Delete
die(empty($loginizer['wp_admin_msg']) ? $loginizer['wp_admin_d_msg'] : $loginizer['wp_admin_msg']);
[295] Fix | Delete
}
[296] Fix | Delete
[297] Fix | Delete
}
[298] Fix | Delete
[299] Fix | Delete
// Are we to rename the xmlrpc ?
[300] Fix | Delete
if(!defined('SITEPAD') && !empty($loginizer['xmlrpc_slug']) && empty($loginizer['xmlrpc_disable'])){
[301] Fix | Delete
[302] Fix | Delete
// Add the filters / actions
[303] Fix | Delete
add_action('wp_loaded', 'loginizer_xml_rename_wp_loaded');
[304] Fix | Delete
[305] Fix | Delete
}
[306] Fix | Delete
[307] Fix | Delete
// Are we to DISABLE the xmlrpc ?
[308] Fix | Delete
if(!empty($loginizer['xmlrpc_disable'])){
[309] Fix | Delete
[310] Fix | Delete
// Add the filters / actions
[311] Fix | Delete
add_filter('xmlrpc_enabled', 'loginizer_xmlrpc_null');
[312] Fix | Delete
add_filter('bloginfo_url', 'loginizer_xmlrpc_remove_pingback_url', 10000, 2);
[313] Fix | Delete
add_action('wp_loaded', 'loginizer_xmlrpc_disable');
[314] Fix | Delete
[315] Fix | Delete
}
[316] Fix | Delete
[317] Fix | Delete
// Are we to disable pingbacks ?
[318] Fix | Delete
if(!empty($loginizer['pingbacks_disable'])){
[319] Fix | Delete
[320] Fix | Delete
// Add the filters / actions
[321] Fix | Delete
add_filter('xmlrpc_methods', 'loginizer_pingbacks_disable');
[322] Fix | Delete
[323] Fix | Delete
}
[324] Fix | Delete
[325] Fix | Delete
if(!empty($loginizer['ultimate-member-active']) && class_exists('UM')){
[326] Fix | Delete
add_action('um_user_edit_profile', 'loginizer_user_page_post', 10, 1);
[327] Fix | Delete
remove_action('template_redirect', array(UM()->account(), 'account_submit'), 10002);
[328] Fix | Delete
remove_action( 'um_before_form', 'um_add_update_notice', 500 );
[329] Fix | Delete
}
[330] Fix | Delete
[331] Fix | Delete
//-----------------------------------
[332] Fix | Delete
// Add the captcha filters / actions
[333] Fix | Delete
//-----------------------------------
[334] Fix | Delete
if(!empty($loginizer['social_settings']) && !loginizer_is_blacklisted()){
[335] Fix | Delete
[336] Fix | Delete
// Shortcode has options shape|divide|container_alignment|button_alignment
[337] Fix | Delete
add_shortcode('loginizer_social', 'loginizer_social_shortcode');
[338] Fix | Delete
[339] Fix | Delete
if(!empty($_COOKIE['lz_social_error'])){
[340] Fix | Delete
add_action('woocommerce_before_customer_login_form', 'loginizer_social_wc_error');
[341] Fix | Delete
}
[342] Fix | Delete
[343] Fix | Delete
if(!empty($loginizer['social_settings']['general']['save_avatar'])){
[344] Fix | Delete
add_filter('get_avatar', 'loginizer_social_update_avatar', 1, 5);
[345] Fix | Delete
}
[346] Fix | Delete
[347] Fix | Delete
if(!empty($loginizer['social_settings']['login']['registration_form'])){
[348] Fix | Delete
add_action('register_form', 'loginizer_social_btn_login', 100);
[349] Fix | Delete
}
[350] Fix | Delete
[351] Fix | Delete
$lz_active_plugins = apply_filters('active_plugins', get_option('active_plugins'));
[352] Fix | Delete
[353] Fix | Delete
if(in_array('woocommerce/woocommerce.php', $lz_active_plugins)){
[354] Fix | Delete
if(!empty($loginizer['social_settings']['woocommerce']['login_form'])){
[355] Fix | Delete
add_action('woocommerce_login_form', 'loginizer_social_btn_woocommerce', 100);
[356] Fix | Delete
}
[357] Fix | Delete
[358] Fix | Delete
if(!empty($loginizer['social_settings']['woocommerce']['registration_form'])){
[359] Fix | Delete
add_action('woocommerce_register_form', 'loginizer_social_btn_woocommerce');
[360] Fix | Delete
}
[361] Fix | Delete
}
[362] Fix | Delete
[363] Fix | Delete
// Social Login for Ultimate Member plugin
[364] Fix | Delete
if(in_array('ultimate-member/ultimate-member.php', $lz_active_plugins)){
[365] Fix | Delete
if(!empty($loginizer['social_settings']['ultimate_member']['enable_buttons'])){
[366] Fix | Delete
if(strpos($loginizer['social_settings']['ultimate_member']['button_position'], 'below') !== FALSE){
[367] Fix | Delete
add_action('um_after_form', 'loginizer_social_btn_um', 100);
[368] Fix | Delete
} else {
[369] Fix | Delete
add_action('um_before_form', 'loginizer_social_btn_um', 100);
[370] Fix | Delete
}
[371] Fix | Delete
}
[372] Fix | Delete
}
[373] Fix | Delete
[374] Fix | Delete
if(!empty($loginizer['social_settings']['comment']['enable_buttons'])){
[375] Fix | Delete
add_action('comment_form_must_log_in_after', 'loginizer_social_btn_comment');
[376] Fix | Delete
}
[377] Fix | Delete
}
[378] Fix | Delete
[379] Fix | Delete
if(!empty($loginizer['captcha_key']) || !empty($loginizer['captcha_no_google']) || !empty($loginizer['captcha_status'])){
[380] Fix | Delete
[381] Fix | Delete
add_action('login_init', 'loginizer_cap_session_key');
[382] Fix | Delete
[383] Fix | Delete
// Is reCaptcha on for login ?
[384] Fix | Delete
if(!empty($loginizer['captcha_login']) && !defined('XMLRPC_REQUEST')){
[385] Fix | Delete
[386] Fix | Delete
add_filter('authenticate', 'loginizer_cap_login_verify', 10000);
[387] Fix | Delete
add_action('login_form', 'loginizer_cap_form_login', 100);
[388] Fix | Delete
add_action('woocommerce_login_form', 'loginizer_cap_form_login', 100);
[389] Fix | Delete
add_action('login_form_middle', 'loginizer_cap_wp_login_form', 100); // https://developer.wordpress.org/reference/functions/wp_login_form/
[390] Fix | Delete
[391] Fix | Delete
if(!empty($loginizer['ultimate-member-active']) && class_exists('UM')){
[392] Fix | Delete
add_action('um_after_login_fields', 'loginizer_cap_form_um_login', 100);
[393] Fix | Delete
}
[394] Fix | Delete
[395] Fix | Delete
// Need to make more room for login form
[396] Fix | Delete
if(empty($loginizer['captcha_remove_css'])){
[397] Fix | Delete
add_action('login_enqueue_scripts', 'loginizer_cap_login_form');
[398] Fix | Delete
}
[399] Fix | Delete
[400] Fix | Delete
}
[401] Fix | Delete
[402] Fix | Delete
// Is reCaptcha on for Lost Password utility ?
[403] Fix | Delete
if(!empty($loginizer['captcha_lostpass'])){
[404] Fix | Delete
add_action('allow_password_reset', 'loginizer_cap_lostpass_verify', 10, 2);
[405] Fix | Delete
add_action('lostpassword_form', 'loginizer_cap_form_login', 100);
[406] Fix | Delete
add_filter('woocommerce_lostpassword_form', 'loginizer_cap_form_login');
[407] Fix | Delete
}
[408] Fix | Delete
[409] Fix | Delete
// Is reCaptcha on for Reset Password utility ?
[410] Fix | Delete
if(!empty($loginizer['captcha_resetpass'])){
[411] Fix | Delete
add_filter('validate_password_reset', 'loginizer_cap_resetpass_verify', 10, 2);
[412] Fix | Delete
add_action('resetpass_form', 'loginizer_cap_reset_form', 99);
[413] Fix | Delete
add_filter('woocommerce_resetpassword_form', 'loginizer_cap_form_login');
[414] Fix | Delete
}
[415] Fix | Delete
[416] Fix | Delete
// Is reCaptcha on for registration ?
[417] Fix | Delete
if(!empty($loginizer['captcha_register'])){
[418] Fix | Delete
add_filter('registration_errors', 'loginizer_cap_register_verify', 10, 3);
[419] Fix | Delete
add_action('register_form', 'loginizer_cap_form_login', 100);
[420] Fix | Delete
[421] Fix | Delete
// For BuddyPress
[422] Fix | Delete
add_filter('bp_signup_validate', 'loginizer_cap_register_verify_buddypress', 10, 3);
[423] Fix | Delete
add_action('bp_after_signup_profile_fields', 'loginizer_cap_form_login', 100);
[424] Fix | Delete
[425] Fix | Delete
add_filter('woocommerce_before_checkout_process', 'loginizer_wc_before_checkout_process', 10);
[426] Fix | Delete
[427] Fix | Delete
add_filter('woocommerce_register_form', 'loginizer_cap_form_login');
[428] Fix | Delete
add_filter('woocommerce_registration_errors', 'loginizer_cap_register_verify', 10, 3);
[429] Fix | Delete
[430] Fix | Delete
if(!empty($loginizer['captcha_wc_checkout'])){
[431] Fix | Delete
// Checkout captcha position was added in v2.0.3 so the action in else was default before that.
[432] Fix | Delete
if(isset($loginizer['captcha_wc_checkout_pos']) && $loginizer['captcha_wc_checkout_pos'] == 'before_submit'){
[433] Fix | Delete
add_action('woocommerce_review_order_before_submit', 'loginizer_cap_form_ecommerce', 10);
[434] Fix | Delete
} else {
[435] Fix | Delete
// This is before payment position
[436] Fix | Delete
add_action('woocommerce_checkout_order_review', 'loginizer_cap_form_ecommerce');
[437] Fix | Delete
}
[438] Fix | Delete
}
[439] Fix | Delete
[440] Fix | Delete
// For block based checkout
[441] Fix | Delete
// To add captcha to blocks of Checkout page refer:
[442] Fix | Delete
// https://developer.woocommerce.com/docs/block-development/tutorials/integrating-protection-checkout-block/
[443] Fix | Delete
if(!empty($loginizer['captcha_wc_block_checkout'])){
[444] Fix | Delete
include_once LOGINIZER_PRO_DIR .'/main/integrations/woocommerce.php';
[445] Fix | Delete
[446] Fix | Delete
// Checkout captcha position was added in v2.0.3 so the action in else was default before that.
[447] Fix | Delete
if(isset($loginizer['captcha_wc_checkout_pos']) && $loginizer['captcha_wc_checkout_pos'] == 'before_submit'){
[448] Fix | Delete
add_filter('render_block_woocommerce/checkout-actions-block', 'loginizer_pro_cap_woo_block_render', 999, 1);
[449] Fix | Delete
} else {
[450] Fix | Delete
// This is before payment position
[451] Fix | Delete
add_filter('render_block_woocommerce/checkout-payment-block', 'loginizer_pro_cap_woo_block_render_before_payment', 999, 1);
[452] Fix | Delete
}
[453] Fix | Delete
}
[454] Fix | Delete
}
[455] Fix | Delete
[456] Fix | Delete
// For veirification for block based checkout
[457] Fix | Delete
if(!empty($loginizer['captcha_wc_block_checkout'])){
[458] Fix | Delete
include_once LOGINIZER_PRO_DIR .'/main/integrations/woocommerce.php';
[459] Fix | Delete
}
[460] Fix | Delete
[461] Fix | Delete
// Are we to show Captcha for guests only ?
[462] Fix | Delete
if((is_user_logged_in() && empty($loginizer['captcha_user_hide'])) || !is_user_logged_in()){
[463] Fix | Delete
[464] Fix | Delete
// Is reCaptcha on for comment utility ?
[465] Fix | Delete
if(!empty($loginizer['captcha_comment'])){
[466] Fix | Delete
add_filter('preprocess_comment', 'loginizer_cap_comment_verify');
[467] Fix | Delete
add_action('comment_form', 'loginizer_cap_comment_form');
[468] Fix | Delete
}
[469] Fix | Delete
[470] Fix | Delete
// Is reCaptcha on for WooCommerce Logout utility ?
[471] Fix | Delete
if(!empty($loginizer['captcha_wc_checkout'])){
[472] Fix | Delete
add_action('woocommerce_after_checkout_validation', 'loginizer_wc_checkout_verify');
[473] Fix | Delete
if(isset($loginizer['captcha_wc_checkout_pos']) && $loginizer['captcha_wc_checkout_pos'] == 'before_submit'){
[474] Fix | Delete
add_action('woocommerce_review_order_before_submit', 'loginizer_cap_form_ecommerce', 10);
[475] Fix | Delete
} else {
[476] Fix | Delete
// This is before payment position
[477] Fix | Delete
add_action('woocommerce_checkout_order_review', 'loginizer_cap_form_ecommerce');
[478] Fix | Delete
}
[479] Fix | Delete
}
[480] Fix | Delete
[481] Fix | Delete
}
[482] Fix | Delete
[483] Fix | Delete
}
[484] Fix | Delete
[485] Fix | Delete
//-----------------
[486] Fix | Delete
// Two Factor Auth
[487] Fix | Delete
//-----------------
[488] Fix | Delete
[489] Fix | Delete
if(!defined('SITEPAD') && loginizer_is_2fa_enabled() && !defined('XMLRPC_REQUEST')){
[490] Fix | Delete
[491] Fix | Delete
// After username and password check has been verified, are we to redirect ?
[492] Fix | Delete
add_filter('authenticate', 'loginizer_user_redirect', 10003, 3);
[493] Fix | Delete
[494] Fix | Delete
$user_id = get_current_user_id();
[495] Fix | Delete
$lz_2fa_state = get_transient('loginizer_2fa_'. $user_id);
[496] Fix | Delete
[497] Fix | Delete
// To redirect after login
[498] Fix | Delete
if(!empty($_COOKIE['loginizer_2fa_' . $user_id]) && !empty($lz_2fa_state) && $lz_2fa_state != '2fa'){
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function