loads 'Recommendation lists' rss data

@deprecated since v5.3 (2016-06-17); Listmania will be moved to an own module.

@param \OxidEsales\Eshop\Application\Model\RecommendationList $oRecommList recomm list to load articles from

@return null
9813
public function loadRecommListArticles(\OxidEsales\Eshop\Application\Model\RecommendationList $oRecommList)
    {
        if (($this->_aChannel = $this->_loadFromCache(self::RSS_RECOMMLISTARTS . $oRecommList->getId()))) {
            return;
        }

        $oList = oxNew(\OxidEsales\Eshop\Application\Model\ArticleList::class);
        $oList->loadRecommArticles($oRecommList->getId(), ' order by oxobject2list.oxtimestamp desc limit ' . \OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('iRssItemsCount'));

        $oLang = Registry::getLang();
        $this->_loadData(
            self::RSS_RECOMMLISTARTS . $oRecommList->getId(),
            $this->getRecommListArticlesTitle($oRecommList),
            sprintf($oLang->translateString('LISTMANIA_LIST_PRODUCTS', $oLang->getBaseLanguage()), $oRecommList->oxrecommlists__oxtitle->value),
            $this->_getArticleItems($oList),
            $this->getRecommListArticlesUrl($oRecommList),
            $oRecommList->getLink()
        );
    }
1264395
public function recommlists()
    {
        if ($this->getViewConfig()->getShowListmania() && \OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('bl_rssRecommLists')) {
            $oArticle = oxNew(\OxidEsales\Eshop\Application\Model\Article::class);
            if ($oArticle->load(\OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('anid'))) {
                $this->_getRssFeed()->loadRecommLists($oArticle);

                return;
            }
        }
        error_404_handler();
    }
1195454
private function getListResponse($listRequestURL)
    {
        $key = md5($listRequestURL);
        if (isset($this->cachedResults[$key])) {
            return $this->cachedResults[$key];
        }

        try {
            $responseString = $this->contentLoader->load($listRequestURL);
        } catch (ContentLoadingException $e) {
            throw new ArticleListException('Error while loading article list.', 0, $e);
        }

        $responseData = json_decode($responseString, true);
        if (null === $responseData) {
            throw new ArticleListException('Error while decoding article list response.');
        }
        $this->cachedResults[$key] = $this->createResponseObject($responseData);

        return $this->cachedResults[$key];
    }
369637
protected function _getRecommListItems($oList)
    {
        $myUtilsUrl = Registry::getUtilsUrl();
        $aItems = [];
        foreach ($oList as $oRecommList) {
            $oItem = new stdClass();
            $oItem->title = $oRecommList->oxrecommlists__oxtitle->value;
            $oItem->guid = $oItem->link = $myUtilsUrl->prepareUrlForNoSession($oRecommList->getLink());
            $oItem->isGuidPermalink = true;
            $oItem->description = $oRecommList->oxrecommlists__oxdesc->value;

            $aItems[] = $oItem;
        }

        return $aItems;
    }
93954
public function editList()
    {
        if (!\OxidEsales\Eshop\Core\Registry::getSession()->checkSessionChallenge()) {
            return;
        }

        if (!$this->getViewConfig()->getShowListmania()) {
            return;
        }

        // deleting on demand
        if (($sAction = \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('deleteList')) &&
            ($oRecommList = $this->getActiveRecommList())
        ) {
            $oRecommList->delete();
            $this->setActiveRecommList(false);
        } else {
            $this->_sThisTemplate = 'page/account/recommendationedit.tpl';
        }
    }
1370924
private function _list() {
    $node = new ListNode();
    $this->mustMatch(T_LIST, $node, 'name');
    $arguments = new CommaListNode();
    $this->mustMatch('(', $node, 'openParen');
    $node->addChild($arguments, 'arguments');
    do {
      if ($this->currentType === ')') {
        break;
      }
      if ($this->currentType !== ',') {
        $arguments->addChild($this->listElement());
      }
    } while ($this->tryMatch(',', $arguments));
    $this->mustMatch(')', $node, 'closeParen', TRUE);
    return $node;
  }
