Skip to content

Commit 8fdb519

Browse files
committed
Code refactoring
1 parent 6ba7de8 commit 8fdb519

18 files changed

+135
-149
lines changed

.htaccess

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ RewriteCond %{REQUEST_FILENAME} !-d
33
RewriteCond %{REQUEST_FILENAME} !-f
44
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
55

6-
# For JavaScript modules.
7-
<IfModule mod_mime.c>
8-
AddType text/javascript mjs
9-
</IfModule>
10-
116
<IfModule php_module>
127
php_value upload_max_filesize 25M
138
php_value post_max_size 25M

index.php

Lines changed: 18 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,42 @@
11
<?php
22

3+
namespace MPG;
4+
35
use Limber\Application;
46
use Capsule\Factory\ServerRequestFactory;
57
use Limber\Exceptions\NotFoundHttpException;
68

7-
session_start();
9+
const APP_NAME = 'MongoDB PHP GUI';
10+
const VERSION = '1.2.6';
811

912
/**
10-
* Application name.
11-
*
12-
* @var string
13-
*/
14-
define('MPG_APP_NAME', 'MongoDB PHP GUI');
15-
16-
/**
17-
* Application version.
18-
*
19-
* @var string
13+
* Absolute path, without trailing slash.
14+
* Example: /opt/mongodb-php-gui
2015
*/
21-
define('MPG_APP_VERSION', '1.2.6');
16+
const ABS_PATH = __DIR__;
2217

23-
/**
24-
* Development mode?
25-
*
26-
* @var boolean
27-
* @deprecated
28-
*/
29-
define('MPG_DEV_MODE', false);
30-
31-
/**
32-
* Absolute path. XXX Without trailing slash.
33-
*
34-
* @var string
35-
* @example /opt/mongodb-php-gui
36-
*/
37-
define('MPG_ABS_PATH', __DIR__);
38-
39-
$baseUrl = '//' . $_SERVER['HTTP_HOST'];
40-
41-
// If request matches a folder. For example: /mongo/
42-
if ( preg_match('#/$#', $_SERVER['REQUEST_URI']) ) {
43-
44-
$serverPath = $_SERVER['REQUEST_URI'];
45-
46-
} else {
47-
48-
$serverPath = dirname($_SERVER['REQUEST_URI']);
49-
50-
// Normalize directory separator in server path.
51-
if ( DIRECTORY_SEPARATOR !== '/' ) {
52-
$serverPath = str_replace(DIRECTORY_SEPARATOR, '/', $serverPath);
53-
}
18+
session_start();
5419

20+
if ( !file_exists($autoload_file = ABS_PATH . '/vendor/autoload.php') ) {
21+
die('Run `composer install` to complete ' . APP_NAME . ' installation.');
5522
}
5623

57-
$serverPath = rtrim($serverPath, '/');
24+
$loader = require_once $autoload_file;
25+
$loader->add('MPG', ABS_PATH . '/source/php');
5826

59-
$baseUrl .= $serverPath;
27+
Request::initialize();
6028

61-
/**
62-
* Server path. XXX Without trailing slash.
63-
*
64-
* @var string
65-
* @example /mongo
66-
*/
67-
define('MPG_SERVER_PATH', $serverPath);
29+
$baseUrl = '//' . $_SERVER['HTTP_HOST'] . Request::getPath();
6830

6931
/**
70-
* Base URL. XXX Without trailing slash.
32+
* Base URL, without trailing slash.
7133
*
7234
* @var string
73-
* @example //127.0.0.1:5000/mongo
35+
* Example: //127.0.0.1:5000/mongo
7436
*/
7537
define('MPG_BASE_URL', $baseUrl);
7638

77-
if ( !file_exists($autoload_file = MPG_ABS_PATH . '/vendor/autoload.php') ) {
78-
die('Run `composer install` to complete ' . MPG_APP_NAME . ' installation.');
79-
}
80-
81-
$loader = require_once $autoload_file;
82-
$loader->add('MPG', MPG_ABS_PATH . '/source/php');
83-
84-
$router = require MPG_ABS_PATH . '/routes.php';
39+
$router = require ABS_PATH . '/routes.php';
8540

8641
$application = new Application($router);
8742
$serverRequest = ServerRequestFactory::createFromGlobals();
@@ -91,6 +46,6 @@
9146
$response = $application->dispatch($serverRequest);
9247
$application->send($response);
9348

94-
} catch (NotFoundHttpException $e) {
49+
} catch (NotFoundHttpException $_error) {
9550
die('Route not found. Try to append a slash to URL.');
9651
}

