本文整理汇总了PHP中calendar::show_calendar方法的典型用法代码示例。如果您正苦于以下问题:PHP calendar::show_calendar方法的具体用法?PHP calendar::show_calendar怎么用?PHP calendar::show_calendar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类calendar
的用法示例。
在下文中一共展示了calendar::show_calendar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
function execute()
{
$context =& $this->getContext();
$user = $context->getUser();
$request = $context->getRequest();
$acs_user_info_row = $user->getAttribute('acs_user_info_row');
// 対象となるユーザコミュニティIDを取得
$user_community_id = $request->ACSgetParameter('id');
if ($user_community_id == null || $user_community_id == '') {
$user_community_id = $request->getAttribute("id");
}
// ユーザ情報
$target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($user_community_id);
$top_page_url = $this->getControllerPath("User", 'Diary') . '&id=' . $user_community_id;
$year = $request->ACSgetParameter('year');
// 年
$month = $request->ACSgetParameter('month');
// 月
if (!checkdate($month, 1, $year)) {
$date_array = getdate();
// 現在の日付情報
$year = $date_array["year"];
$month = $date_array["mon"];
}
//表示月($year/$month)に該当するデータを検索に行く
$diary_row_array = ACSDiary::get_diary_row_array_by_year_month($user_community_id, $year, $month);
// 信頼済みコミュニティ情報の追加
foreach ($diary_row_array as $index => $diary_row) {
if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) {
$diary_row_array[$index]['trusted_community_row_array'] = ACSDiary::get_diary_trusted_community_row_array($diary_row['diary_id']);
}
}
//---- アクセス制御 ----//
$acs_user_info_row = $user->getAttribute('acs_user_info_row');
foreach ($diary_row_array as $index => $diary_row) {
// 信頼済みコミュニティ(マイフレンズグループ)が定義されているか
if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D05')) {
if (count($diary_row['trusted_community_row_array']) && $diary_row['trusted_community_row_array'][0]['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D20')) {
$diary_row_array[$index]['trusted_community_flag'] = 0;
} else {
$diary_row_array[$index]['trusted_community_flag'] = 1;
}
}
}
$role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $target_user_info_row);
$diary_row_array = ACSAccessControl::get_valid_row_array_for_user_community($acs_user_info_row, $role_array, $diary_row_array);
//----------------------//
// クラスを初期化
// calendar(開始曜日, 当月以外の日付を表示するかどうか) の形で指定します。
// ※開始曜日(0-日曜 から 6-土曜)、当月以外の日付を表示(0-No, 1-Yes)
$calendar_obj = new calendar(0, 0);
// 表示月以外の日付を表示しないことで共通させる
// リンクを設定
$calendar_obj->clear_link();
if ($diary_row_array) {
// リンクのある間、繰り返し
foreach ($diary_row_array as $index => $diary_row) {
if ($diary_row) {
$link_date = substr($diary_row['post_date'], 8, 2);
if (substr($link_date, 0, 1) == '0') {
$link_date = substr($link_date, 1, 1);
}
$calendar_obj->set_link($link_date, $top_page_url . "&year={$year}&month={$month}&day={$link_date}", ACSMsg::get_msg('User', 'DiaryCalendarAction.class.php', 'M001'));
}
}
}
// 指定月のカレンダー描画
// show_calendar(年, 月, 日) の形で指定します。
// ※日は省略可能です。指定するとその日が太字で表示されます。
$calendar_obj->set_str_url($top_page_url);
$new_calendar_html = $calendar_obj->show_calendar($year, $month);
// 年と月を指定してカレンダーを表示
$request->setAttribute('new_calendar_html', $new_calendar_html);
return View::INPUT;
}