File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file classes/context/ContextDAO.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2003-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class ContextDAO * @ingroup core * @see DAO * * @brief Operations for retrieving and modifying context objects. */ import('lib.pkp.classes.db.SchemaDAO'); abstract class ContextDAO extends SchemaDAO { /** * Retrieve the IDs and names of all contexts in an associative array. * @param $enabledOnly true iff only enabled contexts are to be included * @return array */ function getNames($enabledOnly = false) { $contexts = array(); $iterator = $this->getAll($enabledOnly); while ($context = $iterator->next()) { $contexts[$context->getId()] = $context->getLocalizedName(); } return $contexts; } /** * Get a list of localized settings. * @return array */ function getLocaleFieldNames() { return array('name', 'description'); } /** * Check if a context exists with a specified path. * @param $path string the path for the context * @return boolean */ function existsByPath($path) { $result = $this->retrieve( 'SELECT COUNT(*) AS row_count FROM ' . $this->tableName . ' WHERE path = ?', [(string) $path] ); $row = $result->current(); return $row ? (boolean) $row->row_count : false; } /** * Retrieve a context by path. * @param $path string * @return Context? */ function getByPath($path) { $result = $this->retrieve( 'SELECT * FROM ' . $this->tableName . ' WHERE path = ?', [(string) $path] ); $row = (array) $result->current(); return $row?$this->_fromRow($row):null; } /** * Retrieve all contexts. * @param $enabledOnly true iff only enabled contexts should be included * @param $rangeInfo Object optional * @return DAOResultFactory containing matching Contexts */ function getAll($enabledOnly = false, $rangeInfo = null) { $result = $this->retrieveRange( 'SELECT * FROM ' . $this->tableName . ($enabledOnly?' WHERE enabled = 1':'') . ' ORDER BY seq', [], $rangeInfo ); return new DAOResultFactory($result, $this, '_fromRow'); } /** * Retrieve available contexts. * If user-based contexts, retrieve all contexts assigned by user group * or all contexts for site admin * If not user-based, retrieve all enabled contexts. * @param $userId int Optional user ID to find available contexts for * @param $rangeInfo Object optional * @return DAOResultFactory containing matching Contexts */ function getAvailable($userId = null, $rangeInfo = null) { $params = []; if ($userId) $params = array_merge( $params, [(int) $userId, (int) $userId, (int) ROLE_ID_SITE_ADMIN] ); $result = $this->retrieveRange( 'SELECT c.* FROM ' . $this->tableName . ' c WHERE ' . ($userId? 'c.' . $this->primaryKeyColumn . ' IN (SELECT DISTINCT ug.context_id FROM user_groups ug JOIN user_user_groups uug ON (ug.user_group_id = uug.user_group_id) WHERE uug.user_id = ?) OR ? IN (SELECT user_id FROM user_groups ug JOIN user_user_groups uug ON (ug.user_group_id = uug.user_group_id) WHERE ug.role_id = ?)' :'c.enabled = 1') . ' ORDER BY seq', $params, $rangeInfo ); return new DAOResultFactory($result, $this, '_fromRow'); } /** * Get journals by setting. * @param $settingName string * @param $settingValue mixed * @param $contextId int * @return DAOResultFactory */ function getBySetting($settingName, $settingValue, $contextId = null) { $params = array($settingName, $settingValue); if ($contextId) $params[] = $contextId; $result = $this->retrieve( 'SELECT * FROM ' . $this->tableName . ' AS c LEFT JOIN ' . $this->settingsTableName . ' AS cs ON c.' . $this->primaryKeyColumn . ' = cs.' . $this->primaryKeyColumn . ' WHERE cs.setting_name = ? AND cs.setting_value = ?' . ($contextId?' AND c.' . $this->primaryKeyColumn . ' = ?':''), $params ); return new DAOResultFactory($result, $this, '_fromRow'); } /** * Sequentially renumber each context according to their sequence order. */ function resequence() { $result = $this->retrieve('SELECT ' . $this->primaryKeyColumn . ' AS context_id FROM ' . $this->tableName . ' ORDER BY seq'); $i=1; for ($i=1; $row = (array) $result->current(); $i+=2 && $result->next()) { $this->update('UPDATE ' . $this->tableName . ' SET seq = ? WHERE ' . $this->primaryKeyColumn . ' = ?', [$i, $row['context_id']]); $result->next(); $i+=2; } } }
Simpan