/*
* 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
Сообщение Early color pictures of the American lifestyle in the 1920s появились сначала на Old Pictures.
]]>Nonetheless, the Society accumulated a collection of autochrome color pictures from the 1910s and 1920s with around 12,000 images.
In July 1914, National Geographic magazine published its first color photographs. They showcased the power of autochrome and changed the style of the magazine cover.
Another value of this set is its wide geography. Oldpics used to publish some bright 1920s (as well as other periods’ photographs) pictures of the large cities, like New York, which attracted many outstanding photographers. This photo set is different. There’re plenty of countryside photographs which are relatively rare finds. But those NYC-photography lovers shouldn’t worry either. Some special color shots of the Greatest city in the world are in this publication too.
This series covers different aspects of American life, culture, and magnificent landscapes. These 1920s pictures look closer to the 19th-century landscape photography of Carleton Watkins and American settler’s Solomon Butcher series. Again, these are color ones, and thus they keep some exceptional details of the early 20th-century lifestyle.
Сообщение Early color pictures of the American lifestyle in the 1920s появились сначала на 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.
]]>Сообщение Thomas Fitzpatrick: he landed a plane twice on the streets of New York. появились сначала на Old Pictures.
]]>The first incident happened on a warm September night in 1956 in New York. Thomas Fitzpatrick, a 26-year-old Korean War veteran, was furious. His barmates didn’t believe when Thomas said he can land a plane on New York street!
Thomas was sitting with his friends in one of the bars in Manhattan. Our hero of the Korean war had drunk enough when he started a stupid debate of what he, the Purple Heart honored pilot, can do.
The crowd said that no one, including Thomas Fitzpatrick, could ever land on a plane on New York streets. The owner of the bar also joined the drunken argument.
This drunken argument would have to end in the same way as most drunken arguments in the world. Everybody will go home, occupy the sofa and remember nothing the next day. But this dispute was an exception – it went down in history.
Fitzpatrick could not sleep when back home to New Jersey. One thought throbbed in his dull head: “Win the argument.” At three o’clock in the morning, Thomas entered the Teterboro School of Aeronautics and hijacked a small private jet.
Fifteen minutes later, Fitzpatrick landed beautifully on Saint Nicholas Avenue. It was not so far from the bar where he had argued with friends a few hours earlier. Of course, Fitzpatrick flew without any radio communication. He relied solely on his pilot instinct.
Nowadays, this trick could never happen. It is highly likely that Fitzpatrick would have been shot down while flying closer to the city. And if not, then they would definitely put him into jail for a long time.
But it was the year of 1956, and Fitzpatrick was, after all, a war hero. Therefore, the public admired his act. The owner of the hijacked plane refused to present any claims to Fitzpatrick. As a result, the pilot got off with a $ 100 fine.
But, apparently, one flight was not enough for Thomas. Fitzpatrick repeated it. And he was drunk again.
The second flight also was in the fall on October 4, 1958. It all began in a bar, albeit in a different one. Fitzpatrick broke into the same aviation school and hijacked another plane.
This time, the reckless pilot landed at the intersection of Amsterdam Avenue and 187th Street. When asked by the police why this dangerous flight, Fitzpatrick replied: “The owner of the bar did not believe that I did it the first time.”
Apparently, this time the judge decided to cool the pilot’s ardor and sentenced him to six months.
It worked. Fitzpatrick never more stole airplanes and never landed on the streets of metropolitan areas. Instead, he worked as a steam heating fitter and raised three children. Thomas Fitzpatrick passed away in 2009 at the age of 79.
Сообщение Thomas Fitzpatrick: he landed a plane twice on the streets of New York. появились сначала на Old Pictures.
]]>Сообщение Postwar New York in 65 unforgettable vintage pictures появились сначала на Old Pictures.
]]>In total, this set features postwar New York pictures by David Attie, Anthony Barboza, Donald Blumberg, Esther Bubley, Jeanne Ebstel, Bedrich Grunzweig, Simpson Kalisher, Jan Lukas, Benn Mitchell, Fritz Neugass, Beuford Smith, W. Eugene Smith, Todd Webb, and Weegee.
Some of these postwar New York pictures keep the identity bits of their authors; some just share their warm feelings in the city. The distortion technique added much to the still recognizable pictures of the Flatiron Building and Times Square. Some of the photographers explored new photo approaches, reshaping their photo concepts through in-camera or darkroom manipulation.
Todd Webb, Bedrich Grunzweig, and Eugene Smith captured the city scenes from the top-floor positions. Before taking his postwar New York pictures W Eugene Smith had just accomplished his Pittsburgh series. Smith’s images belong to his voyeuristic zaps series of the everyday routine outside his famous loft window. Random pedestrians try to navigate icy sidewalks as the cameraman witnessed and captured from above.
Some photographers transferred their camera focus from Manhattan’s architectural masterpieces to the human-centric scenes in Brooklyn and Harlem. In Beuford Smith’s Palm Sunday, a young girl wearing a cross is seated in a packed subway car with her eyes closed, seeming to find her zen in the heart of the chaos. With a snapshot aesthetic, Jeanne Ebstel stilled the pure joy of city kids wearing swimsuits on the street, cooling off with water flowing from out of the frame. Weegee’s candid portraits shine a light, quite literally, on dark scenes featuring stardom such as Marilyn Monroe and James Dean. Conversely, Simpson Kalisher’s midday street images catch anonymous people and groups going about their routine.
Donald Blumberg produced a series of impromptu portraits that shift his subjects from space and time: only their heads are visible, with the majority of the frame filled only with darkness. Jason Farago wrote about the series for the New York Times: “For his engaging series “In Front of Saint Patrick’s Cathedral,” produced between 1965 to 1967, he would turn his camera, sometimes as much as 45 degrees off-center, and apply long exposure times to blackout the cathedral interior. The result was to exclude all context, and to turn the worshipers into highly detailed, if physically embarrassing, parts in the void.”
Сообщение Postwar New York in 65 unforgettable vintage pictures появились сначала на Old Pictures.
]]>Сообщение Statue of Liberty: history in pictures and unknown facts появились сначала на Old Pictures.
]]>Statue of Liberty arrived in the US 115 years ago, in July 1885, and Oldpics honors this date with a set of historical pictures and unknown facts.
The history of the Lady of Freedom is fascinating and full of mind-blowing discoveries: including a genius vision of Frédéric Auguste Bartholdi, here-n-there pessimists, construction show-stoppers, and a deadly dark storm during transportation to the New York harbor.
We used to think that Lady Freedom was a gift from the French government. In fact, french taxpayers didn’t put many dollars (well, franks) in the Statue’s creation. The history of the Lady started when Frédéric Auguste Bartholdi, a little-known sculptor, decided to honor a country that he never been to with a ‘magnificent lighthouse monument in the form of a woman.’ He traveled from ocean to ocean then, visiting cities and towns, and looking for his project support.
Bartholdi hoped to receive government fundings but failed. He followed up with his fundraising tricks, including workshop admission charges for visitors who wanted to watch the Statue’s construction, souvenirs sellings, and even a dead try to organize the national lottery. The French government didn’t permit him to run the sweepstakes, as it needed funds to recover from the war with Germany.
The fundraising history ended up with American money. Joseph Pulitzer, a media tycoon of the 19th century, saw the hand-drawn pictures of the Statue of Liberty and decided to help french sculptor to complete the project. He decided to publish the name of every person who gave even a penny to the foundation. This approach swiftly increased the distribution of Pulitzer’s newspaper when readers purchased a copy simply to see their names in the paper—an excellent selling tactic.
Bartholdi did not plan the initial design of Liberty for America. As a young man, he had toured Egypt and was fascinated by the ongoing project to dig a channel the Atlantic and Indian oceans. At Paris world’s fair of 1867, he had an audience with Khedive, the ruler of Egypt, and suggested building a statue as amazing as the pyramids or sphinxes. Bartholdi then designed a colossal woman holding up a lamp and wearing the loose-fitting dress of a fellah, a slave, to stand as a lighthouse at the entrance of the Suez Canal. When the Egyptian perspectives faded, Bartholdi took a chance on America to pitch his colossus.
Sculptor even recalled in his memoirs that he had a feeling like ‘Americans didn’t want the statue at all.’ All the Pulitzer demanded there were some pictures from the construction site of the Statue of Liberty. A pure investor’s approach. Bartholdi could complete it much faster than 15 years, but he couldn’t because of fears that his work won’t be accepted. At some point, there were talkies about setting Philadelphia as a statue’s home, because Pulitzer couldn’t get a decent land in New York.
The first piece of the Statue of Liberty that reached the American land was its torch. It was a part of the world’s fair in Fairmount Park in 1876, Philadelphia; families paid admission walk inside the torch, take ‘almost a bird-eye view,’ as an advertising poster said. Visitors could buy Statue of Liberty pictures as souvenirs too. The torch had a vast visitors’ success, and Bartholdi raised enough funds to complete the head (Yep, another fact in the for not-so-free-French-gift history). Sculptor enjoyed the attractiveness of his project so much that he even considered giving it to the people of Philadelphia instead of New York. Pulitzer’s money convinced him back then.
The Liberty Statue project became well-known and quite popular in the US at the beginning of the 1880s. While Bartholdi was orchestrating the construction process in Paris, the Boston city council made its bid to invest in the project and change its location. The mayor of New York steamed and addressed an emotional message to the new yorkers in the article with a Statue of Liberty pictures in New York Post. It triggered a new wave of fundraising, and the Statue’s final destination became unquestionable.
Bartholdi thought that Statue of Liberty could become a part of Brooklyn’s Prospect Park or Central Park. The land in the area was expensive even in the 19th century, and the sculptor couldn’t even hope that the government will dedicate a whole island to it. The well-known Dakota apartment building could not look so magnificent when neighboring such a massive construction.
President Ulysses Grant agreed to the use of Bedloe Island for the Statue when he saw in a Statue of Liberty pictures its lighthouse design. He even guaranteed some federal fundings if it will help the ships’ navigation. However, the designers couldn’t install enough light to serve that goal, and Bartholdi was frustrated with that fact. Sailors also stressed the fact that Bedloe Island’s location is a poor choice for an actual lighthouse, as it is hardly seen from the sea.
Bartholdi wanted his creation to shine even in the dark. He recommended the city council to spend some taxpayers’ bucks to gild her. After all, this idea seemed both ridiculous and costly and was declined.
Inventor delt with sound a lot, and even represented his phonograph to the public in 1878. Edison had a brilliant marketing idea that he shared with reporters. It was a “large vinyl disc” installation inside of the Statue of Liberty that play records of speeches so laud that even Manhattaners will hear them. Fortunately, the city council simply ignored the inventor’s ideas and switched from sound experiments to electricity researches.
The irony of the situation was that a woman statue symbolized freedom in a country where women couldn’t vote. Suffragettes rented a ship to tour around the island during the statue opening. They raised the protest slogans, but no one paid any attention to their event. Statue will stay an attraction point for many civil rights movements in the future.
Some more pictures of the assembling of Statue here.
Сообщение Statue of Liberty: history in pictures and unknown facts появились сначала на Old Pictures.
]]>Сообщение A Pyramid of German Helmets in Front of Grand Central появились сначала на Old Pictures.
]]>This pyramid at Grand Central was a pure propagandistic act promoting the 5th War Loan. The government widely raised funds for military purposes during the wartime, and these loans had different promotions (like WW1 posters), and creative ideas like this pyramid. So this bright image is another page in the history of the New York Central Terminal.
A pyramid consisted of 12,000 helmets neighboured other samples of captured German war equipment, like cannons. While many of the image’s details have been confirmed, the figure that was placed at the top of the pyramid is still subject to speculation. Some commenters believe that it’s Nike, the Goddess of Victory. There are also two cannons located on the left and right of the helmet pyramid.
Check our History of WW1 gas masks in photos.
Сообщение A Pyramid of German Helmets in Front of Grand Central появились сначала на Old Pictures.
]]>Сообщение ‘The Critic’: a story behind plus more photos of Weegee появились сначала на Old Pictures.
]]>‘The Critic’ image was made by Weegee (a real name Arthur Fellig), and it is another diamond in the Top 100 influential photos in history. Here’s a full story about ‘The Critic’ photo, together with some best pictures of Weegee and interesting facts from his life.
The photography history remembers Weegee as a New York City crime photo reporter: his images of bloody murders’ scenes illustrated numerous publications in NYC’s newspapers in the 1930s and 1940s. But the photographer was also haunted by the dire social inequality of the post-depression New York. He didn’t miss a chance to capture some extraordinary scenes of the screaming poverty living in parallel with luxury nourishes.
‘The Critic’ was one of such photos. The idea behind the image was pretty simple: to capture two wealthy ladies – Mrs. George Washington Kavanaugh and Lady Decies – together with an inebriated woman, catching the contrast between two worlds of NYC life. Weegee knew well where to take this image and how. Weegee hired Louie Liotta as an assistant, and his task was to find a beggar woman and call her upon the photographer’s command. When the tiara- and fur-bedecked socialites arrived for the opera, Weegee gave Liotta the signal to spring the drunk woman. “It was like an explosion,” Liotta recalled. “I thought I went blind from the three or four flash exposures.” That was a gonzo style photo reporting, followed by many paparazzi later. This image was bought by Times newspaper, which published it under the headline “The Fashionable People,” and the piece let readers know how the women’s “entry was viewed with distaste by a spectator.”
Read more: Swimming Mao Zedong, 1966
The real story of Weegee
Arthur Fellig was born in the Austrian Empire province Galicia (nowadays’ Ukraine) in the jew family. His parents emigrated to the US soon and decided to find their new home in New York. He started his photography career in the early 1930s, doing night reporting work, which wasn’t accepted by other cameramen. He captured the gore crime scenes in a unique style, which many newspaper photo editors liked so much. Weegee’s success as nightlife reporter was so huge that NYPD even allowed him to use a police radio in his car, which was a particular case in the 30s.
Human tragedy, murder, and police action were everyday objects of Weejee’s camera. But he always tried to capture not only the bloody scene itself but the human pain and story behind it. His honoraries were growing together with the popularity of his photos among the newspapers, Weegee became more independent financially, and allowed himself to spend more time on capturing more than crime scenes: nightlife, circuses, theatre, showgirls, city thrills, the cinema, etc.
Read more: The Molotov man: the Nicaragua photos of Susan Meiselas
Another famous picture of Weegee is “A Trip To Mars”. Photographer captured a motley crew group crowding around a large telescope in Times Square, NYC. This image was taken at the beginning of the 1940s and stays among the best Weegee photos.
All Wimpy Wanted from the Volunteer Fireman was Some More Mustard and Hamburgers, circa 1940.
Сообщение ‘The Critic’: a story behind plus more photos of Weegee появились сначала на Old Pictures.
]]>Сообщение New York in 1905 in 19 photos появились сначала на Old Pictures.
]]>These beautiful photos captured New York in 1905, the so-called Gilded Age of the city. The ‘capital of the world’ as we know NYC today, shaped its architectural face, crowded by multinational immigrants, got ready for the skyrocketing historical booming growth.
In 1905 New York City was a city of spectacular architecture, large and beautiful parks and squares, unique mansions, and magnificent public buildings. That was a result of the tremendous economic growth which continued for several decades before.
But there was another layer under this golden city surface. It consisted of immigrants, tenements, and sweatshops, which lived in parallel with life-celebrating wealthy city elite. Both these two worlds contributed to the unique city identity, which made NYC the ‘city of cities’, ‘capital of the world’.
In 1905 New York witnessed the overwhelming “metropolitan industrialism” and the meteoric growth of its middle class, and specifically traders of all kind. Middle-class residential neighborhoods such as Washington Square and Astor Place had their areas of cultural refinement, that seemed to live in the different reality with brawling hustle of the downtown commercial and financial districts.
Read more: Madison Square near the Flatiron Building, New York City, 1918
The first licensed pizzeria in the USA, Lombardi’s, at 53 1/2 Spring St. in NYC. Gennaro Lombardi and his pizza maker, Antonio Totonno Pero, 1905.
Read more: Shoeshine Boy, New York City, 1924
The park was created by William H. Reynolds, who was a very successful Brooklyn real estate developer who had his hand at many city’s public constructions (and state senator in the past). Reynold’s idea was to compete with Luna Park, a neighboring amusement park opened in 1903. Dreamland was supposed to be refined and elegant in its design and architecture, compared to Luna Park with its many rides and chaotic noise. Another nice addition to New York 1905 in photos collection.
The first Subway stations were launched in 1904, but the city continued to construct its underground transport intensively.
Сообщение New York in 1905 in 19 photos появились сначала на Old Pictures.
]]>Сообщение Kids in a car, New York, 1950s появились сначала на Old Pictures.
]]>This photo by Vivian Mayer belongs to her massive portfolio on New York street pictures. She took thousands of photos of ordinary people and places in New York in the 1950s and 60s. But her photo archives are still not so well-known. The recognition of her talent came only two years after her death in 2011.
New York became home-city to many extraordinary photographers who shared love with their home with magnificent pictures. Oldpics selected 65 bright images of postwar street life that represent the spirit of the New York of the 1950s and 1960s.
In total, this set features postwar New York pictures by David Attie, Anthony Barboza, Donald Blumberg, Esther Bubley, Jeanne Ebstel, Bedrich Grunzweig, Simpson Kalisher, Jan Lukas, Benn Mitchell, Fritz Neugass, Beuford Smith, W. Eugene Smith, Todd Webb, and Weegee. Sixty-five excellent vintage images of the post-war New York are here.
Also, you can take a look at how New York had changed from 1905 until the middle of the century with this remarkable set of old city images.
Сообщение Kids in a car, New York, 1950s появились сначала на Old Pictures.
]]>Сообщение Dr. Bryun in a Horse Drawn Ambulance, New York, 1910 появились сначала на Old Pictures.
]]>Dr. Bryun was an ambulance surgeon in New York City in the early 1900s. On her first day at work, she saved the life of an 18 month old baby who had been overcome by gas from a leak in an apartment.
Сообщение Dr. Bryun in a Horse Drawn Ambulance, New York, 1910 появились сначала на Old Pictures.
]]>