xoops

piCal一覧に本名追加

カレンダーや今日の予定の箇所に誰のスケジュールなのかを一目瞭然にしたかったのでググる。

■piCalのスケジュールに投稿者の本名を追加(月毎のカレンダー)

./modules/pical/class/piCal.phpファイル内の
function get_monthly_html()関数内に以下の赤字部分を追加

// カレンダーの本体を返す(1ヶ月分)
function get_monthly_html( $get_target = '' , $query_string = '' )
{
                  〜省略〜
if( $summary != $event->summary ) $summary .= ".." ;
// $event_str_tmp = "• $summary" ;
$uname = XoopsUser::getUnameFromId($event->uid, 1);
$event_str_tmp = "$uname:$summary" ;
$bit = array_search( $event->unique_id , $long_event_ids ) ;
                  〜省略〜
return $ret ;
}
参照pical 0.8で本名を表示したい

■// カレンダーの本体を返す(1日分)

本来時刻が表示される箇所に本名をもってきて、時刻は件名の後に表示してみた。
./modules/pical/class/piCal.php

// サニタイズ
$description = $this->textarea_sanitizer_for_show( $event->description ) ;
$summary = $this->text_sanitizer_for_show( $event->summary ) ;
$uname = XoopsUser::getUnameFromId($event->uid, 1); //本名追加
$summary_class = $event->allday ? "calsummary_allday" : "calsummary" ;

$ret .= "
<tr>
<td valign='top' align='center'>
<pre style='margin:0px;'><font size='3'><strong>$uname</strong></font></pre>
</td>
<td vlalign='top'>
<font size='3'><a href='?cid=$this->now_cid&smode=Daily&action=View&event_id=$event->id&caldate=$this->caldate' class='$summary_class'>$summary</a><strong>$time_part</strong></font><br />
<font size='2'>$description</font><br />
 
</td>

\n" ;

■今日の予定

./modules/pical/class/piCal_xoops.php

■piCalのブロックに投稿者本名のSmarty変数を追加

./modules/pical/class/piCal_xoops.php内に、

'uid' => $event->uid ,

という箇所が5箇所程あると思いますので、
そのすぐ下にでも、

'uname' => XoopsUser::getUnameFromId($event->uid, 1) , // 投稿者本名表示

上記の1行を追加してみてください。

例)./modules/pical/class/piCal_xoops.phpのカスタマイズ例

// 通常イベントの配列セット
$block['events'][] = array(
      〜省略〜
'id' => $event->id ,
'uid' => $event->uid ,
'uname' => XoopsUser::getUnameFromId($event->uid, 1) , // 投稿者本名表示
'dot_gif' => $dot ,
      〜省略〜
'is_end_date' => $event->is_end_date
) ;

やりたいことにしっかり当てはまって感激。
あとはカレンダーの本体を返す(1日分)にも対応させよう。メモ

  • この記事を書いた人

ゆず

忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
一杯おごる

-xoops