コード例 #1
0
ファイル: ACSLog.class.php プロジェクト: nkawa/acs-git-test
 /**
  * ログ情報を検索する
  *
  * @param $form 検索条件
  * @return ログ情報の配列 (連想配列の配列)
  */
 static function search_log_row_array($form)
 {
     $sql = "SELECT *";
     $sql .= " FROM log, operation_master";
     $sql .= " WHERE log.operation_code = operation_master.operation_code";
     // 検索条件 //
     // キーワード
     if ($form['q'] != '') {
         $sqlfunc = "acs_convert_timestamp_" . ACSMsg::get_lang();
         $query_array_array = ACSLib::get_query_array_array($form['q']);
         $where_sql = '';
         foreach ($query_array_array as $query_array) {
             if (!count($query_array)) {
                 continue;
             }
             $sub_where_sql = '';
             foreach ($query_array as $query) {
                 $query = pg_escape_string($query);
                 ACSLib::escape_ilike($query);
                 if ($sub_where_sql != '') {
                     $sub_where_sql .= " OR ";
                 }
                 $sub_where_sql .= "(";
                 $sub_where_sql .= " log.log_id ILIKE '%{$query}%'";
                 //$sub_where_sql .= " OR acs_convert_timestamp_to_jdate(log.log_date, 'YYYY/MM/DD', 'FMHH24:MI:SS') ILIKE '%$query%'";
                 $sub_where_sql .= " OR " . $sqlfunc . "(log.log_date, 'YYYY/MM/DD', 'FMHH24:MI:SS') ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR log.user_id ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR log.user_name ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR log.community_name ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR (CASE WHEN administrator_flag = 't' THEN '" . ACSMsg::get_mdmsg(__FILE__, 'M001') . "' ELSE '" . ACSMsg::get_mdmsg(__FILE__, 'M002') . "' END) ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR operation_master.operation_name ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR log.message ILIKE '%{$query}%'";
                 $sub_where_sql .= " OR (CASE WHEN log.operation_result = 't' THEN '" . ACSMsg::get_mdmsg(__FILE__, 'M003') . "' ELSE '" . ACSMsg::get_mdmsg(__FILE__, 'M004') . "' END) ILIKE '%{$query}%'";
                 $sub_where_sql .= ")";
             }
             if ($sub_where_sql != '') {
                 if ($where_sql != '') {
                     $where_sql .= " AND ";
                 }
                 $where_sql .= "({$sub_where_sql})";
             }
         }
         if ($where_sql != '') {
             $sql .= " AND ({$where_sql})";
         }
     }
     //
     $sql .= " ORDER BY log_id DESC";
     $row_array = ACSDB::_get_row_array($sql);
     return $row_array;
 }
コード例 #2
0
 /**
  * ページングリンク出力
  *
  * @param $paging_info
  */
 function print_paging_link($paging_info)
 {
     if (!$paging_info) {
         return;
     }
     // 件数表示
     //echo "全$paging_info[all_count]件: $paging_info[start_count]-$paging_info[end_count]件を表示<br>\n";
     echo ACSMsg::get_tag_replace(ACSMsg::get_msg('lib', 'ACSTemplateLib.class.php', 'PAGE_INFO'), array("{ALL_COUNT}" => $paging_info[all_count], "{START_COUNT}" => $paging_info[start_count], "{END_COUNT}" => $paging_info[end_count]));
     // 1ページのみの場合は表示終了
     if (!$paging_info['paging_row_array']) {
         echo "<br>\n";
         return;
     }
     // 前へ・次へ
     if ($paging_info['prev_link']) {
         echo "<a href=\"{$paging_info['prev_link']}\">" . ACSMsg::get_mdmsg(__FILE__, 'M001') . "</a>";
     } else {
         echo ACSMsg::get_mdmsg(__FILE__, 'M001');
     }
     echo " ";
     if ($paging_info['next_link']) {
         echo "<a href=\"{$paging_info['next_link']}\">" . ACSMsg::get_mdmsg(__FILE__, 'M002') . "</a>";
     } else {
         echo ACSMsg::get_mdmsg(__FILE__, 'M002');
     }
     echo " ";
     // ページ数表示
     foreach ($paging_info['paging_row_array'] as $paging_row) {
         print '<span class="page_number">';
         // リンクがある場合のみ
         if ($paging_row['link_url']) {
             print '<a href="' . $paging_row['link_url'] . '">';
             print $paging_row['page_number'];
             print '</a>';
         } else {
             print '<b>' . $paging_row['page_number'] . '</b>';
         }
         print '</span>' . "\n";
     }
     print "<br><br>\n";
 }
