One Hat Cyber Team
Your IP :
216.73.216.182
Server IP :
203.175.9.166
Server :
Linux tanggamus.iixcp.rumahweb.net 5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 2 03:44:10 EDT 2024 x86_64
Server Software :
LiteSpeed
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
cite5577
/
www
/
lib
/
pkp
/
classes
/
security
/
View File Name :
AuthSourceDAO.inc.php
<?php /** * @file classes/security/AuthSourceDAO.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class AuthSourceDAO * @ingroup security * @see AuthSource * * @brief Operations for retrieving and modifying AuthSource objects. */ import('lib.pkp.classes.security.AuthSource'); class AuthSourceDAO extends DAO { var $plugins; /** * Constructor. */ function __construct() { parent::__construct(); $this->plugins = PluginRegistry::loadCategory(AUTH_PLUGIN_CATEGORY); } /** * Get plugin instance corresponding to the ID. * @param $authId int * @return AuthPlugin */ function getPlugin($authId) { $plugin = null; $auth = $this->getSource($authId); if ($auth != null) { $plugin = $auth->getPluginClass(); if ($plugin != null) { $plugin = $plugin->getInstance($auth->getSettings(), $auth->getAuthId()); } } return $plugin; } /** * Get plugin instance for the default authentication source. * @return AuthPlugin */ function getDefaultPlugin() { $plugin = null; $auth = $this->getDefaultSource(); if ($auth != null) { $plugin = $auth->getPluginClass(); if ($plugin != null) { $plugin = $plugin->getInstance($auth->getSettings(), $auth->getAuthId()); } } return $plugin; } /** * Retrieve a source. * @param $authId int * @return AuthSource */ function getSource($authId) { $result = $this->retrieve( 'SELECT * FROM auth_sources WHERE auth_id = ?', [(int) $authId] ); $row = $result->current(); return $row ? $this->_fromRow((array) $row) : null; } /** * Retrieve the default authentication source. * @return AuthSource */ function getDefaultSource() { $result = $this->retrieve( 'SELECT * FROM auth_sources WHERE auth_default = 1' ); $row = $result->current(); return $row ? $this->_fromRow((array) $row) : null; } /** * Instantiate and return a new data object. * @return AuthSource */ function newDataObject() { return new AuthSource(); } /** * Internal function to return an AuthSource object from a row. * @param $row array * @return AuthSource */ function _fromRow($row) { $auth = $this->newDataObject(); $auth->setAuthId($row['auth_id']); $auth->setTitle($row['title']); $auth->setPlugin($row['plugin']); $auth->setPluginClass(@$this->plugins[$row['plugin']]); $auth->setDefault($row['auth_default']); $auth->setSettings(unserialize($row['settings'])); return $auth; } /** * Insert a new source. * @param $auth AuthSource */ function insertObject($auth) { if (!isset($this->plugins[$auth->getPlugin()])) return false; if (!$auth->getTitle()) $auth->setTitle($this->plugins[$auth->getPlugin()]->getDisplayName()); $this->update( 'INSERT INTO auth_sources (title, plugin, settings) VALUES (?, ?, ?)', [ $auth->getTitle(), $auth->getPlugin(), serialize($auth->getSettings() ? $auth->getSettings() : []) ] ); $auth->setAuthId($this->_getInsertId('auth_sources', 'auth_id')); return $auth->getAuthId(); } /** * Update a source. * @param $auth AuthSource */ function updateObject($auth) { $this->update( 'UPDATE auth_sources SET title = ?, settings = ? WHERE auth_id = ?', [ $auth->getTitle(), serialize($auth->getSettings() ? $auth->getSettings() : array()), (int) $auth->getAuthId() ] ); } /** * Delete a source. * @param $authId int */ function deleteObject($authId) { $this->update( 'DELETE FROM auth_sources WHERE auth_id = ?', [$authId] ); } /** * Set the default authentication source. * @param $authId int */ function setDefault($authId) { $this->update( 'UPDATE auth_sources SET auth_default = 0' ); $this->update( 'UPDATE auth_sources SET auth_default = 1 WHERE auth_id = ?', [(int) $authId] ); } /** * Retrieve a list of all auth sources for the site. * @return array AuthSource */ function getSources($rangeInfo = null) { $result = $this->retrieveRange( 'SELECT * FROM auth_sources ORDER BY auth_id', [], $rangeInfo ); return new DAOResultFactory($result, $this, '_fromRow'); } }