tpl_sysfile_edit.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <html lang="zh-CN">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  5. <title><?=$da['filename']?></title>
  6. <script type="text/javascript" src="js/jquery.js"></script>
  7. <script type="text/javascript" src="js/js.js"></script>
  8. <link rel="shortcut icon" href="favicon.ico" />
  9. <style>
  10. </style>
  11. <script>
  12. var fileext = '<?=$da['fileext']?>';
  13. function save(o1){
  14. var cont = get('content').innerText;
  15. js.setmsg('保存中...');
  16. o1.disabled = true;
  17. js.ajax({
  18. type:'post',
  19. url:'?m=sysfile&a=savefile&path=<?=$da['filepath']?>',
  20. data:{content:cont},
  21. success:function(res){
  22. if(res=='ok'){
  23. js.setmsg('保存成功,可修改继续保存','green');
  24. o1.disabled=false;
  25. }else{
  26. js.setmsg(res);
  27. o1.disabled=false;
  28. }
  29. }
  30. });
  31. }
  32. function initbody(){
  33. var hei = winHb()-40;
  34. $('#lineheihtss').css('height',''+hei+'px');
  35. $('#content').scroll(scrollss);
  36. $('#content').css('height',''+(hei-10)+'px');
  37. $('#content').css('width',''+(winWb()-62)+'px');
  38. var cont = get('content').innerHTML;
  39. var arr = cont.split("\n"),i,s1='';
  40. for(i=0;i<arr.length;i++){
  41. if(i>0)s1+='<br>';
  42. s1+=''+(i+1)+'';
  43. }
  44. $('#lineheiht').html(s1+'<br>&nbsp;');
  45. var sphe = ',php,js,java,';
  46. if(sphe.indexOf(','+fileext+',')>-1){
  47. //var rNote = /(?:^|\n|\r)\s*\/\/.*(?:\r|\n|$)|(\/\*(.|\s)*?\*\/)/g;
  48. var rNote = /(\/\*(.|\s)*?\*\/)/g;
  49. var emu = cont.match(rNote),st1;
  50. if(emu != null){
  51. for(i=0;i<emu.length; i++){
  52. st1=emu[i];
  53. cont = cont.replace(st1,'<span>'+st1+'</span>');
  54. }
  55. }
  56. get('content').innerHTML=phpjcq(cont,fileext);
  57. }
  58. if(fileext=='conf')confini(cont,'#');
  59. if(fileext=='ini')confini(cont,';');
  60. }
  61. function phpjcq(cont, lx){
  62. if(lx=='php'){
  63. var jcz = 'include_once,$_GET,isset,unset,explode,foreach,isempt,if,else,extends,require,public,function,protected,array,return,echo,private,exit,is_numeric,property_exists,this'.split(','),i,reg;
  64. for(i=0;i<jcz.length;i++){
  65. reg = new RegExp(jcz[i], 'g');
  66. cont = cont.replace(reg,'<font>'+jcz[i]+'</font>');
  67. }
  68. }
  69. if(cont.indexOf('\/\/')==-1)return cont;
  70. var arr = cont.split("\n"),i,s1='',xu,s2;
  71. for(i=0;i<arr.length;i++){
  72. if(i>0)s1+='\n';
  73. s2 = arr[i]
  74. xu = s2.indexOf('\/\/');
  75. if(xu>-1 && s2.indexOf(':\/\/')==-1){
  76. s1+=s2.substr(0, xu)+'<span>'+s2.substr(xu)+'</span>';
  77. }else{
  78. s1+=s2;
  79. }
  80. }
  81. return s1;
  82. }
  83. function confini(cont, lx){
  84. var arr = cont.split("\n"),i,s1='';
  85. for(i=0;i<arr.length;i++){
  86. if(i>0)s1+='\n';
  87. if(arr[i].indexOf(lx)==0 || arr[i].indexOf(' '+lx)==0){
  88. s1+='<span>'+arr[i]+'</span>';
  89. }else{
  90. s1+=arr[i];
  91. }
  92. }
  93. get('content').innerHTML=s1;
  94. }
  95. function scrollss(){
  96. get('lineheihtss').scrollTop=get('content').scrollTop;
  97. }
  98. </script>
  99. <style>
  100. pre span{color:#999999}
  101. pre font{color:blue}
  102. table {
  103. border-spacing: 0;
  104. border-collapse: collapse;
  105. }
  106. </style>
  107. </head>
  108. <body style="background:white;padding:0px;margin:0px;overflow:hidden">
  109. <table style="width:100%;height:100%" border=0><tr>
  110. <td valign="top" style="background:#e4e4e4;"><div id="lineheihtss" style="width:50px;height:300px;overflow:hidden"><div style="line-height:20px;padding-top:5px;text-align:right;padding-right:3px;font-size:14px" id="lineheiht">1<br>2<br></div></div></td>
  111. <td valign="top" style="width:100%;height:100%;padding:0px">
  112. <div id="contentdiv" style="overflow:hidden;background:#caeccb;">
  113. <pre id="content" contenteditable="plaintext-only" style="height:100%;width:100%;border:0px #aaaaaa solid;background:none;line-height:20px;font-size:14px;overflow:auto;padding:5px;margin:0px;outline:none"><?=htmlspecialchars($da['content'])?></pre></div>
  114. </td>
  115. </tr>
  116. <tr>
  117. <td></td>
  118. <td style="height:40px;overflow:hidden">
  119. <div ><span id="msgview">大小:<?=$da['filesize']?>,查找请用Ctrl+F</span>,文件:<?=$rock->jm->base64decode($da['filepath'])?></div>
  120. </td>
  121. </tr>
  122. </table>
  123. </body>
  124. </html>