XPressME Integration Kit

Trac

source: trunk/include/sitemap.plugin.php @ 29

Last change on this file since 29 was 29, checked in by toemon, 15 years ago

サイトマップ用プラグイン実装 #8

File size: 3.2 KB
Line 
1<?php
2// $Id: xpress.php
3// FILE         ::      xpress.php
4// AUTHOR       ::      toemon
5//
6// WordPress 2.0+
7
8if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
9$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
10
11eval( '
12function b_sitemap_' . $mydirname . '(){       
13        return _sitemap_xpress("'.$mydirname.'");
14}
15') ;
16
17if(!function_exists('_sitemap_xpress')){
18        function _sitemap_xpress($mydirname){
19                global $sitemap_configs;
20               
21                $xpress_sitemap =array();       
22                $disp_sub =@$sitemap_configs["show_subcategoris"];             
23                get_sitemap_category_list($mydirname,&$xpress_sitemap, 0, 0, $disp_sub,1);             
24                return $xpress_sitemap;
25        }
26}
27
28if(!function_exists('get_sitemap_category_list')){
29        function get_sitemap_category_list($mydirname,$xpress_sitemap,$parent = 0, $parent_index ,$disp_sub,$depth)
30        {
31                global $xoopsModule, $wp_db_version;
32
33                if (!file_exists(XOOPS_ROOT_PATH . '/modules/' . $mydirname . '/wp-includes/version.php')){
34                        return '';
35                }
36               
37                include_once (XOOPS_ROOT_PATH . '/modules/' . $mydirname . '/wp-includes/version.php');
38                $db_version = $wp_db_version;
39                $xoopsDB =& Database::getInstance();
40                $myts =& MyTextSanitizer::getInstance();
41               
42                $prefix = $mydirname;
43                if ($prefix == 'wordpress') $prefix ='wp';
44                $wp_prefix = $xoopsDB->prefix($prefix);
45               
46                switch($db_version){
47                        case ($db_version>= 6000):
48                                $id_name = "term_taxonomy_id";
49                                $pid_name = "parent";
50                                $title_name = "name";
51                                $term_taxonomy_db = $wp_prefix . '_term_taxonomy';
52                                $terms_db = $wp_prefix . '_terms';
53                                $sql  = "SELECT $term_taxonomy_db.$id_name,$terms_db.$title_name ";
54                                $sql .= "FROM $term_taxonomy_db INNER JOIN $terms_db ON $term_taxonomy_db.term_id = $terms_db.term_id ";
55                                $sql .= "WHERE $term_taxonomy_db.parent = $parent AND $term_taxonomy_db.taxonomy = 'category'";
56                                break;
57                        default:
58                                $id_name = "cat_ID";
59                                $pid_name = "category_parent";
60                                $title_name = "cat_name";
61                                $cat_db = $wp_prefix . '_categories';
62                                $sql  = "SELECT $id_name , $title_name ";
63                                $sql .= "FROM  $cat_db ";
64                                $sql .= "WHERE $pid_name = $parent";                           
65                                break;
66                }
67                                               
68                $res =  $xoopsDB->query($sql, 0, 0);
69            if ($res === false){
70                return ;
71                } else {
72                        $index = 0;
73                        while($row = $xoopsDB->fetchArray($res)){
74                                if ($depth == 1){
75                                        $xpress_sitemap['parent'][$index]['id'] = $row[$id_name];
76                                        $xpress_sitemap['parent'][$index]['title'] = $myts->makeTboxData4Show( $row[$title_name] ) ;
77                                        $url = "index.php?cat=";
78                                        $xpress_sitemap['parent'][$index]['url'] = $url.$row[$id_name];
79                                        if ($disp_sub){
80                                                get_sitemap_category_list($mydirname,&$xpress_sitemap,$row[$id_name] , $index, $disp_sub,$depth + 1);   
81                                        }
82                                } else {
83                                        $xpress_sitemap['parent'][$parent_index]['child'][$index]['id'] = $row[$id_name];
84                                        $xpress_sitemap['parent'][$parent_index]['child'][$index]['title'] = $myts->makeTboxData4Show( $row[$title_name] ) ;
85                                        $url = "index.php?cat=";
86                                        $xpress_sitemap['parent'][$parent_index]['child'][$index]['url'] = $url.$row[$id_name];
87                                        $xpress_sitemap['parent'][$parent_index]['child'][$index]['image'] = (($depth > 3) ? 4 : $depth);;
88//                                      get_sitemap_category_list($mydirname,&$xpress_sitemap,$row[$id_name] , $index, $disp_sub,$depth +1);
89                                }
90                                $index++;
91                        }
92            }
93        }
94}
95
96?>
Note: See TracBrowser for help on using the repository browser.