/modules/contact-form/grunion-form-view.php

  1. <?php 
  2. /** 
  3. * Template for form builder 
  4. */ 
  5.  
  6. wp_register_script( 'grunion', GRUNION_PLUGIN_URL . 'js/grunion.js', array( 'jquery-ui-sortable', 'jquery-ui-draggable' ), JETPACK__VERSION ); 
  7. wp_localize_script( 'grunion', 'GrunionFB_i18n', array( 
  8. 'nameLabel' => esc_attr( _x( 'Name', 'Label for HTML form "Name" field in contact form builder', 'jetpack' ) ),  
  9. 'emailLabel' => esc_attr( _x( 'Email', 'Label for HTML form "Email" field in contact form builder', 'jetpack' ) ),  
  10. 'urlLabel' => esc_attr( _x( 'Website', 'Label for HTML form "URL/Website" field in contact form builder', 'jetpack' ) ),  
  11. 'commentLabel' => esc_attr( _x( 'Comment', 'noun', 'jetpack' ) ),  
  12. 'newLabel' => esc_attr( _x( 'New Field', 'Default label for new HTML form field in contact form builder', 'jetpack' ) ),  
  13. 'optionsLabel' => esc_attr( _x( 'Options', 'Label for the set of options to be included in a user-created dropdown in contact form builder', 'jetpack' ) ),  
  14. 'optionsLabel' => esc_attr( _x( 'Option', 'Label for an option to be included in a user-created dropdown in contact form builder', 'jetpack' ) ),  
  15. 'firstOptionLabel' => esc_attr( _x( 'First option', 'Default label for the first option to be included in a user-created dropdown in contact form builder', 'jetpack' ) ),  
  16. 'problemGeneratingForm' => esc_attr( _x( "Oops, there was a problem generating your form. You'll likely need to try again.", 'error message in contact form builder', 'jetpack' ) ),  
  17. 'moveInstructions' => esc_attr__( "Drag up or down\nto re-arrange", 'jetpack' ),  
  18. 'moveLabel' => esc_attr( _x( 'move', 'Label to drag HTML form fields around to change their order in contact form builder', 'jetpack' ) ),  
  19. 'editLabel' => esc_attr( _x( 'edit', 'Link to edit an HTML form field in contact form builder', 'jetpack' ) ),  
  20. 'savedMessage' => esc_attr__( 'Saved successfully', 'jetpack' ),  
  21. 'requiredLabel' => esc_attr( _x( '(required)', 'This HTML form field is marked as required by the user in contact form builder', 'jetpack' ) ),  
  22. 'exitConfirmMessage' => esc_attr__( 'Are you sure you want to exit the form editor without saving? Any changes you have made will be lost.', 'jetpack' ),  
  23. /** 
  24. * Filter to modify the limit of 5 additional contact form fields. 
  25. * 
  26. * @module contact-form 
  27. * 
  28. * @since 3.2.0 
  29. * 
  30. * @param int 5 Maximum number of additional fields. 
  31. */ 
  32. 'maxNewFields' => intval( apply_filters( 'grunion_max_new_fields', 5 ) ),  
  33. ) ); 
  34.  
  35. ?> 
  36. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  37. <html xmlns="http://www.w3.org/1999/xhtml"> 
  38. <head> 
  39. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  40. <title><?php esc_html_e( 'Contact Form', 'jetpack' ); ?></title> 
  41. <script type="text/javascript"> 
  42. var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>'; 
  43. var postId = <?php echo absint( $_GET['post_id'] ); ?>; 
  44. var ajax_nonce_shortcode = '<?php echo wp_create_nonce( 'grunion_shortcode' ); ?>'; 
  45. var ajax_nonce_json = '<?php echo wp_create_nonce( 'grunion_shortcode_to_json' ); ?>'; 
  46. </script> 
  47. <?php wp_print_scripts( 'grunion' ); ?> 
  48. <script type="text/javascript"> 
  49. jQuery(document).ready(function () { 
  50. FB.ContactForm.init(); 
  51. FB.ContactForm.resizePop(); 
  52. }); 
  53. jQuery(window).resize(function() { 
  54. setTimeout(function () { FB.ContactForm.resizePop(); }, 50); 
  55. }); 
  56. </script> 
  57. <style> 
  58. /* Reset */ 
  59. html { height: 100%; } 
  60. body, div, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, button, textarea, p, blockquote, th, td { margin: 0; padding: 0; } 
  61. body { background: #F9F9F9; font-family:"Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; font-size:12px; color: #333; line-height:1.5em; height: 100%; width: 100%; padding-bottom: 20px !important; } 
  62. a { color: #21759B; text-decoration: none; } 
  63. a:hover { text-decoration: underline; text-shadow: none !important; } 
  64. h1 { font-size: 21px; color:#5A5A5A; font-family:Georgia, "Times New Roman", Times, serif; font-weight:normal; margin-bottom: 21px; } 
  65. h3 { font-size: 13px; color: #666; margin-bottom: 18px; } 
  66. input { width: 301px; } 
  67. input[type='text'] { padding: 3px 5px; margin-right: 4px; -moz-border-radius:3px; border-radius:3px; -webkit-border-radius:3px; } 
  68. input[type='text']:focus { border: 2px solid #80B8D9; outline: 0 !important; } 
  69. input[type='checkbox'], input[type='radio'] { width: auto !important; float: left; margin-top: 3px; margin-right: 8px; } 
  70. input.fieldError, select.fieldError, textarea.fieldError { border: 2px solid #D56F55; } 
  71. img { border: none; } 
  72. label { color: #222; font-weight: bold; display: block; margin-bottom: 4px; } 
  73. label.radio { width: auto; margin: -2px 0 0 5px; } 
  74. label span.label-required { color: #AAA; margin-left: 4px; font-weight: normal; } 
  75. td { vertical-align: top; } 
  76. select { width: 300px; } 
  77. textarea { height: 100px; width: 311px; } 
  78. /* Core */ 
  79. #media-upload-header { border-bottom: 1px solid #DFDFDF; font-weight:bold; margin:0; padding:3px 5px 0 5px; position:relative; background: #FFF; } 
  80. #sidemenu { bottom:-1px; font-size:12px; list-style:none outside none; padding-left:10px; position:relative; left:0; margin:0 5px; overflow:hidden; } 
  81. #sidemenu a { text-decoration:none; border-top: 1px solid #FFF; display:block; float:left; line-height:28px; padding:0 13px; outline: none; } 
  82. #sidemenu a.current { background-color:#F9F9F9; border-color:#DFDFDF #DFDFDF #F9F9F9; color:#D54E21; -moz-border-radius:4px 4px 0 0; border-radius:4px 4px 0 0; -webkit-border-radius:4px 4px 0 0; border-style:solid; border-width:1px; font-weight:normal; } 
  83. #sidemenu li { display:inline; margin-bottom:6px; line-height:200%; list-style:none outside none; margin:0; padding:0; text-align:center; white-space:nowrap; } 
  84. .button { background-color:#f2f2f2; border-color:#BBBBBB; min-width:80px; text-align:center; color:#464646; text-shadow:0 1px 0 #FFFFFF; border-style:solid; border-width:1px; cursor:pointer; width: auto; font-size:11px !important; line-height:13px; padding:3px 11px; margin-top: 12px; text-decoration:none; -moz-border-radius:11px; border-radius:11px; -webkit-border-radius:11px } 
  85. .button-primary { background-color:#21759B; font-weight: bold; border-color:#298CBA; text-align:center; color:#EAF2FA; text-shadow:0 -1px 0 rgba(0, 0, 0, 0.3); border-style:solid; border-width:1px; cursor:pointer; width: auto; font-size:11px !important; line-height:13px; padding:3px 11px; margin-top: 21px; text-decoration:none; -moz-border-radius:11px; border-radius:11px; -webkit-border-radius:11px } 
  86. .clear { clear: both; } 
  87. .fb-add-field { padding-left: 10px; } 
  88. .fb-add-option { margin: 0 0 14px 100px; } 
  89. .fb-container { margin: 21px; padding-bottom: 20px; } 
  90. .fb-desc, #fb-add-field { margin-top: 34px; } 
  91. .fb-extra-fields { margin-bottom: 2px; } 
  92. .fb-form-case { background: #FFF; padding: 13px; border: 1px solid #E2E2E2; width: 336px; -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px } 
  93. .fb-form-case a { outline: none; } 
  94. .fb-form-case input[type='text'], .fb-form-case textarea { background: #E1E1E1; } 
  95. .fb-radio-label { display: inline-block; float: left; width: 290px; } 
  96. .fb-new-fields { position: relative; border: 1px dashed #FFF; background: #FFF; padding: 4px 10px 10px; cursor: default; } 
  97. .fb-new-fields:hover { border: 1px dashed #BBDBEA; background: #F7FBFD; } 
  98. .fb-options { width: 170px !important; } 
  99. .fb-remove { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field.gif') no-repeat; position: absolute; cursor: pointer !important; right: -26px; top: 27px; width: 20px; height: 23px; } 
  100. .fb-remove:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-hover.gif') no-repeat; } 
  101. .fb-remove-small { top: 2px !important; } 
  102. .fb-remove-option { position: absolute; top: 1px; right: 10px; width: 20px; height: 23px; background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option.gif') no-repeat; } 
  103. .fb-remove-option:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option-hover.gif') no-repeat; } 
  104. .fb-reorder { cursor: move; position: relative; } 
  105. .fb-reorder:hover div { display: block !important; width: 130px !important; position: absolute; top: 0; right: 0; z-index: 200; padding: 5px 10px; color: #555; font-size: 11px; background: #FFF; border: 1px solid #CCC; -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; } 
  106. .fb-right { position: absolute; right: 0; top: 0; width: 315px; margin: 57px 21px 0 0; } 
  107. .fb-right .fb-new-fields { border: none; background: #F9F9F9; padding: 0; } 
  108. .fb-right input[type='text'] { width: 195px; margin-bottom: 14px; } 
  109. .fb-right label { color: #444; width: 100px; float: left; font-weight: normal; } 
  110. .fb-right select { width: 195px !important; margin-bottom: 14px; } 
  111. .fb-right textarea { margin-bottom: 13px; } 
  112. .fb-right p { color: #999; line-height: 19px; } 
  113. .fb-settings input[type='text'], .fb-settings textarea { background-image: none !important; } 
  114. .fb-success { position: absolute; top: -3px; right: 100px; padding: 6px 23px 4px 23px; background: #FFFFE0; font-weight: normal; border: 1px solid #E6DB55; color: #333; -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; } 
  115. .right { float: right; } 
  116. /* rtl */ 
  117. body.rtl{ direction: rtl; font-family:Tahoma, Arial, sans-serif} 
  118. .rtl input[type='text'] { margin-left: 4px; margin-right: 0; } 
  119. .rtl input[type='checkbox'], .rtl input[type='radio'] { float: right; } 
  120. .rtl input[type='radio'] { margin-left: 8px; margin-right: 0; } 
  121. .rtl label.radio { margin: -2px 5px 0 0; } 
  122. .rtl label span.label-required { margin-right: 4px; margin-left:0 } 
  123. .rtl #sidemenu { padding-right:10px; padding-left: 0; left:auto; right: 0; } 
  124. .rtl #sidemenu a { float:right; } 
  125. .rtl .fb-add-field { padding-right: 10px; padding-left: 0; } 
  126. .rtl .fb-add-option { margin: 0 100px 14px 0; } 
  127. .rtl .fb-radio-label { margin-right: 8px; margin-left: 0; float: right; } 
  128. .rtl .fb-remove { right: auto; left: -26px; transform: scaleX(-1); } 
  129. .rtl .fb-remove-option { right: auto; left: 10px; } 
  130. .rtl .fb-reorder:hover div { left: 0; right: auto; } 
  131. .rtl .fb-right { left: 0; right: auto; margin: 57px 0 0 21px; } 
  132. .rtl .fb-right label { float: right; } 
  133. .rtl .fb-success { right: auto; left: 100px;} 
  134. .rtl .right { float: left; } 
  135. @media only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { 
  136. .fb-remove { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-2x.png') no-repeat; background-size: 20px 23px; } 
  137. .fb-remove:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-field-hover-2x.png') no-repeat; background-size: 20px 23px; } 
  138. .fb-remove-option { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option-2x.png') no-repeat; background-size: 20px 23px; } 
  139. .fb-remove-option:hover { background: url('<?php echo GRUNION_PLUGIN_URL; ?>/images/grunion-remove-option-hover-2x.png') no-repeat; background-size: 20px 23px; } 
  140. </style> 
  141. </head> 
  142.  
  143. <body <?php if ( is_rtl() ) { echo 'class="rtl"'; }?>> 
  144. <div id="media-upload-header"> 
  145. <div id="fb-success" class="fb-success" style="display: none;"><?php esc_html_e( 'Your new field was saved successfully', 'jetpack' ); ?></div> 
  146. <ul id="sidemenu"> 
  147. <li id="tab-preview"><a class="current" href=""><?php esc_html_e( 'Form builder', 'jetpack' ); ?></a></li> 
  148. <li id="tab-settings"><a href=""><?php esc_html_e( 'Email notifications', 'jetpack' ); ?></a></li> 
  149. </ul> 
  150. </div> 
  151. <div class="fb-right"> 
  152. <div id="fb-desc" class="fb-desc"> 
  153. <h3><?php esc_html_e( 'How does this work?', 'jetpack' ); ?></h3> 
  154. <p><?php esc_html_e( 'By adding a contact form, your readers will be able to submit feedback to you. All feedback is automatically scanned for spam, and the legitimate feedback will be emailed to you.', 'jetpack' ); ?></p> 
  155. <h3 style="margin-top: 21px;"><?php esc_html_e( 'Can I add more fields?', 'jetpack' ); ?></h3> 
  156. <p><?php printf( 
  157. esc_html( _x( 'Sure thing. %1$s to add a new text box, textarea, radio, checkbox, or dropdown field.', '%1$s = "Click here" in an HTML link', 'jetpack' ) ),  
  158. '<a href="#" class="fb-add-field" style="padding-left: 0;">' . esc_html__( 'Click here', 'jetpack' ) . '</a>' 
  159. ); ?></p> 
  160. <h3 style="margin-top: 21px;"><?php esc_html_e( 'Can I view my feedback within WordPress?', 'jetpack' ); ?></h3> 
  161. <p><?php printf( 
  162. esc_html( _x( 'Yep, you can read your feedback at any time by clicking the "%1$s" link in the admin menu.', '%1$s = "Feedback" in an HTML link', 'jetpack' ) ),  
  163. '<a id="fb-feedback" href="' . admin_url( 'edit.php?post_type=feedback' ) . '">' . esc_html__( 'Feedback', 'jetpack' ) . '</a>' 
  164. ); ?></p> 
  165. <div class="clear"></div> 
  166. </div> 
  167. <div id="fb-email-desc" class="fb-desc" style="display: none;"> 
  168. <h3><?php esc_html_e( 'Do I need to fill this out?', 'jetpack' ); ?></h3> 
  169. <p><?php esc_html_e( 'Nope. However, if you’d like to modify where your feedback is sent, or the subject line you can. If you don’t make any changes here, feedback will be sent to the author of the page/post and the subject will be the name of this page/post.', 'jetpack' ); ?></p> 
  170. <h3 style="margin-top: 21px;"><?php esc_html_e( 'Can I send a notification to more than one person?', 'jetpack' ); ?></h3> 
  171. <p><?php esc_html_e( 'Yep. You can enter multiple email addresses in the Email address field, and separate them with commas. A notification email will then be sent to each email address.', 'jetpack' ); ?></p> 
  172. <div class="clear"></div> 
  173. </div> 
  174. <div id="fb-add-field" style="display: none;"> 
  175. <h3><?php esc_html_e( 'Edit this new field', 'jetpack' ); ?></h3> 
  176.  
  177. <label for="fb-new-label"><?php esc_html_e( 'Label', 'jetpack' ); ?></label> 
  178. <input type="text" id="fb-new-label" value="<?php esc_attr_e( 'New field', 'jetpack' ); ?>" /> 
  179.  
  180. <label for="fb-new-label"><?php esc_html_e( 'Field type', 'jetpack' ); ?></label> 
  181. <select id="fb-new-type"> 
  182. <option value="checkbox"><?php esc_html_e( 'Checkbox', 'jetpack' ); ?></option> 
  183. <option value="checkbox-multiple"><?php esc_html_e( 'Checkbox with Multiple Items', 'jetpack' ); ?></option> 
  184. <option value="select"><?php esc_html_e( 'Drop down', 'jetpack' ); ?></option> 
  185. <option value="email"><?php esc_html_e( 'Email', 'jetpack' ); ?></option> 
  186. <option value="name"><?php esc_html_e( 'Name', 'jetpack' ); ?></option> 
  187. <option value="radio"><?php esc_html_e( 'Radio', 'jetpack' ); ?></option> 
  188. <option value="text" selected="selected"><?php esc_html_e( 'Text', 'jetpack' ); ?></option> 
  189. <option value="textarea"><?php esc_html_e( 'Textarea', 'jetpack' ); ?></option> 
  190. <option value="url"><?php esc_html_e( 'Website', 'jetpack' ); ?></option> 
  191. </select> 
  192. <div class="clear"></div> 
  193.  
  194. <div id="fb-options" style="display: none;"> 
  195. <div id="fb-new-options"> 
  196. <label for="fb-option0"><?php esc_html_e( 'Options', 'jetpack' ); ?></label> 
  197. <input type="text" id="fb-option0" optionid="0" value="<?php esc_attr_e( 'First option', 'jetpack' ); ?>" class="fb-options" /> 
  198. </div> 
  199. <div id="fb-add-option" class="fb-add-option"> 
  200. <a href="#" id="fb-another-option"><?php esc_html_e( 'Add another option', 'jetpack' ); ?></a> 
  201. </div> 
  202. </div> 
  203.  
  204. <div class="fb-required"> 
  205. <label for="fb-new-label"></label> 
  206. <input type="checkbox" id="fb-new-required" /> 
  207. <label for="fb-new-label" class="fb-radio-label"><?php esc_html_e( 'Required?', 'jetpack' ); ?></label> 
  208. <div class="clear"></div> 
  209. </div> 
  210.  
  211. <input type="hidden" id="fb-field-id" /> 
  212. <input type="submit" class="button" value="<?php esc_attr_e( 'Save this field', 'jetpack' ); ?>" id="fb-save-field" name="save"> 
  213. </div> 
  214. </div> 
  215. <form id="fb-preview"> 
  216. <div id="fb-preview-form" class="fb-container"> 
  217. <h1><?php esc_html_e( 'Here’s what your form will look like', 'jetpack' ); ?></h1> 
  218. <div id="sortable" class="fb-form-case"> 
  219.  
  220. <div id="fb-extra-fields" class="fb-extra-fields"></div> 
  221.  
  222. <a href="#" id="fb-new-field" class="fb-add-field"><?php esc_html_e( 'Add a new field', 'jetpack' ); ?></a> 
  223. </div> 
  224. <input type="submit" class="button-primary" tabindex="4" value="<?php esc_attr_e( 'Add this form to my post', 'jetpack' ); ?>" id="fb-save-form" name="save"> 
  225. </div> 
  226. <div id="fb-email-settings" class="fb-container" style="display: none;"> 
  227. <h1><?php esc_html_e( 'Email settings', 'jetpack' ); ?></h1> 
  228. <div class="fb-form-case fb-settings"> 
  229. <label for="fb-fieldname"><?php esc_html_e( 'Enter your email address', 'jetpack' ); ?></label> 
  230. <input type="text" id="fb-field-my-email" style="background: #FFF !important;" /> 
  231.  
  232. <label for="fb-fieldemail" style="margin-top: 14px;"><?php esc_html_e( 'What should the subject line be?', 'jetpack' ); ?></label> 
  233. <input type="text" id="fb-field-subject" style="background: #FFF !important;" /> 
  234. </div> 
  235. <input type="submit" class="button-primary" value="<?php esc_attr_e( 'Save and go back to form builder', 'jetpack' ); ?>" id="fb-prev-form" name="save"> 
  236. </div> 
  237. </form> 
  238. </body> 
  239. </html> 
.