Google

Cyb3r Drag0nz Team Shell

Server : Apache
System : Linux webd003.cluster126.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : atwiofrxug (73666)
PHP Version : 8.4.10
Disable Functions : _dyuweyrj4,_dyuweyrj4r,dl
Current Directory : /home/atwiofrxug/mylittletelaviv/wp-content/plugins/wp-seo-qtranslate-x/
Directory Status: Writeable | Document Root: Writeable

Upload File







Viewing: /home/atwiofrxug/mylittletelaviv/wp-content/plugins/wp-seo-qtranslate-x/qwpseo-admin.php

<?php
if(!defined('ABSPATH'))exit;

add_filter('i18n_admin_config','qwpseo_add_admin_page_config');
function qwpseo_add_admin_page_config($page_configs)
{
	if(!isset($page_configs['yoast_wpseo'])) $page_configs['yoast_wpseo'] = array();
	$page_config = &$page_configs['yoast_wpseo'];
	if(!isset($page_config['pages']))
		$page_config['pages'] = array( 'post.php' => '', 'post-new.php' => '', 'term.php' => '', 'edit-tags.php' => 'action=edit' );

	global $pagenow;
	if($pagenow == 'term.php'){
		$page_config['anchors'] = array( 'edittag' => array("where" => "before"), 'poststuff' => array('where' => 'before') );
	}

	$page_config['js-exec'] = array();
	$js = &$page_config['js-exec']; // shorthand

	$dir = qtranxf_dir_from_wp_content(__FILE__);

	switch($pagenow){
		case 'term.php':
			$js[] = array( 'handle' =>'qwpseo-prep', 'src' => $dir.'/js/qwpseo-prep.min.js', 'ver' => QWPSEO_VERSION, 'deps' => array('qtranslate-admin-common'));
			$deps[] = 'yoast-seo-term-scraper';
			break;
		case 'post-new.php':
		case 'post.php':
			$deps[] = 'yoast-seo-post-scraper';
			break;
		default: $deps = array(); break;
	}

	if(!empty($deps)){
		$js[] = array( 'handle' =>'qwpseo-exec', 'src' => $dir.'/js/qwpseo-exec.min.js', 'ver' => QWPSEO_VERSION, 'deps' => $deps);
	}

	if(empty($page_config['forms'])) $page_config['forms'] = array();
	if(empty($page_config['forms']['document'])) $page_config['forms']['document'] = array();
	if(empty($page_config['forms']['document']['fields'])) $page_config['forms']['document']['fields'] = array();
	$fields = &$page_config['forms']['document']['fields']; // shorthand

	$code = array( 'encode' => '{' );
	$ids = qwpseo_get_meta_keys();
	foreach($ids as $id){
		//they keeps changing the HTML ids, so, set all values used so far
		$fields[$id] = $code;
		$fields['yoast_'.$id] = $code;
		$fields['hidden_'.$id] = $code;

		add_filter( 'wpseo_sanitize_tax_meta_'.$id, 'qwpseo_sanitize_tax_meta', 5, 3);
	}

	return $page_configs;
}

