• R/O
  • SSH
  • HTTPS

jeanscms: コミット


コミットメタ情報

リビジョン203 (tree)
日時2010-06-01 07:32:02
作者kmorimatsu

ログメッセージ

jp_sticky ver 0.1

変更サマリ

差分

--- plugins/sticky/trunk/jp_sticky.php (nonexistent)
+++ plugins/sticky/trunk/jp_sticky.php (revision 203)
@@ -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
旧リポジトリブラウザで表示