334102
public function loadBargain()
    {
        if (($this->_aChannel = $this->_loadFromCache(self::RSS_BARGAIN))) {
            return;
        }

        $oArtList = oxNew(\OxidEsales\Eshop\Application\Model\ArticleList::class);
        $oArtList->loadActionArticles('OXBARGAIN', \OxidEsales\Eshop\Core\Registry::getConfig()->getConfigParam('iRssItemsCount'));

        $oLang = Registry::getLang();
        $this->_loadData(
            self::RSS_BARGAIN,
            $this->getBargainTitle(),
            $oLang->translateString('BARGAIN_PRODUCTS', $oLang->getBaseLanguage()),
            $this->_getArticleItems($oArtList),
            $this->getBargainUrl()
        );
    }
847587
public function init()
    {
        // @deprecated since v5.3 (2016-06-17); Listmania will be moved to an own module.
        if (\OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('recommid') && !$this->getActiveRecommList()) {
            \OxidEsales\Eshop\Core\Registry::getUtils()->redirect(\OxidEsales\Eshop\Core\Registry::getConfig()->getShopHomeUrl(), true, 302);
        }
        // END deprecated

        \OxidEsales\Eshop\Application\Controller\FrontendController::init();
    }
1023987
def get_feed_list(opml_obj: OPML) -> List[str]:
    """"""
    rv = list()

    def collect(obj):
        for outline in obj.outlines:
            if outline.type == 'rss' and outline.xml_url:
                rv.append(outline.xml_url)

            if outline.outlines:
                collect(outline)

    collect(opml_obj)
    return rv
580829
public function getRecommLists()
    {
        if ($this->_oSearchRecommLists === null) {
            $this->_oSearchRecommLists = [];
            if (!$this->getActiveRecommList()) {
                // list of found oxrecommlists
                $oRecommList = oxNew(\OxidEsales\Eshop\Application\Model\RecommendationList::class);
                $oList = $oRecommList->getSearchRecommLists($this->getRecommSearch());
                if ($oList && $oList->count()) {
                    $this->_oSearchRecommLists = $oList;
                }
            }
        }

        return $this->_oSearchRecommLists;
    }
185607
protected function ViewArticleHook()
    {
        $this->SetTemplate('MTShopArticleCatalog', 'system/article');

        // add review item and fill with user data
        $oReviewItem = TdbShopArticleReview::GetNewInstance();
        /** @var $oReviewItem TdbShopArticleReview */
        $oGlobal = TGlobal::instance();
        $aReviewData = array();
        if ($oGlobal->UserDataExists(TdbShopArticleReview::INPUT_BASE_NAME)) {
            $aReviewData = $oGlobal->GetUserData(TdbShopArticleReview::INPUT_BASE_NAME);
        } else {
            $oUser = TdbDataExtranetUser::GetInstance();
            if ($oUser->IsLoggedIn()) {
                $aReviewData['author_name'] = $oUser->GetUserAlias();
                $aReviewData['author_email'] = $oUser->GetUserEMail();
            }
        }
        $aReviewData['captcha-question'] = $this->GenerateCaptcha();

        if (is_array($aReviewData)) {
            $oReviewItem->LoadFromRowProtected($aReviewData);
        }
        $this->data['oReviewEntryItem'] = &$oReviewItem;
    }
997598
protected function LoadArticleList()
    {
        if (is_null($this->oList)) {
            parent::LoadArticleList();
            if (!is_null($this->oList) && '1' == $this->global->GetUserData(TdbPkgShopListfilter::URL_PARAMETER_IS_NEW_REQUEST)) {
                TdbShop::ResetAllRegisteredActiveVariantsForAllSpots();
                $this->iPage = 0;
                $this->oList->RestorePagingInfoFromSession($this->iPageSize * $this->iPage, $this->iPageSize);
                $this->oList->JumpToPage(0);
            }
        }
    }
