PageRenderTime 54ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/baser/plugins/mail/views/mail_fields/admin/form.php

https://github.com/hashing/basercms
PHP | 364 lines | 330 code | 11 blank | 23 comment | 9 complexity | 5423e9296f0b2d2fed65ea5ceeacd13c MD5 | raw file
Possible License(s): MIT
  1. <?php
  2. /* SVN FILE: $Id$ */
  3. /**
  4. * [ADMIN] メールフィールド フォーム
  5. *
  6. * PHP versions 5
  7. *
  8. * baserCMS : Based Website Development Project <http://basercms.net>
  9. * Copyright 2008 - 2012, baserCMS Users Community <http://sites.google.com/site/baserusers/>
  10. *
  11. * @copyright Copyright 2008 - 2012, baserCMS Users Community
  12. * @link http://basercms.net baserCMS Project
  13. * @package baser.plugins.mail.views
  14. * @since baserCMS v 0.1.0
  15. * @version $Revision$
  16. * @modifiedby $LastChangedBy$
  17. * @lastmodified $Date$
  18. * @license http://basercms.net/license/index.html
  19. */
  20. ?>
  21. <script type="text/javascript">
  22. $(window).load(function() {
  23. $("#MailFieldFieldName").focus();
  24. });
  25. jQuery(function($) {
  26. // タイプを選択すると入力するフィールドが切り替わる
  27. $("#MailFieldType").change(function(){loadSetting($("#MailFieldType").val())});
  28. // 項目名を入力時に項目見出しを自動入力
  29. $("#MailFieldName").change(function(){
  30. if(!$("#MailFieldHead").val()){
  31. $("#MailFieldHead").val($("#MailFieldName").val());
  32. }
  33. });
  34. loadSetting($("#MailFieldType").val());
  35. /**
  36. * タイプの値によってフィールドの表示設定を行う
  37. */
  38. function loadSetting(value){
  39. switch ($("#MailFieldType").val()){
  40. case 'text':
  41. case 'email':
  42. $("#rowSize").show();
  43. $("#rowRows").hide();$("#MailFieldRows").val('');
  44. $("#rowMaxlength").show();
  45. $("#rowSource").hide();$("#MailFieldSource").val('');
  46. $("#rowAutoConvert").show();
  47. $("#rowSeparator").hide();$("#MailFieldSeparator").val('');
  48. break;
  49. case 'textarea':
  50. $("#rowSize").show();
  51. $("#rowRows").show();
  52. $("#rowMaxlength").hide();$("#MailFieldMaxlength").val('');
  53. $("#rowSource").hide();$("#MailFieldSource").val('');
  54. $("#rowAutoConvert").show();
  55. $("#rowSeparator").hide();$("#MailFieldSeparator").val('');
  56. break;
  57. case 'radio':
  58. case 'multi_check':
  59. $("#rowSize").hide();$("#MailFieldSize").val('');
  60. $("#rowRows").hide();$("#MailFieldRows").val('');
  61. $("#rowMaxlength").hide();$("#MailFieldMaxlength").val('');
  62. $("#rowSource").show();
  63. $("#rowAutoConvert").hide();$("#MailFieldAutoConvert").val('');
  64. $("#rowSeparator").show();
  65. break;
  66. case 'select':
  67. $("#rowSize").hide();$("#MailFieldSize").val('');
  68. $("#rowRows").hide();$("#MailFieldRows").val('');
  69. $("#rowMaxlength").hide();$("#MailFieldMaxlength").val('');
  70. $("#rowSource").show();
  71. $("#rowAutoConvert").hide();$("#MailFieldAutoConvert").val('');
  72. $("#rowSeparator").hide();$("#MailFieldSeparator").val('');
  73. break;
  74. case 'pref':
  75. case 'date_time_wareki':
  76. case 'date_time_calender':
  77. $("#rowSize").hide();$("#MailFieldSize").val('');
  78. $("#rowRows").hide();$("#MailFieldRows").val('');
  79. $("#rowMaxlength").hide();$("#MailFieldMaxlength").val('');
  80. $("#rowSource").hide();$("#MailFieldSource").val('');
  81. $("#rowAutoConvert").hide();$("#MailFieldAutoConvert").val('');
  82. $("#rowSeparator").hide();$("#MailFieldSeparator").val('');
  83. break;
  84. case 'autozip':
  85. $("#rowSize").show();
  86. $("#rowRows").hide();$("#MailFieldRows").val('');
  87. $("#rowMaxlength").show();$("#MailFieldMaxlength").val('7');
  88. $("#rowSource").show();
  89. $("#rowAutoConvert").show();$("#MailFieldAutoConvert").val('CONVERT_HANKAKU');
  90. $("#rowSeparator").hide();$("#MailFieldSeparator").val('');
  91. break;
  92. }
  93. }
  94. });
  95. </script>
  96. <?php /* MailContent.idを第一引数にしたいが為にURL直書き */ ?>
  97. <?php if($this->action == 'admin_add'): ?>
  98. <?php echo $bcForm->create('MailField', array('url' => array('controller' => 'mail_fields', 'action' => 'add', $mailContent['MailContent']['id']))) ?>
  99. <?php elseif($this->action == 'admin_edit'): ?>
  100. <?php echo $bcForm->create('MailField', array('url' => array('controller' => 'mail_fields', 'action' => 'edit', $mailContent['MailContent']['id'], $bcForm->value('MailField.id'), 'id' => false))) ?>
  101. <?php endif; ?>
  102. <?php echo $bcForm->hidden('MailField.id') ?>
  103. <h2>基本項目</h2>
  104. <!-- form -->
  105. <div class="section">
  106. <table cellpadding="0" cellspacing="0" id="FormTable" class="form-table">
  107. <?php if($this->action == 'admin_edit'): ?>
  108. <tr>
  109. <th class="col-head"><?php echo $bcForm->label('MailField.no', 'NO') ?></th>
  110. <td class="col-input">
  111. <?php echo $bcForm->value('MailField.no') ?>
  112. <?php echo $bcForm->input('MailField.no', array('type' => 'hidden')) ?>
  113. </td>
  114. </tr>
  115. <?php endif; ?>
  116. <tr id="rowFieldName">
  117. <th class="col-head"><?php echo $bcForm->label('MailField.field_name', 'フィールド名') ?>&nbsp;<span class="required">*</span></th>
  118. <td class="col-input">
  119. <?php echo $bcForm->input('MailField.field_name', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  120. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpFieldName', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  121. <?php echo $bcForm->error('MailField.field_name') ?>
  122. <div id="helptextFieldName" class="helptext">重複しない半角英数字で入力してください</div>
  123. </td>
  124. </tr>
  125. <tr id="rowName">
  126. <th class="col-head"><?php echo $bcForm->label('MailField.name', '項目名') ?>&nbsp;<span class="required">*</span></th>
  127. <td class="col-input">
  128. <?php echo $bcForm->input('MailField.name', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  129. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpName', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  130. <?php echo $bcForm->error('MailField.name') ?>
  131. <div id="helptextName" class="helptext">項目を特定しやすいわかりやすい名前を入力してください日本語可</div>
  132. </td>
  133. </tr>
  134. <tr id="rowType">
  135. <th class="col-head"><?php echo $bcForm->label('MailField.type', 'タイプ') ?>&nbsp;<span class="required">*</span></th>
  136. <td class="col-input">
  137. <?php echo $bcForm->input('MailField.type', array('type' => 'select', 'options' => $controlSource['type'])) ?>
  138. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpType', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  139. <?php echo $bcForm->error('MailField.type') ?>
  140. <div id="helptextType" class="helptext">
  141. <ul>
  142. <li>Eメールを選択するとメールフォーム送信の際入力されたEメール宛に自動返信メールを送信します<br />
  143. <small> 前バージョンとの互換性の為フィールド名をemail_1とした場合Eメールを選択しなくても自動返信メールを送信します</small></li>
  144. <li>自動補完郵便番号の場合は選択リストに都道府県のフィールドと住所のフィールドのリストを指定します</li>
  145. </ul>
  146. </div>
  147. </td>
  148. </tr>
  149. <tr id="rowHead">
  150. <th class="col-head"><?php echo $bcForm->label('MailField.head', '項目見出し') ?></th>
  151. <td class="col-input">
  152. <?php echo $bcForm->input('MailField.head', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  153. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpHead', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  154. <?php echo $bcForm->error('MailField.head') ?>
  155. <div id="helptextHead" class="helptext"> グループの場合番目以降のフィールドは不要です </div>
  156. </td>
  157. </tr>
  158. <tr id="rowNotEmpty">
  159. <th class="col-head"><?php echo $bcForm->label('MailField.not_empty', '必須マーク') ?></th>
  160. <td class="col-input">
  161. <?php echo $bcForm->input('MailField.not_empty', array('type' => 'checkbox', 'label'=>'項目見出しに必須マークを表示する')) ?>
  162. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpNotEmpty', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  163. <?php echo $bcForm->error('MailField.not_empty') ?>
  164. <div id="helptextNotEmpty" class="helptext">グループの場合番目以降のフィールドは不要です</div>
  165. </td>
  166. </tr>
  167. <tr id="rowValid">
  168. <th class="col-head"><?php echo $bcForm->label('MailField.valid', '入力チェック') ?></th>
  169. <td class="col-input">
  170. <?php echo $bcForm->input('MailField.valid', array('type' => 'select', 'options' => $controlSource['valid'], 'empty' => 'なし')) ?>
  171. <?php echo $bcForm->error('MailField.valid') ?>
  172. </td>
  173. </tr>
  174. <tr id="rowAttention">
  175. <th class="col-head"><?php echo $bcForm->label('MailField.attention', '注意書き') ?></th>
  176. <td class="col-input">
  177. <?php echo $bcForm->input('MailField.attention', array('type' => 'textarea', 'cols' => 35, 'rows' => 3)) ?>
  178. <?php echo $bcForm->error('MailField.attention') ?>
  179. </td>
  180. </tr>
  181. <tr id="rowBeforeAttachment">
  182. <th class="col-head"><?php echo $bcForm->label('MailField.before_attachment', '前見出し') ?></th>
  183. <td class="col-input">
  184. <?php echo $bcForm->input('MailField.before_attachment', array('type' => 'textarea', 'cols' => 35, 'rows' => 3)) ?>
  185. <?php echo $bcForm->error('MailField.before_attachment') ?>
  186. </td>
  187. </tr>
  188. <tr id="rowAfterAttachment">
  189. <th class="col-head"><?php echo $bcForm->label('MailField.after_attachment', '後見出し') ?></th>
  190. <td class="col-input">
  191. <?php echo $bcForm->input('MailField.after_attachment', array('type' => 'textarea', 'cols' => 35, 'rows' => 3)) ?>
  192. <?php echo $bcForm->error('MailField.after_attachment') ?>
  193. </td>
  194. </tr>
  195. <tr id="rowDescription">
  196. <th class="col-head"><?php echo $bcForm->label('MailField.description', '説明文') ?></th>
  197. <td class="col-input">
  198. <?php echo $bcForm->input('MailField.description', array('type' => 'textarea', 'cols' => 35, 'rows' => 3)) ?>
  199. <?php echo $bcForm->error('MailField.description') ?>
  200. </td>
  201. </tr>
  202. <tr id="rowSource">
  203. <th class="col-head"><?php echo $bcForm->label('MailField.source', '選択リスト') ?></th>
  204. <td class="col-input">
  205. <?php echo $bcForm->input('MailField.source', array('type' => 'textarea', 'cols' => 35, 'rows' => 4)) ?>
  206. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpSource', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  207. <?php echo $bcForm->error('MailField.source') ?>
  208. <div id="helptextSource" class="helptext">
  209. <ul>
  210. <li>ラジオボタンセレクトボックスマルチチェックボックスの場合の選択リスト指定します</li>
  211. <li>自動補完郵便番号の場合は都道府県のフィールドと住所のフィールドのリストを指定します</li>
  212. <li>リストは | で区切って入力します</li>
  213. </ul>
  214. </div>
  215. </td>
  216. </tr>
  217. <tr id="rowSize">
  218. <th class="col-head"><?php echo $bcForm->label('MailField.size', '表示サイズ') ?></th>
  219. <td class="col-input">
  220. <?php echo $bcForm->input('MailField.size', array('type' => 'text', 'size'=>10,'maxlength'=>255)) ?>
  221. <?php echo $bcForm->error('MailField.size') ?>
  222. </td>
  223. </tr>
  224. <tr id="rowRows">
  225. <th class="col-head"><?php echo $bcForm->label('MailField.rows', '行数') ?></th>
  226. <td class="col-input">
  227. <?php echo $bcForm->input('MailField.rows', array('type' => 'text', 'size' => 10, 'maxlength' => 255)) ?>
  228. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpRows', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  229. <?php echo $bcForm->error('MailField.rows') ?>
  230. <div id="helptextRows" class="helptext">テキストボックスの場合の行数を指定します</div>
  231. </td>
  232. </tr>
  233. <tr id="rowMaxlength">
  234. <th class="col-head"><?php echo $bcForm->label('MailField.maxlength', '最大値') ?></th>
  235. <td class="col-input">
  236. <?php echo $bcForm->input('MailField.maxlength', array('type' => 'text', 'size' => 10, 'maxlength' => 255)) ?>文字
  237. <?php echo $bcForm->error('MailField.maxlength') ?>
  238. </td>
  239. </tr>
  240. </table>
  241. </div>
  242. <h2 class="btn-slide-form"><a href="javascript:void(0)" id="formOption">オプション</a></h2>
  243. <div class="section">
  244. <table cellpadding="0" cellspacing="0" class="form-table slide-body" id="formOptionBody">
  245. <tr id="rowValidEx">
  246. <th class="col-head"><?php echo $bcForm->label('MailField.valid_ex', '拡張入力チェック') ?></th>
  247. <td class="col-input">
  248. <?php echo $bcForm->input('MailField.valid_ex', array('type' => 'select', 'options' =>$controlSource['valid_ex'], 'empty' => 'なし')) ?>
  249. <?php echo $bcForm->error('MailField.valid_ex') ?>
  250. </td>
  251. </tr>
  252. <tr id="rowGroupField">
  253. <th class="col-head"><?php echo $bcForm->label('MailField.group_field', 'グループ名') ?></th>
  254. <td class="col-input">
  255. <?php echo $bcForm->input('MailField.group_field', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  256. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpGroupField', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  257. <?php echo $bcForm->error('MailField.group_field') ?>
  258. <div id="helptextGroupField" class="helptext">
  259. <ul>
  260. <li>各項目を同じグループとするには同じグループ名を入力します</li>
  261. <li>半角英数字で入力してください</li>
  262. </ul>
  263. </div>
  264. </td>
  265. </tr>
  266. <tr id="rowGroupValid">
  267. <th class="col-head"><?php echo $bcForm->label('MailField.group_valid', 'グループ入力チェック') ?></th>
  268. <td class="col-input">
  269. <?php echo $bcForm->input('MailField.group_valid', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  270. <?php echo $html->image('admin/icn_help.png', array('id' => 'helpGroupValid', 'class' => 'btn help', 'alt' => 'ヘルプ')) ?>
  271. <?php echo $bcForm->error('MailField.group_valid') ?>
  272. <div id="helptextGroupValid" class="helptext">
  273. <ul>
  274. <li>グループで連帯して入力チェックを行うには同じグループ名を入力します</li>
  275. <li>グループ内の項目が一つでもエラーとなるとグループ内の全ての項目にエラーを意味する背景色が付きます</li>
  276. <li>半角英数字で入力してください</li>
  277. </ul>
  278. </div>
  279. </td>
  280. </tr>
  281. <tr id="rowOptions">
  282. <th class="col-head"><?php echo $bcForm->label('MailField.options', 'オプション') ?></th>
  283. <td class="col-input">
  284. <?php echo $bcForm->input('MailField.options', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  285. <?php echo $bcForm->error('MailField.options') ?>
  286. </td>
  287. </tr>
  288. <tr id="rowClass">
  289. <th class="col-head"><?php echo $bcForm->label('MailField.class', 'クラス名') ?></th>
  290. <td class="col-input">
  291. <?php echo $bcForm->input('MailField.class', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  292. <?php echo $bcForm->error('MailField.class') ?>
  293. </td>
  294. </tr>
  295. <tr id="rowSeparator">
  296. <th class="col-head"><?php echo $bcForm->label('MailField.separator', '区切り文字') ?></th>
  297. <td class="col-input">
  298. <?php echo $bcForm->input('MailField.separator', array('type' => 'text', 'size' => 40, 'maxlength' => 255)) ?>
  299. <?php echo $bcForm->error('MailField.separator') ?>
  300. </td>
  301. </tr>
  302. <tr id="rowDefault">
  303. <th class="col-head"><?php echo $bcForm->label('MailField.default_value', '初期値') ?></th>
  304. <td class="col-input">
  305. <?php echo $bcForm->input('MailField.default_value', array('type' => 'textarea', 'cols' => 35, 'rows' => 2)) ?>
  306. <?php echo $bcForm->error('MailField.default_value') ?>
  307. </td>
  308. </tr>
  309. <tr id="rowAutoConvert">
  310. <th class="col-head"><?php echo $bcForm->label('MailField.auto_convert', '自動変換') ?></th>
  311. <td class="col-input">
  312. <?php echo $bcForm->input('MailField.auto_convert', array('type' => 'select', 'options' => $controlSource['auto_convert'], 'empty' => 'なし')) ?>
  313. <?php echo $bcForm->error('MailField.auto_convert') ?>
  314. </td>
  315. </tr>
  316. <tr id="rowUseField">
  317. <th class="col-head"><?php echo $bcForm->label('MailField.use_field', '利用状態') ?>&nbsp;<span class="required">*</span></th>
  318. <td class="col-input">
  319. <?php echo $bcForm->input('MailField.use_field', array(
  320. 'type' => 'radio',
  321. 'options' => $bcText->booleanStatusList(),
  322. 'legend' => false,
  323. 'separator' => '&nbsp;&nbsp;')) ?>
  324. <?php echo $bcForm->error('MailField.use_field') ?>
  325. </td>
  326. </tr>
  327. <tr id="rowNoSend">
  328. <th class="col-head"><?php echo $bcForm->label('MailField.no_send', 'メール送信') ?>&nbsp;<span class="required">*</span></th>
  329. <td class="col-input">
  330. <?php echo $bcForm->input('MailField.no_send', array(
  331. 'type' => 'radio',
  332. 'options' => array(0 => '送信する', 1 => '送信しない'),
  333. 'legend' => false,
  334. 'separator' => '&nbsp;&nbsp;')) ?>
  335. <?php echo $bcForm->error('MailField.no_send') ?>
  336. </td>
  337. </tr>
  338. </table>
  339. </div>
  340. <!-- button -->
  341. <div class="submit">
  342. <?php if($this->action == 'admin_add'): ?>
  343. <?php echo $bcForm->submit('登録', array('div' => false, 'class' => 'btn-red button')) ?>
  344. <?php else: ?>
  345. <?php echo $bcForm->submit('更新', array('div' => false, 'class' => 'btn-orange button')) ?>
  346. <?php $bcBaser->link('削除',
  347. array('action' => 'delete', $mailContent['MailContent']['id'], $bcForm->value('MailField.id')),
  348. array('class'=>'btn-gray button'),
  349. sprintf('%s を本当に削除してもいいですか?', $bcForm->value('MailField.name')),
  350. false); ?>
  351. <?php endif ?>
  352. </div>
  353. <?php echo $bcForm->end() ?>