コード例 #3
0
 /**
  * 日記htmlコンテンツの作成
  * 
  * @param string $diary_row 日記配列
  * @param string $encoding エンコーディング
  */
 function create_diary_html($diary_row, $encoding = '')
 {
     $file_head = date("Ymd_His", ACSLib::convert_pg_date_to_timestamp($diary_row['post_date']));
     $this->diary_file_names[$file_head]++;
     if ($this->diary_file_names[$file_head] > 1) {
         $file_head .= '_' . ($this->diary_file_names[$html_file] - 1);
     }
     $html_file = $file_head . '.html';
     // 基本項目の置換
     $contents = _ACSDIARYBACKUP_DIARY_FORMAT;
     $contents = mb_ereg_replace('@SUBJECT@', htmlspecialchars($diary_row['subject']), $contents);
     $contents = mb_ereg_replace('@POST_DATE@', htmlspecialchars(ACSLib::convert_pg_date_to_str($diary_row['post_date'])), $contents);
     $contents = mb_ereg_replace('@BODY@', nl2br(htmlspecialchars($diary_row['body'])), $contents);
     $contents = mb_ereg_replace('@OPEN_LEVEL_TITLE@', htmlspecialchars(ACSMsg::get_mdmsg(__FILE__, 'M001')), $contents);
     $contents = mb_ereg_replace('@OPEN_LEVEL_NAME@', htmlspecialchars($diary_row['open_level_name']), $contents);
     // イメージファイルがある場合
     $image_file_id = $diary_row['file_id'];
     if ($image_file_id != '') {
         $file_obj = ACSFile::get_file_info_instance($image_file_id);
         // 拡張子の取得
         mb_ereg("^.*(\\.[^\\.\\/]*)", $file_obj->get_display_file_name(), $matches);
         $ext = $matches[1];
         // ファイル名の生成
         $img_from = ACS_FOLDER_DIR . $file_obj->get_server_file_name();
         $img_to = $this->img_dir . '/' . $file_head . $ext;
         $img_thumb_from = ACS_FOLDER_DIR . $file_obj->get_thumbnail_server_file_name();
         $img_thumb_to = $this->img_dir . '/thumb_' . $file_head . '.jpg';
         // URLの生成
         $img_url = $this->diary_to_img_url . '/' . $file_head . $ext;
         $img_thumb_url = $this->diary_to_img_url . '/thumb_' . $file_head . '.jpg';
         // イメージファイルの作成
         @copy($img_from, $img_to);
         @copy($img_thumb_from, $img_thumb_to);
         // リンクタグの生成
         $contents = mb_ereg_replace('@IMAGE@', '<div><a href="' . $img_url . '">' . '<img src="' . $img_thumb_url . '" border="0"></a></div><br>', $contents);
     } else {
         $contents = mb_ereg_replace('@IMAGE@', '', $contents);
     }
     // コメントの取得
     $diary_comment_row_array = ACSDiary::get_diary_comment_row_array($diary_row['diary_id']);
     // コメント部分の生成
     $comments = "";
     foreach ($diary_comment_row_array as $diary_comment_row) {
         if ($diary_comment_row['diary_comment_delete_flag'] == 'f') {
             $comment_contents = _ACSDIARYBACKUP_DIARY_COMMENT_FORMAT;
             $comment_contents = mb_ereg_replace('@POST_DATE@', htmlspecialchars(ACSLib::convert_pg_date_to_str($diary_comment_row['post_date'])), $comment_contents);
             $comment_contents = mb_ereg_replace('@COMMUNITY_NAME@', htmlspecialchars($diary_comment_row['community_name']), $comment_contents);
             $comment_contents = mb_ereg_replace('@BODY@', nl2br(htmlspecialchars($diary_comment_row['body'])), $comment_contents);
             $comments .= $comment_contents;
         }
     }
     // コメントの置換
     $contents = mb_ereg_replace('@COMMENTS@', $comments, $contents);
     // contents 自身の変換
     if ($encoding != '') {
         $contents = mb_convert_encoding($contents, $encoding);
     }
     // ファイルへの出力
     $fp = fopen($this->diary_dir . '/' . $html_file, "w");
     fputs($fp, $contents);
     fclose($fp);
     return $html_file;
 }
