theme.new_poll.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php defined('InShopNC') or exit('Access Invalid!');?>
  2. <link href="<?php echo CIRCLE_TEMPLATES_URL;?>/css/ubb.css" rel="stylesheet" type="text/css">
  3. <div class="group warp-all">
  4. <?php require_once circle_template('group.top');?>
  5. <div class="theme-editor">
  6. <form method="post" id="theme_form" action="<?php echo CIRCLE_SITE_URL;?>/index.php?act=theme&op=save_theme&sp=1&c_id=<?php echo $output['c_id'];?>">
  7. <input type="hidden" name="form_submit" value="ok" />
  8. <div class="quick-thread">
  9. <div class="base-tab-menu">
  10. <ul class="base-tabs-nav">
  11. <li><a href="index.php?act=theme&op=new_theme&c_id=<?php echo $output['c_id'];?>"><?php echo $lang['circle_new_theme'];?></a></li>
  12. <li class="selected"><a href="javascript:void(0);"><?php echo $lang['circle_new_poll'];?></a></li>
  13. </ul>
  14. </div>
  15. <div class="quick-thread-box">
  16. <div class="title">
  17. <label class="mr10"><span class="t"><?php echo $lang['circle_type'].$lang['nc_colon'];?></span><span class="i">
  18. <select name="thtype" class="select">
  19. <option value="0"><?php echo $lang['nc_default'];?></option>
  20. <?php if(!empty($output['thclass_list'])){?>
  21. <?php foreach($output['thclass_list'] as $val){?>
  22. <?php if($output['super'] || in_array($output['identity'], array(1,2))){?>
  23. <option value="<?php echo $val['thclass_id'];?>"><?php echo $val['thclass_name'];?></option>
  24. <?php }else if($val['is_moderator'] == 0){?>
  25. <option value="<?php echo $val['thclass_id'];?>"><?php echo $val['thclass_name'];?></option>
  26. <?php }?>
  27. <?php }?>
  28. <?php }?>
  29. </select>
  30. </span></label>
  31. <label><span class="t"><?php echo $lang['nc_title'].$lang['nc_colon'];?></span><span class="i">
  32. <input name="name" type="text" class="text" />
  33. </span></label>
  34. </div>
  35. <div class="poll-options">
  36. <div class="top"> <span>
  37. <h4><?php echo $lang['circle_poll_options'].$lang['nc_colon'];?></h4>
  38. <?php echo $lang['circle_poll_options_max'];?> </span><span class="input-text">
  39. <h4><?php echo $lang['circle_poll_days'].$lang['nc_colon'];?></h4>
  40. <label>
  41. <input type="text" name="days" class="input-text" />
  42. <?php echo $lang['nc_day'];?></label>
  43. </span> <span id="poll_div_2" class="input-radio">
  44. <h4><?php echo $lang['circle_poll_patterns'].$lang['nc_colon'];?></h4>
  45. <label>
  46. <input type="radio" name="multiple" value="0" checked="checked" />
  47. <h5><?php echo $lang['circle_poll_radio'];?></h5>
  48. </label>
  49. <label>
  50. <input type="radio" name="multiple" value="1" />
  51. <h5><?php echo $lang['circle_poll_chexkbox'];?></h5>
  52. </label>
  53. </span></div>
  54. <div id="poll_div_1" class="add-poll"><a href="javascript:void(0);" nctype="addpolloption" class="btn"><i></i><?php echo $lang['circle_add_new'];?></a></div>
  55. </div>
  56. <?php echo showMiniEditor('themecontent', '', 'all', array(), 'goods', array(), $output['readperm']);?>
  57. <div class="bottom"> <a class="submit-btn" nctype="theme_submit" href="Javascript: void(0)"><?php echo $lang['nc_release_new_theme'];?></a> <a class="cancel-btn" nctype="theme_cancle" href="Javascript:history.go(-1);"><?php echo $lang['nc_cancel'];?></a>
  58. <div id="warning"></div>
  59. </div>
  60. </div>
  61. </div>
  62. </form>
  63. </div>
  64. </div>
  65. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/fileupload/jquery.iframe-transport.js" charset="utf-8"></script>
  66. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/fileupload/jquery.ui.widget.js" charset="utf-8"></script>
  67. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/fileupload/jquery.fileupload.js" charset="utf-8"></script>
  68. <script type="text/javascript" src="<?php echo CIRCLE_RESOURCE_SITE_URL;?>/js/miniditor/jquery.insertsome.min.js"></script>
  69. <script type="text/javascript" src="<?php echo CIRCLE_RESOURCE_SITE_URL;?>/js/miniditor/ubb.insert.js" charset="utf-8"></script>
  70. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquery.validation.min.js"></script>
  71. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL;?>/js/jquery.mousewheel.js"></script>
  72. <script type="text/javascript">
  73. var c_id = <?php echo $output['c_id'];?>;
  74. $(function(){
  75. $('.theme-editor').ncUBB({
  76. c_id : c_id,
  77. UBBContent : $('#themecontent'),
  78. UBBSubmit : $('a[nctype="theme_submit"]'),
  79. UBBform : $('#theme_form'),
  80. UBBfileuploadurl : 'index.php?act=theme&op=image_upload&c_id='+c_id,
  81. UBBcontentleast : <?php echo intval(C('circle_contentleast'));?>,
  82. run : 'getUnusedAffix()'
  83. });
  84. //自定义滚定条
  85. $('#scrollbar').perfectScrollbar();
  86. // 表单验证
  87. jQuery.validator.addMethod("minOption",function(value, element){
  88. if($('input[name="polloption[]"][value!=""]').length < 2){
  89. return false;
  90. }else{
  91. return true;
  92. }
  93. });
  94. jQuery.validator.addMethod("nullOption",function(value, element){
  95. if($('input[name="polloption[]"][value!=""]').length == 0){
  96. return false;
  97. }else{
  98. return true;
  99. }
  100. });
  101. jQuery.validator.addMethod("maxlengthOption",function(value, element){
  102. var _s = true
  103. $('input[name="polloption[]"][value!=""]').each(function(){
  104. if($(this).val().length > 20) {_s = false;}
  105. });
  106. return _s;
  107. });
  108. $('#theme_form').validate({
  109. errorLabelContainer: $('#warning'),
  110. invalidHandler: function(form, validator) {
  111. $('#warning').show();
  112. },
  113. submitHandler:function(form){
  114. ajaxpost('theme_form', CIRCLE_SITE_URL+'/index.php?act=theme&op=save_theme&c_id='+c_id, '', 'onerror');
  115. },
  116. focusInvalid : false,
  117. rules : {
  118. name : {
  119. required : true,
  120. minlength : 4,
  121. maxlength : 30
  122. },
  123. themecontent : {
  124. required : true
  125. <?php if(intval(C('circle_contentleast')) > 0){?>
  126. ,minlength : <?php echo intval(C('circle_contentleast'));?>
  127. <?php }?>
  128. },
  129. 'polloption[]' : {
  130. nullOption : true,
  131. minOption : true,
  132. maxlengthOption : 20
  133. }
  134. },
  135. messages : {
  136. name : {
  137. required : '<?php echo $lang['nc_name_not_null'];?>',
  138. minlength : '<?php echo $lang['nc_name_min_max_length'];?>',
  139. maxlength : '<?php echo $lang['nc_name_min_max_length'];?>'
  140. },
  141. themecontent : {
  142. required : '<?php echo $lang['nc_content_not_null'];?>'
  143. <?php if(intval(C('circle_contentleast')) > 0){?>
  144. ,minlength : '<?php printf(L('nc_content_min_length'), intval(C('circle_contentleast')));?>'
  145. <?php }?>
  146. },
  147. 'polloption[]' : {
  148. nullOption : '<?php echo $lang['circle_poll_options_not_null'];?>',
  149. minOption : '<?php echo $lang['circle_poll_options_min_error'];?>',
  150. maxlengthOption : '<?php echo $lang['circle_poll_options_max_error'];?>'
  151. }
  152. }
  153. });
  154. $('a[nctype="addpolloption"]').click(function(){
  155. addpolloption($(this));
  156. });
  157. $('a[nctype="addpolloption"]').click().click().click();
  158. });
  159. // Add a voting option function
  160. function addpolloption(o){
  161. // Adding quantity can't more than 20 options
  162. var len = $('#poll_div_1').find('p').length;
  163. if(len >= 22){
  164. return false;
  165. }
  166. $("<p class=\"new-add\"><input type=\"text\" name=\"polloption[]\" value=\"\" class=\"option\" /><a href=\"javascript:void(0);\"><?php echo $lang['nc_delete'];?></a></p>").find('a').click(function(){
  167. $(this).parent().remove();
  168. }).end().insertBefore(o);
  169. }
  170. </script>