/* * Plugin Name: APCu Object Cache * Description: APCu backend for the WP Object Cache. * Based on Plugin named APCu Object Cache Backend * Plugin URI: https://wordpress.org/plugins/apcu/ * Author: Pierre Schmitz * Author URI: https://pierre-schmitz.com/ * Plugin URI: https://wordpress.org/plugins/apcu/ * * * @Authors James Dugger, Jonathan Bardo * @copyright 2017 GoDaddy Inc. 14455 N. Hayden Road Scottsdale, Arizona */ $oc_logged_in = false; foreach ( $_COOKIE as $k => $v ) { if ( preg_match( '/^comment_author|wordpress_logged_in_[a-f0-9]+|woocommerce_items_in_cart|PHPSESSID_|edd_wp_session|edd_items_in_cartcc_cart_key|ccm_token/', $k ) ) { $oc_logged_in = true; break; } } $oc_blocked_page = ( defined( 'WP_ADMIN' ) || defined( 'DOING_AJAX' ) || defined( 'XMLRPC_REQUEST' ) || 'wp-login.php' === basename( $_SERVER['SCRIPT_FILENAME'] ) ); function wpaas_is_using_apcu() { return version_compare( PHP_VERSION, '5.6.0', '>=' ) && function_exists( 'apcu_fetch' ); } if ( 'cli' !== php_sapi_name() && ! $oc_logged_in && ! $oc_blocked_page && wpaas_is_using_apcu() ) : /** * Save the transients to the DB. The explanation is a bit too long * for code. The tl;dr of it is that we don't have a single 'fast cache' * source yet (like memcached) and so some long lived items like transients * are still best cached in the db and then brought back into APC * * @param string $transient * @param mixed $value * @param int $expire * @param boolean $site = false * * @return bool */ function wpaas_save_transient( $transient, $value, $expire, $site = false ) { global $wp_object_cache, $wpdb; // The 'special' transient option names $transient_timeout = ( $site ? '_site' : '' ) . '_transient_timeout_' . $transient; $transient = ( $site ? '_site' : '' ) . '_transient_' . $transient; // Cap expiration at 24 hours to avoid littering the DB if ( $expire == 0 ) { $expire = 24 * 60 * 60; } // Save to object cache $wp_object_cache->set( $transient, $value, 'options', $expire ); $wp_object_cache->set( $transient_timeout, time() + $expire, 'options', $expire ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); $alloptions[ $transient ] = $value; $alloptions[ $transient_timeout ] = time() + $expire; $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); // Use the normal update option logic if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); if ( $site && is_multisite() ) { $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient_timeout, $expire ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->sitemeta}` ( `option_name`, `option_value`, `autoload` ) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient, maybe_serialize( $value ) ) ); } else { $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, UNIX_TIMESTAMP( NOW() ) + %d, 'yes' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient_timeout, $expire ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( %s, %s, 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );", $transient, maybe_serialize( $value ) ) ); } $wpdb->suppress_errors( $flag ); } return true; } function wpaas_prune_transients() { global $wpdb; if ( ! empty( $wpdb ) && $wpdb instanceof wpdb && function_exists( 'is_main_site' ) && function_exists( 'is_main_network' ) ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); // Lifted straight from schema.php // Deletes all expired transients. // The multi-table delete syntax is used to delete the transient record from table a, // and the corresponding transient_timeout record from table b. $time = time(); $wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE a.option_name LIKE '\_transient\_%' AND a.option_name NOT LIKE '\_transient\_timeout\_%' AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) ) AND b.option_value < $time" ); if ( is_main_site() && is_main_network() ) { $wpdb->query( "DELETE a, b FROM $wpdb->options a, $wpdb->options b WHERE a.option_name LIKE '\_site\_transient\_%' AND a.option_name NOT LIKE '\_site\_transient\_timeout\_%' AND b.option_name = CONCAT( '_site_transient_timeout_', SUBSTRING( a.option_name, 17 ) ) AND b.option_value < $time" ); } $wpdb->suppress_errors( $flag ); } } /** * If another cache was flushed or updated, sync across all servers / processes using * the database as the authority. This uses the database as the authority for timestamps * as well to avoid drift between servers. * @return void */ function wpaas_init_sync_cache() { global $wpdb; if ( empty( $wpdb ) || ! ( $wpdb instanceof wpdb ) ) { return; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( "SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name = 'gd_system_last_cache_flush' UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( empty( $result ) ) { return; } $master_flush = false; foreach ( $result as $row ) { switch ( $row['option_name'] ) { case 'current_time' : $current_time = $row['option_value']; break; case 'gd_system_last_cache_flush' : $master_flush = $row['option_value']; break; } } $local_flush = wp_cache_get( 'gd_system_last_cache_flush' ); if ( false === $local_flush || $local_flush < $master_flush ) { wp_cache_flush( true ); wp_cache_set( 'gd_system_last_cache_flush', $current_time ); } } /** * Start default implementation of object cache */ if ( ! defined( 'WP_APC_KEY_SALT' ) ) { define( 'WP_APC_KEY_SALT', '' ); } function wp_cache_add( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; if ( 'transient' == $group ) { wpaas_save_transient( $key, $data, $expire ); return $wp_object_cache->add( "_transient_$key", $data, 'options', $expire ); } elseif ( 'site-transient' == $group ) { wpaas_save_transient( $key, $data, $expire, true ); return $wp_object_cache->add( "_site_transient_$key", $data, 'site-options', $expire ); } else { return $wp_object_cache->add( $key, $data, $group, $expire ); } } function wp_cache_incr( $key, $n = 1, $group = '' ) { global $wp_object_cache; return $wp_object_cache->incr2( $key, $n, $group ); } function wp_cache_decr( $key, $n = 1, $group = '' ) { global $wp_object_cache; return $wp_object_cache->decr( $key, $n, $group ); } function wp_cache_close() { return true; } function wp_cache_delete( $key, $group = '' ) { global $wp_object_cache, $wpdb; if ( 'transient' == $group ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( $wpdb->prepare( "DELETE FROM `{$wpdb->prefix}options` WHERE option_name IN ( %s, %s );", "_transient_{$key}", "_transient_timeout_{$key}" ) ); $wpdb->suppress_errors( $flag ); } $wp_object_cache->delete( "_transient_timeout_$key", 'options' ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); unset( $alloptions["_transient_$key"] ); unset( $alloptions["_transient_timeout_$key"] ); $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); return $wp_object_cache->delete( "_transient_$key", 'options' ); } elseif ( 'site-transient' == $group ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $table = $wpdb->options; if ( is_multisite() ) { $table = $wpdb->sitemeta; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( $wpdb->prepare( "DELETE FROM `{$table}` WHERE option_name IN ( %s, %s );", "_transient_{$key}", "_transient_timeout_{$key}" ) ); $wpdb->suppress_errors( $flag ); } $wp_object_cache->delete( "_transient_timeout_$key", 'site-options' ); // Update alloptions $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); unset( $alloptions["_site_transient_$key"] ); unset( $alloptions["_site_transient_timeout_$key"] ); $wp_object_cache->set( 'alloptions', $alloptions, 'options' ); return $wp_object_cache->delete( "_site_transient_$key", 'site-options' ); } return $wp_object_cache->delete( $key, $group ); } function wp_cache_flush( $local_flush = false ) { global $wp_object_cache, $wpdb; if ( ! $local_flush ) { if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $wpdb->query( "INSERT INTO `{$wpdb->options}` (`option_name`, `option_value`, `autoload`) VALUES ( 'gd_system_last_cache_flush', UNIX_TIMESTAMP( NOW() ), 'no' ) ON DUPLICATE KEY UPDATE `option_name` = VALUES ( `option_name` ), `option_value` = VALUES ( `option_value` ), `autoload` = VALUES ( `autoload` );" ); $wpdb->suppress_errors( $flag ); } } return $wp_object_cache->flush(); } function wp_cache_get( $key, $group = '', $force = false ) { global $wp_object_cache, $wpdb; if ( 'transient' == $group ) { $alloptions = $wp_object_cache->get( 'alloptions', 'options' ); if ( isset( $alloptions["_transient_$key"] ) && isset( $alloptions["_transient_timeout_$key"] ) && $alloptions["_transient_timeout_$key"] > time() ) { return maybe_unserialize( $alloptions["_transient_$key"] ); } $transient = $wp_object_cache->get( "_transient_$key", 'options', $force ); $timeout = $wp_object_cache->get( "_transient_timeout_$key", 'options', $force ); if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) { return maybe_unserialize( $transient ); } if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( $wpdb->prepare( "SELECT option_name, option_value FROM `{$wpdb->options}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", "_transient_{$key}", "_transient_timeout_{$key}" ), ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( ! empty( $result ) ) { $transient = false; $timeout = false; $current_time = time(); foreach ( $result as $row ) { switch ( $row['option_name'] ) { case "_transient_$key" : $transient = $row['option_value']; break; case "_transient_timeout_$key" : $timeout = $row['option_value']; break; case 'current_time' : $current_time = $row['option_value']; break; } } if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) { return maybe_unserialize( $transient ); } } } return false; } elseif ( 'site-transient' == $group ) { $transient = $wp_object_cache->get( "_site_transient_$key", 'options', $force ); $timeout = $wp_object_cache->get( "_site_transient_timeout_$key", 'options', $force ); if ( false !== $transient && ! empty( $timeout ) && $timeout > time() ) { return maybe_unserialize( $transient ); } if ( ! empty( $wpdb ) && $wpdb instanceof wpdb ) { $table = $wpdb->options; if ( is_multisite() ) { $table = $wpdb->sitemeta; } $flag = $wpdb->suppress_errors; $wpdb->suppress_errors( true ); $result = $wpdb->get_results( $wpdb->prepare( "SELECT option_name, option_value FROM `{$table}` WHERE option_name IN ( %s, %s ) UNION SELECT 'current_time', UNIX_TIMESTAMP( NOW() ) AS option_value;", "_site_transient_{$key}", "_site_transient_timeout_{$key}" ), ARRAY_A ); $wpdb->suppress_errors( $flag ); if ( ! empty( $result ) ) { $transient = false; $timeout = false; $current_time = time(); foreach ( $result as $row ) { switch ( $row['option_name'] ) { case "_site_transient_$key" : $transient = $row['option_value']; break; case "_site_transient_timeout_$key" : $timeout = $row['option_value']; break; case 'current_time' : $current_time = $row['option_value']; break; } } if ( false !== $transient && ! empty( $timeout ) && $timeout > $current_time ) { return maybe_unserialize( $transient ); } } } return false; } else { return $wp_object_cache->get( $key, $group, $force ); } } function wp_cache_init() { global $wp_object_cache; if ( mt_rand( 1, 100 ) == 42 ) { wpaas_prune_transients(); } add_action( 'muplugins_loaded', 'wpaas_init_sync_cache' ); $wp_object_cache = new APCu_Object_Cache(); } function wp_cache_replace( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; return $wp_object_cache->replace( $key, $data, $group, $expire ); } function wp_cache_set( $key, $data, $group = '', $expire = 0 ) { global $wp_object_cache; if ( defined( 'WP_INSTALLING' ) == false ) { if ( 'transient' == $group ) { return wpaas_save_transient( $key, $data, $expire ); } elseif ( 'site-transient' == $group ) { return wpaas_save_transient( $key, $data, $expire, true ); } else { return $wp_object_cache->set( $key, $data, $group, $expire ); } } else { return $wp_object_cache->delete( $key, $group ); } } function wp_cache_switch_to_blog( $blog_id ) { global $wp_object_cache; return $wp_object_cache->switch_to_blog( $blog_id ); } function wp_cache_add_global_groups( $groups ) { global $wp_object_cache; $wp_object_cache->add_global_groups( $groups ); } function wp_cache_add_non_persistent_groups( $groups ) { global $wp_object_cache; $wp_object_cache->add_non_persistent_groups( $groups ); } class GD_APCu_Object_Cache { private $prefix = ''; private $local_cache = array(); private $global_groups = array(); private $non_persistent_groups = array(); private $multisite = false; private $blog_prefix = ''; public function __construct() { global $table_prefix; $this->multisite = is_multisite(); $this->blog_prefix = $this->multisite ? get_current_blog_id() . ':' : ''; $this->prefix = DB_HOST . '.' . DB_NAME . '.' . $table_prefix; } private function get_group( $group ) { return empty( $group ) ? 'default' : $group; } private function get_key( $group, $key ) { if ( $this->multisite && ! isset( $this->global_groups[ $group ] ) ) { return $this->prefix . '.' . $group . '.' . $this->blog_prefix . ':' . $key; } else { return $this->prefix . '.' . $group . '.' . $key; } } public function add( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( function_exists( 'wp_suspend_cache_addition' ) && wp_suspend_cache_addition() ) { return false; } if ( isset( $this->local_cache[ $group ][ $key ] ) ) { return false; } // FIXME: Somehow apcu_add does not return false if key already exists if ( ! isset( $this->non_persistent_groups[ $group ] ) && apcu_exists( $key ) ) { return false; } if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_add( $key, $data, (int) $expire ); } return true; } public function add_global_groups( $groups ) { if ( is_array( $groups ) ) { foreach ( $groups as $group ) { $this->global_groups[ $group ] = true; } } else { $this->global_groups[ $groups ] = true; } } public function add_non_persistent_groups( $groups ) { if ( is_array( $groups ) ) { foreach ( $groups as $group ) { $this->non_persistent_groups[ $group ] = true; } } else { $this->non_persistent_groups[ $groups ] = true; } } public function decr( $key, $offset = 1, $group = 'default' ) { if ( $offset < 0 ) { return $this->incr( $key, abs( $offset ), $group ); } $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] - $offset >= 0 ) { $this->local_cache[ $group ][ $key ] -= $offset; } else { $this->local_cache[ $group ][ $key ] = 0; } if ( isset( $this->non_persistent_groups[ $group ] ) ) { return $this->local_cache[ $group ][ $key ]; } else { $value = apcu_dec( $key, $offset ); if ( $value < 0 ) { apcu_store( $key, 0 ); return 0; } return $value; } } public function delete( $key, $group = 'default', $force = false ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); unset( $this->local_cache[ $group ][ $key ] ); if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_delete( $key ); } return true; } public function flush() { $this->local_cache = array(); // TODO: only clear our own entries apcu_clear_cache(); return true; } public function get( $key, $group = 'default', $force = false, &$found = null ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( ! $force && isset( $this->local_cache[ $group ][ $key ] ) ) { $found = true; if ( is_object( $this->local_cache[ $group ][ $key ] ) ) { return clone $this->local_cache[ $group ][ $key ]; } else { return $this->local_cache[ $group ][ $key ]; } } elseif ( isset( $this->non_persistent_groups[ $group ] ) ) { $found = false; return false; } else { $value = @apcu_fetch( $key, $found ); if ( $found ) { if ( $force ) { $this->local_cache[ $group ][ $key ] = $value; } return $value; } else { return false; } } } public function incr2( $key, $offset = 1, $group = 'default' ) { if ( $offset < 0 ) { return $this->decr( $key, abs( $offset ), $group ); } $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->local_cache[ $group ][ $key ] ) && $this->local_cache[ $group ][ $key ] + $offset >= 0 ) { $this->local_cache[ $group ][ $key ] += $offset; } else { $this->local_cache[ $group ][ $key ] = 0; } if ( isset( $this->non_persistent_groups[ $group ] ) ) { return $this->local_cache[ $group ][ $key ]; } else if ( function_exists( 'apcu_inc' ) ) { $value = apcu_inc( $key, $offset ); if ( $value < 0 ) { apcu_store( $key, 0 ); return 0; } return $value; } return false; } public function replace( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( isset( $this->non_persistent_groups[ $group ] ) ) { if ( ! isset( $this->local_cache[ $group ][ $key ] ) ) { return false; } } else { if ( ! isset( $this->local_cache[ $group ][ $key ] ) && ! apcu_exists( $key ) ) { return false; } apcu_store( $key, $data, (int) $expire ); } if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } return true; } public function reset() { // This function is deprecated as of WordPress 3.5 // Be safe and flush the cache if this function is still used $this->flush(); } public function set( $key, $data, $group = 'default', $expire = 0 ) { $group = $this->get_group( $group ); $key = $this->get_key( $group, $key ); if ( is_object( $data ) ) { $this->local_cache[ $group ][ $key ] = clone $data; } else { $this->local_cache[ $group ][ $key ] = $data; } if ( ! isset( $this->non_persistent_groups[ $group ] ) ) { return apcu_store( $key, $data, (int) $expire ); } return true; } public function stats() { // Only implemented because the default cache class provides this. // This method is never called. echo ''; } public function switch_to_blog( $blog_id ) { $this->blog_prefix = $this->multisite ? $blog_id . ':' : ''; } } if ( function_exists( 'apcu_inc' ) ) { class APCu_Object_Cache extends GD_APCu_Object_Cache { function incr( $key, $offset = 1, $group = 'default' ) { return parent::incr2( $key, $offset, $group ); } } } else { class APCu_Object_Cache extends GD_APCu_Object_Cache { // Blank } } endif;
Warning: Cannot modify header information - headers already sent by (output started at /usr/hosting/oldpics.net/html/wp-content/object-cache.php:1) in /usr/hosting/oldpics.net/html/wp-includes/feed-rss2.php on line 8
Архивы Spain - Old Pictures https://oldpics.net Historical photos, stories and even more Fri, 28 Aug 2020 13:49:00 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.5 https://oldpics.net/wp-content/uploads/2017/06/cropped-favicon-32x32.png Архивы Spain - Old Pictures https://oldpics.net 32 32 The Falling Soldier by Robert Capa, 1936: A story behind https://oldpics.net/the-falling-soldier-by-robert-capa-1936-a-story-behind/ https://oldpics.net/the-falling-soldier-by-robert-capa-1936-a-story-behind/#respond Tue, 07 Jul 2020 14:42:51 +0000 https://oldpics.net/?p=4192 The ‘Falling Soldier’ picture by Robert Capa became famous due to the efforts of his colleague and girlfriend Gerda Taro. It was...

Сообщение The Falling Soldier by Robert Capa, 1936: A story behind появились сначала на Old Pictures.

]]>
The Falling Soldier, Robert Capa, 1936.The ‘Falling Soldier’ picture by Robert Capa became famous due to the efforts of his colleague and girlfriend Gerda Taro. It was her idea to present photos taken by her and Endre Ernő Friedmann (Capa’s real name) to European magazines as photos of famous American photographer Robert Cappa. Later she used her name and got fame as Gerda Taro.

