/* * 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
Архивы Austria - Old Pictures https://oldpics.net Historical photos, stories and even more Thu, 24 Sep 2020 08:03:21 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.5 https://oldpics.net/wp-content/uploads/2017/06/cropped-favicon-32x32.png Архивы Austria - Old Pictures https://oldpics.net 32 32 Vienna in 1945: Noteworthy pictures from soviet archives https://oldpics.net/vienna-in-1945-noteworthy-pictures-from-soviet-archives/ https://oldpics.net/vienna-in-1945-noteworthy-pictures-from-soviet-archives/#respond Tue, 22 Sep 2020 08:51:55 +0000 https://oldpics.net/?p=5447 Soviet troops captured Vienna in 1945 after the bloody and exhausting battle. Allies signed two related documents in July, and these agreements...

Сообщение Vienna in 1945: Noteworthy pictures from soviet archives появились сначала на Old Pictures.

]]>
Soviet troops tried to promote Communism (and the USSR leader Joseph Stalin) as hard as they couldSoviet troops captured Vienna in 1945 after the bloody and exhausting battle. Allies signed two related documents in July, and these agreements defined the split of the Austrian capital between the Allies for the next decade. Yes, they divided Berlin in the same way, but there was one huge difference. Soviet agreed to leave Vienna in ten years.

Read more: A family murder in Vienna, 1945

You had to have an ID card to move between the occupation zones. These cards had info on four languages ​​- German, English, French, and Russian. It explained who you were, why you have this card, and why you need to cross the limitation line. The card was invalid if missing one of eleven seals from the authorities of each of the four occupying administrations.

Western occupation zones borders were removed very soon, but not the Soviet one. Moreover, citizens of Vienna’s western zones of occupation registered their trip to the Russian-controlled zone as an overseas trip.

Soviet troops left the Austrian territories in June 1954. Austrians remember many things from that period (mostly negative, and here’s’ why there were so many escapes from the Soviet occupation zone. Again, like in Berlin). They’re keeping hundreds of photographs in the archives. We selected some noteworthy pictures of Vienna of the first year of occupation, 1945, as they seemed more interesting.

Read more: 100 most important pictures in history

The building where Russian administration was located

The building where the Russian administration was located

A tram with picture of Lenin. It supposed to convert austrians to socialism

A tram with a picture of Lenin. It is supposed to convert Austrians to socialism.

Russians brought a bear to Vienna in 1945

Russians once brought a bear to the Zoo Vienna in 1945

Soviet officers with the local ortodox priest

Soviet officers with the local orthodox priest

Soviet officers dancing

Soviet officers dancing

Two female soldiers from the Soviet contingent in Vienna, 1945

Two female soldiers from the Soviet contingent in Vienna, 1945

The dining room in the soviet barracks, Vienna, 1945

The dining room in the soviet barracks, Vienna, 1945

The wardrobe room of the soviet army commanders

The wardrobe room of the soviet army commanders

Some propaganda pictures of the soviet soldiers at the restaurant in Vienna, 1945

Some propaganda pictures of the soviet soldiers at the restaurant, 1945

Russians tried to bring its singers to attract more austrians

Russians tried to bring its singers to attract more Austrians

Proclaiming the pro-communist's speeches

Proclaiming the pro-communist’s speeches

In 1945 Vienna was split on occupation zones, just as it was in Berlin

In 1945 Vienna was split into occupation zones, just as it was in Berlin

Сообщение Vienna in 1945: Noteworthy pictures from soviet archives появились сначала на Old Pictures.

]]>
https://oldpics.net/vienna-in-1945-noteworthy-pictures-from-soviet-archives/feed/ 0
A family murder in Vienna, 1945 https://oldpics.net/a-family-murder-in-vienna-1945/ https://oldpics.net/a-family-murder-in-vienna-1945/#respond Tue, 25 Aug 2020 16:08:19 +0000 https://oldpics.net/?p=4791 It’s another famous photograph by Evgeny Khaldei, the author of the legendary photo “The flag over the Reichstag.” This shot is not so...

Сообщение A family murder in Vienna, 1945 появились сначала на Old Pictures.

]]>
A family murder in Vienna, 1945It’s another famous photograph by Evgeny Khaldei, the author of the legendary photo “The flag over the Reichstag.” This shot is not so monumental, but it’s also a fascinating one. Khaldei took this photo of the family murder in April 1945 in Vienna. It depicts a dead Austrian family, watched by living Russian officers. 

Check the most Bizarre WWII photos.

A killer shot a mother and her two children: a teenage boy and a girl, whose body was lying a little further away. Their father killed them.

Evgeny Khaldei recalled the story of this photograph: “I went to the park near the parliament building to film the columns of soldiers passing by. And I saw this picture. A woman was sitting on a bench, killed by two shots – in the head and neck; next to her is a dead teenager of about fifteen and a girl. The corpse of the father of the family was a little further away. He had a gold NSDAP badge on his lapel, and a revolver was lying next to him. Soon a witness of this Vienna murder approached the photographer and the officers. He told them that the German first killed his family and then shot himself.

A different angle, murder in Vienna

A different angle of the murder in Vienna, 1945

After the Soviet army captured Vienna, the nine-year occupation period started. The city was split between the allies, and the Russians maintained a strict borders control regime. Here you can check some noteworthy archive photos from Vienna’s Soviet occupation zone, taken in the 1940s.

 

Сообщение A family murder in Vienna, 1945 появились сначала на Old Pictures.

]]>
https://oldpics.net/a-family-murder-in-vienna-1945/feed/ 0
Serbia in WW1: photos and facts https://oldpics.net/serbia-in-ww1-photos-and-facts/ https://oldpics.net/serbia-in-ww1-photos-and-facts/#respond Thu, 30 Jul 2020 12:13:20 +0000 https://oldpics.net/?p=4524 WW1 is a significant chapter in the History of Serbia. This young Slavic state was in the middle of historical events from...

Сообщение Serbia in WW1: photos and facts появились сначала на Old Pictures.

]]>
Serbian and Imperial Russian officers are having lunch on the front, 1916.

Serbian and Russian officers are having breakfast on the front, 1916.

WW1 is a significant chapter in the History of Serbia. This young Slavic state was in the middle of historical events from the first days of the war. WW1 started when the Austro-Hungarian Empire declared war on Serbia. It happened right after 19-year old Serbin Gavrila Princip triggered the action: assassinated Franz Ferdinand, the prince of Austria. The young revolutionary couldn’t even imagine what kind of historical tornado he called in his home country. Serbia desperately fought till the last day of WW1, losing at least a quarter of its population dead or lost. 

The uniform of Archduke Franz Ferdinand from 1914, whose assassination triggered the outbreak of World War I

The uniform of Archduke Franz Ferdinand from 1914, whose assassination triggered the outbreak of World War I

Long way to independence

Serbia covered a long way to its independence from the Osman Empire. Serbians initiated three uprisings against the Muslim rulers at the begging of the 19th century. As a result, the sultan recognized Milos Obrenoviche as a ruler of Serbia in 1815. But the formal independence came in 1878, after the war between Russia and the Osman Empire.

Gavrilo Princip's parents if front of their house, early 1900s

Gavrilo Princip’s parents in front of their house, the early 1900s

Serbia was independent, but not satisfied by the beginning of WW1.

While gaining independence, a lot of Serbians dreamed of uniting all of the south Slavic people under the rule of Belgrade. Some of those Slavic territories were a part of the Austro-Hungarian Empire. Vien set the region on fire, supporting numerous conflicts between Slavic states of Balkan region during so-called Balkan wars of 1912-1913

King Peter I of Serbia (centre right) in conversation with with his Prime Minister, Nikola Pašić (centre left), during WWI

King Peter I of Serbia (center right) in conversation with his Prime Minister, Nikola Pašić (center left), during WWI

How one revolutionary from Serbia could start WW1

There’s a historical fact that WW1 started right after Gavrilo Princip murdered Franz Ferdinand in Sarajevo in 1914. But the truth is that WW1 had to begin in one way or another. Austro-Hungary was preparing for it, Germany was preparing for it… Countries of Antanta did so too. It was a matter of time.

Peter, King of Serbia at the beginning of WW1, 1914

Peter, King of Serbia at the beginning of WW1, 1914

A poor start…

The first weeks of WW1 had brought some mixed success to the army of Serbia. Combat operations in this sector of the front went on with varying success. After winning some battles in August 1914, including the one in the region of the Tser ridge, Serbians couldn’t resist overwhelming Austria. The Austrian troops took the Serbian capital in November 1914, despite the active help from Russian and French soldiers.

Throne room in the Royal Palace in Belgrade, Kingdom of Serbia, October 1915

The throne room in the Royal Palace in Belgrade, Kingdom of Serbia, October 1915

A king of Serbia in the trenches of WW1

King Peter joined the army of Serbia in November 1914. He couldn’t act like french trench raiders, but he managed to ignite the inner fire in his troops that suffered poor morale. Peter ordered a new offensive. Serbian started it on December 3, 1914. During the 12 days of fighting on the river Kolubare and river Drina, they defeated the Austro-Hungarian troops. On December 15, the Serbians took Belgrade back. Not a single Austro-Hungarian soldier remained on Serbian territory; more than 50 thousand prisoners were captured, 126 cannons, 70 machine guns, and many other trophies.

Mobilized Austro-Hungarian troops sent across Sarajevo for Serbia, 1914.

Mobilized Austro-Hungarian troops sent across Sarajevo for Serbia, 1914.

The fails of 1915

Serbia passed through two major historical blows during the battles of WW1 in 1915. It all started when the German forces joined the Austro-Hungarians in October 1915. Austro-Hungarian and German troops suppressed the fierce resistance of Serbians and retook Belgrade on October 9. Serbs retreated to the south.

The second blow came from the Balkanian brothers. On October 14, Bulgaria entered WW1 on the side of Germany. Bulgarians invaded Serbia on the morning of the next day.

71-year-old Peter, King of Serbia, crossing the Drim river during the retreat of the Serbian Army in December 1915

King of Serbia while crossing the Drim river during the retreat of the Serbian Army in December 1915

71-year-old Peter I, King of Serbia, retreats across Jankova gorge, November 1915

An Italian retreat

Lost battles forced the French command to transport the Serbian army to Italy, and then to Tunisia. Serbian units restructured there and subsequently returned to the front. This relocation required massive naval support. The helping hand came from France and England.

Austro-Hungarian soldiers executing men and women in Serbia, 1916.

Austro-Hungarian soldiers executing men and women in Serbia, 1916.

Austro-Hungarian troops executing captured Serbians, 1917

Austro-Hungarian troops executing captured Serbians, 1917

Serbs continue to fight on the Thessaloniki front

Serbs continued resistance in Albania on the so-called Thessaloniki front. France reinforced the Serbians with their divisions in May 1916. In total, the Serbian troops numbered 130,000 people. The allied forces in the Balkans reached 300,000.

Captain of the Serbian army. A veteran of 7 wars, again on the front with his 3 sons. WW1, -1915

Captain of the Serbian army. A veteran of 7 wars, again on the front with his three sons. WW1 -1915

Long-awaited victory

Antanta troops received significant superiority by the end of the summer of 1918. They initiated a new offensive with extensive usage of gas attacks on the Thessaloniki front. Demoralized Bulgaria could overcome this defeat and capitulate on September 29. Serbian army victoriously entered Belgrade on October 18, 1918. It was a new glorious page in Serbian history – Belgrade became the capital of the Kingdom of Serbs, Croats, and Slovenes (since 1929 – Yugoslavia).

Serbian soldier holding his dead brother. Battle of Kaymakchalan, Serbia 12.09.1916 WWI

Serbian soldier holding his dead brother. Battle of Kaymakchalan, Serbia 12.09.1916 WWI

Serbian soldier on his only son's grave (also soldier), WW1. Serbia lost 25% of population (1 million killed_died), including 60% of adult male population in a war

Serbian soldier on his only son’s grave (also a soldier), WW1. Serbia lost 25% of the population (1 million killed_died), including 60% of the adult male population in a war.

Soldiers of the 1st Bulgarian Army salute a column of German soldiers passing through Paraćin, Serbia, November, 1915.

Soldiers of the 1st Bulgarian Army salute a column of German soldiers passing through Paraćin, Serbia, in November 1915.

Muslims of Serbian Army Laying Oath before the Mufti of Niš (Niš, Serbia, 1915)

Muslims of the Serbian Army Laying Oath before the Mufti of Niš (Niš, Serbia, 1915)

Сообщение Serbia in WW1: photos and facts появились сначала на Old Pictures.

]]>
https://oldpics.net/serbia-in-ww1-photos-and-facts/feed/ 0