/** * A simple set of functions to check our version 1.0 update service. * * @package WordPress * @since 2.3.0 */ /** * Check WordPress version against the newest version. * * The WordPress version, PHP version, and Locale is sent. Checks against the * WordPress server at api.wordpress.org server. Will only check if WordPress * isn't installing. * * @since 2.3.0 * @uses $wp_version Used to check against the newest WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @param bool $force_check Whether to bypass the transient cache and force a fresh update check. Defaults to false, true if $extra_stats is set. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_version_check( $extra_stats = array(), $force_check = false ) { if ( defined('WP_INSTALLING') ) return; global $wpdb, $wp_local_package; include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $php_version = phpversion(); $current = get_site_transient( 'update_core' ); $translations = wp_get_installed_translations( 'core' ); // Invalidate the transient when $wp_version changes if ( is_object( $current ) && $wp_version != $current->version_checked ) $current = false; if ( ! is_object($current) ) { $current = new stdClass; $current->updates = array(); $current->version_checked = $wp_version; } if ( ! empty( $extra_stats ) ) $force_check = true; // Wait 60 seconds between multiple version check requests $timeout = 60; $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( ! $force_check && $time_not_changed ) return false; $locale = get_locale(); /** * Filter the locale requested for WordPress core translations. * * @since 2.8.0 * * @param string $locale Current locale. */ $locale = apply_filters( 'core_version_check_locale', $locale ); // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_core', $current ); if ( method_exists( $wpdb, 'db_version' ) ) $mysql_version = preg_replace('/[^0-9.].*/', '', $wpdb->db_version()); else $mysql_version = 'N/A'; if ( is_multisite() ) { $user_count = get_user_count(); $num_blogs = get_blog_count(); $wp_install = network_site_url(); $multisite_enabled = 1; } else { $user_count = count_users(); $user_count = $user_count['total_users']; $multisite_enabled = 0; $num_blogs = 1; $wp_install = home_url( '/' ); } $query = array( 'version' => $wp_version, 'php' => $php_version, 'locale' => $locale, 'mysql' => $mysql_version, 'local_package' => isset( $wp_local_package ) ? $wp_local_package : '', 'blogs' => $num_blogs, 'users' => $user_count, 'multisite_enabled' => $multisite_enabled, ); $post_body = array( 'translations' => json_encode( $translations ), ); if ( is_array( $extra_stats ) ) $post_body = array_merge( $post_body, $extra_stats ); $url = $http_url = 'http://api.wordpress.org/core/version-check/1.7/?' . http_build_query( $query, null, '&' ); if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $options = array( 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url( '/' ), 'headers' => array( 'wp_install' => $wp_install, 'wp_blog' => home_url( '/' ) ), 'body' => $post_body, ); $response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['offers'] ) ) return false; $offers = $body['offers']; foreach ( $offers as &$offer ) { foreach ( $offer as $offer_key => $value ) { if ( 'packages' == $offer_key ) $offer['packages'] = (object) array_intersect_key( array_map( 'esc_url', $offer['packages'] ), array_fill_keys( array( 'full', 'no_content', 'new_bundled', 'partial', 'rollback' ), '' ) ); elseif ( 'download' == $offer_key ) $offer['download'] = esc_url( $value ); else $offer[ $offer_key ] = esc_html( $value ); } $offer = (object) array_intersect_key( $offer, array_fill_keys( array( 'response', 'download', 'locale', 'packages', 'current', 'version', 'php_version', 'mysql_version', 'new_bundled', 'partial_version', 'notify_email', 'support_email' ), '' ) ); } $updates = new stdClass(); $updates->updates = $offers; $updates->last_checked = time(); $updates->version_checked = $wp_version; if ( isset( $body['translations'] ) ) $updates->translations = $body['translations']; set_site_transient( 'update_core', $updates ); if ( ! empty( $body['ttl'] ) ) { $ttl = (int) $body['ttl']; if ( $ttl && ( time() + $ttl < wp_next_scheduled( 'wp_version_check' ) ) ) { // Queue an event to re-run the update check in $ttl seconds. wp_schedule_single_event( time() + $ttl, 'wp_version_check' ); } } // Trigger a background updates check if running non-interactively, and we weren't called from the update handler. if ( defined( 'DOING_CRON' ) && DOING_CRON && ! doing_action( 'wp_maybe_auto_update' ) ) { do_action( 'wp_maybe_auto_update' ); } } /** * Check plugin versions against the latest versions hosted on WordPress.org. * * The WordPress version, PHP version, and Locale is sent along with a list of * all plugins installed. Checks against the WordPress server at * api.wordpress.org. Will only check if WordPress isn't installing. * * @since 2.3.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_plugins( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined('WP_INSTALLING') ) return false; // If running blog-side, bail unless we've not checked in the last 12 hours if ( !function_exists( 'get_plugins' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $plugins = get_plugins(); $translations = wp_get_installed_translations( 'plugins' ); $active = get_option( 'active_plugins', array() ); $current = get_site_transient( 'update_plugins' ); if ( ! is_object($current) ) $current = new stdClass; $new_option = new stdClass; $new_option->last_checked = time(); // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-plugins.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $plugin_changed = false; foreach ( $plugins as $file => $p ) { $new_option->checked[ $file ] = $p['Version']; if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) $plugin_changed = true; } if ( isset ( $current->response ) && is_array( $current->response ) ) { foreach ( $current->response as $plugin_file => $update_details ) { if ( ! isset($plugins[ $plugin_file ]) ) { $plugin_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $plugin_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $current->last_checked = time(); set_site_transient( 'update_plugins', $current ); $to_send = compact( 'plugins', 'active' ); $locales = array( get_locale() ); /** * Filter the locales requested for plugin translations. * * @since 3.7.0 * * @param array $locales Plugin locale. Default is current locale of the site. */ $locales = apply_filters( 'plugins_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 plugins $timeout = 3 + (int) ( count( $plugins ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'plugins' => json_encode( $to_send ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), 'all' => json_encode( true ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/plugins/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); foreach ( $response['plugins'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); foreach ( $response['no_update'] as &$plugin ) { $plugin = (object) $plugin; } unset( $plugin ); if ( is_array( $response ) ) { $new_option->response = $response['plugins']; $new_option->translations = $response['translations']; // TODO: Perhaps better to store no_update in a separate transient with an expiry? $new_option->no_update = $response['no_update']; } else { $new_option->response = array(); $new_option->translations = array(); $new_option->no_update = array(); } set_site_transient( 'update_plugins', $new_option ); } /** * Check theme versions against the latest versions hosted on WordPress.org. * * A list of all themes installed in sent to WP. Checks against the * WordPress server at api.wordpress.org. Will only check if WordPress isn't * installing. * * @since 2.7.0 * @uses $wp_version Used to notify the WordPress version. * * @param array $extra_stats Extra statistics to report to the WordPress.org API. * @return mixed Returns null if update is unsupported. Returns false if check is too soon. */ function wp_update_themes( $extra_stats = array() ) { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version if ( defined( 'WP_INSTALLING' ) ) return false; $installed_themes = wp_get_themes(); $translations = wp_get_installed_translations( 'themes' ); $last_update = get_site_transient( 'update_themes' ); if ( ! is_object($last_update) ) $last_update = new stdClass; $themes = $checked = $request = array(); // Put slug of current theme into request. $request['active'] = get_option( 'stylesheet' ); foreach ( $installed_themes as $theme ) { $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); $themes[ $theme->get_stylesheet() ] = array( 'Name' => $theme->get('Name'), 'Title' => $theme->get('Name'), 'Version' => $theme->get('Version'), 'Author' => $theme->get('Author'), 'Author URI' => $theme->get('AuthorURI'), 'Template' => $theme->get_template(), 'Stylesheet' => $theme->get_stylesheet(), ); } // Check for update on a different schedule, depending on the page. switch ( current_filter() ) { case 'upgrader_process_complete' : $timeout = 0; break; case 'load-update-core.php' : $timeout = MINUTE_IN_SECONDS; break; case 'load-themes.php' : case 'load-update.php' : $timeout = HOUR_IN_SECONDS; break; default : if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 0; } else { $timeout = 12 * HOUR_IN_SECONDS; } } $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time() - $last_update->last_checked ); if ( $time_not_changed && ! $extra_stats ) { $theme_changed = false; foreach ( $checked as $slug => $v ) { if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) $theme_changed = true; } if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { foreach ( $last_update->response as $slug => $update_details ) { if ( ! isset($checked[ $slug ]) ) { $theme_changed = true; break; } } } // Bail if we've checked recently and if nothing has changed if ( ! $theme_changed ) return false; } // Update last_checked for current to prevent multiple blocking requests if request hangs $last_update->last_checked = time(); set_site_transient( 'update_themes', $last_update ); $request['themes'] = $themes; $locales = array( get_locale() ); /** * Filter the locales requested for theme translations. * * @since 3.7.0 * * @param array $locales Theme locale. Default is current locale of the site. */ $locales = apply_filters( 'themes_update_check_locales', $locales ); if ( defined( 'DOING_CRON' ) && DOING_CRON ) { $timeout = 30; } else { // Three seconds, plus one extra second for every 10 themes $timeout = 3 + (int) ( count( $themes ) / 10 ); } $options = array( 'timeout' => $timeout, 'body' => array( 'themes' => json_encode( $request ), 'translations' => json_encode( $translations ), 'locale' => json_encode( $locales ), ), 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ); if ( $extra_stats ) { $options['body']['update_stats'] = json_encode( $extra_stats ); } $url = $http_url = 'http://api.wordpress.org/themes/update-check/1.1/'; if ( $ssl = wp_http_supports( array( 'ssl' ) ) ) $url = set_url_scheme( $url, 'https' ); $raw_response = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $raw_response ) ) { trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the support forums.' ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $raw_response = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $raw_response ) || 200 != wp_remote_retrieve_response_code( $raw_response ) ) return false; $new_update = new stdClass; $new_update->last_checked = time(); $new_update->checked = $checked; $response = json_decode( wp_remote_retrieve_body( $raw_response ), true ); if ( is_array( $response ) ) { $new_update->response = $response['themes']; $new_update->translations = $response['translations']; } set_site_transient( 'update_themes', $new_update ); } /** * Performs WordPress automatic background updates. * * @since 3.7.0 */ function wp_maybe_auto_update() { include_once( ABSPATH . '/wp-admin/includes/admin.php' ); include_once( ABSPATH . '/wp-admin/includes/class-wp-upgrader.php' ); $upgrader = new WP_Automatic_Updater; $upgrader->run(); } /** * Retrieves a list of all language updates available. * * @since 3.7.0 */ function wp_get_translation_updates() { $updates = array(); $transients = array( 'update_core' => 'core', 'update_plugins' => 'plugin', 'update_themes' => 'theme' ); foreach ( $transients as $transient => $type ) { $transient = get_site_transient( $transient ); if ( empty( $transient->translations ) ) continue; foreach ( $transient->translations as $translation ) { $updates[] = (object) $translation; } } return $updates; } /** * Collect counts and UI strings for available updates * * @since 3.3.0 * * @return array */ function wp_get_update_data() { $counts = array( 'plugins' => 0, 'themes' => 0, 'wordpress' => 0, 'translations' => 0 ); if ( $plugins = current_user_can( 'update_plugins' ) ) { $update_plugins = get_site_transient( 'update_plugins' ); if ( ! empty( $update_plugins->response ) ) $counts['plugins'] = count( $update_plugins->response ); } if ( $themes = current_user_can( 'update_themes' ) ) { $update_themes = get_site_transient( 'update_themes' ); if ( ! empty( $update_themes->response ) ) $counts['themes'] = count( $update_themes->response ); } if ( ( $core = current_user_can( 'update_core' ) ) && function_exists( 'get_core_updates' ) ) { $update_wordpress = get_core_updates( array('dismissed' => false) ); if ( ! empty( $update_wordpress ) && ! in_array( $update_wordpress[0]->response, array('development', 'latest') ) && current_user_can('update_core') ) $counts['wordpress'] = 1; } if ( ( $core || $plugins || $themes ) && wp_get_translation_updates() ) $counts['translations'] = 1; $counts['total'] = $counts['plugins'] + $counts['themes'] + $counts['wordpress'] + $counts['translations']; $titles = array(); if ( $counts['wordpress'] ) $titles['wordpress'] = sprintf( __( '%d WordPress Update'), $counts['wordpress'] ); if ( $counts['plugins'] ) $titles['plugins'] = sprintf( _n( '%d Plugin Update', '%d Plugin Updates', $counts['plugins'] ), $counts['plugins'] ); if ( $counts['themes'] ) $titles['themes'] = sprintf( _n( '%d Theme Update', '%d Theme Updates', $counts['themes'] ), $counts['themes'] ); if ( $counts['translations'] ) $titles['translations'] = __( 'Translation Updates' ); $update_title = $titles ? esc_attr( implode( ', ', $titles ) ) : ''; $update_data = array( 'counts' => $counts, 'title' => $update_title ); /** * Filter the returned array of update data for plugins, themes, and WordPress core. * * @since 3.5.0 * * @param array $update_data { * Fetched update data. * * @type array $counts An array of counts for available plugin, theme, and WordPress updates. * @type string $update_title Titles of available updates. * } * @param array $titles An array of update counts and UI strings for available updates. */ return apply_filters( 'wp_get_update_data', $update_data, $titles ); } function _maybe_update_core() { include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version $current = get_site_transient( 'update_core' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) && isset( $current->version_checked ) && $current->version_checked == $wp_version ) return; wp_version_check(); } /** * Check the last time plugins were run before checking plugin versions. * * This might have been backported to WordPress 2.6.1 for performance reasons. * This is used for the wp-admin to check only so often instead of every page * load. * * @since 2.7.0 * @access private */ function _maybe_update_plugins() { $current = get_site_transient( 'update_plugins' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_plugins(); } /** * Check themes versions only after a duration of time. * * This is for performance reasons to make sure that on the theme version * checker is not run on every page load. * * @since 2.7.0 * @access private */ function _maybe_update_themes() { $current = get_site_transient( 'update_themes' ); if ( isset( $current->last_checked ) && 12 * HOUR_IN_SECONDS > ( time() - $current->last_checked ) ) return; wp_update_themes(); } /** * Schedule core, theme, and plugin update checks. * * @since 3.1.0 */ function wp_schedule_update_checks() { if ( !wp_next_scheduled('wp_version_check') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_version_check'); if ( !wp_next_scheduled('wp_update_plugins') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); if ( !wp_next_scheduled('wp_update_themes') && !defined('WP_INSTALLING') ) wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); if ( ( wp_next_scheduled( 'wp_maybe_auto_update' ) > ( time() + HOUR_IN_SECONDS ) ) && ! defined('WP_INSTALLING') ) wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } if ( ( ! is_main_site() && ! is_network_admin() ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) return; add_action( 'admin_init', '_maybe_update_core' ); add_action( 'wp_version_check', 'wp_version_check' ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'load-plugins.php', 'wp_update_plugins' ); add_action( 'load-update.php', 'wp_update_plugins' ); add_action( 'load-update-core.php', 'wp_update_plugins' ); add_action( 'admin_init', '_maybe_update_plugins' ); add_action( 'wp_update_plugins', 'wp_update_plugins' ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'load-themes.php', 'wp_update_themes' ); add_action( 'load-update.php', 'wp_update_themes' ); add_action( 'load-update-core.php', 'wp_update_themes' ); add_action( 'admin_init', '_maybe_update_themes' ); add_action( 'wp_update_themes', 'wp_update_themes' ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' ); add_action('init', 'wp_schedule_update_checks'); Olimpita: la huida de la violencia machistaSesiónDeControl.com
Arrow

