OSDN Git Service

FIX: NP_ImageLimitSizeをNucleus 3.65/PHP5.4/MySQL5.5で動作するよう修正
[nucleus-jp/nucleus-plugins.git] / NP_Blogpeople / trunk / NP_Blogpeople.php
1 <?
2 // plugin needs to work on Nucleus versions <=2.0 as well
3 if (!function_exists('sql_table')){
4         function sql_table($name) {
5                 return 'nucleus_' . $name;
6         }
7 }
8
9 class NP_Blogpeople extends NucleusPlugin {
10         function supportsFeature($what) {
11                 switch($what){
12                         case 'SqlTablePrefix':
13                                 return 1;
14                         default:
15                                 return 0;
16                 }
17         }
18
19         function getName()      {return 'Blogpeople feed'; }
20         function getAuthor()  {return 'nakahara21'; }
21         function getURL()        {return 'http://xx.nakahara21.net/'; }
22         function getVersion() {return '0.3'; }
23         function getDescription() {
24                 return 'Call this to import a Blogpeople feed. Currently all feeds work with the same defaults.';
25         }
26
27         function install() {
28         }
29
30         function doSkinVar($skintype, $feedURL = '') {
31                 global $manager, $blog, $CONF; 
32         global $i, $tname, $bplink, $data;
33
34                 if ($blog) { 
35                         $b =& $blog; 
36                 } else { 
37                         $b =& $manager->getBlog($CONF['DefaultBlog']); 
38                 } 
39
40
41
42         $result = @file($feedURL);
43         
44         if($result){
45         $i = 0;
46         foreach($result as $key => $value){
47                 $result[$key] = mb_convert_encoding($value, _CHARSET, "auto");
48         }
49         $data = join( "", $result );
50 //      echo $data;
51
52     $parser = xml_parser_create();
53         xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
54     xml_set_element_handler($parser, "startElement", "endElement");
55     xml_set_character_data_handler($parser, "characterData");
56
57     if(!xml_parse($parser, $data)){
58         die(sprintf("XML error %d %d",
59         xml_get_current_line_number($parser),
60         xml_get_current_column_number($parser)));
61     }
62     }
63
64         xml_parser_free($parser);
65
66
67 //      print_r($bplink);
68
69 //==(ɽ¼¨Éôʬ ¥µ¥ó¥×¥ëA)=======================
70 /*
71         echo '<ul class="nobullets">'."\n";
72         foreach($bplink as $out){
73                         $update = '';
74                 if($out['description']){        //¹¹¿·Æü»þ¤¬¤¢¤ë¾ì¹ç
75
76 //                      ¢­¡Ö2003-11-18 15:40¡×¤Î¤è¤¦¤Ëñ½ãɽ¼¨
77                         $update = date ("Y-m-d H:i", $out['description']);
78
79                 }
80
81                 echo '<li><a href="'.$out['link'].'" target="_blank">'.$out['title'].'</a> '.$update;
82                 echo '</li>'."\n";
83         }
84         echo '<li><a href="http://www.blogpeople.net/" target="_blank"><img src="http://www.blogpeople.net/powered-by.gif" border="0" alt="Powered By BlogPeople"></a></li>';
85         echo '</ul>'."\n";
86
87 */
88 //==(ɽ¼¨Éôʬ ¥µ¥ó¥×¥ëB)=======================
89 /*
90         echo '<ul class="nobullets">'."\n";
91         foreach($bplink as $out){
92                         $update = '';
93                 if($out['description']){        //¹¹¿·Æü»þ¤¬¤¢¤ë¾ì¹ç
94 //                      ¹¹¿·¤«¤é¤Î·Ð²á»þ´Ö(ñ°Ì¤Ï»þ´Ö)
95                         $difhours = round(($b->getCorrectTime() - $out['description'])/60/60);
96                         if($difhours < 24){     //24»þ´Ö°ÊÆâ¤Îɽ¼¨
97                                 $update = 'Hot!';
98                         }elseif($difhours < 48){        //48»þ´Ö°ÊÆâ¤Îɽ¼¨
99                                 $update = $difhours . 'h';
100                         }else{                          //48»þ´Ö°Ê¾å·Ð²á¤·¤¿¾ì¹ç¤ÏÆü¿ôɽ¼¨
101                                 $update = round($difhours/24).'d';
102                         }
103                 }
104
105                 echo '<li><a href="'.$out['link'].'" target="_blank">'.$out['title'].'</a> '.$update;
106                 echo '</li>'."\n";
107         }
108         echo '<li><a href="http://www.blogpeople.net/" target="_blank"><img src="http://www.blogpeople.net/powered-by.gif" border="0" alt="Powered By BlogPeople"></a></li>';
109         echo '</ul>'."\n";
110
111 */
112 //==(ɽ¼¨Éôʬ ¥µ¥ó¥×¥ëC)=======================
113         echo '<ul class="nobullets">'."\n";
114         foreach($bplink as $out){
115                         $update = '';
116                 if($out['description']){        //¹¹¿·Æü»þ¤¬¤¢¤ë¾ì¹ç
117 //                      ¹¹¿·¤«¤é¤Î·Ð²á»þ´Ö(ñ°Ì¤Ï»þ´Ö)
118                         $difhours = round(($b->getCorrectTime() - $out['description'])/60/60);
119                         if($difhours < 24){     //24»þ´Ö°ÊÆâ¤Îɽ¼¨
120                                 $update = ' style="border-bottom:3px solid red"';
121                         }elseif($difhours < 48){        //48»þ´Ö°ÊÆâ¤Îɽ¼¨
122                                 $update = ' style="border-bottom:3px solid orange"';
123                         }else{                          //48»þ´Ö°Ê¾å·Ð²á¤·¤¿¾ì¹ç¤ÏÆü¿ôɽ¼¨
124                                 $update = ' style="border-bottom:3px solid silver"';
125                         }
126
127                 }
128
129                 echo '<li><a href="'.$out['link'].'" target="_blank"'.$update.'>'.$out['title'].'</a> ';
130                 echo '</li>'."\n";
131         }
132         echo '<li><a href="http://www.blogpeople.net/" target="_blank"><img src="http://www.blogpeople.net/powered-by.gif" border="0" alt="Powered By BlogPeople"></a></li>';
133         echo '</ul>'."\n";
134 //===================================
135
136         echo "<hr />";
137         }
138         }
139
140 function startElement($parser, $name, $attrs){
141         global $i, $tname;
142         if($name == 'item'){$i ++;}
143         $tname = $name;
144 }
145
146  function endElement($parser, $name){
147 }
148
149 function characterData($parser, $data){
150         global $i, $tname, $bplink;
151         $data = trim($data);
152         if($data){
153                 switch($tname){
154                         case 'title': 
155                                 $bplink[$i][title] = $data;
156                                 break;
157                         case 'link': 
158                                 $bplink[$i][link] = $data;
159                                 break;
160                         case 'description': 
161                                 $data = explode(" ",$data);
162                                 sscanf($data[0],'¹¹¿·Æü:%2cǯ%2c·î%2cÆü',$py,$pm,$pd);
163                                 sscanf($data[1],'%2c»þ%2cʬ',$ph,$pi);
164                                 $bplink[$i][description] =  mktime ($ph,$pi,0,$pm,$pd,$py);
165                                 break;
166                         default: 
167                                 break;
168                 
169                 
170                 }
171
172
173         }
174 }
175
176
177 }
178 ?>