リビジョン | 203 (tree) |
---|---|
日時 | 2010-06-01 07:32:02 |
作者 | kmorimatsu |
jp_sticky ver 0.1
@@ -0,0 +1,58 @@ | ||
1 | +<?php | |
2 | +/* | |
3 | + * Jeans CMS ver 0.7 (GPL license) | |
4 | + * $Id: jp_hello.php 148 2010-03-02 20:41:09Z kmorimatsu $ | |
5 | + */ | |
6 | + | |
7 | +class jp_sticky extends plugin{ | |
8 | + static public function name(){ | |
9 | + return 'Stcikey Plugin'; | |
10 | + } | |
11 | + static public function author(){ | |
12 | + return 'Katsumi'; | |
13 | + } | |
14 | + static public function url(){ | |
15 | + return 'http://jeanscms.sourceforge.jp/'; | |
16 | + } | |
17 | + static public function desc(){ | |
18 | + return 'This is to show stickey item anywhere.'; | |
19 | + } | |
20 | + static public function version(){ | |
21 | + return '0.1'; | |
22 | + } | |
23 | + static public function tag_sticky(&$data,$itemid,$skin=false){ | |
24 | + $query=blog::query_select('WHERE i.id=<%itemid%> AND i.sgid=c.id LIMIT 1'); | |
25 | + $array=array('itemid'=>$itemid); | |
26 | + if ($skin===false) { | |
27 | + $row=sql::query($query,$array)->fetch(); | |
28 | + self::echo_html($row['body']); | |
29 | + } else { | |
30 | + view::show_using_query($data,$query,$array,$skin); | |
31 | + } | |
32 | + } | |
33 | + static public function tag_tablebody(&$data,$itemid=false,$skin=false){ | |
34 | + self::show_using_table('body',$data,$itemid,$skin); | |
35 | + } | |
36 | + static public function tag_tablemore(&$data,$itemid=false,$skin=false){ | |
37 | + self::show_using_table('more',$data,$itemid,$skin); | |
38 | + } | |
39 | + static private function show_using_table($mode,&$data,$itemid,$skin){ | |
40 | + if (!$itemid) $itemid=$data['itemid']; | |
41 | + $query='SELECT body,more FROM jeans_item WHERE id=<%0%>'; | |
42 | + $row=sql::query('SELECT body,more FROM jeans_item WHERE id=<%0%>',$itemid)->fetch(); | |
43 | + $body=$row[$mode]; // $mode is either 'body' or 'more' | |
44 | + if (!preg_match_all('#<tr[^>]*>([\s\S]*?)</tr>#i',$body,$m,PREG_PATTERN_ORDER)) return; | |
45 | + $lines=$m[1]; | |
46 | + $array=array(); | |
47 | + foreach($lines as $line){ | |
48 | + if (preg_match_all('#<td[^>]*>([\s\S]*?)</td>#i',$line,$m,PREG_PATTERN_ORDER)) { | |
49 | + $row=array(); | |
50 | + foreach ($m[1] as $key=>$value) $row[$keys[$key]]=$value; | |
51 | + $array[]=$row; | |
52 | + } elseif (preg_match_all('#<th[^>]*>([\s\S]*?)</th>#i',$line,$m,PREG_PATTERN_ORDER)) { | |
53 | + $keys=$m[1]; | |
54 | + } | |
55 | + } | |
56 | + view::show_using_array($data,$array,$skin); | |
57 | + } | |
58 | +} | |
\ No newline at end of file |