Viewing File: /usr/local/cpanel/base/frontend/jupiter/js2-min/ftp/list_ftp.js
var OPEN_MODULE;var PATH_POPUPS=[];var ADD_VALID=[];var CHANGE_PASS_VALID=[];var CHANGE_QUOTA_VALID=[];var FTP_UAPI_CALL={};var TABLE_REQUEST_ACTIVE=false;var LAST_SEARCH_TXT="";var PURE_ACCOUNTS_TABLE_COLUMNS=4;var PURE_SPECIAL_ACCOUNTS_TABLE_COLUMNS=5;var PRO_ACCOUNTS_TABLE_COLUMNS=3;var PRO_SPECIAL_ACCOUNTS_TABLE_COLUMNS=4;var FTP_CLIENTS=[{id:"coreftp",name:"CoreFTP",os:"Windows"},{id:"cyberduck",name:"Cyberduck",os:"Mac"}];var changePasswordTpl=Handlebars.compile(DOM.get("change-password-template").text.trim()),changeQuotaTpl=Handlebars.compile(DOM.get("change-quota-template").text.trim()),deleteAccountTpl=Handlebars.compile(DOM.get("delete-account-template").text.trim()),configureClientTpl=Handlebars.compile(DOM.get("configure-client-template").text.trim());var tbody_placeholder=document.createElement("div");var requiresInnerHTMLFix;var tableInnerHTMLTestElement=document.createElement("table");try{tableInnerHTMLTestElement.innerHTML="<tbody></tbody>"}catch(e){}finally{requiresInnerHTMLFix=tableInnerHTMLTestElement.childNodes.length===0}var insert_html_into_table=function(table_id,html){var tbody=document.getElementById(table_id);if(requiresInnerHTMLFix){var table=tbody.parentNode;tbody_placeholder.innerHTML='<table><tbody id="'+table_id+'">'+html+"</tbody></table>";table.replaceChild(tbody_placeholder.firstChild.firstChild,table.tBodies[0])}else{tbody.innerHTML=html}};var generate_table_message=function(table_id,type,message,number_of_cols){var html='<tr class="'+type+' empty-row">'+'<td colspan="'+number_of_cols+'">'+message+"</td>"+"</tr>";insert_html_into_table(table_id,html)};var init_add_validation=function(){var DOM=YAHOO.util.Dom;var domain_el=DOM.get("domain");ADD_VALID["login"]=new CPANEL.validate.validator(LANG.ftp_login);ADD_VALID["login"].add("login","min_length(%input%, 1)",LOCALE.maketext("You must enter an [output,acronym,FTP,File Transfer Protocol] username."),null,{unique_id:"username_min_length"});ADD_VALID["login"].add("login","max_length(%input%, 64)",LOCALE.maketext("The [output,acronym,FTP,File Transfer Protocol] username cannot exceed [numf,_1] characters.",64),null,{unique_id:"username_max_length"});ADD_VALID["login"].add("login",(function(login_el){var username=login_el.value+"@"+domain_el.value;return CPANEL.validate.max_length(username,254)}),LOCALE.maketext("The full [output,acronym,FTP,File Transfer Protocol] username with its associated domain cannot exceed [numf,_1] characters.",254),null,{unique_id:"username_full_length"});ADD_VALID["login"].add("login","ftp_username",LOCALE.maketext("You can only enter letters [asis,(a-z)], numbers [asis,(0-9)], periods, hyphens [asis,(-)], and underscores [asis,(_)]."),null,{unique_id:"username_valid"});ADD_VALID["login"].add("login","no_unsafe_periods",LOCALE.maketext("The [output,acronym,FTP,File Transfer Protocol] username cannot start with a period, end with a period, or include two consecutive periods."),null,{unique_id:"username_safe_periods"});ADD_VALID["login"].attach();ADD_VALID["domain"]=new CPANEL.validate.validator(LANG.ftp_domain);ADD_VALID["domain"].add("domain",(function(){ADD_VALID["login"].clear_messages();ADD_VALID["login"].verify();return true}),"");ADD_VALID["domain"].attach();var password_validators=CPANEL.password.setup("password","password2","password_strength",REQUIRED_PASSWORD_STRENGTH,"create_strong_password","why_strong_passwords_link","why_strong_passwords_text");ADD_VALID["pass1"]=password_validators[0];ADD_VALID["pass2"]=password_validators[1];ADD_VALID["dir"]=new CPANEL.validate.validator(LANG.directory_path);ADD_VALID["dir"].add("homedir","dir_path",LANG.validation_directory_paths);ADD_VALID["dir"].attach();if(SERVER_TYPE!=="PRO"){ADD_VALID["quota_number"]=new CPANEL.validate.validator(LANG.quota);ADD_VALID["quota_number"].add("quota_value","positive_integer",LANG.email_quota_number,"quota_number");ADD_VALID["quota_number"].attach();ADD_VALID["quota_unlimited"]=new CPANEL.validate.validator(LANG.quota);ADD_VALID["quota_unlimited"].add("quota_unlimited","anything","","quota_unlimited");ADD_VALID["quota_unlimited"].attach()}CPANEL.validate.attach_to_form("ftp_create_submit",ADD_VALID,add_ftp_account);CPANEL.util.catch_enter(["login","domain","password","password2","homedir","quota_value"],"ftp_create_submit");try{DOM.get("login").focus()}catch(e){}};var suggest_homedir=function(public_html_only){if(public_html_only!=0){DOM.get("homedir").value="public_html/"+DOM.get("domain").value+"/"+DOM.get("login").value}else{DOM.get("homedir").value=DOM.get("domain").value+"/"+DOM.get("login").value}ADD_VALID["dir"].verify()};var toggle_add_account_quota=function(select_number){if(select_number==true){YAHOO.util.Dom.get("quota_number").checked=true}if(YAHOO.util.Dom.get("quota_number").checked==true){YAHOO.util.Dom.removeClass("quota_value","dim-text");ADD_VALID["quota_number"].verify();ADD_VALID["quota_unlimited"].clear_messages()}else{YAHOO.util.Dom.addClass("quota_value","dim-text");ADD_VALID["quota_number"].clear_messages();ADD_VALID["quota_unlimited"].verify()}};var load_accounts_table=function(){var columns=SERVER_TYPE==="PURE"?PURE_ACCOUNTS_TABLE_COLUMNS:PRO_ACCOUNTS_TABLE_COLUMNS;var callback={success:function(o){var result={};try{result=YAHOO.lang.JSON.parse(o.responseText)}catch(e){generate_table_message("accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("JSON parse failed."),columns)}if(result.status){build_accounts_table(result)}else{generate_table_message("accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("Unknown Error"),columns)}TABLE_REQUEST_ACTIVE=false},failure:function(o){generate_table_message("accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("AJAX Error")+": "+LOCALE.maketext("Please refresh the page and try again."),columns);TABLE_REQUEST_ACTIVE=false}};TABLE_REQUEST_ACTIVE=true;var url=CPANEL.urls.uapi("Ftp","list_ftp_with_disk",FTP_UAPI_CALL);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");close_all_path_popups();generate_table_message("accounts_div","info",CPANEL.icons.ajax+" "+LOCALE.maketext("Loading …"),columns)};var load_special_accounts_table=function(){var columns=SERVER_TYPE==="PURE"?PURE_SPECIAL_ACCOUNTS_TABLE_COLUMNS:PRO_SPECIAL_ACCOUNTS_TABLE_COLUMNS;var args={include_acct_types:"anonymous|logaccess|main","api.sort_column":"serverlogin","api.sort_method":"alphabet","api.sort_reverse":0};var callback={success:function(o){try{var result=YAHOO.lang.JSON.parse(o.responseText);if(result.status){build_special_accounts_table(result)}else{generate_table_message("special_accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("Unknown Error"),columns)}}catch(e){generate_table_message("special_accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("JSON parse failed."),columns)}},failure:function(o){generate_table_message("special_accounts_div","danger",CPANEL.icons.error+" "+LOCALE.maketext("AJAX Error")+": "+LOCALE.maketext("Please refresh the page and try again."),columns)}};var url=CPANEL.urls.uapi("Ftp","list_ftp_with_disk",args);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");generate_table_message("special_accounts_div","info",CPANEL.icons.ajax+" "+LOCALE.maketext("Loading …"),columns)};var build_accounts_table=function(result){var html="";var row="";var i=0;var columns=SERVER_TYPE==="PURE"?PURE_ACCOUNTS_TABLE_COLUMNS:PRO_ACCOUNTS_TABLE_COLUMNS;var accounts=result.data;var accounts_length=accounts.length;if(accounts_length===0){generate_table_message("accounts_div","info",LANG.no_accounts_found,columns);return}for(i=0;i<accounts_length;i++){var zebra=i%2?"row-even":"row-odd";if(accounts[i].diskquota==0||accounts[i].diskquota=="unlimited"){accounts[i].diskquota=0;accounts[i].humandiskquota="∞"}else{accounts[i].diskquota=parseInt(accounts[i].diskquota,10);accounts[i].humandiskquota=accounts[i].diskquota}accounts[i].diskused=parseInt(accounts[i].diskused,10);var login=accounts[i].login,urlLogin=encodeURIComponent(login),dns=encodeURIComponent(DNS),tplArgs={index:i,login:login,home:accounts[i].dir},configureClientArgs={index:i,login:accounts[i].serverlogin,server:FTP_SERVER,port:FTP_PORT,token:CPANEL.security_token,urlLogin:urlLogin,dns:dns,clients:FTP_CLIENTS,params:urlLogin+"|ftp."+dns+"|"+urlLogin};if(SERVER_TYPE==="PURE"){row='<tr class="'+zebra+'" id="account_row_[% i %]">';row+='<td class="col1" data-title="'+LOCALE.maketext("Log In")+'">[% serverlogin %]<input type="hidden" id="login_[% i %]" value="[% login %]" /></td>';row+='<td class="col2" data-title="'+LOCALE.maketext("Path")+'">[% path %]</td>';row+='<td class="col3" data-title="'+LOCALE.maketext("Usage")+" / "+LOCALE.maketext("Quota")+'">[% diskused %] / <span id="humandiskquota_[% i %]">[% humandiskquota %]</span> <span class="megabyte_font">MB</span><input type="hidden" id="diskused_[% i %]" value="[% diskused %]" /><input type="hidden" id="diskquota_[% i %]" value="[% diskquota %]" /><br /><div style="height: 3px"></div><div id="usage_bar_[% i %]" class="table_progress_bar"></div></td>';row+='<td data-title="'+LOCALE.maketext("Actions")+'">';row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'changepassword_module_[% i %]\')">'+'<span class="fas fa-key"></span> '+LANG.change_br_password+"</button>";row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'changequota_module_[% i %]\')">'+'<span class="glyphicon glyphicon-pencil"></span> '+LANG.change_br_quota+"</button>";row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'delete_module_[% i %]\')">'+'<span class="glyphicon glyphicon-trash"></span> '+LANG.Delete+"</button>";row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>";row+="</td>";row+="</tr>";row+='<tr class="action-row"><td class="editFormRow" colspan="'+columns+'">';row+=changePasswordTpl(tplArgs);row+=changeQuotaTpl(tplArgs);row+=deleteAccountTpl(tplArgs);row+=configureClientTpl(configureClientArgs);row+='<div id="status_bar_[% i %]" class="cjt_status_bar"></div>';row+="</td></tr>"}else{row='<tr class="'+zebra+'" id="account_row_[% i %]">';row+='<td class="pro_col1" data-title="'+LOCALE.maketext("Log In")+'">[% serverlogin %]<input type="hidden" id="login_[% i %]" value="[% login %]" /></td>';row+='<td class="pro_col2" data-title="'+LOCALE.maketext("Path")+'">[% path %]</td>';row+='<td data-title="'+LOCALE.maketext("Actions")+'">';row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'changepassword_module_[% i %]\')">'+'<span class="fas fa-key"></span> '+LANG.change_br_password+"</button>";row+='<button type="button" span class="btn btn-link" onclick="toggle_module(\'delete_module_[% i %]\')">'+'<span class="glyphicon glyphicon-trash"></span> '+LANG.Delete+"</button>";row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>";row+="</td>";row+="</tr>";row+='<tr class="action-row"><td class="editFormRow" colspan="'+columns+'">';row+=changePasswordTpl(tplArgs);row+=deleteAccountTpl(tplArgs);row+=configureClientTpl(configureClientArgs);row+='<div id="status_bar_[% i %]" class="cjt_status_bar"></div>';row+="</td></tr>"}row=row.replace(/\[% i %\]/g,i);row=row.replace(/\[% login %\]/g,accounts[i].login);row=row.replace(/\[% serverlogin %\]/g,accounts[i].serverlogin);row=row.replace(/\[% path %\]/g,format_path(accounts[i].dir));row=row.replace(/\[% special_path %\]/g,format_path(accounts[i].dir,"delete_account2_"+i,i));row=row.replace(/\[% diskused %\]/g,accounts[i].diskused);row=row.replace(/\[% humandiskquota %\]/g,accounts[i].humandiskquota);row=row.replace(/\[% diskquota %\]/g,accounts[i].diskquota);row=row.replace(/\[% url.acct %\]/g,encodeURIComponent(accounts[i].login));row=row.replace(/\[% url.accttype %\]/g,encodeURIComponent(accounts[i].accttype));row=row.replace(/\[% ftp_port %\]/g,FTP_PORT);row=row.replace(/\[% sftp_port %\]/g,SFTP_PORT);row=row.replace(/\[% ftp_server %\]/g,FTP_SERVER);row=row.replace(/\[% url.dns %\]/g,encodeURIComponent(DNS));html+=row}insert_html_into_table("accounts_div",html);YAHOO.util.Dom.get("pagination").innerHTML=add_pagination(result.metadata.paginate);if(SERVER_TYPE==="PURE"){for(i=0;i<accounts_length;i++){show_usage_bar("usage_bar_"+i,accounts[i].diskused,accounts[i].diskquota)}}};var add_pagination=function(paginate){for(var i in paginate){if(paginate.hasOwnProperty(i)){paginate[i]=parseInt(paginate[i])}}if(paginate.total_pages==1){return""}var ellipsis1=0;var ellipsis2=0;var html='<div id="pagination_pages">';for(var i=1;i<=paginate.total_pages;i++){if(i==paginate.current_page){html+=' <span class="paginate_current_page">'+i+"</span> "}else if(i==1||i==paginate.total_pages){html+=' <span onclick="change_page('+i+')" class="paginate_page">'+i+"</span> "}else if(i<paginate.current_page-2){if(ellipsis1==0){html+="...";ellipsis1=1}}else if(i>paginate.current_page+2){if(ellipsis2==0){html+="...";ellipsis2=1}}else{html+=' <span onclick="change_page('+i+')" class="paginate_page">'+i+"</span> "}}html+="</div>";html+='<div id="pagination_links">';if(paginate.current_page!=1){var prev_page=paginate.current_page-1;html+='<span onclick="change_page('+prev_page+')" class="paginate_prev">← '+LANG.paginate_prev+"</span> "}if(paginate.current_page!=paginate.total_pages){var next_page=paginate.current_page+1;html+=' <span onclick="change_page('+next_page+')" class="paginate_next">'+LANG.paginate_next+" →</span>"}html+="</div>";return html};var build_special_accounts_table=function(result){var special_panels1=[];var special_panels2=[];YAHOO.util.Dom.get("list_of_anonymous_account_ids").value="";var html="";var row="";var i=0;var columns=SERVER_TYPE==="PURE"?PURE_SPECIAL_ACCOUNTS_TABLE_COLUMNS:PRO_SPECIAL_ACCOUNTS_TABLE_COLUMNS;var accounts=result.data;for(i=0;i<accounts.length;i++){var zebra=i%2?"row-even":"row-odd";if(accounts[i].diskquota==0||accounts[i].diskquota=="unlimited"){accounts[i].diskquota=0;accounts[i].humandiskquota="∞"}else{accounts[i].diskquota=parseInt(accounts[i].diskquota,10);accounts[i].humandiskquota=accounts[i].diskquota}accounts[i].diskused=parseInt(accounts[i].diskused,10);var is_system_account=accounts[i].serverlogin===CPANEL_USER;var special_main_description=YAHOO.util.Dom.get("special_main_description").innerHTML.trim();var special_anon_description=YAHOO.util.Dom.get("special_anon_description").innerHTML.trim();var special_log_description=YAHOO.util.Dom.get("special_log_description").innerHTML.trim();var login=accounts[i].login,urlLogin=encodeURIComponent(login),dns=encodeURIComponent(DNS),tplArgs={index:"special"+i,isSpecial:true,login:login},configureClientArgs={isSystem:accounts[i].accttype==="main",index:"special"+i,login:accounts[i].serverlogin,server:FTP_SERVER,port:FTP_PORT,token:CPANEL.security_token,urlLogin:urlLogin,dns:dns,clients:FTP_CLIENTS,params:urlLogin+"|ftp."+dns+"|"+urlLogin};if(SERVER_TYPE==="PURE"){row='<tr class="'+zebra+'">';if(accounts[i].accttype==="main"){row+='<td class="special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-user" aria-hidden="true" id="special_image_[% i %]" title="'+special_main_description+'"></i></td>'}if(accounts[i].accttype==="anonymous"){row+='<td class="special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-user-secret" aria-hidden="true" id="special_image_[% i %]" title="'+special_anon_description+'"></i></td>';YAHOO.util.Dom.get("list_of_anonymous_account_ids").value+="special"+i+"|"}if(accounts[i].accttype==="logaccess"){row+='<td class="special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-file" aria-hidden="true" id="special_image_[% i %]" title="'+special_log_description+'"></i></td>'}row+='<td class="special_col2" data-title="'+LOCALE.maketext("Log In")+'">[% serverlogin %]<input type="hidden" id="login_[% i %]" value="[% login %]" /></td>';row+='<td class="special_col3" data-title="'+LOCALE.maketext("Path")+'">[% path %]</td>';row+='<td class="special_col4" data-title="'+LOCALE.maketext("Usage")+" / "+LOCALE.maketext("Quota")+'">[% diskused %] / <span id="humandiskquota_[% i %]">[% humandiskquota %]</span> <span class="megabyte_font">MB</span><input type="hidden" id="diskused_[% i %]" value="[% diskused %]" /><input type="hidden" id="diskquota_[% i %]" value="[% diskquota %]" /><br /><div style="height: 3px"></div><div id="usage_bar_[% i %]" class="table_progress_bar"></div></td>';row+='<td data-title="'+LOCALE.maketext("Actions")+'">';if(accounts[i].accttype==="main"){row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>"}if(accounts[i].accttype==="anonymous"){row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'changequota_module_[% i %]\')">'+'<span class="glyphicon glyphicon-pencil"></span> '+LANG.change_br_quota+"</button>";row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>"}if(accounts[i].accttype==="logaccess"){row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>"}row+="</td>";row+="</tr>";row+='<tr class="action-row"><td class="editFormRow" colspan="'+columns+'">';row+=changeQuotaTpl(tplArgs);row+=configureClientTpl(configureClientArgs);row+='<div id="status_bar_[% i %]" class="cjt_status_bar"></div>';row+="</td></tr>"}else{row='<tr class="'+zebra+'">';if(accounts[i].accttype==="main"){row+='<td class="pro_special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-user" aria-hidden="true" id="special_image_[% i %]" title="'+special_main_description+'"></i></td>'}if(accounts[i].accttype==="anonymous"){row+='<td class="pro_special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-user-secret" aria-hidden="true" id="special_image_[% i %]" title="'+special_anon_description+'"></i></td>'}if(accounts[i].accttype==="logaccess"){row+='<td class="pro_special_col1" data-title="'+LOCALE.maketext("Type")+'"><i class="fas fa-file" aria-hidden="true" id="special_image_[% i %]" title="'+special_log_description+'"></i></td>'}row+='<td class="pro_special_col2" data-title="'+LOCALE.maketext("Log In")+'">[% serverlogin %]<input type="hidden" id="login_[% i %]" value="[% login %]" /></td>';row+='<td class="pro_special_col3" data-title="'+LOCALE.maketext("Path")+'">[% path %]</td>';row+='<td data-title="'+LOCALE.maketext("Actions")+'">';row+='<button type="button" class="btn btn-link" onclick="toggle_module(\'config_module_[% i %]\')">'+'<span class="fas fa-cog"></span> '+LANG.configure_ftp_client+"</button>";row+="</td>";row+="</tr>";row+='<tr class="action-row"><td class="editFormRow" colspan="'+columns+'">';row+=changePasswordTpl(tplArgs);row+=configureClientTpl(configureClientArgs);row+='<div id="status_bar_[% i %]" class="cjt_status_bar"></div>';row+="</td></tr>"}row=row.replace(/\[% i %\]/g,"special"+i);row=row.replace(/\[% type %\]/g,accounts[i].accttype);row=row.replace(/\[% login %\]/g,accounts[i].login);row=row.replace(/\[% serverlogin %\]/g,accounts[i].serverlogin);row=row.replace(/\[% path %\]/g,format_path(accounts[i].dir));row=row.replace(/\[% diskused %\]/g,accounts[i].diskused);row=row.replace(/\[% humandiskquota %\]/g,accounts[i].humandiskquota);row=row.replace(/\[% diskquota %\]/g,accounts[i].diskquota);row=row.replace(/\[% url.acct %\]/g,encodeURIComponent(accounts[i].login));row=row.replace(/\[% url.accttype %\]/g,encodeURIComponent(accounts[i].accttype));row=row.replace(/\[% ftp_port %\]/g,FTP_PORT);row=row.replace(/\[% sftp_port %\]/g,SFTP_PORT);row=row.replace(/\[% ftp_server %\]/g,FTP_SERVER);row=row.replace(/\[% url.dns %\]/g,encodeURIComponent(DNS));html+=row}insert_html_into_table("special_accounts_div",html);if(special_panels1.length>0){for(i=0;i<special_panels2.length;i++){CPANEL.panels.create_help(special_panels1[i],special_panels2[i])}}if(SERVER_TYPE==="PURE"){for(i=0;i<accounts.length;i++){show_usage_bar("usage_bar_special"+i,accounts[i].diskused,accounts[i].diskquota)}}};var toggle_delete_home_message=function(index){var checkbox=document.getElementById("delete_account_files_"+index);var msg=document.getElementById("delete_home_dir_module_"+index);if(checkbox.checked){msg.style.display="block"}else{msg.style.display="none"}};var toggle_module=function(id){if(OPEN_MODULE!==id&&YAHOO.util.Dom.getStyle(OPEN_MODULE,"display")=="block"){var currently_open_div=OPEN_MODULE;before_hide_module(currently_open_div);CPANEL.animate.slide_up(currently_open_div,(function(){after_hide_module(currently_open_div)}))}if(YAHOO.util.Dom.getStyle(id,"display")!="none"){before_hide_module(id);CPANEL.animate.slide_up(id,(function(){after_hide_module(id)}))}else{before_show_module(id);CPANEL.animate.slide_down(id,(function(){after_show_module(id)}));OPEN_MODULE=id}};var before_show_module=function(id){var temp=id.split("_");var action=temp[0];var index=temp[2];if(action=="changepassword"){CHANGE_PASS_VALID=CPANEL.password.setup("change_password_1_"+index,"change_password_2_"+index,"password_strength_"+index,REQUIRED_PASSWORD_STRENGTH,"password_generator_"+index);CPANEL.validate.attach_to_form("change_password_"+index,CHANGE_PASS_VALID,(function(){change_password(index)}))}if(action=="changequota"){CHANGE_QUOTA_VALID["number"]=new CPANEL.validate.validator(LANG.quota);CHANGE_QUOTA_VALID["number"].add("change_quota_number_input_"+index,"positive_integer",LANG.quota_positive_integer,"change_quota_radio_number_"+index);CHANGE_QUOTA_VALID["number"].attach();CHANGE_QUOTA_VALID["unlimited"]=new CPANEL.validate.validator(LANG.quota);CHANGE_QUOTA_VALID["unlimited"].add("change_quota_radio_unlimited_"+index,"anything","","change_quota_radio_unlimited_"+index);CHANGE_QUOTA_VALID["unlimited"].attach();CPANEL.validate.attach_to_form("change_quota_button_"+index,CHANGE_QUOTA_VALID,(function(){change_quota(index)}));var quota=parseInt(YAHOO.util.Dom.get("diskquota_"+index).value,10);if(CPANEL.validate.integer(quota)==true&"a!=0){YAHOO.util.Dom.get("change_quota_number_input_"+index).value=quota;toggle_quota_input("number",index)}else{YAHOO.util.Dom.get("change_quota_number_input_"+index).value=2e3;toggle_quota_input("unlimited",index)}}};var before_hide_module=function(id){var temp=id.split("_");var action=temp[0];var index=temp[2];if(action=="changepassword"){CHANGE_PASS_VALID[0].clear_messages();CHANGE_PASS_VALID[1].clear_messages();YAHOO.util.Event.purgeElement("changepassword_module_"+index,true)}if(action=="changequota"){CHANGE_QUOTA_VALID["number"].clear_messages();CHANGE_QUOTA_VALID["unlimited"].clear_messages();YAHOO.util.Event.purgeElement("changequota_module_"+index,true)}};var after_show_module=function(id){var temp=id.split("_");var action=temp[0];var index=temp[2];if(action=="changepassword"){YAHOO.util.Dom.get("change_password_1_"+index).focus();CPANEL.util.catch_enter(["change_password_1_"+index,"change_password_2_"+index],"change_password_"+index)}if(action=="changequota"){CPANEL.util.catch_enter("change_quota_number_input_"+index,"change_quota_button_"+index)}CPANEL.align_panels_event.fire()};var after_hide_module=function(id){var temp=id.split("_");var action=temp[0];var index=temp[2];if(action=="changepassword"){YAHOO.util.Dom.get("change_password_1_"+index).value="";YAHOO.util.Dom.get("change_password_2_"+index).value=""}CPANEL.align_panels_event.fire()};var toggle_quota_input=function(mode,index,validate_and_focus){if(mode=="number"){YAHOO.util.Dom.get("change_quota_radio_number_"+index).checked=true;YAHOO.util.Dom.get("change_quota_radio_unlimited_"+index).checked=false;YAHOO.util.Dom.removeClass("change_quota_number_input_"+index,"dim-text");if(validate_and_focus){YAHOO.util.Dom.get("change_quota_number_input_"+index).focus();CHANGE_QUOTA_VALID["number"].verify();CHANGE_QUOTA_VALID["unlimited"].clear_messages()}}else{YAHOO.util.Dom.get("change_quota_radio_number_"+index).checked=false;YAHOO.util.Dom.get("change_quota_radio_unlimited_"+index).checked=true;YAHOO.util.Dom.addClass("change_quota_number_input_"+index,"dim-text");if(validate_and_focus){CHANGE_QUOTA_VALID["number"].clear_messages();CHANGE_QUOTA_VALID["unlimited"].verify()}}};var format_path=function(path,hide_element,i){var uid=YAHOO.util.Dom.generateId();var path2;if(path.length>24){if(hide_element){path2=path.slice(0,12).html_encode()+'<span class="action_link" id="'+uid+'" style="text-decoration: underline" onclick="toggle_path_popup(\''+uid+"', '"+hide_element+"')\">...</span>"+path.slice(path.length-12).html_encode();path2+='<input type="hidden" id="delete_module_path_popup_uid_'+i+'" value="'+uid+'" />'}else{path2=path.slice(0,12).html_encode()+'<span class="action_link" id="'+uid+'" style="text-decoration: underline" onclick="toggle_path_popup(\''+uid+"')\">...</span>"+path.slice(path.length-12).html_encode()}path2+='<input type="hidden" id="'+uid+'_path" value="'+path.html_encode()+'" />'}else{if(hide_element){path2=path.html_encode()+"<input type='hidden' id='delete_module_path_popup_uid_"+i+"' value='"+uid+"' />"}else{path2=path.html_encode()}}return path2};var toggle_path_popup=function(id,hide_element){var path=YAHOO.util.Dom.get(id+"_path").value;if(!PATH_POPUPS[id]){var proxy_span=YAHOO.util.Dom.get("get_path_width");proxy_span.innerHTML=path.html_encode();var region=YAHOO.util.Region.getRegion(proxy_span);proxy_span.innerHTML="";var path_width=region.width;if(YAHOO.env.ua.webkit>=1){path_width+=12}if(YAHOO.env.ua.gecko>=1){path_width+=15}var options={context:[id,"tl","br",["beforeShow","windowResize",CPANEL.align_panels_event]],effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:.25},visible:false};PATH_POPUPS[id]=new YAHOO.widget.Overlay(id+"_overlay",options);var html='<span class="action_link" onclick="toggle_path_popup(\''+id+'\')"> x </span><input readonly type="text" style="width: '+path_width+'px" value="'+path.html_encode()+'" onclick="this.select()" id="'+id+'_input" />';PATH_POPUPS[id].setBody(html);PATH_POPUPS[id].render(document.body);PATH_POPUPS[id].showEvent.subscribe((function(){YAHOO.util.Dom.get(id+"_input").select()}));if(hide_element){PATH_POPUPS[id].beforeShowEvent.subscribe((function(){YAHOO.util.Dom.get(hide_element).disabled=true}));PATH_POPUPS[id].hideEvent.subscribe((function(){YAHOO.util.Dom.get(hide_element).disabled=false}))}YAHOO.util.Dom.addClass(id+"_overlay","path_popup")}if(PATH_POPUPS[id].cfg.getProperty("visible")==true){PATH_POPUPS[id].hide()}else{PATH_POPUPS[id].show()}};var close_all_path_popups=function(){for(var i in PATH_POPUPS){if(PATH_POPUPS.hasOwnProperty(i)){PATH_POPUPS[i].hide()}}};var clear_add_account_input=function(){YAHOO.util.Dom.get("login").value="";YAHOO.util.Dom.get("password").value="";YAHOO.util.Dom.get("password2").value="";YAHOO.util.Dom.get("homedir").value="";if(SERVER_TYPE=="PURE"){YAHOO.util.Dom.get("quota_value").value=2e3;YAHOO.util.Dom.get("quota_unlimited").checked=true;toggle_add_account_quota()}CPANEL.password.show_strength_bar("password_strength",0);for(var i in ADD_VALID){if(ADD_VALID.hasOwnProperty(i)){ADD_VALID[i].clear_messages()}}};var add_ftp_account=function(){var DOM=YAHOO.util.Dom;var user=DOM.get("login").value;var domain=DOM.get("domain").value;var args={user:user,domain:domain,pass:DOM.get("password").value,homedir:DOM.get("homedir").value,disallowdot:0};if(SERVER_TYPE!="PRO"){DOM.get("quota_number").checked==true?args.quota=parseInt(DOM.get("quota_value").value,10):args.quota=0}var reset_input=function(){DOM.setStyle("ftp_create_submit","display","");DOM.get("add_ftp_status").innerHTML=""};var callback={success:function(o){try{var result=YAHOO.lang.JSON.parse(o.responseText)}catch(e){CPANEL.widgets.status_bar("add_ftp_status_bar","error",LOCALE.maketext("Error"),LOCALE.maketext("JSON parse failed."));reset_input();return}if(result.status=="1"){CPANEL.widgets.status_bar("add_ftp_status_bar","success",LANG.Account_Created,user);clear_add_account_input();load_accounts_table()}else if(result.status=="0"){CPANEL.widgets.status_bar("add_ftp_status_bar","error",LOCALE.maketext("Error"),result.errors[0])}else{CPANEL.widgets.status_bar("add_ftp_status_bar","error",LOCALE.maketext("Error"),LOCALE.maketext("Unknown Error"))}reset_input()},failure:function(o){CPANEL.widgets.status_bar("add_ftp_status_bar","error",LOCALE.maketext("AJAX Error"),LOCALE.maketext("Please refresh the page and try again."));reset_input()}};var url=CPANEL.urls.uapi("Ftp","add_ftp",args);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");DOM.setStyle("ftp_create_submit","display","none");DOM.get("add_ftp_status").innerHTML=CPANEL.icons.ajax+" "+LANG.creating_account};var change_password=function(id){var args={user:YAHOO.util.Dom.get("login_"+id).value,pass:YAHOO.util.Dom.get("change_password_1_"+id).value};var reset_input=function(){YAHOO.util.Dom.setStyle("change_password_input_"+id,"display","block");YAHOO.util.Dom.get("change_password_status_"+id).innerHTML=""};var callback={success:function(o){try{var result=YAHOO.lang.JSON.parse(o.responseText)}catch(e){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("JSON parse failed."));reset_input();return}if(result.status=="1"){CPANEL.widgets.status_bar("status_bar_"+id,"success",LANG.Changed_Password);toggle_module("changepassword_module_"+id)}else if(result.status=="0"){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),result.errors[0])}else{CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("Unknown Error"))}reset_input()},failure:function(o){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("AJAX Error"),LOCALE.maketext("Please refresh the page and try again."));reset_input()}};var url=CPANEL.urls.uapi("Ftp","passwd",args);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");YAHOO.util.Dom.setStyle("change_password_input_"+id,"display","none");YAHOO.util.Dom.get("change_password_status_"+id).innerHTML=CPANEL.icons.ajax+" "+LANG.changing_password};var change_quota=function(id){var quota,quota_text,quota_status;if(YAHOO.util.Dom.get("change_quota_radio_number_"+id).checked==true){quota=parseInt(YAHOO.util.Dom.get("change_quota_number_input_"+id).value,10);quota_text=quota;quota_status=quota+' <span class="megabyte_font">MB</span>'}else{quota=0;quota_text="∞";quota_status=LANG.unlimited}var args={user:YAHOO.util.Dom.get("login_"+id).value,quota:quota};var reset_input=function(){YAHOO.util.Dom.setStyle("change_quota_input_"+id,"display","block");YAHOO.util.Dom.get("change_quota_status_"+id).innerHTML=""};var callback={success:function(o){try{var result=YAHOO.lang.JSON.parse(o.responseText)}catch(e){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("JSON parse failed."));reset_input();return}if(result.status=="1"){CPANEL.widgets.status_bar("status_bar_"+id,"success",LANG.Changed_Quota,quota_status);toggle_module("changequota_module_"+id);if(id.search(/special/)!=-1){var special_ids=YAHOO.util.Dom.get("list_of_anonymous_account_ids").value;special_ids=special_ids.split("|");for(var i=0;i<special_ids.length;i++){if(special_ids[i]!=""){YAHOO.util.Dom.get("humandiskquota_"+special_ids[i]).innerHTML=quota_text;YAHOO.util.Dom.get("diskquota_"+special_ids[i]).value=quota;show_usage_bar("usage_bar_"+special_ids[i],YAHOO.util.Dom.get("diskused_"+special_ids[i]).value,quota)}}}else{YAHOO.util.Dom.get("humandiskquota_"+id).innerHTML=quota_text;YAHOO.util.Dom.get("diskquota_"+id).value=quota;show_usage_bar("usage_bar_"+id,YAHOO.util.Dom.get("diskused_"+id).value,quota)}}else if(result.status=="0"){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),result.errors[0])}else{CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("Unknown Error"))}reset_input()},failure:function(o){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("AJAX Error"),LOCALE.maketext("Please refresh the page and try again."));reset_input()}};var url=CPANEL.urls.uapi("Ftp","set_quota",args);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");YAHOO.util.Dom.setStyle("change_quota_input_"+id,"display","none");YAHOO.util.Dom.get("change_quota_status_"+id).innerHTML=CPANEL.icons.ajax+" "+LANG.changing_quota};var show_usage_bar=function(id,usage,quota){var percent=100*(usage/quota);if(quota==0){percent=0}CPANEL.widgets.progress_bar(id,percent,"",{inverse_colors:true})};var delete_account=function(id){var destroy=DOM.get("delete_account_files_"+id).checked,args={user:DOM.get("login_"+id).value};if(destroy){args.destroy="1"}var setLoading=function(loading){DOM.get("cancel_delete_"+id).disabled=loading;DOM.get("delete_account_"+id).disabled=loading;DOM.get("delete_account_status_"+id).innerHTML=loading?CPANEL.icons.ajax+" "+LANG.deleting_account:""};var callback={success:function(o){try{var result=YAHOO.lang.JSON.parse(o.responseText)}catch(e){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("JSON parse failed."));reset_input();return}if(result.status=="0"){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),result.errors[0])}else if(result.status=="1"){CPANEL.animate.fade_out("delete_module_"+id);CPANEL.animate.fade_out("account_row_"+id,(function(){if(FTP_ACCOUNTS_MAXED==true){FTP_ACCOUNTS_MAXED=false;YAHOO.util.Dom.setStyle("new_ftp_account_input_div","display","");YAHOO.util.Dom.setStyle("max_ftp_accounts_alert_box","display","none")}}))}else{CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("Error"),LOCALE.maketext("Unknown Error"))}setLoading(false)},failure:function(o){CPANEL.widgets.status_bar("status_bar_"+id,"error",LOCALE.maketext("AJAX Error"),LOCALE.maketext("Please refresh the page and try again."));setLoading(false)}};var url=CPANEL.urls.uapi("Ftp","delete_ftp",args);YAHOO.util.Connect.asyncRequest("GET",url,callback,"");setLoading(true)};var search_accounts=function(){if(TABLE_REQUEST_ACTIVE){return}var search_term=YAHOO.util.Dom.get("search_input").value;if(search_term==LAST_SEARCH_TXT){return}LAST_SEARCH_TXT=search_term;FTP_UAPI_CALL["api.filter_type"]="contains";FTP_UAPI_CALL["api.filter_column"]="serverlogin";FTP_UAPI_CALL["api.filter_term"]=search_term;reset_pagination();load_accounts_table();search_term==""?YAHOO.util.Dom.setStyle("clear_search","display","none"):YAHOO.util.Dom.setStyle("clear_search","display","")};var clear_search=function(){YAHOO.util.Dom.get("search_input").value="";search_accounts()};var change_items_per_page=function(){if(TABLE_REQUEST_ACTIVE==false){reset_pagination();FTP_UAPI_CALL["api.paginate_size"]=YAHOO.util.Dom.get("items_per_page").value;load_accounts_table()}};var change_page=function(page){if(TABLE_REQUEST_ACTIVE==false){FTP_UAPI_CALL["api.paginate_start"]=(page-1)*FTP_UAPI_CALL["api.paginate_size"]+1;load_accounts_table()}};var reset_pagination=function(){FTP_UAPI_CALL["api.paginate_start"]=1;YAHOO.util.Dom.get("pagination").innerHTML=""};var toggle_sort=function(column){if(TABLE_REQUEST_ACTIVE){return true}var prefix=SERVER_TYPE==="PURE"?"pure_":"pro_";var sort_columns=[prefix+"sort_direction_serverlogin_img",prefix+"sort_direction_dir_img"];if(SERVER_TYPE==="PURE"){sort_columns.push(prefix+"sort_direction_diskused_img");sort_columns.push(prefix+"sort_direction_diskquota_img")}YAHOO.util.Dom.removeClass(sort_columns,"icon-arrow-up");YAHOO.util.Dom.removeClass(sort_columns,"icon-arrow-down");if(column==="serverlogin"){FTP_UAPI_CALL["api.sort_column"]="serverlogin";FTP_UAPI_CALL["api.sort_method"]="alphabet"}if(column==="dir"){FTP_UAPI_CALL["api.sort_column"]="dir";FTP_UAPI_CALL["api.sort_method"]="alphabet"}if(column==="diskused"){FTP_UAPI_CALL["api.sort_column"]="diskused";FTP_UAPI_CALL["api.sort_method"]="numeric"}if(column==="diskquota"){FTP_UAPI_CALL["api.sort_column"]="diskquota";FTP_UAPI_CALL["api.sort_method"]="numeric_zero_as_max"}var direction_el=YAHOO.util.Dom.get(prefix+"sort_direction_"+column);var img_el=YAHOO.util.Dom.get(prefix+"sort_direction_"+column+"_img");if(direction_el.value==="asc"){direction_el.value="desc";YAHOO.util.Dom.addClass(img_el,"icon-arrow-down");FTP_UAPI_CALL["api.sort_reverse"]="1"}else{direction_el.value="asc";YAHOO.util.Dom.addClass(img_el,"icon-arrow-up");FTP_UAPI_CALL["api.sort_reverse"]="0"}reset_pagination();load_accounts_table()};var prep_ui_server_type=function(){if(SERVER_TYPE=="PRO"){YAHOO.util.Dom.setStyle("add_new_quota_row","display","none");YAHOO.util.Dom.setStyle("pure_table_header","display","none");YAHOO.util.Dom.setStyle("pro_table_header","display","");YAHOO.util.Dom.setStyle("pure_special_table_header","display","none");YAHOO.util.Dom.setStyle("pro_special_table_header","display","")}};var init=function(){prep_ui_server_type();FTP_UAPI_CALL={include_acct_types:"sub","api.paginate_size":10,"api.paginate_start":1,"api.sort_column":"serverlogin","api.sort_method":"alphabet","api.sort_reverse":0};CPANEL.util.catch_enter("search_input","search_button");init_add_validation();load_accounts_table();load_special_accounts_table()};YAHOO.util.Event.onDOMReady(init);
Back to Directory
File Manager