PageRenderTime 41ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/webapp_biz/modules/biz/page/fh_biz_schedule_view.php

https://github.com/openpne/OpenPNE2
PHP | 124 lines | 87 code | 22 blank | 15 comment | 13 complexity | 824d7e7935cba37ae60b7e876ad37493 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
  1. <?php
  2. /**
  3. * @copyright 2005-2008 OpenPNE Project
  4. * @license http://www.php.net/license/3_01.txt PHP License 3.01
  5. */
  6. class biz_page_fh_biz_schedule_view extends OpenPNE_Action
  7. {
  8. function execute($requests)
  9. {
  10. $u = $GLOBALS['AUTH']->uid();
  11. if (!biz_isPermissionSchedule($u, $requests['id'])) {
  12. handle_kengen_error();
  13. }
  14. $form_val['subject'] = $requests['subject'];
  15. $form_val['body'] = $requests['body'];
  16. $sessid = session_id();
  17. if (empty($requests['target_id']) || ($requests['target_id'] == $u)) {
  18. //自分自身
  19. $target_id = $u;
  20. $this->set('is_h', true); //判別フラグ
  21. $this->set('inc_navi',fetch_inc_navi('h'));
  22. } else {
  23. //他人
  24. $target_id = $requests['target_id'];
  25. $this->set('is_f', true); //判別フラグ
  26. $this->set('inc_navi',fetch_inc_navi('f',$requests['target_id']));
  27. }
  28. //プロフィール
  29. $target_member = db_member_c_member4c_member_id($u);
  30. $this->set("target_member", $target_member);
  31. $this->set("form_val", $form_val);
  32. $this->set("target_c_member_id", $requests['target_id']);
  33. //カレンダー関係
  34. //カレンダー開始用変数
  35. $year = date("Y");
  36. $month= date("n");
  37. //カレンダー用変数
  38. $date_val= array(
  39. 'year' => $year,
  40. 'month' => $month,
  41. 'day' => null,
  42. );
  43. $this->set("date_val", $date_val);
  44. //日記のカレンダー
  45. $calendar = db_common_diary_monthly_calendar($year, $month, $u);
  46. $this->set("calendar", $calendar['days']);
  47. $this->set("ym", $calendar['ym']);
  48. $list = biz_getScheduleInfo($requests['id']);
  49. //繰り返しフラグのチェック
  50. $dayofweek = array('日','月','火','水','木','金', '土');
  51. foreach ($dayofweek as $key => $value) {
  52. if ($list['rep_type'] & (1 << $key)) {
  53. $tmp .= $value;
  54. }
  55. }
  56. $list['rep_type_loc'] = $tmp;
  57. $list['writer_name'] = biz_getMemberNickname($list['c_member_id']);
  58. $list['begin_time'] = substr($list['begin_time'], 0, 5);
  59. $list['finish_time'] = substr($list['finish_time'], 0, 5);
  60. $jmembers = biz_getJoinMemberSchedule($requests['id']);
  61. if (array_search($target_member['nickname'], $jmembers)) {
  62. $jmembers[$target_member['c_member_id']] = $target_member['nickname'];
  63. } else {
  64. $list['target_c_member_nickname'] = biz_getMemberNickname($requests['target_id']);
  65. }
  66. $this->set('jmembers', $jmembers);
  67. $this->set('schedule', $list);
  68. $this->set('jmembers', $jmembers);
  69. $this->set('jmembers_enc', serialize($jmembers));
  70. $this->set('schedule_id', $requests['id']);
  71. $this->set('w', $requests['w']);
  72. $this->set('is_h', true);
  73. if ($list['rep_type']) {
  74. //繰り返し予定の場合は開始日と期間をセット
  75. $repeat_begin = biz_getRepeatBegin($requests['id']);
  76. $repeat_finish = biz_getRepeatFinish($requests['id']);
  77. $repeat_term = strtotime($repeat_finish) - strtotime($repeat_begin);
  78. $daycount = ceil($repeat_term / (24 * 60 * 60) / 6);
  79. if ($repeat_finish == $repeat_begin) {
  80. $daycount = 1;
  81. }
  82. $this->set('repeat_begin_date', $repeat_begin);
  83. $this->set('repeat_term', ceil($daycount));
  84. } else{
  85. // 繰り返さない予定の場合、日数をセット
  86. $term = strtotime($list["finish_date"]) - strtotime($list["begin_date"]);
  87. $daycount = ceil($term / (24 * 60 * 60)) + 1;
  88. $this->set('sc_bn', $daycount);
  89. }
  90. if ($list['rep_type']) {
  91. //繰り返し予定の場合はまとめて既読済みに
  92. $rep_schedule = biz_getRepeatScheduleID($requests['id']);
  93. foreach ($rep_schedule as $value) {
  94. biz_readSchedule($u, $value);
  95. }
  96. } else {
  97. biz_readSchedule($u, $requests['id']);
  98. }
  99. return 'success';
  100. }
  101. }
  102. ?>