hello 404 Not Found
Al-HUWAITI Shell
Al-huwaiti


Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : chryzalihi ( 621211)
PHP Version : 8.3.31
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/chryzalihi/www/wp-content/languages/themes/the/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/chryzalihi/www/wp-content/languages/themes/the/background.tar
background.min.css000064400000002432152426013630010162 0ustar00.bloglo-background-wrapper .actions {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 12px;
}
.bloglo-background-wrapper .actions .button {
  margin-top: 0;
}
.bloglo-background-wrapper .actions .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}
.bloglo-background-wrapper .actions .advanced-settings.up span.dashicons {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.bloglo-background-wrapper .actions .advanced-settings:hover {
  color: #0085ba;
}
.bloglo-background-wrapper .actions .advanced-settings.hidden {
  display: none;
}
.bloglo-background-wrapper .actions .background-image-upload-remove-button {
  margin-right: 6px;
}
.bloglo-background-wrapper .background-image {
  margin-top: 12px;
  margin-bottom: 24px;
}
.bloglo-background-wrapper .background-repeat {
  margin-bottom: 6px;
}
.bloglo-background-wrapper .more-settings.up {
  color: #0085ba;
}
.bloglo-background-wrapper h4 {
  margin-bottom: 12px;
}
background.scss000064400000001627152426013630007570 0ustar00/*****************************************/
/* Customizer background control style
/*****************************************/

.bloglo-background-wrapper {
  .actions {
    display: flex;
    align-items: center;
    margin-top: 12px;

    .button {
      margin-top: 0;
    }

    .advanced-settings {
      display: flex;
      align-items: center;
      margin-left: auto;
      text-decoration: none;
      color: #555d66;

      &.up {
        span.dashicons {
          transform: rotate(180deg);
        }
      }

      &:hover {
        color: #0085ba;
      }

      &.hidden {
        display: none;
      }
    }

    .background-image-upload-remove-button {
      margin-right: 6px;
    }
  }

  .background-image {
    margin-top: 12px;
    margin-bottom: 24px;
  }

  .background-repeat {
    margin-bottom: 6px;
  }

  .more-settings.up {
    color: #0085ba;
  }

  h4 {
    margin-bottom: 12px;
  }
}
class-bloglo-customizer-control-background.php000064400000022207152426013630015640 0ustar00<?php
/**
 * Bloglo Customizer custom background control class.
 *
 * @package Bloglo
 * @author Peregrine Themes
 * @since   1.0.0
 */

/**
 * Do not allow direct script access.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'Bloglo_Customizer_Control_Background' ) ) :
	/**
	 * Bloglo Customizer custom background control class.
	 */
	class Bloglo_Customizer_Control_Background extends Bloglo_Customizer_Control {

		/**
		 * The control type.
		 *
		 * @var string
		 */
		public $type = 'bloglo-background';

		/**
		 * Show advanced settings.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $advanced = true;

		/**
		 * Media upload strings.
		 *
		 * @since  1.0.0
		 * @var    boolean
		 */
		public $strings = array();

		/**
		 * Set the default typography options.
		 *
		 * @since 1.0.0
		 * @param WP_Customize_Manager $manager Customizer bootstrap instance.
		 * @param string               $id      Control ID.
		 * @param array                $args    Default parent's arguments.
		 */
		public function __construct( $manager, $id, $args = array() ) {

			parent::__construct( $manager, $id, $args );

			$default_strings = array(
				'placeholder'  => __( 'No image selected', 'bloglo' ),
				'less'         => __( 'Less Settings', 'bloglo' ),
				'more'         => __( 'Advanced', 'bloglo' ),
				'select_image' => __( 'Select Image', 'bloglo' ),
				'use_image'    => __( 'Use This Image', 'bloglo' ),
			);

			$strings = isset( $args['strings'] ) ? $args['strings'] : array();

			$this->strings = wp_parse_args( $strings, $default_strings );
		}

		/**
		 * Refresh the parameters passed to the JavaScript via JSON.
		 *
		 * @see WP_Customize_Control::to_json()
		 */
		public function to_json() {
			parent::to_json();

			$this->json['advanced'] = $this->advanced;
			$this->json['l10n']     = $this->strings;
		}

		/**
		 * An Underscore (JS) template for this control's content (but not its container).
		 *
		 * Class variables for this control class are available in the `data` JS object;
		 * export custom variables by overriding {@see WP_Customize_Control::to_json()}.
		 *
		 * @see WP_Customize_Control::print_template()
		 */
		protected function content_template() {
			?>
			<div class="bloglo-background-wrapper bloglo-control-wrapper">

				<# if ( data.label ) { #>
					<div class="bloglo-control-heading customize-control-title bloglo-field">
						<span>{{{ data.label }}}</span>

						<# if ( data.description ) { #>
							<i class="bloglo-info-icon">
								<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle">
									<circle cx="12" cy="12" r="10"></circle>
									<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
									<line x1="12" y1="17" x2="12" y2="17"></line>
								</svg>
								<span class="bloglo-tooltip">{{{ data.description }}}</span>
							</i>
						<# } #>
					</div>
				<# } #>

				<!-- Background Image -->
				<div class="background-image">

					<div class="attachment-media-view background-image-upload">

						<# if ( data.value['background-image'] ) { #>
							<div class="thumbnail thumbnail-image"><img src="{{ data.value['background-image'] }}" alt="" /></div>
						<# } else { #>
							<div class="placeholder"><?php esc_html_e( 'No image selected', 'bloglo' ); ?></div>
						<# } #>

						<div class="actions">

							<button class="button background-image-upload-remove-button<# if ( ! data.value['background-image'] ) { #> hidden<# } #>"><?php esc_html_e( 'Remove', 'bloglo' ); ?></button>

							<button type="button" class="button background-image-upload-button">{{{ data.l10n.select_image }}}</button>

							<# if ( data.advanced ) { #>
								<a href="#" class="advanced-settings<# if ( ! data.value['background-image'] ) { #> hidden<# } #>">
									<span class="message"><?php esc_html_e( 'Advanced', 'bloglo' ); ?></span>
									<span class="dashicons dashicons-arrow-down"></span>
								</a>
							<# } #>

						</div>
					</div>
				</div>

				<# if ( data.advanced ) { #>
					<!-- Background Advanced -->
					<div class="background-image-advanced">

						<!-- Background Repeat -->
						<div class="background-repeat">
							<select {{{ data.inputAttrs }}}>
								<option value="no-repeat"<# if ( 'no-repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'No Repeat', 'bloglo' ); ?></option>
								<option value="repeat"<# if ( 'repeat' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat All', 'bloglo' ); ?></option>
								<option value="repeat-x"<# if ( 'repeat-x' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Horizontally', 'bloglo' ); ?></option>
								<option value="repeat-y"<# if ( 'repeat-y' === data.value['background-repeat'] ) { #> selected <# } #>><?php esc_html_e( 'Repeat Vertically', 'bloglo' ); ?></option>
							</select>
						</div>

						<!-- Background Position -->
						<div class="background-position">

							<h4><?php esc_html_e( 'Background Position', 'bloglo' ); ?></h4>

							<div class="bloglo-range-wrapper">
								<span><?php esc_html_e( 'Horizontal', 'bloglo' ); ?></span>
								<div class="bloglo-control-wrap">
									<input 
										type="range" 
										data-key="background-position-x"
										value="{{ data.value['background-position-x'] }}" 
										min="0" 
										max="100" 
										step="1" />
									<input 
										type="number" 
										class="bloglo-range-input"
										value="{{ data.value['background-position-x'] }}"  />
									<span class="bloglo-range-unit">%</span>
								</div>
							</div>

							<div class="bloglo-range-wrapper">
								<span><?php esc_html_e( 'Vertical', 'bloglo' ); ?></span>
								<div class="bloglo-control-wrap">
									<input 
										type="range"
										data-key="background-position-y"
										value="{{ data.value['background-position-y'] }}" 
										min="0" 
										max="100" 
										step="1" />
									<input 
										type="number"
										class="bloglo-range-input"
										value="{{ data.value['background-position-y'] }}"  />
									<span class="bloglo-range-unit">%</span>
								</div>
							</div>

						</div>

						<!-- Background Size -->
						<div class="background-size">
							<h4><?php esc_html_e( 'Background Size', 'bloglo' ); ?></h4>
							<div class="buttonset">
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="cover" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}cover" <# if ( 'cover' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}cover"><?php esc_html_e( 'Cover', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="contain" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}contain" <# if ( 'contain' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}contain"><?php esc_html_e( 'Contain', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="auto" name="_customize-bg-{{{ data.id }}}-size" id="{{ data.id }}auto" <# if ( 'auto' === data.value['background-size'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}auto"><?php esc_html_e( 'Auto', 'bloglo' ); ?></label>
								</input>
							</div>
						</div>

						<!-- Background Attachment -->
						<div class="background-attachment">
							<h4><?php esc_html_e( 'Background Attachment', 'bloglo' ); ?></h4>
							<div class="buttonset">
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="inherit" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}inherit" <# if ( 'inherit' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}inherit"><?php esc_html_e( 'Inherit', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="scroll" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}scroll" <# if ( 'scroll' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}scroll"><?php esc_html_e( 'Scroll', 'bloglo' ); ?></label>
								</input>
								<input {{{ data.inputAttrs }}} class="switch-input screen-reader-text" type="radio" value="fixed" name="_customize-bg-{{{ data.id }}}-attachment" id="{{ data.id }}fixed" <# if ( 'fixed' === data.value['background-attachment'] ) { #> checked="checked" <# } #>>
									<label class="switch-label" for="{{ data.id }}fixed"><?php esc_html_e( 'Fixed', 'bloglo' ); ?></label>
								</input>
							</div>
						</div>

						<!-- Background Image ID -->
						<input type="hidden" value="{{ data.value['background-image-id'] }}" class="background-image-id" />
					</div>
				<# } #>
			<?php
		}

	}
