XPressME Integration Kit

Trac

source: branches/Ver3.0/xpressme_integration_kit/class/wpInfo_class.php @ 756

Last change on this file since 756 was 749, checked in by toemon, 14 years ago

Database::getInstance()を使わずに、global $xoopsDB を使用する。(xoops3対策)

File size: 6.6 KB
RevLine 
[743]1<?php
2/*
3 * XPressME - WordPress for XOOPS
4 *
5 * @copyright   XPressME Project http://www.toemon.com
6 * @license             http://www.fsf.org/copyleft/gpl.html GNU public license
7 * @author              toemon
8 * @package             module::xpress
9 */
10class wpInfo {
[744]11        var     $mod_dirpath;
12        var     $mod_name;
13        var $mod_url;
14
15        var $xoops_Lang;
16        var $wp_Lang;
17        var $php_version;
18        var $mysql_version;
[743]19        // The language of XOOPS is set as Key of the array.
20        // The language of WP is set as Value of the array.
21        var $wp_lang_array = array(
[744]22                'english' =>    'en_US',
23                'japanese' =>   'ja',
24                'ja_utf8' =>    'ja',
25                'pt-br_utf8' => 'pt_BR',
[743]26                // The key(language of XOOPS) of the following lists has not been set yet.
27                'Afrikaans' =>  'af',
28                'Albanian' =>   'al',
29                'Arabic' =>             'ar',
30                'Bangla' =>             'bn_BD',
31                'Basque' =>             'eu',
32                'Belarusian' => 'be_BY',
33                'Bosnian' =>    'bs_BA',
34                'Bulgarian' =>  'bg_BG',
35                'Catalan' =>    'ca',
36                'Chinese' =>    'zh_CN',
37                'Hong Kong' =>  'zh_HK',
38                'Taiwan' =>             'zh_TW',
39                'Croatian' =>   'hr',
40                'Czech' =>              'cs_CZ',
41                'Danish' =>             'da_DK',
42                'Dutch' =>              'nl_NL',
43                'Esperanto' =>  'eo',
44                'Estonian' =>   'et',
45                'Faroese' =>    'fo',
46                'Finnish' =>    'fi',
47                'Galician' =>   'gl_ES',
48                'Georgian' =>   'ge_GE',
49                'German' =>             'de_DE',
50                'Greek' =>              'el',
51                'Hebrew' =>             'he_IL',
52                'Hungarian' =>  'hu_HU',
53                'Icelandic' =>  'is_IS',
54                'Indonesian' => 'id_ID',
55                'Italian' =>    'it_IT',
56                'Khmer' =>              'km_KH',
57                'ko_utf8' =>    'ko_KR',
58                'Latvian' =>    'lv',
59                'Lithuanian' => 'lt_LT',
60                'Macedonian' => 'mk_MK',
61                'Malagasy' =>   'mg_MG',
62                'Malay' =>              'ms_MY',
63                'Nias' =>               'ni_ID',
64                'Norwegian' =>  'nb_NO',
65                'Persian' =>    'fa_IR',
66                'Polish' =>             'pl_PL',
67                'European Portuguese' =>        'pt_PT',
68                'Romanian' =>   'ro',
69                'Russian' =>    'ru_RU',
70                'Serbian' =>    'sr_RS',
71                'Sinhala' =>    'si_LK',
72                'Slovak' =>             'sk_SK',
73                'Slovenian' =>  'sl_SI',
74                'Spanish' =>    'es_ES',
75                'Sundanese' =>  'su_ID',
76                'Swedish' =>    'sv_SE',
77                'Tajik' =>              'tg',
78                'Thai' =>               'th',
79                'Turkish' =>    'tr',
80                'Ukrainian' =>  'uk',
81                'Uzbek' =>              'uz_UZ',
82                'Vietnamse' =>  'vi',
83                'Welsh' =>              'cy',
84        );
85
[744]86        function wpInfo(){
87                $this->__construct();
88        }
89        function __construct() {
[749]90                global $xoopsDB;
[744]91                $this->mod_dirpath = dirname(dirname(__FILE__));
92                $this->mod_name = basename(dirname(dirname(__FILE__)));
93                $this->mod_url = XOOPS_URL . '/modules/'.$this->mod_name;
94                $this->load_lang();
95                $this->xoops_Lang = @$GLOBALS["xoopsConfig"]['language'];
96                $this->php_version    = phpversion();
97                list($SV) = $xoopsDB->fetchRow($xoopsDB->query('SELECT version()'));
98                $this->mysql_version = $SV;
99
100                $this->get_wpLang();
101        }
102        function text_indent($text,$num = 1,$css_option='')
[743]103        {
[744]104                $ret = '';
105                $px = 24 * $num;
106                $ret = '<div style="padding-left:' .$px .'px;'.$css_option.'">';
107                $ret .= $text . '</div>';
108                return $ret;
[743]109        }
[744]110        public function load_lang()
[743]111        {
[744]112                $lang = @$GLOBALS["xoopsConfig"]['language'];
113
114                // language file (modinfo.php)
115                if( file_exists( $this->mod_dirpath .'/language/'.$lang.'/admin.php' ) ) {
116                        include_once $this->mod_dirpath .'/language/'.$lang.'/admin.php' ;
117                } else if( file_exists(  $this->mod_dirpath .'/language/english/admin.php' ) ) {
118                        include_once $this->mod_dirpath .'/language/english/admin.php' ;
119                }
[743]120        }
[744]121       
122        public function get_php_version()
123        {
124                return $this->php_version;
125        }
126        public function get_mysql_version()
127        {
128                return $this->mysql_version;
129        }
130        public function get_wpLang($xoops_Lang = '')
131        {
132                if(!empty($xoops_Lang)) $this->xoops_Lang = $xoops_Lang;
133                $this->wp_Lang = $this->wp_lang_array[$this->xoops_Lang];
134                if (empty($this->wp_Lang)) $this->wp_Lang =  'en_US';
135                return $this->wp_Lang;
136        }
137        public function get_mod_image_link($file_name='')
138        {
139                $link_url = '';
140                if(!empty($file_name)){
141                        if(file_exists($this->mod_dirpath.'/images/'.$file_name)){
142                                $link_url = '<img alt="'.$file_name.'" src="'. $this->mod_url .'/images/'.$file_name.'" title="'.$file_name.'" align=top>';
143                        }
144                }
145                return $link_url;
146        }
147
148        function is_wpdb_installed(){
[749]149                global $xoopsDB;
[744]150                $prefix_mod = XOOPS_DB_PREFIX .'_' . preg_replace('/wordpress/','wp',$this->mod_name) . '_';
151                $sql = "SHOW TABLES LIKE '$prefix_mod%'";
152                if ($result = $xoopsDB->queryf($sql)){
153                        if($xoopsDB->getRowsNum($result))  return true;
154                }
155                return false;
156        }
157       
158        public function is_wp_file_found()
159        {
160                if (!file_exists($this->mod_dirpath . '/wp-settings.php')){
161                        return false;
162                }
163                return true;
164        }
165        public function get_download_info($locale='')
166        {
[746]167                $local_package = '';
168                $mysql_version = preg_replace('/[^0-9.].*/', '', $this->mysql_version);
[744]169                $php_version = $this->php_version;
[746]170
[744]171                if (empty($locale)) $locale = $this->wp_Lang;
172
[746]173/* test         
174                $mysql_version='4.0.27';
175                $php_version = '4.1.1';
176*/
177                // wprdpress original option
178                // ?version=$wp_version&php=$php_version&locale=$locale&mysql=$mysql_version&local_package=$local_package";
179                $option = "?php=$php_version&locale=$locale&mysql=$mysql_version&local_package=$local_package";
180                $url = "http://api.wordpress.org/core/version-check/1.5/" .$option;
[744]181                $handle = @fopen($url,'r');
182                if ($handle) {
183                        $ans = array();
184                        $num = 0;
185                        $pos = 0;
186                while (($buffer = fgets($handle, 4096)) !== false) {
187                        $buffer = trim($buffer);
188                        if (strlen($buffer) == 0) {
189                                $num++;
190                                $pos=0;
191                        } else {
192                                $ans[$num][$pos] = $buffer;
193                                $pos++;
194                        }
195                }
196                if (!feof($handle)) {
197                        echo "Error: unexpected fgets() fail\n";
198                }
199                fclose($handle);
200                }
201                        $ressponce = $ans[0][0];
202                        $site_url = $ans[0][1];
203                        $download_url = $ans[0][2];
204                        $wp_version = $ans[0][3];
205                        $download_lang = $ans[0][4];
206//                      print_r($ans);
207                        if (isset($ans[1])){
208                                $en_download_url = $ans[1][2];
209                        }
[746]210                        $ret = $this->text_indent('(Check URL: '.$url.')',3);
[744]211                        if ($locale == $download_lang){
[746]212                                $ret .= $this->text_indent(sprintf(_AM_XP2_WP_INFO_1,$locale),2);
[744]213                                $ret .= $this->text_indent('<a href="'.$download_url.'">' . $download_url .'</a>' ,3);
214                                if (!empty($en_download_url)){
215                                        $ret .= $this->text_indent(_AM_XP2_WP_INFO_4,2);
216                                        $ret .= $this->text_indent('<a href="'.$en_download_url .'">' . $en_download_url .'</a>' ,3);
217                                }
218                        } else {
[746]219                                $ret .= $this->text_indent(sprintf(_AM_XP2_WP_INFO_2,$locale));
[744]220                                $ret .= $this->text_indent(_AM_XP2_WP_INFO_3,2);
221                                $ret .= $this->text_indent('<a href="http://codex.wordpress.org/WordPress_in_Your_Language" target="    _blank">WordPress_in_Your_Language</a>' ,3);
222                                $ret .= $this->text_indent(_AM_XP2_WP_INFO_4,2);
223                                $ret .= $this->text_indent('<a href="'.$download_url.'">' . $download_url .'</a>' ,3);
224                        }
225                        echo $ret;
226                }
227        }
[743]228?>
Note: See TracBrowser for help on using the repository browser.