routes.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,150 +6,150 @@
66

77
$router = new Router();
88

9-
$router->get(MPG_SERVER_PATH . '/', function() {
9+
$router->get(Request::getPath() . '/', function() {
1010

1111
AuthController::ensureUserIsLogged();
12-
Redirect::to('/queryDatabase');
12+
Request::redirectTo('/queryDatabase');
1313

1414
});
1515

1616
$router->get(
17-
MPG_SERVER_PATH . '/login',
17+
Request::getPath() . '/login',
1818
AuthController::class . '@login'
1919
);
2020

2121
$router->post(
22-
MPG_SERVER_PATH . '/login',
22+
Request::getPath() . '/login',
2323
AuthController::class . '@login'
2424
);
2525

2626
$router->get(
27-
MPG_SERVER_PATH . '/manageCollections',
27+
Request::getPath() . '/manageCollections',
2828
CollectionsController::class . '@manage'
2929
);
3030

3131
$router->post(
32-
MPG_SERVER_PATH . '/listCollections',
32+
Request::getPath() . '/listCollections',
3333
CollectionsController::class . '@list'
3434
);
3535

3636
$router->post(
37-
MPG_SERVER_PATH . '/createCollection',
37+
Request::getPath() . '/createCollection',
3838
CollectionsController::class . '@create'
3939
);
4040

4141
$router->post(
42-
MPG_SERVER_PATH . '/renameCollection',
42+
Request::getPath() . '/renameCollection',
4343
CollectionsController::class . '@rename'
4444
);
4545

4646
$router->post(
47-
MPG_SERVER_PATH . '/dropCollection',
47+
Request::getPath() . '/dropCollection',
4848
CollectionsController::class . '@drop'
4949
);
5050

5151
$router->get(
52-
MPG_SERVER_PATH . '/importDocuments',
52+
Request::getPath() . '/importDocuments',
5353
DocumentsController::class . '@import'
5454
);
5555

5656
$router->post(
57-
MPG_SERVER_PATH . '/importDocuments',
57+
Request::getPath() . '/importDocuments',
5858
DocumentsController::class . '@import'
5959
);
6060

6161
$router->get(
62-
MPG_SERVER_PATH . '/visualizeDatabase',
62+
Request::getPath() . '/visualizeDatabase',
6363
DatabasesController::class . '@visualize'
6464
);
6565

6666
$router->get(
67-
MPG_SERVER_PATH . '/getDatabaseNetworkGraph',
67+
Request::getPath() . '/getDatabaseNetworkGraph',
6868
DatabasesController::class . '@getNetworkGraph'
6969
);
7070

7171
$router->get(
72-
MPG_SERVER_PATH . '/queryDatabase',
72+
Request::getPath() . '/queryDatabase',
7373
DatabasesController::class . '@query'
7474
);
7575

7676
$router->post(
77-
MPG_SERVER_PATH . '/insertOneDocument',
77+
Request::getPath() . '/insertOneDocument',
7878
DocumentsController::class . '@insertOne'
7979
);
8080

8181
$router->post(
82-
MPG_SERVER_PATH . '/countDocuments',
82+
Request::getPath() . '/countDocuments',
8383
DocumentsController::class . '@count'
8484
);
8585

8686
$router->post(
87-
MPG_SERVER_PATH . '/deleteOneDocument',
87+
Request::getPath() . '/deleteOneDocument',
8888
DocumentsController::class . '@deleteOne'
8989
);
9090

9191
$router->post(
92-
MPG_SERVER_PATH . '/convertSQLToMongoDBQuery',
92+
Request::getPath() . '/convertSQLToMongoDBQuery',
9393
SQLController::class . '@convertToMongoDBQuery'
9494
);
9595

9696
$router->post(
97-
MPG_SERVER_PATH . '/findDocuments',
97+
Request::getPath() . '/findDocuments',
9898
DocumentsController::class . '@find'
9999
);
100100

101101
$router->post(
102-
MPG_SERVER_PATH . '/updateOneDocument',
102+
Request::getPath() . '/updateOneDocument',
103103
DocumentsController::class . '@updateOne'
104104
);
105105

106106
$router->post(
107-
MPG_SERVER_PATH . '/enumCollectionFields',
107+
Request::getPath() . '/enumCollectionFields',
108108
CollectionsController::class . '@enumFields'
109109
);
110110

111111
$router->get(
112-
MPG_SERVER_PATH . '/manageIndexes',
112+
Request::getPath() . '/manageIndexes',
113113
IndexesController::class . '@manage'
114114
);
115115

116116
$router->post(
117-
MPG_SERVER_PATH . '/createIndex',
117+
Request::getPath() . '/createIndex',
118118
IndexesController::class . '@create'
119119
);
120120

121121
$router->post(
122-
MPG_SERVER_PATH . '/listIndexes',
122+
Request::getPath() . '/listIndexes',
123123
IndexesController::class . '@list'
124124
);
125125

126126
$router->post(
127-
MPG_SERVER_PATH . '/dropIndex',
127+
Request::getPath() . '/dropIndex',
128128
IndexesController::class . '@drop'
129129
);
130130

131131
$router->get(
132-
MPG_SERVER_PATH . '/manageUsers',
132+
Request::getPath() . '/manageUsers',
133133
UsersController::class . '@manage'
134134
);
135135

136136
$router->post(
137-
MPG_SERVER_PATH . '/createUser',
137+
Request::getPath() . '/createUser',
138138
UsersController::class . '@create'
139139
);
140140

141141
$router->post(
142-
MPG_SERVER_PATH . '/listUsers',
142+
Request::getPath() . '/listUsers',
143143
UsersController::class . '@list'
144144
);
145145

146146
$router->post(
147-
MPG_SERVER_PATH . '/dropUser',
147+
Request::getPath() . '/dropUser',
148148
UsersController::class . '@drop'
149149
);
150150

151151
$router->get(
152-
MPG_SERVER_PATH . '/logout',
152+
Request::getPath() . '/logout',
153153
AuthController::class . '@logout'
154154
);
155155

source/php/MPG/AuthController.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public static function ensureUserIsLogged() {
88

99
if ( !isset($_SESSION['mpg']['user_is_logged']) ) {
1010

11-
Redirect::to('/login#');
11+
Request::redirectTo('/login#');
1212

1313
}
1414

@@ -29,7 +29,7 @@ public function login() : ViewResponse {
2929
} else {
3030

3131
$_SESSION['mpg']['user_is_logged'] = true;
32-
Redirect::to('/');
32+
Request::redirectTo('/');
3333

3434
}
3535

@@ -88,7 +88,7 @@ public function logout() {
8888

8989
$_SESSION['mpg'] = [];
9090

91-
Redirect::to('/login');
91+
Request::redirectTo('/login');
9292

9393
}
9494

source/php/MPG/ErrorNormalizer.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ public static function normalize(\Throwable $error, string $function = null) : a
2323
$normalizedError['error']['function'] = $function;
2424
}
2525

26-
if ( MPG_DEV_MODE === true ) {
27-
$normalizedError['error']['trace'] = $error->getTrace();
28-
}
29-
3026
return $normalizedError;
3127

3228
}

source/php/MPG/Redirect.php

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)