The ‘Falling Soldier’ photo gained worldwide popularity, hit the pages of top magazines. It even occupied its place among the Top 100 most influential photos in history, according to Time magazine. Overall, Robert Capa’s portfolio is not as rich as other war-correspondents’ archives, like Susan Meiselas or Eddie Adams. Nonetheless, the ‘Falling Soldier’ image is an invaluable historical documentary of the Civil war in Spain.

Running to death.

The photo of a falling milicano soldier became a tipping point in Capa’s career as a photojournalist. The image received mixed critics upon its publication in Europe for its realism, cynicism, and violence. The ‘Falling soldier’ hit the pages of French Vu magazine first and reached Life magazine then. The American public also was disturbed by the photo of mans’ death. 

Robert Cappa used to say that he spent many long days with the soldiers: “I was there in a trench with about 20 milicianos with 20 old rifles standing against Franco’s squad with a machine gun. My milicianos were shooting in the direction of their machine gun for five minutes and then stood up and yelled, “Vamonos!” (let’s move on), got out of the trench and ran towards the position of the machine gunner. Then the machine gun started firing back, and milicanos laid down to the ground, looking for the cover. They followed with few rifle shots in the direction of the opponents, forcing the gunner to stop firing. Then ‘Vamanos’ yell, again, followed by the next short sprint. Robert Capa didn’t have other option but to run with the Spanish republicans. During the last sprint, he just kind of put his camera above the head without any focus and pressed the shutter on the go. Capa didn’t even have time to edit or somehow polish his negatives. He just sent it as is to the magazine editorial staff, hoping to hit the publication pages. Capa stayed in Spain for three months and came back as a very famous photographer because that sloppy camera shot caught a man at the moment when he caught his bullet.”

