HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/js/index256.js
import{c as W,I as Z,a2 as K,du as E,e as X,_ as Y,cO as ee,W as te,c7 as ae,f as se,cZ as le}from"./utils-lib.js?v=1777008528";import{c as oe,H as ne,aC as re,r as b,g as ue,o as de,j as v,k as P,e as s,v as d,p as a,Q as pe,J as ie,q as f,x as w,y,C,F as me,B as fe,aB as ce,ad as ve,am as _e,an as be,ab as we,bf as ge}from"./base-lib.js?v=1777008528";import{_ as Ve}from"./index116.js?v=1777008528";import{p as ye,w as xe}from"./index3.js?v=1777008528";import{l as Se}from"./useController13.js?v=1777008528";import{addPhpSite as Pe,GetPHPVersion as Ce}from"./site.js?v=1777008528";import{u as ke}from"./useStore2.js?v=1777008528";import{k as De,s as Ie,g as M}from"./useController19.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./useMethod12.js?v=1777008528";import"./index192.js?v=1777008528";const Fe={class:""},he={class:"items-center flex"},qe={class:"flex items-center mb-[8px]"},Ue={class:"flex items-center"},Te={class:"flex items-center mb-[4px]"},Le=oe({__name:"index",props:{compData:{default:{}}},setup(N,{expose:A}){const R=N,{panel:B}=W(),{isRefreshList:H}=ke(),F=se(),_=ne({database:!1,ftp:!1}),O=re("popupClose"),k=b(!1),h=b(),x=b(!1),t=b({menuType:"addDefault",path:"/www/wwwroot",ftp:!1,type:"PHP",type_id:0,ps:"",port:"",version:"",need_index:0,need_404:0,sql:!1,codeing:"utf8mb4",webname:"",add_dns_record:!1,ftp_username:"",ftp_password:"",datauser:"",datapassword:""}),i=b({ftp:!0,ftpStatus:!0,ftpData:{username:"",password:""},sql:!0,databaseStatus:!0,sqlData:{username:"",password:""},siteStatus:!1,site:{name:!1},dns:[],title:""});let g="/www/wwwroot/";const D=b([]),q=ue(()=>De.value.filter(o=>o.value!=="all"&&Number(o.value)>=0)),j=()=>{var o;(o=M.value)!=null&&o.setClassManage&&M.value.setClassManage()},U=async o=>{const{data:e}=await Z({sName:o});ye({name:e.name,type:"i",pluginInfo:e})},$=()=>{xe({type:"dir",path:t.value.path,change:o=>{const e=K(o,"string","");t.value.path=e,g=(e+"/").replace(/\/\//g,"/")}})},Q=async()=>{var o;try{const e=await Ce();D.value=e.data;let p="00";(o=D.value)==null||o.forEach(m=>{Number(m.version)>Number(p)&&(p=m.version)}),t.value.version=p}catch(e){}},T=(o,e)=>{if(!o)return"";const{randomLength:p=1}={},m=n=>n.charCodeAt(0)<=127,u=n=>{const r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let c="";for(let S=0;S<n;S++){const I=Math.floor(Math.random()*r.length);c+=r[I]}return c},V=n=>n===":"||n==="."?"_":m(n)?n:u(p);return Array.from(o).map(V).join("")},G=o=>{var e,p,m;typeof o=="string"&&(t.value.ps=o.split("\n")[0],t.value.path=(g==null?void 0:g.replace(/\/\//g,"/"))+((p=(e=o.split("\n")[0])==null?void 0:e.replace(/:/g,"_"))==null?void 0:p.trim()),t.value.ftp_username=T(o.split("\n")[0]),t.value.ftp_password=E(16),t.value.datauser=(m=T(o.split("\n")[0]))==null?void 0:m.substr(0,16),t.value.datapassword=E(16))},J=async o=>{let e=Object.assign({},t.value);e.ftp?(i.value.ftpData.username=e.ftp_username,i.value.ftpData.password=e.ftp_password):(delete e.ftp_username,delete e.ftp_password,i.value.ftp=!1),e.sql?(i.value.sqlData.username=e.datauser,i.value.sqlData.password=e.datapassword):(delete e.datauser,delete e.datapassword,i.value.sql=!1);const m=e.webname.split("\n")[0].trim().match(/:(\d+)$/);m?e.port=parseInt(m[1],10):e.port=80,e.webname.includes("[")&&await Se();let u=e.webname.split("\n");const V=u==null?void 0:u.map(r=>r.split(":")[0]);u.shift(),e.webname=JSON.stringify({domain:e.webname.split("\n")[0],domainlist:u,count:u.length}),delete e.menuType,await h.value.validate();let n=F.load("正在添加站点,请稍后...");try{k.value=!0;const r=await Pe(e);n==null||n.close(),t.value.add_dns_record&&r.status&&(i.value.dns=V.filter(c=>c.length).map(c=>({domain:c,status:!1,msg:""})),i.value.title=r.status?"添加网站成功":r.msg),r.status&&O(),e.ftp||e.sql||i.value.dns.length?(i.value.ftpStatus=r.data.ftpStatus,i.value.databaseStatus=r.data.databaseStatus,i.value.siteStatus=r.data.siteStatus,i.value.site.name=!1,X({isAsync:!0,title:"网站添加结果",area:46,component:()=>Y(()=>import("./add-result.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:i.value})):F.msg({customClass:"bt-message-error-html",dangerouslyUseHTMLString:!0,message:r.status?"添加网站成功":r.msg,type:r.status?"success":"error",duration:r.status?3e3:0,showClose:!r.status}),H.value=!0}catch(r){}finally{n==null||n.close(),k.value=!1}},L=async()=>{var p;const o=await R.compData.getStatus();_.database=o.mysql,_.ftp=o.ftp,t.value.type_id=(p=q.value[0])==null?void 0:p.value,await Q();const e=B.value.sitePath;e&&(t.value.path=e,g=(e+"/").replace(/\/\//g,"/"))};return de(L),A({init:L,onConfirm:J}),(o,e)=>{const p=ee,m=ce,u=ve,V=Ve,n=_e,r=be,c=te,S=ae,I=we,z=ge;return v(),P("div",Fe,[s(I,{model:a(t),rules:a(Ie),disabled:a(k),ref_key:"addSiteFormRef",ref:h},{default:d(()=>[s(u,{label:"域名",prop:"webname"},{default:d(()=>[s(m,{ref:"popover",placement:"top-start","popper-class":"green-tips-popover !p-0",title:"",width:"400",visible:a(x),"onUpdate:visible":e[2]||(e[2]=l=>pe(x)?x.value=l:null),"trigger-keys":[],trigger:"focus"},{reference:d(()=>[ie(s(p,{class:"add_site_domain",onInput:G,modelValue:a(t).webname,"onUpdate:modelValue":e[0]||(e[0]=l=>a(t).webname=l),type:"textarea",width:"52rem",rows:7,resize:"none",onFocus:e[1]||(e[1]=l=>x.value=!0),placeholder:"如需填写多个域名,请换行填写,每行一个域名,默认为80端口\nIP地址格式:192.168.1.199\n泛解析添加方法 *.domain.com\n如另加端口格式为 www.domain.com:88\nipv6格式:[2001:db8:85a3::8a2e:370:7334]:88"},null,8,["modelValue"]),[[z,void 0,"popover"]])]),default:d(()=>[e[16]||(e[16]=f("div",{class:"!p-[12px] bg-primary text-white"},[w(" 如需填写多个域名,请换行填写,每行一个域名,默认为80端口 "),f("br"),w(" IP地址格式:192.168.1.199 "),f("br"),w(" 泛解析添加方法 *.domain.com "),f("br"),w(" 如另加端口格式为 www.domain.com:88 "),f("br"),w(" ipv6格式:[2001:db8:85a3::8a2e:370:7334]:88 ")],-1))]),_:1},8,["visible"])]),_:1}),s(u,{label:"备注"},{default:d(()=>[s(p,{modelValue:a(t).ps,"onUpdate:modelValue":e[3]||(e[3]=l=>a(t).ps=l),placeholder:"请输入备注,可为空",width:"52rem"},null,8,["modelValue"])]),_:1}),s(u,{label:"根目录",prop:"path"},{default:d(()=>[s(V,{modelValue:a(t).path,"onUpdate:modelValue":e[4]||(e[4]=l=>a(t).path=l),placeholder:"请输入根目录",icon:"el-folder-opened",width:"52rem",onIconClick:$},null,8,["modelValue"])]),_:1}),s(u,{label:"FTP"},{default:d(()=>[f("div",he,[s(r,{class:"!w-[15rem]",modelValue:a(t).ftp,"onUpdate:modelValue":e[5]||(e[5]=l=>a(t).ftp=l),disabled:!a(_).ftp},{default:d(()=>[s(n,{label:"不创建",value:!1}),s(n,{label:"创建",value:!0})]),_:1},8,["modelValue","disabled"]),a(_).ftp?y("",!0):(v(),P("span",{key:0,onClick:e[6]||(e[6]=l=>U("pureftpd")),class:"ml-[4px] text-danger cursor-pointer !text-small"},"未安装FTP,点击安装"))])]),_:1}),a(t).ftp?(v(),C(u,{key:0,label:"FTP账号"},{default:d(()=>[f("div",qe,[s(u,{prop:"ftp_username"},{default:d(()=>[s(p,{placeholder:"创建FTP账号",modelValue:a(t).ftp_username,"onUpdate:modelValue":e[7]||(e[7]=l=>a(t).ftp_username=l),width:"24rem"},null,8,["modelValue"])]),_:1}),s(u,{label:"密码",class:"!mt-0"},{default:d(()=>[s(p,{placeholder:"FTP密码",modelValue:a(t).ftp_password,"onUpdate:modelValue":e[8]||(e[8]=l=>a(t).ftp_password=l),width:"24rem"},null,8,["modelValue"])]),_:1})]),e[17]||(e[17]=f("span",{class:"text-tertiary text-small"},"创建站点的同时,为站点创建一个对应FTP帐户,并且FTP目录指向站点所在目录。",-1))]),_:1})):y("",!0),s(u,{label:"数据库"},{default:d(()=>[f("div",Ue,[s(r,{class:"!w-[15rem]",modelValue:a(t).sql,"onUpdate:modelValue":e[9]||(e[9]=l=>a(t).sql=l),disabled:!a(_).database},{default:d(()=>[s(n,{label:"不创建",value:!1}),s(n,{label:"MySQL",value:"MySQL"})]),_:1},8,["modelValue","disabled"]),a(_).database?y("",!0):(v(),P("span",{key:0,onClick:e[10]||(e[10]=l=>U("mysql")),class:"ml-[4px] text-danger cursor-pointer !text-small"},"未安装数据库,点击安装")),a(t).sql?(v(),C(r,{key:1,class:"ml-[8px] !w-[15rem]",modelValue:a(t).codeing,"onUpdate:modelValue":e[11]||(e[11]=l=>a(t).codeing=l)},{default:d(()=>[s(n,{label:"utf8mb4",value:"utf8mb4"}),s(n,{label:"utf8",value:"utf8"}),s(n,{label:"gbk",value:"gbk"}),s(n,{label:"big5",value:"big5"})]),_:1},8,["modelValue"])):y("",!0)])]),_:1}),a(t).sql?(v(),C(u,{key:1,label:"数据库账号"},{default:d(()=>[f("div",Te,[s(u,{prop:"datauser"},{default:d(()=>[s(p,{placeholder:"创建数据库账号",class:"w-[24rem]",modelValue:a(t).datauser,"onUpdate:modelValue":e[12]||(e[12]=l=>a(t).datauser=l)},null,8,["modelValue"])]),_:1}),s(u,{label:"密码",class:"!mt-0"},{default:d(()=>[s(p,{placeholder:"数据库密码",class:"w-[24rem]",modelValue:a(t).datapassword,"onUpdate:modelValue":e[13]||(e[13]=l=>a(t).datapassword=l)},null,8,["modelValue"])]),_:1})]),e[18]||(e[18]=f("span",{class:"text-tertiary text-small"},"创建站点的同时,为站点创建一个对应的数据库帐户,方便不同站点使用不同数据库。",-1))]),_:1})):y("",!0),s(u,{label:"PHP版本"},{default:d(()=>[s(r,{class:"!w-[15rem]",modelValue:a(t).version,"onUpdate:modelValue":e[14]||(e[14]=l=>a(t).version=l)},{default:d(()=>[(v(!0),P(me,null,fe(a(D),l=>(v(),C(n,{key:l.value,label:l.name,value:l.version},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(u,{label:"网站分类"},{default:d(()=>[s(c,{modelValue:a(t).type_id,"onUpdate:modelValue":e[15]||(e[15]=l=>a(t).type_id=l),options:a(q),class:"!w-[15rem]"},null,8,["modelValue","options"]),s(S,{class:"ml-[8px]",onClick:j},{default:d(()=>[...e[19]||(e[19]=[w("分类设置",-1)])]),_:1})]),_:1})]),_:1},8,["model","rules","disabled"])])}}}),Je=le(Le,[["__scopeId","data-v-79bca16a"]]);export{Je as default};
function __vite__mapDeps(indexes) {
  if (!__vite__mapDeps.viteFileDeps) {
    __vite__mapDeps.viteFileDeps = []
  }
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}