Пример #1
0
 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);
     }
 }
Пример #3
0
 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);
     }
 }