<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Server extends Model { use HasFactory; public $incrementing = false; protected $fillable = ['id', 'hostname', 'ipv4', 'ipv6', 'server_type', 'os_id', 'location_id', 'provider_id', 'ram', 'disk', 'ram_type', 'disk_type', 'ns1', 'ns2', 'label', 'bandwidth', 'ram_as_mb', 'disk_as_gb', 'has_yabs', 'was_promo', 'owned_since', 'ssh', 'active']; /** * @var mixed */ private $id; 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"; } else { return "SEMI-DEDI"; } } public static function osIntToIcon(int $os, string $os_name) { if ($os === 1) {//None return "<i class='fas fa-expand' title='{$os_name}'></i>"; } else if ($os <= 3) {//Centos return "<i class='fab fa-centos os-icon' title='{$os_name}'></i>"; } elseif ($os > 3 && $os <= 6) {//Debain return "<i class='fab fa-linux os-icon' title='{$os_name}'></i>"; } elseif ($os > 6 && $os < 10) {//Fedora return "<i class='fab fa-fedora os-icon' title='{$os_name}'></i>"; } elseif ($os > 10 && $os < 13) {//FreeBSD return "<i class='fab fa-linux os-icon' title='{$os_name}'></i>"; } elseif ($os > 13 && $os < 16) {//OpenBSD return "<i class='fab fa-linux os-icon' title='{$os_name}'></i>"; } elseif ($os > 15 && $os < 21) {//Ubuntu return "<i class='fab fa-ubuntu os-icon' title='{$os_name}'></i>"; } elseif ($os > 20 && $os < 26) {//Windows return "<i class='fab fa-windows os-icon' title='{$os_name}'></i>"; } else {//OTHER ISO CUSTOM etc return "<i class='fas fa-compact-disc os-icon' title='{$os_name}'></i>"; } } 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) { //<td class="td-nowrap plus-td">+303<span class="data-type">MBps</span></td> $str = '<td class="td-nowrap '; $value_append = '<span class="data-type">' . $value_type . '</span>'; if ($is_int) { $val1 = (int)$val1; $val2 = (int)$val2; } if ($val1 > $val2) {//val1 is greater than val2 $result = '+' . ($val1 - $val2); if (!empty($value_type)) { $result = '+' . ($val1 - $val2) . $value_append; } $str .= 'plus-td">' . $result . '</td>'; } elseif ($val1 < $val2) {//val1 is less than val2 $result = '-' . ($val2 - $val1); if (!empty($value_type)) { $result = '-' . ($val2 - $val1) . $value_append; } $str .= 'neg-td">' . $result . '</td>'; } else {//Equal $result = 0; if (!empty($value_type)) { $result = '0' . $value_append; } $str .= 'equal-td">' . $result . '</td>'; } return $str; } }