New Hogan Dam River

The mountains are full of snow waiting to ambush the New Hogan Lake that is already filled to capacity! It’s a beautiful site to see the lake filled with fresh water. It’s been several years since we’ve seen this much water here. The U.S. Army Corps of Engineers, who manage this lake, have opened the dam. They are releasing water as fast as it will flow without flooding the Monte Vista Day Use area. The Calavaras River is flowing mightier than ever. They better keep those flood gates open because the snow melt has begun the deluge. 

From the bridge looking towards the damn, you can see the water rushing down river.  In the foreground you can see the blackberry bushes.  This will be a fruitful season for them. Click here to watch a time lapse for the New Hogan Lake since 1994.

New Hogan Creek looking toward the damn from the bridge.

 

Looking westward from the New Hogan River bridge you can see the banks have been overrun with water flowing towards the thirsty fields down river.  What a kick kayaking would be down this river!

 

New Hogan Lake River looking down stream from the bridge.

Looking straight down from the New Hogan River bridge the rush of water, vying to get through the gate first, creates a foamy bath.  Don’t fool yourself into thinking the foamy bath is a warm one, because it is NOT.  This is some of the coldest water I’ve ever had the mistake to stand in.  Even on the hottest day of the summer this water will numb your legs in seconds!  This is the bottom of the lake water, where its super cold, and flows out that way for quite a distance.

 

New Hogan River looking down from the bridge.

The photo opportunities are endless at the New Hogan river and at the New Hogan Lake!  Unfortunately my only camera is my cell phone camera, and the pictures are still awe-inspiring.  I’m saving up for a good camera like this one here.

