[29] | 1 | <?php
|
---|
| 2 | // $Id: xpress.php
|
---|
| 3 | // FILE :: xpress.php
|
---|
| 4 | // AUTHOR :: toemon
|
---|
| 5 | //
|
---|
| 6 | // WordPress 2.0+
|
---|
| 7 |
|
---|
| 8 | if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
|
---|
| 9 | $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
|
---|
| 10 |
|
---|
| 11 | eval( '
|
---|
| 12 | function b_sitemap_' . $mydirname . '(){
|
---|
| 13 | return _sitemap_xpress("'.$mydirname.'");
|
---|
| 14 | }
|
---|
| 15 | ') ;
|
---|
| 16 |
|
---|
| 17 | if(!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 |
|
---|
| 28 | if(!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 | ?> |
---|