‘Falling soldier’ is a lie?

Nobody doubted Capa’s words until 1970th. All Capas’ friends and relatives insisted on the authenticity of the photo. But there are several facts about the picture that raise a lot of questions. First of all – location: the territory boundaries, controlled by milicanos,  do not coincide with actual photo location.  Also, witnesses were claiming that Capa staged the ‘Falling Soldier’ photo. Capa had a habit of leaving photos without names and never wrote the personal names of people in focus. Due to these controversies, historians doubt in the ‘Falling Soldier’ story.

Also, there is evidence that Capa and Taro asked milicianos to pretend they were under fire. Years later, Capa told fellow photographers that ‘that day was a theatre.’ Anyway, Capa admitted publicly that he staged ‘Falling Soldier.’

‘Falling Soldier’ image is too bright for its dynamic composition. Especially when we keep in mind that Robert pressed the shutter on the go. 

The photo is viral in Spain, and there is no possibility to identify the dying man, there are no records or clear proof, and memories of the participants of that day are very diverse. 

These and many other myths around the ‘best-known’ war photo, and the fact that original and all negatives are lost create a very mystic aura: the picture is still discussed, investigated, and serves as the inspiration for the next generation of photographers.

Сообщение The Falling Soldier by Robert Capa, 1936: A story behind появились сначала на Old Pictures.

]]>
https://oldpics.net/the-falling-soldier-by-robert-capa-1936-a-story-behind/feed/ 0
The bright life of the gypsy community of Barcelona, the 1950s. https://oldpics.net/the-bright-life-of-the-gypsy-community-of-barcelona-the-1950s/ https://oldpics.net/the-bright-life-of-the-gypsy-community-of-barcelona-the-1950s/#respond Mon, 06 Jul 2020 14:13:41 +0000 https://oldpics.net/?p=4171 French photographer Jacques Léonard married a beautiful gypsy Rosario Amaya in the early 1950s, after what his camera captured numerous pictures of...

