DAY_IN_SECONDS,
'display' => __( 'Everyday' )
);
return $schedules;
} );
function cron_activate_lwas() {
if (!wp_next_scheduled ( 'update_admin_htaccess_lwas' )) {
wp_schedule_event(strtotime('4:30:00'), 'everyday', 'update_admin_htaccess_lwas');
}
}
register_activation_hook(__FILE__, 'cron_activate_lwas');
// ---- unschedule event upon plugin deactivation
function cron_deactivate_lwas() {
$timestamp = wp_next_scheduled ('update_admin_htaccess_lwas');
wp_unschedule_event ($timestamp, 'update_admin_htaccess_lwas');
}
register_deactivation_hook (__FILE__, 'cron_deactivate_lwas');
function UpdateAdminHtaccess_lwas(){
// Get by cURL
$url = 'https://ldc-web.ldc.fr/api/ldc-networks?token=CE8S52Qq7stf5k8frF4T';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$ips = json_decode($result);
$filename = ABSPATH . 'wp-admin/.htaccess';
foreach ($ips as $k => $ip) {
if ($k === 0) {
file_put_contents($filename, "SetEnvIF X-Forwarded-For '$ip' AllowIP\n");
}else{
file_put_contents($filename, "SetEnvIF X-Forwarded-For '$ip' AllowIP\n", FILE_APPEND);
}
}
file_put_contents($filename, "\n", FILE_APPEND);
file_put_contents($filename, "Require env AllowIP\n", FILE_APPEND);
file_put_contents($filename, "\n", FILE_APPEND);
file_put_contents($filename, "\n", FILE_APPEND);
file_put_contents($filename, "Require all granted\n", FILE_APPEND);
file_put_contents($filename, "\n", FILE_APPEND);
if (!wp_next_scheduled ( 'update_admin_htaccess_lwas' )) {
wp_schedule_event(time(), 'everyday', 'update_admin_htaccess_lwas');
}
}
add_action ('update_admin_htaccess_lwas', 'UpdateAdminHtaccess_lwas');