Subversion Repositories oidplus

Rev

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

Rev Author Line No. Line
635 daniel-mar 1
<?php
2
 
3
/*
4
 * OIDplus 2.0
1086 daniel-mar 5
 * Copyright 2019 - 2023 Daniel Marschall, ViaThinkSoft
635 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
 
1050 daniel-mar 20
namespace ViaThinkSoft\OIDplus;
635 daniel-mar 21
 
1086 daniel-mar 22
// phpcs:disable PSR1.Files.SideEffects
23
\defined('INSIDE_OIDPLUS') or die;
24
// phpcs:enable PSR1.Files.SideEffects
25
 
635 daniel-mar 26
class OIDplusDatabasePluginPDO extends OIDplusDatabasePlugin {
27
 
1116 daniel-mar 28
        /**
29
         * @return string
30
         */
635 daniel-mar 31
        public static function id(): string {
32
                return "PDO";
33
        }
34
 
1116 daniel-mar 35
        /**
36
         * @return OIDplusDatabaseConnection
37
         */
635 daniel-mar 38
        public static function newConnection(): OIDplusDatabaseConnection {
39
                return new OIDplusDatabaseConnectionPDO();
40
        }
41
 
1116 daniel-mar 42
        /**
43
         * @return string
44
         */
635 daniel-mar 45
        public static function setupHTML(): string {
46
                return '<div id="DBPLUGIN_PARAMS_PDO">'.
1173 daniel-mar 47
                       '        <p>PDO DSN (<a href="https://www.php.net/manual/de/pdo.drivers.php" target="_blank">'._L('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>'.
48
                       // TODO: Show these examples based on the slang the user chooses
1217 daniel-mar 49
                       '        <br><font size="-1">'._L('Example for MySQL/MariaDB').': <i>mysql:dbname=oidplus;host=localhost;port=3306;charset=utf8mb4</i>'.
1173 daniel-mar 50
                       '        <br>'._L('Example for PostgreSQL').': <i>pgsql:dbname=oidplus;host=localhost;port=5432</i>'.
1231 daniel-mar 51
                       '        <br>'._L('Example for SQL Server').': <i>odbc:DRIVER={SQL Server};SERVER=localhost\oidplus;DATABASE=oidplus;CHARSET=UTF8</i>'.
1173 daniel-mar 52
                       '        <br>'._L('Example for Microsoft Access').': <i>odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\inetpub\wwwroot\oidplus\trunk\userdata\database\oidplus.accdb;</i></font></p>'.
635 daniel-mar 53
                       '        <p>'._L('PDO Username').':<br><input id="pdo_username" type="text" value="root" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_username_warn"></span></p>'.
54
                       '        <p>'._L('PDO Password').':<br><input id="pdo_password" type="password" value="" onkeypress="rebuild()" onkeyup="rebuild()">  <span id="pdo_password_warn"></span></p>'.
55
                       '        <p>'._L('Which DBMS (SQL dialect) is used?').'<br>'.
56
                       '        <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>'.
57
                       '        <select name="pdo_slang" id="pdo_slang" onChange="dbplugin_changed()">'.
58
                       '        <!-- %SQL_SLANG_SELECTION% -->'.
59
                       '        </select></p>'.
60
                       '</div>';
61
        }
62
 
63
}