Skip to content

Commit

Permalink
fix #1258 メールプラグインのセレクトボックスを利用した際選択リストに改行を入力すると確認画面で表示されない問題の改善
Browse files Browse the repository at this point in the history
  • Loading branch information
gondoh committed Sep 30, 2019
1 parent d174d6f commit 2163e87
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/Baser/Plugin/Mail/Controller/MailFieldsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ public function admin_add($mailContentId) {
$data['MailField']['mail_content_id'] = $mailContentId;
$data['MailField']['no'] = $this->MailField->getMax('no', array('MailField.mail_content_id' => $mailContentId)) + 1;
$data['MailField']['sort'] = $this->MailField->getMax('sort') + 1;
$data['MailField']['source'] = $this->MailField->formatSource($data['MailField']['source']);
$this->MailField->create($data);
if ($this->MailField->validates()) {
if ($this->MailMessage->addMessageField($this->mailContent['MailContent']['id'], $data['MailField']['field_name'])) {
Expand Down Expand Up @@ -223,6 +224,7 @@ public function admin_edit($mailContentId, $id) {
if (is_array($data['MailField']['valid_ex'])) {
$data['MailField']['valid_ex'] = implode(',', $data['MailField']['valid_ex']);
}
$data['MailField']['source'] = $this->MailField->formatSource($data['MailField']['source']);

$this->MailField->set($data);
if ($this->MailField->validates()) {
Expand Down
15 changes: 15 additions & 0 deletions lib/Baser/Plugin/Mail/Model/MailField.php
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,21 @@ public function copy($id, $data = array(), $options = array()) {
return false;
}
}

/**
* 選択リストを整形する
*
* @param string $source コントロールソース入力文字列
* @return string $formatedSource 整形後コントロールソース文字列
*/
public function formatSource($source) {
$sourceList = [];
$values = explode('|', $source);
foreach ($values as $value) {
$sourceList[] = preg_replace("/(^\s+|\r|\n|\s+$)/", '', $value);
}
return implode('|', $sourceList);
}

/**
* After Delete
Expand Down
1 change: 1 addition & 0 deletions lib/Baser/Plugin/Mail/View/MailFields/admin/form.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@
<li><?php echo __d('baser', 'ラジオボタン、セレクトボックス、マルチチェックボックスの場合の選択リスト指定します。')?></li>
<li><?php echo __d('baser', '自動補完郵便番号の場合は、都道府県のフィールドと住所のフィールドのリストを指定します。')?></li>
<li><?php echo __d('baser', 'リストは | で区切って入力します。')?></li>
<li><?php echo __d('baser', '改行とリスト前後の半角スペースは入力できません。')?></li>
</ul>
</div>
</td>
Expand Down

0 comments on commit 2163e87

Please sign in to comment.