コード例 #1
0
 function getDefaultView()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // 表示対象となるユーザコミュニティIDを取得
     $user_community_id = $acs_user_info_row['user_community_id'];
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     // デザイン情報取得
     $select_design_row_array = ACSCss::get_style_selection_list_array(ACSMsg::get_lang(), ACS_SELECTION_CSS_DIR);
     //$style_url = ACSSystemConfig::get_keyword_value(
     //		ACSMsg::get_mst('system_config_group','D01'), 'DESIGN_STYLE_CSS_URL');
     $style_url = ACS_SELECTION_CSS_DIR;
     // 設定済のマイページデザインを取得する
     $selection_css_row = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D53'));
     $selection_css = $selection_css_row['contents_value'] == '' ? ACS_DEFAULT_SELECTION_CSS_FILE : $selection_css_row['contents_value'];
     // set
     $request->setAttribute('style_url', $style_url);
     $request->setAttributeByRef('acs_user_info_row', $acs_user_info_row);
     $request->setAttributeByRef('select_design_row_array', $select_design_row_array);
     $request->setAttributeByRef('user_community_id', $user_community_id);
     $request->setAttribute('selection_css', $selection_css);
     return View::INPUT;
 }
コード例 #2
0
 function execute()
 {
     $context =& $this->getContext();
     $controller = $context->getController();
     $user = $context->getUser();
     $request = $context->getRequest();
     $pagefile = ACS_PAGES_DIR . "index.html." . ACSMsg::get_lang();
     $lockfile = $pagefile . ".locked";
     // 静的ファイル書き換え中の場合(0.5秒待つ)
     if (is_readable($lockfile)) {
         usleep(500000);
     }
     // 書き換え中でなく、静的ファイルが存在する場合
     if (!is_readable($lockfile) && is_readable($pagefile)) {
         // 静的ファイル作成時間が有効時間範囲内の場合
         if (time() - filemtime($pagefile) <= ACS_PAGES_EFFECTIVE_SEC) {
             // 静的トップを標準出力
             mb_http_output('pass');
             readfile($pagefile);
             return;
         }
     }
     $request->setAttribute('force_realtime', 1);
     $controller->forward("Public", "Index");
 }
コード例 #3
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;
 }
コード例 #4
0
ファイル: ACSDB.class.php プロジェクト: nkawa/acs-git-test
 /**
  * (内部関数) SQL文を実行する
  *
  * @param SQL文
  * @return クエリ結果リソース
  */
 static function _query($sql)
 {
     static $db;
     // DB接続
     if (!$db) {
         $db = DB::Connect(ACS_DSN);
         $db->setFetchMode(DB_FETCHMODE_ASSOC);
     }
     // 通常テーブル名を言語仕様テーブル名に変換
     $lang = ACSMsg::get_lang(FALSE);
     if ($lang != ACS_DEFAULT_LANG && $lang != "") {
         $tables_array = ACSMsg::get_lang_tables_array();
         foreach ($tables_array as $table) {
             $sql = mb_ereg_replace("([, \t\n\\(\\)\\*\\+\\-\\/]+)" . "(" . $table . ")" . "([., \t\n\\(\\)\\*\\+\\-\\/]+|\$)", "\\1" . $table . "_" . $lang . "\\3", $sql);
         }
     }
     if (ACS_DEBUG_MODE && isset($_GET['timer'])) {
         $timelimit = $_GET['timer'];
         if (empty($timelimit)) {
             $timelimit = 0;
             // デフォルト0秒
         }
         $time_array = explode(' ', microtime());
         $start_time = substr($time_array[1] . substr($time_array[0], 1), 0, 14);
         $res = $db->query($sql);
         $time_array = explode(' ', microtime());
         $end_time = substr($time_array[1] . substr($time_array[0], 1), 0, 14);
         $diff_time = substr($end_time - $start_time, 0, 5);
         if (floatval($diff_time) >= $timelimit) {
             _debug($sql);
             echo "<code>{$start_time} -&gt; {$end_time}  (<font color=red>{$diff_time}</font> sec)</code>";
         }
     } else {
         $res = $db->query($sql);
     }
     return $res;
 }