194390
public function addToRecomm()
    {
        if (!\OxidEsales\Eshop\Core\Registry::getSession()->checkSessionChallenge()) {
            return;
        }

        if (!$this->getViewConfig()->getShowListmania()) {
            return;
        }

        $recommendationText = trim(( string ) \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('recomm_txt'));
        $recommendationListId = \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('recomm');
        $articleId = $this->getProduct()->getId();

        if ($articleId) {
            $recommendationList = oxNew(\OxidEsales\Eshop\Application\Model\RecommendationList::class);
            $recommendationList->load($recommendationListId);
            $recommendationList->addArticle($articleId, $recommendationText);
        }
    }
785771
private function loadAdvisorsList(AspectContainer $aspectContainer): array
    {
        /** @var AspectLoader $aspectLoader */
        $aspectLoader   = $aspectContainer->get('aspect.cached.loader');
        $aspects        = $aspectLoader->getUnloadedAspects();
        foreach ($aspects as $aspect) {
            $aspectLoader->loadAndRegister($aspect);
        }
        $advisors = $aspectContainer->getByTag('advisor');

        return $advisors;
    }
748214
public function getActiveRecommList()
    {
        if ($this->_oActiveRecommList === null) {
            $this->_oActiveRecommList = false;
            if ($recommendationListId = \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('recommid')) {
                $this->_oActiveRecommList = oxNew(\OxidEsales\Eshop\Application\Model\RecommendationList::class);
                $this->_oActiveRecommList->load($recommendationListId);
            }
        }

        return $this->_oActiveRecommList;
    }
1367922
public function loadMetadataForClass($className, ClassMetadata $metadata)
    {
        $originClassName = $className;
        $originMetadata = $this->em->getClassMetadata('Opifer\\ContentBundle\\Entity\\ListBlock');

//
//        $metadata->name = self::REVISION_ENTITY; //. '' . str_replace('\\', '', $class->name);
//        $class->rootEntityName = $class->name;
//        $class->namespace = 'Opifer\\Revisions\\Entity';
//
//        $class->discriminatorMap = null;
//        $class->discriminatorColumn = null;

        $metadata->setPrimaryTable(['name' => $originMetadata->getTableName() . '_revisions']);


        foreach ($originMetadata->fieldMappings as $key => $fieldMapping) {
            $fieldMapping['inherited'] = self::REVISION_ENTITY;
            $fieldMapping['declared'] = self::REVISION_ENTITY;

            if ($this->annotationReader->isPropertyRevised($originClassName, $fieldMapping['fieldName'])) {
                $metadata->mapField($fieldMapping);
            }
        }

        foreach ($originMetadata->associationMappings as $key => $associationMapping) {
            $associationMapping['inherited'] = self::REVISION_ENTITY;
            $associationMapping['declared'] = self::REVISION_ENTITY;

            if ($this->annotationReader->isPropertyRevised($originClassName, $associationMapping['fieldName'])) {
                if ($associationMapping['type'] == ClassMetadataInfo::ONE_TO_ONE) {
                    $metadata->mapOneToOne($associationMapping);
                } else if ($associationMapping['type'] == ClassMetadataInfo::MANY_TO_ONE) {
                    $metadata->mapManyToOne($associationMapping);
                } else if ($associationMapping['type'] == ClassMetadataInfo::ONE_TO_MANY) {
                    $metadata->mapOneToMany($associationMapping);
                } else if ($associationMapping['type'] == ClassMetadataInfo::MANY_TO_MANY) {
                    $metadata->mapManyToMany($associationMapping);
                }
            }

        }
    }
1033971
public function getSimilarRecommListIds()
    {
        if ($this->_aSimilarRecommListIds === null) {
            $this->_aSimilarRecommListIds = false;

            if ($categoryArticlesList = $this->getArticleList()) {
                $this->_aSimilarRecommListIds = $categoryArticlesList->arrayKeys();
            }
        }

        return $this->_aSimilarRecommListIds;
    }