private function _getSitemap(Kwf_Component_Data $page) { $sites = array(); if (is_instance_of($page->componentClass, 'Kwc_Mail_Redirect_Component') || is_instance_of($page->componentClass, 'Kwc_Advanced_Amazon_Nodes_ProductsDirectory_Component')) { return $sites; } if ($page->url) { $sites[] = 'http://' . Kwf_Registry::get('config')->server->domain . $page->url; } foreach ($page->getChildPseudoPages(array(), array('pseudoPage' => false)) as $childPage) { $sites = array_merge($sites, $this->_getSitemap($childPage)); } return $sites; }
private function _processRecursive(Kwf_Component_Data $page) { if (memory_get_usage() > 128 * 1024 * 1024) { if ($this->_getParam('debug')) { echo "Collect garbage...\n"; } Kwf_Component_Data_Root::getInstance()->freeMemory(); } if ($this->_getParam('debug')) { echo "processing changed_recursive {$page->componentId}\n"; } $childPages = $page->getChildPseudoPages(array('pageGenerator' => false), array('pseudoPage' => false, 'unique' => false)); $ret = array(); foreach ($childPages as $p) { $m = Kwf_Component_PagesMetaModel::getInstance(); $r = $m->getRow($p->componentId); if (!$r) { $r = $m->createRow(); } $r->updateFromPage($p); $r->changed_date = date('Y-m-d H:i:s'); $r->save(); $this->_processRecursive($p); } }
private function _processRecursive(Kwf_Component_Data $page) { static $pageClassesThatCanHaveFulltext; if (!isset($pageClassesThatCanHaveFulltext)) { $pageClassesThatCanHaveFulltext = array(); foreach (self::_getAllPossiblePageComponentClasses() as $c) { if (self::_canHaveFulltext($c)) { $pageClassesThatCanHaveFulltext[] = $c; } } } if ($this->_getParam('debug')) { echo "processing changed_recursive {$page->componentId}\n"; } $childPages = $page->getChildPseudoPages(array('pageGenerator' => false, 'componentClasses' => $pageClassesThatCanHaveFulltext), array('pseudoPage' => false)); $ret = array(); foreach ($childPages as $p) { $m = Kwc_FulltextSearch_MetaModel::getInstance(); $s = $m->select()->whereEquals('page_id', $p->componentId); $r = $m->getRow($s); if (!$r) { $r = $m->createRow(); $r->page_id = $p->componentId; } $r->changed_date = date('Y-m-d H:i:s'); $r->save(); $this->_processRecursive($p); } }
private function _processRecursive(Kwf_Component_Data $page) { if ($this->_getParam('debug')) { echo "processing changed_recursive {$page->componentId}\n"; } $childPages = $page->getChildPseudoPages(array('pageGenerator' => false), array('pseudoPage' => false)); $ret = array(); foreach ($childPages as $p) { $m = Kwf_Model_Abstract::getInstance('Kwf_Component_PagesMetaModel'); $r = $m->getRow($p->componentId); if (!$r) { $r = $m->createRow(); } $r->updateFromPage($p); $r->changed_date = date('Y-m-d H:i:s'); $r->save(); $this->_processRecursive($p); } }