/*
* 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
Сообщение TOP 50 legendary LIFE magazine photographs появились сначала на Old Pictures.
]]>LIFE magazine always managed to onboard the best photographers. Starting from the first issue that hit the shelves on November 23, 1936, the continuously surprised the public with their sharp and unforgettable photographs. No surprise, the LIFE magazine was the top illustrated US publication for decades.
LIFE magazine was published weekly from 1936 to 1972. Nonetheless, competitors (TV, mostly) took their readers’ share and forced the glorious publication to switch to a monthly basis. The magazine stood tall from 1978 to 2000.
But we still remember the LIFE magazine! We continue to dig through its archives and find new and new amazing photographs that deserve the fresh publication. This publication covers the LIFE magazine photographs that became an integral part of the photo history. Many of these pictures starred the 100 most important pictures in history.
Here you can check our selection of the Best LIFE magazine’s covers.
Photo by Leonard McCombe, 1949.
39-year-old Texas cowboy Clarence Hailey. This image became the best-known cigarette advertisement.
Photo by John Loengard, 1964.
The Beatles on their famous American Tour. The pool water was quite cold that day, as Ringo’s grimace tells.
Photo by: Margaret Bourke-White, 1930.
A crowd wearing hats on the streets of New York. Interestingly, Margaret Bourke-White captured this image before the LIFE publication started. It looks like magazine editors took this picture and published it later just for its artistic value.
Photo by Ed Clark, 1958.
John F. Kennedy plays hide-n-seek with his daughter Caroline.
Photo by: John Bryson, 1959.
Hemingway near his home in Ketchum, Idaho. This picture was featured in our Hemingway and Alcohol selection.
In 20 months, Ernest Hemingway will pass away.
Photo by Peter Stackpole, 1950.
Elizabeth Taylor and Montgomery Clift take a break during filming “A Place in the Sun” at Paramount Studios.
Photo by: Alfred Eisenstaedt, 1950.
A drummer from the University of Michigan marches with children. See more beautiful photographs by Alfred Eisenstaedt.
Photo by J.R. Eyerman, 1958.
The auto movie theater in the capital of Utah, Salt Lake City. Moses, in front of the parting Red Sea in the film “The Ten Commandments.”
Photo by: W. Eugene Smith, 1945.
American Marines during the Battle of Iwo Jima in the spring of 1945. See more amazing WW2 photography by Eugene Smith.
Author of the photo: Gjon Mili, 1949.
Ephemeral drawing in the air.
Photo by Larry Burrows, 1966.
Marines during the Vietnam War. The black soldier reaches out to his wounded, white comrade.
Photo by: Charles Moore, 1963.
Fire hoses were used to disperse a peaceful anti-segregation rally in Birmingham, Alabama.
Photo by: Milton Greene, 1952.
Photo by W. Eugene Smith, 1943.
Another WW2 masterpiece of Eugene Smith. During World War II, hundreds of Japanese were besieged on Saipan’s island and committed mass suicide to avoid Americans’ surrender. When American Marines examined the island, they found a barely alive child in one of the caves. Here’s a story behind this stunning photograph.
Photo by: Margaret Bourke-White, 1945.
Photo by Philippe Halsman, 1959.
Duke and Duchess of Windsor.
Photo by Ralph Morse, 1954.
Measurement of the pilot’s anthropological data with special lighting from alternating bands of light and shadow of various thicknesses. That was the key ingredient for the new flight helmet design by the US Air Force.
Photo by Hank Walker, 1960.
John F. Kennedy (still a Senator) with his brother Robert at a hotel during the Democratic convention in Los Angeles.
Photo by: William Eugene Smith, 1946.
Photo by: Mark Shaw, 1954.
25-year-old star Audrey Hepburn while filming Roman Holiday.
Photo by George Silk, 1956.
Swedish high jumper Gunhild Larking at the 1956 Olympic Games in Melbourne.
Officer Graham Jackson plays the song “Goin ‘Home” at President Roosevelt’s April 12, 1945 funeral.
Photo by Paul Schutzer, 1961.
“Riders of Freedom” called the joint bus trips of black and white activists who protested against the violation of black people’s rights in the southern states of the United States. In 1961, activists rented buses and traveled around the southern states. No surprise, they were repeatedly attacked and arrested by southern whites. During a trip from Montgomery, Alabama, to Jackson, Mississippi, National Guard soldiers were assigned to protect the riders.
Photo by: Ralph Morse, 1943.
The head of a Japanese soldier on a tank.
Photo by: Alfred Eisenstaedt, 1933.
The moment when Goebbels (sitting) found that his photographer was a Jew and he stopped smiling. The full story behind Eyes of hate pictures.
Photo by Andreas Feininger, 1951.
Portrait of the photographer Dennis Stock.
Photo by Philippe Halsman, 1948.
Six hours and 28 throws (water, chair, and three cats). According to the photographer, he and his assistants were wet, dirty, and completely exhausted when the shot was successful. The Dali Atomicus is among the 100 most important pictures in history.
Photo by W. Eugene Smith, 1948.
Rural doctor Ernest Ceriani, the only doctor in the 1200 square miles area. In this photo, Eugene Smith captured a moment after a botched cesarean section that killed a mother and child due to complications. See more pictures and a full story behind the Country Doctor photo.
Photo by W. Eugene Smith, 1952.
Charlie Chaplin, 63.
Photo by: Leonard McCombe, 1956.
Photo by: John Shearer, 1971.
Muhammad Ali before his fight with Joe Fraser in March 1971. Ali loved to tease opponents. Before the fight with Fraser, he questioned the latter’s masculinity, intellectual abilities, and even his “black skin”.
Photo by: Michael Rougier, 1962.
Photo by Hank Walker, 1960.
John F. Kennedy speaks during the election campaign in an American town.
Photo by Harry Benson.
Free-breathing. Alexander Solzhenitsyn in Vermont.
Photo by: Margaret Bourke-White, 1939.
Photo by: Ralph Morse, 1944.
Army medic George Lott, badly wounded in both arms.
Photo by Jim Brandenburg, 1986.
The polar wolf fights for survival in northern Canada.
Photo by: John Dominis, 1966.
Leopard with a victim.
Photo by: Lennart Nilsson, 1965.
The first-ever picture of a baby in the womb.
Photo by: Ralph Crane, 1947.
This staged photo depicts a boy escaping from an orphanage.
Photo by: J.R. Eyerman, 1952.
The first full-length stereo film Bwana Devil.
Author photo: Yousuf Karsh, 1941.
Prime Minister of Great Britain in 1940-1945 and 1951-1955. Politician, military man, journalist, writer, laureate of the Nobel Prize in Literature.
Photo by: George Strock, 1943.
American soldiers were killed in battle with the Japanese on a beach in New Guinea. The first shot of dead American soldiers on the battlefield during World War II.
Photo by Alfred Eisenstaedt, 1963.
At a puppet show in a Parisian park. The moment of the killing of the serpent by Saint George.
Photo by Robert Capa, 1944.
The landing of the American army on Omaha Beach in Normandy on June 6, 1944. It was also depicted in the film “Saving Private Ryan” by Steven Spielberg.
Photo by Alfred Eisenstaedt, 1945.
One of the most famous photographs. Kiss of a sailor and a nurse after the end of the war.
The story ‘V-J Day in Times Square’ by Alfred Eisenstaedt
Photo by: Margaret Bourke-White, 1946.
Mahatma Gandhi, next to his spinning wheel, symbolizes the non-violent movement for Indian independence from Britain.
Photo by: Margaret Bourke-White, 1937.
Food queue during the Great Depression with a poster reading, “There is way like the American way.”
The story of the American way photo by Margarett Bourke-White
Photo by: John Dominis, 1963.
Actor Steve McQueen, who starred in The Magnificent Seven.
Photo by Alfred Eisenstaedt, 1966.
Sophia Loren, in the movie “Italian Marriage.” When this candid snapshot took the cover of LIFE, many criticized the magazine for “going into pornography.” One reader wrote, “Thank God the postman comes at noon when my kids are at school.”
Сообщение TOP 50 legendary LIFE magazine photographs появились сначала на Old Pictures.
]]>Сообщение Adolf Hitler trains body language – unique historical photos появились сначала на Old Pictures.
]]>Heinrich Hoffmann (also known for these Fuhrer’s WWI photos) photographed Hitler view the footage, and evaluate his own image. Here’s how we’ve got this series of pictures in which dictator appears in very strange poses. Later, Heinrich Hoffmann used these portraits in his memoirs.
The photographs look almost photoshopped. Adolf Hitler looks more like a ballroom dancer or stage actor than a ruthless dictator. But it was a fair price for polishing his speaking skills that were so important during the elections’ campaign.
Let’s note that Adolf Hitler was a skillful politician and he was ready for some bold moves to get the voters’ sympathy. For example, he organized a very special photoshoot while wearing traditional Tyrollian shorts, very popular in Bavaria. Hitler didn’t like those shorts, that looked almost ridiculous. But he knew that people will pay attention and did to gain more popularity before the elections. A strong move that, among others, allowed the Nazi party to get absolute power.
Сообщение Adolf Hitler trains body language – unique historical photos появились сначала на Old Pictures.
]]>Сообщение 64 Amazing photos by Alfred Eisenstaedt появились сначала на Old Pictures.
]]>Oldpics has covered the ‘V-J Day,’ which is one of the most remarkable photos by Alfred Eisenstadt. It also hit the list of Top 100 most important photos in history. In this publication, we’ll show you his most brilliant photos.
Alfred Eisenstaedt was born in 1898 in the city of Dirschau (then Eastern Germany, now it’s Tczew in Poland). He died at 96 and devoted more than 70 to photography. Eisenstaedt studied at the University of Berlin, joined the German Army during WWI. After the war, he sold buttons and belts in Berlin and started to freelance as a photojournalist. In 1929, he received his first photo assignment. It was the beginning of a professional career as a photojournalist: he was filming the Nobel Prize ceremony in Stockholm.
From 1929 to 1935, Eisenstadt was a staff photojournalist for the Pacific and Atlantic agency, then a part of the Associated Press. While dodging the horrors of the jew-life in Nazi Germany, he emigrated to the United States in 1935. Alfred Eisenstaedt continued his photo career in New York, working for Harper’s Bazaar, Vogue, Town and Country, and other publications. In 1936, Henry Luce hired him as one of four photographers for LIFE magazine (the other three cameramen were Margaret Burke-White, Peter Stackpole, and Thomas McAvoy). Eisenstaedt stayed with this legendary magazine for the next four decades. His photographs have appeared on the LIFE magazine covers 90 times.
Alfred Eisenstaedt was among those Europeans who pioneered using the 35mm camera in photojournalism on American publications after WWI. He was also an early advocate of natural light photography. When photographing famous people, he tried to create a relaxed atmosphere to capture natural postures and expressions: “Don’t take me too seriously with my small camera,” Eisenstaedt said. – I’m here not as a photographer. I came as a friend. “
Creating a relaxed environment was not always easy. Let’s take a photoshoot with Ernest Hemingway in his boat in 1952. While establishing those special links between genius and the photographer, the writer tore his shirt in a rage and threatened to throw Alfred Eisenstaedt overboard. The photographer recalled that shooting in Cuba in 1952 more than once. “Hemingway nearly killed me,” the photographer said.
Unlike many photojournalists of the post-war period, Alfred Eisenstadt didn’t commit to any particular type of events or geographic area. He was a generalist. And he liked to capture people and their emotions than the news. Editors appreciated his eagle eye and his talent to take good photographs of any situation or event. Eisenstadt’s skill set a perfect composition that turned his photos into the era’s memorable documents in historical and aesthetic contexts.
Сообщение 64 Amazing photos by Alfred Eisenstaedt появились сначала на Old Pictures.
]]>Сообщение Nazi Rally in Madison Square Garden in pictures, 1939 появились сначала на Old Pictures.
]]>The truth is that this rally in Madison Square Garden wasn’t the first event that Nazi supporters staged in New York. There were many more, and here are some noteworthy pictures and facts.
In January 1933, Adolf Hitler became Chancellor of Germany, and soon the Nazis controlled the entire country. They missed no chance to gain influence outside Germany. Here’s why Deputy Fuhrer Rudolf Hess instructed the German-American immigrant Heinz Spanknobel to form a powerful fascist structure in the United States.
In July 1933, Spanknobel united two small groups to form the Friends of a New Germany. He relied on German citizens and German-Americans who were part of the fraternity. The new organization even picketed the largest German-language newspaper offices in New York, demanding Nazi-sympathetic articles, advocating for a boycott of Jews in German factories. They wore the swastika-covered uniforms during all these events.
In October 1933, Spanknobel was deported from the US. Two years later, Hess urged the Friends’ leaders to return to Germany and all German citizens to leave the organization.
Nonetheless, the organization’s followers formed a new one, that had no links to the German government. It was the German-American Bund. The organization continued its anti-Semitic and anti-communist campaigns, covering them with patriotic pro-American symbols, holding portraits of George Washington, the “first fascist.”
The German-American Bund reached its peak on February 20, 1939, when about 20,000 of its members gathered for the real Nazi Rally in Madison Square Garden. The leader of the organization Fritz Kuhn criticized Roosevelt, calling the policy of the “New Deal,” “the Jewish course,” and Roosevelt himself – Rosenfeld.
Some 80,000 anti-Nazi protesters outside the Madison Square Garden clashed with police while breaking into the building and closing the rally.
Note that the late 1930s was a specific time in the International relationships towards Germany. While many people realized the Nazi government’s aggressive nature, the politicians acted in a different, mild way. It was ok to greet the public with the Nazi salute during the sports events. Coca-cola advertised itself in Germany, and Henry Ford was fine to accept a German order from Nazi official’s hands.
The Bund’s days ended at the end of 1941 when the United States entered the war against Nazi Germany.
Сообщение Nazi Rally in Madison Square Garden in pictures, 1939 появились сначала на Old Pictures.
]]>Сообщение Bizarre pictures of the soviet parade of the 1920s and 1930s появились сначала на Old Pictures.
]]>After discovering some bizarre pictures of the nudists in the Soviet Moscow of the 1920s we decided to dig dipper and found some noteworthy parade pictures. We excluded all blended army parade photos and selected only fascinating images of the very special soviet reality of the 1920s and 1930s. Enjoy.
Сообщение Bizarre pictures of the soviet parade of the 1920s and 1930s появились сначала на Old Pictures.
]]>Сообщение Marguerite Lehand with 30 thousand coins collected during one day, January 1938 появились сначала на Old Pictures.
]]>So, it was the Great Depression decade in the USA. The New Deal was everywhere, people were fighting the economic crisis, the large business was promoting Glorious American Way. The administration launched the March of Dimes campaign in January 1938. The rumor has it that this campaign’s idea belonged to Marguerite Lehand, not FDR himself. However, the idea was to help the spread of polio in the United States. The government launched the fundraising for vaccine researches.
The good thing about the campaign was that it didn’t just raise money to support sick children. The campaign targeted children all over the US to send a dime to help other, less fortunate kids. That is how tolerance and compassion are forming in childhood.
Actually, in our photo, Margaret is immortalized with the first batch of letters with coins from American children. The US Post delivered them to the White House on January 28, 1938.
The 32nd President of the United States, Franklin Delano Roosevelt, wasn’t an excellent family man. In 1918, Eleanor Roosevelt discovered his affair with a secretary.
Although the couple decided to keep the marriage, and not to harm Franklin’s political career.
Here’s how Franklin Delano Roosevelt had some romances with the prominent women of the 20th century (for example, with Princess Martha of Sweden). Even the partial paralysis that put Franklin in a wheelchair did not dampen his energy in love affairs.
Franklin also had a relationship that lasted more than twenty years. Relationship with his secretary, and later the only woman in history in the position of chief of staff of the White House – Marguerite Lehand.
Historians and those who are bored with life argue about the nature of these relations. We know for sure that Franklin called his secretary by the pet name Missy (after his children, who could not pronounce “Miss Lehand”). Marguerite Lehand called the president his initials – FDR (no one else called him that).
Marguerite was Roosevelt’s chief adviser, his confidant, his medium in relations with the world. Only Marguerite had access to the secret corridors leading to the Oval Office and the president’s correspondence.
Miss Lehand handled the boss’s schedule and made appointments.
Marguerite knew about Hitler’s invasion of Poland earlier than FDR. He had already gone to bed, and she accepted the message.
Marguerite Lehand appeared on the cover of Time in December 1934 as Super Secretary.
Сообщение Marguerite Lehand with 30 thousand coins collected during one day, January 1938 появились сначала на Old Pictures.
]]>Сообщение Rare pictures of the early soviet police NKVD появились сначала на Old Pictures.
]]>The mass repressions in the Soviet Union in the 1930s are well known. And while Joseph Stalin clearly orchestrated this process, an interesting armed unit in the Russian government executed all the death sentences. It was soviet police – NKVD. Oldpics decided to publish several noteworthy pictures of NKVD officers and interesting facts about their service.
Although NKVD was formed on July 10, 1934, it’s safe to say that this unit secured the Soviet power during its early years. Actually, NKVD had the name of OGPU before 1934. There’s no need to dig through the Russian abbreviations: it was just a police monster unit that combined regular and secret police.
There were three directors of the NKVD: Heinrich Yagoda, Nikolai Yezhov, and Lavrenty Beria. All of them were sentenced to death.
NKVD controlled regular police, the penitentiary system, foreign intelligence, border troops, counterintelligence in the army, and navy units. It covered the political investigations and had the right to execute sentences without court trials.
The formation of the NKVD in the Soviet Union started the so-called “Great Terror of the 1930s”. However, people’s commissars also made a significant contribution to the organization of political repression.
Take a look at these rare pictures of the NKVD officers.
Сообщение Rare pictures of the early soviet police NKVD появились сначала на Old Pictures.
]]>Сообщение Sleeping on a rope in London, 1930s появились сначала на Old Pictures.
]]>Look at this photo every time your own mattress feels too hard for you.
People who like to lament about what terrible time we live in, what terrible air we breathe, and what disgusting GMO we eat, obviously, have little idea of how our ancestors lived.
We thought that these eye-grabbing pictures belong to the Victorian era. People often did some bizarre things during this period. Everything looked weird: the way people swam in the sea, visited dentists, or even smiled.
But here’s a surprise, this photograph was taken in London in the 1930s. The scene is pretty clear: people are sleeping, hanging on ropes.
This comfort cost 2 pence and was called “twopenny suspension” among the townspeople. Orwell described it in detail in his book “Pounds of Dashing in Paris and London.”
“Overnight stay in a class slightly higher than the street class. In a two-penny hanger, clients are seated on a long bench with a rope stretched in front of them, which holds the sleepers like a transverse rail of a sloping rotten hedge. At five in the morning, a man mockingly called a valet removes the rope. I myself have not been in suspensions, but Chumar spent the night there often, and when asked if it was possible to sleep in such a position at all, he replied that it’s not so bad as weaklings ringing about it – it’s better than on a bare floor. There is a similar type of refuge in Paris, only there are not two pence, but twenty-five centimes (half a penny)”.
But if you were a lucky owner of four pence you, could afford to settle in one of the hard boxes covered with tarpaulin. A solid luxury option when compared with a “two-penny suspension.”
Сообщение Sleeping on a rope in London, 1930s появились сначала на Old Pictures.
]]>Сообщение Schienenzeppelin: the Rail Zeppelin, June 1931 появились сначала на Old Pictures.
]]>Interestingly, the history of the Schienenzeppelin starts in Russia. A local engineer Abakovskiy completed the construction of a railroad car with an aircraft propeller in 1921. He named it originally “an aircar.” This Russian railroad car even made several trips and tragically crashed, taking seven people to the grave, including the inventor.
The Germans still found potential in this tragic story. Thus, engineer Franz Krukenberg created a 26-meter air locomotive with a design in the then fashionable Zeppelin style.
On May 10, 1931, this Schienenzeppelin recorded a speed of 200 kilometers per hour. It was made of aluminum. Its lightweight allowed it to hit the world speed records. The futuristic beauty beat its own record a few months later, hitting 230 kph. Yes, the German industry is good at setting speed records. After that, they began to roll this modernist invention all over Germany in order to demonstrate to the public. The Germans could not believe what they saw.
The Schienenzeppelin could carry up to 40 passengers, but not in luxury. The interior design was kept to a minimum, also due to weight concerns.
However, the Schienenzeppelin turned out to be not very practical. The propeller was behind the zeppelin, so it was not possible to attach other cars to it. Schienenzeppelin could only stay as an autonomous and independent car. The trips were expensive and impractical. Aircar did not climb hills well and did not have a reverse gear.
Many believed that the rotating propeller was very dangerous for passengers. The express created powerful air currents when passing by at high speed. Rail Zeppelin was a pretty noisy beast. And the railroad pavements themselves weren’t perfect enough to handle ultra-high speeds.
In short, operational shortcomings outweighed the beauty of the engineering idea. In 1939, the Germans disassembled the Rail Zeppelin. Schienenzeppelin completed its last trip on April 4, 1939. All the materials filled the needs of the German military industry during WWII.
Franz Kruckenberg continued to design trains for railways and died in 1965 at the age of 82.
Сообщение Schienenzeppelin: the Rail Zeppelin, June 1931 появились сначала на Old Pictures.
]]>Сообщение Vintage photo of football in London fog, 1937 появились сначала на Old Pictures.
]]>Football life in the 1930s was pretty bright and bizarre. The game was only gaining its popularity, and even World Cup required an extra promotion. At the same time, football players could greet the public with the Nazi salute. Sometimes the weather caused the Black Swan effect.
In 1937, the Charlton Athletic and Chelsea teams played at Stamford Bridge Football Stadium in Fulham, London. Everything went wrong from the very beginning, for both players and the fans. The football players could barely see each other due to the heavy fog. The referee stopped the game, but a few minutes later, he resumed again. He decided that the London fog was not an obstacle for an English football player.
And the game continued. At least that’s what Charlton Athletic goalkeeper Sam Bartram thought. He honestly guarded the goal, peering into the fog. The tried to find figures of the players with the ball. He tried to find opponents as a goalkeeper needed to defend his net. But the figures did not appear in any way. The field was unusually quiet. So he stood with maximum concentration and tension for about 15 minutes. Someone took this vintage football photo during this quarter of an hour.
Bartram recalled later in his autobiography: “A long time passed, and then a figure emerged from the fog. It was a policeman who looked at me: ” What are you doing here? – he asked. – The game has been canceled for a quarter of an hour. There is nobody on the field.”
It turned out that the referee decided to interrupt the game after a short resumption. Disappointed spectators dispersed to their homes, and the players streamed to the dressing rooms. And no one bothered to warn Charlton Athletic goalkeeper. He was at the opposite end of the field during the match cancellation. Bartram caught his luck when a policeman found him. Otherwise, Sam could guard the gate until the next match.
Сообщение Vintage photo of football in London fog, 1937 появились сначала на Old Pictures.
]]>