示例#1
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $is_end = false;
        
        // Заносим в карту категории
        $results = cmsCore::c('db')->query("SELECT id, pubdate FROM cms_uc_cats WHERE parent_id != 0 AND NSDiffer = '' AND published = 1");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $last_date = cmsCore::c('db')->get_field('cms_uc_items', "category_id='". $cat['id'] ."' ORDER BY pubdate DESC", 'pubdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : $cat['pubdate']);

                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/catalog/'. $cat['id'],
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        $item_nums = 0;
        
        // Заносим в карту материалы
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, pubdate FROM cms_uc_items WHERE published = 1 ORDER BY pubdate ASC LIMIT ". $item_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($item = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_date = explode(' ', $item['pubdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/catalog/item'. $item['id'] .'.html',
                        'changefreq' => 'weekly',
                        'priority' => '0.7',
                        'lastmod' => $last_date[0]
                    ));
                    
                    $item_nums++;
                }
                
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#2
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $is_end = false;
        $item_nums = 0;
        
        // Заносим в карту категории
        $results = cmsCore::c('db')->query("SELECT id FROM cms_faq_cats WHERE published = 1 ORDER BY id ASC");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $last_date = cmsCore::c('db')->get_field('cms_faq_quests', "category_id='". $cat['id'] ."' ORDER BY answerdate DESC", 'answerdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : date('Y-m-d'));

                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/'. $cat['seolink'],
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        // Заносим в карту вопросы
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, answerdate FROM cms_faq_quests WHERE published = 1 ORDER BY pubdate ASC LIMIT ". $item_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($item = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_date = explode(' ', $item['answerdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/faq/quest'. $item['id'] .'.html',
                        'changefreq' => 'weekly',
                        'priority' => '0.7',
                        'lastmod' => $last_date[0]
                    ));
                    
                    $item_nums++;
                }
                
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#3
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $is_end = false;
        $item_nums = 0;
        
        // Заносим в карту альбомы
        $results = cmsCore::c('db')->query("SELECT id, pubdate FROM cms_photo_albums WHERE parent_id != 0 AND NSDiffer = '' AND published = 1");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $last_date = cmsCore::c('db')->get_field('cms_photo_files', "album_id = '". $cat['id'] ."' AND owner = 'photos' ORDER BY pubdate DESC", 'pubdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : $cat['pubdate']);

                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/photos/'. $cat['id'],
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        // Заносим в карту фотографии
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, pubdate FROM cms_photo_files WHERE published = 1 AND owner='photos' ORDER BY pubdate ASC LIMIT ". $item_nums .", 1000");
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($item = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_date = explode(' ', $item['pubdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/photos/photo'. $item['id'] .'.html',
                        'changefreq' => 'weekly',
                        'priority' => '0.7',
                        'lastmod' => $last_date[0]
                    ));
                    
                    $item_nums++;
                }
                
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#4
0
    public function generateMap() {
        $config = cmsCore::getInstance()->loadComponentConfig('users');
        
        if (!$config['sw_guest']) {
            $this->page = 0;
            return;
        }

        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $is_end = false;
        $item_nums = 0;
        
        // Заносим в карту пользователей
        while ($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, login, nickname FROM cms_users WHERE is_locked=0 AND is_deleted=0 ORDER BY nickname ASC LIMIT ". $item_nums .", 1000");
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($user = cmsCore::c('db')->fetch_assoc($results)) {
                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host . cmsUser::getProfileURL($user['ligin']),
                        'changefreq' => 'daily',
                        'priority' => '0.8'
                    ));
                    
                    $item_nums++;
                }
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#5
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $is_end = false;
        $item_nums = 0;
        
        // Заносим в карту категории
        $results = cmsCore::c('db')->query("SELECT seolink FROM cms_forum_cats WHERE published = 1 ORDER BY id ASC");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/forum/'. $cat['seolink'],
                    'changefreq' => 'daily',
                    'priority' => '0.8'
                ));
            }
        }
        
        // Заносим в карту форумы
        $results = cmsCore::c('db')->query("SELECT id FROM cms_forums WHERE published = 1 ORDER BY id ASC");
        
        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/forum/'. $cat['id'],
                    'changefreq' => 'daily',
                    'priority' => '0.8'
                ));
            }
        }
        
        // Заносим в карту темы
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, last_msg FROM cms_forum_threads WHERE is_hidden = 0 ORDER BY pubdate ASC LIMIT ". $item_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($item = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_msg = cmsCore::yamlToArray($item['last_msg']);
                    $last_date = explode(' ', $last_msg['pubdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/thread'. $item['id'] .'.html',
                        'changefreq' => 'weekly',
                        'priority' => '0.7',
                        'lastmod' => $last_date[0]
                    ));
                    
                    $item_nums++;
                }
                
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#6
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }

        $is_end = false;
        $item_nums = 0;
        
        cmsCore::c('blog')->owner = 'user';
        cmsCore::c('db')->where("b.allow_who='all'");
        cmsCore::c('db')->orderBy('b.pubdate', 'ASC');
        
        // Заносим в карту блоги
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT * FROM cms_blogs WHERE owner = 'user' AND allow_who = 'all' ORDER BY pubdate ASC LIMIT ". $item_nums .", 1000");

            if (cmsCore::c('db')->num_rows($results)) {
                while ($blog = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_date = cmsCore::c('db')->get_field('cms_blog_posts', "blog_id='". $blog['id'] ."' ORDER BY pubdate DESC", 'pubdate');
                    $last_date =  explode(' ', !empty($last_date) ? $last_date : $blog['pubdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/blogs/'. $blog['seolink'],
                        'changefreq' => 'daily',
                        'priority' => '0.8',
                        'lastmod' => $last_date[0]
                    ));

                    $item_nums++;
                }
            } else {
                $is_end = true;
            }
        }
        
        $is_end = false;
        $item_nums = 0;
        
        // Заносим в карту посты блогов
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT p.seolink, p.pubdate, b.seolink as blog_seolink FROM cms_blog_posts p INNER JOIN cms_blogs b ON b.id=p.blog_id WHERE p.published=1 AND p.allow_who = 'all' AND b.allow_who='all' AND b.owner='user' ORDER BY pubdate ASC LIMIT ". $item_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($post = cmsCore::c('db')->fetch_assoc($results)) {
                    $last_date = explode(' ', $post['pubdate']);

                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/blogs/'. $post['blog_seolink'] .'/'. $post['seolink'] .'.html',
                        'changefreq' => 'weekly',
                        'priority' => '0.7',
                        'lastmod' => $last_date[0]
                    ));
                    
                    $item_nums++;
                }
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#7
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }

        $is_end = false;
        $item_nums = 0;
        
        cmsCore::c('blog')->owner = 'club';
        
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, title, pubdate FROM cms_clubs WHERE clubtype='public' AND published=1 ORDER BY pubdate ASC LIMIT ". $item_nums .", 1000");
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($club = cmsCore::c('db')->fetch_assoc($results)) {
                    if ($club['enabled_blogs']) {
                        $blog_id = cmsCore::c('db')->get_field('cms_blogs', "owner='club' AND user_id='". $club['id'] ."'", 'id');
                        $last_post_date = cmsCore::c('db')->get_field('cms_blog_posts', "blog_id='". $blog_id ."' ORDER BY pubdate DESC", 'pubdate');
                    }
                    
                    $last_date =  explode(' ', !empty($last_post_date) ? $last_post_date : $club['pubdate']);

                    //Записываем клуб
                    $this->writeMapItem(array(
                        'loc' => cmsCore::c('config')->host .'/clubs/'. $club['id'],
                        'changefreq' => 'daily',
                        'priority' => '0.8',
                        'lastmod' => $last_date[0]
                    ));
                    
                    if ($club['enabled_blogs']) {
                        // Заносим в карту блог клуба
                        $this->writeMapItem(array(
                            'loc' => cmsCore::c('config')->host .'/clubs/'. $club['id'] .'_blog',
                            'changefreq' => 'daily',
                            'priority' => '0.8',
                            'lastmod' => $last_date[0]
                        ));
                        
                        // Заносим в карту посты клубного блога
                        $this->writeClubBlogPosts($blog_id, $club['id']);
                    }
                    
                    if ($club['enabled_photos']) {
                        // Заносим в карту фотоальбомы и фотографии клуба
                        $this->writeClubAlbums($club['id']);
                    }

                    $item_nums++;
                }
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#8
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) { return; }
        
        $today = date('Y-m-d H:i:s');
        $is_end = false;
        
        // Заносим в карту категории
        $results = cmsCore::c('db')->query("SELECT * FROM cms_category WHERE parent_id != 0 AND NSDiffer = '' AND published = 1");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                if (!cmsCore::checkUserAccess('category', $cat['id'])) {
                    continue;
                }
                
                $last_date = cmsCore::c('db')->get_field('cms_content', "category_id='". $cat['id'] ."' ORDER BY pubdate DESC", 'pubdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : $cat['pubdate']);

                $this->writeMapItem(array(
                    'loc' => cmsCore::c('config')->host .'/'. (cmsCore::c('config')->com_without_name_in_url != 'content' ? 'content/' : '') . $cat['seolink'],
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        $article_nums = 0;
        
        // Заносим в карту статьи
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT id, seolink, pubdate FROM cms_content WHERE published = 1 AND pubdate <= '". $today ."' ORDER BY pubdate ASC LIMIT ". $article_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($article = cmsCore::c('db')->fetch_assoc($results)) {
                    if (cmsCore::checkUserAccess('material', $article['id'])) {
                        $last_date = explode(' ', $article['pubdate']);

                        $this->writeMapItem(array(
                            'loc' => cmsCore::c('config')->host .'/'. (cmsCore::c('config')->com_without_name_in_url != 'content' ? 'content/' : '') . $article['seolink'] .'.html',
                            'changefreq' => 'weekly',
                            'priority' => '0.7',
                            'lastmod' => $last_date[0]
                        ));
                    }
                    
                    $article_nums++;
                }
                
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }
示例#9
0
    public function generateMap() {
        $gen_map = parent::generateMap();
        
        if ($gen_map === false) {
            return false;
        } else {
            $this->gOpenFile();
        }

        $is_end = false;
        $access_cats = array();
        
        // Заносим в карту категории
        $results = cmsCore::c('db')->query("SELECT * FROM cms_video_category WHERE parent_id != 0 AND published = 1 ORDER BY id ASC");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                if (!cmsCore::checkUserAccess('video', $cat['id'])) {
                    $access_cats[] = $cat['id'];
                    continue;
                }
                
                $last_date = cmsCore::c('db')->get_field('cms_video_movie', "cat_id='". $cat['id'] ."' ORDER BY pubdate DESC", 'pubdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : $cat['pubdate']);

                $this->writeMapItem(array(
                    'target' => 'video-cat',
                    'loc' => HOST .'/video/'. ($this->cfg['is_seo_url'] ? $cat['seolink'] : $cat['id']),
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        // Заносим в карту рубрики
        $results = cmsCore::c('db')->query("SELECT * FROM cms_video_rubric WHERE published = 1 ORDER BY id ASC");

        if (cmsCore::c('db')->num_rows($results)) {
            while ($cat = cmsCore::c('db')->fetch_assoc($results)) {
                $last_date = cmsCore::c('db')->get_field('cms_video_movie', "rubric_id='". $cat['id'] ."' ORDER BY pubdate DESC", 'pubdate');
                $last_date = explode(' ', !empty($last_date) ? $last_date : $cat['pubdate']);

                $this->writeMapItem(array(
                    'target' => 'video-rubric',
                    'loc' => HOST .'/video/rubrics/'. ($this->cfg['is_seo_url'] ? $cat['seolink'] : 'view'. $cat['id']) .'.html',
                    'changefreq' => 'daily',
                    'priority' => '0.8',
                    'lastmod' => $last_date[0]
                ));
            }
        }
        
        $item_nums = 0;
        
        // Заносим в карту видео материалы
        while($is_end === false) {
            $results = cmsCore::c('db')->query("SELECT m.*, cat.title as cat_title, cat.seolink as cat_seolink FROM cms_video_movie m INNER JOIN cms_video_category cat ON cat.id=m.cat_id WHERE m.published=1 AND cat.published=1 ORDER BY id ASC LIMIT ". $item_nums .', 1000');
            
            if (cmsCore::c('db')->num_rows($results)) {
                while ($item = cmsCore::c('db')->fetch_assoc($results)) {
                    if (in_array($cat['id'], $access_cats)) {
                        continue;
                    }
                    
                    if ($this->cfg['is_seo_url']) {
                        if ($this->cfg['short_seo_url']) {
                            $item['seolink'] = $item['seolink'];
                        } else {
                            $item['seolink'] = $item['cat_seolink'] .'/'. $item['seolink'];
                        }
                    } else {
                        $item['seolink'] = 'movie'. $item['id'];
                    }
                    
                    $last_date = explode(' ', $item['pubdate']);
                    
                    $item['loc'] = HOST .'/video/'. $item['seolink'] .'.html';
                    $item['changefreq'] = 'weekly';
                    $item['priority']   = '0.7';
                    $item['lastmod'] = $last_date[0];
                    $item['cat_link'] = HOST .'/video/'. ($this->cfg['is_seo_url'] ? $item['cat_seolink'] : $item['cat_id']);

                    $this->writeMapItem($item);
                    
                    $item_nums++;
                }
            } else {
                $is_end = true;
            }
        }
        
        $this->closeFile();
    }