16 import(
'lib.pkp.classes.db.SchemaDAO');
26 $iterator = $this->
getAll($enabledOnly);
27 while ($context = $iterator->next()) {
28 $contexts[$context->getId()] = $context->getLocalizedName();
38 return array(
'name',
'description');
48 'SELECT COUNT(*) FROM ' . $this->tableName .
' WHERE path = ?',
51 $returner = isset($result->fields[0]) && $result->fields[0] == 1 ? true :
false;
63 'SELECT * FROM ' . $this->tableName .
' WHERE path = ?',
66 if ($result->RecordCount() == 0)
return null;
68 $returner = $this->
_fromRow($result->GetRowAssoc(
false));
79 function getAll($enabledOnly =
false, $rangeInfo =
null) {
81 'SELECT * FROM ' . $this->tableName .
82 ($enabledOnly?
' WHERE enabled = 1':
'') .
102 if ($userId) $params = array_merge(
104 array((
int) $userId, (
int) $userId, (
int) ROLE_ID_SITE_ADMIN)
108 'SELECT c.* FROM ' . $this->tableName .
' c
111 '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 = ?)
112 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 = ?)'
129 function getBySetting($settingName, $settingValue, $contextId =
null) {
130 $params = array($settingName, $settingValue);
131 if ($contextId) $params[] = $contextId;
134 'SELECT * FROM ' . $this->tableName .
' AS c
135 LEFT JOIN ' . $this->settingsTableName .
' AS cs
136 ON c.' . $this->primaryKeyColumn .
' = cs.' . $this->primaryKeyColumn .
137 ' WHERE cs.setting_name = ? AND cs.setting_value = ?' .
138 ($contextId?
' AND c.' . $this->primaryKeyColumn .
' = ?':
''),
150 'SELECT ' . $this->primaryKeyColumn .
' FROM ' . $this->tableName .
' ORDER BY seq'
153 for ($i=1; !$result->EOF; $i+=2) {
154 list($contextId) = $result->fields;
156 'UPDATE ' . $this->tableName .
' SET seq = ? WHERE ' . $this->primaryKeyColumn .
' = ?',