コード例 #4
0
 /**
  * スケジュール調整決定通知件名取得
  *
  * @return true / false
  */
 function get_decision_mail_subject($lang)
 {
     $current_lang = ACSMsg::get_lang();
     ACSMsg::set_lang($lang);
     $subject = ACSMsg::get_mdmsg(__FILE__, 'M001');
     $subject = ACSMsg::get_tag_replace($subject, array('{SUBJECT_NAME}' => $this->schedule_name));
     ACSMsg::set_lang($current_lang);
     return $subject;
 }
コード例 #5
0
ファイル: ACSBBS.class.php プロジェクト: nkawa/acs-git-test
 /**
  * 掲示板RSSを出力する
  *
  * @param $community_row 対象コミュニティ情報
  * @param $bbs_row_array 掲示板親記事一覧
  * @param $params パラメータ等
  */
 static function print_bbs_rss($community_row, $bbs_row_array, $params)
 {
     // 使用クラス: acs/webapp/lib/feedcreator/feedcreator.class.php
     $rss = new UniversalFeedCreator();
     // 概要等 <channel>
     $rss->useCached();
     $rss->title = $community_row['community_name'];
     // コミュニティ名
     $rss->description = $community_row['community_profile']['contents_value'];
     // プロフィール (公開範囲別)
     $rss->link = $params['base_url'] . $community_row['top_page_url'];
     // コミュニティトップページURL
     $rss->url = $params['base_url'] . $community_row['image_url'];
     // 画像URL  <image rdf:resource="...">
     $rss->syndicationURL = $rss_syndication_url;
     // 自身のURL <channel rdf:about="...">
     // ロゴ画像 <image>
     $image = new FeedImage();
     $image->title = $community_row['image_title'];
     // ファイル名
     $image->link = ACSMsg::get_mdmsg(__FILE__, 'M006');
     // 研究室ロゴ画像
     $image->url = $params['base_url'] . $community_row['image_url'];
     $rss->image = $image;
     // 1件のダイアリー: <item>
     foreach ($bbs_row_array as $index => $bbs_row) {
         // CRLF → LF
         $body = preg_replace('/\\r\\n/', "\n", $bbs_row['body']);
         $item = new FeedItem();
         $item->post_date = $bbs_row['post_date'];
         $item->title = $bbs_row['subject'];
         $item->link = $params['base_url'] . $bbs_row['bbs_res_url'];
         $item->description = $body;
         if ($bbs_row['file_url'] != '') {
             $item->image_link = $params['base_url'] . $bbs_row['file_url'];
         }
         $item->description2 = $body;
         //第2の本文  <content:encoded>
         $rss->addItem($item);
     }
     // http-header
     mb_http_output('pass');
     header('Content-type: application/xml; charset=UTF-8');
     echo mb_convert_encoding($rss->createFeed("RSS1.0"), 'UTF-8', mb_internal_encoding());
 }
