'Настройка доменов и регионов', 'menu_title' => 'Домены', 'menu_slug' => 'domains', 'capability' => 'edit_posts', 'redirect' => false, 'icon_url'=>'dashicons-admin-site-alt' )); //iretail Domains class IRD { public static $domainMain,$domains,$domain,$d,$placeholders; public static function init() { if (stripos($_SERVER['HTTP_HOST'],'demo7.')!==false) self::$domainMain='demo7.i-retail.com'; else self::$domainMain='i-retail.com'; // var_dump(get_field('вщьфшт')); $domain=str_replace(['.'.self::$domainMain,self::$domainMain],'',strtolower($_SERVER['HTTP_HOST'])); // global $server_request_uri; // if (strpos($server_request_uri, "/ru/") !== 0 && !($domain == 'www' || $domain == 'demo7')) { // global $page_url; // $new_url = str_replace($domain, 'www', $page_url); // echo '
'; // var_dump($domain); // var_dump($page_url); // var_dump($new_url); // // echo '
'; //// $domain_old = $domain; //// $domain = 'www'; // // // Выполняем редирект // header('Location: ' . $new_url, true, 301); // exit(); // // } self::$domain=$domain; self::$domains=get_field('domains','option'); // var_dump($domain,self::$domains); // die; foreach(self::$domains as $r) { if ($r['domain']==$domain) { self::$d=$r; break; } } // self::checkRedirect(); self::$d['phoneHref']=preg_replace('/[^\d]/','',IRD::$d['phone']); self::$d['phoneNbsp']=preg_replace('/[^\d]/',' ',IRD::$d['phone']); foreach (self::$d as $k=>$v) { self::$d[strtolower($k)]=$v; self::$d[strtoupper($k)]=$v; self::$placeholders['['.$k.']']=$v; self::$placeholders['['.strtolower($k).']']=$v; self::$placeholders['['.strtoupper($k).']']=$v; add_shortcode($k,function() use($k){ return IRD::$d[$k]; }); add_shortcode(strtolower($k),function() use($k){ return IRD::$d[$k]; }); add_shortcode(strtoupper($k),function() use($k){ return IRD::$d[$k]; }); } // add_filter( 'the_title', function($s) { global $shortcode_tags;var_dump($shortcode_tags);echo do_shortcode($s); } ); add_filter( 'the_title', 'do_shortcode' ); add_filter( 'single_post_title', 'do_shortcode' ); } public static function replaceSchema_WebPage($s) { foreach (['name','description'] as $k) if (isset($s[$k])) $s[$k]=self::replacePlaceholders($s[$k]); return $s; } public static function replaceSchema_BreadcrumbList($s) { if (isset($s['itemListElement'])) foreach ($s['itemListElement'] as $k=>$v) if (isset($s['itemListElement'][$k]['item']['name'])) $s['itemListElement'][$k]['item']['name']=self::replacePlaceholders($s['itemListElement'][$k]['item']['name']); return $s; } public static function replacePlaceholders($s,$dummy=null) { // var_dump($s); $s=str_replace(array_keys(self::$placeholders),array_values(self::$placeholders),$s); // var_dump($s); return $s; } public static function url($domain,$set=false) { $u='//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; if ($set && stripos($_SERVER['REQUEST_URI'],'ird_set=1')===false) $u.=(stripos($_SERVER['REQUEST_URI'],"?")===false?'?':'&').'ird_set=1'; elseif (!$set && stripos($_SERVER['REQUEST_URI'],'ird_set=1')!==false) $u=str_replace(['ird_set=1&','?ird_set=1','&ird_set=1'],'',$u); if ($domain!==false) { $u=preg_replace( '/^\/\/'.self::$domain.(self::$domain?'.':'').'/', '//'.$domain.($domain?'.':''), $u); } return $u; } public static function checkRedirect() { // if ($_SERVER['REQUEST_METHOD']!=="GET") { // self::debug('checkRedirect skip non GET'); // return; // } // // $cookieDomain=str_replace('www.','',self::$domainMain); // // if (isset($_GET['ird_set'])) { // self::debug('checkRedirect ird_set setcookie '.(self::$domain?:'*').' location '.self::url(false,false)); // setcookie('ird',self::$domain?:'*',time()+365*24*60*60,"/",$cookieDomain); //// header("Location: ".self::url(false,false),TRUE,303); //// exit; // } // // if (isset($_COOKIE['ird'])) { // $c=$_COOKIE['ird']=="*"?"":$_COOKIE['ird']; // if ($c!=self::$domain) { // self::debug('checkRedirect cookie '.$c.' location '.self::url($c,false)); //// header("Location: ".self::url($c,false),TRUE,303); //// exit; // } // } // else { // ///detect region // $ip=isset($_SERVER['HTTP_X_REAL_IP'])?$_SERVER['HTTP_X_REAL_IP']:$_SERVER['REMOTE_ADDR']; // // $ip='217.66.24.13'; //казань татарстан // //// if (($i=@file_get_contents('http://www.geoplugin.net/json.gp?ip='.$ip)) && ($j=@json_decode($i,true))) { //// foreach(self::$domains as $r) { //// if (in_array($j['geoplugin_regionCode'],$r['regions'])) { //// self::debug('checkRedirect detect '.$j['geoplugin_regionCode'].' region '.implode(",",$r['regions']).' setcookie '.($r['domain']?:"*").' location '.self::url($r['domain'],false)); //// setcookie('ird',$r['domain']?:"*",time()+365*24*60*60,"/",$cookieDomain); //// if ($r['domain']!==self::$domain) { ////// header("Location: ".self::url($r['domain'],false),TRUE,303); ////// exit; //// } //// else //// self::debug('checkRedirect skip redirect to same domain'); //// } //// } //// } // } } public static $procId=null; public static $debug=true; public static function debug($s) { if (self::$debug) self::logAdd($s); } public static function log($s) { self::logAdd($s); } public static function logAdd($s) { $ip=isset($_SERVER['HTTP_X_REAL_IP'])?$_SERVER['HTTP_X_REAL_IP']:$_SERVER['REMOTE_ADDR']; $p=wp_get_upload_dir(); if (!self::$procId) { self::$procId=uniqid(); if (self::$debug) { $s1="\n".date('c').' '.$ip.' '.self::$procId.' URI '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n".'$_GET='.print_r($_GET,1).'$_POST='.print_r($_POST,1)."\n"; file_put_contents($p['basedir'].'/ir.log',$s1,FILE_APPEND); } } $s=date('c').' '.$ip.' '.self::$procId.' '.$s."\n\n"; file_put_contents($p['basedir'].'/ir.log',$s,FILE_APPEND); } } i-Retail.com https://chel.i-retail.com Modern solutions for self-service business development Wed, 18 Sep 2024 06:11:17 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.7.5 Creativity as a key factor in a successful advertising video