From cd8c8ef9cccf9695acc4be3f3052a3a6a1d22fed Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 15 Jun 2015 12:53:25 -0400 Subject: [PATCH] =?UTF-8?q?PM-2930-2895=20MSSQL=20(http://php.net/manual/e?= =?UTF-8?q?n/intro.mssql.php)=20These=20functions=20allow=20you=20to=20acc?= =?UTF-8?q?ess=20MS=20SQL=20Server=20database.=20This=20extension=20is=20n?= =?UTF-8?q?ot=20available=20anymore=20on=20Windows=20with=20PHP=205.3=20or?= =?UTF-8?q?=20later.=20SQLSRV,=20an=20alternative=20extension=20for=20MS?= =?UTF-8?q?=20SQL=20connectivity=20is=20available=20from=20Microsoft:=20?= =?UTF-8?q?=C2=BB=20http://msdn.microsoft.com/en-us/sqlserver/ff657782.asp?= =?UTF-8?q?x.=20Alternatively=20to=20use=20the=20mssql=20functions=20in=20?= =?UTF-8?q?Windows,=20use=20php=5Fdblib.dll=20(FreeTDS)=20http://www.freet?= =?UTF-8?q?ds.org/=20e.g.=20php.ini=20setting=20extension=3Dphp=5Fdblib.dl?= =?UTF-8?q?l=20php=5Fdblib.dll=20(FreeTDS)=20use=20':'=20as=20the=20delimi?= =?UTF-8?q?ter=20in=20all=20installations.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creole/drivers/mssql/MSSQLConnection.php | 17 +++++++++++++++++ workflow/engine/classes/class.dbConnections.php | 10 +++++++--- workflow/engine/controllers/pmTablesProxy.php | 2 +- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/gulliver/thirdparty/creole/drivers/mssql/MSSQLConnection.php b/gulliver/thirdparty/creole/drivers/mssql/MSSQLConnection.php index 688eb48bd..0c3e1db2c 100755 --- a/gulliver/thirdparty/creole/drivers/mssql/MSSQLConnection.php +++ b/gulliver/thirdparty/creole/drivers/mssql/MSSQLConnection.php @@ -69,11 +69,28 @@ class MSSQLConnection extends ConnectionCommon implements Connection { $pw = $dsninfo['password']; $dbhost = $dsninfo['hostspec'] ? $dsninfo['hostspec'] : 'localhost'; + /** + * MSSQL (http://php.net/manual/en/intro.mssql.php) + * These functions allow you to access MS SQL Server database. + * This extension is not available anymore on Windows with PHP 5.3 or later. + * SQLSRV, an alternative extension for MS SQL connectivity is available from + * Microsoft: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx. + * http://blogs.msdn.com/b/brian_swan/archive/2010/03/08/mssql-vs-sqlsrv-what-s-the-difference-part-1.aspx + * + * Alternatively to use the mssql functions in Windows, use php_dblib.dll (FreeTDS) http://www.freetds.org/ + * e.g. php.ini setting + * extension=php_dblib.dll + * + * php_dblib.dll (FreeTDS) use ':' as the delimiter in all installations. + */ + /* if (PHP_OS == "WINNT" || PHP_OS == "WIN32") { $portDelimiter = ","; } else { $portDelimiter = ":"; } + */ + $portDelimiter = ":"; if(!empty($dsninfo['port'])) { $dbhost .= $portDelimiter.$dsninfo['port']; diff --git a/workflow/engine/classes/class.dbConnections.php b/workflow/engine/classes/class.dbConnections.php index ec4ac1aa7..462932612 100755 --- a/workflow/engine/classes/class.dbConnections.php +++ b/workflow/engine/classes/class.dbConnections.php @@ -136,10 +136,13 @@ class dbConnections /** * getConnectionsProUid * - * @param string $pType + * Parameter $only list of items displayed, everything else is ignored. + * + * @param string $pProUid + * @param string $only * @return Array $connections */ - public function getConnectionsProUid ($pProUid) + public function getConnectionsProUid ($pProUid, $only = array()) { $connections = Array (); $c = new Criteria(); @@ -155,8 +158,9 @@ class dbConnections $result->next(); $row = $result->getRow(); + $sw = count($only) > 0; while ($row = $result->getRow()) { - if ((trim( $pProUid ) == trim( $row[1] )) && ($row[2] == 'mysql')) { + if ((trim( $pProUid ) == trim( $row[1] )) && ( $sw ? in_array($row[2], $only) : true )) { $connections[] = Array ('DBS_UID' => $row[0],'DBS_NAME' => '[' . $row[3] . '] ' . $row[2] . ': ' . $row[4] ); } diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index d7def0d0b..577daadab 100755 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -116,7 +116,7 @@ class pmTablesProxy extends HttpProxyController G::LoadClass( 'dbConnections' ); $proUid = $_POST['PRO_UID']; $dbConn = new DbConnections(); - $dbConnections = $dbConn->getConnectionsProUid( $proUid ); + $dbConnections = $dbConn->getConnectionsProUid( $proUid, array('mysql') ); $workSpace = new workspaceTools(SYS_SYS); $workspaceDB = $workSpace->getDBInfo();