Open Monograph Press  1.1
 All Classes Namespaces Functions Variables Groups Pages
AuthPlugin.inc.php
1 <?php
2 
19 define('AUTH_PLUGIN_CATEGORY', 'auth');
20 import('lib.pkp.classes.plugins.Plugin');
21 
22 class AuthPlugin extends Plugin {
23 
25  var $settings;
26 
28  var $authId;
29 
34  function AuthPlugin($settings = array(), $authId = null) {
35  parent::Plugin();
36  $this->settings = $settings;
37  $this->authId = $authId;
38  }
39 
40 
41  //
42  // General Plugin Functions
43  //
44 
50  function getName() {
51  assert(false); // Should always be overridden
52  }
53 
59  function getDisplayName() {
60  assert(false); // Should always be overridden
61  }
62 
68  function getDescription() {
69  assert(false); // Should always be overridden
70  }
71 
77  function getSettingsTemplate() {
78  return $this->getTemplatePath() . 'settings.tpl';
79  }
80 
81 
82  //
83  // Wrapper Functions
84  //
85 
91  function doGetUserInfo(&$user) {
92  if (isset($this->settings['syncProfiles'])) {
93  return $this->getUserInfo($user);
94  }
95  return false;
96  }
97 
103  function doSetUserInfo(&$user) {
104  if (isset($this->settings['syncProfiles'])) {
105  return $this->setUserInfo($user);
106  }
107  return false;
108  }
116  function doSetUserPassword($username, $password) {
117  if (isset($this->settings['syncPasswords'])) {
118  return $this->setUserPassword($username, $password);
119  }
120  return false;
121  }
128  function doCreateUser(&$user) {
129  if (isset($this->settings['createUsers'])) {
130  return $this->createUser($user);
131  }
132  return false;
133  }
135 
136  //
137  // Core Plugin Functions
138  // (Must be implemented by every authentication plugin)
139  //
140 
147  function getInstance($settings, $authId) {
148  return null;
149  }
150 
157  function authenticate($username, $password) {
158  return false;
159  }
160 
161 
162  //
163  // Optional Plugin Functions
164  // (Required for extended functionality but not for authentication-only plugins)
165  //
166 
172  function userExists($username) {
173  return false;
174  }
175 
182  function getUserInfo(&$user) {
183  return false;
184  }
185 
191  function setUserInfo(&$user) {
192  return false;
193  }
194 
201  function setUserPassword($username, $password) {
202  return false;
203  }
204 
210  function createUser(&$user) {
211  return false;
212  }
213 
221  function deleteUser($username) {
222  return false;
223  }
224 
228  function isSitePlugin() {
229  return true;
230  }
231 
235  function getManagementVerbs() {
236  return array(
237  array(
238  'authSources',
239  __('admin.authSources')
240  )
241  );
242  }
243 
244  function manage($verb, $args) {
245  if ($verb === 'authSources') {
246  Request::redirect('index', 'admin', 'auth');
247  }
248  return false;
249  }
250 }
251 
252 ?>
Abstract class for authentication plugins.
doGetUserInfo(&$user)
redirect($context=null, $page=null, $op=null, $path=null, $params=null, $anchor=null)
userExists($username)
deleteUser($username)
AuthPlugin($settings=array(), $authId=null)
Abstract class for plugins.
Definition: Plugin.inc.php:50
doSetUserInfo(&$user)
getUserInfo(&$user)
getInstance($settings, $authId)
setUserPassword($username, $password)
doCreateUser(&$user)
createUser(&$user)
getTemplatePath($inCore=false)
Definition: Plugin.inc.php:333
setUserInfo(&$user)
authenticate($username, $password)
doSetUserPassword($username, $password)