Overview
Comment:Implement HTTP signals
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | stable
Files: files | file ages | folders
SHA3-256: 13a5a7ff9451590899db63bf0eb6881b3a81cf62f2134050522caff751b605f1
User & Date: bohwaz on 2021-09-22 02:15:24
Other Links: manifest | tags
Context
2021-10-05
02:17
Merge missing commits, fix upgrade check-in: 701cb83b3b user: bohwaz tags: dev
2021-09-22
02:18
Bump version check-in: 157b2d90c8 user: bohwaz tags: trunk, stable, 1.1.11
02:15
Implement HTTP signals check-in: 13a5a7ff94 user: bohwaz tags: trunk, stable
00:49
Improve error message when editing your own profile check-in: 3b716fde41 user: bohwaz tags: trunk, stable
Changes

Modified src/include/lib/Garradin/Web/Web.php from [5c10caa4bb] to [54bccd2a7e].

1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
<?php

namespace Garradin\Web;

use Garradin\Entities\Web\Page;
use Garradin\Entities\Files\File;
use Garradin\Web\Skeleton;
use Garradin\Files\Files;
use Garradin\API;
use Garradin\Config;
use Garradin\DB;

use Garradin\Utils;
use Garradin\UserException;
use Garradin\ValidationException;
use Garradin\Membres\Session;

use KD2\DB\EntityManager as EM;












>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

namespace Garradin\Web;

use Garradin\Entities\Web\Page;
use Garradin\Entities\Files\File;
use Garradin\Web\Skeleton;
use Garradin\Files\Files;
use Garradin\API;
use Garradin\Config;
use Garradin\DB;
use Garradin\Plugin;
use Garradin\Utils;
use Garradin\UserException;
use Garradin\ValidationException;
use Garradin\Membres\Session;

use KD2\DB\EntityManager as EM;

172
173
174
175
176
177
178





179
180
181
182
183
184
185

		// WWW_URI inclus toujours le slash final, mais on veut le conserver ici
		$uri = substr($uri, strlen(WWW_URI) - 1);

		http_response_code(200);

		$uri = substr($uri, 1);






		// Redirect old URLs (pre-1.1)
		if ($uri == 'feed/atom/') {
			Utils::redirect('/atom.xml');
		}
		elseif (substr($uri, 0, 4) == 'api/') {
			API::dispatchURI(substr($uri, 4));







>
>
>
>
>







173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191

		// WWW_URI inclus toujours le slash final, mais on veut le conserver ici
		$uri = substr($uri, strlen(WWW_URI) - 1);

		http_response_code(200);

		$uri = substr($uri, 1);

		if (Plugin::fireSignal('http.request', compact('uri'))) {
			// If a plugin handled the request, let's stop here
			return;
		}

		// Redirect old URLs (pre-1.1)
		if ($uri == 'feed/atom/') {
			Utils::redirect('/atom.xml');
		}
		elseif (substr($uri, 0, 4) == 'api/') {
			API::dispatchURI(substr($uri, 4));
197
198
199
200
201
202
203




204
205
206
207
208
209
210


211
212
213
214
215
216
217
				if (substr($key, -2) == 'px') {
					$size = (int)substr($key, 0, -2);
					break;
				}
			}

			$session = Session::getInstance();





			if ($size) {
				$file->serveThumbnail($session, $size);
			}
			else {
				$file->serve($session, isset($_GET['download']) ? true : false);
			}



			return;
		}

		$site_disabled = Config::getInstance()->get('site_disabled');

		// Redirect old categories







>
>
>
>







>
>







203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
				if (substr($key, -2) == 'px') {
					$size = (int)substr($key, 0, -2);
					break;
				}
			}

			$session = Session::getInstance();

			if (Plugin::fireSignal('http.request.before', compact('file', 'uri', 'session'))) {
				return;
			}

			if ($size) {
				$file->serveThumbnail($session, $size);
			}
			else {
				$file->serve($session, isset($_GET['download']) ? true : false);
			}

			Plugin::fireSignal('http.request.after', compact('file', 'uri', 'session'));

			return;
		}

		$site_disabled = Config::getInstance()->get('site_disabled');

		// Redirect old categories
246
247
248
249
250
251
252




253
254
255
256

257


			$skel = '404.html';
		}

		if ($site_disabled && ($skel == '404.html' || $uri == '')) {
			Utils::redirect(ADMIN_URL);
		}





		$s = new Skeleton($skel);
		$s->serve(compact('uri', 'page', 'skel'));
	}

}








>
>
>
>



|
>
|
>
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275

			$skel = '404.html';
		}

		if ($site_disabled && ($skel == '404.html' || $uri == '')) {
			Utils::redirect(ADMIN_URL);
		}

		if (Plugin::fireSignal('http.request.skeleton.before', compact('page', 'skel', 'uri'))) {
			return;
		}

		$s = new Skeleton($skel);
		$s->serve(compact('uri', 'page', 'skel'));

		Plugin::fireSignal('http.request.skeleton.after', compact('page', 'skel', 'uri'));
	}
}