Сообщение The bright life of the gypsy community of Barcelona, the 1950s. появились сначала на Old Pictures.

]]>
Barcelona Gypsy community, 1960

The spicy life of the Gypsy community in Barcelona, 1960

French photographer Jacques Léonard married a beautiful gypsy Rosario Amaya in the early 1950s, after what his camera captured numerous pictures of the bright life Roma life of Barcelona. As gypsies used to say ‘they live a life full of spices.’ So the photos by Jacques Leonard documented spicy gypsy life in Barcelona in an excellent way. 

Photo archives of the french photographer gain extra historical importance as they keep the original glance at gypsies and their culture in Barcelona, ​​starting from 1952 until the mid-70s. Jacques Léonard observed the lifestyle of the gypsy people from a historical and modern point of view by communicating an image of supreme dignity, a real work of ethnologist.

Photography by Jacques Léonard enriches the heritage of human-centric photo art. It also adds the original bits to the portrait of the mid-century Barcelona, showing its unexpected sides. In the same way, Weegee captured the life of New York and Eugene Smith documented the streets and factories of Pittsburgh of the mid-50s.

The hard history of Gypsy Barcelona

The Spanish term for Gypsy, “Gitano”, comes from the word “Egyptian”. Historians set 1425 as the date when gypsies placed their foot on the Pyrenees. From their appearance, people assumed they were from the Middle East.