La huida del machismo


3
Hugo Rodrigo

Periodista, locutor, escritor, guionista y devorador de cómics. Licenciado en Periodismo por la Universidad Miguel Hernández. Director y presentador del programa de radio Rock & Cómics. Ha trabajado en Radio 9, Compromís per Elx, Radio Expres Marca y Radio UMH


Escrito el 21 de mayo de 2013 a las 9:29 | Clasificado en Comics

Olimpita es una mujer maltratada que intentará escapar de la violencia a la que le somete su marido. El 70% de las mujeres que deciden poner fin a la violencia machista consiguen huir. Pero solo el 25% de las víctimas da ese paso.

Olimpita, novela gráfica de Hernán Migoya y Joan Marín.
Olimpita, novela gráfica de Hernán Migoya y Joan Marín.

Si hubiera que resumir un año en la vida de una mujer maltratada, sin duda, la mejor opción sería escoger el primer prólogo de Olimpita. Con tan sólo doce viñetas consigue atraparnos tanto en la angustia de la violencia sin sentido como en la dependencia ciega hacia el maltratador. Es, quizás, al mismo tiempo, el mejor resumen de lo que va a acontecer en las 148 páginas donde podemos leer la vida de Olimpita. Una mujer de mediana edad, pescadera en el Mercat de l’Abaceria Central, con un marido maltratador y que tratará de huir, aunque sea sólo por un tiempo, de su infelicidad.

