Skip to content

Commit 98963ca

Browse files
committed
Merge branch 'dev-2510' into dev
2 parents f0995fa + f09e53b commit 98963ca

184 files changed

Lines changed: 8175 additions & 7842 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
<?php
2+
3+
/*
4+
* File ini bagian dari:
5+
*
6+
* OpenDK
7+
*
8+
* Aplikasi dan source code ini dirilis berdasarkan lisensi GPL V3
9+
*
10+
* Hak Cipta 2017 - 2025 Perkumpulan Desa Digital Terbuka (https://opendesa.id)
11+
*
12+
* Dengan ini diberikan izin, secara gratis, kepada siapa pun yang mendapatkan salinan
13+
* dari perangkat lunak ini dan file dokumentasi terkait ("Aplikasi Ini"), untuk diperlakukan
14+
* tanpa batasan, termasuk hak untuk menggunakan, menyalin, mengubah dan/atau mendistribusikan,
15+
* asal tunduk pada syarat berikut:
16+
*
17+
* Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus disertakan dalam
18+
* setiap salinan atau bagian penting Aplikasi Ini. Barang siapa yang menghapus atau menghilangkan
19+
* pemberitahuan ini melanggar ketentuan lisensi Aplikasi Ini.
20+
*
21+
* PERANGKAT LUNAK INI DISEDIAKAN "SEBAGAIMANA ADANYA", TANPA JAMINAN APA PUN, BAIK TERSURAT MAUPUN
22+
* TERSIRAT. PENULIS ATAU PEMEGANG HAK CIPTA SAMA SEKALI TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN ATAU
23+
* KEWAJIBAN APAPUN ATAS PENGGUNAAN ATAU LAINNYA TERKAIT APLIKASI INI.
24+
*
25+
* @package OpenDK
26+
* @author Tim Pengembang OpenDesa
27+
* @copyright Hak Cipta 2017 - 2025 Perkumpulan Desa Digital Terbuka (https://opendesa.id)
28+
* @license http://www.gnu.org/licenses/gpl.html GPL V3
29+
* @link https://github.com/OpenSID/opendk
30+
*/
31+
32+
namespace App\Helpers;
33+
34+
/**
35+
* Pengganti untuk RachidLaasri\LaravelInstaller\Helpers\RequirementsChecker
36+
*
37+
* Class ini dibuat untuk menggantikan functionality dari package yang sudah abandoned
38+
*/
39+
class SystemRequirementsChecker
40+
{
41+
/**
42+
* Check PHP version against minimum requirement
43+
*
44+
* @param string $minPhpVersion
45+
* @return array
46+
*/
47+
public function checkPHPversion($minPhpVersion = '8.1')
48+
{
49+
$currentPhpVersion = phpversion();
50+
$supported = version_compare($currentPhpVersion, $minPhpVersion, '>=');
51+
52+
return [
53+
'full' => $currentPhpVersion,
54+
'safe' => $currentPhpVersion,
55+
'current' => (float) $currentPhpVersion,
56+
'minimum' => $minPhpVersion,
57+
'supported' => $supported
58+
];
59+
}
60+
61+
/**
62+
* Check system requirements
63+
*
64+
* @param array $requirements
65+
* @return array
66+
*/
67+
public function check(array $requirements)
68+
{
69+
$results = [];
70+
71+
foreach ($requirements as $type => $requirement) {
72+
switch ($type) {
73+
case 'php':
74+
foreach ($requirement as $requirement_name) {
75+
$results['requirements'][$type][$requirement_name] = true;
76+
77+
if (!extension_loaded($requirement_name)) {
78+
$results['requirements'][$type][$requirement_name] = false;
79+
$results['errors'] = true;
80+
}
81+
}
82+
break;
83+
case 'apache':
84+
foreach ($requirement as $requirement_name) {
85+
$results['requirements'][$type][$requirement_name] = true;
86+
87+
if (function_exists('apache_get_modules') && !in_array($requirement_name, apache_get_modules())) {
88+
$results['requirements'][$type][$requirement_name] = false;
89+
$results['errors'] = true;
90+
}
91+
}
92+
break;
93+
}
94+
}
95+
96+
return $results;
97+
}
98+
99+
/**
100+
* Check folder permissions
101+
*
102+
* @param array $folders
103+
* @return array
104+
*/
105+
public function checkPermissions(array $folders)
106+
{
107+
$results = [];
108+
109+
foreach ($folders as $folder => $permission) {
110+
$path = base_path($folder);
111+
112+
if (file_exists($path)) {
113+
$results['permissions'][$folder] = [
114+
'folder' => $folder,
115+
'permission' => $permission,
116+
'isSet' => substr(sprintf('%o', fileperms($path)), -3) >= $permission
117+
];
118+
} else {
119+
$results['permissions'][$folder] = [
120+
'folder' => $folder,
121+
'permission' => $permission,
122+
'isSet' => false
123+
];
124+
$results['errors'] = true;
125+
}
126+
}
127+
128+
return $results;
129+
}
130+
}

app/Http/Controllers/Auth/LoginController.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,12 @@ public function __construct()
7272
parent::__construct();
7373

7474
$this->middleware('guest')->except('logout');
75-
$captchaView = $this->settings['google_recaptcha'] ? 'auth.google-captcha' : 'auth.captcha';
76-
View::share('captchaView', $captchaView);
75+
76+
// Cek apakah sudah install dan settings tersedia
77+
if (sudahInstal() && $this->settings) {
78+
$captchaView = $this->settings['google_recaptcha'] ? 'auth.google-captcha' : 'auth.captcha';
79+
View::share('captchaView', $captchaView);
80+
}
7781
}
7882

7983
public function redirectTo()
@@ -169,7 +173,7 @@ private function registerUserAndSendToken(User $user)
169173
try {
170174
$user->notify(new SendToken2FA($token));
171175
} catch (\Exception $e) {
172-
return redirect()->route('login')->with('error', 'Gagal mengirim email token 2FA.'. $e->getMessage());
176+
return redirect()->route('login')->with('error', 'Gagal mengirim email token 2FA.' . $e->getMessage());
173177
}
174178
}
175179
}

app/Http/Controllers/Data/PengurusController.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,9 @@ public function create()
133133
return [$item->id_pengurus => "{$item->nama_pengurus} - {$item->jabatan}"];
134134
});
135135

136-
return view('data.pengurus.create', compact('page_title', 'page_description', 'pendidikan', 'agama', 'jabatan', 'atasan'));
136+
$pengurus = [];
137+
138+
return view('data.pengurus.create', compact('page_title', 'page_description', 'pendidikan', 'agama', 'jabatan', 'atasan', 'pengurus'));
137139
}
138140

139141
/**

0 commit comments

Comments
 (0)