getRemoteServer($_POST['remote_server_id']); $remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']); $post_ftp_login = strip_real_escape_string($_POST['ftp_login']); $post_ftp_password = strip_real_escape_string($_POST['ftp_password']); $post_full_path = strip_real_escape_string($_POST['full_path']); $host_stat = $remote->status_chk(); $ftp_accounts_list = $remote->ftp_mgr("list"); $ftp_accounts = explode("\n",$ftp_accounts_list); $user_exists = FALSE; foreach($ftp_accounts as $ftp_account) { if( $ftp_account != "" ) { list($ftp_login, $ftp_path) = explode("\t",$ftp_account); $ftp_login = trim($ftp_login); if ($ftp_login == $post_ftp_login) { $user_exists = TRUE; break; } } } if( $user_exists === TRUE ) { print_failure( ftp_account_already_exists ); } else { $remote->ftp_mgr("useradd", $post_ftp_login, $post_ftp_password, $post_full_path); } } if(isset($_POST['del_ftp_user_y'])) { $ftp_login = strip_real_escape_string($_POST['ftp_login']); $server_row = $db->getRemoteServer($_POST['remote_server_id']); $remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']); $remote->ftp_mgr("userdel", $ftp_login); $home_info = $db->getHomeByFtpLogin($server_row['remote_server_id'], $ftp_login); $db->changeFtpStatus('disabled',$home_info['home_id']); } if(isset($_POST['edit_ftp_user'])) { $server_row = $db->getRemoteServer($_POST['remote_server_id']); $remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']); $ftp_login = strip_real_escape_string($_POST['ftp_login']); $settings = ""; foreach($_POST as $key => $value) { if ($key != "edit_ftp_user" and $key != "ftp_login" and $key != "remote_server_id") { $clean_value = strip_real_escape_string($value); $account_settings .= "$key\t$clean_value\n"; } } $remote->ftp_mgr("usermod", $ftp_login, $account_settings ); } echo "

" . ftp_admin . "

"; $servers = $db->getRemoteServers(); if ($servers !== false) { echo "
". remote_server ." ". login ." ". password ." ". full_path ."
"; ?> status_chk(); $status = ( $host_stat === 0 or $host_stat === -1 ) ? "". offline ."" : "". online .""; if( $host_stat === 1) { $ftp_accounts_list = $remote->ftp_mgr("list"); $ftp_accounts = explode("\n", $ftp_accounts_list); foreach($ftp_accounts as $ftp_account) { if( !empty($ftp_account)) { list($ftp_login, $ftp_path) = explode("\t", $ftp_account); $ftp_login = trim($ftp_login); $home_info = $db->getHomeByFtpLogin($server_row['remote_server_id'], $ftp_login); $expandme = ( ( isset($_POST['ftp_login']) and $ftp_login == strip_real_escape_string($_POST['ftp_login']) ) AND ( isset($_POST['remote_server_id']) and $home_info['remote_server_id'] == $_POST['remote_server_id'] ) ) ? "expandme" : ""; $home_name = isset( $home_info['home_name'] ) ? $home_info['home_name'] : $ftp_path; echo ""; } } } // end: host_stat === 1 } // end: foreach $servers as $server_row } else { echo get_lang('no_remote_servers'); } echo ""; echo "
".$server_row['remote_server_name']." (".$server_row['agent_ip'].")$ftp_login" . htmlentities($home_name) . "$ftp_path
"; $account_details = $remote->ftp_mgr("show",$ftp_login); $ftp_account_detail_list = explode("\n",$account_details); foreach($ftp_account_detail_list as $detail_line) { if( !empty($detail_line)) { list($key,$value) = explode(" : ",$detail_line); $key = trim($key); $value = trim($value); $blacklist = array("Login", "Password", "UID", "GID", "ftp_user_id", "username", "username_prefix", "password", "sys_userid", "sys_groupid", "sys_perm_user", "sys_perm_group", "sys_perm_other", "server_id", "parent_domain_id", "uid", "gid" ); if( in_array($key, $blacklist) ) continue; if(substr($value, -1) == ')') { $value_parts = explode(" ", $value); if(is_numeric($value_parts[0])) { if(count($value_parts) > 1) { $value = array_shift($value_parts); $advert = implode(" ", $value_parts); } } else { $first_pos = array_shift($value_parts); $parts = preg_split('/:|-/', $first_pos); if(count(array_filter($parts, 'is_numeric') === 2)) { $value = $first_pos; $advert = implode(" ", $value_parts); } } } if ($key == "Allowed local IPs" or $key == "ul_ratio" or $key == "ForceSsl" or ( count($ftp_account_detail_list) == 4 and $key == "Directory" ) ) echo "
\n
\n\n"; if ($key == "Directory" ) $value = str_replace( "/./", "", $value ); if($key == "Username") $readOnly = true; echo "\n"; else echo "/>". "\n"; unset($readOnly, $key, $value, $advert); } } echo "
$key ". "$advert
". remove_account ."
\n"; }