*/ class PayPalDonations { /** Holds the plugin instance */ private static $instance = false; /** Define plugin constants */ const MIN_PHP_VERSION = '5.2.4'; const MIN_WP_VERSION = '3.0'; const OPTION_DB_KEY = 'paypal_donations_options'; const TEXT_DOMAIN = 'paypal-donations'; const FILE = __FILE__; // ------------------------------------------------------------------------- // Define constant data arrays // ------------------------------------------------------------------------- private $donate_buttons = array( 'small' => 'https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif', 'large' => 'https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif', 'cards' => 'https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif' ); private $currency_codes = array( 'AUD' => 'Australian Dollars (A $)', 'BRL' => 'Brazilian Real', 'CAD' => 'Canadian Dollars (C $)', 'CZK' => 'Czech Koruna', 'DKK' => 'Danish Krone', 'EUR' => 'Euros (€)', 'HKD' => 'Hong Kong Dollar ($)', 'HUF' => 'Hungarian Forint', 'ILS' => 'Israeli New Shekel', 'JPY' => 'Yen (¥)', 'MYR' => 'Malaysian Ringgit', 'MXN' => 'Mexican Peso', 'NOK' => 'Norwegian Krone', 'NZD' => 'New Zealand Dollar ($)', 'PHP' => 'Philippine Peso', 'PLN' => 'Polish Zloty', 'GBP' => 'Pounds Sterling (£)', 'RUB' => 'Russian Ruble', 'SGD' => 'Singapore Dollar ($)', 'SEK' => 'Swedish Krona', 'CHF' => 'Swiss Franc', 'TWD' => 'Taiwan New Dollar', 'THB' => 'Thai Baht', 'TRY' => 'Turkish Lira', 'USD' => 'U.S. Dollars ($)', ); private $localized_buttons = array( 'en_AU' => 'Australia - Australian English', 'de_DE/AT' => 'Austria - German', 'nl_NL/BE' => 'Belgium - Dutch', 'fr_XC' => 'Canada - French', 'zh_XC' => 'China - Simplified Chinese', 'fr_FR/FR' => 'France - French', 'de_DE/DE' => 'Germany - German', 'it_IT/IT' => 'Italy - Italian', 'ja_JP/JP' => 'Japan - Japanese', 'es_XC' => 'Mexico - Spanish', 'nl_NL/NL' => 'Netherlands - Dutch', 'pl_PL/PL' => 'Poland - Polish', 'es_ES/ES' => 'Spain - Spanish', 'de_DE/CH' => 'Switzerland - German', 'fr_FR/CH' => 'Switzerland - French', 'en_US' => 'United States - U.S. English' ); private $checkout_languages = array( 'AU' => 'Australia', 'AT' => 'Austria', 'BE' => 'Belgium', 'BR' => 'Brazil', 'CA' => 'Canada', 'CN' => 'China', 'FR' => 'France', 'DE' => 'Germany', 'IT' => 'Italy', 'NL' => 'Netherlands', 'PL' => 'Poland', 'PR' => 'Portugal', 'RU' => 'Russia', 'ES' => 'Spain', 'SE' => 'Sweden', 'CH' => 'Switzerland', 'GB' => 'United Kingdom', 'US' => 'United States', ); /** * Singleton class */ public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } /** * Constructor. * Initializes the plugin by setting localization, filters, and * administration functions. */ private function __construct() { if (!$this->testHost()) { return; } add_action('init', array($this, 'textDomain')); register_uninstall_hook(__FILE__, array(__CLASS__, 'uninstall')); $admin = new PayPalDonations_Admin(); $admin->setOptions( get_option(self::OPTION_DB_KEY), $this->currency_codes, $this->donate_buttons, $this->localized_buttons, $this->checkout_languages ); add_filter('widget_text', 'do_shortcode'); add_shortcode('paypal-donation', array(&$this,'paypalShortcode')); add_action('wp_head', array($this, 'addCss'), 999); add_action( 'widgets_init', create_function('', 'register_widget("PayPalDonations_Widget");') ); } /** * PSR-0 compliant autoloader to load classes as needed. * * @param string $classname The name of the class * @return null Return early if the class name does not start with the * correct prefix */ public static function autoload($className) { if (__CLASS__ !== mb_substr($className, 0, strlen(__CLASS__))) { return; } $className = ltrim($className, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strrpos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace); $fileName .= DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, 'src_'.$className); $fileName .='.php'; require $fileName; } /** * Loads the plugin text domain for translation */ public function textDomain() { $domain = self::TEXT_DOMAIN; $locale = apply_filters('plugin_locale', get_locale(), $domain); load_textdomain( $domain, WP_LANG_DIR.'/'.$domain.'/'.$domain.'-'.$locale.'.mo' ); load_plugin_textdomain( $domain, false, dirname(plugin_basename(__FILE__)).'/lang/' ); } /** * Fired when the plugin is uninstalled. */ public function uninstall() { delete_option('paypal_donations_options'); delete_option('widget_paypal_donations'); } /** * Adds inline CSS code to the head section of the html pages to center the * PayPal button. */ public function addCss() { $opts = get_option(self::OPTION_DB_KEY); if (isset($opts['center_button']) and $opts['center_button'] == true) { echo ''."\n"; } } /** * Create and register the PayPal shortcode */ public function paypalShortcode($atts) { extract( shortcode_atts( array( 'purpose' => '', 'reference' => '', 'amount' => '', 'return_page' => '', 'button_url' => '', 'validate_ipn' => '', ), $atts ) ); return $this->generateHtml( $purpose, $reference, $amount, $return_page, $button_url, $validate_ipn ); } /** * Generate the PayPal button HTML code */ public function generateHtml( $purpose = null, $reference = null, $amount = null, $return_page = null, $button_url = null, $validate_ipn = '' ) { $pd_options = get_option(self::OPTION_DB_KEY); // Set overrides for purpose and reference if defined $purpose = (!$purpose) ? $pd_options['purpose'] : $purpose; $reference = (!$reference) ? $pd_options['reference'] : $reference; $amount = (!$amount) ? $pd_options['amount'] : $amount; $return_page = (!$return_page) ? $pd_options['return_page'] : $return_page; $button_url = (!$button_url) ? $pd_options['button_url'] : $button_url; $data = array( 'pd_options' => $pd_options, 'return_page' => $return_page, 'purpose' => $purpose, 'reference' => $reference, 'amount' => $amount, 'button_url' => $button_url, 'donate_buttons' => $this->donate_buttons, 'validate_ipn' => $validate_ipn, ); return PayPalDonations_View::render('paypal-button', $data); } // ------------------------------------------------------------------------- // Environment Checks // ------------------------------------------------------------------------- /** * Checks PHP and WordPress versions. */ private function testHost() { // Check if PHP is too old if (version_compare(PHP_VERSION, self::MIN_PHP_VERSION, '<')) { // Display notice add_action('admin_notices', array(&$this, 'phpVersionError')); return false; } // Check if WordPress is too old global $wp_version; if (version_compare($wp_version, self::MIN_WP_VERSION, '<')) { add_action('admin_notices', array(&$this, 'wpVersionError')); return false; } return true; } /** * Displays a warning when installed on an old PHP version. */ public function phpVersionError() { echo '

'; printf( 'Error: %3$s requires PHP version %1$s or greater.
'. 'Your installed PHP version: %2$s', self::MIN_PHP_VERSION, PHP_VERSION, $this->getPluginName() ); echo '

'; } /** * Displays a warning when installed in an old Wordpress version. */ public function wpVersionError() { echo '

'; printf( 'Error: %2$s requires WordPress version %1$s or greater.', self::MIN_WP_VERSION, $this->getPluginName() ); echo '

'; } /** * Get the name of this plugin. * * @return string The plugin name. */ private function getPluginName() { $data = get_plugin_data(self::FILE); return $data['Name']; } } add_action('plugins_loaded', array('PayPalDonations', 'getInstance'));

Leave a Reply