コード例 #6
0
ファイル: calendar.class.php プロジェクト: nkawa/acs-git-test
 /**
  * 休日の計算を行います。
  * (休日名もセットしていますが、現在は出力していません。)
  *
  * @param int $year
  * @param int $month
  */
 function set_holiday($year, $month)
 {
     // その月の最初の月曜日が何日かを算出
     $day = 1;
     while (date("w", mktime(0, 0, 0, $month, $day, $year)) != 1 && checkdate($month, $day, $year)) {
         $day++;
     }
     // 祝日をセット
     switch ($month) {
         case 1:
             // 元旦
             $this->holiday[1] = 1;
             $this->holiday_name[1] = ACSMsg::get_mdmsg(__FILE__, 'M011');
             // 成人の日
             if ($year < 2000) {
                 $this->holiday[15] = 1;
                 $this->holiday_name[15] = ACSMsg::get_mdmsg(__FILE__, 'M012');
             } else {
                 $this->holiday[$day + 7] = 1;
                 $this->holiday_name[$day + 7] = ACSMsg::get_mdmsg(__FILE__, 'M012');
             }
             break;
         case 2:
             // 建国記念日
             $this->holiday[11] = 1;
             $this->holiday_name[11] = "建国記念日";
             break;
         case 3:
             // 春分の日
             if ($year > 1979 && $year < 2100) {
                 $tmp = floor(20.8431 + ($year - 1980) * 0.242194 - floor(($year - 1980) / 4));
                 $this->holiday[$tmp] = 1;
                 $this->holiday_name[$tmp] = ACSMsg::get_mdmsg(__FILE__, 'M013');
             }
             break;
         case 4:
             // 天皇誕生日 or みどりの日
             $this->holiday[29] = 1;
             if ($year < 1989) {
                 $this->holiday_name[29] = ACSMsg::get_mdmsg(__FILE__, 'M014');
             } else {
                 $this->holiday_name[29] = ACSMsg::get_mdmsg(__FILE__, 'M015');
             }
             break;
         case 5:
             // 憲法記念日
             $this->holiday[3] = 1;
             $this->holiday_name[3] = ACSMsg::get_mdmsg(__FILE__, 'M016');
             // 子どもの日
             $this->holiday[5] = 1;
             $this->holiday_name[5] = ACSMsg::get_mdmsg(__FILE__, 'M017');
             break;
         case 7:
             // 海の日
             if ($year > 2002) {
                 $this->holiday[$day + 14] = 1;
                 $this->holiday_name[$day + 14] = ACSMsg::get_mdmsg(__FILE__, 'M018');
             } elseif ($year > 1994) {
                 $this->holiday[21] = 1;
                 $this->holiday_name[21] = ACSMsg::get_mdmsg(__FILE__, 'M018');
             }
             break;
         case 9:
             // 敬老の日
             if ($year < 2003) {
                 $this->holiday[15] = 1;
                 $this->holiday_name[15] = ACSMsg::get_mdmsg(__FILE__, 'M020');
             } else {
                 $this->holiday[$day + 14] = 1;
                 $this->holiday_name[$day + 14] = ACSMsg::get_mdmsg(__FILE__, 'M020');
             }
             // 秋分の日
             if ($year > 1979 && $year < 2100) {
                 $tmp = floor(23.2488 + ($year - 1980) * 0.242194 - floor(($year - 1980) / 4));
                 $this->holiday[$tmp] = 1;
                 $this->holiday_name[$tmp] = ACSMsg::get_mdmsg(__FILE__, 'M022');
             }
             break;
         case 10:
             // 体育の日
             if ($year < 2000) {
                 $this->holiday[10] = 1;
                 $this->holiday_name[10] = ACSMsg::get_mdmsg(__FILE__, 'M023');
             } else {
                 $this->holiday[$day + 7] = 1;
                 $this->holiday_name[$day + 7] = ACSMsg::get_mdmsg(__FILE__, 'M023');
             }
             break;
         case 11:
             // 文化の日
             $this->holiday[3] = 1;
             $this->holiday_name[3] = ACSMsg::get_mdmsg(__FILE__, 'M025');
             // 勤労感謝の日
             $this->holiday[23] = 1;
             $this->holiday_name[23] = ACSMsg::get_mdmsg(__FILE__, 'M026');
             break;
         case 12:
             // 天皇誕生日
             if ($year > 1988) {
                 $this->holiday[23] = 1;
                 $this->holiday_name[23] = ACSMsg::get_mdmsg(__FILE__, 'M014');
             }
             break;
     }
     // 国民の休日をセット
     if ($year > 1985) {
         for ($i = 1; $i < ACSLib::get_end_day($year, $month); $i++) {
             if (isset($this->holiday[$i]) && isset($this->holiday[$i + 2])) {
                 $this->holiday[$i + 1] = 1;
                 $this->holiday_name[$i + 1] = ACSMsg::get_mdmsg(__FILE__, 'M028');
                 $i = $i + 3;
             }
         }
     }
     // 振り替え休日をセット
     $sday = $day - 1;
     if ($sday == 0) {
         $sday = 7;
     }
     for ($i = $sday; $i < ACSLib::get_end_day($year, $month); $i = $i + 7) {
         if (isset($this->holiday[$i])) {
             $this->holiday[$i + 1] = 1;
             $this->holiday_name[$i + 1] = ACSMsg::get_mdmsg(__FILE__, 'M029');
         }
     }
 }