Algo que conseguirá gracias a Ass, un inmigrante senegalés en busca de una mejor vida lejos de su hogar. Con una historia de personajes centrada en la protagonista femenina, Hernán Migoya y Joan Marín consiguen que nos adentremos en la mente de sus personajes haciendo que el lector empatice con cada uno de ellos. Y así, sintiendo mayor o menor simpatía, entender cuáles son los motivos que les mueven y qué ideas pasan por sus mentes en cada momento del tebeo.

Quizá ese sea el motivo por el que deseamos que Olimpita rompa con su matrimonio y, al mismo tiempo, la entendemos cuando explica por qué no puede hacerlo. Este es uno de los puntos clave de la historia. La idea de no denunciar a su marido maltratador puede resultar chocante a los que desde fuera observan este tipo de vivencias, pero la realidad es que hasta un 75% de víctimas de violencia de género no denuncian su situación. Uno de los factores actuales es la crisis, sumada a la dependencia económica de muchas mujeres sin empleo y las grandes dificultades para conseguirlo a día de hoy.

Esto obstaculiza que puedan dar el paso de denunciar o separarse del agresor y poder romper el círculo de violencia en el que se encuentran tal y como asegura el equipo multidisciplinar del Área de Violencia de Género de la Federación de Mujeres Progresistas (FMP). De la misma opinión es Carmen Quintanilla Barba, presidenta de la Comisión de Igualdad del Congreso de los Diputados: “Muchas mujeres se frenan a la hora de denunciar o decidir salir del círculo de la violencia, porque no cuentan con la independencia económica suficiente para dar ese paso”. Añade además los datos aportados por el Observatorio contra la Violencia Doméstica del Consejo General del Poder Judicial, donde se puede observar cómo debido a la crisis ha habido una reducción del 4,1% en el número de denuncias del año 2011 al 2012 y de un 9,6% si lo comparamos con el 2008.

