addMonth(1), function () { return Server::with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'labels.label'])->get(); }); } public static function server(string $server_id) {//Single server and relationships (no using joins) return Cache::remember("server.$server_id", now()->addMonth(1), function () use ($server_id) { return Server::where('id', $server_id) ->with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'labels.label'])->first(); }); } public static function allActiveServers() {//All ACTIVE servers and relationships replaces activeServersDataIndexPage() return Cache::remember("all_active_servers", now()->addMonth(1), function () { return Server::where('active', '=', 1) ->with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'labels.label']) ->get(); }); } public static function allNonActiveServers() {//All NON ACTIVE servers and relationships replaces nonActiveServersDataIndexPage() return Cache::remember("non_active_servers", now()->addMonth(1), function () { return Server::where('active', '=', 0) ->with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'labels.label']) ->get(); }); } public static function allPublicServers() {//server data that will be publicly viewable (values in settings) return Cache::remember("public_server_data", now()->addMonth(1), function () { return Server::where('show_public', '=', 1) ->with(['location', 'provider', 'os', 'price', 'ips', 'yabs', 'yabs.disk_speed', 'yabs.network_speed', 'labels', 'labels.label']) ->get(); }); } public static function serviceServerType($type) { if ($type === 1) { return "KVM"; } elseif ($type === 2) { return "OVZ"; } elseif ($type === 3) { return "DEDI"; } elseif ($type === 4) { return "LXC"; } elseif ($type === 6) { return "VMware"; } else { return "SEMI-DEDI"; } } public static function osIntToIcon(int $os, string $os_name) { if ($os === 1) {//None return ""; } else if ($os <= 3) {//Centos return ""; } elseif ($os > 7 && $os <= 11) {//Debain return ""; } elseif ($os > 12 && $os < 15) {//Fedora return ""; } elseif ($os > 14 && $os < 18) {//FreeBSD return ""; } elseif ($os > 17 && $os < 21) {//OpenBSD return ""; } elseif ($os > 25 && $os < 32) {//Ubuntu return ""; } elseif ($os > 32 && $os < 38) {//Windows return ""; } else {//OTHER ISO CUSTOM etc return ""; } } public static function osIdAsString($os) { if ($os === "0") { return "None"; } elseif ($os === "1") { return "CentOS 7"; } elseif ($os === "2") { return "CentOS 8"; } elseif ($os === "3") { return "CentOS"; } elseif ($os === "4") { return "Debian 9"; } elseif ($os === "5") { return "Debian 10"; } elseif ($os === "6") { return "Debian"; } elseif ($os === "7") { return "Fedora 32"; } elseif ($os === "8") { return "Fedora 33"; } elseif ($os === "9") { return "Fedora"; } elseif ($os === "10") { return "FreeBSD 11.4"; } elseif ($os === "11") { return "FreeBSD 12.1"; } elseif ($os === "12") { return "FreeBSD"; } elseif ($os === "13") { return "OpenBSD 6.7"; } elseif ($os === "14") { return "OpenBSD 6.8"; } elseif ($os === "15") { return "OpenBSD"; } elseif ($os == "16") { return "Ubuntu 16.04"; } elseif ($os === "17") { return "Ubuntu 18.04"; } elseif ($os === "18") { return "Ubuntu 20.04"; } elseif ($os === "19") { return "Ubuntu 20.10"; } elseif ($os === "20") { return "Ubuntu"; } elseif ($os === "21") { return "Windows Server 2008"; } elseif ($os === "22") { return "Windows Server 2012"; } elseif ($os === "23") { return "Windows Server 2016"; } elseif ($os === "24") { return "Windows Server 2019"; } elseif ($os === "25") { return "Windows 10"; } elseif ($os === "26") { return "Custom"; } elseif ($os === "27") { return "Other"; } else { return "Unknown"; } } public static function tableRowCompare(string $val1, string $val2, string $value_type = '', bool $is_int = true) { //