Open Journal Systems  3.3.0
UsageStatsHandler.inc.php
1 <?php
2 
16 import('classes.handler.Handler');
17 
18 class UsageStatsHandler extends Handler {
19 
20  //
21  // Public operations
22  //
30  function privacyInformation($args, $request) {
31  $this->validate(null, $request);
32 
33  // Check whether this is an opt-out request.
34  if ($request->isPost()) {
35  if ($request->getUserVar('opt-out')) {
36  // Set a cookie that is valid for one year.
37  $request->setCookieVar('usageStats-opt-out', true, time() + 60*60*24*365);
38  }
39  if ($request->getUserVar('opt-in')) {
40  // Delete the opt-out cookie.
41  $request->setCookieVar('usageStats-opt-out', false, time() - 60*60);
42  }
43  }
44 
45  $router = $request->getRouter(); /* @var $router PageRouter */
46  $privacyStatementUrl = $router->url($request, null, 'about', 'submissions');
47 
48  // Display the privacy info page.
49  $this->setupTemplate($request);
50  $plugin = $this->_getPlugin();
51  $templateMgr = TemplateManager::getManager($request);
52  $templateMgr->assign('pageTitle', 'plugins.generic.usageStats.optout.title');
53  $templateMgr->assign('usageStatsDisplayPrivacyInfo', true);
54  $templateMgr->assign('hasOptedOut', ($request->getCookieVar('usageStats-opt-out') ? true : false));
55  $templateMgr->assign('privacyStatementUrl', $privacyStatementUrl);
56  $templateMgr->assign('applicationName', Application::getName(9));
57  $templateMgr->display($plugin->getTemplateResource('privacyInformation.tpl'));
58  }
59 
60  //
61  // Private helper methods
62  //
67  function _getPlugin() {
68  return PluginRegistry::getPlugin('generic', USAGESTATS_PLUGIN_NAME);
69  }
70 }
71 
UsageStatsHandler\privacyInformation
privacyInformation($args, $request)
Definition: UsageStatsHandler.inc.php:30
Application\getName
static getName()
Definition: Application.inc.php:60
UsageStatsHandler
Handle usage stats page requests (opt-out, privacy information)
Definition: UsageStatsHandler.inc.php:18
PKPTemplateManager\getManager
static & getManager($request=null)
Definition: PKPTemplateManager.inc.php:1239
PKPHandler\validate
validate($requiredContexts=null, $request=null)
Definition: PKPHandler.inc.php:351
UsageStatsHandler\_getPlugin
_getPlugin()
Definition: UsageStatsHandler.inc.php:67
PKPHandler\setupTemplate
setupTemplate($request)
Definition: PKPHandler.inc.php:466
PluginRegistry\getPlugin
static getPlugin($category, $name)
Definition: PluginRegistry.inc.php:85
Handler
Base request handler application class.
Definition: Handler.inc.php:18