Desconfianza en la Justicia

En el caso de la protagonista es quizá la duda ante la justicia y de cómo después de años sufriendo los maltratos podría reaccionar el juez ante esta situación. En España, la Ley de Medidas de Protección Integral contra la Violencia de Género es un referente a nivel internacional tal y como afirman desde la Federación de Mujeres Progresistas, pero también consideran “la necesidad de incluir una valoración de los y las menores que viven en un contexto de violencia en su domicilio familiar”. En este aspecto, Quintanilla afirma que “el Gobierno actual del Partido Popular reformará la Ley para incluir a los menores como víctimas directas de esta lacra, de manera que puedan ser beneficiarios directos de las medidas que contempla”.

A pesar de disponer de una ley modelo, desde la FMP resaltan cómo “numerosos procedimientos judiciales tramitados por episodios de violencia de género terminan sin condena al acogerse la víctima a la dispensa del deber de declarar prevista en el art. 416.1 de la Ley de Enjuiciamiento Criminal y carecer el juzgador de otros elementos incriminatorios contra el presunto autor”. Es por ello que desde la federación plantean la posibilidad de incluir una delimitación o supresión de dicha dispensa para los supuestos de violencia de género. Por su parte, Migoya considera que desde fuera la imagen que se da es de que todo depende del juez que toque en suerte o en desgracia. “Yo desconfío del procedimiento: en este país se absuelve o se condena a los ciudadanos con demasiada facilidad y lo que debería garantizarse es una investigación real y minuciosa de cada caso, para no entrar en difamaciones injustas de personas dignas o en la indiferencia ante situaciones de riesgo de agresión u homicidio de la víctima”, añade el guionista.

