PackageItemTypeEnum::PRODUCT, 'type2' => PackageItemTypeEnum::PRODUCT, 'clientid' => $userid) )->fetchAll(); } public static function getDomains($userid) { return query::query("SELECT CONCAT('#', tbldomains.id, ' ', tbldomains.domain) AS group_name, tbldomains.domain as domain, dns_manager2_package.name as package_name, :type `type`, tbldomains.id AS relid FROM tbldomains LEFT JOIN dns_manager2_packageitem ON dns_manager2_packageitem.relid = (SELECT tbldomainpricing.id FROM tbldomainpricing,tbldomains WHERE tbldomainpricing.extension = SUBSTRING(tbldomains.domain, LOCATE('.', tbldomains.domain)) LIMIT 1) AND dns_manager2_packageitem.type = :type2 LEFT JOIN dns_manager2_package ON dns_manager2_package.id = dns_manager2_packageitem.packageid WHERE tbldomains.status IN ('Active') AND tbldomains.userid = :clientid", array( 'type' => PackageItemTypeEnum::DOMAIN, 'type2' => PackageItemTypeEnum::DOMAIN, 'clientid' => $userid) )->fetchAll(); //dns_manager2_packageitem ON dns_manager2_packageitem.relid = SUBSTRING(tbldomains.domain, LOCATE('.', tbldomains.domain)) } public static function getAddons($userid) { return query::query("SELECT CONCAT('#', tblhostingaddons.id, ' ', tbladdons.name) AS group_name, tblhosting.domain as domain, dns_manager2_package.name as package_name, :type `type`, tblhostingaddons.id AS relid FROM tblhostingaddons INNER JOIN tbladdons ON tbladdons.id = tblhostingaddons.addonid INNER JOIN tblhosting ON tblhosting.id = tblhostingaddons.hostingid LEFT JOIN dns_manager2_packageitem ON dns_manager2_packageitem.relid = tbladdons.id AND dns_manager2_packageitem.type = :type2 LEFT JOIN dns_manager2_package ON dns_manager2_package.id = dns_manager2_packageitem.packageid WHERE tblhostingaddons.status IN ('Active') AND tblhosting.userid = :clientid", array( 'type' => ZoneTypeEnum::ADDON, 'type2' => ZoneTypeEnum::ADDON, 'clientid' => $userid) )->fetchAll(); } public static function getSortedArray($userid) { $first = self::getServices($userid); $second = self::getDomains($userid); if(GlobalSettingHelper::getSetting(GlobalSettingEnum::IMPORT_PRIORITY) == 1) // jsut swap { $tmp = $first; $first = $second; $second=$tmp; unset($tmp); } $arr = array_merge($first, $second, self::getAddons($userid)); usort($arr, function($a, $b) { if($a['package_name'] == $b['package_name']) return 0; if(empty($a['package_name'])) return 1; if(empty($b['package_name'])) return -1; return strcmp($a['package_name'], $b['package_name']); }); return $arr; } }