# Create a default FTP account if set in the system options... if (GetSystemOption('auto_ftpuser') == "true") { # Get the current account ID for the new user... $acc_fk = $clientid['ac_id_pk']; $password = $_POST['inPassword']; $access_type = "RW"; $homedirectoy_to_use = "/"; # Just need to check that an account doesnt already exist with the same username.... $sql = "SELECT * FROM z_ftpaccounts WHERE ft_user_vc='" . Cleaner('i', $username) . "' AND ft_deleted_ts IS NULL"; $existsftp = DataExchange("t", $z_db_name, $sql); $permissionset = "\t\t<Option Name=\"FileRead\">1</Option>\r\n\t\t<Option Name=\"FileWrite\">1</Option>\r\n\t\t<Option Name=\"FileDelete\">1</Option>\r\n\t\t<Option Name=\"FileAppend\">1</Option>\r\n\t\t<Option Name=\"DirCreate\">1</Option>\r\n\t\t<Option Name=\"DirDelete\">1</Option>\r\n\t\t<Option Name=\"DirList\">1</Option>\r\n\t\t<Option Name=\"DirSubdirs\">1</Option>"; if ($existsftp < 1) { if (ShowServerPlatform() == 'Windows') { zapi_ftpaccount_add(GetSystemOption('filezilla_root'), $username, $password, GetSystemOption('zpanel_version'), ChangeSafeSlashesToWin(GetSystemOption('hosted_dir') . $username), $permissionset); } else { zapi_ftpaccount_add(GetSystemOption('filezilla_root'), $username, $password, GetSystemOption('zpanel_version'), ChangeWinSlashesToNIX(GetSystemOption('hosted_dir') . $username), $permissionset); } # If all has gone well we need to now create the domain in the database... $sql = "INSERT INTO z_ftpaccounts (ft_acc_fk,\r\n\t\t\t\t\t\t\t\t\t\t\tft_user_vc,\r\n\t\t\t\t\t\t\t\t\t\t\tft_directory_vc,\r\n\t\t\t\t\t\t\t\t\t\t\tft_access_vc,\r\n\t\t\t\t\t\t\t\t\t\t\tft_created_ts) VALUES (\r\n\t\t\t\t\t\t\t\t\t\t" . $acc_fk . ",\r\n\t\t\t\t\t\t\t\t\t\t'" . Cleaner('i', $username) . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . Cleaner('i', "/") . "',\r\n\t\t\t\t\t\t\t\t\t\t'" . Cleaner('i', "RW") . "',\r\n\t\t\t\t\t\t\t\t\t\t" . time() . ")"; DataExchange("w", $z_db_name, $sql); # Now we add some infomation to the system log. TriggerLog($useraccount['ac_id_pk'], $b = "> New FTP account has been created for the new user (" . Cleaner('i', $username) . ")."); } else { TriggerLog($useraccount['ac_id_pk'], $b = "> Could not auto create new FTP user (" . Cleaner('i', $username) . ") as a duplicate account exists on the server."); } } # Send the user account details via. email (if requested)... if ($_POST['inSWE'] == 1) { if ($_POST['inEmailAddress'] != '') { include "lang/" . GetSystemOption('zpanel_lang') . ".php"; $messagesubject = $lang['225'];
if ($_POST['inAccess'] == 'RO') { $permissionset = "<Option Name=\"FileRead\">1</Option>\r\n\t<Option Name=\"FileWrite\">0</Option>\r\n\t<Option Name=\"FileDelete\">0</Option>\r\n\t<Option Name=\"FileAppend\">0</Option>\r\n\t<Option Name=\"DirCreate\">0</Option>\r\n\t<Option Name=\"DirDelete\">0</Option>\r\n\t<Option Name=\"DirList\">1</Option>\r\n\t<Option Name=\"DirSubdirs\">1</Option>"; $accessmode = "Read access"; } if ($_POST['inAccess'] == 'WO') { $permissionset = "<Option Name=\"FileRead\">0</Option>\r\n\t<Option Name=\"FileWrite\">1</Option>\r\n\t<Option Name=\"FileDelete\">0</Option>\r\n\t<Option Name=\"FileAppend\">0</Option>\r\n\t<Option Name=\"DirCreate\">1</Option>\r\n\t<Option Name=\"DirDelete\">0</Option>\r\n\t<Option Name=\"DirList\">0</Option>\r\n\t<Option Name=\"DirSubdirs\"0</Option>"; $accessmode = "Write access"; } if ($_POST['inAccess'] == 'RW') { $permissionset = "<Option Name=\"FileRead\">1</Option>\r\n\t<Option Name=\"FileWrite\">1</Option>\r\n\t<Option Name=\"FileDelete\">1</Option>\r\n\t<Option Name=\"FileAppend\">1</Option>\r\n\t<Option Name=\"DirCreate\">1</Option>\r\n\t<Option Name=\"DirDelete\">1</Option>\r\n\t<Option Name=\"DirList\">1</Option>\r\n\t<Option Name=\"DirSubdirs\">1</Option>"; $accessmode = "Full access"; } $permission = "ALL"; $status = 1; # Call the API! $api_resault = zapi_ftpaccount_add(GetSystemOption('filezilla_root'), $username, $password, GetSystemOption('zpanel_version'), ChangeSafeSlashesToWin(GetSystemOption('hosted_dir') . $useraccount['ac_user_vc'] . $homedirectoy_to_use), $permissionset); if ($api_resault == false) { # FTP account was not added! } else { $reboot = system($filezilla_reload); } # If all has gone well we need to now create the domain in the database... $sql = "INSERT INTO z_ftpaccounts (ft_acc_fk,\r\n\t\t\t\t\t\t\t\t\t\tft_user_vc,\r\n\t\t\t\t\t\t\t\t\t\tft_directory_vc,\r\n\t\t\t\t\t\t\t\t\t\tft_access_vc,\r\n\t\t\t\t\t\t\t\t\t\tft_created_ts) VALUES (\r\n\t\t\t\t\t\t\t\t\t" . $acc_fk . ",\r\n\t\t\t\t\t\t\t\t\t'" . Cleaner('i', $username) . "',\r\n\t\t\t\t\t\t\t\t\t'" . Cleaner('i', $homedirectoy_to_use) . "',\r\n\t\t\t\t\t\t\t\t\t'" . Cleaner('i', $access_type) . "',\r\n\t\t\t\t\t\t\t\t\t" . time() . ")"; DataExchange("w", $z_db_name, $sql); # Now we add some infomation to the system log. TriggerLog($useraccount['ac_id_pk'], $b = "New FTP account has been added by the user (" . Cleaner('i', $username) . ")."); header("location: " . GetNormalModuleURL($returnurl) . "&r=ok"); exit; } if ($_POST['inAction'] == 'reset') { $sql = "SELECT * FROM z_ftpaccounts WHERE ft_user_vc='" . $_POST['inAccount'] . "' AND ft_acc_fk=" . $acc_fk . " AND ft_deleted_ts IS NULL";