コード例 #7
0
 /**
  * コンストラクタ
  *
  * @param $system_config_group
  * @param $keyword
  */
 function ACSSystemConfigKeywordData($system_config_data_row = array())
 {
     $this->set_system_config_group_code($system_config_data_row['system_config_group_code']);
     $this->set_system_config_group_name($system_config_data_row['system_config_group_name']);
     $this->set_keyword($system_config_data_row['keyword']);
     //$this->set_name($system_config_data_row['name']);
     $this->set_value($system_config_data_row['value']);
     $this->set_type($system_config_data_row['type']);
     //$this->set_unit($system_config_data_row['unit']);
     //$this->set_note($system_config_data_row['note']);
     // メッセージファイルより取得
     $this->set_name(ACSMsg::get_mdmsg(__FILE__, $system_config_data_row['keyword']));
     $this->set_unit(ACSMsg::get_mdmsg(__FILE__, $system_config_data_row['keyword'] . ".unit"));
     $this->set_note(ACSMsg::get_mdmsg(__FILE__, $system_config_data_row['keyword'] . ".note"));
     $this->set_select(ACSMsg::get_mdmsg(__FILE__, $system_config_data_row['keyword'] . ".select"));
 }
コード例 #8
0
 /**
  * ルートフォルダ挿入
  *
  * @param $community_id
  */
 static function insert_root_folder($community_id)
 {
     $folder_row = array();
     $timestamp = ACSLib::convert_timestamp_to_pg_date();
     $folder_row['folder_id'] = ACSDB::get_next_seq('folder_id_seq');
     $folder_row['community_id'] = $community_id;
     $folder_row['folder_name'] = ACSMsg::get_mdmsg(__FILE__, 'M001');
     $folder_row['comment'] = "";
     $folder_row['parent_folder_id'] = "";
     $folder_row['entry_user_community_id'] = $community_id;
     $folder_row['entry_date'] = $timestamp;
     $folder_row['update_user_community_id'] = $community_id;
     $folder_row['update_date'] = $timestamp;
     $folder_row['open_level_code'] = "";
     ACSDB::_do_query("BEGIN");
     $ret = ACSFolderModel::insert_folder($folder_row);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     ACSDB::_do_query("COMMIT");
     return $ret;
 }
