コード例 #1
0
ファイル: seo_sitemap_run.php プロジェクト: Satariall/izurit
             $sitemapFile = new SitemapRuntime($PID, $fileName, $arSitemapSettings);
         }
     }
 }
 if (!$currentForum) {
     $bFinished = true;
 } elseif (is_array($arCurrentForum)) {
     $bActive = array_key_exists($forumId, $arSitemap['SETTINGS']['FORUM_TOPIC']) && $arSitemap['SETTINGS']['FORUM_TOPIC'][$forumId] == "Y";
     if ($bActive) {
         if ($dbTopicResult == null) {
             $dbTopicResult = CForumTopic::GetList(array("LAST_POST_DATE" => "DESC"), array_merge(array("FORUM_ID" => $forumId, "APPROVED" => "Y"), $NS['FORUM_CURRENT_TOPIC'] > 0 ? array(">ID" => $NS["FORUM_CURRENT_TOPIC"]) : array()), false, 0, array('nTopCount' => 100));
         }
         if (($arTopic = $dbTopicResult->fetch()) && $arTopic) {
             $NS["FORUM_CURRENT_TOPIC"] = $arTopic["ID"];
             $url = CForumNew::PreparePath2Message($arCurrentForum["PATH2FORUM_MESSAGE"], array("FORUM_ID" => $arCurrentForum["ID"], "TOPIC_ID" => $arTopic["ID"], "TITLE_SEO" => $arTopic["TITLE_SEO"], "MESSAGE_ID" => "s", "SOCNET_GROUP_ID" => $arTopic["SOCNET_GROUP_ID"], "OWNER_ID" => $arTopic["OWNER_ID"], "PARAM1" => $arTopic["PARAM1"], "PARAM2" => $arTopic["PARAM2"]));
             $sitemapFile->addIBlockEntry($url, MakeTimeStamp($arTopic['LAST_POST_DATE']));
         }
     } else {
         $url = CForumNew::PreparePath2Message($arCurrentForum["PATH2FORUM_MESSAGE"], array("FORUM_ID" => $arCurrentForum["ID"], "TOPIC_ID" => $arCurrentForum["TID"], "TITLE_SEO" => $arCurrentForum["TITLE_SEO"], "MESSAGE_ID" => "s", "SOCNET_GROUP_ID" => $arCurrentForum["SOCNET_GROUP_ID"], "OWNER_ID" => $arCurrentForum["OWNER_ID"], "PARAM1" => $arCurrentForum["PARAM1"], "PARAM2" => $arCurrentForum["PARAM2"]));
         $sitemapFile->addIBlockEntry($url, MakeTimeStamp($arCurrentForum['LAST_POST_DATE']));
     }
     if (empty($arTopic)) {
         $bCheckFinished = false;
         // we have finished current forum
         SitemapRuntimeTable::update($currentForum['ID'], array('PROCESSED' => SitemapRuntimeTable::PROCESSED));
         if ($sitemapFile->isNotEmpty()) {
             if ($sitemapFile->isCurrentPartNotEmpty()) {
                 $sitemapFile->finish();
             } else {
                 $sitemapFile->delete();
             }
コード例 #2
0
         $dbIblockResult = CIBlockElement::GetList(array('ID' => 'ASC'), array('IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y', 'SECTION_ID' => intval($NS['CURRENT_SECTION']), '>ID' => intval($NS['LAST_ELEMENT_ID'])), false, array('nTopCount' => 1000), array('ID', 'TIMESTAMP_X', 'DETAIL_PAGE_URL'));
     } else {
         $NS['LAST_ELEMENT_ID'] = 0;
         $dbIblockResult = CIBlockSection::GetList(array('LEFT_MARGIN' => 'ASC'), array('IBLOCK_ID' => $iblockId, 'GLOBAL_ACTIVE' => 'Y', '>LEFT_BORDER' => intval($NS['LEFT_MARGIN'])), false, array('ID', 'TIMESTAMP_X', 'SECTION_PAGE_URL', 'LEFT_MARGIN', 'IBLOCK_SECTION_ID'), array('nTopCount' => 100));
     }
 }
 if (isset($NS['CURRENT_SECTION'])) {
     $arElement = $dbIblockResult->fetch();
     if ($arElement) {
         $bCheckFinished = false;
         $elementLastmod = MakeTimeStamp($arElement['TIMESTAMP_X']);
         $NS['IBLOCK_LASTMOD'] = max($NS['IBLOCK_LASTMOD'], $elementLastmod);
         $NS['LAST_ELEMENT_ID'] = $arElement['ID'];
         $NS['IBLOCK'][$iblockId]['E']++;
         $url = \CIBlock::ReplaceDetailUrl($arElement['DETAIL_PAGE_URL'], $arElement, false, "E");
         $sitemapFile->addIBlockEntry($url, $elementLastmod);
     } elseif (!$bCheckFinished) {
         $bCheckFinished = true;
         $dbIblockResult = null;
     } else {
         $bCheckFinished = false;
         unset($NS['CURRENT_SECTION']);
         $NS['LAST_ELEMENT_ID'] = 0;
         $dbIblockResult = null;
         if ($dbOldIblockResult) {
             $dbIblockResult = $dbOldIblockResult;
             $dbOldIblockResult = null;
         }
     }
 } else {
     $arSection = $dbIblockResult->fetch();