uawdijnntqw1x1x1
IP : 216.73.216.155
Hostname : vm5018.vps.agava.net
Kernel : Linux vm5018.vps.agava.net 3.10.0-1127.8.2.vz7.151.14 #1 SMP Tue Jun 9 12:58:54 MSK 2020 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
var
/
www
/
iplanru
/
data
/
www
/
.
/
i-plan.ru
/
plugins
/
captcha
/
..
/
.
/
system
/
seflinkreplace
/
seflinkreplace.php
/
/
<?php // No direct access defined( '_JEXEC' ) or die; /** * * @package Joomla.Plugin * @subpackage System.Seflinkreplace * @since 2.5+ * @author kirdinyuri */ class plgSystemSeflinkreplace extends JPlugin { /** * Class Constructor * @param object $subject * @param array $config */ public function __construct( & $subject, $config ) { parent::__construct( $subject, $config ); $this->loadLanguage(); } function onAfterRender() { $langtourl=''; //получение языка $lang=JFactory::getLanguage(); $lang=$lang->getTag(); $lang = substr($lang,0,2); if ($lang<>'ru'){$langtourl="{$lang}";} $user = JFactory::getUser(); $db= JFactory::getDBO(); $app =JFactory::getApplication(); $doc = JFactory::getDocument(); $jinput = JFactory::getApplication()->input; $Itemid=$jinput->get( 'Itemid', 0,'INT' ); // проверка, что мы не в административной панели if ($app->getName()!= 'site') { return true; } // получаем текст сформированной страницы $buffer = JResponse::getBody(); //массив со статическими ссылками $static_prepare=explode("\r\n", $this->params->get('static-links')); if ($static_prepare) { foreach($static_prepare as $str) { $static_prepare2=explode("|",$str); if ($static_prepare2[0]<>'' and $static_prepare2[1]<>'') $static[]=array("from"=>$static_prepare2[1], "to"=>$static_prepare2[0]); } } unset($static_prepare,$static_prepare2); // делаем замены в тексте //$buffer = str_replace('test', 'tost', $buffer); preg_match_all("~".'href=\"'."(.*?)".'\"'."~is", $buffer, $m); $m=$m[1]; $m = array_unique($m); // print_r($m); if (count($m)<>0) { foreach ($m as $link) { $f=''; $pr_static=true; $link2 = str_replace('&', '&', $link); $url = explode('?', $link2); $getparam=array(); $worktype=''; if (isset($url[1])) {parse_str($url[1],$getparam);} /* $split_parameters = explode('&', $url[1]); for($i = 0; $i < count($split_parameters); $i++) { $final_split = explode('=', $split_parameters[$i]); if ($final_split[0]<>'' and $final_split[1]<>'') {$getparam[$final_split[0]] = str_replace('"','\"',$final_split[1]);} }*/ //обработчик статических ссылок foreach($static as $st) { if ('/'.$st["from"]==$link2 or $st["from"]==$link2) { $buffer = str_replace('href="'.$link.'"', 'href="'.'/'.$st["to"].'"', $buffer); $pr_static=false; } } //print_r($getparam); //http://i-plan.ru/index.php?option=com_zoo&item_id=2332&Itemid=109&view=item //http://i-plan.ru/mi.php?id=2492 if ($pr_static and $lang=="ru") { //получение типа работы+++++++++++++++++++++++++++++ if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $getparam["item_id"]<>'') { $list = $db->setQuery('SELECT id,elements FROM #__zoo_item where id='.$getparam["item_id"])->loadAssoc(); $a=json_decode($list['elements'],true); if (isset($a['755b5888-e07b-4af9-b0a9-b864291f1586'])) {$worktype=$a['755b5888-e07b-4af9-b0a9-b864291f1586']['option']['0'];} } if ((strpos($link2, "bp.php")<>0 or strpos($link2, "mi.php")<>0) and isset($getparam["id"]) && $getparam["id"]<>'' and $worktype=='') { $list = $db->setQuery('SELECT id,elements FROM #__zoo_item where id='.$getparam["id"])->loadAssoc(); $a=json_decode($list['elements'],true); if (isset($a['755b5888-e07b-4af9-b0a9-b864291f1586'])) {$worktype=$a['755b5888-e07b-4af9-b0a9-b864291f1586']['option']['0'];} } //++++++++++++++++++++++++++++++++++++++++++++++++++ //если это работа //if ($getparam["option"]=="com_zoo" and $getparam["view"]=="item" and $worktype<>'') // {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/'.$worktype.'.php?id='.$getparam["item_id"].'"', $buffer);} //если это работа с неправильным Itemid if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype<>'' and $getparam["Itemid"]<>"117") {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/catalog.php?id='.$getparam["item_id"].'"', $buffer);} //если это работа if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype<>'') {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/catalog.php?id='.$getparam["item_id"].'"', $buffer);} //http://i-plan.ru/index.php?option=com_zoo&category_id=196&Itemid=109&view=category //http://i-plan.ru/mi.php?cat=196 //eсли это категория /*if ($getparam["option"]=="com_zoo" and $getparam["view"]=="category") { $f=''; $page=''; //echo $link.'<br>'; if ($getparam["Itemid"]==$this->params->get('itemid-bp')) $f='bp'; if ($getparam["Itemid"]==$this->params->get('itemid-mi')) $f='mi'; if ($getparam["page"]<>'') $page='&page='.$getparam["page"]; if ($f=='' and $getparam["category_id"]<>'') { $list = $db->setQuery('SELECT params val FROM jos_zoo_category where id='.$getparam["category_id"])->loadObjectList(); foreach($list as $row) { if ($f=='') { $a=json_decode($row->val,true); if ($a['metadata.title']=="Бизнес-планы") {$f='bp';} if ($a['metadata.title']=="Маркетинговые исследования") {$f='mi';} } } } if ($f<>'') { $buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/'.$f.'.php?cat='.$getparam["category_id"].$page.'"', $buffer); } }*/ //если это категория (ссылки типа http://i-plan.ru/bp/napitki/bezalkogolnye/soki.php) if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="category" and isset($getparam["category_id"]) && $getparam["category_id"]<>'' and $getparam["category_id"]<>'2376') { if ($getparam["Itemid"]=='108') { $type_item='/bp';} if ($getparam["Itemid"]=='109') { $type_item='/mi';} if ($getparam["Itemid"]=='117') { $type_item='';} if ($getparam["Itemid"]=='101') { $type_item='';} if ($type_item<>'' or $getparam["Itemid"]=='117') { $caturl=$type_item.".php"; $i=$getparam["category_id"]; do { $list = $db->setQuery('SELECT id,alias,parent FROM jos_zoo_category where id='.$i)->loadAssoc(); if ($list['id']<>'') { $caturl='/'.$list['alias'].$caturl; $i=$list['parent']; } } while ($list['parent']<>"0" and $list['parent']<>"2376"); $buffer = str_replace('href="'.$link.'"', 'href="'.$caturl.'"', $buffer); } unset($caturl,$type_item); } //если это ПО if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype=='' and $getparam["Itemid"]=="195" ) {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/experience.php?id='.$getparam["item_id"].'"', $buffer);} //если это ПО категория if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="category" and isset($getparam["category_id"]) && $getparam["category_id"]<>'' and $worktype=='' and $getparam["Itemid"]=="195" and $getparam["page"]=='') {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/experience.php?cat='.$getparam["category_id"].'"', $buffer);} //если это ПО категория c пейджером if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="category" and isset($getparam["category_id"]) && $getparam["category_id"]<>'' and $worktype=='' and $getparam["Itemid"]=="195" and $getparam["page"]<>'') {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/experience.php?cat='.$getparam["category_id"].'&page='.$getparam["page"].'"', $buffer);} //усли это новости /index.php?option=com_zoo&item_id=3233&Itemid=101&view=item if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and ($getparam["Itemid"]=="101" or $getparam["Itemid"]=="") ) { $list = $db->setQuery('SELECT application_id as aid FROM jos_zoo_item where id='.$getparam["item_id"])->loadAssoc(); if ($list['aid']=='2')$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/articles.php?id='.$getparam["item_id"].'"', $buffer); } //если это статьи if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype=='' and $getparam["Itemid"]=="119" ) {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/articles.php?id='.$getparam["item_id"].'"', $buffer);} //если это vacancy if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype=='' and $getparam["Itemid"]=="112" ) {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/vacancy.php?id='.$getparam["item_id"].'"', $buffer);} //если это awards if (isset($getparam["option"]) && $getparam["option"]=="com_zoo" and isset($getparam["view"]) && $getparam["view"]=="item" and $worktype=='' and $getparam["Itemid"]=="157" ) {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/awards.php?id='.$getparam["item_id"].'"', $buffer);} //последний дубликат if (strpos($link2, "bp.php")<>0 and isset($getparam["id"]) && $getparam["id"]<>'') {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/catalog.php?id='.$getparam["id"].'"', $buffer);} if (strpos($link2, "mi.php")<>0 and isset($getparam["id"]) && $getparam["id"]<>'') {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/catalog.php?id='.$getparam["id"].'"', $buffer);} //если это форма заказа if (isset($getparam["option"]) && $getparam["option"]=="com_pay" and $getparam["method"] and $getparam["item_id"]<>"" and $getparam["item_id"]<>"0") {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/pay.php?method='.$getparam["method"].'&item_id='.$getparam["item_id"].'"', $buffer);} if (isset($getparam["option"]) && $getparam["option"]=="com_pay" and $getparam["method"] and ($getparam["item_id"]=="" or $getparam["item_id"]=="0")) {$buffer = str_replace('href="'.$link.'"', 'href="'.$langtourl.'/pay.php?method='.$getparam["method"].'"', $buffer);} } unset($getparam,$url,$split_parameters,$final_split,$f,$list,$a,$link2,$worktype); } } //========================================================== $matid=0; $option=''; $view=''; $Itemid=0; $turl=''; $burl=''; $worktype=''; //проверка текущего урл $burl = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; $turl = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : ''; $matid=$jinput->get( 'item_id', 0, 'INT' ); $option=$jinput->get( 'option', ''); $view=$jinput->get( 'view', ''); $Itemid=$jinput->get( 'Itemid', 0,'INT' ); $cat=$jinput->get( 'cat', 0,'INT'); //получение типа работы if (($turl=="/bp.php" or $turl=="/mi.php" or $turl=="/catalog.php") and $matid<>0) { $list = $db->setQuery('SELECT id,elements FROM #__zoo_item where id="'.$matid.'"')->loadAssoc(); $a=json_decode($list['elements'],true); $worktype=$a['755b5888-e07b-4af9-b0a9-b864291f1586']['option']['0']; } if ($matid<>0 and $worktype=='') { $list = $db->setQuery('SELECT c.params val FROM jos_zoo_category_item ci, jos_zoo_category c where ci.category_id=c.id and ci.item_id='.$matid)->loadObjectList(); foreach($list as $row) { if ($worktype=='') { $a=json_decode($row->val,true); if ($a['metadata.title']=="Бизнес-планы") {$worktype='bp';} if ($a['metadata.title']=="Маркетинговые исследования") {$worktype='mi';} } } } if ($turl=="/bp.php" and $matid<>0 and $worktype=='mi') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} if ($turl=="/mi.php" and $matid<>0 and $worktype=='bp') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} //404 на старые ссылки работ if ( $turl=='' and $option=="com_zoo" and $view="item" and $matid<>0 and $_GET['option']<>'payment' and $worktype<>'') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} //404 на неверные ссылки клиентов и партнеров if ( $turl=='' and $option=="com_zoo" and $view="item" and $matid<>0 and $Itemid<>118) { $list = $db->setQuery('SELECT application_id FROM jos_zoo_item where id='.$matid)->loadAssocList(); if($list[0]['application_id']=='4') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} } //404 на длинные ссылки клиентов и партнеров //if ( $turl=='' and $option=="com_zoo" and $view="item" and $matid<>0 and $Itemid==118) //{header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} //проверяем id категории и материала на валидность if ($turl=="/bp.php" or $turl=="/mi.php") { if ($jinput->get( 'item_id')<>'') { $list = $db->setQuery('SELECT id val FROM jos_zoo_item where id='.$jinput->get( 'item_id',0,'INT'))->loadAssoc(); if($list['val']=='') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} } if ($jinput->get( 'cat')<>'') { $list = $db->setQuery('SELECT id val FROM jos_zoo_category where id='.$jinput->get( 'cat',0,'INT'))->loadAssoc(); if($list['val']=='') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} } } //404 на материалы применяемые для сео модуля if ( $turl=='' and $option=="com_zoo" and $view="item" and $matid<>0) { $list = $db->setQuery('SELECT application_id FROM jos_zoo_item where id='.$matid)->loadAssocList(); if($list[0]['application_id']=='12') {header("HTTP/1.0 404 Not Found"); header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found");} } //Замена ссылок с index.php $buffer = str_replace( "index.php?option=", "?option=",$buffer); $buffer = str_replace( "&lang=ru", "",$buffer); //подмена ссылки на англ главную if ($lang=="en") { $buffer = str_replace( "<a href=\"http://i-plan.ru/\" class=\"level1 active current\">", "<a href=\"http://i-plan.ru/en/\" class=\"level1 active current\">",$buffer); $buffer = str_replace( "<a href=\"http://i-plan.ru/\" class=\"level1\">", "<a href=\"http://i-plan.ru/en/\" class=\"level1\">",$buffer); } //Автозамена в тексте страницы для англ версии /*if ($lang=="en") { $pars=explode("\r\n", $this->params->get('autoreplace')); if (count($pars)<>0) { foreach($pars as $par) { $part=explode("|", $par); if (count($part)==2) { if (trim($part[0])<>'' and trim($part[1])<>'') {$par1[]=trim($part[0]);$par2[]=trim($part[1]);} } } if (count($par1)<>0 and count($par2)<>0) {$buffer = str_replace($par1,$par2,$buffer);} } }*/ //Автозамена текста на текст $repfrom=array( "Не нашли, что искали. Закажите исследование под свой проект!", "Обновление данных под заказ" ); $repto=array( "<a href=\"pay.php?method=min\">Не нашли, что искали. Закажите исследование под свой проект!</a>", "Обновление данных под заказ<span style=\"margin-left: 5px;\"><a style=\"font-size: 13px; color: red;\" href=\"pay.php?method={$worktype}g&id={$matid}\">Есть версия 2015 года. Звоните!</a></span>" ); $buffer = str_replace($repfrom,$repto,$buffer); if ($buffer != '') { // подменяем текст страницы JResponse::setBody($buffer); } return true; } public function onBeforeCompileHead() { $turl=''; $lang=JFactory::getLanguage(); $lang=$lang->getTag(); $lang = substr($lang,0,2); //if ($lang<>'ru'){$langtourl="{$lang}";} $app = JFactory::getApplication(); // проверка, что мы не в административной панели if ($app->getName()!= 'site') { return true; } $user = JFactory::getUser(); $db= JFactory::getDBO(); //if ($user->id<>'') { $doc = JFactory::getDocument(); $data = $doc->getHeadData(); if (isset($_SERVER['REDIRECT_URL'])) {$turl = $_SERVER['REDIRECT_URL'];} $jinput = JFactory::getApplication()->input; $matid=$jinput->get( 'item_id', 0, 'INT' ); $Itemid=$jinput->get( 'Itemid', 0,'INT' ); $category_id=$jinput->get( 'category_id', 0,'INT'); $ifwork=false; //canonical if ($turl=="/mi.php" or $turl=="/bp.php" or $turl=="/catalog.php") { if ($matid<>0) { $list = $db->setQuery('SELECT name, elements FROM jos_zoo_item where id='.$matid)->loadAssoc(); $a=json_decode($list['elements'],true); $fmid=$a['6e6bfd81-74f2-434c-8306-b80e2287bf44']['item']['0']; $prfm=$a['5eea65b2-7504-4863-bae7-7fb95490e156']['option']['0']; $typework=$a['755b5888-e07b-4af9-b0a9-b864291f1586']['option']['0']; $cat_canon=$a['590dc7f6-a0d8-4062-810a-92d118568f5e']['category']['0']; //-------------------------старый способ /*if ($prfm=="rabota-s-fm") { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); //$doc->addHeadLink(htmlspecialchars($turl.'?id='.$matid), 'canonical'); } else { if ($fmid<>'') { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); $doc->addHeadLink(htmlspecialchars('http://'.$_SERVER['SERVER_NAME'].$turl.$langtourl.'?id='.$fmid), 'canonical'); //$doc->addHeadLink(htmlspecialchars($turl.'?id='.$matid), 'canonical'); } else { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); //$doc->addHeadLink(htmlspecialchars($turl.'?id='.$matid), 'canonical'); } }*/ //-------------------------старый способ //-------------------------новый способ if ($cat_canon and $typework=="bp") { /*$list = $db->setQuery(' SELECT id, elements FROM jos_zoo_item where instr(elements, "'.$cat_canon.'")<>0 and instr(elements, "rabota-s-fm")<>0 order by created desc')->loadAssocList(); foreach($list as $item) { if (!$can_id) { $c=json_decode($item['elements'],true); if ($c['5eea65b2-7504-4863-bae7-7fb95490e156']['option']['0']=="rabota-s-fm" and $c['590dc7f6-a0d8-4062-810a-92d118568f5e']['category']['0']==$cat_canon) { $can_id=$item['id']; } } } */ //ручной способ $list = $db->setQuery("SELECT params FROM #__zoo_category WHERE id=\"{$cat_canon}\"")->loadAssoc(); $can_id=json_decode($list["params"],TRUE); $can_id=strip_tags($can_id["content.teaser_description"]); //if ($_GET[sql]=='1') echo "111".$can_id; if ($can_id and $can_id<>$matid) { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); $doc->addHeadLink(htmlspecialchars('http://'.$_SERVER['SERVER_NAME'].$turl.'?id='.$can_id), 'canonical'); } else { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); } } //-------------------------новый способ $ifwork=true; } } //удаление каноникал со страниц которые не явл работами. if (!$ifwork) { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); } //http://i-plan.ru/index.php?option=com_zoo&category_id=196&Itemid=109&view=category //Каноникал на структуре 2 if ($jinput->get( 'category_id', 0, 'INT' )<>0 and $jinput->get( 'view',"" )=="category" ) { $canonicalstuct2=explode("\r\n", $this->params->get('canonicalstuct2')); if (count($canonicalstuct2)<>0) { foreach($canonicalstuct2 as $item) { $m=explode("|", $item); if (count($m)==3) { if ($jinput->get( 'category_id', 0, 'INT' )==$m[0]) { foreach($data['links'] as $key=>$value){ if ($value['relation']=='canonical') unset($data['links'][$key]); } $doc->setHeadData($data); $doc->addHeadLink(htmlspecialchars('http://'.$_SERVER['SERVER_NAME']."/".$m[2].".php".'?cat='.$m[1]), 'canonical'); } } } } } //file download if ($turl=="/mi.php" or $turl=="/bp.php" or $turl=="/catalog.php") { if ($matid<>0) { header('Content-type: application/pdf'); //header("Content-Disposition: attachment; filename=\"files/price1.pdf\""); header("Content-Type: application/force-download"); } } } //301 redirect if ($_SERVER['REQUEST_URI']=="pay.php?method=bpn") { header("HTTP/1.1 301 Moved Permanently"); header("Location: /development.php"); exit(); } if ($_SERVER['REQUEST_URI']=="pay.php?method=min") { header("HTTP/1.1 301 Moved Permanently"); header("Location: /midevelopment.php"); exit(); } } }
/var/www/iplanru/data/www/./i-plan.ru/plugins/captcha/.././system/seflinkreplace/seflinkreplace.php