Open Journal Systems  3.3.0
Application.inc.php
1 <?php
2 
18 import('lib.pkp.classes.core.PKPApplication');
19 
20 define('REQUIRES_XSL', false);
21 
22 define('ASSOC_TYPE_ARTICLE', ASSOC_TYPE_SUBMISSION); // DEPRECATED but needed by filter framework
23 define('ASSOC_TYPE_GALLEY', ASSOC_TYPE_REPRESENTATION);
24 
25 define('ASSOC_TYPE_JOURNAL', 0x0000100);
26 define('ASSOC_TYPE_ISSUE', 0x0000103);
27 define('ASSOC_TYPE_ISSUE_GALLEY', 0x0000105);
28 
29 define('CONTEXT_JOURNAL', 1);
30 
31 define('LANGUAGE_PACK_DESCRIPTOR_URL', 'http://pkp.sfu.ca/ojs/xml/%s/locales.xml');
32 define('LANGUAGE_PACK_TAR_URL', 'http://pkp.sfu.ca/ojs/xml/%s/%s.tar.gz');
33 
34 define('METRIC_TYPE_COUNTER', 'ojs::counter');
35 
36 class Application extends PKPApplication {
44  public function getContextDepth() {
45  return 1;
46  }
47 
52  public function getContextList() {
53  return array('journal');
54  }
55 
60  public static function getName() {
61  return 'ojs2';
62  }
63 
68  public function getNameKey() {
69  return('common.software');
70  }
71 
77  public function getVersionDescriptorUrl() {
78  return('http://pkp.sfu.ca/ojs/xml/ojs-version.xml');
79  }
80 
85  public function getDAOMap() {
86  return array_merge(parent::getDAOMap(), array(
87  'SubmissionDAO' => 'classes.submission.SubmissionDAO',
88  'ArticleGalleyDAO' => 'classes.article.ArticleGalleyDAO',
89  'ArticleSearchDAO' => 'classes.search.ArticleSearchDAO',
90  'AuthorDAO' => 'classes.article.AuthorDAO',
91  'IndividualSubscriptionDAO' => 'classes.subscription.IndividualSubscriptionDAO',
92  'InstitutionalSubscriptionDAO' => 'classes.subscription.InstitutionalSubscriptionDAO',
93  'IssueDAO' => 'classes.issue.IssueDAO',
94  'IssueGalleyDAO' => 'classes.issue.IssueGalleyDAO',
95  'IssueFileDAO' => 'classes.issue.IssueFileDAO',
96  'JournalDAO' => 'classes.journal.JournalDAO',
97  'JournalSettingsDAO' => 'classes.journal.JournalSettingsDAO',
98  'MetricsDAO' => 'classes.statistics.MetricsDAO',
99  'OAIDAO' => 'classes.oai.ojs.OAIDAO',
100  'OJSCompletedPaymentDAO' => 'classes.payment.ojs.OJSCompletedPaymentDAO',
101  'ReviewerSubmissionDAO' => 'classes.submission.reviewer.ReviewerSubmissionDAO',
102  'SectionDAO' => 'classes.journal.SectionDAO',
103  'SubscriptionDAO' => 'classes.subscription.SubscriptionDAO',
104  'SubscriptionTypeDAO' => 'classes.subscription.SubscriptionTypeDAO',
105  ));
106  }
107 
112  public function getPluginCategories() {
113  return array(
114  // NB: Meta-data plug-ins are first in the list as this
115  // will make them load (and install) first.
116  // This is necessary as several other plug-in categories
117  // depend on meta-data. This is a very rudimentary type of
118  // dependency management for plug-ins.
119  'metadata',
120  'auth',
121  'blocks',
122  'gateways',
123  'generic',
124  'importexport',
125  'oaiMetadataFormats',
126  'paymethod',
127  'pubIds',
128  'reports',
129  'themes'
130  );
131  }
132 
137  public static function getContextDAO() {
138  return DAORegistry::getDAO('JournalDAO');
139  }
140 
146  public static function getSubmissionDAO() {
147  return DAORegistry::getDAO('SubmissionDAO');
148  }
149 
154  public static function getSectionDAO() {
155  return DAORegistry::getDAO('SectionDAO');
156  }
157 
162  public static function getRepresentationDAO() {
163  return DAORegistry::getDAO('ArticleGalleyDAO');
164  }
165 
169  public static function getSubmissionSearchIndex() {
170  import('classes.search.ArticleSearchIndex');
171  return new ArticleSearchIndex();
172  }
173 
177  public static function getSubmissionSearchDAO() {
178  return DAORegistry::getDAO('ArticleSearchDAO');
179  }
180 
185  public static function getApplicationStages() {
186  // We leave out WORKFLOW_STAGE_ID_PUBLISHED since it technically is not a 'stage'.
187  return array(
188  WORKFLOW_STAGE_ID_SUBMISSION,
189  WORKFLOW_STAGE_ID_EXTERNAL_REVIEW,
190  WORKFLOW_STAGE_ID_EDITING,
191  WORKFLOW_STAGE_ID_PRODUCTION
192  );
193  }
194 
199  public static function getContextAssocType() {
200  return ASSOC_TYPE_JOURNAL;
201  }
202 
206  public static function getFileDirectories() {
207  return array('context' => '/journals/', 'submission' => '/articles/');
208  }
209 
213  public static function getRoleNames($contextOnly = false, $roleIds = null) {
214  $roleNames = parent::getRoleNames($contextOnly, $roleIds);
215  if (!$roleIds || in_array(ROLE_ID_SUBSCRIPTION_MANAGER, $roleIds)) {
216  $roleNames[ROLE_ID_SUBSCRIPTION_MANAGER] = 'user.role.subscriptionManager';
217  }
218  return $roleNames;
219  }
220 
226  public static function getPaymentManager($context) {
227  import('classes.payment.ojs.OJSPaymentManager');
228  return new OJSPaymentManager($context);
229  }
230 }
Application\getContextDAO
static getContextDAO()
Definition: Application.inc.php:137
Application\getRoleNames
static getRoleNames($contextOnly=false, $roleIds=null)
Definition: Application.inc.php:213
Application\getRepresentationDAO
static getRepresentationDAO()
Definition: Application.inc.php:162
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
Application\getNameKey
getNameKey()
Definition: Application.inc.php:68
Application\getPluginCategories
getPluginCategories()
Definition: Application.inc.php:112
Application\getName
static getName()
Definition: Application.inc.php:60
Application
Class describing this application.
Definition: Application.inc.php:36
Application\getPaymentManager
static getPaymentManager($context)
Definition: Application.inc.php:226
PKPApplication
Class describing this application.
Definition: PKPApplication.inc.php:116
Application\getDAOMap
getDAOMap()
Definition: Application.inc.php:85
Application\getContextAssocType
static getContextAssocType()
Definition: Application.inc.php:199
Application\getSubmissionDAO
static getSubmissionDAO()
Definition: Application.inc.php:146
OJSPaymentManager
Provides payment management functions.
Definition: OJSPaymentManager.inc.php:31
Application\getFileDirectories
static getFileDirectories()
Definition: Application.inc.php:206
Application\getSubmissionSearchIndex
static getSubmissionSearchIndex()
Definition: Application.inc.php:169
Application\getVersionDescriptorUrl
getVersionDescriptorUrl()
Definition: Application.inc.php:77
Application\getSubmissionSearchDAO
static getSubmissionSearchDAO()
Definition: Application.inc.php:177
Application\getContextList
getContextList()
Definition: Application.inc.php:52
ArticleSearchIndex
Class to maintain the article search index.
Definition: ArticleSearchIndex.inc.php:18
Application\getApplicationStages
static getApplicationStages()
Definition: Application.inc.php:185
Application\getContextDepth
getContextDepth()
Definition: Application.inc.php:44
Application\getSectionDAO
static getSectionDAO()
Definition: Application.inc.php:154