During the grim period Spanish Inquisition rule, the Roma lived a life full of dangers and threats. In many cases, gypsies ended up their way standing on the burning pile, together with witches and other victims of the zealots. Meanwhile, the inquisitor’s grip in Barcelona wasn’t so tight. Here’s the historical explanation of how the gypsies learned to speak perfect Catalan and developed city-community inspired by the dignity and cultural independence.

Ninai-Arles

The gypsy den mother, Barcelona, 1959

Mihaela, Arles 1957
La Morita, BCN, 1956

La Morita, BCN, 1956

The Roma Singer, Barcelona, 1957

The Roma Singer, Barcelona, 1957

La Sona, BCN, 1950

La Sona, BCN, 1950

Сообщение The bright life of the gypsy community of Barcelona, the 1950s. появились сначала на Old Pictures.

]]>
https://oldpics.net/the-bright-life-of-the-gypsy-community-of-barcelona-the-1950s/feed/ 0
The Dangerous Summer of Ernest Hemingway in pictures (Spain, 1958) https://oldpics.net/the-dangerous-summer-of-ernest-hemingway-in-pictures-spain-1958/ https://oldpics.net/the-dangerous-summer-of-ernest-hemingway-in-pictures-spain-1958/#comments Thu, 02 Jul 2020 13:24:30 +0000 https://oldpics.net/?p=4139 In 1958 Ernest Hemingway agreed to accomplish a short series of stories about two legendary matadors: Luis Miguel Dominguin and Antonio Ordonez....

