forked from pkp/ops
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
70 lines (65 loc) · 2.9 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* @mainpage OJS API Reference
*
* Welcome to the OJS API Reference. This resource contains documentation
* generated automatically from the OJS source code.
*
* The design of Open %Journal Systems 2.x is heavily structured for
* maintainability, flexibility and robustness. Those familiar with Sun's
* Enterprise Java Beans technology or the Model-View-Controller (MVC) pattern
* will note similarities.
*
* As in a MVC structure, data storage and representation, user interface
* presentation, and control are separated into different layers. The major
* categories, roughly ordered from "front-end" to "back-end," follow:
* - Smarty templates, which are responsible for assembling HTML pages to
* display to users;
* - Page classes, which receive requests from users' web browsers, delegate
* any required processing to various other classes, and call up the
* appropriate Smarty template to generate a response;
* - Controllers, which implement reusable pieces of content e.g. for AJAX
* subrequests.
* - Action classes, which are used by the Page classes to perform non-trivial
* processing of user requests;
* - Model classes, which implement PHP objects representing the system's
* various entities, such as Users, Articles, and Journals;
* - Data Access Objects (DAOs), which generally provide (amongst others)
* update, create, and delete functions for their associated Model classes,
* are responsible for all database interaction;
* - Support classes, which provide core functionalities, miscellaneous common;
*
* Additionally, many of the concerns shared by multiple PKP applications are
* implemented in the shared "pkp-lib" library, shipped in the lib/pkp
* subdirectory. The same conventions listed above apply to lib/pkp as well.
*
* As the system makes use of inheritance and has consistent class naming
* conventions, it is generally easy to tell what category a particular class
* falls into.
*
* For example, a Data Access Object class always inherits from the DAO class,
* has a Class name of the form [Something]%DAO, and has a filename of the form
* [Something]%DAO.inc.php.
*
* To learn more about developing OJS, there are several additional resources
* that may be useful:
* - The docs/README.md document
* - The PKP support forum at http://forum.pkp.sfu.ca
* - Documentation available at http://pkp.sfu.ca/ojs_documentation
*
* @file ojs/index.php
*
* Copyright (c) 2014-2020 Simon Fraser University
* Copyright (c) 2003-2020 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @ingroup index
*
* Bootstrap code for OJS site. Loads required files and then calls the
* dispatcher to delegate to the appropriate request handler.
*/
// Initialize global environment
define('INDEX_FILE_LOCATION', __FILE__);
$application = require('./lib/pkp/includes/bootstrap.inc.php');
// Serve the request
$application->execute();