Process of building a new workflow from MSSQL
This commit is contained in:
@@ -1527,8 +1527,9 @@ class G
|
||||
* @param string $sqlString The string to be escaped
|
||||
* @param string $DBEngine Target DBMS
|
||||
*/
|
||||
function sqlEscape( $sqlString, $DBEngine = 'mysql' )
|
||||
function sqlEscape( $sqlString, $DBEngine = DB_ADAPTER )
|
||||
{
|
||||
$DBEngine = DB_ADAPTER;
|
||||
switch($DBEngine){
|
||||
case 'mysql':
|
||||
$con = Propel::getConnection('workflow') ;
|
||||
|
||||
@@ -34,9 +34,10 @@ CREATE TABLE [PERMISSIONS]
|
||||
(
|
||||
[PER_UID] VARCHAR(32) default '' NOT NULL,
|
||||
[PER_CODE] VARCHAR(32) default '' NOT NULL,
|
||||
[PER_CREATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[PER_UPDATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[PER_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[PER_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[PER_STATUS] INT default 1 NOT NULL,
|
||||
[PER_SYSTEM] VARCHAR(32) default '00000000000000000000000000000002' NOT NULL,
|
||||
CONSTRAINT PERMISSIONS_PK PRIMARY KEY ([PER_UID])
|
||||
);
|
||||
|
||||
@@ -77,8 +78,8 @@ CREATE TABLE [ROLES]
|
||||
[ROL_PARENT] VARCHAR(32) default '' NOT NULL,
|
||||
[ROL_SYSTEM] VARCHAR(32) default '' NOT NULL,
|
||||
[ROL_CODE] VARCHAR(32) default '' NOT NULL,
|
||||
[ROL_CREATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[ROL_UPDATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[ROL_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[ROL_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[ROL_STATUS] INT default 1 NOT NULL,
|
||||
CONSTRAINT ROLES_PK PRIMARY KEY ([ROL_UID])
|
||||
);
|
||||
@@ -156,18 +157,18 @@ CREATE TABLE [SYSTEMS]
|
||||
(
|
||||
[SYS_UID] VARCHAR(32) default '' NOT NULL,
|
||||
[SYS_CODE] VARCHAR(32) default '' NOT NULL,
|
||||
[SYS_CREATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[SYS_UPDATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[SYS_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[SYS_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[SYS_STATUS] INT default 0 NOT NULL,
|
||||
CONSTRAINT SYSTEMS_PK PRIMARY KEY ([SYS_UID])
|
||||
);
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
/* USERS */
|
||||
/* RBAC_USERS */
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'USERS')
|
||||
IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'RBAC_USERS')
|
||||
BEGIN
|
||||
DECLARE @reftable_5 nvarchar(60), @constraintname_5 nvarchar(60)
|
||||
DECLARE refcursor CURSOR FOR
|
||||
@@ -179,7 +180,7 @@ BEGIN
|
||||
where tables.id = ref.rkeyid
|
||||
and cons.id = ref.constid
|
||||
and reftables.id = ref.fkeyid
|
||||
and tables.name = 'USERS'
|
||||
and tables.name = 'RBAC_USERS'
|
||||
OPEN refcursor
|
||||
FETCH NEXT from refcursor into @reftable_5, @constraintname_5
|
||||
while @@FETCH_STATUS = 0
|
||||
@@ -189,11 +190,11 @@ BEGIN
|
||||
END
|
||||
CLOSE refcursor
|
||||
DEALLOCATE refcursor
|
||||
DROP TABLE [USERS]
|
||||
DROP TABLE [RBAC_USERS]
|
||||
END
|
||||
|
||||
|
||||
CREATE TABLE [USERS]
|
||||
CREATE TABLE [RBAC_USERS]
|
||||
(
|
||||
[USR_UID] VARCHAR(32) default '' NOT NULL,
|
||||
[USR_USERNAME] VARCHAR(100) default '' NOT NULL,
|
||||
@@ -201,11 +202,15 @@ CREATE TABLE [USERS]
|
||||
[USR_FIRSTNAME] VARCHAR(50) default '' NOT NULL,
|
||||
[USR_LASTNAME] VARCHAR(50) default '' NOT NULL,
|
||||
[USR_EMAIL] VARCHAR(100) default '' NOT NULL,
|
||||
[USR_DUE_DATE] DATETIME default '0000-00-00' NOT NULL,
|
||||
[USR_CREATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_UPDATE_DATE] DATETIME default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_DUE_DATE] CHAR(19) default '0000-00-00' NOT NULL,
|
||||
[USR_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_STATUS] INT default 1 NOT NULL,
|
||||
CONSTRAINT USERS_PK PRIMARY KEY ([USR_UID])
|
||||
[USR_AUTH_TYPE] VARCHAR(32) default '' NOT NULL,
|
||||
[UID_AUTH_SOURCE] VARCHAR(32) default '' NOT NULL,
|
||||
[USR_AUTH_USER_DN] VARCHAR(MAX) NULL,
|
||||
[USR_AUTH_SUPERVISOR_DN] VARCHAR(255) default '' NOT NULL,
|
||||
CONSTRAINT RBAC_USERS_PK PRIMARY KEY ([USR_UID])
|
||||
);
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@@ -245,3 +250,112 @@ CREATE TABLE [USERS_ROLES]
|
||||
[ROL_UID] VARCHAR(32) default '' NOT NULL,
|
||||
CONSTRAINT USERS_ROLES_PK PRIMARY KEY ([USR_UID],[ROL_UID])
|
||||
);
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
/* AUTHENTICATION_SOURCE */
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'AUTHENTICATION_SOURCE')
|
||||
BEGIN
|
||||
DECLARE @reftable_7 nvarchar(60), @constraintname_7 nvarchar(60)
|
||||
DECLARE refcursor CURSOR FOR
|
||||
select reftables.name tablename, cons.name constraintname
|
||||
from sysobjects tables,
|
||||
sysobjects reftables,
|
||||
sysobjects cons,
|
||||
sysreferences ref
|
||||
where tables.id = ref.rkeyid
|
||||
and cons.id = ref.constid
|
||||
and reftables.id = ref.fkeyid
|
||||
and tables.name = 'AUTHENTICATION_SOURCE'
|
||||
OPEN refcursor
|
||||
FETCH NEXT from refcursor into @reftable_7, @constraintname_7
|
||||
while @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
exec ('alter table '+@reftable_7+' drop constraint '+@constraintname_7)
|
||||
FETCH NEXT from refcursor into @reftable_7, @constraintname_7
|
||||
END
|
||||
CLOSE refcursor
|
||||
DEALLOCATE refcursor
|
||||
DROP TABLE [AUTHENTICATION_SOURCE]
|
||||
END
|
||||
|
||||
|
||||
CREATE TABLE [AUTHENTICATION_SOURCE]
|
||||
(
|
||||
[AUTH_SOURCE_UID] VARCHAR(32) default '' NOT NULL,
|
||||
[AUTH_SOURCE_NAME] VARCHAR(50) default '' NOT NULL,
|
||||
[AUTH_SOURCE_PROVIDER] VARCHAR(20) default '' NOT NULL,
|
||||
[AUTH_SOURCE_SERVER_NAME] VARCHAR(50) default '' NOT NULL,
|
||||
[AUTH_SOURCE_PORT] INT default 389 NULL,
|
||||
[AUTH_SOURCE_ENABLED_TLS] INT default 0 NULL,
|
||||
[AUTH_SOURCE_VERSION] VARCHAR(16) default '3' NOT NULL,
|
||||
[AUTH_SOURCE_BASE_DN] VARCHAR(128) default '' NOT NULL,
|
||||
[AUTH_ANONYMOUS] INT default 0 NULL,
|
||||
[AUTH_SOURCE_SEARCH_USER] VARCHAR(128) default '' NOT NULL,
|
||||
[AUTH_SOURCE_PASSWORD] VARCHAR(32) default '' NOT NULL,
|
||||
[AUTH_SOURCE_ATTRIBUTES] VARCHAR(255) default '' NOT NULL,
|
||||
[AUTH_SOURCE_OBJECT_CLASSES] VARCHAR(255) default '' NOT NULL,
|
||||
[AUTH_SOURCE_DATA] TEXT NULL,
|
||||
CONSTRAINT AUTHENTICATION_SOURCE_PK PRIMARY KEY ([AUTH_SOURCE_UID])
|
||||
);
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
/* USERS */
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'USERS')
|
||||
BEGIN
|
||||
DECLARE @reftable_5 nvarchar(60), @constraintname_5 nvarchar(60)
|
||||
DECLARE refcursor CURSOR FOR
|
||||
select reftables.name tablename, cons.name constraintname
|
||||
from sysobjects tables,
|
||||
sysobjects reftables,
|
||||
sysobjects cons,
|
||||
sysreferences ref
|
||||
where tables.id = ref.rkeyid
|
||||
and cons.id = ref.constid
|
||||
and reftables.id = ref.fkeyid
|
||||
and tables.name = 'USERS'
|
||||
OPEN refcursor
|
||||
FETCH NEXT from refcursor into @reftable_5, @constraintname_5
|
||||
while @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
exec ('alter table '+@reftable_5+' drop constraint '+@constraintname_5)
|
||||
FETCH NEXT from refcursor into @reftable_5, @constraintname_5
|
||||
END
|
||||
CLOSE refcursor
|
||||
DEALLOCATE refcursor
|
||||
DROP TABLE [USERS]
|
||||
END
|
||||
|
||||
CREATE TABLE [USERS]
|
||||
(
|
||||
[USR_UID] VARCHAR(32) default '' NOT NULL,
|
||||
[USR_USERNAME] VARCHAR(100) default '' NOT NULL,
|
||||
[USR_PASSWORD] VARCHAR(32) default '' NOT NULL,
|
||||
[USR_FIRSTNAME] VARCHAR(50) default '' NOT NULL,
|
||||
[USR_LASTNAME] VARCHAR(50) default '' NOT NULL,
|
||||
[USR_EMAIL] VARCHAR(100) default '' NOT NULL,
|
||||
[USR_DUE_DATE] CHAR(19) default '0000-00-00' NOT NULL,
|
||||
[USR_CREATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_UPDATE_DATE] CHAR(19) default '0000-00-00 00:00:00' NOT NULL,
|
||||
[USR_STATUS] INT default 1 NOT NULL,
|
||||
|
||||
[USR_AUTH_TYPE] VARCHAR(32) NOT NULL DEFAULT ('MSSQL'),
|
||||
[UID_AUTH_SOURCE] VARCHAR(32) NOT NULL DEFAULT ('00000000000000000000000000000000'),
|
||||
[USR_AUTH_USER_DN] VARCHAR(255) NOT NULL,
|
||||
[USR_AUTH_SUPERVISOR_DN] VARCHAR(255) NULL,
|
||||
|
||||
[USR_REPLACED_BY] varchar(32) NULL,
|
||||
[USR_REPORTS_TO] varchar(32) NULL,
|
||||
|
||||
|
||||
CONSTRAINT USERS_PK PRIMARY KEY ([USR_UID])
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -559,11 +559,21 @@ class ReportTables
|
||||
*/
|
||||
function tableExist()
|
||||
{
|
||||
/*
|
||||
$bExists = true;
|
||||
$oConnection = mysql_connect(DB_HOST, DB_USER, DB_PASS);
|
||||
mysql_select_db(DB_NAME);
|
||||
$oDataset = mysql_query('SELECT COUNT(*) FROM REPORT_TABLE') || ($bExists = false);
|
||||
return $bExists;
|
||||
*/
|
||||
$bExists = true;
|
||||
$sDataBase = 'database_' . strtolower(DB_ADAPTER);
|
||||
if(G::LoadSystemExist($sDataBase)){
|
||||
G::LoadSystem($sDataBase);
|
||||
$oDataBase = new database();
|
||||
$bExists = $oDataBase->reportTableExist();
|
||||
}
|
||||
return $bExists;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,7 +28,8 @@ class CalendarDefinition extends BaseCalendarDefinition {
|
||||
$Criteria->addSelectColumn ( CalendarDefinitionPeer::CALENDAR_UPDATE_DATE );
|
||||
$Criteria->addSelectColumn ( CalendarDefinitionPeer::CALENDAR_DESCRIPTION );
|
||||
$Criteria->addSelectColumn ( CalendarDefinitionPeer::CALENDAR_STATUS );
|
||||
$Criteria->addAsColumn('DELETABLE', "IF (CALENDAR_UID <> '00000000000000000000000000000001', '".G::LoadTranslation('ID_DELETE')."','') ");
|
||||
// $Criteria->addAsColumn('DELETABLE', "IF (CALENDAR_UID <> '00000000000000000000000000000001', '".G::LoadTranslation('ID_DELETE')."','') ");
|
||||
$Criteria->addAsColumn('DELETABLE', "CASE WHEN CALENDAR_UID <> '00000000000000000000000000000001' THEN '".G::LoadTranslation('ID_DELETE')."' ELSE '' END ");
|
||||
// Note: This list doesn't show deleted items (STATUS = DELETED)
|
||||
if ($onlyActive) { // Show only active. Used on assignment lists
|
||||
$Criteria->add ( calendarDefinitionPeer::CALENDAR_STATUS, "ACTIVE", CRITERIA::EQUAL );
|
||||
|
||||
@@ -489,7 +489,7 @@ class Process extends BaseProcess {
|
||||
$oCriteria->addSelectColumn(ProcessCategoryPeer::TABLE_NAME . '.*');
|
||||
|
||||
$oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL);
|
||||
$oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID);
|
||||
$oCriteria->addJoin(ProcessPeer::PRO_CREATE_USER, UsersPeer::USR_UID, Criteria::INNER_JOIN);
|
||||
$oCriteria->addJoin(ProcessPeer::PRO_CATEGORY, ProcessCategoryPeer::CATEGORY_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->addDescendingOrderByColumn(ProcessPeer::PRO_CREATE_DATE);
|
||||
|
||||
|
||||
@@ -60,6 +60,10 @@
|
||||
|
||||
define( 'FILE_PATHS_INSTALLED', PATH_CORE . 'config' . PATH_SEP . 'paths_installed.php' );
|
||||
|
||||
define( 'PATH_WORKFLOW_MSSQL_DATA', PATH_CORE . 'data' . PATH_SEP.'mssql'.PATH_SEP);
|
||||
define( 'PATH_RBAC_MSSQL_DATA', PATH_RBAC_CORE . 'data' . PATH_SEP.'mssql'.PATH_SEP);
|
||||
|
||||
|
||||
//************ include Gulliver Class **************
|
||||
require_once( PATH_GULLIVER . PATH_SEP . 'class.g.php');
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -26,6 +26,7 @@
|
||||
|
||||
if(isset($_POST['form']['NW_TITLE']))
|
||||
{
|
||||
/*--
|
||||
$action = (isset($_POST['form']['ACTION']))?trim($_POST['form']['ACTION']):'test';
|
||||
G::LoadClass('Installer');
|
||||
G::LoadClass('json');
|
||||
@@ -60,11 +61,88 @@ if(isset($_POST['form']['NW_TITLE']))
|
||||
$result['result']['action']=$action;
|
||||
//print_r($inst);
|
||||
$json = new Services_JSON();
|
||||
--*/
|
||||
/*$ec;
|
||||
$ec->created=($new)?true:false;
|
||||
$ec->name=$name;
|
||||
$ec->message=($new)?"Workspace created":"Workspace already exists or Name invalid";*/
|
||||
//-- echo $json->encode($result);
|
||||
|
||||
/*--------------------------------------------------------------------------------------------------*/
|
||||
$action = (isset($_POST['form']['ACTION']))?trim($_POST['form']['ACTION']):'test';
|
||||
|
||||
if(isset($_POST['form']['DB_ENGINE'])) {
|
||||
switch($_POST['form']['DB_ENGINE']) {
|
||||
case 'mysql' :
|
||||
G::LoadClass('Installer');
|
||||
break;
|
||||
case 'mssql' :
|
||||
G::LoadClass('Installer_mssql');
|
||||
break;
|
||||
default :
|
||||
G::LoadClass('Installer');
|
||||
break;
|
||||
}
|
||||
} else
|
||||
G::LoadClass('Installer');
|
||||
|
||||
G::LoadClass('json');
|
||||
$name = trim($_POST['form']['NW_TITLE']);
|
||||
$inst = new Installer();
|
||||
|
||||
$isset = $inst->isset_site($name);
|
||||
|
||||
if(isset($_POST['form']['DB_ENGINE']) ) {
|
||||
switch($_POST['form']['DB_ENGINE']) {
|
||||
case 'mysql' :
|
||||
break;
|
||||
case 'mssql' :
|
||||
$sServer = (isset($_POST['form']['DB_SERVER']))?trim($_POST['form']['DB_SERVER']):'';
|
||||
$sPort = (isset($_POST['form']['DB_PORT']))?trim($_POST['form']['DB_PORT']):'';
|
||||
$sUserName = (isset($_POST['form']['DB_USERNAME']))?trim($_POST['form']['DB_USERNAME']):'';
|
||||
$sPassword = (isset($_POST['form']['DB_PASSWORD']))?trim($_POST['form']['DB_PASSWORD']):'';
|
||||
$inst->setServerData($sServer, $sPort, $sUserName, $sPassword );
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$new = ((!$isset))?true:false;
|
||||
$user = (isset($_POST['form']['NW_USERNAME']))?trim($_POST['form']['NW_USERNAME']):'admin';
|
||||
$pass = (isset($_POST['form']['NW_PASSWORD']))?$_POST['form']['NW_PASSWORD']:'admin';
|
||||
$pass1 = (isset($_POST['form']['NW_PASSWORD2']))?$_POST['form']['NW_PASSWORD2']:'admin';
|
||||
|
||||
$ao_db_drop = (isset($_POST['form']['AO_DB_DROP']))?true:false;
|
||||
|
||||
$ao_db_wf = (isset($_POST['form']['AO_DB_WF']))?$_POST['form']['AO_DB_WF']:false;
|
||||
$ao_db_rb = (isset($_POST['form']['AO_DB_RB']))?$_POST['form']['AO_DB_RB']:false;
|
||||
$ao_db_rp = (isset($_POST['form']['AO_DB_RP']))?$_POST['form']['AO_DB_RP']:false;
|
||||
|
||||
$result = $inst->create_site(Array(
|
||||
'isset'=>true,
|
||||
'name' =>$name,
|
||||
'admin'=>Array('username'=>$user,'password'=>$pass),
|
||||
'advanced'=>Array(
|
||||
'ao_db_drop'=>$ao_db_drop,
|
||||
'ao_db_wf'=>$ao_db_wf,
|
||||
'ao_db_rb'=>$ao_db_rb,
|
||||
'ao_db_rp'=>$ao_db_rp
|
||||
)
|
||||
),($action==='create')?true:false);
|
||||
|
||||
$result['result']['admin']['password']=($pass===$pass1)?true:false;
|
||||
$result['result']['action']=$action;
|
||||
//print_r($inst);
|
||||
$json = new Services_JSON();
|
||||
/*$ec;
|
||||
$ec->created=($new)?true:false;
|
||||
$ec->name=$name;
|
||||
$ec->message=($new)?"Workspace created":"Workspace already exists or Name invalid";*/
|
||||
echo $json->encode($result);
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -84,6 +162,23 @@ else
|
||||
break;
|
||||
}
|
||||
$G_PUBLISH = new Publisher;
|
||||
//-- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/newSite', '', '', '/sys/en/green/install/newSite');
|
||||
// Define another database
|
||||
if(isset($_GET['DB']) ) {
|
||||
$aFields['DB_ENGINE'] = $_GET['DB'];
|
||||
switch($_GET['DB']) {
|
||||
case 'mysql' :
|
||||
$aFields['DB_PORT'] = '3306';
|
||||
break;
|
||||
case 'mssql' :
|
||||
$aFields['DB_PORT'] = '1433';
|
||||
break;
|
||||
default :
|
||||
$aFields['DB_PORT'] = '3306';
|
||||
break;
|
||||
}
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/newSiteAdd', '', $aFields, '/sys/en/green/install/newSite');
|
||||
} else
|
||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/newSite', '', '', '/sys/en/green/install/newSite');
|
||||
|
||||
if( isset($_GET['type']) )
|
||||
|
||||
Reference in New Issue
Block a user