Сообщение The Dangerous Summer of Ernest Hemingway in pictures (Spain, 1958) появились сначала на Old Pictures.

]]>
Pictures of Hemingway Spain  corrida

Hemingway watching corrida, 1958

In 1958 Ernest Hemingway agreed to accomplish a short series of stories about two legendary matadors: Luis Miguel Dominguin and Antonio Ordonez. Jean-Claude Sauer was a lucky photographer who traveled with Hemingway to Spain, attended all corrida fights with him, and took amazing pictures of the Dangerous Summer of 1958.

This was the second trip of Ernest Hemingway to Europe after his travel to Italy in 1948.

A genius corrida lover

Everyone knows that Hemingway was a famous cat-lover and avid hunter, and it seems like he had some feelings for bulls too. The writer watched numerous fights featuring Dominguin and Ordonez, collecting the invaluable writer’s material to depict the intensity of their rivalry.

Jean-Claude Sauer was a photo reporter in a Paris based Match publication. He received his fortunate appointment for pictures of Hemingway in work due to the Match’s editor-in-chief friendship with genius writer. He sent a piece of his novel to Life magazine every two weeks. Jean-Claude Sauer took his historical pictures of Hemingway in Spain meanwhile.

Pictures Hemingway Spain toreros

Hemingway with glorious toreros