コード例 #5
0
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $this->setScreenId("0001");
     $this->setTemplate('DecideSchedule_input.tpl.php');
     $current_module = 'Community';
     $current_action = 'DecideSchedule';
     // ログインユーザ情報
     $acs_user_info_row = $request->getAttribute('acs_user_info_row');
     $this->setAttribute('acs_user_info_row', $acs_user_info_row);
     // コミュニティ情報
     $target_community_row =& $request->getAttribute('target_community_row');
     $this->setAttribute('target_community_row', $target_community_row);
     // スケジュールインスタンスの設定
     $schedule =& $request->getAttribute('schedule');
     $this->setAttribute('schedule', $schedule);
     // 共通URLパラメータ
     $url_params = "community_id=" . $target_community_row['community_id'];
     // コミュニティのURL
     $this->setAttribute('url_community_top', $this->getControllerPath($current_module, 'Index') . "&" . $url_params);
     // スケジュール調整表一覧のURL
     $this->setAttribute('url_schedule_list', $this->getControllerPath($current_module, 'Schedule') . "&" . $url_params);
     // コミット先のURL
     $this->setAttribute('url_commit', $this->getControllerPath($current_module, $current_action));
     // スケジュール決定日
     $mailentry_adjustment_id =& $request->getAttribute('mailentry_adjustment_id');
     $adjustment_dates_list =& $schedule->get_adjustment_dates();
     $this->setAttribute('mailentry_adjustment_id', $mailentry_adjustment_id);
     $this->setAttribute('adjustment_date', $adjustment_dates_list[$mailentry_adjustment_id]['date_string']);
     // 言語一覧
     $html_options_lang_list = ACSMsg::get_lang_list_array();
     $this->setAttribute('html_options_lang_list', $html_options_lang_list);
     // 全言語メッセージ取得
     $java_subject_var_string = "var subject_list = new Array();\n";
     $java_message_var_string = "var msg_list = new Array();\n";
     $sel_index = 0;
     $index = 0;
     foreach ($html_options_lang_list as $key => $val) {
         $msg = $schedule->get_decision_mail_message($key, $mailentry_adjustment_id);
         $subject = $schedule->get_decision_mail_subject($key);
         if ($key == ACSMsg::get_lang()) {
             $default_subject = $subject;
             $default_message = $msg;
             $sel_index = $index;
         }
         $java_msg = htmlspecialchars(str_replace("\r", "", str_replace("\n", "\\n", $msg)));
         // "&amp;" -> "&" へ戻す
         $java_subject = str_replace("&amp;", "&", $subject);
         $java_msg = str_replace("&amp;", "&", $java_msg);
         $java_subject_var_string = $java_subject_var_string . 'subject_list["' . $key . '"] = "' . $java_subject . '";' . "\n";
         $java_message_var_string = $java_message_var_string . 'msg_list["' . $key . '"] = "' . $java_msg . '";' . "\n";
         $index++;
     }
     $this->setAttribute('java_subject_var_string', $java_subject_var_string);
     $this->setAttribute('java_message_var_string', $java_message_var_string);
     $this->setAttribute('java_default_lang_index', $sel_index);
     // 現在の表示言語の設定
     $this->setAttribute('current_lang', ACSMsg::get_lang());
     $this->setAttribute('mail_subject', $request->getAttribute('mail_subject'));
     if ($request->getAttribute('mail_message')) {
         $this->setAttribute('mail_subject', $request->getAttribute('mail_subject'));
         $this->setAttribute('mail_message', $request->getAttribute('mail_message'));
     } else {
         $this->setAttribute('mail_subject', $default_subject);
         $this->setAttribute('mail_message', $default_message);
     }
     // スケジュール決定のURL
     $current_module = 'Community';
     $cancel_url = $this->getControllerPath($current_module, 'DecideSchedule') . "&" . $url_params . "&schedule_id=" . $schedule->schedule_id . "&mailentry_adjustment_id=" . $mailentry_adjustment_id;
     $this->setAttribute('cancel_url', $cancel_url);
     // エラー時のメッセージ表示
     $this->setAttribute('error_message', $this->getErrorMessage($controller, $request, $user));
     return parent::execute();
 }
コード例 #6
0
ファイル: ACSMsg.class.php プロジェクト: nkawa/acs-git-test
 /**
  * メッセージ取得
  * 
  * @param string $module  モジュール名。定義ファイルは 'モジュール名'_message.ini となる
  * @param string $section セクション名。
  * @param string $msg_id  メッセージID
  * @param mixed $value_not_exists 定義が存在しない場合の戻り値
  * @return mixed 取得したメッセージ
  */
 function get_msg($module, $section, $msg_id, $value_not_exists = '')
 {
     global $_ACSMSG_INI_STACK;
     $ini_stack =& $_ACSMSG_INI_STACK;
     $module_key = ACSMsg::get_lang() . "." . $module;
     //if (!array_key_exists($module_key,$ini_stack)) {
     if (!is_array($ini_stack) || !array_key_exists($module_key, $ini_stack)) {
         $ini_stack[$module_key] = parse_ini_file(ACSMsg::get_messages_dir() . '/' . $module . '_messages.ini', TRUE);
     }
     if (is_array($ini_stack[$module_key][$section])) {
         if (array_key_exists($msg_id, $ini_stack[$module_key][$section])) {
             return $ini_stack[$module_key][$section][$msg_id];
         } else {
             return $value_not_exists;
         }
     } else {
         return "{$section}";
     }
 }
コード例 #7
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;
 }
コード例 #8
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);
 }
コード例 #9
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);
 }
コード例 #10
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;
 }
コード例 #11
0
ファイル: acs_base.tpl.php プロジェクト: nkawa/acs-git-test
</tr>
</table>

<table width="730" border="0" cellspacing="0" cellpadding="8">
<tr>
    <td>
<?php 
echo ACSMsg::get_tag_replace(ACSMsg::get_msg('templates', 'acs_base.tpl.php', 'WELCOME'), array("{USER_NAME}" => htmlspecialchars($this->_tpl_vars['acs_user_info_row']['user_name'])));
?>
    </td>
    <td align="right">
<?php 
if (defined('ACS_LANG_LIST')) {
    $langs_array = ACSMsg::get_lang_list_array();
    foreach ($langs_array as $lang => $lang_name) {
        if (ACSMsg::get_lang(FALSE) != $lang) {
            $url = ACSMsg::get_lang_url($lang);
            printf('&nbsp<a href="%s">%s</a>', $url, $lang_name);
        }
    }
}
?>
    </td>
</tr>
</table>

<table width="730" border="0" cellspacing="0" cellpadding="0" id="main_window">
<tr> 
    <td id="topleft"><img src="img/waku_blank.gif" width="12" height="20"></td>
    <td width="706" id="over">&nbsp</td>
    <td id="topright"><img src="img/waku_blank.gif" width="12" height="20"></td>