コード例 #9
0
 /**
  * スケジュール通知メールの送信
  *
  * 各ユーザの言語に対応してスケジュール関連の<br>
  * 通知メールを送信する
  *
  * @param object $schedule スケジュールインスタンス(ACSSchedule)
  * @param string $serial_msg_key_fmg シリアルメッセージ取得用フォーマット(例:"RMD%03d")
  * @param string $subject_msg_key 件名メッセージ取得用キー(例:"M001")
  * @param array  $additional_tags 追加する置換プレースフォルダ(未指定も可)
  * @param array  $additional_message_tags 追加する置換プレースフォルダ(メッセージid指定)
  *               (未指定も可) メール言語に対応して置換されます
  * @return boolean true/false
  */
 static function send_schedule_announce_mail(&$schedule, $serial_msg_key_fmg, $subject_msg_key, $additional_tags = "", $additional_message_tags = "")
 {
     // スケジュールURL
     $schedule_url = "{SYSTEM_SCRIPT_PATH}" . "?{SYSTEM_MODULE_ACCESSOR}=Community" . "&{SYSTEM_ACTION_ACCESSOR}=AnswerSchedule" . "&community_id={$schedule->community_id}" . "&schedule_id={$schedule->schedule_id}";
     $user_community_row =& ACSUser::get_user_profile_row($schedule->user_community_id);
     // システムのメールアドレスを取得
     $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR');
     // 各言語用のメッセージを準備
     $msgs = array();
     $subjects = array();
     $org_lang = ACSMsg::get_lang();
     foreach (ACSMsg::get_lang_list_array() as $lang => $lang_disp) {
         ACSMsg::set_lang($lang);
         $tags_array = array('{USER_NAME}' => $user_community_row['user_name'], '{USER_COMMUNITY_NAME}' => $user_community_row['community_name'], '{SCHEDULE_NAME}' => $schedule->schedule_name, '{SCHEDULE_DETAIL}' => $schedule->schedule_detail, '{SCHEDULE_CLOSING_DATETIME}' => ACSLib::convert_pg_date_to_str($schedule->schedule_closing_datetime), '{SCHEDULE_URL}' => $schedule_url);
         if (is_array($additional_tags)) {
             $tags_array = array_merge($tags_array, $additional_tags);
         }
         if (is_array($additional_message_tags)) {
             $msg_array = array();
             foreach ($additional_message_tags as $tag => $msg_key) {
                 $msg_array[$tag] = ACSMsg::get_mdmsg(__FILE__, $msg_key);
             }
             $tags_array = array_merge($tags_array, $msg_array);
         }
         $msgs[$lang] = ACSMsg::get_serial_msg('lib', basename(__FILE__), $serial_msg_key_fmg);
         $msgs[$lang] = ACSMsg::get_tag_replace($msgs[$lang], $tags_array);
         // subjectの編集
         $subjects[$lang] = ACSMsg::get_mdmsg(__FILE__, $subject_msg_key);
     }
     ACSMsg::set_lang($org_lang);
     // メールの送信(全コミュニティメンバ)
     return ACSCommunityMail::send_community_mail($schedule->community_id, $system_mail_addr, $subjects, $msgs);
 }
コード例 #10
0
ファイル: ACSLib.class.php プロジェクト: nkawa/acs-git-test
 function get_value_array($str)
 {
     $value_array = trim($str);
     $ymd = 1;
     $err = "OK";
     for ($i = 0; $i < 10; $i++) {
         $value = substr($value_array, $i, 1);
         if (ereg('[0-9]', $value)) {
             $set_value = $set_value . $value;
         } else {
             if ($value == '/') {
                 switch ($ymd) {
                     case 1:
                         //yyyy
                         if (strlen($set_value) == 4) {
                             if ($set_value > 1900 && $set_value < 2035) {
                                 $ymd = 2;
                                 $year = $set_value;
                                 $set_value = '';
                                 continue;
                             } else {
                                 $err = ACSMsg::get_mdmsg(__FILE__, 'M008');
                                 break;
                             }
                         } else {
                             $err = ACSMsg::get_mdmsg(__FILE__, 'M009');
                             break;
                         }
                     case 2:
                         //mm
                         if (strlen($set_value) == 2) {
                             if ($set_value > 0 && $set_value < 13) {
                                 $ymd = 3;
                                 $month = $set_value;
                                 $set_value = '';
                                 continue;
                             } else {
                                 $err = ACSMsg::get_mdmsg(__FILE__, 'M010');
                                 break;
                             }
                         } else {
                             $err = ACSMsg::get_mdmsg(__FILE__, 'M011');
                             break;
                         }
                 }
             } else {
                 $err = ACSMsg::get_mdmsg(__FILE__, 'M012');
                 break;
             }
         }
     }
     if ($ymd = 3) {
         //dd
         if (strlen($set_value) == 2) {
             $d = date("t", mktime(0, 0, 0, $month, 1, $year));
             if ($set_value > 0 && $set_value <= $d) {
                 $ymd = 0;
             } else {
                 $err = ACSMsg::get_mdmsg(__FILE__, 'M013');
             }
         } else {
             $err = ACSMsg::get_mdmsg(__FILE__, 'M014');
         }
     }
     return $err;
 }