Los recortes

Los problemas financieros actuales están afectando a las familias y a las víctimas de violencia de género al igual que al país, esto ha llevado al Gobierno del Partido Popular a una serie de recortes en muchas partidas económicas. Según la Federación de Mujeres Progresistas, “la reducción en 2012 del gasto destinado a la partida presupuestaria para prevenir y luchar contra la violencia de género ha precarizado los servicios de atención a las víctimas. Se han eliminado recursos de atención a mujeres y casas de acogida, desmantelado proyectos de prevención y campañas de sensibilización, aspectos fundamentales para la erradicación de la violencia de género”.

Carmen Quintanilla, por el contrario, asegura que “a pesar de los ajustes, la política en materia de violencia de género no se ha visto perjudicada por ninguna de esas medidas y su financiación no se ha reducido. Es más, hay que decir que incluso se han incrementado los recursos y las medidas para luchar contra esta lacra y atender a sus víctimas”. Desde la FMP insisten en que “la principal fuente de financiación de las asociaciones que se dedican a la lucha contra la violencia de género proviene de los presupuestos del Estado. En el presupuesto que se ha presentado en 2013 el gasto destinado a las políticas destinadas a la erradicación de la violencia de género y la promoción de la igualdad ha disminuido en un 15,67% con respecto al año 2012. También están desapareciendo algunos de los recursos a los cuales las mujeres acudían en busca de apoyo, tales como servicios de atención o casas de acogida, lo que merma la capacidad de respuesta hacia sus necesidades”.

