File Manager

Current Path : /webspace/www.cordales.be/html/wp-content/plugins/nextgen-gallery/src/Settings/
Upload File :
Current File : //webspace/www.cordales.be/html/wp-content/plugins/nextgen-gallery/src/Settings/Settings.php

<?php

namespace Imagely\NGG\Settings;

use Imagely\NGG\Util\Serializable;

class Settings extends ManagerBase {

	protected static $instance = null;

	/**
	 * @return Settings
	 */
	public static function get_instance() {
		if ( is_null( self::$instance ) ) {
			self::$instance = new Settings();

			// This setting must be an option handler as it cannot be static.
			self::$instance->add_option_handler( '\Imagely\NGG\Settings\Ajax_URL_Option_Handler', [ 'ajax_url' ] );
		}
		return self::$instance;
	}

	public function save() {
		return \update_option( self::$option_name, $this->to_array() );
	}

	public function load() {
		$this->_options = \get_option( self::$option_name, [] );

		if ( ! $this->_options ) {
			$this->_options = [];
		} elseif ( is_string( $this->_options ) ) {
			try {

				$this->_options = Serializable::unserialize( $this->_options );
			} catch ( \Exception $exception ) {
				$this->_options = [];
			}
		}
	}

	public function destroy() {
		\delete_option( self::$option_name );
	}
}

class Ajax_URL_Option_Handler {

	public function get( $key, $default = null ) {
		$retval = $default;

		if ( $key == 'ajax_url' ) {
			$retval = site_url( '/index.php?' . NGG_AJAX_SLUG . '=1' );
			if ( is_ssl() && strpos( $retval, 'https' ) === false ) {
				$retval = str_replace( 'http', 'https', $retval );
			}
		}

		return $retval;
	}
}

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com