コード例 #11
0
 /**
  * 通知メールを送信する
  *
  * @param $message_id メッセージID
  * @param $receiver_id 受信者ID
  * @param $sender_id 送信者ID
  */
 static function send_info_mail($message_id, $receiver_id, $sender_id)
 {
     $system_group = ACSMsg::get_mst('system_config_group', 'D01');
     // システムURL
     $system_base_url = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_BASE_URL');
     // システムログインURL
     $system_base_login_url = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_BASE_LOGIN_URL');
     // システムのメールアドレス (From:)
     $system_mail_addr = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_MAIL_ADDR');
     // 利用者の言語設定を一時的に保存
     $org_lang = ACSMsg::get_lang();
     // 各言語のタイトルを取得
     $mail_titles = array();
     foreach (ACSMsg::get_lang_list_array() as $lang_key => $lang_name) {
         ACSMsg::set_lang($lang_key);
         $mail_titles[$lang_key] = ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'MTL%03d') . "\n";
     }
     // 言語を一旦元に戻す
     ACSMsg::set_lang($org_lang);
     // 依頼側のユーザ情報
     $user_info_row = ACSUser::get_user_profile_row($sender_id);
     // 依頼される側のユーザ情報
     $target_user_info_row = ACSUser::get_user_profile_row($receiver_id);
     // 待機承認URL
     $message_url = $system_base_login_url . SCRIPT_PATH;
     $message_url .= "?" . MODULE_ACCESSOR . "=User";
     $message_url .= "&" . ACTION_ACCESSOR . "=MessageShow";
     $message_url .= "&id={$receiver_id}";
     $message_url .= "&message_id={$message_id}";
     $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
     // 一旦依頼される側の言語に設定する
     ACSMsg::set_lang($target_lang);
     $body = $mail_titles[$target_lang];
     $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSMessage.class.php', 'ADF%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{MESSAGE_URL}" => $message_url, "{SYSTEM_BASE_URL}" => $system_base_url));
     $subject = ACSMsg::get_mdmsg(__FILE__, 'M002');
     // 言語を元に戻す
     ACSMsg::set_lang($org_lang);
     $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
 }
