Ejemplo n.º 1
0
                    break;
                default:
                    $res = array('error' => 'unknown action');
                    break;
            }
        } catch (Engine\YandexException $e) {
            $res = array('error' => array('message' => $e->getMessage(), 'status' => $e->getStatus(), 'code' => $e->getCode()));
        }
    }
    Header('Content-type: application/json; charset=' . LANG_CHARSET);
    echo \Bitrix\Main\Web\Json::encode($res);
} elseif (isset($_REQUEST['get'])) {
    switch ($_REQUEST['get']) {
        case 'original_text_form':
            $arSettings = $engine->getSettings();
            $arDomains = \CSeoUtils::getDomainsList();
            foreach ($arDomains as $key => $domain) {
                if (!isset($arSettings['SITES'][$domain['DOMAIN']])) {
                    unset($arDomains[$key]);
                }
            }
            if (count($arDomains) <= 0) {
                $msg = new CAdminMessage(array('MESSAGE' => Loc::getMessage('SEO_YANDEX_ERROR'), 'HTML' => 'Y'));
                echo $msg->Show();
            } else {
                ?>
<div id="seo_original_text_form_form">
<form name="seo_original_text_form" style="padding:0;margin: 0;">
	<b><?php 
                echo Loc::getMessage('SEO_YANDEX_DOMAIN');
                ?>
Ejemplo n.º 2
0
 protected function processResult($res)
 {
     $obXml = new \CDataXML();
     if ($obXml->loadString($res)) {
         $arEntries = $obXml->getTree()->elementsByName('host');
         $arDomains = array();
         foreach ($arEntries as $entry) {
             $entryChildren = $entry->children();
             $entryData = array();
             foreach ($entryChildren as $child) {
                 $tag = $child->name();
                 switch ($tag) {
                     case 'name':
                         $value = \CBXPunycode::toASCII(ToLower($child->textContent()), $e = null);
                         if (preg_match("/^https:\\/\\//", $value)) {
                             $value = substr($value, 8);
                             $entryData['https'] = 1;
                         }
                         $entryData[$tag] = $value;
                         break;
                     case 'verification':
                     case 'crawling':
                         $entryData[$tag] = $child->getAttribute('state');
                         $details = $child->children();
                         if ($details) {
                             $entryData[$tag . '-details'] = $details[0]->textContent();
                         }
                         break;
                     case 'virused':
                         $entryData[$tag] = $child->textContent() == 'true';
                         break;
                     default:
                         $entryData[$tag] = $child->textContent();
                 }
             }
             // HOST_INFO query returns only host id instead of direct url so we should take it from the previous data
             $hostHref = $entry->getAttribute('href');
             if (!$hostHref) {
                 $hostHref = $this->engineSettings['SITES'][$entryData['name']]['href'];
             }
             $entryData['href'] = $hostHref;
             $arDomains[$entryData['name']] = $entryData;
         }
         $arExistedDomains = \CSeoUtils::getDomainsList();
         foreach ($arExistedDomains as $domain) {
             $domain['DOMAIN'] = ToLower($domain['DOMAIN']);
             if (isset($arDomains[$domain['DOMAIN']])) {
                 if (!is_array($this->engineSettings['SITES'])) {
                     $this->engineSettings['SITES'] = array();
                 }
                 $this->engineSettings['SITES'][$domain['DOMAIN']] = $arDomains[$domain['DOMAIN']];
             }
         }
         $this->saveSettings();
         return $arDomains;
     }
     throw new \Exception('Unexpected query result! ' . $res);
     return false;
 }
Ejemplo n.º 3
0
    } catch (Exception $e) {
        $strError = Loc::getMessage('SEO_ERROR_GET_ACCESS', array("#ERROR_TEXT#" => $e->getMessage()));
    }
}
$sTableID = "tbl_seo_domains";
$oSort = new CAdminSorting($sTableID, "SORT", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
$lAdmin->AddHeaders(array(array("id" => "DOMAIN", "content" => Loc::getMessage('SEO_DOMAIN'), "sort" => "DOMAIN", "default" => true), array("id" => "SITE", "content" => Loc::getMessage("SEO_SITE"), "default" => true), array("id" => "SITE_ACTIVE", "content" => Loc::getMessage('SEO_SITE_ACTIVE'), "sort" => "active", "default" => true), array("id" => "BINDED", "content" => Loc::getMessage("SEO_BINDED"), "default" => true), array("id" => "VERIFIED", "content" => Loc::getMessage("SEO_VERIFIED"), "default" => true)));
$bNeedAuth = !$engine->getAuthSettings();
try {
    $currentUser = $engine->getCurrentUser();
} catch (Exception $e) {
    $currentUser = null;
    $bNeedAuth = true;
}
$dbSites = new Bitrix\Main\DB\ArrayResult(\CSeoUtils::getDomainsList());
$rsData = new CAdminResult($dbSites, $sTableID);
while ($arSite = $dbSites->fetch(Converter::getHtmlConverter())) {
    $row =& $lAdmin->AddRow($arSite['DOMAIN'], $arSite);
    $siteDomainEnc = Converter::getHtmlConverter()->encode($arSite['DOMAIN']);
    $siteDomainEncView = Converter::getHtmlConverter()->encode(\CBXPunycode::ToUnicode($arSite['DOMAIN'], $e = null));
    $siteDirEnc = Converter::getHtmlConverter()->encode($arSite['SITE_DIR']);
    $row->AddViewField("DOMAIN", '<a href="http://' . Converter::getHtmlConverter()->encode($arSite['DOMAIN'] . CHTTP::urnEncode($arSite['SITE_DIR'])) . '">' . $siteDomainEncView . $siteDirEnc . '</a>');
    $row->AddViewField("SITE", '[<a href="site_edit.php?lang=' . LANGUAGE_ID . '&amp;LID=' . urlencode($arSite['LID']) . '">' . $arSite['LID'] . '</a>] ' . $arSite['SITE_NAME']);
    $row->AddCheckField("SITE_ACTIVE", false);
    $row->AddViewField("BINDED", '<span data-role="site-binded" data-domain="' . $siteDomainEnc . '" data-dir="' . $siteDirEnc . '">' . ($bNeedAuth ? Loc::getMessage('SEO_NEED_AUTH') : Loc::getMessage('SEO_LOADING')) . '</span>');
    $row->AddViewField("VERIFIED", '<span data-role="site-verified" data-domain="' . $siteDomainEnc . '" data-dir="' . $siteDirEnc . '">' . ($bNeedAuth ? Loc::getMessage('SEO_NEED_AUTH') : Loc::getMessage('SEO_LOADING')) . '</span>');
}
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(Loc::getMessage("SEO_GOOGLE_TITLE"));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
Ejemplo n.º 4
0
 protected function processResult($res)
 {
     $obXml = new \CDataXML();
     if ($obXml->loadString($res)) {
         $arEntries = $obXml->getTree()->elementsByName('entry');
         $arDomains = array();
         foreach ($arEntries as $entry) {
             $entryChildren = $entry->children();
             $entryData = array('etag' => $entry->getAttribute('etag'));
             foreach ($entryChildren as $child) {
                 $tag = $child->name();
                 switch ($tag) {
                     case 'category':
                         break;
                     case 'content':
                         $entryData[$tag] = $child->getAttribute('src');
                         break;
                     case 'link':
                         if (!isset($entryData[$tag])) {
                             $entryData[$tag] = array();
                         }
                         $entryData[$tag][$child->getAttribute('rel')] = $child->getAttribute('href');
                         break;
                     case 'entryLink':
                         if (!isset($entryData[$tag])) {
                             $entryData[$tag] = array();
                         }
                         $rel = preg_replace("/^[^#]+#/", "", $child->getAttribute('rel'));
                         $entryData[$tag][$rel] = $child->getAttribute('href');
                         break;
                     case 'verification-method':
                         if ($child->getAttribute('type') == 'htmlpage') {
                             $entryData[$tag] = array('in-use' => $child->getAttribute('in-use'), 'file-name' => $child->textContent(), 'file-content' => $child->getAttribute('file-content'));
                         }
                         break;
                     default:
                         $entryData[$tag] = $child->textContent();
                 }
             }
             $url = $entryData['content'];
             if (strlen($url) > 0) {
                 $urlData = parse_url($url);
                 if (isset($urlData['port']) && strlen($urlData['port']) > 0) {
                     $urlData['host'] .= ':' . $urlData['port'];
                 }
                 if (!isset($arDomains[$urlData['host']])) {
                     $arDomains[$urlData['host']] = $entryData;
                 }
             }
         }
         $arExistedDomains = \CSeoUtils::getDomainsList();
         foreach ($arExistedDomains as $domain) {
             if (isset($arDomains[$domain['DOMAIN']])) {
                 if (!is_array($this->engineSettings['SITES'])) {
                     $this->engineSettings['SITES'] = array();
                 }
                 $this->engineSettings['SITES'][$domain['DOMAIN']] = $arDomains[$domain['DOMAIN']];
             }
         }
         $this->saveSettings();
         return $arDomains;
     }
     throw new \Exception('Unexpected query result! ' . $res);
     return false;
 }