Subversion Repositories oidplus

Rev

Rev 380 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
150 daniel-mar 1
<?php
2
 
3
/*
4
 * OIDplus 2.0
5
 * Copyright 2019 Daniel Marschall, ViaThinkSoft
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 *     http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 */
19
 
246 daniel-mar 20
class OIDplusDatabasePluginPDO extends OIDplusDatabasePlugin {
150 daniel-mar 21
 
275 daniel-mar 22
        public static function id(): string {
150 daniel-mar 23
                return "PDO";
24
        }
25
 
305 daniel-mar 26
        public static function newConnection(): OIDplusDatabaseConnection {
295 daniel-mar 27
                return new OIDplusDatabaseConnectionPDO();
150 daniel-mar 28
        }
236 daniel-mar 29
 
305 daniel-mar 30
        public static function setupHTML(): string {
362 daniel-mar 31
                return '<div id="DBPLUGIN_PARAMS_PDO">'.
32
                       '        <p>PDO DSN (<a href="https://www.php.net/manual/de/pdo.drivers.php" target="_blank">more information</a>):<br><input id="pdo_dsn" type="text" value="mysql:dbname=oidplus;host=localhost" onkeypress="rebuild()" onkeyup="rebuild()" style="width:600px">  <span id="pdo_dsn_warn"></span>'.
33
                       '        <br><font size="-1">'._L('Example for MySQL/MariaDB').': <i>mysql:dbname=oidplus;host=localhost;port=3306</i>'.
34
                       '        <br>'._L('Example for PostgreSQL').':    <i>pgsql:dbname=oidplus;host=localhost;port=5432</i></font></p>'.
35
                       ''.
36
                       '        <p>'._L('PDO Username').':<br><input id="pdo_username" type="text" value="root" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_username_warn"></span></p>'.
37
                       '        <p>'._L('PDO Password').':<br><input id="pdo_password" type="password" value="" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_password_warn"></span></p>'.
38
                       '        <p>'._L('Which DBMS (SQL dialect) is used?').'<br>'.
39
                       '        <i>'._L('Attention: If your DBMS is not listed, OIDplus will most likely not work. If you know that your DBMS is compatible with one of these listed SQL dialects, you can choose that dialect.').'</i><br>'.
40
                       '        <select name="pdo_slang" id="pdo_slang" onChange="dbplugin_changed()">'.
41
                       '        <!-- %SQL_SLANG_SELECTION% -->'.
42
                       '        </select></p></div>'.
43
                       '</div>';
305 daniel-mar 44
        }
362 daniel-mar 45
 
46
        public static function setupJS(): string {
410 daniel-mar 47
                if (file_exists(__DIR__ . '/'.get_called_class().'Setup.js')) {
48
                        return file_get_contents(__DIR__ . '/'.get_called_class().'Setup.js');
380 daniel-mar 49
                } else {
50
                        return '';
51
                }
362 daniel-mar 52
        }
380 daniel-mar 53
 
54
        public static function setupCSS(): string {
410 daniel-mar 55
                if (file_exists(__DIR__ . '/'.get_called_class().'Setup.css')) {
56
                        return file_get_contents(__DIR__ . '/'.get_called_class().'Setup.css');
380 daniel-mar 57
                } else {
58
                        return '';
59
                }
60
        }
150 daniel-mar 61
}