ヘルプ _; } if (is_file("$System[datadir]/mail/$_REQUEST[ID].cgi")) { $csvbutton = "CSV出力"; } if ($_REQUEST[action] == 'regist' || $_REQUEST[action] == 'saveview' || $_REQUEST[action] == 'preview') { if ($_REQUEST[action] != 'preview') { !preg_match("/\/$/", $_REQUEST[Path]) && $_REQUEST[Path] .= "/"; $path = "$_SERVER[DOCUMENT_ROOT]$_REQUEST[Path]". "mail"; if ($Init[nonExt]) { } else { $path .= ".php"; } if (!is_dir($path) && !is_file($path)) { $script =<<<_ _; $script = str_replace("\t", "", $script); file_put_contents($path, $script); } for($i = 0; $i < $_REQUEST[rows]; $i++) { if ($_REQUEST[Que][$i]) { $_REQUEST[Select][$i] = preg_replace("/\r$/", "", $_REQUEST[Select][$i]); $_REQUEST[Select][$i] = preg_replace("/\r/", " ", $_REQUEST[Select][$i]); $field = join("\t", array( "Que=". $_REQUEST[Que][$i], "Group=". $_REQUEST[Group][$i], "longQue=". $_REQUEST[longQue][$i], "Type=". $_REQUEST[Type][$i], "textAlign=". $_REQUEST[textAlign][$i], "imemode=". $_REQUEST[imemode][$i], "textWidth=". $_REQUEST[textWidth][$i], "Unit=". $_REQUEST[Unit][$i], "Select=". $_REQUEST[Select][$i], "Cols=". $_REQUEST[Cols][$i], "imgWidth=". $_REQUEST[imgWidth][$i], "Required=". $_REQUEST[Required][$i], "" )); $field = preg_replace("/\n/", "", $field); $fields .= "$field\n"; } } $value =<<<_ [Setup] ID=$_REQUEST[ID] Title=$_REQUEST[Title] groupAuth=$_REQUEST[groupAuth] Path=$_REQUEST[Path] To=$_REQUEST[To] Signature=$_REQUEST[Signature] Cc=$_REQUEST[Cc] Bcc=$_REQUEST[Bcc] Policy=$_REQUEST[Policy] policyPage=$_REQUEST[policyPage] Template=$_REQUEST[Template] Header=$_REQUEST[Header] Thankyou=$_REQUEST[Thankyou] ThankyouURL=$_REQUEST[ThankyouURL] Return=$_REQUEST[Return] Returnmessage=$_REQUEST[Returnmessage] File=$_REQUEST[File] nonDesign=$_REQUEST[nonDesign] formWidth=$_REQUEST[formWidth] formAlign=$_REQUEST[formAlign] Spacing=$_REQUEST[Spacing] Padding=$_REQUEST[Padding] formType=$_REQUEST[formType] formBgcolor=$_REQUEST[formBgcolor] formBorder=$_REQUEST[formBorder] formBgimg=$_REQUEST[formBgimg] queWidth=$_REQUEST[queWidth] queBgcolor=$_REQUEST[queBgcolor] queColor=$_REQUEST[queColor] queBgimg=$_REQUEST[queBgimg] queBorder=$_REQUEST[queBorder] valBgcolor=$_REQUEST[valBgcolor] valColor=$_REQUEST[valColor] errBgcolor=$_REQUEST[errBgcolor] comColor=$_REQUEST[comColor] groupHeight=$_REQUEST[groupHeight] groupAlign=$_REQUEST[groupAlign] groupBgcolor=$_REQUEST[groupBgcolor] groupColor=$_REQUEST[groupColor] groupBgimg=$_REQUEST[groupBgimg] groupBorder=$_REQUEST[groupBorder] lineSpace=$_REQUEST[lineSpace] lineHeight=$_REQUEST[lineHeight] lineColor=$_REQUEST[lineColor] lineImg=$_REQUEST[lineImg] areaHeight=$_REQUEST[areaHeight] areaBorder=$_REQUEST[areaBorder] areaImg=$_REQUEST[areaImg] prevButton=$_REQUEST[prevButton] prevImg=$_REQUEST[prevImg] nextButton=$_REQUEST[nextButton] nextImg=$_REQUEST[nextImg] sendButton=$_REQUEST[sendButton] sendImg=$_REQUEST[sendImg] [Fields] _; $value = str_replace("\t", "", $value); $value .= "\n$fields"; file_put_contents("$System[datadir]/mail/$_REQUEST[ID].ini", $value); logregist("メールフォーム($_REQUEST[ID])の編集"); } if ($_REQUEST[action] == 'regist') { if ($_REQUEST[mode] == 'new') { $msg = "メニューの更新のため、ブラウザを再起動します。"; $action = "parent.location.href='./'"; } else { $action = "$(this).dialog('close');"; } $javascript .=<<<_ document.getElementById('confirmdialog').innerHTML= '正常にメールフォームを保存しました。
$msg'; $(function() { $('#confirmdialog').dialog({ title: '完了', resizable: false, width: 400, height:170, modal: true, show: 'blind', hide: 'explode', buttons: { Ok: function() { $action } } }); }); _; } else { header("Location:$_REQUEST[Path]$scriptname/$_REQUEST[ID]/"); exit; } } elseif ($_REQUEST[action] == 'csv') { if ($_REQUEST[ID] && is_file("$System[datadir]/mail/$_REQUEST[ID].ini")) { $Fields = array(); readini("$System[datadir]/mail/$_REQUEST[ID].ini"); } header("Content-type:text/plain; charset=shift_jis"); $Value = array("MailID", "日付"); foreach ($Fields as $line) { $field = dbfields($line); $Value[] = $field[Que]; } echo mb_convert_encoding(join(",", $Value), "SJIS", "UTF-8"). "\n"; if (is_file("$System[datadir]/mail/$_REQUEST[ID].cgi")) { $Csv = file("$System[datadir]/mail/$_REQUEST[ID].cgi"); } foreach ($Csv as $line) { echo mb_convert_encoding($line, "SJIS", "UTF-8"); } exit; } elseif ($_REQUEST[action] == 'delete') { is_file("$System[datadir]/mail/$_REQUEST[ID].ini") && unlink("$System[datadir]/mail/$_REQUEST[ID].ini"); is_file("$System[datadir]/mail/$_REQUEST[ID].cgi") && unlink("$System[datadir]/mail/$_REQUEST[ID].cgi"); $javascript .=<<<_ document.getElementById('confirmdialog').innerHTML= '\ 指定のメールフォームを削除しました。
\ メニューの更新のため、ブラウザを再起動します。'; $(function() { $('#confirmdialog').dialog({ title: '完了', resizable: false, width: 400, height:170, modal: true, show: 'blind', hide: 'explode', buttons: { Ok: function() { parent.location.href='./'; } } }); }); _; } else { $client = new window; $client->name = 'client'; $client->width = "100%"; $client->height = ""; $client->display = 'block'; $client->caption = "メールフォーム"; $client->drag = true; $client->resize = false; $client->closebutton = true; $client->smallbutton = true; $client->border = false; $client->bgcolor = ''; $client->foldericon = $foldericon; if ($_REQUEST[ID] && is_file("$System[datadir]/mail/$_REQUEST[ID].ini")) { $Fields = array(); readini("$System[datadir]/mail/$_REQUEST[ID].ini"); $fieldcnt = count($Fields); $delButton = "block"; $mode = 'edit'; } else { $mode = 'new'; $_REQUEST[ID] = createid(); $delButton = "none"; } if (!$Setup[Creater] && $_COOKIE[admin] != "root" && $_COOKIE[admin] != "superadmin") { $Setup[Creater] = $_COOKIE[admin]; } !$Setup[formWidth] && $Setup[formWidth] = 600; !$Setup[Spacing] && $Setup[Spacing] = 0; !$Setup[Padding] && $Setup[Padding] = 2; !$Setup[Path] && $Setup[Path] = "/"; if ($_COOKIE[admin] == $Setup[Creater]) { $group_auth =<<<_ 制限 このフォームの編集を自身の所属部署に限定する _; } /* for($i=0;$i<=2;$i++){ $q = $_REQUEST[Que][$i]; $g = $_REQUEST[Group][$i]; $client->body .= "$i:$q,$g
\n"; } */ for($i = 0; $i < 3; $i++) { $select = ""; $Setup[formAlign] == $i && $select = "selected"; $formAlign .= " "; $select = ""; $Setup[groupAlign] == $i && $select = "selected"; $groupAlign .= " "; } $Setup[formBgcolor] && $formBgcolor = "#$Setup[formBgcolor]"; $Setup[formBorder] && $formBorder = "#$Setup[formBorder]"; $Setup[queBgcolor] && $queBgcolor = "#$Setup[queBgcolor]"; $Setup[queColor] && $queColor = "#$Setup[queColor]"; $Setup[valBgcolor] && $valBgcolor = "#$Setup[valBgcolor]"; $Setup[valColor] && $valColor = "#$Setup[valColor]"; $Setup[errBgcolor] && $errBgcolor = "#$Setup[errBgcolor]"; $Setup[comColor] && $comColor = "#$Setup[comColor]"; $Setup[groupBgcolor] && $groupBgcolor = "#$Setup[groupBgcolor]"; $Setup[groupColor] && $groupColor = "#$Setup[groupColor]"; $Setup[lineColor] && $lineColor = "#$Setup[lineColor]"; !$Setup[formType] && $Setup[formType] = 0; $Formtype[$Setup[formType]] = "checked"; if ($IEflag) { $twidth = "98%"; $jqueryTabs = ""; $h3style =<<<_ _; } else { $twidth = "100%"; $jqueryTabs =<<<_ _; } $client->body .=<<<_ $h3style
$group_auth
基本設定
ID $_REQUEST[ID]
名称
起動パス
※mailコマンドを実行するパスを指定します。
ルート「/」を設定した場合は、 <a href="/$scriptname/$_REQUEST[ID]/">お問合せ</a> で、本フォームを起動できます。
※指定されたディレクトリに $scriptname と同名のファイルやディレクトリが既に存在する場合は作成に失敗します。
送信先(To)
※省略するとルートユーザ(監理者)に送信されます。
署名
※自動返信メールに添付される送信元の署名です。
※改行どおり表示されます。タグは使用できません。
※送信先が省略されている場合は監理者の署名が採用されます。
Cc
Bcc
同意書 プライバシーポリシーや利用規約等、同意書の確認を強制する (同意しなければメールを送信できない)
URL :  プライバシーポリシーや利用規約のアドレスを設定
テンプレート ※省略するとシステムテンプレートを採用
ヘッダー
完了メッセージ
※送信完了時に表示されるメッセージを設定してください。改行どおり表示されます。タグは使用できません。
URL :  既に存在するページへジャンプする場合はアドレスを記述
自動返信 自動返信メールを送信する(以下に挨拶文を設定)
※設問設定で、タイプが「確認フィールド付きE-Mail専用テキストボックス」で最初に設定されている項目です。
タイプが違う場合や2つ目以降の項目には送信されません。
※自動返信メールに添付するファイルが有れば選択してください。
デザイン設定
デザインはスタイルシートで行い、以下の設定はすべて無視する (フォームの幅、セル間、セル内余白は必須)
また、選択されたフォームのタイプにより無視されるデザインも有ります。ご注意ください。
※同じ設定で違ったレイアウトを選択していただけます。
$jqueryTabs
フォーム
px
  • フォーム全体の設定で、幅、セル間、セル内余白は、ご自身でスタイルシートを作成される場合も必須です。
  • カラー選択はマウスをドラッグし、 ボタンで選択します。
セル間 px (spacing)
セル内余白 px (padding)
背景色
罫線色
背景画像
項目名
px
  • 項目欄のデザインの設定は、選択されたレイアウトで適用される位置が異なる場合や、無視される場合があります。
  • カラー選択はマウスをドラッグし、 ボタンで選択します。
背景色
文字色
背景画像
枠囲い 項目名を罫線で枠囲いする
回答欄
背景色
  • 設問にお答えする解答欄のデザインです。
  • エラー背景色は、必須項目が未記入又は、問題が有る場合にお知らせします。
  • 注釈は、システムが自動で挿入する入力のためのワンポイントアドバイスや、 レイアルトでデフォルトを選択した場合の「設問」を指します。
  • カラー選択はマウスをドラッグし、 ボタンで選択します。
文字色
エラー背景色
注釈文字色
グループ名
高さ px
  • グループ名は、設問設定のグループ名に名称が設定されている場合にのみ、設問の上に挿入されるタイトルです。
  • カラー選択はマウスをドラッグし、 ボタンで選択します。
背景色
文字色
背景画像
枠囲い グループ欄を罫線で枠囲いする
項目間に罫線用行間を置く
行間
高さ px
  • 設問間に空欄の行を置き、罫線や、罫線に変わる画像を表示できます。 画像が優先されますので、罫線と画像両方が設定されている場合は画像が表示されます。
  • カラー選択はマウスをドラッグし、 ボタンで選択します。
罫線色
罫線画像
ボタン
エリア 高さ px 枠囲い
  • コマンドを実行するためのボタンのデザインです。
  • ボタンの文字と画像両方が設定されている場合が画像が優先されます。
  • 両方が省略された場合は、一般的なボタンで、それぞれ[戻る]、[確認ページへ]、[確認OK!! 送信する]になります。
背景画像
戻るボタン 文字
ボタン画像
次へボタン 文字
ボタン画像
送信ボタン 文字
ボタン画像
設問設定
印は必須です。また、項目名が空欄以降すべてが無効になります。
※IE以外のブラウザでは、タイトルをドラッグして自由に並べ替えることが出来ます。
※すでに利用されているフォームに変更を加えるとCSVファイルに矛盾が生じることがあります。
_; for($i = 0; $i < 25; $i++) { $Field = dbfields($Fields[$i]); $client->body .= lineField($Field); } $client->body .=<<<_
保存する プレビュー $csvbutton リセット キャンセル 削除する ≪ 戻る $helpbutton
_; $client->body .= "
"; $html .= $client->show(); $javascript .=<<<_ var imageField; var previewwin; var IEflag = $IEflag; tinymce_initialize('.tinymce', '100%', '320', '$style'); $('.selectColor').ColorPicker({ onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).css('backgroundColor', '#' + hex); $(el).ColorPickerHide(); }, onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }}) .bind('keyup', function(){ $(this).ColorPickerSetColor(this.value); }); if (!IEflag) { $(function() { var stop = false; $( "#accordion h3" ).click(function( event ) { if ( stop ) { event.stopImmediatePropagation(); event.preventDefault(); stop = false; } }); $( "#accordion" ) .accordion({ header: "> div > h3" }) .sortable({ axis: "y", handle: "h3", stop: function() { stop = true; } }); }); $(function() { $("#tabs").tabs(); }); } function setfilename(path) { document.getElementById(imageField).value=path; } function clearColor(id) { var obj = document.getElementById(id); obj.value=''; obj.style.background=null; } function gosubmit() { with(document.clientform) { if (Title.value=='') { alertdialog('警告','フォームの名称を省略して登録できません。'); return; } document.clientform.target=''; action.value='regist'; submit(); previewwin && previewwin.close(); } } function csv() { previewwin = window.open('', 'previewwin'); document.clientform.target='previewwin'; document.clientform.action.value='csv'; document.clientform.submit(); previewwin.focus(); } function preview() { if (document.clientform.Title.value=='') { alertdialog('警告','プレビューもフォームの名称を省略出来ません。'); return; } document.getElementById('confirmdialog').innerHTML= '\ \ \ \
\ 最新のプレビューを表示すると自動的に現在の設定が保存されます。\ 何も編集されていない場合は、[保存しない]を選択してください。\ 保存すると編集履歴にも保存されます。
\
\ プレビューを表示しますか?\
'; $(function() { $('#confirmdialog').dialog({ title: '確認', resizable: false, width:480, height:240, modal: true, buttons: { 保存する: function() { $(this).dialog('close'); previewwin = window.open('', 'previewwin'); document.clientform.target='previewwin'; document.clientform.action.value='saveview'; $('#deleteButton').css('display', 'block'); document.clientform.submit(); previewwin.focus(); }, 保存しない: function() { $(this).dialog('close'); previewwin = window.open('', 'previewwin'); document.clientform.target='previewwin'; document.clientform.action.value='preview'; $('#deleteButton').css('display', 'block'); document.clientform.submit(); previewwin.focus(); }, キャンセル: function() { $(this).dialog('close'); } } }); }); } function selectwinshow(i, no) { var obj = document.getElementById('selectwin_'+i); if (no >= 2 && no <= 9) { obj.style.display='block'; } else { obj.style.display='none'; } } function windowGoResize() { var h = $(window).height(); document.getElementById('scrool_body').style.height=h-50+'px'; } windowGoResize(); window.onresize=windowGoResize; _; } function lineField($field = array()) { global $Aligns; static $a; $a++; $idx = sprintf("%02d", $a); $Types = array( " 0:1行テキストボックス", " 1:複数行テキストボックス", " 2:単一選択ラジオボタン", " 3:単一選択ラジオボタン+テキストボックス", " 4:単一選択リストボックス", " 5:単一選択リストボックス+テキストボックス", " 6:複数選択チェックボックス", " 7:複数選択チェックボックス+テキストボックス", " 8:複数選択リストボックス", " 9複数選択リストボックス+テキストボックス", "10:郵便番号付き住所セット", "11:確認フィールド付きE-Mail専用テキストボックス", "12:ファイル添付フィールド(1つのフォームで1つだけ設定可能。2個目以降は無視される)", "13:日付専用(年月日分割)テキスト", "14:生年月日専用(年齢自動計算付き)テキスト", "15:都道府県選択リストボックス" ); !$field[Cols] && $field[Cols] = 2; !$field[textWidth] && $field[textWidth] = 240; $i = 0; foreach ($Aligns as $line) { $select = ""; $field[textAlign] == $i && $select = "selected"; $alignoptions .= " "; $i++; } if ($a % 2 == 0) { $bgcolor = "#ffffcc"; } else { $bgcolor = "#ccccff"; } !$field[imemode] && $field[imemode] = 0; $selectimemode[$field[imemode]] = "selected"; !$field[Required] && $field[Required] = 0; $selectRequired[$field[Required]] = "selected"; $text =<<<_

$idx:

グループ名
設問
※長い設問や解説はこちらにご記入ください。
タイプ
テキストボックスの幅 :  px 単位 : 
「タイプ」でラジオボタン、リストボックス、チェックボックスを指定した場合の選択肢 (1件ごとに改行)
※ここで設定した選択肢が自動的にチェックボックスやラジオボタン、リストボックスに挿入されます。 ユーザは、直接記入する手間を省き、マウスで選択するだけです。

※「+テキストボックス」を選択すると、選択肢に無い場合に直接入力可能なテキストボックスも表示されます。
※選択肢に画像を設定する場合は、画像のアドレス:タイトル、のように半角コロン( : )で区切って設定する。 アドレスはすべて/から始まる絶対パスで無ければなりません。 また、jQuery及びcolorboxプラグインが必須です。
ラジオボタン、チェックボックスを表示する列数 画像の幅 :  px
その他
_; return($text); } ?>