/* * 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
Архивы Moscow - Old Pictures https://oldpics.net Historical photos, stories and even more Wed, 23 Sep 2020 13:19:52 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.5 https://oldpics.net/wp-content/uploads/2017/06/cropped-favicon-32x32.png Архивы Moscow - Old Pictures https://oldpics.net 32 32 Amazing Russia of the 1990s in 23 pictures https://oldpics.net/amazing-russia-of-the-1990s-in-23-pictures/ https://oldpics.net/amazing-russia-of-the-1990s-in-23-pictures/#respond Mon, 21 Sep 2020 10:19:33 +0000 https://oldpics.net/?p=5370 We publish some interesting pictures of Russia from time to time, and this publication covers the 1990s. As usual, Oldpics selected some...

Сообщение Amazing Russia of the 1990s in 23 pictures появились сначала на Old Pictures.

]]>
We publish some interesting pictures of Russia from time to time, and this publication covers the 1990s. As usual, Oldpics selected some noteworthy photos of Russia made by a foreigner, French photographer Jean-Paul Guillotho. It’s important to observe the Russian lifestyle through the non-local lens, as it catches some unique details that only non-soviet people notice.

Jean-Paul Guillotho traveled to Russia several times, from 1991 to 1996. Russia definitely said bye-bye to the Soviet Union in the 1990s, but some of these pictures stilled the transition moment.

Check out our photo selection of Moscow photography of the 1950s and some pictures from the late 1980s. Both photos sets are made by foreigners too.

Read more: Dior Models in Russia, Moscow, 1959

A citizen of Norilsk with egg tray, 1993

A citizen of Norilsk with egg tray, 1993

A food store in Russia, 1990s

A food store in Russia, the 1990s

A musical school in the rural area of Russia, 1990s

A musical school in the rural area of Russia, the 1990s

A queue in the toy store, 1991

A queue in the toy store, 1991. Well, the queues were an integral part of the Soviet lifestyle, but it quickly disappeared in the mid of the 1990s.

At the backyard of the hotel in Moscow, Russia of the 1990s

At the backyard of the hotel in Moscow, 1993

Boy at the Dinamo stadium, 1992

Boy watching a football match at the Dinamo stadium, 1992

Bus stop in the city of Norilsk, 1993

Bus stop in the city of Norilsk, 1993

CEO of Krasnoyarsk Chemical Plant, 1993

CEO of Krasnoyarsk Chemical Plant, 1993

Chechnya, Russia of the 1990s

The very beginning of the war in Chechnya, January 1995.

Coal plant, 1995

Coal plant, 1995

Enisey river, 1993

Amazing view of Enisey river, 1993

Inside the Russian McDonalds restaurant, 1996

Inside the Russian McDonalds restaurant, 1996

Mine office, Russia, 1990s

Mine office, Russia, 1994.

Russia, 1990s

Barbed wire at the port bridge, Russia, 1993.

St.Petersburg kid, Russia of the 1990s

St.Petersburg kid, 1993

Streets of Moscow, 1991

Streets of Moscow, 1991

Swimming in the Enisey River, Krasnoyarsk city, 1993

Swimming in the Enisey River, Krasnoyarsk city, 1993

The local of rural Russia, somewhere in Krasnoyarsk region, 1990s.

The local of rural Russia, somewhere in the Krasnoyarsk region, 1990s.

The police department, Norilsk, 1993

The drunken man at the police department, Norilsk, 1993

The streets of Norilsk, 1993

The streets of Norilsk, 1993

Train station, Moscow, 1990s

The train stations were an important social hub in the USSR. This how the typical train station looked like in Moscow, 1990s

Workers at the river port of Krasnoyarsk city, 1993

Workers at the river port of Krasnoyarsk city, 1993

Wounded women, Chechnya, 1995

Wounded women at the streets of Grozny city during the First Chechnya War, 1995

 

Сообщение Amazing Russia of the 1990s in 23 pictures появились сначала на Old Pictures.

]]>
https://oldpics.net/amazing-russia-of-the-1990s-in-23-pictures/feed/ 0
Vintage pictures of the Soviet Moscow of the 1950s https://oldpics.net/vintage-pictures-of-the-soviet-moscow-of-the-1950s/ https://oldpics.net/vintage-pictures-of-the-soviet-moscow-of-the-1950s/#respond Wed, 09 Sep 2020 15:13:47 +0000 https://oldpics.net/?p=5110 Jacques Dupaquier was a French scientist, historian, and member of the Communist Party of France, and he visited Moscow in the 1950s....

Сообщение Vintage pictures of the Soviet Moscow of the 1950s появились сначала на Old Pictures.

]]>
Jacques Dupaquier was a French scientist, historian, and member of the Communist Party of France, and he visited Moscow in the 1950s. He visited USSR several times, and every time he took excellent pictures of the Soviet lifestyle.

In 1956 Jacques Dupaquie reached Moscow. When speaking of his feelings about Moscow, he said that ‘It’s hard to believe that half of the buildings are wooden”. A French communist also couldn’t believe that soviet people live in such poverty.

You can experience the contrast between European and Moscow lifestyles with our set of photos of Dior Models during their visit to the USSR.

In thirty years, another European will visit Moscow. His photo set of the Soviet Capital before the collapse of the USSR you can find here.

Read more: 100 most important pictures in history

A lovely Moscow view, 1950s

A lovely Moscow view.

A man floating in the park of Moscow, 1950s

A man floating in the park of Moscow, 1950s

A massive cannon on the Red Square

A massive cannon on the Red Square

A typical interior of the soviet appartment. Nowadays, we can't beleive that many of the Soviet homes had the same furniture and design

A typical interior of the soviet apartment. Nowadays, we can’t believe that many of the Soviet homes had the same furniture and design

Fontaine attracted soviet people

Fontaine attracted soviet people

Founder of Moscow monument

Founder of Moscow monument

It seems like this is a road construction vehicle

It seems like this is a road construction vehicle

It's hard to believe, but the passengers of this bus agreed to exit it in the middle of nowhere just for the photo of the foreigner

It’s hard to believe, but the passengers of this bus agreed to exit it in the middle of nowhere just for the photo of the foreigner

Lovely attraction for the Soviet kids

A lovely attraction for the Soviet kids

Many buildings in Moscow had a very poor outlook in the 1950s

Many buildings in Moscow had a very poor outlook in the 1950s

Many churches and cathedrals were destroyed during the Soviet rule.

Many churches and cathedrals were destroyed during the Soviet rule.

Soviet people passing by a store

Soviet people passing by a store

Soviet pupils

Soviet pupils

Soviet tourists on the Red Square in Moscow, 1950s

Soviet tourists on the Red Square in Moscow, 1950s

Street Food in Soviet Moscow, 1950s

Street Food in Soviet Moscow, 1950s

The monumental construction was a signature urbanist approach during Joseph Stalin rule

The monumental construction was a signature urbanist approach during Joseph Stalin rule

The Red Square, Moscow, 1950s

The Red Square, Moscow, 1950s

The streets of Soviet Moscow were pretty empty in the 1950s. Soviet people couldn't afford to buy cars, while russian industry foced on the military production

The streets of Soviet Moscow were pretty empty in the 1950s. Soviet people couldn’t afford to buy cars, while Russian industry focused on military production

There were not so many car models in USSR in the 1950s. In this photo all cars are the same model

There were not so many car models in USSR in the 1950s. In this photo, all cars are the same model

These school students are looking relatively good. Many soviet kids had much worse outlook in the 1950s.

These school students are looking relatively good. Many soviet kids had a much worse outlook in the 1950s.

This building had to demonstrate that Soviet Union recovered of WWII

This building had to demonstrate that the Soviet Union recovered from WWII.

Two soviet girls standing at the Moscow river enbankment, 1950s

Two soviet girls standing at the Moscow river embankment, the 1950s

USSR was preparing to send a man to the space while many of the capital's bulding were still made of wood!

USSR was preparing to send a man to space, while many of the capital’s buildings were still made of wood!

Very few soviet people could afford traveling by planes. Also, there were not so many flight routes in the 1950s

Very few soviet people could afford to travel by plane. Also, there were not so many flight routes in the 1950s

Сообщение Vintage pictures of the Soviet Moscow of the 1950s появились сначала на Old Pictures.

]]>
https://oldpics.net/vintage-pictures-of-the-soviet-moscow-of-the-1950s/feed/ 0
Nudists on the beach of Soviet Moscow, 1920s https://oldpics.net/nudists-on-the-beach-of-soviet-moscow-1920s/ https://oldpics.net/nudists-on-the-beach-of-soviet-moscow-1920s/#respond Fri, 28 Aug 2020 12:48:05 +0000 https://oldpics.net/?p=4874 It was fun in Soviet Moscow in the 1920s. Even more, during that decade, the young Soviet State allowed its citizens many...

Сообщение Nudists on the beach of Soviet Moscow, 1920s появились сначала на Old Pictures.

]]>
Nudists on the beach of Soviet Moscow, 1920sIt was fun in Soviet Moscow in the 1920s. Even more, during that decade, the young Soviet State allowed its citizens many things that will never allow again. Even the freedom of the late 1980s wasn’t that’s bright. The nudism was one of such things. 

Overall, you could do anything if you’ll call it the fight vs. bourgeois values. It’s hard to imagine nowadays, but that was the focus of the Bolshevik revolution in 1917. And yes, even to sunbathe naked near the Kremlin in Moscow, the Soviet capital! That’s what we see in this photo. 

There was a special social group of nudists that called themselves “No shame!” The group members believed that nudity was a pure embodiment of democracy and universal equality. Somehow it corresponded with the values of the young communist state.

“No-shamers” had a habit of appearing naked in public. Sometimes they were going full-commando, sometimes they wore a red ribbon with the words “No shame!” This unusual freedom couldn’t last long in Soviet Moscow. When Joseph Stalin took power by the beginning of the 1930s, no-shamers quickly moved to the marginal corner of social life.

Take a look at the Soviet Moscow in just thirty years, in the 1950s.



Сообщение Nudists on the beach of Soviet Moscow, 1920s появились сначала на Old Pictures.

]]>
https://oldpics.net/nudists-on-the-beach-of-soviet-moscow-1920s/feed/ 0
Pictures of Soviet Moscow by a British tourist https://oldpics.net/pictures-of-soviet-moscow-by-a-british-tourist/ https://oldpics.net/pictures-of-soviet-moscow-by-a-british-tourist/#respond Thu, 27 Aug 2020 11:38:14 +0000 https://oldpics.net/?p=4810 That’s how Moscow, a Soviet capital, looked like before the USSR collapsed.  In 1986, Roger George Clark, a casual photographer from the...

Сообщение Pictures of Soviet Moscow by a British tourist появились сначала на Old Pictures.

]]>
Soviet Moscow, 1980sThat’s how Moscow, a Soviet capital, looked like before the USSR collapsed. 

In 1986, Roger George Clark, a casual photographer from the UK, arrived in Moscow. He wandered the streets for a long time and took plenty of excellent pictures of the Soviet lifestyle.

He returned to the Soviet Moscow a year later, in the summer of 1987. The city impressed him with the lunch breaks in restaurants, the poor selection of goods in the stores, and signature Soviet queues. Clarke claims he even saw a queue of people who were waiting to take their place in the queue at the mausoleum of the Soviet leader Lenin at Red Square.

You can compare these photos to some of the vintage pictures of New York.

Compare this 1980s pictures of Moscow with the famous 1950s series. 

Oldpics publishes pictures of Soviet Moscow with the original captions and remarks by Roger George Clark.

Here you can check what Moscow looked like in the 1950s.

A man with a bear at the Soviet Moscow street. It was a decent attraction in the late 1980s.

A man with a bear at the Soviet Moscow street. It was a decent attraction in the late 1980s.

The relationships between East and West improved dramatically in the 1980s. There was no longer the feeling that foreigners are banned from Russia as it was for decades before.

A soviet family is eating an ice-cream just on the pavement. There were not enough cafes and restaurants in the late soviet Moscow.

A soviet family is eating an ice-cream just on the pavement. There were not enough cafes and restaurants in the late soviet Moscow.

You have to be ready to walk a lot if you want to see the Soviet Moscow. When you dive into the subway or ride a tram or bus, go to shops, cafes, and parks, you will learn a lot about Russian people.

A Moscow backyard, 1987

A Moscow backyard, 1987

Clarkes had mixed impressions of Moscow residents. On the one hand, he found the Soviet people open and friendly.

A little girl in USSR

A little girl, 1986

“Early in the evening, when I was walking down the street on October 25, I met two young cadets. They carried red carnations. Can I take a photo of them? No problem. To my surprise, they spoke English, and we chatted for a couple of minutes. I took some pictures and released one of the best portraits from Moscow trips. They were friendly and relaxed. And this was true during most of my time in Moscow. I found that I could wander with the camera and take pictures of what I liked and how I liked it. Just like in the UK. “

A magnificent building of the Central Store of Soviet Moscow. It's something similar to nowadays shopping malls.

A magnificent building of the Central Store of Soviet Moscow. It’s something similar to nowadays shopping malls.

On the other hand, the conditions in which Soviet people lived disappointed a photographer.

A sample of the glorious Stalin's architecture. The major part of building didn't look that fancy.

A sample of the glorious Stalin’s architecture. The major part of the Moscow buildings didn’t look that fancy.

And the queues … Did you queue up for the train, did you queue for the museum, did you queue up at the store? The line was a national tradition. There were two lines to the Lenin’s tomb – a line for a line.

An old church, 1987

An old church, 1987

The lack of merchandise in stores was terrible. The Central Store at the Red Square sold only products that you could find in a shabby street market. If everything was so bad at the most important store in Russia, then how was it elsewhere. The shelve samples were useless, and the packaging was dull.

Father is spending his time in a Moscow restaurant with daughters.

Father is spending his time in a Moscow restaurant with his daughters.

The poor goods selection and poor quality reminded me of post-war London. That was a short period of austerity when everything was in short supply. The consumer boom never happened in the Soviet Union. “

Buyers are looking for something decent in the Central Store, Moscow, 1987.

Buyers are looking for something decent in the Central Store, Moscow, 1987.

VDNH is the Soviet version of the 1951 UK festival, or, more precisely, the world trade fair of the 1930s. Masses of models and diagrams in huge pavilions. Nuclear power, electricity, space travel, agriculture, etc. And fountains abound. Thousands of people crowded the exhibit. Families enjoyed the day off, young men in jeans and soldiers in military uniforms. The exhibition showed how communism was supposed to look, but it was a utopia. It was a monument to the communist future, which will not exist. The exhibition felt strongly provincial and outdated. The exhibits looked impressive, but there was no style and sophistication – everything is unfinished.

A crowded location of the VDNH. It's an anologue of the Fairies that were held in Europe before WWII.

A crowded location of the VDNH. It’s an analog of the Fairies that were held in Europe before WWII.

This provincialism – this lack of elegance – manifested itself throughout Moscow. It was hard to believe that this was the capital of the second most powerful country on earth. The masonry collapsed, and the paint on buildings peeled off. Between the vast modern quarters were hundreds of 18th and 19th-century mansions and houses in Moscow, with mysterious courtyards, shaded trees, and even the occasional wooden building from ancient times. Gorky Park looked abandoned. No pop and folk art, as you see in the UK. The cafe looked boring. The public vending machines with a couple of glasses to share with other customers made me shudder. Tell them about hygiene! People came up, took such a glass, rinsed with cold water, and drank from it!

A street artist at work

A street artist at work

Donskoy Monastery. The historical heritage fell into desolation and collapsed. It was evident that during all the years of Soviet power, nothing was repaired.

The doors of the ancient monastery. Religious buildings were in a poor state as USSR didn't tolerate the religion in any way.

The doors of the ancient monastery. Religious buildings were in a poor state as USSR didn’t tolerate the religion in any way.

Apart from space rockets, there was nothing futuristic here. Something was terribly wrong. The melancholic air hung over the city even in summer, and my camera captured it. However, people spoke more freely with foreigners and didn’t mind to pose for a photo.

This sculpture was located at one of the Moscow cemeteries.

This sculpture was located at one of the Moscow cemeteries.

The resident of the late soviet Moscow

The resident of the late soviet Moscow

The premium soviet car decorated with a toy

The premium soviet car decorated with a toy

That's how old people looked like in USSR

That’s how older people looked like in USSR

The guard on the Red Square

The guard on the Red Square

That's how central store shelve looked like. The selection of the goods was very poor.

That’s how central store shelves looked like. The selection of the goods was very poor.

That's a best-looking sovenier in the largest central store in soviet Moscow

That’s the best-looking souvenir in the largest central store in soviet Moscow.

Students of the Military School

Students of the Military School

Soviet people are spending their time at one of the Moscow fountains

Soviet people are spending their time at one of the Moscow fountains.

Soviet Moscow residents are gazing at the architechural barelief

Soviet Moscow residents are gazing at the architectural decoration.

Soldiers are crossing one of the central streets of Moscow

Soldiers are crossing one of the central streets of Moscow.

One of the most luxurious Soviet cars.

One of the most luxurious Soviet cars.

Moscow teenagers are gazing at the conert billboard.

Moscow teenagers are gazing at the concert billboard.

Lawnmower in Soviet Moscow

Lawnmower in Soviet Moscow

Kids in their national suits. They belong to some southern nationalities of the USSR

Kids in their national suits. They belong to some southern nationalities of the USSR

It's not a special photo effect. It's a just a building on the central Moscow street that slightly

It’s not a special photo effect. It’s just a building on the central Moscow street that slightly collapsed

It seems like chess was a popular game among the residents of Moscow in 1980s

It seems like chess was a popular game among the residents of Moscow in 1980s

Garbage cleaner at the Soviet Moscow street welcomed the British photographer

Garbage cleaner at the Soviet Moscow street welcomed the British photographer

An average Moscow dad with kids

An average Moscow dad with kids

Сообщение Pictures of Soviet Moscow by a British tourist появились сначала на Old Pictures.

]]>
https://oldpics.net/pictures-of-soviet-moscow-by-a-british-tourist/feed/ 0
Dior Models in Moscow, 1959 https://oldpics.net/dior-models-in-moscow-1959/ https://oldpics.net/dior-models-in-moscow-1959/#respond Thu, 24 Jan 2019 09:47:54 +0000 http://oldpics.net/?p=2314 Noone could imagine Dior models walking the Moscow Streets during the iron rule of Joseph Stalin. But soon after his death in...

Сообщение Dior Models in Moscow, 1959 появились сначала на Old Pictures.

]]>
Noone could imagine Dior models walking the Moscow Streets during the iron rule of Joseph Stalin. But soon after his death in March 1953, Nikita Khrushchev became a new leader of the USSR. And the period called “Khrushchev’s Thaw” started. It opened up the country for some economic reforms and international trade, educational and cultural contacts, festivals, books by foreign authors, foreign movies, art shows, popular music, dances, and new fashions, and massive involvement in international sports competitions. 

Take a look at how Soviet Moscow looked like in the late 1980s.

Dior models in Moscow, 1959

In 1959, the Soviet Union officially allowed fashion shows. That allowed Madame Suzanne Lulling, the Head of Dior Salon at the time, to take the opportunity to organize a fashion show in Moscow.

Under the directorship of Yves Saint Laurent, the new head of Dior, the Parisian brand held a five-day fashion show featuring 12 models, at the House of Culture’s “Wings of the Soviets.”

Attendance at the Dior show was by ticket. 11,000 invitations for “défilé” were distributed only among the higher members of Communist party and to the Soviet elite.

Soviet people are gazing at the Dior models during the Fashion show

As a part of the show and to allow regular people to have a look at the Dior models in their beautiful outfits, the organizers arranged a walk through the center of Moscow. 


3 out of 12 models took part in the walk and photo shoot.

Dior models visiting the book store in Moscow

They visited Red Square, local markets, adjacent streets, and the
the USSR’s premier department store GUM.

The main Soviet newspaper of that time “Pravda” wrote that some of the styles were too open and short, and that they would not look nice on women who are stout and of short stature. It was evidently taken for granted that the majority of Soviet women were stout and not tall. 


Other magazine wrote: “Bourgeois fashion makers come up with such styles that the woman has difficulty walking and must wrap herself around her man.”

Soviet people gazing at Dior models during their visit to Moscow

Сообщение Dior Models in Moscow, 1959 появились сначала на Old Pictures.

]]>
https://oldpics.net/dior-models-in-moscow-1959/feed/ 0