Module DB settings not found. To fix this, go to .env file search RANKS, disable the ranks module, then go to Settings tab > Modules and add new DB settings, and re-enable the module.
';
+ die();
}
- Config::set('database.connections.mysqlranks', [
- 'driver' => 'mysql',
- 'host' => $setting->db_host,
- 'database' => $setting->db_name,
- 'username' => $setting->db_user,
- 'password' => $setting->db_pass,
- 'port' => $setting->port,
- 'charset' => 'utf8mb4',
- 'collation' => 'utf8mb4_unicode_ci',
- 'prefix' => '',
- 'strict' => true,
- 'engine' => null,
- ]);
DB::setDefaultConnection('mysqlranks');
}
diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php
index 02755a7..272a0e7 100755
--- a/app/Http/Controllers/DashboardController.php
+++ b/app/Http/Controllers/DashboardController.php
@@ -7,6 +7,7 @@
use App\Helpers\PermissionsHelper;
use App\Models\K4Ranks\Ranks;
use App\Models\K4Ranks\ZenithPlayerStorage;
+use App\Models\ModuleServerSetting;
use App\Models\SaAdmin;
use App\Models\SaBan;
use App\Models\SaMute;
@@ -24,7 +25,7 @@ public function check() {
return view('requirement');
}
- public function home()
+ public function home(Request $request)
{
$updates = [];
$activeBans = null;
@@ -43,9 +44,14 @@ public function home()
$updates = $this->checkUpdates();
}
$topPlayersData = [];
+ $servers = [];
if(env('RANKS') == 'Enabled') {
+ $serverId = $request->query('server_id');
+ ModuleHelper::useConnection('Ranks', $serverId);
+ $servers = ModuleServerSetting::all();
$topPlayersData = $this->getTop5Players();
}
+
return view('admin.dashboard',
compact(
'totalBans',
@@ -57,7 +63,8 @@ public function home()
'activeBans',
'activeMutes',
'totalActiveBans',
- 'totalActiveMutes'
+ 'totalActiveMutes',
+ 'servers'
)
);
}
@@ -105,8 +112,6 @@ private function checkUpdates()
public function getTop5Players()
{
- ModuleHelper::useConnection('Ranks');
-
// Get the flag to determine whether to use old or new logic
$useOldLogic = env('K4LegacySupport', 'no') == 'yes' ? true : false;
diff --git a/app/Http/Controllers/K4Ranks/RanksController.php b/app/Http/Controllers/K4Ranks/RanksController.php
index 958d3d5..6c2097d 100755
--- a/app/Http/Controllers/K4Ranks/RanksController.php
+++ b/app/Http/Controllers/K4Ranks/RanksController.php
@@ -188,7 +188,9 @@ public function viewProfile(Request $request, $steam_id, $server_id) {
// Check if the image exists, if not, use a default image
$weapon->image_url = File::exists(public_path($imagePath))
? asset($imagePath)
- : asset('images/weapons/weapon_elite.png');
+ : (stripos($weapon->weapon, 'knife') !== false
+ ? asset('images/weapons/weapon_knife_css.png')
+ : asset('images/weapons/weapon_elite.png'));
return $weapon;
});
diff --git a/app/Http/Controllers/ModuleServerSettingsController.php b/app/Http/Controllers/ModuleServerSettingsController.php
index 2598698..b6437a5 100755
--- a/app/Http/Controllers/ModuleServerSettingsController.php
+++ b/app/Http/Controllers/ModuleServerSettingsController.php
@@ -3,6 +3,7 @@
use App\Models\ModuleServerSetting;
use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Session;
class ModuleServerSettingsController extends Controller
{
@@ -67,8 +68,8 @@ public function update(Request $request, $id)
public function destroy($id)
{
$setting = ModuleServerSetting::findOrFail($id);
+ Session::forget('Ranks_server');
$setting->delete();
-
return redirect()->route('module-server-settings.index')->with('success', 'Server settings deleted successfully.');
}
}
diff --git a/package-lock.json b/package-lock.json
index b2b472c..8144841 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"datatables.net-dt": "^2.0.2",
"datatables.net-fixedcolumns": "^5.0.0",
"datatables.net-responsive": "^3.0.2",
+ "dayjs": "^1.11.13",
"sass": "^1.55.0"
},
"devDependencies": {
@@ -223,6 +224,12 @@
"jquery": ">=1.7"
}
},
+ "node_modules/dayjs": {
+ "version": "1.11.13",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
+ "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
+ "license": "MIT"
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
diff --git a/package.json b/package.json
index 2de874d..3d9a188 100755
--- a/package.json
+++ b/package.json
@@ -12,12 +12,13 @@
"vite": "^3.0.0"
},
"dependencies": {
- "bootstrap": "^5.2.1",
- "sass": "^1.55.0",
"@types/datatables.net": "^1.10.28",
"@types/jquery": "^3.5.29",
- "datatables.net-responsive": "^3.0.2",
+ "bootstrap": "^5.2.1",
"datatables.net-dt": "^2.0.2",
- "datatables.net-fixedcolumns": "^5.0.0"
+ "datatables.net-fixedcolumns": "^5.0.0",
+ "datatables.net-responsive": "^3.0.2",
+ "dayjs": "^1.11.13",
+ "sass": "^1.55.0"
}
}
diff --git a/resources/js/bans/bans.ts b/resources/js/bans/bans.ts
index af33174..793926b 100755
--- a/resources/js/bans/bans.ts
+++ b/resources/js/bans/bans.ts
@@ -49,6 +49,7 @@ function loadBans() {
} else if (progress === 100) {
progressBarClass = 'bg-success';
}
+ progress = isNaN(progress) ? 100 : progress;
return `