XPressME Integration Kit

Trac

source: trunk/wp-content/plugins/xpressme/include/custom_functions.php @ 49

Last change on this file since 49 was 49, checked in by toemon, 16 years ago

コメントブロックにsmarty変数 data_countをアサイン
ブロックに表示されるコメント数を取得、主にテンプレート側でデータ無し時の処理を書くときに使用
(data_countが 0 のときは「コメントがありません」を表示等

File size: 5.6 KB
Line 
1<?php
2       
3function xpress_credit($show = false)
4{
5        global $xoopsModule,$wp_version;
6       
7        $ret = '<a href="http://www.toemon.com"'. " target='_blank'" . '>XPressME Ver.' . sprintf('%.2f %s',$xoopsModule->getInfo('version'),$xoopsModule->getInfo('codename')) .'</a>';
8        if (strstr($wp_version,'ME')){
9                $ret .= '(included <a href="http://wpme.sourceforge.jp/" title="Powered by WordPress"'." target='_blank'". '>WordPress ' . $wp_version . '</a>)';
10        } else {
11                $ret .= '(included <a href="http://ja.wordpress.org/" title="Powered by WordPress"'." target='_blank'". '>WordPress ' . $wp_version . '</a>)';
12        }
13
14        if (empty($show))
15                return $ret;
16        else
17                echo $ret;
18}
19
20function xpress_convert_time($show = false)
21{
22        $ret =  timer_stop(0) .'sec. ';
23        if (empty($show))
24                return $ret;
25        else
26                echo $ret;
27}
28
29function xpress_is_theme_sidebar_disp(){
30        $config = new XPressME_Class();
31        return $config->is_theme_sidebar_disp;
32}       
33
34function xpress_left_arrow_post_link($show = false)
35{
36        $config = new XPressME_Class();
37        $ret = '';
38               
39        if($config->is_left_postnavi_old){
40                $link_title = $config->old_post_link_text;
41                ob_start();
42                if ($config->is_postnavi_title_disp)
43                        previous_post_link('&laquo; %link');
44                else
45                        previous_post_link('&laquo; %link',$link_title);
46                $ret = ob_get_contents();
47                ob_end_clean();
48        } else {
49                $link_title = $config->newer_post_link_text;
50                ob_start();
51                if ($config->is_postnavi_title_disp)
52                        next_post_link('&laquo; %link');
53                else
54                        next_post_link('&laquo; %link',$link_title);
55                $ret = ob_get_contents();
56                ob_end_clean();
57        }
58       
59        if ($config->is_postnavi_title_disp){
60                $on_mouse_show = $link_title;
61        } else  {
62                if($config->is_left_postnavi_old){
63                        ob_start();
64                                previous_post_link('%link');
65                                $on_mouse_show = ob_get_contents();
66                        ob_end_clean();
67                } else {
68                        ob_start();
69                                next_post_link('%link');
70                                $on_mouse_show = ob_get_contents();
71                        ob_end_clean();
72                }
73                $pattern = "<a[^>]*?>(.*)<\/a>";
74                preg_match("/".$pattern."/s",  $on_mouse_show, $body_matches);
75                $on_mouse_show = $body_matches[1];
76        }
77        $ret = str_replace('">','" title="'.$on_mouse_show . '">' , $ret);
78
79        if (empty($show))
80                return $ret;
81        else
82                echo $ret;     
83}
84
85function xpress_right_arrow_post_link($show = false)
86{
87        $config = new XPressME_Class();
88        $ret = '';             
89       
90        if($config->is_left_postnavi_old){
91                $link_title = $config->newer_post_link_text;
92                ob_start();
93                if ($config->is_postnavi_title_disp)
94                        next_post_link('%link &raquo;');
95                else
96                        next_post_link('%link &raquo;',$link_title);
97                $ret = ob_get_contents();
98                ob_end_clean();
99        } else {
100                $link_title = $config->old_post_link_text;
101                ob_start();
102                if ($config->is_postnavi_title_disp)
103                        previous_post_link('%link &raquo;');
104                else
105                        previous_post_link('%link &raquo;',$link_title);
106                $ret = ob_get_contents();
107                ob_end_clean();
108        }
109       
110        if ($config->is_postnavi_title_disp){
111                $on_mouse_show = $link_title;
112        } else  {
113                if($config->is_left_postnavi_old){
114                        ob_start();
115                                next_post_link('%link');
116                                $on_mouse_show = ob_get_contents();
117                        ob_end_clean();
118                } else {
119                        ob_start();
120                                previous_post_link('%link');
121                                $on_mouse_show = ob_get_contents();
122                        ob_end_clean();
123                }
124                $pattern = "<a[^>]*?>(.*)<\/a>";
125                preg_match("/".$pattern."/s",  $on_mouse_show, $body_matches);
126                $on_mouse_show = $body_matches[1];
127        }
128        $ret = str_replace('">','" title="'.$on_mouse_show . '">' , $ret);
129
130        if (empty($show))
131                return $ret;
132        else
133                echo $ret;     
134}
135function xpress_substr($str, $start, $length, $trimmarker = '...')
136{
137    if (function_exists('mb_substr')){
138        $str2 = mb_substr( $str , $start , $length);
139        return $str2 . ( mb_strlen($str)!=mb_strlen($str2) ? $trimmarker : '' );
140    } else {
141        return ( strlen($str) - $start <= $length ) ? substr( $str, $start, $length ) : substr( $str, $start, $length - strlen($trimmarker) ) . $trimmarker;
142    }
143}
144// xoops db
145function get_xpress_dir_path()
146{
147        return ABSPATH;
148}
149
150function get_xpress_dir_name()
151{
152        return basename(ABSPATH);
153}
154
155function get_wp_prefix_only()
156{
157        $dir_name = get_xpress_dir_name();
158        $prefix = $dir_name;
159        if ($prefix == 'wordpress') $prefix = 'wp';
160       
161        $prefix = $prefix . '_';
162        return $prefix;
163}
164
165function get_xoops_prefix()
166{
167        global $wpdb;
168       
169        $prefix = $wpdb->prefix;
170        $ret = str_replace(get_wp_prefix_only(),'',$prefix);
171        return $ret;
172}
173
174function get_xpress_modid()
175{
176        global $xoops_db;
177       
178        $modulename = get_xpress_dir_name();   
179        $sql = "SELECT mid FROM " . get_xoops_prefix() . "modules WHERE dirname = '$modulename'";
180        $mid = $xoops_db->get_var($sql);
181        return $mid;   
182}
183
184function block_cache_refresh()
185{
186        global $xoops_db;
187        $mid = get_xpress_modid();
188        $sql = "SELECT bid,options,func_file FROM " . get_xoops_prefix() . "newblocks WHERE mid = $mid";
189        $blocks = $xoops_db->get_results($sql);
190        $mydirname = get_xpress_dir_name();
191        require_once get_xpress_dir_path() . '/include/xpress_block_render.php';
192
193
194        foreach($blocks as $block){
195                $func_file = $block->func_file;
196                $call_theme_function_name = str_replace(".php", "", $func_file);
197                $inc_theme_file_name = str_replace(".php", "", $func_file) . '_theme.php';
198                $cache_title = str_replace(".php", "", $func_file);
199                $blockID = $block->bid;
200                $options = explode("|", $block->options);
201                                       
202                $block_theme_file = get_block_file_path($mydirname,$inc_theme_file_name);
203                require_once $block_theme_file;
204                $block_render = $call_theme_function_name($options);            //The block name and the called function name should be assumed to be the same name.                   
205                $xml['block'] = $block_render;
206                xpress_block_cache_write($mydirname,$cache_title. $blockID, $xml);
207        }
208}
209
210?>
Note: See TracBrowser for help on using the repository browser.