function qwpseo_admin_filters(){
	global $pagenow, $q_config;
	switch($pagenow){
		case 'edit.php':
			$ids = qwpseo_get_meta_keys();
			foreach($ids as $id){
				add_filter( $id, 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');
				//add_filter( 'wpseo_title', 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');
				//add_filter( 'wpseo_meta', 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');
				//add_filter( 'wpseo_metadesc', 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');
			}
			//todo add_filter( "get_post_metadata", 'qwpseo_get_metadata_post', 5, 4);
		break;
		case 'post.php':
		case 'post-new.php':
			if($q_config['editor_mode'] == QTX_EDITOR_MODE_SINGLGE){
				add_filter( 'get_post_metadata', 'qwpseo_get_post_metadata', 5, 4);
				//add_filter( 'option_blogname', 'qtranxf_useCurrentLanguageIfNotFoundShowEmpty');
			}

			//to prevent the effect of 'strip_tags' in function 'retrieve_sitename' in '/wp-content/plugins/wordpress-seo/inc/class-wpseo-replace-vars.php'
			add_filter( 'option_blogname', 'qwpseo_encode_swirly');
			add_filter( 'option_blogdescription', 'qwpseo_encode_swirly');
			if( defined('WPSEO_VERSION') && intval(substr(WPSEO_VERSION,0,1)) < 3 ) {
				//to make "Page Analysis" work in Single Language Mode
				add_filter( 'wpseo_pre_analysis_post_content', 'qtranxf_useCurrentLanguageIfNotFoundShowEmpty');
			}
		break;
	}

	add_action( 'admin_init', 'qwpseo_script_deps', 99 );

	if(isset($_POST['yoast_wpseo_focuskw_text_input']))
		unset($_POST['yoast_wpseo_focuskw_text_input']); // this causes creation a ghost db entry in wp_postmeta with meta_key '_yoast_wpseo_focuskw_text_input', while the wanted value is stored in '_yoast_wpseo_focuskw'
}
qwpseo_admin_filters();

/**
 * Modifies dependencies of the Yoast scripts.
 * @return void
 */
function qwpseo_script_deps(){
	global $pagenow;
	switch($pagenow){
		case 'edit-tags.php':
		case 'term.php':
			$handles = array('term-scraper' => 'qwpseo-prep');
			break;
		case 'post.php':
		case 'post-new.php':
			$handles = array('post-scraper' => 'qtranslate-admin-common');
			break;
		default: return;
	}

	$scripts = wp_scripts();
	$registered = $scripts->registered;

	//$handles = array('post-scraper', 'term-scraper', 'replacevar-plugin', 'admin-global-script', 'metabox');
	//$handles = array('term-scraper');
	foreach($handles as $handle => $dep){
		$key = WPSEO_Admin_Asset_Manager::PREFIX.$handle;
		if(!isset($registered[$key]))
			continue;
		$r = &$registered[$key];
		if(!isset($r->deps))
			$r->deps = array();
		$r->deps[] = $dep;
	}
}

/**
 * Very ugly hack to workaround. Fortunately this problem is gone after some deprecation in 3.0
 * @param mixed $original_value 
 * @param mixed $object_id 
 * @param mixed $meta_key 
 * @param mixed $single 
 * @return mixed
 */
function qwpseo_get_post_metadata($original_value, $object_id, $meta_key = '', $single = false)
{
	global $q_config;
	if(empty($meta_key)){
		//very ugly hack
		$trace = debug_backtrace();
		//qtranxf_dbg_log('qwpseo_get_post_metadata: $trace: ',$trace);
		//qtranxf_dbg_log('qwpseo_get_post_metadata: $trace[6][args][0]: ',$trace[6]['args'][0]);
		//qtranxf_dbg_log('qwpseo_get_post_metadata: $trace[7][function]: ',$trace[7]['function']);
		if( isset($trace[7]['function']) && $trace[7]['function'] === 'calculate_results' &&
				isset($trace[6]['args'][0]) && $trace[6]['args'][0] === 'focuskw'
		){
			//qtranxf_dbg_log('qwpseo_get_post_metadata: $object_id: ',$object_id);
			//qtranxf_dbg_log('qwpseo_get_post_metadata: $single: ',$single);
			$key = WPSEO_Meta::$meta_prefix . 'focuskw';
			$focuskw = get_metadata('post',$object_id,$key,true);
			//qtranxf_dbg_log('qwpseo_get_post_metadata: $focuskw: ',$focuskw);
			$focuskw = qtranxf_use_language($q_config['language'],$focuskw);
			return array( $key => array($focuskw));
		}
	}
	return $original_value;
}

/**
 * adds single-language sitemap links to the Yoast configuration page for XML Sitemaps.
*/
function qwpseo_xmlsitemaps_config()
{
	global $q_config;
	$options = get_option( 'wpseo_xml' );
	//qtranxf_dbg_log('qwpseo_xmlsitemaps_config: $options: ',$options);
	if(empty($options['enablexmlsitemap'])) return;
	printf(__('%sNotes from %s'.PHP_EOL), '<h3>', 'qTranslate&#8209;X</h3>');
	echo '<p>'.PHP_EOL;
	echo __('In addition to main XML Sitemap, you may also view sitemaps for each individual language:').PHP_EOL;
	echo '<ul>'.PHP_EOL;
	$sitemap_index_url = qtranxf_convertURL(get_option('home').'/sitemap_index.xml', $q_config['default_language'], true);
	$url = home_url('i18n-index-sitemap.xml');
	$rb = '';
	foreach($q_config['enabled_languages'] as $lang){
		$href = qtranxf_convertURL($url,$lang,true,true);
		$u = $q_config['default_language'] == $lang ? qtranxf_convertURL($url,$lang,true,false) : $href;
		echo '<li>'.$q_config['language_name'][$lang].' ('.$lang.', '.$q_config['locale'][$lang].'): <a href="'.$href.'" target="_blank">'.$u.'</a></li>'.PHP_EOL;
		$rb .= 'Sitemap: '.$u.PHP_EOL;
	}
	echo '</ul><br />'.PHP_EOL;
	printf(__('It is advisable to append the site\'s "%s" with the list of index sitemaps separated by language'),'/robots.txt');
	$nmaps = count($q_config['enabled_languages'])+1;
	echo '<br /><textarea class="widefat" rows="'.$nmaps.'" name="robots-sitemaps" readonly="readonly">'.$rb.'</textarea>'.PHP_EOL;
	//echo '<pre>'.$rb.'</pre>'.PHP_EOL;
	echo '<br />or with this single entry of flat multilingual index sitemap<br /><textarea class="widefat" rows="2" name="robots-sitemap" readonly="readonly">Sitemap: '.$sitemap_index_url.'</textarea>'.PHP_EOL;
	echo '<br />Do not combine two sets together, since they both equally cover all languages in all pages as defined by Yoast configuration.';
	echo '</p>'.PHP_EOL;
}
add_action( 'wpseo_xmlsitemaps_config', 'qwpseo_xmlsitemaps_config' );

/**
 * Change encoding of $value to swirly breckets, '{'.
 * @since 1.1
*/
function qwpseo_encode_swirly($value)
{
	//qtranxf_dbg_log('qwpseo_encode_swirly: $value: ',$value);
	$value = preg_replace('#\[:([a-z]{2}|)\]#i','{:$1}',$value);
	return $value;
}

/**
 * Workaround for "filter_input( INPUT_POST, $key )" in function update_term(...) in /plugins/wordpress-seo/admin/taxonomy/class-taxonomy.php.
 * Function 'filter_input' does not read $_POST and there seem to be no way to alter values provided by INPUT_POST.
 * @param string $key 
 * @param mixed $value 
 * @param mixed $value_posted 
 * @param mixed $value_old 
 * @return mixed
 */
function qwpseo_parse_value_posted($key, $value, $value_posted=null, $value_old=null)
{
	if(empty($_POST[$key]) || !qtranxf_isMultilingual($_POST[$key]) || !class_exists('WPSEO_Utils'))
		return $value;
	$v = WPSEO_Utils::sanitize_text_field( stripslashes( $_POST[$key] ) );
	return $v;
}

/**
 * Response to
 * apply_filters( 'wpseo_sanitize_tax_meta_' . $key, $clean[ $key ], ( isset( $meta_data[ $key ] ) ? $meta_data[ $key ] : null ), ( isset( $old_meta[ $key ] ) ? $old_meta[ $key ] : null ) );
 * @param mixed $value 
 * @param mixed $value_posted 
 * @param mixed $value_old 
 * @return mixed
 */
function qwpseo_sanitize_tax_meta($value, $value_posted=null, $value_old=null)
{
	$key = current_filter();
	$key = substr($key,24);
	return qwpseo_parse_value_posted($key, $value, $value_posted, $value_old);
}

/**
 * Response to 
 * $check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
 * @param mixed $value 
 * @param mixed $object_id 
 * @param mixed $meta_key 
 * @param mixed $single 
 * @return mixed
 */
function qwpseo_get_metadata_post($value, $object_id, $meta_key, $single){
	$meta_type = 'post';
	//code from function get_metadata in /wp-includes/meta.php

	$meta_cache = wp_cache_get($object_id, $meta_type . '_meta');

	if ( !$meta_cache ) {
		$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
		$meta_cache = $meta_cache[$object_id];
	}

	$mlcache = array();
	if ( !isset($mlcache[$object_id]) ) {
		$mlcache[$object_id] = array();
		$cache = &$mlcache[$object_id];
		$lang = qtranxf_getLanguage();
		foreach($meta_cache as $key => $values){
			foreach($values as $i => $value){
				if(qtranxf_isMultilingual($value)){
					if(is_serialized($value)){
						$mlv = unserialize($value);
						$v = qtranxf_use($lang, $mlv, false, false);
						$value = serialize($v);
					}else{
						$value = qtranxf_use_language($lang, $value, false, false);
					}
					$values[$i] = $value;
				}
			}
			$cache[$key] = $values;
		}
		$meta_cache = $cache;
	}

	if ( ! $meta_key ) {
		return $meta_cache;
	}

	if ( isset($meta_cache[$meta_key]) ) {
		if ( $single )
			return maybe_unserialize( $meta_cache[$meta_key][0] );
		else
			return array_map('maybe_unserialize', $meta_cache[$meta_key]);
	}

	if ($single)
		return '';
	else
		return array();
}

Cyb3r Drag0nz Team • Google Edition