editor_image_menu.htm 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <div id="icoImg_image_menu" style="display: none" unselectable="on">
  2. <table width="100%" cellpadding="0" cellspacing="0" class="fwin"><tr><td class="t_l"></td><td class="t_c"></td><td class="t_r"></td></tr><tr><td class="m_l">&nbsp;&nbsp;</td><td class="m_c"><div class="mtm mbm">
  3. <ul class="tb tb_s cl" id="icoImg_image_ctrl" style="margin-top:0;margin-bottom:0;">
  4. <li class="y"><span class="flbc" onclick="hideAttachMenu('icoImg_image_menu')">{lang close}</span></li>
  5. <!--{if $_G['basescript'] == 'home' && $_G['group']['allowupload'] || $_G['basescript'] == 'portal'}-->
  6. <li class="current" id="icoImg_btn_imgattachlist"><a href="javascript:;" hidefocus="true" onclick="switchImagebutton('imgattachlist');">{lang upload_pic}</a></li>
  7. <!--{/if}-->
  8. <!--{if helper_access::check_module('album')}-->
  9. <li id="icoImg_btn_albumlist" {if $_G['basescript'] == 'home' && !$_G['group']['allowupload']} class="current"{/if}><a href="javascript:;" hidefocus="true" onclick="switchImagebutton('albumlist');">{lang e_img_albumlist}</a></li>
  10. <!--{/if}-->
  11. <li id="icoImg_btn_www" {if $_G['basescript'] == 'home' && !$_G['group']['allowupload'] && !helper_access::check_module('album')} class="current"{/if}><a href="javascript:;" hidefocus="true" onclick="switchImagebutton('www');">{lang e_img_www}</a></li>
  12. </ul>
  13. <div class="p_opt popupfix" unselectable="on" id="icoImg_www" {if $_G['basescript'] == 'home' && ($_G['group']['allowupload'] || helper_access::check_module('album')) || $_G['basescript'] == 'portal'} style="display: none"{/if}>
  14. <table cellpadding="0" cellspacing="0" width="100%">
  15. <tr class="xg1">
  16. <th>{lang e_img_inserturl}</th>
  17. <th>{lang e_img_width}</th>
  18. <th>{lang e_img_height}</th>
  19. </tr>
  20. <tr>
  21. <td width="74%"><input type="text" id="icoImg_image_param_1" onchange="loadimgsize(this.value)" style="width: 95%;" value="" class="px" autocomplete="off" /></td>
  22. <td width="13%"><input id="icoImg_image_param_2" size="3" value="" class="px p_fre" autocomplete="off" /></td>
  23. <td width="13%"><input id="icoImg_image_param_3" size="3" value="" class="px p_fre" autocomplete="off" /></td>
  24. </tr>
  25. <tr>
  26. <td colspan="3" class="pns ptn">
  27. <button type="button" class="pn pnc" onclick="insertWWWImg();"><strong>{lang submit}</strong></button>
  28. </td>
  29. </tr>
  30. </table>
  31. </div>
  32. <div class="p_opt" unselectable="on" id="icoImg_imgattachlist"{if $_G['basescript'] == 'home' && !$_G['group']['allowupload']} style="display: none;"{/if}>
  33. <div class="pbm bbda cl">
  34. <div id="uploadPanel" class="y">
  35. <!--{if $_G['basescript'] != 'portal'}-->
  36. {lang aim_album}
  37. <select name="savealbumid" id="savealbumid" class="ps vm" onchange="if(this.value == '-1') {selectCreateTab(0);}">
  38. <option value="0">{lang default_album}</option>
  39. <!--{loop $albums $value}-->
  40. <option value="$value[albumid]">$value[albumname]</option>
  41. <!--{/loop}-->
  42. <option value="-1" style="color:red;">+{lang create_new_album}</option>
  43. </select>
  44. <!--{/if}-->
  45. </div>
  46. <div id="createalbum" class="y" style="display:none">
  47. <input type="text" name="newalbum" id="newalbum" class="px vm" value="{lang input_album_name}" onfocus="if(this.value == '{lang input_album_name}') {this.value = '';}" onblur="if(this.value == '') {this.value = '{lang input_album_name}';}" />
  48. <button type="button" class="pn pnc" onclick="createNewAlbum();"><span>{lang create}</span></button>
  49. <button type="button" class="pn" onclick="selectCreateTab(1);"><span>{lang cancel}</span></button>
  50. </div>
  51. <span id="imgSpanButtonPlaceholder"></span>
  52. </div>
  53. <div class="upfilelist upfl bbda">
  54. <div id="imgattachlist">
  55. <!--{if $_G['basescript'] == 'portal'}-->$article[attachs]<!--{/if}-->
  56. </div>
  57. <div class="fieldset flash" id="imgUploadProgress"></div>
  58. </div>
  59. <p class="notice">{lang click_pic_to_editor}</p>
  60. </div>
  61. <!--{if helper_access::check_module('album')}-->
  62. <div class="p_opt" unselectable="on" id="icoImg_albumlist" {if $_G['basescript'] == 'home' && $_G['group']['allowupload'] || $_G['basescript'] == 'portal'} style="display: none;"{/if}>
  63. <div class="upfilelist pbm bbda">
  64. {lang select_album}:
  65. <select name="view_albumid" onchange="picView(this.value, 'albumphoto')" class="ps">
  66. <option value="none">{lang select_album}</option>
  67. <option value="0">{lang default_album}</option>
  68. <!--{loop $albums $value}-->
  69. <option value="$value[albumid]">$value[albumname]</option>
  70. <!--{/loop}-->
  71. </select>
  72. <div id="albumphoto"></div>
  73. </div>
  74. <p class="notice">{lang click_pic_to_editor}</p>
  75. </div>
  76. <!--{/if}-->
  77. </div></td><td class="m_r"></td></tr><tr><td class="b_l"></td><td class="b_c"></td><td class="b_r"></td></tr></table>
  78. </div>
  79. <div id="icoAttach_attach_menu" style="display: none" unselectable="on">
  80. <table width="100%" cellpadding="0" cellspacing="0" class="fwin">
  81. <tr>
  82. <td class="t_l"></td>
  83. <td class="t_c"></td>
  84. <td class="t_r"></td>
  85. </tr>
  86. <tr>
  87. <td class="m_l">&nbsp;&nbsp;</td>
  88. <td class="m_c">
  89. <div class="mtm mbm">
  90. <ul class="tb tb_s cl" id="icoAttach_attach_ctrl" style="margin-top:0;margin-bottom:0;">
  91. <li class="y"><span class="flbc" onclick="hideAttachMenu('icoAttach_attach_menu')">{lang close}</span></li>
  92. <li class="current" id="icoAttach_btn_attachlist"><a href="javascript:;" hidefocus="true" onclick="switchAttachbutton('attachlist');">{lang upload_attach}</a></li>
  93. </ul>
  94. <div class="p_opt post_tablelist" unselectable="on" id="icoAttach_attachlist">
  95. <div class="pbm bbda">
  96. <span id="spanButtonPlaceholder"></span>
  97. </div>
  98. <table cellpadding="0" cellspacing="0" border="0" width="100%" id="attach_tblheader" class="mtn bbs" style="display: none;">
  99. <tr>
  100. <td class="atnu"></td>
  101. <td class="atna pbn">{lang filename}</td>
  102. <td class="atds pbn">{lang file_size}</td>
  103. <td class="attc"></td>
  104. </tr>
  105. </table>
  106. <div class="upfl">
  107. <div id="attachlist"></div>
  108. <div class="fieldset flash" id="fsUploadProgress"></div>
  109. </div>
  110. <div class="notice upnf">
  111. <p id="attach_notice">{lang click_filename_to_article}</p>
  112. </div>
  113. </div>
  114. </div>
  115. </td>
  116. <td class="m_r"></td>
  117. </tr>
  118. <tr>
  119. <td class="b_l"></td>
  120. <td class="b_c"></td>
  121. <td class="b_r"></td>
  122. </tr>
  123. </table>
  124. </div>
  125. <iframe name="attachframe" id="attachframe" style="display: none;"></iframe>
  126. <!--{if $_G['basescript'] == 'home' && empty($_G['setting']['pluginhooks']['spacecp_blog_upload_extend']) || $_G['basescript'] == 'portal' && empty($_G['setting']['pluginhooks']['portalcp_top_upload_extend'])}-->
  127. <!--{subtemplate common/upload}-->
  128. <script type="text/javascript">
  129. var attachUpload = new SWFUpload({
  130. // Backend Settings
  131. upload_url: "{$_G[siteurl]}misc.php?mod=swfupload&action=swfupload&operation=<!--{if $_G['basescript'] == 'portal'}-->portal<!--{else}-->album<!--{/if}-->",
  132. post_params: {"uid" : "$_G[uid]", "hash":"$swfconfig[hash]"<!--{if $_G['basescript'] == 'portal'}-->,"aid":$aid,"catid":$catid<!--{/if}-->},
  133. // File Upload Settings
  134. file_size_limit : "$swfconfig[max]", // 100MB
  135. <!--{if $_G['basescript'] == 'portal'}-->
  136. file_types : "$swfconfig[attachexts][ext]",
  137. file_types_description : "$swfconfig[attachexts][depict]",
  138. <!--{else}-->
  139. file_types : "$swfconfig[imageexts][ext]",
  140. file_types_description : "$swfconfig[imageexts][depict]",
  141. <!--{/if}-->
  142. file_upload_limit : 0,
  143. file_queue_limit : 0,
  144. // Event Handler Settings (all my handlers are in the Handler.js file)
  145. swfupload_preload_handler : preLoad,
  146. swfupload_load_failed_handler : loadFailed,
  147. file_dialog_start_handler : fileDialogStart,
  148. file_queued_handler : fileQueued,
  149. file_queue_error_handler : fileQueueError,
  150. file_dialog_complete_handler : fileDialogComplete,
  151. upload_start_handler : uploadStart,
  152. upload_progress_handler : uploadProgress,
  153. upload_error_handler : uploadError,
  154. upload_success_handler : uploadSuccess,
  155. upload_complete_handler : uploadComplete,
  156. // Button Settings
  157. button_image_url : "{IMGDIR}/uploadbutton.png",
  158. button_placeholder_id : "spanButtonPlaceholder",
  159. button_width: 100,
  160. button_height: 25,
  161. button_cursor:SWFUpload.CURSOR.HAND,
  162. button_window_mode: "transparent",
  163. custom_settings : {
  164. progressTarget : "fsUploadProgress",
  165. uploadSource: 'portal',
  166. uploadType: 'attach',
  167. imgBoxObj: $('attachlist')
  168. //thumbnail_height: 400,
  169. //thumbnail_width: 400,
  170. //thumbnail_quality: 100
  171. },
  172. // Debug Settings
  173. debug: false
  174. });
  175. var upload = new SWFUpload({
  176. // Backend Settings
  177. upload_url: "{$_G[siteurl]}misc.php?mod=swfupload&action=swfupload&operation=<!--{if $_G['basescript'] == 'portal'}-->portal<!--{else}-->album<!--{/if}-->",
  178. post_params: {"uid" : "$_G[uid]", "hash":"$swfconfig[hash]"<!--{if $_G['basescript'] == 'portal'}-->,"aid":$aid,"catid":$catid<!--{/if}-->},
  179. // File Upload Settings
  180. file_size_limit : "$swfconfig[max]", // 100MB
  181. file_types : "$swfconfig[imageexts][ext]",
  182. file_types_description : "$swfconfig[imageexts][depict]",
  183. file_upload_limit : 0,
  184. file_queue_limit : 0,
  185. // Event Handler Settings (all my handlers are in the Handler.js file)
  186. swfupload_preload_handler : preLoad,
  187. swfupload_load_failed_handler : loadFailed,
  188. file_dialog_start_handler : fileDialogStart,
  189. file_queued_handler : fileQueued,
  190. file_queue_error_handler : fileQueueError,
  191. file_dialog_complete_handler : fileDialogComplete,
  192. upload_start_handler : uploadStart,
  193. upload_progress_handler : uploadProgress,
  194. upload_error_handler : uploadError,
  195. upload_success_handler : uploadSuccess,
  196. upload_complete_handler : uploadComplete,
  197. // Button Settings
  198. button_image_url : "{IMGDIR}/uploadbutton.png",
  199. button_placeholder_id : "imgSpanButtonPlaceholder",
  200. button_width: 100,
  201. button_height: 25,
  202. button_cursor:SWFUpload.CURSOR.HAND,
  203. button_window_mode: "transparent",
  204. custom_settings : {
  205. progressTarget : "imgUploadProgress",
  206. uploadSource: 'portal',
  207. uploadType: <!--{if $_G['basescript'] == 'portal'}-->'portal'<!--{else}-->'blog'<!--{/if}-->,
  208. imgBoxObj: $('imgattachlist')
  209. //thumbnail_height: 400,
  210. //thumbnail_width: 400,
  211. //thumbnail_quality: 100
  212. },
  213. // Debug Settings
  214. debug: false
  215. });
  216. </script>
  217. <!--{else}-->
  218. <!--{if $_G['basescript'] == 'home'}-->
  219. <!--{hook/spacecp_blog_upload_extend}-->
  220. <!--{elseif $_G['basescript'] == 'portal'}-->
  221. <!--{hook/portalcp_top_upload_extend}-->
  222. <!--{/if}-->
  223. <!--{/if}-->
  224. <script type="text/javascript">
  225. function switchImagebutton(btn) {
  226. switchButton(btn, 'image');
  227. $('icoImg_image_menu').style.height = '';
  228. doane();
  229. }
  230. function hideAttachMenu(id) {
  231. if($(id)) {
  232. $(id).style.visibility = 'hidden';
  233. }
  234. }
  235. function insertWWWImg() {
  236. var urlObj = $('icoImg_image_param_1');
  237. if(urlObj.value != '') {
  238. var widthObj = $('icoImg_image_param_2');
  239. var heightObj = $('icoImg_image_param_3');
  240. insertImage(urlObj.value, null, widthObj.value, heightObj.value);
  241. urlObj.value = widthObj.value = heightObj.value = '';
  242. }
  243. }
  244. //note 选择图片
  245. function picView(albumid, listid) {
  246. if(albumid == 'none') {
  247. $(listid).innerHTML = '';
  248. } else {
  249. ajaxget('home.php?mod=misc&ac=ajax&op=album&id='+albumid+'&ajaxdiv=albumpic_body', listid);
  250. }
  251. }
  252. function createNewAlbum() {
  253. var inputObj = $('newalbum');
  254. if(inputObj.value == '' || inputObj.value == '{lang input_album_name}') {
  255. inputObj.value = '{lang input_album_name}';
  256. } else {
  257. var x = new Ajax();
  258. x.get('home.php?mod=misc&ac=ajax&op=createalbum&inajax=1&name=' + inputObj.value, function(s){
  259. var aid = parseInt(s);
  260. var albumList = $('savealbumid');
  261. var haveoption = false;
  262. for(var i = 0; i < albumList.options.length; i++) {
  263. if(albumList.options[i].value == aid) {
  264. albumList.selectedIndex = i;
  265. haveoption = true;
  266. break;
  267. }
  268. }
  269. if(!haveoption) {
  270. var oOption = document.createElement("OPTION");
  271. oOption.text = trim(inputObj.value);
  272. oOption.value = aid;
  273. albumList.options.add(oOption);
  274. albumList.selectedIndex = albumList.options.length-1;
  275. }
  276. inputObj.value = ''
  277. });
  278. selectCreateTab(1)
  279. }
  280. }
  281. function selectCreateTab(flag) {
  282. var vwObj = $('uploadPanel');
  283. var opObj = $('createalbum');
  284. var selObj = $('savealbumid');
  285. if(flag) {
  286. vwObj.style.display = '';
  287. opObj.style.display = 'none';
  288. selObj.value = selObj.options[0].value;
  289. } else {
  290. vwObj.style.display = 'none';
  291. opObj.style.display = '';
  292. }
  293. }
  294. </script>