function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // get
     $form = $request->ACSGetParameters();
     // Validatorで出来ないエラーチェックを行う //
     if ($form['expire_date'] != '' && !ACSErrorCheck::is_valid_date($form['expire_date'])) {
         $this->setError($controller, $request, $user, 'expire_date', ACSMsg::get_msg('System', 'CreateSystemAnnounceAction.class.php', 'M001'));
         return $this->handleError();
     }
     $form['user_community_id'] = $acs_user_info_row['user_community_id'];
     $ret = ACSSystemAnnounce::set_system_announce($form);
     $system_announce_list_url = $this->getControllerPath('System', 'SystemAnnounceList');
     header("Location: {$system_announce_list_url}");
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     // 管理者かどうか確認
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $form = $request->ACSGetParameters();
     // システム設定データ取得(全件)
     $system_config_obj = new ACSSystemConfig();
     // Validatorで出来ないエラーチェックを行う //
     $err_flg = false;
     foreach ($system_config_obj->get_system_config_keyword_data_obj_array() as $get_system_config_keyword_data_obj) {
         $keyword = $get_system_config_keyword_data_obj->get_keyword();
         $system_config_group_name = $get_system_config_keyword_data_obj->get_system_config_group_name();
         $name = $get_system_config_keyword_data_obj->get_name();
         $type = $get_system_config_keyword_data_obj->get_type();
         // numberの項目は自然数
         if ($type == 'number' && !ACSErrorCheck::is_natural_number($form[$keyword])) {
             //$this->setError($controller, $request, $user, $keyword, "[$system_config_group_name] -> [$name] の値が正しくありません。(1以上)");
             $this->setError($controller, $request, $user, $keyword, ACSMsg::get_tag_replace(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M_WRONG_VALUE'), array("{GROUP_NAME}" => $system_config_group_name, "{NAME}" => $name, "{VAL}" => 1)));
             $err_flg = true;
         }
         // number0の項目は自然数(0を含む)
         if ($type == 'number0' && !ACSErrorCheck::is_natural_number($form[$keyword], true)) {
             $this->setError($controller, $request, $user, $keyword, ACSMsg::get_tag_replace(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M_WRONG_VALUE'), array("{GROUP_NAME}" => $system_config_group_name, "{NAME}" => $name, "{VAL}" => 0)));
             $err_flg = true;
         }
     }
     if ($err_flg) {
         return $this->handleError();
     }
     $ret = true;
     ACSDB::_do_query("BEGIN");
     foreach ($system_config_obj->get_system_config_keyword_data_obj_array() as $system_config_keyword_data_obj) {
         $_system_config_row = array();
         $param_key = $system_config_keyword_data_obj->get_keyword();
         //$param_key = $system_config_keyword_data_obj->get_system_config_group() . ',' . $system_config_keyword_data_obj->get_keyword();
         // parameter 取得
         $update_value = $request->getParameter($param_key, 'NO_KEY');
         if ($update_value == 'NO_KEY') {
             // POST にキーがない場合、無視する
             continue;
         }
         // 必須チェック
         //if (!$update_value) {
         if (trim($update_value) == '') {
             $ret = false;
             break;
         }
         // 値チェック
         // number 型のデータの場合、数値チェック(1 以上)を行う
         if ($system_config_keyword_data_obj->get_type() == 'number') {
             if (!is_numeric($update_value) or $update_value < 1) {
                 $ret = false;
                 break;
             }
         }
         // number0 型のデータの場合、数値チェック(0 以上)を行う
         if ($system_config_keyword_data_obj->get_type() == 'number0') {
             if (!is_numeric($update_value) or $update_value < 0) {
                 $ret = false;
                 break;
             }
         }
         // 更新処理
         $ret = ACSSystemConfig::update_value($system_config_keyword_data_obj->get_system_config_group_name(), $system_config_keyword_data_obj->get_keyword(), $update_value);
         if (!$ret) {
             break;
         }
     }
     if (!$ret) {
         // rollback
         ACSDB::_do_query("ROLLBACK");
         print "ERROR: Update configuration failed.";
         exit;
     }
     // commit
     ACSDB::_do_query("COMMIT");
     // ログ登録: システム設定変更
     ACSLog::set_log($acs_user_info_row, 'Change System Settings', $ret);
     // 完了画面表示
     // 引数セット
     $message = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M005');
     $system_config_url = $this->getControllerPath('System', 'EditSystemConfig');
     $system_config_link_name = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M002');
     $system_top_page_url = $this->getControllerPath('System', DEFAULT_ACTION);
     $system_top_page_link_name = ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M003');
     $done_obj = new ACSDone();
     $done_obj->set_title(ACSMsg::get_msg('System', 'EditSystemConfigAction.class.php', 'M004'));
     $done_obj->set_message($message);
     $done_obj->add_link($system_config_link_name, $system_config_url);
     $done_obj->add_link($system_top_page_link_name, $system_top_page_url);
     $request->setAttribute('done_obj', $done_obj);
     // 画面呼び出し
     $controller->forward('Common', 'Done');
 }