piCal一覧に本名追加

      2012/04/06

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

■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日分)にも対応させよう。メモ

0

 - xoops