XPressME Integration Kit

Trac

Changeset 63


Ignore:
Timestamp:
Jan 6, 2009, 1:18:31 AM (15 years ago)
Author:
toemon
Message:

カテゴリー選択のあるブロックで、カテゴリリストを得るために、WPをロードするとcoolplayerプラグインでエラーになるので、WPをロードせずリストを得るように変更。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/blocks/block_common.php

    r35 r63  
    2121function dropdown_cats_options($sort_column = 'ID', $sort_order = 'asc', $selected=array())  
    2222{ 
    23     global $wpdb, $wp_query, $wp_rewrite, $wp_roles; 
    24  
    25         $path = dirname(dirname(__FILE__)) . '/'; 
    26         if (file_exists($path . 'wp-load.php')) { 
    27                 require_once $path . 'wp-load.php'; 
     23    $mydirpath = dirname(dirname(__FILE__)); 
     24        $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ; 
     25        if ($mydirname == 'wordpress'){ 
     26                $wp_prefix = 'wp_'; 
    2827        } else { 
    29                 require_once $path . 'wp-config.php'; 
     28                $wp_prefix = $mydirname . '_'; 
    3029        } 
    31  
     30        $xoopsDB =& Database::getInstance(); 
    3231        $myts =& MyTextSanitizer::getInstance(); 
    3332    $selected = is_array($selected)?$selected:array($selected); 
    3433    $sort_column = 'cat_'.$sort_column; 
     34        include $mydirpath.'/wp-includes/version.php'; 
    3535        if ($wp_db_version < 6124) { 
     36                $db_xpress_categories = $xoopsDB->prefix($wp_prefix . 'categories'); 
    3637                $query = " 
    3738                SELECT cat_ID, cat_name, category_nicename,category_parent  
    38                 FROM $wpdb->categories  
     39                FROM $db_xpress_categories  
    3940                WHERE cat_ID > 0  
    4041                "; 
    41         $query .= " ORDER BY $sort_column $sort_order"; 
     42                $query .= " ORDER BY $sort_column $sort_order"; 
    4243 
    4344    } else { 
     45        $db_xpress_terms = $xoopsDB->prefix($wp_prefix . 'terms'); 
     46        $db_xpress_term_taxonomy = $xoopsDB->prefix($wp_prefix . 'term_taxonomy'); 
    4447        $query = " 
    45                         SELECT $wpdb->terms.term_id as cat_ID , $wpdb->terms.name as cat_name , $wpdb->term_taxonomy.taxonomy  
    46                         FROM $wpdb->terms LEFT JOIN $wpdb->term_taxonomy ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id  
    47                         WHERE $wpdb->term_taxonomy.taxonomy = 'category'  
     48                        SELECT $db_xpress_terms.term_id as cat_ID , $db_xpress_terms.name as cat_name , $db_xpress_term_taxonomy.taxonomy  
     49                        FROM $db_xpress_terms LEFT JOIN $db_xpress_term_taxonomy ON $db_xpress_terms.term_id = $db_xpress_term_taxonomy.term_id  
     50                        WHERE $db_xpress_term_taxonomy.taxonomy = 'category'  
    4851        "; 
    4952                $query .= " ORDER BY $sort_column $sort_order"; 
    5053    } 
    51  
    52     $categories = $wpdb->get_results($query); 
    53     if ($categories) { 
    54         foreach ($categories as $category) { 
    55             $cat_name = apply_filters('list_cats', $category->cat_name, $category); 
    56             echo "\t<option value=\"".$category->cat_ID."\""; 
    57             if (in_array($category->cat_ID, $selected)) 
     54        $res =  $xoopsDB->query($query, 0, 0); 
     55    if ($res !== false){ 
     56                while($row = $xoopsDB->fetchArray($res)){ 
     57            $cat_name = $row['cat_name']; 
     58            $cat_ID = $row['cat_ID']; 
     59            echo "\t<option value=\"".$cat_ID."\""; 
     60            if (in_array($cat_ID, $selected)) 
    5861                echo ' selected="selected"'; 
    5962            echo '>'; 
Note: See TracChangeset for help on using the changeset viewer.