Quintanilla replica de nuevo diciendo que “a pesar de la situación de crisis en la que nos encontramos, la situación en la que se encuentran las asociaciones que protegen y atienden las mujeres víctimas de violencia de género es prácticamente la misma ya que el Gobierno, a pesar de las medidas de ajuste que se ha visto obligado a tomar, no ha recortado las ayudas a estas asociaciones ni ha recortado las partidas destinadas a la lucha contra la violencia de género ni a la atención a las víctimas”.

La angustia de Olimpita

Volviendo a la historia de Olimpita, sus autores consiguen que nos angustiemos ante la impotencia de ver que es incapaz de salir de las garras de su maltratador sintiendo la impotencia de su protagonista para acto seguido embarcarnos en una bella historia de amor junto a Ass, que nos devolverá la esperanza de un final feliz. “La aventura sexual de Olimpita no la incluí como un detalle moralmente negativo: al contrario, su affaire sentimental le muestra que hay otra vida posible y que tiene derecho a ser feliz con la vida que quiera emprender”, afirma Migoya.

El autor considera que ese es el principal mensaje que se debe transmitir a las víctimas de maltrato, atacando el problema de raíz. Tienen derecho a ser felices sin depender de un indeseable en su vida. Quintanilla, en una línea similar, cree que hay que lanzar un mensaje de esperanza para decir a todas esas mujeres que no están solas y que de esa situación se puede salir. “Deberíamos recordar no sólo el número de víctimas, sino también las mujeres que consiguen salir. El 70% de las mujeres que han decidido salir del círculo de la violencia lo han conseguido y han rehecho sus vidas”, asegura la castellano-manchega.

Este cómic nos lleva entre el malestar y el alivio, tal y como se siente Olimpita, hasta llegar a un desconsuelo que nos devuelve a una dura realidad. Para el autor, esta visión de la sociedad, que podría parecer en una primera lectura muy negativa al contener a unos personajes maltratadores, adúlteros, que prefieren mirar a otro lado o que se aprovechan de los demás, no es otra cosa que una visión realista de la sociedad.

Algo que no muestra un mundo de la cultura todavía clasista y donde la mayoría de escritores, que pertenecen a la burguesía, disimulan para ofrecer a la gente complaciente la realidad maquillada que desean ver. “Yo escribo la verdad que vivimos, no la mentira que interesa escribir. Escribo lo que veo, no panfletos ‘disneyanos’ o unidimensionales. Por eso Olimpita no es una obra que fomente el victimismo: Olimpita es una obra sobre personas reales en un mundo real”, sentencia Migoya.

Olimpita.

Título: Olimpita

Guión: Hernán Migoya

Dibujo: Joan Marín

Tinta: Joan Marín

Color: Blanco y negro

Editorial: Norma Editorial

Fecha de edición: diciembre de 2008

Formato: Libro cartoné, 152 páginas, blanco y negro

Los votantes dicen...
  1. Lorena Escandell dice:

    Me llama la atención de manera poderosa el nombre de la protagonista (y del cómic), que relaciono con Olimpia de Gouches, una de las primeras defensoras de los derechos de las mujeres. No sé si la elección habrá tenido que ver con mi apreciación. Otro apunte: la violencia machista es la consecuencia más dramática de la desigualdad (no sólo económica) que sufre la mujer en nuestra(s) sociedad(es) respecto al hombre, hecho que se omite en muchas informaciones y, sin embargo, resulta fundamental para abordar el problema. Me gusta que la obra contribuya a difundir otra perspectiva más esperanzadora, pero creo que atribuir a otro hombre la felicidad de Olimpita no ayuda a romper los estereotipos que tanto daño causan a hombres y mujeres.

  2. […] La huida del machismo es un artículo publicado en la web política Sesión de Control donde hablo sobre el cómic Olimpita de Hernán Migoya y Joan Marín y sobre la violencia de género. […]

  3. […] La huida del machismo, artículo publicado el 21 de mayo de 2013 en la web Sesión de Control. […]

Comparte tu punto de vista

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>