Hemingway and bullfight

Hemingway admired the cruel, bloody, dangerous art of bullfight since his first visit to Spain in the 1920s. The new trip to Spain was a very strange experience for the writer. He lived and loved it again, flashbacking to the Civil War time when he threw himself in the whirlpool of ‘history dramas and bullfighting.’ 

The new bullfighting season begins and with it a new round of confrontation between two toreros: the “rising star” of the bullfight of the young and fearless Antonio and of the experienced and unbeaten Louis Miguel’s failures.

The book gives us a chance to deepen our knowledge about corrida. And these pictures of bullfight adds an invaluable bit of experience that Hemingway wrote about. Every chapter, every line in the book was happening in the arena for real. Hemingway didn’t need to imagine anything. The author tells us about raising and training bulls, about the tricks that dishonest matadors resort to, about the protocol for bullfighting, about the award of trophies, about the working styles and methods of the torero … And he does it in so bright and unusual way that you feel your own presence in the arena. In addition, the writer presents us bullfighting as an art, comparing the matadors with writers and artists, that turn the death into art. And these picture sets are a great adding to Hemingway’s words.

Picasso watching corrida

Picasso attended some of the corrida fights with Hemingway

Jean Cocteau corrida

French poet Jean Cocteau watching corrida

Yul Brynner corrida

Yul Brynner

Ordonez pulling bull

Ordonez pulling bull

Luis Dominguin corrida

A high tension moment of bull pushing Luis Dominguin to the barrier

The bull is bleeding but goes on attack

The bull is bleeding but still attacking

Dominguin corrida

Dominguin knocked down, but still fighting

Ordonez torero

Glorious Ordonez is entering the pitch

ordonez watching corrida

Ordonez watching his opponent fight with a bull

Cordobes

Another famous matador – Cordobes

Hemingway Spain corrida pictures

That’s how all corridas end when you do in Hemingway way

Сообщение The Dangerous Summer of Ernest Hemingway in pictures (Spain, 1958) появились сначала на Old Pictures.

]]>
https://oldpics.net/the-dangerous-summer-of-ernest-hemingway-in-pictures-spain-1958/feed/ 2