• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisão7b5a4426fcaabc6b7f6654fe8bb50e2353f1d2d0 (tree)
Hora2022-01-24 02:10:08
Autorhai-fun <haifun129@gmai...>
Commiterhai-fun

Mensagem de Log

PHP8

Mudança Sumário

Diff

--- a/tvote.inc.php
+++ b/tvote.inc.php
@@ -1,33 +1,34 @@
11 <?php
22 // $Id: tvote.inc.php,v 0.25 2005/02/12 18:00:00 r.tokiwa Exp $
33
4-# ソート・追加対応PukiWiki投票プラグイン
4+# ?純?若???肢申??絲上?PukiWiki??腑??????違?ゃ?
55 # Note: based on vote.inc.php,v 1.14 2003/07/03 05:28:04 arino
66 # Copyright: Ryota Tokiwa
77 # License: GPL
88 # Uage: See README.TXT
9+ // v0.26 PHP8絲上? 2021-12-17 by?????泣??
910
10-# 使用目的に合わせて定数を調整してください。
11-# 投票前に得票数を表示する(TRUE)/しない(FALSE)
11+# 篏睡?????????????????違??茯炊?眼?????????????
12+# ??腑??????腑??違??茵?ず????(TRUE)鐚??????(FALSE)
1213 define('_TVOTE_OPENCOUNT',TRUE);
13-# ページのタイムスタンプを更新をしない(TRUE)/する(FALSE)。
14+# ???若?吾???帥?ゃ???鴻?帥?潟?????贋?違????????(TRUE)鐚????(FALSE)??
1415 define('_TVOTE_NOTIMESTAMP',TRUE);
15-# クッキーに保存する投票数の上限。100以下にしてください。
16+# ???????若???絖???????腑??違???????100篁ヤ????????????????
1617 define('_TVOTE_VOTEDLIST_MAX','30');
17-# クッキーの保存日数。
18+# ???????若???絖??ユ?違??
1819 define('_TVOTE_VALIDDAYS',180);
19-# ソートする(TRUE)/しない(FALSE)
20+# ?純?若??????(TRUE)鐚??????(FALSE)
2021 define('_TVOTE_SORT',TRUE);
21-# その他のフォームを表示する(TRUE)/しない(FALSE)
22+# ????????????若????茵?ず????(TRUE)鐚??????(FALSE)
2223 define('_TVOTE_ADD',TRUE);
23-# ページを凍結すると投票は締め切る(TRUE)/継続する(FALSE)
24+# ???若?吾????腟?????????腑??????????(TRUE)鐚靛?膓?????(FALSE)
2425 define('_TVOTE_FREEZE_SYNC',TRUE);
25-# MD5ダイジェストによる更新衝突チェックを行う(TURE)/行わない(FALSE)。
26+# MD5???ゃ?吾?с?鴻?????????贋?域?腦????с??????茵???(TURE)鐚頫??????(FALSE)??
2627 define('_TVOTE_MD5_CHECK',FALSE);
2728
2829 ########################################
29-# 通常の使用では、これ以降を編集する必要はありません。
30-#クッキー用データデリミタ
30+# ??絽吾??戎???с????????篁ラ????膩???????綽?荀????????障??????
31+#???????主?????若?帥???????
3132 define('C_DELIM','-');
3233
3334 function plugin_tvote_action()
@@ -42,19 +43,19 @@ function plugin_tvote_action()
4243 $tvote_no = -1;
4344 $title = $body = $postdata = '';
4445
45- // ページデータの処理
46+ // ???若?吾???若?帥??????
4647 foreach($postdata_old as $line) {
47- // tvote要素があるか検索し、あれば取り出す。
48+ // tvote荀?膣?????????罎?膣≪?????????医????冴????
4849 if (!preg_match("/^#tvote\((.*)\)\s*$/",$line,$arg)) {
4950 $postdata .= $line;
5051 continue;
5152 }
52- // POSTされたtvoteかどうか検査
53+ // POST??????tvote????????罎??
5354 if (++$tvote_no != $post['tvote_no']) {
5455 $postdata .= $line;
5556 continue;
5657 }
57- //プラグイン引数取り出し
58+ //?????違?ゃ?喝??医????冴??
5859 $args = csv_explode(',', $arg[1]);
5960 $items = null;
6061 $tvoteflag=false;
@@ -64,19 +65,19 @@ function plugin_tvote_action()
6465 if (preg_match("/^([\da-f]{8})$/i",$key,$match))
6566 $votedlist[$match[1]]=1;
6667 }
67- //引数処理
68+ //綣??医????
6869 foreach($args as $arg) {
6970 $cnt = 0;
7071 if (preg_match("/^(.+)\[([^\[]*)\]$/",$arg,$match)) {
7172 $arg = $match[1];
7273 $cnt = intval($match[2]);
7374 if (!is_int($cnt) || $cnt<0) $cnt=0;
74- //引数の先頭文字が+ならはオプションとして $opt[$arg]=$cnt;
75+ //綣??違????????絖???+???????????激?с?潟????? $opt[$arg]=$cnt;
7576 }
7677 $e_arg = encode($arg);
7778 if (!empty($post["tvote_$e_arg"]) and $post["tvote_$e_arg"] == $_vote_plugin_votes) {
78- //投票していないかチェック
79- //初投票ならカウント&クッキーセット
79+ //??腑????????????????с???
80+ //????腑??????????潟??鐚????????若?祉????
8081 $hash=sprintf('%08x',crc32($arg));
8182 $tvoteflag=true;
8283 if (!$votedlist[$hash]) {
@@ -88,9 +89,9 @@ function plugin_tvote_action()
8889 $items[$arg] = array($cnt,$arg);
8990 }
9091 }
91- // その他の場合
92+ // ????????翫??
9293 if ((!empty($post['add_submit']) || !$tvoteflag) && !empty($post['tvote_add'])) {
93- $add = htmlspecialchars($post['tvote_add']);
94+ $add = htmlsc($post['tvote_add']);
9495 # $trans_tbl = array ('"' => '&quot;');
9596 # $add = strtr($post['tvote_add'],$trans_tbl);
9697 $hash=sprintf('%08x',crc32($add));
@@ -108,23 +109,24 @@ function plugin_tvote_action()
108109 $new_value=@join(C_DELIM,array_keys($votedlist));
109110 $_COOKIE['tvote_'.$post['refer'].'_'.$post['tvote_no']]=$new_value;
110111 if (_TVOTE_SORT) {
111- // スコア降順ソート&キー昇順ソート
112- $cmpfunc = create_function('$a, $b', 'return ($a[0]==$b[0]?strcasecmp($a[1],$b[1]):$b[0]-$a[0]);');
112+ // ?鴻?潟?∫?????純?若??鐚????惹?????純?若??
113+ //$cmpfunc = create_function('$a, $b', 'return ($a[0]==$b[0]?strcasecmp($a[1],$b[1]):$b[0]-$a[0]);');
114+ $cmpfunc = function($a, $b) {return ($a[0]==$b[0]?strcasecmp($a[1],$b[1]):$b[0]-$a[0]);};
113115 uasort($items,$cmpfunc);
114116 }
115117 foreach ($items as $key => $value) {
116118 $votes[] = '"'.$key.'['.$value[0].']"';
117119 }
118- // オプション($opt[$arg]) を $votesのあとに追加;
120+ // ?????激?с?鰹?$opt[$arg]鐚? ?? $votes????????申??;
119121 $tvote_str = '#tvote('.@join(',',$votes).")\n";
120122 $postdata_input = $tvote_str;
121123 $postdata .= $tvote_str;
122124 }
123125 if (_TVOTE_MD5_CHECK && (md5(@join('',get_source($post['refer']))) != $post['digest'])) {
124126 $title = $_title_collided;
125- $s_refer = htmlspecialchars($post['refer']);
126- $s_digest = htmlspecialchars($post['digest']);
127- $s_postdata_input = htmlspecialchars($postdata_input);
127+ $s_refer = htmlsc($post['refer']);
128+ $s_digest = htmlsc($post['digest']);
129+ $s_postdata_input = htmlsc($postdata_input);
128130 $body = <<<EOD
129131 $_msg_collided
130132 <form action="$script?cmd=preview" method="post">
@@ -154,15 +156,15 @@ function plugin_tvote_convert()
154156 $style = 'padding-left:0.5em;padding-right:0.5em';
155157 // $vars['tvote_info_'.$tvote_no] .= "debug";
156158
157- // PukiWikiのバグ?対策 action時にページ名でなしで呼ばれる。
159+ // PukiWiki?????逸?絲丞? action???????若?後???с?????у?若?違??????
158160 if (empty($vars['page']))
159161 return '';
160162 if (!array_key_exists($vars['page'],$numbers))
161163 $numbers[$vars['page']] = 0;
162164 $tvote_no = $numbers[$vars['page']]++;
163165 $args = func_get_args();
164- $s_page = htmlspecialchars($vars['page']);
165- $s_digest = htmlspecialchars($digest);
166+ $s_page = htmlsc($vars['page']);
167+ $s_digest = htmlsc($digest);
166168 $_votedlist=explode(C_DELIM, $_COOKIE['tvote_'.$s_page.'_'.$tvote_no]);
167169 foreach( $_votedlist as $key ) {
168170 if (preg_match("/^([\da-f]{8})$/i",$key,$match))
@@ -170,8 +172,8 @@ function plugin_tvote_convert()
170172 }
171173 $view_count=_TVOTE_OPENCOUNT || ($votedlist) || (is_freeze($vars['page']) && _TVOTE_FREEZE_SYNC);
172174 if($view_count) {
173- $votecount_head='得票数';
174- $votepercent_head='得票率';
175+ $votecount_head='緇?腑???;
176+ $votepercent_head='緇?腑??';
175177 }
176178 $body = <<<EOD
177179 <a id="tvote$tvote_no"></a>
@@ -201,7 +203,7 @@ EOD;
201203 $cnt = intval($match[2]);
202204 if (!is_int($cnt) || $cnt<0) $cnt=0;
203205 $polltotal+=$cnt;
204- //引数の先頭文字が+ならはオプションとして $opt[$arg]=$cnt;
206+ //綣??違????????絖???+???????????激?с?潟????? $opt[$arg]=$cnt;
205207 }
206208 $itemlist[$arg]=$cnt;
207209 }
@@ -212,7 +214,10 @@ EOD;
212214 $trans_tbl = array_flip(get_html_translation_table(HTML_ENTITIES));
213215 $item = strtr($key, $trans_tbl);
214216 $html = make_link($item);
215- $cntp=sprintf("%.1f",$cnt*100/$polltotal).'%';
217+ if ($polltotal != 0)
218+ $cntp=sprintf("%.1f",$cnt*100/$polltotal).'%';
219+ else
220+ $cntp = 0 . "%";
216221 if(!$view_count) {
217222 unset($cnt);
218223 unset($cntp);
@@ -227,27 +232,27 @@ EOD;
227232 EOD;
228233 $hash=sprintf('%08x',crc32($key));
229234 $itemshash[$hash] = 1;
230- // 凍結判定
235+ // ??腟??ゅ?
231236 if(!(is_freeze($vars['page']) && _TVOTE_FREEZE_SYNC)) {
232237 if (!$votedlist[$hash])
233- //投票してないならボタン表示
238+ //??腑????????????????帥?活;腓
234239 $body .= "<input type=\"submit\" name=\"tvote_$e_arg\" value=\"$_vote_plugin_votes\" class=\"submit\" />";
235240 else
236- //投票済なら表示しない
237- $body .= '投票済';
238- } //else $body .= '締切';
241+ //??腑??????茵?ず??????
242+ $body .= '??腑??';
243+ } //else $body .= '膩???';
239244 $body .= '</td></tr>';
240245 }
241-# 凍結判定
246+# ??腟??ゅ?
242247 if(!(is_freeze($vars['page']) && _TVOTE_FREEZE_SYNC) && _TVOTE_ADD) {
243248 $cls = ($tdcnt++ % 2) ? 'vote_td1' : 'vote_td2';
244249 $body .= <<<EOD
245250 <tr>
246- <td align="left" class="$cls" colspan="3" style="$style">その他
251+ <td align="left" class="$cls" colspan="3" style="$style">?????
247252 <input type="text" size="40" name="tvote_add" value="" />
248253 </td>
249254 <td align="right" class="$cls" style="$style">
250-<input type="submit" name="add_submit" value="投票" class="submit" />
255+<input type="submit" name="add_submit" value="??腑? class="submit" />
251256 </td>
252257 </tr>
253258 EOD;
@@ -256,7 +261,7 @@ EOD;
256261 $cls = ($tdcnt++ % 2) ? 'vote_td1' : 'vote_td2';
257262 $body .= <<<EOD
258263 <tr>
259- <td align="left" class="$cls" style="$style">投票総数</td>
264+ <td align="left" class="$cls" style="$style">??腑????/td>
260265 <td align="right" class="$cls" style="$style">$polltotal</td>
261266 <td align="right" class="$cls" style="$style"></td>
262267 <td align="right" class="$cls" style="$style"></td>
@@ -264,13 +269,18 @@ EOD;
264269 EOD;
265270 }
266271 $body .= '</table></form>';
267-# クッキー掃除
268- foreach( array_keys($votedlist) as $key )
269- if (!$itemshash[$key])
270- unset($votedlist[$key]);
271-# クッキーセット
272- $new_value=@join(C_DELIM,array_keys($votedlist));
273- setcookie('tvote_'.$s_page.'_'.$tvote_no,$new_value,time()+3600*24*_TVOTE_VALIDDAYS);
272+# ???????惹??
273+ if (!empty($votedlist)) {
274+ foreach( array_keys($votedlist) as $key )
275+ if (!$itemshash[$key])
276+ unset($votedlist[$key]);
277+ }
278+# ???????若?祉????
279+ if (!empty($votedlist)) {
280+ $new_value=@join(C_DELIM,array_keys($votedlist));
281+ setcookie('tvote_'.$s_page.'_'.$tvote_no,$new_value,time()+3600*24*_TVOTE_VALIDDAYS);
282+ }
274283 return $vars['tvote_info_'.$tvote_no].$body;
284+
275285 }
276286 ?>