Version Description
- Update Adminer to v. 4.3.1
- Check installed PHP extensions for PostgreSQL
Download this release
Release Info
Developer | arisoft |
Plugin | ARI Adminer – WordPress Database Manager |
Version | 1.1.2 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.1.2
- adminer/adminer/adminer/drivers/pgsql.inc.php +12 -4
- adminer/adminer/adminer/include/functions.inc.php +2 -2
- adminer/adminer/adminer/include/lang.inc.php +1 -1
- adminer/adminer/adminer/include/version.inc.php +1 -1
- adminer/adminer/adminer/lang/ru.inc.php +44 -16
- adminer/adminer/adminer/sql.inc.php +1 -1
- adminer/adminer/externals/jush/modules/jush-js.js +10 -9
- adminer/adminer/externals/jush/modules/jush-textarea.js +1 -1
- ari-adminer.php +1 -1
- includes/defines.php +1 -1
- includes/helpers/class-bridge.php +16 -0
- includes/utils/dbcheck/drivers/class-pgsql.php +4 -0
- includes/views/adminer-runner/tmpl/default.php +3 -0
- readme.txt +16 -3
adminer/adminer/adminer/drivers/pgsql.inc.php
CHANGED
@@ -186,12 +186,20 @@ if (isset($_GET["pgsql"])) {
|
|
186 |
}
|
187 |
|
188 |
function connect() {
|
189 |
-
global $adminer;
|
190 |
$connection = new Min_DB;
|
191 |
$credentials = $adminer->credentials();
|
192 |
if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) {
|
193 |
if ($connection->server_info >= 9) {
|
194 |
$connection->query("SET application_name = 'Adminer'");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
}
|
196 |
return $connection;
|
197 |
}
|
@@ -244,11 +252,11 @@ ORDER BY 1";
|
|
244 |
|
245 |
function table_status($name = "") {
|
246 |
$return = array();
|
247 |
-
foreach (get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\",
|
248 |
FROM pg_class c
|
249 |
JOIN pg_namespace n ON(n.nspname = current_schema() AND n.oid = c.relnamespace)
|
250 |
WHERE relkind IN ('r', 'm', 'v')
|
251 |
-
" . ($name != "" ? "AND relname = " . q($name) : "ORDER BY
|
252 |
) as $row) { //! Index_length, Auto_increment
|
253 |
$return[$row["Name"]] = $row;
|
254 |
}
|
@@ -638,7 +646,7 @@ AND typelem = 0"
|
|
638 |
foreach ($fields as $field_name => $field) {
|
639 |
$part = idf_escape($field['field']) . ' ' . $field['full_type']
|
640 |
. (is_null($field['default']) ? "" : " DEFAULT $field[default]")
|
641 |
-
. ($field['attnotnull'] ? "
|
642 |
$return_parts[] = $part;
|
643 |
|
644 |
// sequences for fields
|
186 |
}
|
187 |
|
188 |
function connect() {
|
189 |
+
global $adminer, $types, $structured_types;
|
190 |
$connection = new Min_DB;
|
191 |
$credentials = $adminer->credentials();
|
192 |
if ($connection->connect($credentials[0], $credentials[1], $credentials[2])) {
|
193 |
if ($connection->server_info >= 9) {
|
194 |
$connection->query("SET application_name = 'Adminer'");
|
195 |
+
if ($connection->server_info >= 9.2) {
|
196 |
+
$structured_types[lang('Strings')][] = "json";
|
197 |
+
$types["json"] = 4294967295;
|
198 |
+
if ($connection->server_info >= 9.4) {
|
199 |
+
$structured_types[lang('Strings')][] = "jsonb";
|
200 |
+
$types["jsonb"] = 4294967295;
|
201 |
+
}
|
202 |
+
}
|
203 |
}
|
204 |
return $connection;
|
205 |
}
|
252 |
|
253 |
function table_status($name = "") {
|
254 |
$return = array();
|
255 |
+
foreach (get_rows("SELECT c.relname AS \"Name\", CASE c.relkind WHEN 'r' THEN 'table' WHEN 'm' THEN 'materialized view' ELSE 'view' END AS \"Engine\", pg_relation_size(c.oid) AS \"Data_length\", pg_total_relation_size(c.oid) - pg_relation_size(c.oid) AS \"Index_length\", obj_description(c.oid, 'pg_class') AS \"Comment\", c.relhasoids::int AS \"Oid\", c.reltuples as \"Rows\", n.nspname
|
256 |
FROM pg_class c
|
257 |
JOIN pg_namespace n ON(n.nspname = current_schema() AND n.oid = c.relnamespace)
|
258 |
WHERE relkind IN ('r', 'm', 'v')
|
259 |
+
" . ($name != "" ? "AND relname = " . q($name) : "ORDER BY c.oid")
|
260 |
) as $row) { //! Index_length, Auto_increment
|
261 |
$return[$row["Name"]] = $row;
|
262 |
}
|
646 |
foreach ($fields as $field_name => $field) {
|
647 |
$part = idf_escape($field['field']) . ' ' . $field['full_type']
|
648 |
. (is_null($field['default']) ? "" : " DEFAULT $field[default]")
|
649 |
+
. ($field['attnotnull'] ? " NOT NULL" : "");
|
650 |
$return_parts[] = $part;
|
651 |
|
652 |
// sequences for fields
|
adminer/adminer/adminer/include/functions.inc.php
CHANGED
@@ -481,8 +481,8 @@ function cookie($name, $value, $lifetime = 2592000) { // 2592000 - 30 days
|
|
481 |
. ($lifetime ? "; expires=" . gmdate("D, d M Y H:i:s", time() + $lifetime) . " GMT" : "")
|
482 |
. "; path=" . preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"])
|
483 |
. ($HTTPS ? "; secure" : "")
|
484 |
-
. "; HttpOnly; SameSite=lax"
|
485 |
-
|
486 |
}
|
487 |
|
488 |
/** Restart stopped session
|
481 |
. ($lifetime ? "; expires=" . gmdate("D, d M Y H:i:s", time() + $lifetime) . " GMT" : "")
|
482 |
. "; path=" . preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"])
|
483 |
. ($HTTPS ? "; secure" : "")
|
484 |
+
. "; HttpOnly; SameSite=lax",
|
485 |
+
false);
|
486 |
}
|
487 |
|
488 |
/** Restart stopped session
|
adminer/adminer/adminer/include/lang.inc.php
CHANGED
@@ -30,7 +30,7 @@ $langs = array(
|
|
30 |
'pt' => 'Português', // André Dias
|
31 |
'pt-br' => 'Português (Brazil)', // Gian Live - gian@live.com, Davi Alexandre davi@davialexandre.com.br, RobertoPC - http://www.robertopc.com.br
|
32 |
'ro' => 'Limba Română', // .nick .messing - dot.nick.dot.messing@gmail.com
|
33 |
-
'ru' => 'Русский
|
34 |
'sk' => 'Slovenčina', // Ivan Suchy - http://www.ivansuchy.com, Juraj Krivda - http://www.jstudio.cz
|
35 |
'sl' => 'Slovenski', // Matej Ferlan - www.itdinamik.com, matej.ferlan@itdinamik.com
|
36 |
'sr' => 'Српски', // Nikola Radovanović - cobisimo@gmail.com
|
30 |
'pt' => 'Português', // André Dias
|
31 |
'pt-br' => 'Português (Brazil)', // Gian Live - gian@live.com, Davi Alexandre davi@davialexandre.com.br, RobertoPC - http://www.robertopc.com.br
|
32 |
'ro' => 'Limba Română', // .nick .messing - dot.nick.dot.messing@gmail.com
|
33 |
+
'ru' => 'Русский', // Maksim Izmaylov; Andre Polykanine - https://github.com/Oire/
|
34 |
'sk' => 'Slovenčina', // Ivan Suchy - http://www.ivansuchy.com, Juraj Krivda - http://www.jstudio.cz
|
35 |
'sl' => 'Slovenski', // Matej Ferlan - www.itdinamik.com, matej.ferlan@itdinamik.com
|
36 |
'sr' => 'Српски', // Nikola Radovanović - cobisimo@gmail.com
|
adminer/adminer/adminer/include/version.inc.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php
|
2 |
-
$VERSION = "4.3.
|
1 |
<?php
|
2 |
+
$VERSION = "4.3.1";
|
adminer/adminer/adminer/lang/ru.inc.php
CHANGED
@@ -7,14 +7,14 @@ $translations = array(
|
|
7 |
'Username' => 'Имя пользователя',
|
8 |
'Password' => 'Пароль',
|
9 |
'Select database' => 'Выбрать базу данных',
|
10 |
-
'Invalid database.' => '
|
11 |
'Table has been dropped.' => 'Таблица была удалена.',
|
12 |
'Table has been altered.' => 'Таблица была изменена.',
|
13 |
'Table has been created.' => 'Таблица была создана.',
|
14 |
'Alter table' => 'Изменить таблицу',
|
15 |
'Create table' => 'Создать таблицу',
|
16 |
'Table name' => 'Название таблицы',
|
17 |
-
'engine' => '
|
18 |
'collation' => 'режим сопоставления',
|
19 |
'Column name' => 'Название поля',
|
20 |
'Type' => 'Тип',
|
@@ -29,7 +29,7 @@ $translations = array(
|
|
29 |
'Database has been altered.' => 'База данных была изменена.',
|
30 |
'Alter database' => 'Изменить базу данных',
|
31 |
'Create database' => 'Создать базу данных',
|
32 |
-
'SQL command' => 'SQL
|
33 |
'Logout' => 'Выйти',
|
34 |
'database' => 'база данных',
|
35 |
'Use' => 'Выбрать',
|
@@ -67,7 +67,7 @@ $translations = array(
|
|
67 |
'Triggers' => 'Триггеры',
|
68 |
'View' => 'Представление',
|
69 |
'Unable to select the table' => 'Не удалось получить данные из таблицы',
|
70 |
-
'Invalid CSRF token. Send the form again.' => 'Недействительный CSRF
|
71 |
'Comment' => 'Комментарий',
|
72 |
'Default values' => 'Значения по умолчанию',
|
73 |
'%d byte(s)' => array('%d байт', '%d байта', '%d байтов'),
|
@@ -90,13 +90,13 @@ $translations = array(
|
|
90 |
'Change' => 'Изменить',
|
91 |
'Source' => 'Источник',
|
92 |
'Target' => 'Цель',
|
93 |
-
'Add column' => 'Добавить
|
94 |
'Alter' => 'Изменить',
|
95 |
'Add foreign key' => 'Добавить внешний ключ',
|
96 |
'ON DELETE' => 'При стирании',
|
97 |
'ON UPDATE' => 'При обновлении',
|
98 |
'Index Type' => 'Тип индекса',
|
99 |
-
'Column (length)' => '
|
100 |
'View has been dropped.' => 'Представление было удалено.',
|
101 |
'View has been altered.' => 'Представление было изменено.',
|
102 |
'View has been created.' => 'Представление было создано.',
|
@@ -134,11 +134,11 @@ $translations = array(
|
|
134 |
'User has been altered.' => 'Пользователь был изменён.',
|
135 |
'User has been created.' => 'Пользователь был создан.',
|
136 |
'Hashed' => 'Хешировано',
|
137 |
-
'Column' => '
|
138 |
'Routine' => 'Процедура',
|
139 |
'Grant' => 'Позволить',
|
140 |
'Revoke' => 'Запретить',
|
141 |
-
'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Слишком большой объем POST-данных. Пошлите меньший
|
142 |
'Logged as: %s' => 'Вы вошли как: %s',
|
143 |
'Move up' => 'Переместить вверх',
|
144 |
'Move down' => 'Переместить вниз',
|
@@ -181,7 +181,7 @@ $translations = array(
|
|
181 |
'Tables have been moved.' => 'Таблицы были перемещены.',
|
182 |
'Move to other database' => 'Переместить в другую базу данных',
|
183 |
'Move' => 'Переместить',
|
184 |
-
'Engine' => 'Тип',
|
185 |
'Save and continue edit' => 'Сохранить и продолжить редактирование',
|
186 |
'original' => 'исходный',
|
187 |
'%d item(s) have been affected.' => array('Была изменена %d запись.', 'Были изменены %d записи.', 'Было изменено %d записей.'),
|
@@ -202,20 +202,20 @@ $translations = array(
|
|
202 |
'[yyyy]-mm-dd' => 'дд.мм.[гггг]',
|
203 |
'History' => 'История',
|
204 |
'Variables' => 'Переменные',
|
205 |
-
'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => '
|
206 |
-
'Relations' => '
|
207 |
'Run file' => 'Запустить файл',
|
208 |
'Clear' => 'Очистить',
|
209 |
-
'Maximum allowed file size is %sB.' => 'Максимальный разрешённый размер файла
|
210 |
-
'Numbers' => '
|
211 |
'Date and time' => 'Дата и время',
|
212 |
'Strings' => 'Строки',
|
213 |
'Binary' => 'Двоичный тип',
|
214 |
'Lists' => 'Списки',
|
215 |
'Editor' => 'Редактор',
|
216 |
-
'E-mail' => '
|
217 |
'From' => 'От',
|
218 |
-
'Subject' => '
|
219 |
'Send' => 'Послать',
|
220 |
'%d e-mail(s) have been sent.' => array('Было отправлено %d письмо.', 'Было отправлено %d письма.', 'Было отправлено %d писем.'),
|
221 |
'Webserver file %s' => 'Файл %s на вебсервере',
|
@@ -241,7 +241,7 @@ $translations = array(
|
|
241 |
'Alter type' => 'Изменить тип',
|
242 |
'Type has been dropped.' => 'Тип удален.',
|
243 |
'Type has been created.' => 'Создан новый тип.',
|
244 |
-
'Ctrl+click on a value to modify it.' => 'Ctrl
|
245 |
'Use edit link to modify this value.' => 'Изменить это значение можно с помощью ссылки «изменить».',
|
246 |
'last' => 'последняя',
|
247 |
'From server' => 'С сервера',
|
@@ -265,4 +265,32 @@ $translations = array(
|
|
265 |
'Permanent link' => 'Постоянная ссылка',
|
266 |
'Edit all' => 'Редактировать всё',
|
267 |
'HH:MM:SS' => 'ЧЧ:ММ:СС',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
);
|
7 |
'Username' => 'Имя пользователя',
|
8 |
'Password' => 'Пароль',
|
9 |
'Select database' => 'Выбрать базу данных',
|
10 |
+
'Invalid database.' => 'Неверная база данных.',
|
11 |
'Table has been dropped.' => 'Таблица была удалена.',
|
12 |
'Table has been altered.' => 'Таблица была изменена.',
|
13 |
'Table has been created.' => 'Таблица была создана.',
|
14 |
'Alter table' => 'Изменить таблицу',
|
15 |
'Create table' => 'Создать таблицу',
|
16 |
'Table name' => 'Название таблицы',
|
17 |
+
'engine' => 'Тип таблицы',
|
18 |
'collation' => 'режим сопоставления',
|
19 |
'Column name' => 'Название поля',
|
20 |
'Type' => 'Тип',
|
29 |
'Database has been altered.' => 'База данных была изменена.',
|
30 |
'Alter database' => 'Изменить базу данных',
|
31 |
'Create database' => 'Создать базу данных',
|
32 |
+
'SQL command' => 'SQL-запрос',
|
33 |
'Logout' => 'Выйти',
|
34 |
'database' => 'база данных',
|
35 |
'Use' => 'Выбрать',
|
67 |
'Triggers' => 'Триггеры',
|
68 |
'View' => 'Представление',
|
69 |
'Unable to select the table' => 'Не удалось получить данные из таблицы',
|
70 |
+
'Invalid CSRF token. Send the form again.' => 'Недействительный CSRF-токен. Отправите форму ещё раз.',
|
71 |
'Comment' => 'Комментарий',
|
72 |
'Default values' => 'Значения по умолчанию',
|
73 |
'%d byte(s)' => array('%d байт', '%d байта', '%d байтов'),
|
90 |
'Change' => 'Изменить',
|
91 |
'Source' => 'Источник',
|
92 |
'Target' => 'Цель',
|
93 |
+
'Add column' => 'Добавить поле',
|
94 |
'Alter' => 'Изменить',
|
95 |
'Add foreign key' => 'Добавить внешний ключ',
|
96 |
'ON DELETE' => 'При стирании',
|
97 |
'ON UPDATE' => 'При обновлении',
|
98 |
'Index Type' => 'Тип индекса',
|
99 |
+
'Column (length)' => 'Поле (длина)',
|
100 |
'View has been dropped.' => 'Представление было удалено.',
|
101 |
'View has been altered.' => 'Представление было изменено.',
|
102 |
'View has been created.' => 'Представление было создано.',
|
134 |
'User has been altered.' => 'Пользователь был изменён.',
|
135 |
'User has been created.' => 'Пользователь был создан.',
|
136 |
'Hashed' => 'Хешировано',
|
137 |
+
'Column' => 'поле',
|
138 |
'Routine' => 'Процедура',
|
139 |
'Grant' => 'Позволить',
|
140 |
'Revoke' => 'Запретить',
|
141 |
+
'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'Слишком большой объем POST-данных. Пошлите меньший объём данных или увеличьте параметр конфигурационной директивы %s.',
|
142 |
'Logged as: %s' => 'Вы вошли как: %s',
|
143 |
'Move up' => 'Переместить вверх',
|
144 |
'Move down' => 'Переместить вниз',
|
181 |
'Tables have been moved.' => 'Таблицы были перемещены.',
|
182 |
'Move to other database' => 'Переместить в другую базу данных',
|
183 |
'Move' => 'Переместить',
|
184 |
+
'Engine' => 'Тип таблиц',
|
185 |
'Save and continue edit' => 'Сохранить и продолжить редактирование',
|
186 |
'original' => 'исходный',
|
187 |
'%d item(s) have been affected.' => array('Была изменена %d запись.', 'Были изменены %d записи.', 'Было изменено %d записей.'),
|
202 |
'[yyyy]-mm-dd' => 'дд.мм.[гггг]',
|
203 |
'History' => 'История',
|
204 |
'Variables' => 'Переменные',
|
205 |
+
'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'Поля должны иметь одинаковые типы данных, в результирующем поле должен быть индекс, данные для импорта должны существовать.',
|
206 |
+
'Relations' => 'Отношения',
|
207 |
'Run file' => 'Запустить файл',
|
208 |
'Clear' => 'Очистить',
|
209 |
+
'Maximum allowed file size is %sB.' => 'Максимальный разрешённый размер файла — %sB.',
|
210 |
+
'Numbers' => 'Числа',
|
211 |
'Date and time' => 'Дата и время',
|
212 |
'Strings' => 'Строки',
|
213 |
'Binary' => 'Двоичный тип',
|
214 |
'Lists' => 'Списки',
|
215 |
'Editor' => 'Редактор',
|
216 |
+
'E-mail' => 'Эл. почта',
|
217 |
'From' => 'От',
|
218 |
+
'Subject' => 'Тема',
|
219 |
'Send' => 'Послать',
|
220 |
'%d e-mail(s) have been sent.' => array('Было отправлено %d письмо.', 'Было отправлено %d письма.', 'Было отправлено %d писем.'),
|
221 |
'Webserver file %s' => 'Файл %s на вебсервере',
|
241 |
'Alter type' => 'Изменить тип',
|
242 |
'Type has been dropped.' => 'Тип удален.',
|
243 |
'Type has been created.' => 'Создан новый тип.',
|
244 |
+
'Ctrl+click on a value to modify it.' => 'Выполните Ctrl+Щелчок мышью по значению, чтобы его изменить.',
|
245 |
'Use edit link to modify this value.' => 'Изменить это значение можно с помощью ссылки «изменить».',
|
246 |
'last' => 'последняя',
|
247 |
'From server' => 'С сервера',
|
265 |
'Permanent link' => 'Постоянная ссылка',
|
266 |
'Edit all' => 'Редактировать всё',
|
267 |
'HH:MM:SS' => 'ЧЧ:ММ:СС',
|
268 |
+
'Tables have been optimized.' => 'Таблицы оптимизированы.',
|
269 |
+
'Materialized view' => 'Материализованное представление',
|
270 |
+
'Vacuum' => 'Вакуум',
|
271 |
+
'Selected' => 'Выбранные',
|
272 |
+
'Replication' => 'Репликация',
|
273 |
+
'Master status' => 'состояние мастер-сервера',
|
274 |
+
'Slave status' => 'состояние ведомого сервера',
|
275 |
+
'File must be in UTF-8 encoding.' => 'Файл должен быть в кодировке UTF-8.',
|
276 |
+
'Modify' => 'Изменить',
|
277 |
+
'Loading' => 'Загрузка',
|
278 |
+
'Load more data' => 'Загрузить ещё данные',
|
279 |
+
'ATTACH queries are not supported.' => 'ATTACH-запросы не поддерживаются.',
|
280 |
+
'%d / ' => '%d / ',
|
281 |
+
'Limit rows' => 'Лимит строк',
|
282 |
+
'<a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to use SQLite.' => '<a href="https://www.adminer.org/en/extension/" target="_blank">Реализуйте</a> метод %s, чтобы использовать SQLite.',
|
283 |
+
'Default value' => 'Значение по умолчанию',
|
284 |
+
'Full table scan' => 'Анализ полной таблицы',
|
285 |
+
'Too many unsuccessful logins, try again in %d minute(s).' => array('Слишком много неудачных попыток входа. Попробуйте снова через %d минуту.', 'Слишком много неудачных попыток входа. Попробуйте снова через %d минуты.', 'Слишком много неудачных попыток входа. Попробуйте снова через %d минут.'),
|
286 |
+
'Master password expired. <a href="https://www.adminer.org/en/extension/" target="_blank">Implement</a> %s method to make it permanent.' => 'Мастер-пароль истёк. <a href="https://www.adminer.org/en/extension/" target="_blank">Реализуйте</a> метод %s, чтобы сделать его постоянным.',
|
287 |
+
'If you did not send this request from Adminer then close this page.' => 'Если вы не посылали этот запрос из Adminer, закройте эту страницу.',
|
288 |
+
'You can upload a big SQL file via FTP and import it from server.' => 'Вы можете закачать большой SQL-файл по FTP и затем импортировать его с сервера.',
|
289 |
+
'Size' => 'Размер',
|
290 |
+
'Compute' => 'Вычислить',
|
291 |
+
'You are offline.' => 'Вы не выполнили вход.',
|
292 |
+
'You have no privileges to update this table.' => 'У вас нет прав на обновление этой таблицы.',
|
293 |
+
'Saving' => 'Сохранение',
|
294 |
+
'yes' => 'Да',
|
295 |
+
'no' => 'Нет',
|
296 |
);
|
adminer/adminer/adminer/sql.inc.php
CHANGED
@@ -208,7 +208,7 @@ if (!isset($_GET["import"])) {
|
|
208 |
}
|
209 |
echo "<p>";
|
210 |
textarea("query", $q, 20);
|
211 |
-
echo ($_POST ? "" : "<script type='text/javascript'>
|
212 |
echo "<p>$execute\n";
|
213 |
echo lang('Limit rows') . ": <input type='number' name='limit' class='size' value='" . h($_POST ? $_POST["limit"] : $_GET["limit"]) . "'>\n";
|
214 |
|
208 |
}
|
209 |
echo "<p>";
|
210 |
textarea("query", $q, 20);
|
211 |
+
echo ($_POST ? "" : "<script type='text/javascript'>document.getElementsByTagName('textarea')[0].focus();</script>\n");
|
212 |
echo "<p>$execute\n";
|
213 |
echo lang('Limit rows') . ": <input type='number' name='limit' class='size' value='" . h($_POST ? $_POST["limit"] : $_GET["limit"]) . "'>\n";
|
214 |
|
adminer/adminer/externals/jush/modules/jush-js.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
jush.tr.js = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_obj: /\s*\{/, js_code: /()/ };
|
2 |
-
jush.tr.js_code = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, js_doc: /\/\*\*/, com: /\/\*/, num: jush.num, js_write: /(\b)(write(?:ln)?)(\()/, js_http: /(\.)(setRequestHeader|getResponseHeader)(\()/, _3: /(<)(\/script)(>)/i, _1: /[
|
3 |
jush.tr.js_write = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_write_code: /()/ };
|
4 |
jush.tr.js_http = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_http_code: /()/ };
|
5 |
jush.tr.js_write_code = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_write: /\(/, _2: /\)/, _1: /[^\])}$\w\s]/ };
|
@@ -11,7 +11,7 @@ jush.tr.js_doc = { _1: /\*\// };
|
|
11 |
jush.tr.js_arr = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_arr: /\[/, js_obj: /\{/, _1: /]/ };
|
12 |
jush.tr.js_obj = { php: jush.php, js_one: /\s*\/\//, com: /\s*\/\*/, js_val: /:/, _1: /\s*}/, js_key: /()/ };
|
13 |
jush.tr.js_val = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_arr: /\[/, js_obj: /\{/, _1: /,|(?=})/ };
|
14 |
-
jush.tr.js_key = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, _1: /(
|
15 |
|
16 |
jush.urls.js_write = 'https://developer.mozilla.org/en/docs/DOM/$key.$val';
|
17 |
jush.urls.js_http = 'http://www.w3.org/TR/XMLHttpRequest/#the-$val-$key';
|
@@ -24,12 +24,13 @@ jush.urls.js = ['https://developer.mozilla.org/en/$key',
|
|
24 |
'JavaScript/Reference/Operators/Special/$1',
|
25 |
'DOM/document.$1', 'DOM/element.$1', 'DOM/event.$1', 'DOM/form.$1', 'DOM/table.$1', 'DOM/window.$1',
|
26 |
'http://www.w3.org/TR/XMLHttpRequest/',
|
27 |
-
'JavaScript/Reference/Global_Objects/Array
|
28 |
-
'JavaScript/Reference/Global_Objects/
|
29 |
-
'JavaScript/Reference/Global_Objects/
|
30 |
-
'JavaScript/Reference/Global_Objects/
|
31 |
-
'JavaScript/Reference/Global_Objects/
|
32 |
-
'JavaScript/Reference/Global_Objects/
|
|
|
33 |
];
|
34 |
jush.urls.js_doc = ['http://code.google.com/p/jsdoc-toolkit/wiki/Tag$key',
|
35 |
'$1', 'Param', 'Augments', '$1'
|
@@ -38,5 +39,5 @@ jush.urls.js_doc = ['http://code.google.com/p/jsdoc-toolkit/wiki/Tag$key',
|
|
38 |
jush.links.js_write = { 'document': /^(write|writeln)$/ };
|
39 |
jush.links.js_http = { 'method': /^(setRequestHeader|getResponseHeader)$/ };
|
40 |
|
41 |
-
jush.links2.js = /(\b)(String\.fromCharCode|Date\.(?:parse|UTC)|Math\.(?:E|LN2|LN10|LOG2E|LOG10E|PI|SQRT1_2|SQRT2|abs|acos|asin|atan|atan2|ceil|cos|exp|floor|log|max|min|pow|random|round|sin|sqrt|tan)|Array|Boolean|Date|Error|Function|JavaArray|JavaClass|JavaObject|JavaPackage|Math|Number|Object|Packages|RegExp|String|Infinity|JSON|NaN|undefined|Error|EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|(break|continue|for|function|return|switch|throw|var|while|with)|(do)|(if|else)|(try|catch|finally)|(delete|in|instanceof|new|this|typeof|void)|(alinkColor|anchors|applets|bgColor|body|characterSet|compatMode|contentType|cookie|defaultView|designMode|doctype|documentElement|domain|embeds|fgColor|forms|height|images|implementation|lastModified|linkColor|links|plugins|popupNode|referrer|styleSheets|title|tooltipNode|URL|vlinkColor|width|clear|createAttribute|createDocumentFragment|createElement|createElementNS|createEvent|createNSResolver|createRange|createTextNode|createTreeWalker|evaluate|execCommand|getElementById|getElementsByName|importNode|loadOverlay|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandValue|write|writeln)|(attributes|childNodes|className|clientHeight|clientLeft|clientTop|clientWidth|dir|firstChild|id|innerHTML|lang|lastChild|
|
42 |
jush.links2.js_doc = /(^[ \t]*|\n\s*\*\s*|(?={))(@(?:augments|author|borrows|class|constant|constructor|constructs|default|deprecated|description|event|example|field|fileOverview|function|ignore|inner|lends|memberOf|name|namespace|param|private|property|public|requires|returns|see|since|static|throws|type|version)|(@argument)|(@extends)|(\{@link))(\b)/g;
|
1 |
jush.tr.js = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_obj: /\s*\{/, js_code: /()/ };
|
2 |
+
jush.tr.js_code = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, js_doc: /\/\*\*/, com: /\/\*/, num: jush.num, js_write: /(\b)(write(?:ln)?)(\()/, js_http: /(\.)(setRequestHeader|getResponseHeader)(\()/, _3: /(<)(\/script)(>)/i, _1: /[^.\])}$\w\s]/ };
|
3 |
jush.tr.js_write = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_write_code: /()/ };
|
4 |
jush.tr.js_http = { php: jush.php, js_reg: /\s*\/(?![\/*])/, js_http_code: /()/ };
|
5 |
jush.tr.js_write_code = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_write: /\(/, _2: /\)/, _1: /[^\])}$\w\s]/ };
|
11 |
jush.tr.js_arr = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_arr: /\[/, js_obj: /\{/, _1: /]/ };
|
12 |
jush.tr.js_obj = { php: jush.php, js_one: /\s*\/\//, com: /\s*\/\*/, js_val: /:/, _1: /\s*}/, js_key: /()/ };
|
13 |
jush.tr.js_val = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, js_arr: /\[/, js_obj: /\{/, _1: /,|(?=})/ };
|
14 |
+
jush.tr.js_key = { php: jush.php, quo: /"/, apo: /'/, js_one: /\/\//, com: /\/\*/, num: jush.num, _1: /(?=[:}])/ };
|
15 |
|
16 |
jush.urls.js_write = 'https://developer.mozilla.org/en/docs/DOM/$key.$val';
|
17 |
jush.urls.js_http = 'http://www.w3.org/TR/XMLHttpRequest/#the-$val-$key';
|
24 |
'JavaScript/Reference/Operators/Special/$1',
|
25 |
'DOM/document.$1', 'DOM/element.$1', 'DOM/event.$1', 'DOM/form.$1', 'DOM/table.$1', 'DOM/window.$1',
|
26 |
'http://www.w3.org/TR/XMLHttpRequest/',
|
27 |
+
'JavaScript/Reference/Global_Objects/Array$1',
|
28 |
+
'JavaScript/Reference/Global_Objects/Array$1',
|
29 |
+
'JavaScript/Reference/Global_Objects/Date$1',
|
30 |
+
'JavaScript/Reference/Global_Objects/Function$1',
|
31 |
+
'JavaScript/Reference/Global_Objects/Number$1',
|
32 |
+
'JavaScript/Reference/Global_Objects/RegExp$1',
|
33 |
+
'JavaScript/Reference/Global_Objects/String$1'
|
34 |
];
|
35 |
jush.urls.js_doc = ['http://code.google.com/p/jsdoc-toolkit/wiki/Tag$key',
|
36 |
'$1', 'Param', 'Augments', '$1'
|
39 |
jush.links.js_write = { 'document': /^(write|writeln)$/ };
|
40 |
jush.links.js_http = { 'method': /^(setRequestHeader|getResponseHeader)$/ };
|
41 |
|
42 |
+
jush.links2.js = /(\b)(String\.fromCharCode|Date\.(?:parse|UTC)|Math\.(?:E|LN2|LN10|LOG2E|LOG10E|PI|SQRT1_2|SQRT2|abs|acos|asin|atan|atan2|ceil|cos|exp|floor|log|max|min|pow|random|round|sin|sqrt|tan)|Array|Boolean|Date|Error|Function|JavaArray|JavaClass|JavaObject|JavaPackage|Math|Number|Object|Packages|RegExp|String|Infinity|JSON|NaN|undefined|Error|EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|(break|continue|for|function|return|switch|throw|var|while|with)|(do)|(if|else)|(try|catch|finally)|(delete|in|instanceof|new|this|typeof|void)|(alinkColor|anchors|applets|bgColor|body|characterSet|compatMode|contentType|cookie|defaultView|designMode|doctype|documentElement|domain|embeds|fgColor|forms|height|images|implementation|lastModified|linkColor|links|plugins|popupNode|referrer|styleSheets|title|tooltipNode|URL|vlinkColor|width|clear|createAttribute|createDocumentFragment|createElement|createElementNS|createEvent|createNSResolver|createRange|createTextNode|createTreeWalker|evaluate|execCommand|getElementById|getElementsByName|importNode|loadOverlay|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandValue|write|writeln)|(attributes|childNodes|className|clientHeight|clientLeft|clientTop|clientWidth|dir|firstChild|id|innerHTML|lang|lastChild|localName|name|namespaceURI|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|ownerDocument|parentNode|prefix|previousSibling|scrollHeight|scrollLeft|scrollTop|scrollWidth|style|tabIndex|tagName|textContent|addEventListener|appendChild|blur|click|cloneNode|dispatchEvent|focus|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getElementsByTagName|getElementsByTagNameNS|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|insertBefore|item|normalize|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|scrollIntoView|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|supports|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onresize)|(altKey|bubbles|button|cancelBubble|cancelable|clientX|clientY|ctrlKey|currentTarget|detail|eventPhase|explicitOriginalTarget|isChar|layerX|layerY|metaKey|originalTarget|pageX|pageY|relatedTarget|screenX|screenY|shiftKey|target|timeStamp|type|view|which|initEvent|initKeyEvent|initMouseEvent|initUIEvent|stopPropagation|preventDefault)|(elements|name|acceptCharset|action|enctype|encoding|method|submit|reset)|(caption|tHead|tFoot|rows|tBodies|align|bgColor|border|cellPadding|cellSpacing|frame|rules|summary|width|createTHead|deleteTHead|createTFoot|deleteTFoot|createCaption|deleteCaption|insertRow|deleteRow)|(content|closed|controllers|crypto|defaultStatus|directories|document|frameElement|frames|history|innerHeight|innerWidth|location|locationbar|menubar|name|navigator|opener|outerHeight|outerWidth|pageXOffset|pageYOffset|parent|personalbar|pkcs11|screen|availTop|availLeft|availHeight|availWidth|colorDepth|height|left|pixelDepth|top|width|scrollbars|scrollMaxX|scrollMaxY|scrollX|scrollY|self|sidebar|status|statusbar|toolbar|window|alert|atob|back|btoa|captureEvents|clearInterval|clearTimeout|close|confirm|dump|escape|find|forward|getAttention|getComputedStyle|getSelection|home|moveBy|moveTo|open|openDialog|print|prompt|releaseEvents|resizeBy|resizeTo|scroll|scrollBy|scrollByLines|scrollByPages|scrollTo|setInterval|setTimeout|sizeToContent|stop|unescape|updateCommands|onabort|onclose|ondragdrop|onerror|onload|onpaint|onreset|onscroll|onselect|onsubmit|onunload)|(XMLHttpRequest)|(length))\b|(\.(?:pop|push|reverse|shift|sort|splice|unshift|concat|join|slice)|(\.(?:getDate|getDay|getFullYear|getHours|getMilliseconds|getMinutes|getMonth|getSeconds|getTime|getTimezoneOffset|getUTCDate|getUTCDay|getUTCFullYear|getUTCHours|getUTCMilliseconds|getUTCMinutes|getUTCMonth|getUTCSeconds|setDate|setFullYear|setHours|setMilliseconds|setMinutes|setMonth|setSeconds|setTime|setUTCDate|setUTCFullYear|setUTCHours|setUTCMilliseconds|setUTCMinutes|setUTCMonth|setUTCSeconds|toDateString|toLocaleDateString|toLocaleTimeString|toTimeString|toUTCString))|(\.(?:apply|call))|(\.(?:toExponential|toFixed|toPrecision))|(\.(?:exec|test))|(\.(?:charAt|charCodeAt|concat|indexOf|lastIndexOf|localeCompare|match|replace|search|slice|split|substr|substring|toLocaleLowerCase|toLocaleUpperCase|toLowerCase|toUpperCase)))(\s*\(|$)/g; // collisions: bgColor, height, width, length, name
|
43 |
jush.links2.js_doc = /(^[ \t]*|\n\s*\*\s*|(?={))(@(?:augments|author|borrows|class|constant|constructor|constructs|default|deprecated|description|event|example|field|fileOverview|function|ignore|inner|lends|memberOf|name|namespace|param|private|property|public|requires|returns|see|since|static|throws|type|version)|(@argument)|(@extends)|(\{@link))(\b)/g;
|
adminer/adminer/externals/jush/modules/jush-textarea.js
CHANGED
@@ -94,7 +94,7 @@ jush.textarea = (function () {
|
|
94 |
event = event || window.event;
|
95 |
if ((event.ctrlKey || event.metaKey) && !event.altKey) {
|
96 |
var isUndo = (event.keyCode == 90); // 90 - z
|
97 |
-
var isRedo = (event.keyCode == 89); // 89 - y
|
98 |
if (isUndo || isRedo) {
|
99 |
if (isRedo) {
|
100 |
if (this.jushUndoPos + 1 < this.jushUndo.length) {
|
94 |
event = event || window.event;
|
95 |
if ((event.ctrlKey || event.metaKey) && !event.altKey) {
|
96 |
var isUndo = (event.keyCode == 90); // 90 - z
|
97 |
+
var isRedo = (event.keyCode == 89 || (event.keyCode == 90 && event.shiftKey)); // 89 - y
|
98 |
if (isUndo || isRedo) {
|
99 |
if (isRedo) {
|
100 |
if (this.jushUndoPos + 1 < this.jushUndo.length) {
|
ari-adminer.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: ARI Adminer
|
4 |
Plugin URI: http://wp-quiz.ari-soft.com/plugins/wordpress-adminer.html
|
5 |
Description: Powerful, compact and easy to use database manager plugin for WordPress.
|
6 |
-
Version: 1.1.
|
7 |
Author: ARI Soft
|
8 |
Author URI: http://www.ari-soft.com
|
9 |
Text Domain: ari-adminer
|
3 |
Plugin Name: ARI Adminer
|
4 |
Plugin URI: http://wp-quiz.ari-soft.com/plugins/wordpress-adminer.html
|
5 |
Description: Powerful, compact and easy to use database manager plugin for WordPress.
|
6 |
+
Version: 1.1.2
|
7 |
Author: ARI Soft
|
8 |
Author URI: http://www.ari-soft.com
|
9 |
Text Domain: ari-adminer
|
includes/defines.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
define( 'ARIADMINER_VERSION', '1.1.
|
3 |
define( 'ARIADMINER_SLUG', 'ari-adminer' );
|
4 |
define( 'ARIADMINER_ASSETS_URL', ARIADMINER_URL . 'assets/' );
|
5 |
define( 'ARIADMINER_VERSION_OPTION', 'ari_adminer' );
|
1 |
<?php
|
2 |
+
define( 'ARIADMINER_VERSION', '1.1.2' );
|
3 |
define( 'ARIADMINER_SLUG', 'ari-adminer' );
|
4 |
define( 'ARIADMINER_ASSETS_URL', ARIADMINER_URL . 'assets/' );
|
5 |
define( 'ARIADMINER_VERSION_OPTION', 'ari_adminer' );
|
includes/helpers/class-bridge.php
CHANGED
@@ -62,6 +62,22 @@ class Bridge {
|
|
62 |
$content
|
63 |
);
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
return $content;
|
66 |
}
|
67 |
|
62 |
$content
|
63 |
);
|
64 |
|
65 |
+
$content = preg_replace_callback(
|
66 |
+
'/<input [^>]*>/i',
|
67 |
+
function( $matches ) {
|
68 |
+
return str_replace(
|
69 |
+
array(
|
70 |
+
'../adminer/static/',
|
71 |
+
),
|
72 |
+
array(
|
73 |
+
'adminer/adminer/static/',
|
74 |
+
),
|
75 |
+
$matches[0]
|
76 |
+
);
|
77 |
+
},
|
78 |
+
$content
|
79 |
+
);
|
80 |
+
|
81 |
return $content;
|
82 |
}
|
83 |
|
includes/utils/dbcheck/drivers/class-pgsql.php
CHANGED
@@ -55,6 +55,10 @@ class Pgsql extends Driver {
|
|
55 |
if ( $conn ) {
|
56 |
$result = true;
|
57 |
}
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
|
60 |
return $result;
|
55 |
if ( $conn ) {
|
56 |
$result = true;
|
57 |
}
|
58 |
+
} else {
|
59 |
+
$this->set_error(
|
60 |
+
'The plugin requires PostgreSQL or PDO PostgreSQL PHP extension to connect to PostgreSQL databases. None of them is installed on your server.'
|
61 |
+
);
|
62 |
}
|
63 |
|
64 |
return $result;
|
includes/views/adminer-runner/tmpl/default.php
CHANGED
@@ -40,6 +40,9 @@ $run_url = Helper::build_url(
|
|
40 |
<li>
|
41 |
<a href="http://wp-quiz.ari-soft.com" target="_blank" title="Viral Quiz Builder for WordPress"><strong>ARI Stream Quiz</strong><?php _e( ' is viral quiz builder', 'ari-adminer' ); ?></a>
|
42 |
</li>
|
|
|
|
|
|
|
43 |
</ul>
|
44 |
</div>
|
45 |
</div>
|
40 |
<li>
|
41 |
<a href="http://wp-quiz.ari-soft.com" target="_blank" title="Viral Quiz Builder for WordPress"><strong>ARI Stream Quiz</strong><?php _e( ' is viral quiz builder', 'ari-adminer' ); ?></a>
|
42 |
</li>
|
43 |
+
<li>
|
44 |
+
<a href="https://wordpress.org/plugins/ari-cf7-connector/" target="_blank" title="Contact From 7 Connector"><strong>Contact Form 7 Connector</strong><?php _e( ' integrates CF7 with MailChimp', 'ari-adminer' ); ?></a>
|
45 |
+
</li>
|
46 |
</ul>
|
47 |
</div>
|
48 |
</div>
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: arisoft
|
|
3 |
Donate link: http://wp-quiz.ari-soft.com/plugins/wordpress-adminer.html
|
4 |
Tags: adminer, sql, database, mysql, report, sqlite, table, postgresql, dump, backup, import, export, phpmyadmin
|
5 |
Requires at least: 3.4
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 1.1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -43,7 +43,12 @@ More information can be found in [user's guide](http://www.ari-soft.com/docs/wor
|
|
43 |
|
44 |
**Do you like the plugin and want to say about it?** Write a review and get a rating [here](https://wordpress.org/support/plugin/ari-adminer/reviews/).
|
45 |
|
46 |
-
**Are interested in other our WordPress plugins?**
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
|
49 |
== Installation ==
|
@@ -69,6 +74,10 @@ Sure, it is available [here](http://www.ari-soft.com/docs/wordpress/ari-adminer/
|
|
69 |
|
70 |
== Changelog ==
|
71 |
|
|
|
|
|
|
|
|
|
72 |
= 1.1.1 =
|
73 |
* Improve installer
|
74 |
|
@@ -105,6 +114,10 @@ Sure, it is available [here](http://www.ari-soft.com/docs/wordpress/ari-adminer/
|
|
105 |
|
106 |
== Upgrade Notice ==
|
107 |
|
|
|
|
|
|
|
|
|
108 |
= 1.1.1 =
|
109 |
* Improve installer
|
110 |
|
3 |
Donate link: http://wp-quiz.ari-soft.com/plugins/wordpress-adminer.html
|
4 |
Tags: adminer, sql, database, mysql, report, sqlite, table, postgresql, dump, backup, import, export, phpmyadmin
|
5 |
Requires at least: 3.4
|
6 |
+
Tested up to: 4.8.0
|
7 |
+
Stable tag: 1.1.2
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
43 |
|
44 |
**Do you like the plugin and want to say about it?** Write a review and get a rating [here](https://wordpress.org/support/plugin/ari-adminer/reviews/).
|
45 |
|
46 |
+
**Are interested in other our WordPress plugins?**
|
47 |
+
Check [ARI Fancy Lightbox](https://wordpress.org/plugins/ari-fancy-lightbox/) is the best lightbox plugin with social and viral features.
|
48 |
+
|
49 |
+
[ARI Stream Quiz](https://wordpress.org/plugins/ari-stream-quiz/) is WordPress Viral Quiz Builder plugin.
|
50 |
+
|
51 |
+
[Contact Form 7 MailChimp Connector](https://wordpress.org/plugins/ari-cf7-connector/) integrates CF7 with MailChimp service.
|
52 |
|
53 |
|
54 |
== Installation ==
|
74 |
|
75 |
== Changelog ==
|
76 |
|
77 |
+
= 1.1.2 =
|
78 |
+
* Update Adminer to v. 4.3.1
|
79 |
+
* Check installed PHP extensions for PostgreSQL
|
80 |
+
|
81 |
= 1.1.1 =
|
82 |
* Improve installer
|
83 |
|
114 |
|
115 |
== Upgrade Notice ==
|
116 |
|
117 |
+
= 1.1.2 =
|
118 |
+
* Update Adminer to v. 4.3.1
|
119 |
+
* Check installed PHP extensions for PostgreSQL
|
120 |
+
|
121 |
= 1.1.1 =
|
122 |
* Improve installer
|
123 |
|