endif;
background.css000064400000002643152426013630007404 0ustar00/*****************************************/
/* Customizer background control style
/*****************************************/
.bloglo-background-wrapper .actions {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 12px;
}

.bloglo-background-wrapper .actions .button {
  margin-top: 0;
}

.bloglo-background-wrapper .actions .advanced-settings {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  text-decoration: none;
  color: #555d66;
}

.bloglo-background-wrapper .actions .advanced-settings.up span.dashicons {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.bloglo-background-wrapper .actions .advanced-settings:hover {
  color: #0085ba;
}

.bloglo-background-wrapper .actions .advanced-settings.hidden {
  display: none;
}

.bloglo-background-wrapper .actions .background-image-upload-remove-button {
  margin-right: 6px;
}

.bloglo-background-wrapper .background-image {
  margin-top: 12px;
  margin-bottom: 24px;
}

.bloglo-background-wrapper .background-repeat {
  margin-bottom: 6px;
}

.bloglo-background-wrapper .more-settings.up {
  color: #0085ba;
}

.bloglo-background-wrapper h4 {
  margin-bottom: 12px;
}
background.min.js000064400000033066152426013630010015 0ustar00!(function ($) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        var range,
          range_input,
          bloglo_range_input_number_timeout,
          control = this,
          value = control.setting._value;
        control.container.find(".background-image-advanced").hide(),
          control.container.on(
            "change",
            ".background-repeat select",
            function () {
              control.saveValue("background-repeat", $(this).val());
            }
          ),
          control.container.on(
            "change click",
            ".background-size input",
            function () {
              control.saveValue("background-size", $(this).val());
            }
          ),
          control.container.on(
            "change click",
            ".background-attachment input",
            function () {
              control.saveValue("background-attachment", $(this).val());
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-button",
            function (e) {
              var image = wp
                .media({
                  multiple: !1,
                  title: control.params.l10n.select_image,
                  button: { text: control.params.l10n.use_image },
                })
                .open()
                .on("select", function () {
                  var previewImage,
                    imageUrl,
                    imageID,
                    preview,
                    removeButton,
                    uploadedImageJSON = image
                      .state()
                      .get("selection")
                      .first()
                      .toJSON();
                  (previewImage = _.isUndefined(uploadedImageJSON.sizes)
                    ? uploadedImageJSON.url
                    : _.isUndefined(uploadedImageJSON.sizes.medium)
                    ? _.isUndefined(uploadedImageJSON.sizes.thumbnail)
                      ? _.isUndefined(uploadedImageJSON.sizes.full)
                        ? uploadedImageJSON.url
                        : uploadedImageJSON.sizes.full.url
                      : uploadedImageJSON.sizes.thumbnail.url
                    : uploadedImageJSON.sizes.medium.url),
                    (imageUrl = uploadedImageJSON.url),
                    (imageID = uploadedImageJSON.id),
                    uploadedImageJSON.width,
                    uploadedImageJSON.height,
                    "" !== imageUrl &&
                      (control.container
                        .find(".background-image-advanced")
                        .show(),
                      control.container
                        .find(".advanced-settings")
                        .removeClass("hidden")
                        .addClass("up")),
                    control.saveValue("background-image", imageUrl),
                    control.saveValue("background-image-id", imageID),
                    (preview = control.container.find(
                      ".placeholder, .thumbnail"
                    )),
                    (removeButton = control.container.find(
                      ".background-image-upload-remove-button"
                    )),
                    preview.length &&
                      preview
                        .removeClass()
                        .addClass("thumbnail thumbnail-image")
                        .html('<img src="' + previewImage + '" alt="" />'),
                    removeButton.length && removeButton.show();
                });
              e.preventDefault();
            }
          ),
          control.container.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var preview, removeButton;
              e.preventDefault(),
                control.saveValue("background-image", ""),
                control.saveValue("background-image-id", ""),
                (preview = control.container.find(".placeholder, .thumbnail")),
                (removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                )),
                control.container.find(".background-image-advanced").hide(),
                control.container
                  .find(".advanced-settings")
                  .addClass("hidden")
                  .removeClass("up"),
                preview.length &&
                  preview
                    .removeClass()
                    .addClass("placeholder")
                    .html(control.params.l10n.placeholder),
                removeButton.length && removeButton.hide();
            }
          ),
          control.container.on("click", ".advanced-settings", function (e) {
            $(this).toggleClass("up"),
              control.container.find(".background-image-advanced").toggle();
          }),
          control.container
            .find("input.bloglo-range-input")
            .on("change keyup", function () {
              control.autocorrect_range_input_number(
                $(this),
                1e3,
                bloglo_range_input_number_timeout
              );
            })
            .on("focusout", function () {
              control.autocorrect_range_input_number(
                $(this),
                0,
                bloglo_range_input_number_timeout
              );
            }),
          control.container
            .find("input[type=range]")
            .on("mousedown", function () {
              (range = $(this)),
                (range_input = range.parent().children(".bloglo-range-input")),
                (value = range.attr("value")),
                range_input.val(value),
                range.mousemove(function () {
                  (value = range.attr("value")),
                    range_input.val(value),
                    clearTimeout(bloglo_range_input_number_timeout),
                    (bloglo_range_input_number_timeout = setTimeout(
                      function () {
                        control.saveValue(range.data("key"), value);
                      },
                      25
                    ));
                });
            });
      },
      saveValue: function (property, value) {
        var val = this.setting.get();
        value !== (val = val || {})[property] &&
          (((val = JSON.parse(JSON.stringify(val)))[property] = value),
          this.setting.set(val));
      },
      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));
        clearTimeout(timeout),
          (timeout = setTimeout(function () {
            if (isNaN(value)) {
              return (
                range_input.val(reset), void range.val(reset).trigger("change")
              );
            }
            1 <= step &&
              0 != value % 1 &&
              ((value = Math.round(value)),
              range_input.val(value),
              range.val(value).trigger("change")),
              value > max &&
                (range_input.val(max), range.val(max).trigger("change")),
              value < min &&
                (range_input.val(min), range.val(min).trigger("change"));
          }, timeout)),
          range.val(value).trigger("change"),
          this.saveValue(range.data("key"), value);
      },
    });
})(jQuery);
!(function (e) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";
        var a,
          n,
          t,
          i = this,
          r = i.setting._value;
        i.container.find(".background-image-advanced").hide(),
          i.container.on("change", ".background-repeat select", function () {
            i.saveValue("background-repeat", e(this).val());
          }),
          i.container.on("change click", ".background-size input", function () {
            i.saveValue("background-size", e(this).val());
          }),
          i.container.on(
            "change click",
            ".background-attachment input",
            function () {
              i.saveValue("background-attachment", e(this).val());
            }
          ),
          i.container.on(
            "click",
            ".background-image-upload-button",
            function (e) {
              var a = wp
                .media({
                  multiple: !1,
                  title: i.params.l10n.select_image,
                  button: { text: i.params.l10n.use_image },
                })
                .open()
                .on("select", function () {
                  var e,
                    n,
                    t,
                    r,
                    o,
                    u = a.state().get("selection").first().toJSON();
                  (e = _.isUndefined(u.sizes)
                    ? u.url
                    : _.isUndefined(u.sizes.medium)
                    ? _.isUndefined(u.sizes.thumbnail)
                      ? _.isUndefined(u.sizes.full)
                        ? u.url
                        : u.sizes.full.url
                      : u.sizes.thumbnail.url
                    : u.sizes.medium.url),
                    (n = u.url),
                    (t = u.id),
                    u.width,
                    u.height,
                    "" !== n &&
                      (i.container.find(".background-image-advanced").show(),
                      i.container
                        .find(".advanced-settings")
                        .removeClass("hidden")
                        .addClass("up")),
                    i.saveValue("background-image", n),
                    i.saveValue("background-image-id", t),
                    (r = i.container.find(".placeholder, .thumbnail")),
                    (o = i.container.find(
                      ".background-image-upload-remove-button"
                    )),
                    r.length &&
                      r
                        .removeClass()
                        .addClass("thumbnail thumbnail-image")
                        .html('<img src="' + e + '" alt="" />'),
                    o.length && o.show();
                });
              e.preventDefault();
            }
          ),
          i.container.on(
            "click",
            ".background-image-upload-remove-button",
            function (e) {
              var a, n;
              e.preventDefault(),
                i.saveValue("background-image", ""),
                i.saveValue("background-image-id", ""),
                (a = i.container.find(".placeholder, .thumbnail")),
                (n = i.container.find(
                  ".background-image-upload-remove-button"
                )),
                i.container.find(".background-image-advanced").hide(),
                i.container
                  .find(".advanced-settings")
                  .addClass("hidden")
                  .removeClass("up"),
                a.length &&
                  a
                    .removeClass()
                    .addClass("placeholder")
                    .html(i.params.l10n.placeholder),
                n.length && n.hide();
            }
          ),
          i.container.on("click", ".advanced-settings", function (a) {
            e(this).toggleClass("up"),
              i.container.find(".background-image-advanced").toggle();
          }),
          i.container
            .find("input.bloglo-range-input")
            .on("change keyup", function () {
              i.autocorrect_range_input_number(e(this), 1e3, t);
            })
            .on("focusout", function () {
              i.autocorrect_range_input_number(e(this), 0, t);
            }),
          i.container.find("input[type=range]").on("mousedown", function () {
            (a = e(this)),
              (n = a.parent().children(".bloglo-range-input")),
              (r = a.attr("value")),
              n.val(r),
              a.mousemove(function () {
                (r = a.attr("value")),
                  n.val(r),
                  clearTimeout(t),
                  (t = setTimeout(function () {
                    i.saveValue(a.data("key"), r);
                  }, 25));
              });
          });
      },
      saveValue: function (e, a) {
        var n = this.setting.get();
        a !== (n = n || {})[e] &&
          (((n = JSON.parse(JSON.stringify(n)))[e] = a), this.setting.set(n));
      },
      autocorrect_range_input_number: function (e, a) {
        var n = e,
          t = n.parent().find('input[type="range"]'),
          i = parseFloat(n.val()),
          r = parseFloat(
            t.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          o = parseFloat(n.attr("step")),
          u = parseFloat(n.attr("min")),
          s = parseFloat(n.attr("max"));
        clearTimeout(a),
          (a = setTimeout(function () {
            if (isNaN(i)) return n.val(r), void t.val(r).trigger("change");
            1 <= o &&
              0 != i % 1 &&
              ((i = Math.round(i)), n.val(i), t.val(i).trigger("change")),
              i > s && (n.val(s), t.val(s).trigger("change")),
              i < u && (n.val(u), t.val(u).trigger("change"));
          }, a)),
          t.val(i).trigger("change"),
          this.saveValue(t.data("key"), i);
      },
    });
})(jQuery);
background.js000064400000020164152426013630007226 0ustar00(function ($) {
  wp.customize.controlConstructor["bloglo-background"] =
    wp.customize.Control.extend({
      ready: function () {
        "use strict";

        var control = this,
          range,
          range_input,
          timer,
          bloglo_range_input_number_timeout,
          value = control.setting._value;

        // Hide unnecessary controls.
        control.container.find(".background-image-advanced").hide();

        // Background-Repeat.
        control.container.on(
          "change",
          ".background-repeat select",
          function () {
            control.saveValue("background-repeat", $(this).val());
          }
        );

        // Background-Size.
        control.container.on(
          "change click",
          ".background-size input",
          function () {
            control.saveValue("background-size", $(this).val());
          }
        );

        // Background-Attachment.
        control.container.on(
          "change click",
          ".background-attachment input",
          function () {
            control.saveValue("background-attachment", $(this).val());
          }
        );

        // Background-Image.
        control.container.on(
          "click",
          ".background-image-upload-button",
          function (e) {
            var image = wp
              .media({
                multiple: false,
                title: control.params.l10n.select_image,
                button: {
                  text: control.params.l10n.use_image,
                },
              })
              .open()
              .on("select", function () {
                // This will return the selected image from the Media Uploader, the result is an object.
                var uploadedImage = image.state().get("selection").first(),
                  uploadedImageJSON = uploadedImage.toJSON(),
                  previewImage,
                  imageUrl,
                  imageID,
                  imageWidth,
                  imageHeight,
                  preview,
                  removeButton;

                if (!_.isUndefined(uploadedImageJSON.sizes)) {
                  if (!_.isUndefined(uploadedImageJSON.sizes.medium)) {
                    previewImage = uploadedImageJSON.sizes.medium.url;
                  } else if (
                    !_.isUndefined(uploadedImageJSON.sizes.thumbnail)
                  ) {
                    previewImage = uploadedImageJSON.sizes.thumbnail.url;
                  } else if (!_.isUndefined(uploadedImageJSON.sizes.full)) {
                    previewImage = uploadedImageJSON.sizes.full.url;
                  } else {
                    previewImage = uploadedImageJSON.url;
                  }
                } else {
                  previewImage = uploadedImageJSON.url;
                }

                imageUrl = uploadedImageJSON.url;
                imageID = uploadedImageJSON.id;
                imageWidth = uploadedImageJSON.width;
                imageHeight = uploadedImageJSON.height;

                // Show extra controls if the value has an image.
                if ("" !== imageUrl) {
                  control.container.find(".background-image-advanced").show();
                  control.container
                    .find(".advanced-settings")
                    .removeClass("hidden")
                    .addClass("up");
                }

                control.saveValue("background-image", imageUrl);
                control.saveValue("background-image-id", imageID);
                preview = control.container.find(".placeholder, .thumbnail");
                removeButton = control.container.find(
                  ".background-image-upload-remove-button"
                );

                if (preview.length) {
                  preview
                    .removeClass()
                    .addClass("thumbnail thumbnail-image")
                    .html('<img src="' + previewImage + '" alt="" />');
                }
                if (removeButton.length) {
                  removeButton.show();
                }
              });

            e.preventDefault();
          }
        );

        control.container.on(
          "click",
          ".background-image-upload-remove-button",
          function (e) {
            var preview, removeButton;

            e.preventDefault();

            control.saveValue("background-image", "");
            control.saveValue("background-image-id", "");

            preview = control.container.find(".placeholder, .thumbnail");
            removeButton = control.container.find(
              ".background-image-upload-remove-button"
            );

            // Hide unnecessary controls.
            control.container.find(".background-image-advanced").hide();
            control.container
              .find(".advanced-settings")
              .addClass("hidden")
              .removeClass("up");

            if (preview.length) {
              preview
                .removeClass()
                .addClass("placeholder")
                .html(control.params.l10n.placeholder);
            }

            if (removeButton.length) {
              removeButton.hide();
            }
          }
        );

        control.container.on("click", ".advanced-settings", function (e) {
          $(this).toggleClass("up");
          control.container.find(".background-image-advanced").toggle();
        });

        // Change the text value
        control.container
          .find("input.bloglo-range-input")
          .on("change keyup", function () {
            control.autocorrect_range_input_number(
              $(this),
              1000,
              bloglo_range_input_number_timeout
            );
          })
          .on("focusout", function () {
            control.autocorrect_range_input_number(
              $(this),
              0,
              bloglo_range_input_number_timeout
            );
          });

        // Update the range value
        control.container
          .find("input[type=range]")
          .on("mousedown", function () {
            range = $(this);
            range_input = range.parent().children(".bloglo-range-input");
            value = range.attr("value");

            range_input.val(value);

            range.mousemove(function () {
              value = range.attr("value");
              range_input.val(value);

              clearTimeout(bloglo_range_input_number_timeout);

              bloglo_range_input_number_timeout = setTimeout(function () {
                control.saveValue(range.data("key"), value);
              }, 25);
            });
          });
      },

      /**
       * Saves the value.
       */
      saveValue: function (property, value) {
        var val = this.setting.get();
        val = val || {};

        if (value !== val[property]) {
          val = JSON.parse(JSON.stringify(val));
          val[property] = value;
          this.setting.set(val);
        }
      },

      autocorrect_range_input_number: function (input_number, timeout) {
        var range_input = input_number,
          range = range_input.parent().find('input[type="range"]'),
          value = parseFloat(range_input.val()),
          reset = parseFloat(
            range.find(".bloglo-reset-range").attr("data-reset_value")
          ),
          step = parseFloat(range_input.attr("step")),
          min = parseFloat(range_input.attr("min")),
          max = parseFloat(range_input.attr("max"));

        clearTimeout(timeout);

        timeout = setTimeout(function () {
          if (isNaN(value)) {
            range_input.val(reset);
            range.val(reset).trigger("change");
            return;
          }

          if (1 <= step && 0 !== value % 1) {
            value = Math.round(value);
            range_input.val(value);
            range.val(value).trigger("change");
          }

          if (value > max) {
            range_input.val(max);
            range.val(max).trigger("change");
          }

          if (value < min) {
            range_input.val(min);
            range.val(min).trigger("change");
          }
        }, timeout);

        range.val(value).trigger("change");
        this.saveValue(range.data("key"), value);
      },
    });
})(jQuery);

Al-HUWAITI Shell