Adminer - Extensions

Both Adminer and Editor offers support for extensions. It is possible to overwrite some default Adminer functionality by a custom code. All you need is to define the adminer_object function which returns an object extending the basic Adminer\Adminer class. Then just include the original adminer.php or editor.php:

<?php
function adminer_object() {
  
  class AdminerSoftware extends Adminer\Adminer {
    
    function name() {
      // custom name in title and heading
      return 'Software';
    }
    
    function permanentLogin() {
      // key used for permanent login
      return '794326763fa9c470332e8f14bc2fd8ad';
    }
    
    function credentials() {
      // server, username and password for connecting to database
      return array('localhost', 'ODBC', '');
    }
    
    function database() {
      // database name, will be escaped by Adminer
      return 'software';
    }
    
    function login($login, $password) {
      // validate user submitted credentials
      return ($login == 'admin' && $password == 'gSabe7J4');
    }
    
    function tableName($tableStatus) {
      // tables without comments would return empty string and will be ignored by Adminer
      return Adminer\h($tableStatus['Comment']);
    }
    
    function fieldName($field, $order = 0) {
      // only columns with comments will be displayed and only the first five in select
      return ($order <= 5 && !preg_match('~_(md5|sha1)$~', $field['field']) ? Adminer\h($field['comment']) : '');
    }
    
  }
  
  return new AdminerSoftware;
}

include './editor.php';

To create an Adminer Editor customization for other drivers than MySQL, you have to define own loginForm method and fill the auth[driver] field value by your driver (pgsql, sqlite, ...). You usually also need to implement the database method. Example: editor/sqlite.php.

Adminer also supports plugins which are ready to use extensions.

API reference

Adminer screenshot with extension methods

Everything is inside the namespace Adminer. Type aliases

The object can overwrite following methods:

It is possible to use following functions in namespace Adminer.

HTML helpers:

Language specific functions:

Driver specific functions:

Driver:

Adminer specific functions:

Editor specific functions: