Subversion Repositories oidplus

Rev

Rev 411 | 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
511 daniel-mar 5
 * Copyright 2019 - 2021 Daniel Marschall, ViaThinkSoft
150 daniel-mar 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
 
511 daniel-mar 20
if (!defined('INSIDE_OIDPLUS')) die();
21
 
246 daniel-mar 22
class OIDplusDatabasePluginPDO extends OIDplusDatabasePlugin {
150 daniel-mar 23
 
275 daniel-mar 24
        public static function id(): string {
150 daniel-mar 25
                return "PDO";
26
        }
27
 
305 daniel-mar 28
        public static function newConnection(): OIDplusDatabaseConnection {
295 daniel-mar 29
                return new OIDplusDatabaseConnectionPDO();
150 daniel-mar 30
        }
236 daniel-mar 31
 
305 daniel-mar 32
        public static function setupHTML(): string {
362 daniel-mar 33
                return '<div id="DBPLUGIN_PARAMS_PDO">'.
34
                       '        <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>'.
35
                       '        <br><font size="-1">'._L('Example for MySQL/MariaDB').': <i>mysql:dbname=oidplus;host=localhost;port=3306</i>'.
36
                       '        <br>'._L('Example for PostgreSQL').':    <i>pgsql:dbname=oidplus;host=localhost;port=5432</i></font></p>'.
37
                       ''.
38
                       '        <p>'._L('PDO Username').':<br><input id="pdo_username" type="text" value="root" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_username_warn"></span></p>'.
39
                       '        <p>'._L('PDO Password').':<br><input id="pdo_password" type="password" value="" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_password_warn"></span></p>'.
40
                       '        <p>'._L('Which DBMS (SQL dialect) is used?').'<br>'.
41
                       '        <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>'.
42
                       '        <select name="pdo_slang" id="pdo_slang" onChange="dbplugin_changed()">'.
43
                       '        <!-- %SQL_SLANG_SELECTION% -->'.
44
                       '        </select></p></div>'.
45
                       '</div>';
305 daniel-mar 46
        }
362 daniel-mar 47
 
150 daniel-mar 48
}