コード例 #12
0
 /**
  * 依頼承諾メールを送信する
  *
  * @param $waiting_id 待機ID
  * @param $return 成功(true) / 失敗(false)
  * @return 
  */
 static function send_admission_accept_notify_mail($waiting_id)
 {
     // 待機情報
     $waiting_row = ACSWaiting::get_waiting_row($waiting_id);
     // システムURL
     $system_base_url = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_BASE_URL');
     // システムログインURL
     $system_base_login_url = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_BASE_LOGIN_URL');
     // システムのメールアドレス (From:)
     $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR');
     // 利用者の言語設定を一時的に保存
     $org_lang = ACSMsg::get_lang();
     // 各言語のタイトルを取得
     $mail_titles = array();
     foreach (ACSMsg::get_lang_list_array() as $lang_key => $lang_name) {
         ACSMsg::set_lang($lang_key);
         $mail_titles[$lang_key] = ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'MTL%03d') . "\n";
     }
     // 言語を一旦元に戻す
     ACSMsg::set_lang($org_lang);
     if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D10')) {
         // 承認側のユーザ情報
         $user_info_row = ACSUser::get_user_profile_row($waiting_row['community_id']);
         // 承認される側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['waiting_community_id']);
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'AMF%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M006');
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D20')) {
         // 承認側のコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['community_id']);
         // 承認される側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['waiting_community_id']);
         // 待機承認URL
         $waiting_url = $system_base_login_url . SCRIPT_PATH;
         $waiting_url .= "?" . MODULE_ACCESSOR . "=Community";
         $waiting_url .= "&" . ACTION_ACCESSOR . "=WaitingList";
         $waiting_url .= "&community_id={$waiting_row['community_id']}";
         $waiting_url .= "&waiting_type_code={$waiting_row['waiting_type_code']}";
         $waiting_url .= "&waiting_status_code={$waiting_status_code}";
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'ACM%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M007');
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D30')) {
         // 招待されたコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['waiting_community_id']);
         // 承認側のユーザ情報
         $user_info_row = ACSUser::get_user_profile_row($waiting_row['community_id']);
         // 承認された側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['entry_user_community_id']);
         // コミュニティトップページURL
         $community_top_page_url = $system_base_login_url . SCRIPT_PATH;
         $community_top_page_url .= "?" . MODULE_ACCESSOR . "=Community";
         $community_top_page_url .= "&" . ACTION_ACCESSOR . "=" . DEFAULT_ACTION;
         $community_top_page_url .= "&community_id=" . $community_row['community_id'];
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'AIM%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{COMMUNITY_URL}" => $community_top_page_url, "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M004');
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D40') || $waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D50')) {
         // 承認側のコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['community_id']);
         // 承認される側コミュニティ情報
         $target_community_row = ACSCommunity::get_community_row($waiting_row['waiting_community_id']);
         // 承認される側のコミュニティ管理者情報の配列
         $community_admin_user_info_row_array = ACSCommunity::get_community_admin_user_info_row_array($target_community_row['community_id']);
         // コミュニティトップページURL
         $community_top_page_url = $system_base_login_url . SCRIPT_PATH;
         $community_top_page_url .= "?" . MODULE_ACCESSOR . "=Community";
         $community_top_page_url .= "&" . ACTION_ACCESSOR . "=" . DEFAULT_ACTION;
         $community_top_page_url .= "&community_id=" . $community_row['community_id'];
         foreach ($community_admin_user_info_row_array as $community_admin_user_info_row) {
             $community_admin_user_info_row = ACSUser::get_user_profile_row($community_admin_user_info_row['user_community_id']);
             $target_lang = ACSMsg::get_mail_lang_by_inforow($community_admin_user_info_row);
             // 一旦依頼される側の言語に設定する
             ACSMsg::set_lang($target_lang);
             $body = $mail_titles[$target_lang];
             $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'ACL%03d'), array("{TARGET_COMMUNITY_NAME}" => $target_community_row['community_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{WAITING_TYPE_NAME}" => $waiting_row['waiting_type_name'], "{COMMUNITY_URL}" => $community_top_page_url, "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
             $subject = ACSMsg::get_mdmsg(__FILE__, 'M009');
             $ret = ACSLib::send_mail($system_mail_addr, $community_admin_user_info_row['mail_addr'], null, $subject, $body);
         }
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
     }
     return $ret;
 }
コード例 #13
0
 /**
  * フォルダ情報セット
  *
  * @param $folder_row
  */
 function set_folder_info(&$folder_row)
 {
     $this->set_folder_id($folder_row['folder_id']);
     $this->set_community_id($folder_row['community_id']);
     if ($folder_row['parent_folder_id']) {
         $this->set_folder_name($folder_row['folder_name']);
     } else {
         // ルートフォルダの場合
         $this->set_folder_name(ACSMsg::get_mdmsg(__FILE__, 'M001'));
     }
     $this->set_comment($folder_row['comment']);
     $this->set_parent_folder_id($folder_row['parent_folder_id']);
     $this->set_open_level_code($folder_row['open_level_code']);
     $this->set_open_level_name($folder_row['open_level_name']);
     $this->set_trusted_community_row_array($folder_row['trusted_community_row_array']);
     $this->set_put_community_row_array($folder_row['put_community_row_array']);
     $this->set_entry_user_community_id($folder_row['entry_user_community_id']);
     $this->set_entry_user_community_name($folder_row['entry_user_community_name']);
     $this->set_entry_date($folder_row['entry_date']);
     $this->set_update_user_community_id($folder_row['update_user_community_id']);
     $this->set_update_user_community_name($folder_row['update_user_community_name']);
     $this->set_update_date($folder_row['update_date']);
 }