Merge remote branch 'upstream/master'

Conflicts:
	workflow/engine/methods/services/xpdl.php
This commit is contained in:
jennylee
2012-10-17 14:36:11 -04:00
151 changed files with 9866 additions and 41562 deletions

View File

@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project name="name-of-project" default="build-simple"> <project name="name-of-project" default="build-phpcs">
<target name="build" <target name="build"
depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpdox,phpunit,phpcb"/> depends="prepare,lint,phploc,pdepend,phpmd-ci,phpcs-ci,phpcpd,phpdox,phpunit,phpcb"/>
<target name="build-simple" <target name="build-simple"
depends="prepare,phpunit,phpcs-ci,phploc"/> depends="prepare,phpunit,phpcs-ci,phploc,lint"/>
<target name="build-phpcs"
depends="prepare,phpcs-ci,phploc,phpunit"/>
<target name="build-parallel" <target name="build-parallel"
depends="prepare,lint,tools-parallel,phpunit,phpcb"/> depends="prepare,lint,tools-parallel,phpunit,phpcb"/>
@@ -98,6 +101,18 @@
</target> </target>
<target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server"> <target name="phpcs-ci" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="phpcs" output="/dev/null">
<arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
<arg value="--standard=PSR2" />
<arg path="${basedir}/gulliver/system" />
<arg path="${basedir}/workflow/engine/methods" />
<arg path="${basedir}/workflow/engine/classes" />
<arg path="${basedir}/workflow/engine/controllers" />
</exec>
</target>
<target name="phpcs-ci-old" description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="phpcs" output="/dev/null"> <exec executable="phpcs" output="/dev/null">
<arg value="--report=checkstyle" /> <arg value="--report=checkstyle" />
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" /> <arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />

View File

@@ -681,17 +681,20 @@ var G_Grid = function(oForm, sGridName){
} }
} }
} }
//Set focus the first element in the grid
for (var i = 0; i < this.aFields.length; i++) {
var fieldName = 'form[' + sGridName + '][' + currentRow + '][' + this.aFields[i].sFieldName + ']';
if (this.aFields[i].sType != 'file' && this.aFields[i].sType != 'hidden' && document.getElementById(fieldName).focus) {
document.getElementById(fieldName).focus();
break;
}
}
//Fires OnAddRow Event //Fires OnAddRow Event
if (this.onaddrow) { if (this.onaddrow) {
this.onaddrow(currentRow); this.onaddrow(currentRow);
} }
var newInputs = oNewRow.getElementsByTagName('input');
for (var i = 0; i < newInputs.length; i++) {
if (typeof(newInputs[i]) != 'undefined' && newInputs[i].type != 'hidden') {
newInputs[i].focus();
break;
}
}
}; };
this.deleteGridRow = function (sRow, bWithoutConfirm) this.deleteGridRow = function (sRow, bWithoutConfirm)

View File

@@ -1,7 +1,9 @@
<?php <?php
/** /**
* Controller Class * Controller Class
* Implementing MVC Pattern * Implementing MVC Pattern
*
* @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com> * @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com>
* @package gulliver.system * @package gulliver.system
* @access private * @access private
@@ -9,30 +11,36 @@
class Controller class Controller
{ {
/** /**
*
* @var boolean debug switch for general purpose * @var boolean debug switch for general purpose
*/ */
public $debug = null; public $debug = null;
/** /**
*
* @var array - private array to store proxy data * @var array - private array to store proxy data
*/ */
private $__data__ = array (); private $__data__ = array ();
/** /**
*
* @var object - private object to store the http request data * @var object - private object to store the http request data
*/ */
private $__request__; private $__request__;
/** /**
*
* @var object - headPublisher object to handle the output * @var object - headPublisher object to handle the output
*/ */
private $headPublisher = null; private $headPublisher = null;
/** /**
*
* @var string - response type var. possibles values: json|plain * @var string - response type var. possibles values: json|plain
*/ */
private $responseType = ''; private $responseType = '';
/** /**
*
* @var string - layout to pass skinEngine * @var string - layout to pass skinEngine
*/ */
private $layout = ''; private $layout = '';
@@ -61,16 +69,13 @@ class Controller
} }
$trace = debug_backtrace(); $trace = debug_backtrace();
trigger_error( trigger_error( 'Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_NOTICE );
'Undefined property via __get(): ' . $name .
' in ' . $trace[0]['file'] .
' on line ' . $trace[0]['line'],
E_USER_NOTICE);
return null; return null;
} }
/** /**
* Magic isset method * Magic isset method
*
* @param string $name * @param string $name
*/ */
public function __isset ($name) public function __isset ($name)
@@ -78,9 +83,9 @@ class Controller
return isset( $this->__data__[$name] ); return isset( $this->__data__[$name] );
} }
/** /**
* Magic unset method * Magic unset method
*
* @param string $name * @param string $name
*/ */
public function __unset ($name) public function __unset ($name)
@@ -90,6 +95,7 @@ class Controller
/** /**
* Set Response type method * Set Response type method
*
* @param string $type contains : json|plain * @param string $type contains : json|plain
*/ */
public function setResponseType ($type) public function setResponseType ($type)
@@ -99,6 +105,7 @@ class Controller
/** /**
* call to execute a internal proxy method and handle its exceptions * call to execute a internal proxy method and handle its exceptions
*
* @param string $name * @param string $name
*/ */
public function call ($name) public function call ($name)
@@ -127,10 +134,18 @@ class Controller
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
switch (get_class( $e )) { switch (get_class( $e )) {
case 'Exception': $error = "SYSTEM ERROR"; break; case 'Exception':
case 'PMException': $error = "PROCESSMAKER ERROR"; break; $error = "SYSTEM ERROR";
case 'PropelException': $error = "DATABASE ERROR"; break; break;
case 'UserException': $error = "USER ERROR"; break; case 'PMException':
$error = "PROCESSMAKER ERROR";
break;
case 'PropelException':
$error = "DATABASE ERROR";
break;
case 'UserException':
$error = "USER ERROR";
break;
} }
$result->error = $error; $result->error = $error;
@@ -143,6 +158,7 @@ class Controller
/** /**
* Set the http request data * Set the http request data
*
* @param array $data * @param array $data
*/ */
public function setHttpRequestData ($data) public function setHttpRequestData ($data)
@@ -151,14 +167,18 @@ class Controller
$this->__request__ = new stdclass(); $this->__request__ = new stdclass();
} }
if (is_array( $data )) { if (is_array( $data )) {
while( $var = each($data) ) while ($var = each( $data )) {
$this->__request__->$var['key'] = $var['value']; $this->__request__->$var['key'] = $var['value'];
} else }
} else {
$this->__request__ = $data; $this->__request__ = $data;
} }
}
/** /**
* Get debug var. method * Get debug var.
* method
*
* @param boolan $val boolean value for debug var. * @param boolan $val boolean value for debug var.
*/ */
public function setDebug ($val) public function setDebug ($val)
@@ -167,7 +187,8 @@ class Controller
} }
/** /**
* Get debug var. method * Get debug var.
* method
*/ */
public function getDebug () public function getDebug ()
{ {
@@ -178,11 +199,13 @@ class Controller
return $this->debug; return $this->debug;
} }
/**
/*** HeadPublisher Functions Binding ***/ * * HeadPublisher Functions Binding **
*/
/** /**
* Include a particular extjs library or extension to the main output * Include a particular extjs library or extension to the main output
*
* @param string $srcFile path of a extjs library or extension * @param string $srcFile path of a extjs library or extension
* @param boolean $debug debug flag to indicate if the js output will be minifield or not * @param boolean $debug debug flag to indicate if the js output will be minifield or not
* $debug: true -> the js content will be not minified (readable) * $debug: true -> the js content will be not minified (readable)
@@ -195,6 +218,7 @@ class Controller
/** /**
* Include a javascript file that is using extjs framework to the main output * Include a javascript file that is using extjs framework to the main output
*
* @param string $srcFile path of javascrit file to include * @param string $srcFile path of javascrit file to include
* @param boolean $debug debug flag to indicate if the js output will be minifield or not * @param boolean $debug debug flag to indicate if the js output will be minifield or not
* $debug: true -> the js content will be not minified (readable) * $debug: true -> the js content will be not minified (readable)
@@ -207,6 +231,7 @@ class Controller
/** /**
* Include a Html file to the main output * Include a Html file to the main output
*
* @param string $file path of html file to include to the main output * @param string $file path of html file to include to the main output
*/ */
public function setView ($file) public function setView ($file)
@@ -216,6 +241,7 @@ class Controller
/** /**
* Set variables to be accesible by javascripts * Set variables to be accesible by javascripts
*
* @param string $name contains var. name * @param string $name contains var. name
* @param string $value conatins var. value * @param string $value conatins var. value
*/ */
@@ -226,6 +252,7 @@ class Controller
/** /**
* Set variables to be accesible by the extjs layout template * Set variables to be accesible by the extjs layout template
*
* @param string $name contains var. name * @param string $name contains var. name
* @param string $value conatins var. value * @param string $value conatins var. value
*/ */
@@ -266,3 +293,4 @@ class Controller
G::header( "Location: $url" ); G::header( "Location: $url" );
} }
} }

View File

@@ -1,6 +1,8 @@
<?php <?php
/** /**
* class.database_base.php * class.database_base.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -26,20 +28,29 @@
/** /**
* interface iDatabase * interface iDatabase
*
* @package gulliver.system * @package gulliver.system
*/ */
interface iDatabase { interface iDatabase
{
public function generateDropTableSQL ($sTable); public function generateDropTableSQL ($sTable);
public function generateCreateTableSQL ($sTable, $aColumns); public function generateCreateTableSQL ($sTable, $aColumns);
public function generateDropColumnSQL ($sTable, $sColumn); public function generateDropColumnSQL ($sTable, $sColumn);
public function generateAddColumnSQL ($sTable, $sColumn, $aParameters); public function generateAddColumnSQL ($sTable, $sColumn, $aParameters);
public function generateChangeColumnSQL ($sTable, $sColumn, $aParameters); public function generateChangeColumnSQL ($sTable, $sColumn, $aParameters);
public function close (); public function close ();
} }
/** /**
* class database_base * class database_base
*
* @package gulliver.system * @package gulliver.system
* @access public * @access public
*/ */
@@ -56,6 +67,7 @@ class database_base implements iDatabase
/** /**
* Function __construct * Function __construct
*
* @access public * @access public
* @param string $sType * @param string $sType
* @param string $sServer * @param string $sServer
@@ -78,6 +90,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sTable * @param string $sTable
* @return string * @return string
@@ -90,6 +103,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sTable * @param string $sTable
* @param string $sColumn * @param string $sColumn
@@ -101,6 +115,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sTable * @param string $sTable
* @param string $sColumn * @param string $sColumn
@@ -112,6 +127,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sTable * @param string $sTable
* @param string $sColumn * @param string $sColumn
@@ -124,6 +140,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sTable * @param string $sTable
* @param string $sColumn * @param string $sColumn
@@ -136,6 +153,7 @@ class database_base implements iDatabase
/** /**
* Function generateDropTableSQL * Function generateDropTableSQL
*
* @access public * @access public
* @param string $sQuery * @param string $sQuery
* @return void * @return void
@@ -146,6 +164,7 @@ class database_base implements iDatabase
/** /**
* Function close * Function close
*
* @access public * @access public
* @return void * @return void
*/ */
@@ -153,3 +172,4 @@ class database_base implements iDatabase
{ {
} }
} }

View File

@@ -1,6 +1,7 @@
<?php <?php
/** /**
* class.database_mssql.php * class.database_mssql.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -25,16 +26,19 @@
*/ */
/** /**
*
* @package gulliver.system * @package gulliver.system
*
*/ */
G::LoadSystem( 'database_base' ); G::LoadSystem( 'database_base' );
class database extends database_base { class database extends database_base
{
public $iFetchType = MSSQL_ASSOC; public $iFetchType = MSSQL_ASSOC;
public function __construct($sType = DB_ADAPTER, $sServer = DB_HOST, $sUser = DB_USER, $sPass = DB_PASS, $sDataBase = DB_NAME) { public function __construct ($sType = DB_ADAPTER, $sServer = DB_HOST, $sUser = DB_USER, $sPass = DB_PASS, $sDataBase = DB_NAME)
{
$this->sType = $sType; $this->sType = $sType;
$this->sServer = $sServer; $this->sServer = $sServer;
$this->sUser = $sUser; $this->sUser = $sUser;
@@ -47,9 +51,8 @@ class database extends database_base {
$this->sQuoteCharacterEnd = ']'; $this->sQuoteCharacterEnd = ']';
} }
public function generateCreateTableSQL ($sTable, $aColumns)
{
public function generateCreateTableSQL($sTable, $aColumns) {
$sKeys = ''; $sKeys = '';
$sSQL = 'CREATE TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . '('; $sSQL = 'CREATE TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . '(';
@@ -85,45 +88,48 @@ class database extends database_base {
return $sSQL; return $sSQL;
} }
public function generateDropTableSQL($sTable) { public function generateDropTableSQL ($sTable)
{
return 'DROP TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine; return 'DROP TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine;
} }
public function generateDropColumnSQL($sTable, $sColumn) { public function generateDropColumnSQL ($sTable, $sColumn)
{
// SQL Server first should remove the restriction before the Elimination of the field // SQL Server first should remove the restriction before the Elimination of the field
$oConstraint = $this->dropFieldConstraint( $sTable, $sColumn ); $oConstraint = $this->dropFieldConstraint( $sTable, $sColumn );
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . $this->sEndLine;
' DROP COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . $this->sEndLine;
return $sSQL; return $sSQL;
} }
public function generateAddColumnSQL($sTable, $sColumn, $aParameters) { public function generateAddColumnSQL ($sTable, $sColumn, $aParameters)
{
if (isset( $aParameters['Type'] ) && isset( $aParameters['Null'] )) { if (isset( $aParameters['Type'] ) && isset( $aParameters['Null'] )) {
$sDefault = ""; $sDefault = "";
$sType = $aParameters['Type']; $sType = $aParameters['Type'];
$sDataType = $aParameters['Type']; $sDataType = $aParameters['Type'];
if(! in_array($sDataType, array("TEXT", "DATE") )) { if (! in_array( $sDataType, array ("TEXT","DATE"
) )) {
$sType = substr( $sType, 0, strpos( $sType, '(' ) ); $sType = substr( $sType, 0, strpos( $sType, '(' ) );
} }
switch ($sType) { switch ($sType) {
case 'VARCHAR': case 'VARCHAR':
case 'TEXT' : $sDefault = " DEFAULT '' "; case 'TEXT':
$sDefault = " DEFAULT '' ";
break; break;
case 'DATE' : $sDataType = " CHAR(19) "; case 'DATE':
$sDataType = " CHAR(19) ";
$sDefault = " DEFAULT '0000-00-00' "; // The date data type to use char (19) $sDefault = " DEFAULT '0000-00-00' "; // The date data type to use char (19)
break; break;
case 'INT': case 'INT':
case 'FLOAT' : $sDataType = $sType; case 'FLOAT':
$sDataType = $sType;
$sDefault = " DEFAULT 0 "; $sDefault = " DEFAULT 0 ";
break; break;
} }
$sSQL = "ALTER TABLE " . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $sSQL = "ALTER TABLE " . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " ADD " . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . " " . $aParameters['Type'];
" ADD " . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter .
" " . $aParameters['Type'];
if ($aParameters['Null'] == 'YES') { if ($aParameters['Null'] == 'YES') {
$sSQL .= " NULL"; $sSQL .= " NULL";
} } else {
else {
$sSQL .= " NOT NULL " . $sDefault; $sSQL .= " NOT NULL " . $sDefault;
} }
@@ -135,14 +141,12 @@ class database extends database_base {
if (isset( $aParameters['AI'] )) { if (isset( $aParameters['AI'] )) {
if ($aParameters['AI'] == 1) { if ($aParameters['AI'] == 1) {
$sSQL .= ' AUTO_INCREMENT'; $sSQL .= ' AUTO_INCREMENT';
} } else {
else {
if ($aParameters['Default'] != '') { if ($aParameters['Default'] != '') {
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
} }
} }
} } else {
else {
if (isset( $aParameters['Default'] ) && $aParameters['Default'] != '') { if (isset( $aParameters['Default'] ) && $aParameters['Default'] != '') {
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
} }
@@ -151,18 +155,16 @@ class database extends database_base {
return $sSQL; return $sSQL;
} }
public function generateChangeColumnSQL($sTable, $sColumn, $aParameters, $sColumnNewName = '') { public function generateChangeColumnSQL ($sTable, $sColumn, $aParameters, $sColumnNewName = '')
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . {
' CHANGE COLUMN ' . $this->sQuoteCharacter . ($sColumnNewName != '' ? $sColumnNewName : $sColumn) . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' CHANGE COLUMN ' . $this->sQuoteCharacter . ($sColumnNewName != '' ? $sColumnNewName : $sColumn) . $this->sQuoteCharacter . ' ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter;
' ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter;
if (isset( $aParameters['Type'] )) { if (isset( $aParameters['Type'] )) {
$sSQL .= ' ' . $aParameters['Type']; $sSQL .= ' ' . $aParameters['Type'];
} }
if (isset( $aParameters['Null'] )) { if (isset( $aParameters['Null'] )) {
if ($aParameters['Null'] == 'YES') { if ($aParameters['Null'] == 'YES') {
$sSQL .= ' NULL'; $sSQL .= ' NULL';
} } else {
else {
$sSQL .= ' NOT NULL'; $sSQL .= ' NOT NULL';
} }
} }
@@ -182,8 +184,7 @@ class database extends database_base {
if (isset( $aParameters['Default'] )) { if (isset( $aParameters['Default'] )) {
if (trim( $aParameters['Default'] == '' ) && $aParameters['Type'] == 'datetime') { if (trim( $aParameters['Default'] == '' ) && $aParameters['Type'] == 'datetime') {
//do nothing //do nothing
} } else
else
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
//} //}
} }
@@ -195,33 +196,28 @@ class database extends database_base {
return $sSQL; return $sSQL;
} }
public function generateGetPrimaryKeysSQL($sTable) { public function generateGetPrimaryKeysSQL ($sTable)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' WHERE Seq_in_index = 1' . $this->sEndLine; return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' WHERE Seq_in_index = 1' . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* Get primary key * Get primary key
*
* @param eter string $sTable * @param eter string $sTable
* @return string $sPrimaryKey * @return string $sPrimaryKey
*/ */
public function getPrimaryKey ($sTable) public function getPrimaryKey ($sTable)
{ {
try { try {
$sSQL = " SELECT c.COLUMN_NAME " . $sSQL = " SELECT c.COLUMN_NAME " . " FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk , " . " INFORMATION_SCHEMA.KEY_COLUMN_USAGE c " . " WHERE pk.TABLE_NAME = '" . trim( $sTable ) . "' " . " AND CONSTRAINT_TYPE = 'PRIMARY KEY' " . " AND c.TABLE_NAME = pk.TABLE_NAME " . " AND c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME ";
" FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk , " .
" INFORMATION_SCHEMA.KEY_COLUMN_USAGE c " .
" WHERE pk.TABLE_NAME = '" . trim($sTable) . "' " .
" AND CONSTRAINT_TYPE = 'PRIMARY KEY' " .
" AND c.TABLE_NAME = pk.TABLE_NAME " .
" AND c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME ";
$oPrimaryKey = $this->executeQuery( $sSQL ); $oPrimaryKey = $this->executeQuery( $sSQL );
$aPrimaryKey = mssql_fetch_array( $oPrimaryKey ); $aPrimaryKey = mssql_fetch_array( $oPrimaryKey );
mssql_free_result( $oPrimaryKey ); mssql_free_result( $oPrimaryKey );
@@ -233,6 +229,7 @@ class database extends database_base {
/** /**
* Get Field Constraint * Get Field Constraint
*
* @param eter string $sTable * @param eter string $sTable
* @param eter string $sField * @param eter string $sField
* @return string $sFieldConstraint * @return string $sFieldConstraint
@@ -240,12 +237,7 @@ class database extends database_base {
public function getFieldConstraint ($sTable, $sField) public function getFieldConstraint ($sTable, $sField)
{ {
try { try {
$sSQL = " select a.name " . $sSQL = " select a.name " . " from sysobjects a " . " inner join syscolumns b on a.id = b.cdefault " . " where a.xtype = 'D' " . " and a.parent_obj = (select id from sysobjects where xtype = 'U' and name = '" . trim( $sTable ) . "') " . " and b.name = '" . trim( $sField ) . "' ";
" from sysobjects a " .
" inner join syscolumns b on a.id = b.cdefault " .
" where a.xtype = 'D' " .
" and a.parent_obj = (select id from sysobjects where xtype = 'U' and name = '" . trim($sTable) . "') " .
" and b.name = '" . trim($sField) . "' ";
$oFieldConstraint = $this->executeQuery( $sSQL ); $oFieldConstraint = $this->executeQuery( $sSQL );
$aFieldConstraint = mssql_fetch_array( $oFieldConstraint ); $aFieldConstraint = mssql_fetch_array( $oFieldConstraint );
@@ -256,9 +248,9 @@ class database extends database_base {
} }
} }
/** /**
* drop Field Constraint * drop Field Constraint
*
* @param eter string $sTable * @param eter string $sTable
* @param eter string $sField * @param eter string $sField
* @return object $oFieldConstraint * @return object $oFieldConstraint
@@ -275,8 +267,8 @@ class database extends database_base {
} }
} }
public function generateDropPrimaryKeysSQL ($sTable)
public function generateDropPrimaryKeysSQL($sTable) { {
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
@@ -284,31 +276,30 @@ class database extends database_base {
$sPrimayKey = $this->getPrimaryKey( $sTable ); $sPrimayKey = $this->getPrimaryKey( $sTable );
return ' ALTER TABLE ' . $sTable . ' DROP CONSTRAINT ' . $sPrimayKey . $this->sEndLine; return ' ALTER TABLE ' . $sTable . ' DROP CONSTRAINT ' . $sPrimayKey . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
public function generateAddPrimaryKeysSQL($sTable, $aPrimaryKeys) { public function generateAddPrimaryKeysSQL ($sTable, $aPrimaryKeys)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' ADD PRIMARY KEY (';
' ADD PRIMARY KEY (';
foreach ($aPrimaryKeys as $sKey) { foreach ($aPrimaryKeys as $sKey) {
$sSQL .= $this->sQuoteCharacter . $sKey . $this->sQuoteCharacter . ','; $sSQL .= $this->sQuoteCharacter . $sKey . $this->sQuoteCharacter . ',';
} }
$sSQL = substr( $sSQL, 0, - 1 ) . ')' . $this->sEndLine; $sSQL = substr( $sSQL, 0, - 1 ) . ')' . $this->sEndLine;
return $sSQL; return $sSQL;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
public function generateDropKeySQL($sTable, $sIndexName) { public function generateDropKeySQL ($sTable, $sIndexName)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
@@ -317,13 +308,13 @@ class database extends database_base {
throw new Exception( 'The column name cannot be empty!' ); throw new Exception( 'The column name cannot be empty!' );
} }
return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP INDEX ' . $this->sQuoteCharacter . $sIndexName . $this->sQuoteCharacter . $this->sEndLine; return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP INDEX ' . $this->sQuoteCharacter . $sIndexName . $this->sQuoteCharacter . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
public function generateAddKeysSQL($sTable, $indexName, $aKeys) { public function generateAddKeysSQL ($sTable, $indexName, $aKeys)
{
try { try {
$indexType = 'INDEX'; $indexType = 'INDEX';
if ($indexName == 'primaryKey' || $indexName == 'PRIMARY') { if ($indexName == 'primaryKey' || $indexName == 'PRIMARY') {
@@ -337,62 +328,70 @@ class database extends database_base {
$sSQL = substr( $sSQL, 0, - 2 ); $sSQL = substr( $sSQL, 0, - 2 );
$sSQL .= ')' . $this->sEndLine; $sSQL .= ')' . $this->sEndLine;
return $sSQL; return $sSQL;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
public function generateShowTablesSQL() { public function generateShowTablesSQL ()
{
return 'SHOW TABLES' . $this->sEndLine; return 'SHOW TABLES' . $this->sEndLine;
} }
public function generateShowTablesLikeSQL($sTable) { public function generateShowTablesLikeSQL ($sTable)
{
return "SHOW TABLES LIKE '" . $sTable . "'" . $this->sEndLine; return "SHOW TABLES LIKE '" . $sTable . "'" . $this->sEndLine;
} }
public function generateDescTableSQL($sTable) { public function generateDescTableSQL ($sTable)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
return 'DESC ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine; return 'DESC ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
public function generateTableIndexSQL($sTable) { public function generateTableIndexSQL ($sTable)
{
return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " " . $this->sEndLine; return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " " . $this->sEndLine;
//return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " WHERE Key_name <> 'PRIMARY'" . $this->sEndLine; //return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " WHERE Key_name <> 'PRIMARY'" . $this->sEndLine;
} }
public function isConnected() { public function isConnected ()
{
if (! $this->oConnection) if (! $this->oConnection)
return false; return false;
return $this->executeQuery( 'USE ' . $this->sDataBase ); return $this->executeQuery( 'USE ' . $this->sDataBase );
} }
public function logQuery($sQuery ) { public function logQuery ($sQuery)
{
try { try {
$found = false; $found = false;
if ( substr($sQuery,0, 6) == 'SELECT' ) $found = true; if (substr( $sQuery, 0, 6 ) == 'SELECT')
if ( substr($sQuery,0, 4) == 'SHOW' ) $found = true; $found = true;
if ( substr($sQuery,0, 4) == 'DESC' ) $found = true; if (substr( $sQuery, 0, 4 ) == 'SHOW')
if ( substr($sQuery,0, 4) == 'USE ' ) $found = true; $found = true;
if (substr( $sQuery, 0, 4 ) == 'DESC')
$found = true;
if (substr( $sQuery, 0, 4 ) == 'USE ')
$found = true;
if (! $found) { if (! $found) {
$logFile = PATH_DATA . 'log' . PATH_SEP . 'query.log'; $logFile = PATH_DATA . 'log' . PATH_SEP . 'query.log';
$fp = fopen( $logFile, 'a+' ); $fp = fopen( $logFile, 'a+' );
fwrite( $fp, date( "Y-m-d H:i:s" ) . " " . $this->sDataBase . " " . $sQuery . "\n" ); fwrite( $fp, date( "Y-m-d H:i:s" ) . " " . $this->sDataBase . " " . $sQuery . "\n" );
fclose( $fp ); fclose( $fp );
} }
} } catch (Exception $oException) {
catch (Exception $oException) {
} }
} }
public function executeQuery($sQuery) { public function executeQuery ($sQuery)
{
$this->logQuery( $sQuery ); $this->logQuery( $sQuery );
try { try {
@@ -400,30 +399,32 @@ class database extends database_base {
@mssql_select_db( $this->sDataBase ); @mssql_select_db( $this->sDataBase );
return @mssql_query( $sQuery ); return @mssql_query( $sQuery );
} } else {
else {
throw new Exception( 'invalid connection to database ' . $this->sDataBase ); throw new Exception( 'invalid connection to database ' . $this->sDataBase );
} }
} } catch (Exception $oException) {
catch (Exception $oException) {
$this->logQuery( $oException->getMessage() ); $this->logQuery( $oException->getMessage() );
throw $oException; throw $oException;
} }
} }
public function countResults($oDataset) { public function countResults ($oDataset)
{
return @mssql_num_rows( $oDataset ); return @mssql_num_rows( $oDataset );
} }
public function getRegistry($oDataset) { public function getRegistry ($oDataset)
{
return @mssql_fetch_array( $oDataset, $this->iFetchType ); return @mssql_fetch_array( $oDataset, $this->iFetchType );
} }
public function close() { public function close ()
{
@mssql_close( $this->oConnection ); @mssql_close( $this->oConnection );
} }
public function generateInsertSQL($table, $data) { public function generateInsertSQL ($table, $data)
{
$fields = array (); $fields = array ();
$values = array (); $values = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -439,17 +440,18 @@ class database extends database_base {
$values[] = addslashes( $field['value'] ); $values[] = addslashes( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
$fields = array_map(array($this, 'putQuotes'), $fields); $fields = array_map( array ($this,'putQuotes'
), $fields );
$sql = sprintf( "INSERT INTO %s (%s) VALUES (%s)", $this->putQuotes( $table ), implode( ', ', $fields ), implode( ', ', $values ) ); $sql = sprintf( "INSERT INTO %s (%s) VALUES (%s)", $this->putQuotes( $table ), implode( ', ', $fields ), implode( ', ', $values ) );
return $sql; return $sql;
} }
public function generateUpdateSQL($table, $keys, $data) { public function generateUpdateSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -464,8 +466,7 @@ class database extends database_base {
$fields[] = $this->putQuotes( $field['field'] ) . " = " . addslashes( $field['value'] ); $fields[] = $this->putQuotes( $field['field'] ) . " = " . addslashes( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
if (in_array( $field['field'], $keys )) { if (in_array( $field['field'], $keys )) {
@@ -476,7 +477,8 @@ class database extends database_base {
return $sql; return $sql;
} }
public function generateDeleteSQL($table, $keys, $data) { public function generateDeleteSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -492,8 +494,7 @@ class database extends database_base {
$where[] = $this->putQuotes( $field['field'] ) . " = " . addslashes( $field['value'] ); $where[] = $this->putQuotes( $field['field'] ) . " = " . addslashes( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
@@ -502,7 +503,8 @@ class database extends database_base {
return $sql; return $sql;
} }
public function generateSelectSQL($table, $keys, $data) { public function generateSelectSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -518,8 +520,7 @@ class database extends database_base {
$where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] ); $where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
@@ -528,7 +529,8 @@ class database extends database_base {
return $sql; return $sql;
} }
private function putQuotes($element) { private function putQuotes ($element)
{
return $this->sQuoteCharacterBegin . $element . $this->sQuoteCharacterEnd; return $this->sQuoteCharacterBegin . $element . $this->sQuoteCharacterEnd;
} }
@@ -620,8 +622,7 @@ class database extends database_base {
$sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] "; $sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] ";
$sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME "; $sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME ";
$sql = "SELECT " . $sqlConcat . ", " . $sql = "SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -649,8 +650,7 @@ class database extends database_base {
$sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] "; $sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] ";
$sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME "; $sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME ";
$sql = " SELECT " . $sqlConcat . ", " . $sql = " SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -679,8 +679,7 @@ class database extends database_base {
$sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] "; $sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] ";
$sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME "; $sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME ";
$sql = " SELECT " . $sqlConcat . ", " . $sql = " SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -709,8 +708,7 @@ class database extends database_base {
$sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] "; $sqlConcat = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME AS [USER] ";
$sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME "; $sqlGroupBy = " U.USR_LASTNAME + ' ' + USR_FIRSTNAME ";
$sql = "SELECT " . $sqlConcat . ", " . $sql = "SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -746,19 +744,16 @@ class database extends database_base {
} }
/* /*
* query functions for class class.net.php * query functions for class class.net.php
* *
*/ */
function getDropTable($sTableName) function getDropTable($sTableName)
{ {
$sql = "IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='" . $sTableName . "' AND xtype='U') " . $sql = "IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='" . $sTableName . "' AND xtype='U') " . "DROP TABLE ['" . $sTableName . "']";
"DROP TABLE ['" . $sTableName . "']";
return $sql; return $sql;
} }
function getTableDescription($sTableName) function getTableDescription($sTableName)
{ {
$sql = " select column_name as Field, $sql = " select column_name as Field,
@@ -777,8 +772,7 @@ class database extends database_base {
when 'No' then 'NO' else 'YES' END) AS AsNull, when 'No' then 'NO' else 'YES' END) AS AsNull,
COLUMN_DEFAULT as [Default] COLUMN_DEFAULT as [Default]
FROM information_schema.columns FROM information_schema.columns
WHERE table_name = '" . trim($sTableName) . "'" . WHERE table_name = '" . trim( $sTableName ) . "'" . " Order by Ordinal_Position asc ";
" Order by Ordinal_Position asc ";
return $sql; return $sql;
} }
@@ -820,7 +814,8 @@ class database extends database_base {
/** /**
* Determining the existence of a table * Determining the existence of a table
*/ */
function tableExists ($table, $db) { function tableExists($table, $db)
{
$sql = "SELECT * FROM sysobjects WHERE name='" . $table . "' AND type='u'"; $sql = "SELECT * FROM sysobjects WHERE name='" . $table . "' AND type='u'";
$bExists = true; $bExists = true;
$oConnection = mssql_connect( DB_HOST, DB_USER, DB_PASS ); $oConnection = mssql_connect( DB_HOST, DB_USER, DB_PASS );
@@ -828,5 +823,5 @@ class database extends database_base {
$oDataset = mssql_query( $sql ) || ($bExists = false); $oDataset = mssql_query( $sql ) || ($bExists = false);
return $bExists; return $bExists;
} }
} }

View File

@@ -1,6 +1,7 @@
<?php <?php
/** /**
* class.database_mysql.php * class.database_mysql.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -25,24 +26,29 @@
*/ */
/** /**
*
* @package gulliver.system * @package gulliver.system
*
*/ */
G::LoadSystem( 'database_base' ); G::LoadSystem( 'database_base' );
class database extends database_base { class database extends database_base
{
public $iFetchType = MYSQL_ASSOC; public $iFetchType = MYSQL_ASSOC;
/** /**
* class database constructor * class database constructor
*
* @param $sType adapter type * @param $sType adapter type
* @param $sServer server * @param $sServer server
* @param $sUser db user * @param $sUser db user
* @param $sPass db user password * @param $sPass db user password
* @param $sDataBase Database name * @param $sDataBase Database name
*/ */
public function __construct($sType = DB_ADAPTER, $sServer = DB_HOST, $sUser = DB_USER, $sPass = DB_PASS, $sDataBase = DB_NAME) { public function __construct ($sType = DB_ADAPTER, $sServer = DB_HOST, $sUser = DB_USER, $sPass = DB_PASS, $sDataBase = DB_NAME)
{
$this->sType = $sType; $this->sType = $sType;
$this->sServer = $sServer; $this->sServer = $sServer;
$this->sUser = $sUser; $this->sUser = $sUser;
@@ -55,11 +61,13 @@ class database extends database_base {
/** /**
* generate the sql sentence to create a table * generate the sql sentence to create a table
*
* @param $sTable table name * @param $sTable table name
* @param $aColumns array of columns * @param $aColumns array of columns
* @return $sSql the sql sentence * @return $sSql the sql sentence
*/ */
public function generateCreateTableSQL($sTable, $aColumns) { public function generateCreateTableSQL ($sTable, $aColumns)
{
$sKeys = ''; $sKeys = '';
$sSQL = 'CREATE TABLE IF NOT EXISTS ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . '('; $sSQL = 'CREATE TABLE IF NOT EXISTS ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . '(';
@@ -97,41 +105,43 @@ class database extends database_base {
/** /**
* generate a drop table sentence * generate a drop table sentence
*
* @param $sTable table name * @param $sTable table name
* @return sql sentence string * @return sql sentence string
*/ */
public function generateDropTableSQL($sTable) { public function generateDropTableSQL ($sTable)
{
return 'DROP TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine; return 'DROP TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine;
} }
/** /**
* generate drop column sentence * generate drop column sentence
*
* @param $sTable table name * @param $sTable table name
* @param $sColumn column name * @param $sColumn column name
* @return $sSql sql sentence * @return $sSql sql sentence
*/ */
public function generateDropColumnSQL($sTable, $sColumn) { public function generateDropColumnSQL ($sTable, $sColumn)
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . {
' DROP COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . $this->sEndLine; $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . $this->sEndLine;
return $sSQL; return $sSQL;
} }
/** /**
* generate an add column sentence * generate an add column sentence
*
* @param $sTable table name * @param $sTable table name
* @param $sColumn column name * @param $sColumn column name
* @param $aParameters parameters of field like typo or if it can be null * @param $aParameters parameters of field like typo or if it can be null
* @return $sSql sql sentence * @return $sSql sql sentence
*/ */
public function generateAddColumnSQL($sTable, $sColumn, $aParameters) { public function generateAddColumnSQL ($sTable, $sColumn, $aParameters)
{
if (isset( $aParameters['Type'] ) && isset( $aParameters['Null'] )) { if (isset( $aParameters['Type'] ) && isset( $aParameters['Null'] )) {
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' ADD COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter . ' ' . $aParameters['Type'];
' ADD COLUMN ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter .
' ' . $aParameters['Type'];
if ($aParameters['Null'] == 'YES') { if ($aParameters['Null'] == 'YES') {
$sSQL .= ' NULL'; $sSQL .= ' NULL';
} } else {
else {
$sSQL .= ' NOT NULL'; $sSQL .= ' NOT NULL';
} }
} }
@@ -142,14 +152,12 @@ class database extends database_base {
if (isset( $aParameters['AI'] )) { if (isset( $aParameters['AI'] )) {
if ($aParameters['AI'] == 1) { if ($aParameters['AI'] == 1) {
$sSQL .= ' AUTO_INCREMENT'; $sSQL .= ' AUTO_INCREMENT';
} } else {
else {
if ($aParameters['Default'] != '') { if ($aParameters['Default'] != '') {
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
} }
} }
} } else {
else {
if (isset( $aParameters['Default'] )) { if (isset( $aParameters['Default'] )) {
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
} }
@@ -160,24 +168,23 @@ class database extends database_base {
/** /**
* generate a change column sentence * generate a change column sentence
*
* @param $sTable table name * @param $sTable table name
* @param $sColumn column name * @param $sColumn column name
* @param $aParameters parameters of field like typo or if it can be null * @param $aParameters parameters of field like typo or if it can be null
* @param $sColumnNewName column new name * @param $sColumnNewName column new name
* @return $sSql sql sentence * @return $sSql sql sentence
*/ */
public function generateChangeColumnSQL($sTable, $sColumn, $aParameters, $sColumnNewName = '') { public function generateChangeColumnSQL ($sTable, $sColumn, $aParameters, $sColumnNewName = '')
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . {
' CHANGE COLUMN ' . $this->sQuoteCharacter . ($sColumnNewName != '' ? $sColumnNewName : $sColumn) . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' CHANGE COLUMN ' . $this->sQuoteCharacter . ($sColumnNewName != '' ? $sColumnNewName : $sColumn) . $this->sQuoteCharacter . ' ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter;
' ' . $this->sQuoteCharacter . $sColumn . $this->sQuoteCharacter;
if (isset( $aParameters['Type'] )) { if (isset( $aParameters['Type'] )) {
$sSQL .= ' ' . $aParameters['Type']; $sSQL .= ' ' . $aParameters['Type'];
} }
if (isset( $aParameters['Null'] )) { if (isset( $aParameters['Null'] )) {
if ($aParameters['Null'] == 'YES') { if ($aParameters['Null'] == 'YES') {
$sSQL .= ' NULL'; $sSQL .= ' NULL';
} } else {
else {
$sSQL .= ' NOT NULL'; $sSQL .= ' NOT NULL';
} }
} }
@@ -197,8 +204,7 @@ class database extends database_base {
if (isset( $aParameters['Default'] )) { if (isset( $aParameters['Default'] )) {
if (trim( $aParameters['Default'] ) == '' && $aParameters['Type'] == 'datetime') { if (trim( $aParameters['Default'] ) == '' && $aParameters['Type'] == 'datetime') {
//do nothing //do nothing
} } else
else
$sSQL .= " DEFAULT '" . $aParameters['Default'] . "'"; $sSQL .= " DEFAULT '" . $aParameters['Default'] . "'";
//} //}
} }
@@ -212,69 +218,73 @@ class database extends database_base {
/** /**
* Generate and get the primary key in a sentence * Generate and get the primary key in a sentence
*
* @param $sTable table name * @param $sTable table name
* @return $sSql sql sentence * @return $sSql sql sentence
*/ */
public function generateGetPrimaryKeysSQL($sTable) { public function generateGetPrimaryKeysSQL ($sTable)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' WHERE Seq_in_index = 1' . $this->sEndLine; return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' WHERE Seq_in_index = 1' . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to drop the primary key * generate a sentence to drop the primary key
*
* @param $sTable table name * @param $sTable table name
* @return sql sentence * @return sql sentence
*/ */
public function generateDropPrimaryKeysSQL($sTable) { public function generateDropPrimaryKeysSQL ($sTable)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP PRIMARY KEY' . $this->sEndLine; return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP PRIMARY KEY' . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to add multiple primary keys * generate a sentence to add multiple primary keys
*
* @param $sTable table name * @param $sTable table name
* @param $aPrimaryKeys array of primary keys * @param $aPrimaryKeys array of primary keys
* @return sql sentence * @return sql sentence
*/ */
public function generateAddPrimaryKeysSQL($sTable, $aPrimaryKeys) { public function generateAddPrimaryKeysSQL ($sTable, $aPrimaryKeys)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
$sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $sSQL = 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' ADD PRIMARY KEY (';
' ADD PRIMARY KEY (';
foreach ($aPrimaryKeys as $sKey) { foreach ($aPrimaryKeys as $sKey) {
$sSQL .= $this->sQuoteCharacter . $sKey . $this->sQuoteCharacter . ','; $sSQL .= $this->sQuoteCharacter . $sKey . $this->sQuoteCharacter . ',';
} }
$sSQL = substr( $sSQL, 0, - 1 ) . ')' . $this->sEndLine; $sSQL = substr( $sSQL, 0, - 1 ) . ')' . $this->sEndLine;
return $sSQL; return $sSQL;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to drop an index * generate a sentence to drop an index
*
* @param $sTable table name * @param $sTable table name
* @param $sIndexName index name * @param $sIndexName index name
* @return sql sentence * @return sql sentence
*/ */
public function generateDropKeySQL($sTable, $sIndexName) { public function generateDropKeySQL ($sTable, $sIndexName)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
@@ -283,21 +293,22 @@ class database extends database_base {
throw new Exception( 'The column name cannot be empty!' ); throw new Exception( 'The column name cannot be empty!' );
} }
return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP INDEX ' . $this->sQuoteCharacter . $sIndexName . $this->sQuoteCharacter . $this->sEndLine; return 'ALTER TABLE ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . ' DROP INDEX ' . $this->sQuoteCharacter . $sIndexName . $this->sQuoteCharacter . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to add indexes or primary keys * generate a sentence to add indexes or primary keys
*
* @param $sTable table name * @param $sTable table name
* @param $indexName index name * @param $indexName index name
* @param $aKeys array of keys * @param $aKeys array of keys
* @return sql sentence * @return sql sentence
*/ */
public function generateAddKeysSQL($sTable, $indexName, $aKeys) { public function generateAddKeysSQL ($sTable, $indexName, $aKeys)
{
try { try {
$indexType = 'INDEX'; $indexType = 'INDEX';
if ($indexName == 'primaryKey' || $indexName == 'PRIMARY') { if ($indexName == 'primaryKey' || $indexName == 'PRIMARY') {
@@ -311,60 +322,68 @@ class database extends database_base {
$sSQL = substr( $sSQL, 0, - 2 ); $sSQL = substr( $sSQL, 0, - 2 );
$sSQL .= ')' . $this->sEndLine; $sSQL .= ')' . $this->sEndLine;
return $sSQL; return $sSQL;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to show the tables * generate a sentence to show the tables
*
* @return sql sentence * @return sql sentence
*/ */
public function generateShowTablesSQL() { public function generateShowTablesSQL ()
{
return 'SHOW TABLES' . $this->sEndLine; return 'SHOW TABLES' . $this->sEndLine;
} }
/** /**
* generate a sentence to show the tables with a like sentence * generate a sentence to show the tables with a like sentence
*
* @return sql sentence * @return sql sentence
*/ */
public function generateShowTablesLikeSQL($sTable) { public function generateShowTablesLikeSQL ($sTable)
{
return "SHOW TABLES LIKE '" . $sTable . "'" . $this->sEndLine; return "SHOW TABLES LIKE '" . $sTable . "'" . $this->sEndLine;
} }
/** /**
* generate a sentence to show the tables with a like sentence * generate a sentence to show the tables with a like sentence
*
* @param $sTable table name * @param $sTable table name
* @return sql sentence * @return sql sentence
*/ */
public function generateDescTableSQL($sTable) { public function generateDescTableSQL ($sTable)
{
try { try {
if ($sTable == '') { if ($sTable == '') {
throw new Exception( 'The table name cannot be empty!' ); throw new Exception( 'The table name cannot be empty!' );
} }
return 'DESC ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine; return 'DESC ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . $this->sEndLine;
} } catch (Exception $oException) {
catch (Exception $oException) {
throw $oException; throw $oException;
} }
} }
/** /**
* generate a sentence to show some table indexes * generate a sentence to show some table indexes
*
* @param $sTable table name * @param $sTable table name
* @return sql sentence * @return sql sentence
*/ */
public function generateTableIndexSQL($sTable) { public function generateTableIndexSQL ($sTable)
{
return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " " . $this->sEndLine; return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " " . $this->sEndLine;
//return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " WHERE Key_name <> 'PRIMARY'" . $this->sEndLine; //return 'SHOW INDEX FROM ' . $this->sQuoteCharacter . $sTable . $this->sQuoteCharacter . " WHERE Key_name <> 'PRIMARY'" . $this->sEndLine;
} }
/** /**
* execute a sentence to check if there is connection * execute a sentence to check if there is connection
*
* @return void * @return void
*/ */
public function isConnected() { public function isConnected ()
{
if (! $this->oConnection) if (! $this->oConnection)
return false; return false;
return $this->executeQuery( 'USE ' . $this->sDataBase ); return $this->executeQuery( 'USE ' . $this->sDataBase );
@@ -372,16 +391,22 @@ class database extends database_base {
/** /**
* generate a sentence to show the tables with a like sentence * generate a sentence to show the tables with a like sentence
*
* @param $sQuery sql query string * @param $sQuery sql query string
* @return void * @return void
*/ */
public function logQuery($sQuery ) { public function logQuery ($sQuery)
{
try { try {
$found = false; $found = false;
if ( substr($sQuery,0, 6) == 'SELECT' ) $found = true; if (substr( $sQuery, 0, 6 ) == 'SELECT')
if ( substr($sQuery,0, 4) == 'SHOW' ) $found = true; $found = true;
if ( substr($sQuery,0, 4) == 'DESC' ) $found = true; if (substr( $sQuery, 0, 4 ) == 'SHOW')
if ( substr($sQuery,0, 4) == 'USE ' ) $found = true; $found = true;
if (substr( $sQuery, 0, 4 ) == 'DESC')
$found = true;
if (substr( $sQuery, 0, 4 ) == 'USE ')
$found = true;
if (! $found) { if (! $found) {
$logDir = PATH_DATA . 'log'; $logDir = PATH_DATA . 'log';
if (! file_exists( $logDir )) if (! file_exists( $logDir ))
@@ -394,17 +419,18 @@ class database extends database_base {
fclose( $fp ); fclose( $fp );
} }
} }
} } catch (Exception $oException) {
catch (Exception $oException) {
} }
} }
/** /**
* execute a sql query * execute a sql query
*
* @param $sQuery table name * @param $sQuery table name
* @return void * @return void
*/ */
public function executeQuery($sQuery) { public function executeQuery ($sQuery)
{
$this->logQuery( $sQuery ); $this->logQuery( $sQuery );
try { try {
@@ -412,12 +438,10 @@ class database extends database_base {
@mysql_select_db( $this->sDataBase ); @mysql_select_db( $this->sDataBase );
return @mysql_query( $sQuery ); return @mysql_query( $sQuery );
} } else {
else {
throw new Exception( 'invalid connection to database ' . $this->sDataBase ); throw new Exception( 'invalid connection to database ' . $this->sDataBase );
} }
} } catch (Exception $oException) {
catch (Exception $oException) {
$this->logQuery( $oException->getMessage() ); $this->logQuery( $oException->getMessage() );
throw $oException; throw $oException;
} }
@@ -425,31 +449,38 @@ class database extends database_base {
/** /**
* count the rows of a dataset * count the rows of a dataset
*
* @param $oDataset * @param $oDataset
* @return the number of rows * @return the number of rows
*/ */
public function countResults($oDataset) { public function countResults ($oDataset)
{
return @mysql_num_rows( $oDataset ); return @mysql_num_rows( $oDataset );
} }
/** /**
* count an array of the registry from a dataset * count an array of the registry from a dataset
*
* @param $oDataset * @param $oDataset
* @return the registry * @return the registry
*/ */
public function getRegistry($oDataset) { public function getRegistry ($oDataset)
{
return @mysql_fetch_array( $oDataset, $this->iFetchType ); return @mysql_fetch_array( $oDataset, $this->iFetchType );
} }
/** /**
* close the current connection * close the current connection
*
* @return void * @return void
*/ */
public function close() { public function close ()
{
@mysql_close( $this->oConnection ); @mysql_close( $this->oConnection );
} }
public function generateInsertSQL($table, $data) { public function generateInsertSQL ($table, $data)
{
$fields = array (); $fields = array ();
$values = array (); $values = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -465,17 +496,18 @@ class database extends database_base {
$values[] = mysql_real_escape_string( $field['value'] ); $values[] = mysql_real_escape_string( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
$fields = array_map(array($this, 'putQuotes'), $fields); $fields = array_map( array ($this,'putQuotes'
), $fields );
$sql = sprintf( "INSERT INTO %s (%s) VALUES (%s)", $this->putQuotes( $table ), implode( ', ', $fields ), implode( ', ', $values ) ); $sql = sprintf( "INSERT INTO %s (%s) VALUES (%s)", $this->putQuotes( $table ), implode( ', ', $fields ), implode( ', ', $values ) );
return $sql; return $sql;
} }
public function generateUpdateSQL($table, $keys, $data) { public function generateUpdateSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -490,8 +522,7 @@ class database extends database_base {
$fields[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] ); $fields[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
if (in_array( $field['field'], $keys )) { if (in_array( $field['field'], $keys )) {
@@ -502,7 +533,8 @@ class database extends database_base {
return $sql; return $sql;
} }
public function generateDeleteSQL($table, $keys, $data) { public function generateDeleteSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -518,8 +550,7 @@ class database extends database_base {
$where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] ); $where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
@@ -528,7 +559,8 @@ class database extends database_base {
return $sql; return $sql;
} }
public function generateSelectSQL($table, $keys, $data) { public function generateSelectSQL ($table, $keys, $data)
{
$fields = array (); $fields = array ();
$where = array (); $where = array ();
foreach ($data as $field) { foreach ($data as $field) {
@@ -544,8 +576,7 @@ class database extends database_base {
$where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] ); $where[] = $this->putQuotes( $field['field'] ) . " = " . mysql_real_escape_string( $field['value'] );
break; break;
} }
} } else {
else {
$values[] = $this->nullString; $values[] = $this->nullString;
} }
} }
@@ -554,7 +585,8 @@ class database extends database_base {
return $sql; return $sql;
} }
private function putQuotes($element) { private function putQuotes ($element)
{
return $this->sQuoteCharacter . $element . $this->sQuoteCharacter; return $this->sQuoteCharacter . $element . $this->sQuoteCharacter;
} }
@@ -651,8 +683,7 @@ class database extends database_base {
$sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER "; $sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER ";
$sqlGroupBy = " USER "; $sqlGroupBy = " USER ";
$sql = "SELECT " . $sqlConcat . ", " . $sql = "SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -680,8 +711,7 @@ class database extends database_base {
$sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER "; $sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER ";
$sqlGroupBy = " USER "; $sqlGroupBy = " USER ";
$sql = " SELECT " . $sqlConcat . ", " . $sql = " SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -709,8 +739,7 @@ class database extends database_base {
$sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER "; $sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER ";
$sqlGroupBy = " USER "; $sqlGroupBy = " USER ";
$sql = " SELECT " . $sqlConcat . ", " . $sql = " SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -739,8 +768,7 @@ class database extends database_base {
$sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER "; $sqlConcat = " CONCAT(U.USR_LASTNAME,' ',USR_FIRSTNAME) AS USER ";
$sqlGroupBy = " USER "; $sqlGroupBy = " USER ";
$sql = "SELECT " . $sqlConcat . ", " . $sql = "SELECT " . $sqlConcat . ", " . " COUNT(*) AS CANTCASES,
" COUNT(*) AS CANTCASES,
MIN(AD.DEL_DURATION) AS MIN, MIN(AD.DEL_DURATION) AS MIN,
MAX(AD.DEL_DURATION) AS MAX, MAX(AD.DEL_DURATION) AS MAX,
SUM(AD.DEL_DURATION) AS TOTALDUR, SUM(AD.DEL_DURATION) AS TOTALDUR,
@@ -770,7 +798,6 @@ class database extends database_base {
} }
/* /*
* query functions for class class.net.php, class.reportTables.php * query functions for class class.net.php, class.reportTables.php
* *
@@ -781,7 +808,6 @@ class database extends database_base {
return $sql; return $sql;
} }
function getTableDescription ($sTableName) function getTableDescription ($sTableName)
{ {
$sql = "DESC " . $sTableName; $sql = "DESC " . $sTableName;
@@ -831,7 +857,8 @@ class database extends database_base {
@mysql_select_db( $database ); @mysql_select_db( $database );
$tables = array (); $tables = array ();
$tablesResult = mysql_query( "SHOW TABLES FROM $database;" ); $tablesResult = mysql_query( "SHOW TABLES FROM $database;" );
while ($row = @mysql_fetch_row($tablesResult)) $tables[] = $row[0]; while ($row = @mysql_fetch_row( $tablesResult ))
$tables[] = $row[0];
if (in_array( $tableName, $tables )) { if (in_array( $tableName, $tables )) {
return TRUE; return TRUE;
} }
@@ -850,5 +877,5 @@ class database extends database_base {
// } // }
// return FALSE; // return FALSE;
// } // }
} }

View File

@@ -1,6 +1,7 @@
<?php <?php
/** /**
* class.dbconnection.php * class.dbconnection.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -25,7 +26,9 @@
*/ */
/** /**
*
* @package gulliver.system * @package gulliver.system
*
*/ */
require_once ("DB.php"); require_once ("DB.php");
@@ -39,6 +42,7 @@ define ( 'DB_ERROR_SHOWALL_AND_CONTINUE', 4);
/** /**
* DBConnection class definition * DBConnection class definition
* It is useful to stablish a connection * It is useful to stablish a connection
*
* @package gulliver.system * @package gulliver.system
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @copyright (C) 2002 by Colosa Development Team. * @copyright (C) 2002 by Colosa Development Team.
@@ -50,30 +54,33 @@ class DBConnection
var $errorLevel; var $errorLevel;
var $type; var $type;
/***************************************************************** /**
/* Error types: * ***************************************************************
/* -1 Fatal error ( clase no instanced ) * /* Error types:
/* -2 Syntax error ( session missing, query malformed, etc ) * /* -1 Fatal error ( clase no instanced )
/* -3 warning ( when the engine build a dangerous query, i.e delete without where clause ) * /* -2 Syntax error ( session missing, query malformed, etc )
/* * /* -3 warning ( when the engine build a dangerous query, i.e delete without where clause )
/* Error level: * /*
/* 0 don't display any error information and continue. * /* Error level:
/* 1 display small box with error information and die. * /* 0 don't display any error information and continue.
/* 2 display small box with error information and continue * /* 1 display small box with error information and die.
/* 3 display complete error information and die. * /* 2 display small box with error information and continue
/* 4 display complete error information and continue. * /* 3 display complete error information and die.
/* * /* 4 display complete error information and continue.
/* Error Structure * /*
/* int error code * /* Error Structure
/* string error message * /* int error code
/* string error detailed message * /* string error message
/* * /* string error detailed message
/* In all cases, the error will be saved in the apache log file * /*
/* * /* In all cases, the error will be saved in the apache log file
/* */ * /*
* /*
*/
/** /**
* Starts DB connection with default values * Starts DB connection with default values
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @param const $strServer Host Name * @param const $strServer Host Name
@@ -89,7 +96,8 @@ class DBConnection
function DBConnection ($strServer = DB_HOST, $strUser = DB_USER, $strPwd = DB_PASS, $strDB = DB_NAME, $type = DB_ADAPTER, $strPort = 0, $errorLevel = 2) function DBConnection ($strServer = DB_HOST, $strUser = DB_USER, $strPwd = DB_PASS, $strDB = DB_NAME, $type = DB_ADAPTER, $strPort = 0, $errorLevel = 2)
{ {
$this->errorLevel = $errorLevel; $this->errorLevel = $errorLevel;
if ($type == null ) $type = 'mysql'; if ($type == null)
$type = 'mysql';
$this->type = $type; $this->type = $type;
//print "<hr>$type $strServer, $strUser, $strPwd, $strDB <hr>"; //print "<hr>$type $strServer, $strUser, $strPwd, $strDB <hr>";
if ($type == "mysql") if ($type == "mysql")
@@ -110,7 +118,7 @@ class DBConnection
if ($type == "oracle") { if ($type == "oracle") {
$dsn = "oci8://$strUser:$strPwd@$strServer/$strDB"; $dsn = "oci8://$strUser:$strPwd@$strServer/$strDB";
} }
$this->db_error = NULL; $this->db_error = null;
if ($type === 'myxml') { if ($type === 'myxml') {
$this->db = XMLDB::connect( $strServer ); $this->db = XMLDB::connect( $strServer );
} else { } else {
@@ -118,13 +126,14 @@ class DBConnection
} }
if (DB::isError( $this->db )) { if (DB::isError( $this->db )) {
$this->db_error = $this->db; $this->db_error = $this->db;
$this->db = NULL; $this->db = null;
$this->logError( $this->db_error ); $this->logError( $this->db_error );
} }
} }
/** /**
* Close Connection and Generate Log Message * Close Connection and Generate Log Message
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @return void * @return void
@@ -134,11 +143,12 @@ class DBConnection
if ($this->db) { if ($this->db) {
$this->db->disconnect(); $this->db->disconnect();
} }
$this->db = NULL; $this->db = null;
} }
/** /**
* Disconnect from Data base * Disconnect from Data base
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @return void * @return void
@@ -150,6 +160,7 @@ class DBConnection
/** /**
* Close Connection * Close Connection
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @return void * @return void
@@ -161,6 +172,7 @@ class DBConnection
/** /**
* log Errors * log Errors
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @param db_error $obj * @param db_error $obj
@@ -172,12 +184,13 @@ class DBConnection
global $_SESSION; global $_SESSION;
global $_SERVER; global $_SERVER;
if (is_null( $errorLevel )) if (is_null( $errorLevel ))
if ( isset ( $this->errorLevel) ) if (isset( $this->errorLevel )) {
$errorLevel = $this->errorLevel; $errorLevel = $this->errorLevel;
else } else {
$errorLevel = DB_ERROR_SHOWALL_AND_STOP; //for fatal errors the default is 3, show detailed and die. $errorLevel = DB_ERROR_SHOWALL_AND_STOP; //for fatal errors the default is 3, show detailed and die.
if ($errorLevel == DB_ERROR_SHOW_AND_STOP || $errorLevel == DB_ERROR_SHOW_AND_CONTINUE || }
$errorLevel == DB_ERROR_SHOWALL_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_CONTINUE ) {
if ($errorLevel == DB_ERROR_SHOW_AND_STOP || $errorLevel == DB_ERROR_SHOW_AND_CONTINUE || $errorLevel == DB_ERROR_SHOWALL_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_CONTINUE) {
print "<table border=1 style='font-family:Arial' cellspacing=1 cellpadding = 0 width=400 class= 'tableError' >"; print "<table border=1 style='font-family:Arial' cellspacing=1 cellpadding = 0 width=400 class= 'tableError' >";
print "<tr><td><b>" . $obj->code . ' ' . $obj->message . "</b></td></tr>"; print "<tr><td><b>" . $obj->code . ' ' . $obj->message . "</b></td></tr>";
if ($errorLevel == DB_ERROR_SHOWALL_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_CONTINUE) { if ($errorLevel == DB_ERROR_SHOWALL_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_CONTINUE) {
@@ -193,12 +206,13 @@ class DBConnection
//G::setErrorHandler ( ); //G::setErrorHandler ( );
G::customErrorLog( 'DB_Error', $obj->code . ' ' . $obj->message . '-' . $obj->userinfo, '', '' ); G::customErrorLog( 'DB_Error', $obj->code . ' ' . $obj->message . '-' . $obj->userinfo, '', '' );
if ($errorLevel == DB_ERROR_SHOW_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_STOP) { if ($errorLevel == DB_ERROR_SHOW_AND_STOP || $errorLevel == DB_ERROR_SHOWALL_AND_STOP) {
die; //stop die(); //stop
} }
} }
/** /**
* Get the trace of the current execution (debug_backtrace). * Get the trace of the current execution (debug_backtrace).
*
* @author David Callizaya * @author David Callizaya
* @param string $tts * @param string $tts
* @param string $limit * @param string $limit
@@ -212,18 +226,19 @@ class DBConnection
if ($tts > 0) { if ($tts > 0) {
$tts --; $tts --;
} else { } else {
$out .= '['.basename($step['file']).': '.$step['line'].'] : ' . $step['function'] .'(' . $out .= '[' . basename( $step['file'] ) . ': ' . $step['line'] . '] : ' . $step['function'] . '(' . DBConnection::printArgs( $step['args'] ) . ")\n";
DBConnection::printArgs($step['args']). ")\n";
$limit --; $limit --;
if ($limit===0) if ($limit === 0) {
return $out; return $out;
} }
} }
}
return $out; return $out;
} }
/** /**
* Print the arguments of a function * Print the arguments of a function
*
* @author David Callizaya * @author David Callizaya
* @param string $args * @param string $args
* @return string * @return string
@@ -233,30 +248,34 @@ class DBConnection
$out = ''; $out = '';
if (is_array( $args )) { if (is_array( $args )) {
foreach ($args as $arg) { foreach ($args as $arg) {
if ($out!=='') if ($out !== '') {
$out .= ' ,'; $out .= ' ,';
if (is_string($arg)) }
if (is_string( $arg )) {
$out .= "'" . ($arg) . "'"; $out .= "'" . ($arg) . "'";
elseif (is_array($arg) ) } elseif (is_array( $arg )) {
$out .= print_r( $arg, 1 ); $out .= print_r( $arg, 1 );
elseif (is_object($arg)) } elseif (is_object( $arg )) {
$out .= get_class( $arg ); // print_r ( $arg ,1 ); $out .= get_class( $arg ); // print_r ( $arg ,1 );
elseif (!isset($arg)) } elseif (! isset( $arg )) {
$out .= 'NULL'; $out .= 'NULL';
else } else {
$out .= sprintf( "%s", $arg ); $out .= sprintf( "%s", $arg );
} }
}
} else { } else {
if (!isset($args)) if (! isset( $args )) {
$out = 'NULL'; $out = 'NULL';
else } else {
$out = print_r( $args, 1 ); $out = print_r( $args, 1 );
} }
}
return $out; return $out;
} }
/** /**
* Gets last autoincrement value inserted * Gets last autoincrement value inserted
*
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @access public * @access public
* @return void * @return void
@@ -265,14 +284,12 @@ class DBConnection
{ {
if (PEAR_DATABASE == "mysql") { if (PEAR_DATABASE == "mysql") {
return mysql_insert_id(); return mysql_insert_id();
} } else {
else { $dberror = PEAR::raiseError( null, DB_ERROR_FEATURE_NOT_AVAILABLE, null, 'null', "getLastID with " . PEAR_DATABASE . ' database.', 'G_Error', true );
$dberror = PEAR::raiseError(null, DB_ERROR_FEATURE_NOT_AVAILABLE, null, 'null',
"getLastID with " . PEAR_DATABASE . ' database.',
'G_Error', true);
DBconnection::logError( $dberror, DB_ERROR_SHOWALL_AND_STOP ); //this error will stop the execution, until we add this feature!! DBconnection::logError( $dberror, DB_ERROR_SHOWALL_AND_STOP ); //this error will stop the execution, until we add this feature!!
return $dberror; return $dberror;
} }
return mysql_insert_id(); return mysql_insert_id();
} }
} }

1012
gulliver/system/class.g.php Executable file → Normal file

File diff suppressed because it is too large Load Diff

159
gulliver/system/class.headPublisher.php Executable file → Normal file
View File

@@ -1,6 +1,8 @@
<?php <?php
/** /**
* class.headPublisher.php * class.headPublisher.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -25,12 +27,14 @@
*/ */
/** /**
* Class headPublisher * Class headPublisher
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @package gulliver.system * @package gulliver.system
* @access public * @access public
*/ */
class headPublisher { class headPublisher
private static $instance = NULL; {
private static $instance = null;
var $maborakFiles = array (); var $maborakFiles = array ();
var $maborakLoaderFiles = array (); var $maborakLoaderFiles = array ();
var $scriptFiles = array (); var $scriptFiles = array ();
@@ -79,17 +83,20 @@ class headPublisher {
/** /**
* Function headPublisher * Function headPublisher
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @return string * @return string
*/ */
public function __construct() { public function __construct ()
{
$this->addScriptFile( "/js/maborak/core/maborak.js" ); $this->addScriptFile( "/js/maborak/core/maborak.js" );
} }
function &getSingleton() { function &getSingleton ()
if (self::$instance == NULL) { {
if (self::$instance == null) {
self::$instance = new headPublisher(); self::$instance = new headPublisher();
} }
return self::$instance; return self::$instance;
@@ -97,47 +104,57 @@ class headPublisher {
/** /**
* Function setTitle * Function setTitle
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @param eter string url * @param eter string url
* @param eter string LoadType * @param eter string LoadType
* @return string * @return string
*/ */
function setTitle($title) { function setTitle ($title)
{
$this->title = $title; $this->title = $title;
} }
/** /**
* Function addMaborakFile * Function addMaborakFile
*
* @access public * @access public
* @param eter string filename * @param eter string filename
* @param eter string loader; false -> maborak files, true maborak.loader * @param eter string loader; false -> maborak files, true maborak.loader
* @return string * @return string
*/ */
function addMaborakFile($filename, $loader = false) { function addMaborakFile ($filename, $loader = false)
if ($loader) {
if ($loader) {
$this->maborakLoaderFiles[] = $filename; $this->maborakLoaderFiles[] = $filename;
else } else {
$this->maborakFiles[] = $filename; $this->maborakFiles[] = $filename;
} }
}
/** /**
* Function addScriptFile * Function addScriptFile
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @param eter string url * @param eter string url
* @param eter string LoadType * @param eter string LoadType
* @return string * @return string
*/ */
function addScriptFile($url, $LoadType = 1) { function addScriptFile ($url, $LoadType = 1)
if ($LoadType == 1) {
if ($LoadType == 1) {
$this->scriptFiles[$url] = $url; $this->scriptFiles[$url] = $url;
if ($LoadType == 2) }
if ($LoadType == 2) {
$this->leimnudLoad[$url] = $url; $this->leimnudLoad[$url] = $url;
} }
}
/** /**
* Function addInstanceModule * Function addInstanceModule
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @param eter string instance * @param eter string instance
@@ -145,51 +162,60 @@ class headPublisher {
* @return string * @return string
*/ */
function addInstanceModule($instance, $module) { function addInstanceModule ($instance, $module)
{
$this->headerScript .= "leimnud.Package.Load('" . $module . "',{Instance:" . $instance . ",Type:'module'});\n"; $this->headerScript .= "leimnud.Package.Load('" . $module . "',{Instance:" . $instance . ",Type:'module'});\n";
} }
/** /**
* Function addClassModule * Function addClassModule
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @param eter string class * @param eter string class
* @param eter string module * @param eter string module
* @return string * @return string
*/ */
function addClassModule($class, $module) { function addClassModule ($class, $module)
{
$this->headerScript .= "leimnud.Package.Load('" . $module . "',{Class:" . $class . ",Type:'module'});\n"; $this->headerScript .= "leimnud.Package.Load('" . $module . "',{Class:" . $class . ",Type:'module'});\n";
} }
/** /**
* Function addScriptCode * Function addScriptCode
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @param eter string script * @param eter string script
* @return string * @return string
*/ */
function addScriptCode($script) { function addScriptCode ($script)
{
$this->headerScript .= $script; $this->headerScript .= $script;
} }
/** /**
* Function printHeader * Function printHeader
*
* @author David S. Callizaya S. <davidsantos@colosa.com> * @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public * @access public
* @return string * @return string
*/ */
function printHeader() { function printHeader ()
{
$jslabel = 'labels/en.js'; $jslabel = 'labels/en.js';
if (defined( 'SYS_LANG' )) { if (defined( 'SYS_LANG' )) {
$jslabel = 'labels' . PATH_SEP . SYS_LANG . '.js'; $jslabel = 'labels' . PATH_SEP . SYS_LANG . '.js';
if (! file_exists ( PATH_CORE . 'js' . PATH_SEP . $jslabel )) if (! file_exists( PATH_CORE . 'js' . PATH_SEP . $jslabel )) {
$jslabel = 'labels/en.js'; $jslabel = 'labels/en.js';
} }
}
if (file_exists( PATH_CORE . 'js' . PATH_SEP . $jslabel )) { if (file_exists( PATH_CORE . 'js' . PATH_SEP . $jslabel )) {
$this->addScriptFile( '/jscore/' . $jslabel, 1 ); $this->addScriptFile( '/jscore/' . $jslabel, 1 );
} }
if ($this->disableHeaderScripts) if ($this->disableHeaderScripts) {
return ''; return '';
}
// available js-calendar languages array // available js-calendar languages array
$availableJsCalendarLang = array ('ca','cn','cz','de','en','es','fr','it','jp','nl','pl','pt','ro','ru','sv'); $availableJsCalendarLang = array ('ca','cn','cz','de','en','es','fr','it','jp','nl','pl','pt','ro','ru','sv');
@@ -206,12 +232,14 @@ class headPublisher {
$head = ''; $head = '';
$head .= '<TITLE>' . $this->title . "</TITLE>\n"; $head .= '<TITLE>' . $this->title . "</TITLE>\n";
foreach ( $this->scriptFiles as $file ) foreach ($this->scriptFiles as $file) {
$head .= "<script type='text/javascript' src='" . $file . "'></script>\n"; $head .= "<script type='text/javascript' src='" . $file . "'></script>\n";
}
$head .= "<script type='text/javascript'>\n"; $head .= "<script type='text/javascript'>\n";
$head .= $this->leimnudInitString; $head .= $this->leimnudInitString;
foreach ( $this->leimnudLoad as $file ) foreach ($this->leimnudLoad as $file) {
$head .= " leimnud.Package.Load(false, {Type: 'file', Path: '" . $file . "', Absolute : true});\n"; $head .= " leimnud.Package.Load(false, {Type: 'file', Path: '" . $file . "', Absolute : true});\n";
}
$head .= $this->headerScript; $head .= $this->headerScript;
$head .= "</script>\n"; $head .= "</script>\n";
return $head; return $head;
@@ -228,13 +256,15 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function printRawHeader() { function printRawHeader ()
{
$jslabel = '/jscore/labels/en.js'; $jslabel = '/jscore/labels/en.js';
if (defined( 'SYS_LANG' )) { if (defined( 'SYS_LANG' )) {
$jslabel1 = 'labels' . PATH_SEP . SYS_LANG . '.js'; $jslabel1 = 'labels' . PATH_SEP . SYS_LANG . '.js';
if (! file_exists ( PATH_CORE . 'js' . PATH_SEP . $jslabel1 )) if (! file_exists( PATH_CORE . 'js' . PATH_SEP . $jslabel1 )) {
$jslabel = '/jscore/labels/en.js'; $jslabel = '/jscore/labels/en.js';
} }
}
$head = ''; $head = '';
//$head .= "<script language='javascript'>\n"; //$head .= "<script language='javascript'>\n";
foreach ($this->scriptFiles as $file) { foreach ($this->scriptFiles as $file) {
@@ -242,8 +272,9 @@ class headPublisher {
$head .= " eval(ajax_function('" . $file . "','',''));\n"; $head .= " eval(ajax_function('" . $file . "','',''));\n";
} }
} }
foreach ( $this->leimnudLoad as $file ) foreach ($this->leimnudLoad as $file) {
$head .= " eval(ajax_function('" . $file . "','',''));\n"; $head .= " eval(ajax_function('" . $file . "','',''));\n";
}
//Adapts the add events on load to simple javascript sentences. //Adapts the add events on load to simple javascript sentences.
$this->headerScript = preg_replace( '/\s*leimnud.event.add\s*\(\s*window\s*,\s*(?:\'|")load(?:\'|")\s*,\s*function\(\)\{(.+)\}\s*\)\s*;?/', '$1', $this->headerScript ); $this->headerScript = preg_replace( '/\s*leimnud.event.add\s*\(\s*window\s*,\s*(?:\'|")load(?:\'|")\s*,\s*function\(\)\{(.+)\}\s*\)\s*;?/', '$1', $this->headerScript );
$head .= $this->headerScript; $head .= $this->headerScript;
@@ -259,7 +290,8 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function clearScripts() { function clearScripts ()
{
$this->scriptFiles = array (); $this->scriptFiles = array ();
$this->leimnudLoad = array (); $this->leimnudLoad = array ();
$this->leimnudInitString = ''; $this->leimnudInitString = '';
@@ -277,7 +309,8 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function includeExtJs() { function includeExtJs ()
{
$this->clearScripts(); $this->clearScripts();
$head = ''; $head = '';
$head .= " <script type='text/javascript' src='/js/ext/ext-base.js'></script>\n"; $head .= " <script type='text/javascript' src='/js/ext/ext-base.js'></script>\n";
@@ -297,11 +330,9 @@ class headPublisher {
$this->extJsSkin = 'xtheme-gray'; $this->extJsSkin = 'xtheme-gray';
//$this->extJsSkin = 'gtheme'; //$this->extJsSkin = 'gtheme';
} }
//$head .= $this->getExtJsStylesheets(); //$head .= $this->getExtJsStylesheets();
$head .= $this->getExtJsScripts(); $head .= $this->getExtJsScripts();
$head .= $this->getExtJsVariablesScript(); $head .= $this->getExtJsVariablesScript();
$oServerConf = & serverConf::getSingleton(); $oServerConf = & serverConf::getSingleton();
if ($oServerConf->isRtl( SYS_LANG )) { if ($oServerConf->isRtl( SYS_LANG )) {
$head .= " <script type='text/javascript' src='/js/ext/extjs_rtl.js'></script>\n"; $head .= " <script type='text/javascript' src='/js/ext/extjs_rtl.js'></script>\n";
@@ -310,7 +341,8 @@ class headPublisher {
return $head; return $head;
} }
function getExtJsStylesheets($skinName){ function getExtJsStylesheets ($skinName)
{
$script = " <link rel='stylesheet' type='text/css' href='/css/$skinName.css' />\n"; $script = " <link rel='stylesheet' type='text/css' href='/css/$skinName.css' />\n";
$script .= " <script type='text/javascript' src='/js/ext/translation." . SYS_LANG . ".js'></script>\n"; $script .= " <script type='text/javascript' src='/js/ext/translation." . SYS_LANG . ".js'></script>\n";
/* /*
@@ -336,11 +368,11 @@ class headPublisher {
$script .= " <link rel='stylesheet' type='text/css' href='" . $cssFile->sCssFile . ".css' />\n"; $script .= " <link rel='stylesheet' type='text/css' href='" . $cssFile->sCssFile . ".css' />\n";
} }
} }
return $script; return $script;
} }
function getExtJsScripts(){ function getExtJsScripts ()
{
$script = ''; $script = '';
if (isset( $this->extJsScript ) && is_array( $this->extJsScript )) { if (isset( $this->extJsScript ) && is_array( $this->extJsScript )) {
foreach ($this->extJsScript as $key => $file) { foreach ($this->extJsScript as $key => $file) {
@@ -350,9 +382,9 @@ class headPublisher {
return $script; return $script;
} }
function getExtJsVariablesScript(){ function getExtJsVariablesScript ()
{
$script = ''; $script = '';
if (count( $this->extVariable ) > 0) { if (count( $this->extVariable ) > 0) {
$script = "<script language='javascript'>\n"; $script = "<script language='javascript'>\n";
foreach ($this->extVariable as $key => $val) { foreach ($this->extVariable as $key => $val) {
@@ -372,7 +404,6 @@ class headPublisher {
} }
$script .= "</script>\n"; $script .= "</script>\n";
} }
return $script; return $script;
} }
@@ -395,7 +426,8 @@ class headPublisher {
* @param (String) http js path library * @param (String) http js path library
* @return none * @return none
*/ */
function usingExtJs($library) { function usingExtJs ($library)
{
if (! is_string( $library )) { if (! is_string( $library )) {
throw new Exception( 'headPublisher::usingExt->ERROR - the parameter should be a js path string' ); throw new Exception( 'headPublisher::usingExt->ERROR - the parameter should be a js path string' );
} }
@@ -412,13 +444,15 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function setExtSkin($skin) { function setExtSkin ($skin)
{
$this->extJsSkin = $skin; $this->extJsSkin = $skin;
} }
/** /**
* Function addExtJsScript * Function addExtJsScript
* adding a javascript file .js * adding a javascript file .
* js
* add a js file in the extension Javascript Array, * add a js file in the extension Javascript Array,
* later, when we use the includeExtJs function, all the files in this array will be included in the output * later, when we use the includeExtJs function, all the files in this array will be included in the output
* if the second argument is true, the file will not be minified, this is useful for debug purposes. * if the second argument is true, the file will not be minified, this is useful for debug purposes.
@@ -431,8 +465,8 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function addExtJsScript($filename, $debug = false, $isExternal=false) { function addExtJsScript ($filename, $debug = false, $isExternal = false)
{
$sPath = PATH_TPL; $sPath = PATH_TPL;
//if the template file doesn't exists, then try with the plugins folders //if the template file doesn't exists, then try with the plugins folders
@@ -448,10 +482,11 @@ class headPublisher {
} }
} }
if (!$isExternal) if (! $isExternal) {
$jsFilename = $sPath . $filename . '.js'; $jsFilename = $sPath . $filename . '.js';
else } else {
$jsFilename = $filename . '.js'; $jsFilename = $filename . '.js';
}
if (! file_exists( $jsFilename )) { if (! file_exists( $jsFilename )) {
return; return;
@@ -463,8 +498,7 @@ class headPublisher {
$cacheName = str_replace( '/', '_', $filename ); $cacheName = str_replace( '/', '_', $filename );
$cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js'; $cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js';
file_put_contents( $cacheFilename, file_get_contents( $jsFilename ) ); file_put_contents( $cacheFilename, file_get_contents( $jsFilename ) );
} } else {
else {
$cacheName = md5( $mtime . $jsFilename ); $cacheName = md5( $mtime . $jsFilename );
$cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js'; $cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js';
@@ -475,16 +509,15 @@ class headPublisher {
} }
} }
$this->extJsScript[] = '/extjs/' . $cacheName; $this->extJsScript[] = '/extjs/' . $cacheName;
//hook for registered javascripts from plugins //hook for registered javascripts from plugins
if (class_exists( 'PMPluginRegistry' )) { if (class_exists( 'PMPluginRegistry' )) {
$oPluginRegistry = & PMPluginRegistry::getSingleton(); $oPluginRegistry = & PMPluginRegistry::getSingleton();
$pluginJavascripts = $oPluginRegistry->getRegisteredJavascriptBy( $filename ); $pluginJavascripts = $oPluginRegistry->getRegisteredJavascriptBy( $filename );
} } else {
else
$pluginJavascripts = array (); $pluginJavascripts = array ();
}
if (count( $pluginJavascripts ) > 0) { if (count( $pluginJavascripts ) > 0) {
if ($debug) { if ($debug) {
@@ -503,8 +536,7 @@ class headPublisher {
$this->extJsScript[] = '/extjs/' . $jsPluginCacheName; $this->extJsScript[] = '/extjs/' . $jsPluginCacheName;
} }
} }
} } else {
else {
foreach ($pluginJavascripts as $pluginJsFile) { foreach ($pluginJavascripts as $pluginJsFile) {
$jsPluginCacheName = ''; $jsPluginCacheName = '';
if (substr( $pluginJsFile, - 3 ) !== '.js') { if (substr( $pluginJsFile, - 3 ) !== '.js') {
@@ -528,12 +560,12 @@ class headPublisher {
} }
} }
//end hook for registered javascripts from plugins //end hook for registered javascripts from plugins
} }
/** /**
* Function AddContent * Function AddContent
* adding a html file .html. * adding a html file .
* html.
* the main idea for this function, is to be a replacement to homonymous function in Publisher class. * the main idea for this function, is to be a replacement to homonymous function in Publisher class.
* with this function you are adding Content to the output, the class HeadPublisher will maintain a list of * with this function you are adding Content to the output, the class HeadPublisher will maintain a list of
* files to render in the body of the output page * files to render in the body of the output page
@@ -542,11 +574,13 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function AddContent($templateHtml) { function AddContent ($templateHtml)
{
$this->extJsContent[] = $templateHtml; $this->extJsContent[] = $templateHtml;
} }
function getContent() { function getContent ()
{
return $this->extJsContent; return $this->extJsContent;
} }
@@ -559,15 +593,18 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function Assign($variable, $value) { function Assign ($variable, $value)
{
$this->extVariable[] = array ('name' => $variable,'value' => $value,'type' => 'string'); $this->extVariable[] = array ('name' => $variable,'value' => $value,'type' => 'string');
} }
function AssignVar($name, $value) { function AssignVar ($name, $value)
{
$this->vars[$name] = $value; $this->vars[$name] = $value;
} }
function getVars() { function getVars ()
{
return $this->vars; return $this->vars;
} }
@@ -580,9 +617,11 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function AssignNumber($variable, $value) { function AssignNumber ($variable, $value)
{
$this->extVariable[] = array ('name' => $variable,'value' => $value,'type' => 'number'); $this->extVariable[] = array ('name' => $variable,'value' => $value,'type' => 'number');
} }
/** /**
* Function renderExtJs * Function renderExtJs
* this function returns the content rendered using ExtJs * this function returns the content rendered using ExtJs
@@ -592,7 +631,8 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function renderExtJs() { function renderExtJs ()
{
$body = ''; $body = '';
if (isset( $this->extJsContent ) && is_array( $this->extJsContent )) { if (isset( $this->extJsContent ) && is_array( $this->extJsContent )) {
foreach ($this->extJsContent as $key => $file) { foreach ($this->extJsContent as $key => $file) {
@@ -622,7 +662,8 @@ class headPublisher {
return $body; return $body;
} }
function stripCodeQuotes($sJson){ function stripCodeQuotes ($sJson)
{
$fields = array ("editor","renderer"); $fields = array ("editor","renderer");
foreach ($fields as $field) { foreach ($fields as $field) {
$pattern = '/"(' . $field . ')":"[a-zA-Z.()]*"/'; $pattern = '/"(' . $field . ')":"[a-zA-Z.()]*"/';
@@ -652,7 +693,9 @@ class headPublisher {
* @access public * @access public
* @return string * @return string
*/ */
function disableHeaderScripts(){ function disableHeaderScripts ()
{
$this->disableHeaderScripts = true; $this->disableHeaderScripts = true;
} }
} }

99
gulliver/system/class.soapNtlm.php Executable file → Normal file
View File

@@ -2,6 +2,7 @@
/** /**
* class.soapNtlm.php * class.soapNtlm.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -30,10 +31,11 @@
*/ */
/** /**
*
* @package gulliver.system * @package gulliver.system
*/ */
class soapNtlm { class soapNtlm
{
private $path; private $path;
private $mode; private $mode;
private $options; private $options;
@@ -60,25 +62,23 @@ class soapNtlm {
* @param unknown_type $opened_path * @param unknown_type $opened_path
* @return unknown * @return unknown
*/ */
public function stream_open($path, $mode, $options, $opened_path) { public function stream_open ($path, $mode, $options, $opened_path)
{
//echo "[NTLMStream::stream_open] $path , mode=$mode <br>"; //echo "[NTLMStream::stream_open] $path , mode=$mode <br>";
//G::pr($options); //G::pr($options);
$this->path = $path; $this->path = $path;
$this->mode = $mode; $this->mode = $mode;
$this->options = $options; $this->options = $options;
$this->opened_path = $opened_path; $this->opened_path = $opened_path;
$this->createBuffer( $this->path ); $this->createBuffer( $this->path );
return true; return true;
} }
/** /**
* Close the stream * Close the stream
*
*/ */
public function stream_close() { public function stream_close ()
{
//echo "[NTLMStream::stream_close] <br>"; //echo "[NTLMStream::stream_close] <br>";
curl_close( $this->ch ); curl_close( $this->ch );
} }
@@ -89,16 +89,14 @@ class soapNtlm {
* @param int $count number of bytes to read * @param int $count number of bytes to read
* @return content from pos to count * @return content from pos to count
*/ */
public function stream_read($count) { public function stream_read ($count)
{
//echo "[NTLMStream::stream_read] $count <br>"; //echo "[NTLMStream::stream_read] $count <br>";
if (strlen( $this->buffer ) == 0) { if (strlen( $this->buffer ) == 0) {
return false; return false;
} }
$read = substr( $this->buffer, $this->pos, $count ); $read = substr( $this->buffer, $this->pos, $count );
$this->pos += $count; $this->pos += $count;
return $read; return $read;
} }
@@ -108,7 +106,8 @@ class soapNtlm {
* @param int $count number of bytes to read * @param int $count number of bytes to read
* @return content from pos to count * @return content from pos to count
*/ */
public function stream_write($data) { public function stream_write ($data)
{
//echo "[NTLMStream::stream_write] <br>"; //echo "[NTLMStream::stream_write] <br>";
if (strlen( $this->buffer ) == 0) { if (strlen( $this->buffer ) == 0) {
return false; return false;
@@ -120,21 +119,23 @@ class soapNtlm {
* *
* @return true if eof else false * @return true if eof else false
*/ */
public function stream_eof() { public function stream_eof ()
{
//echo "[NTLMStream::stream_eof] "; //echo "[NTLMStream::stream_eof] ";
if ($this->pos > strlen( $this->buffer )) { if ($this->pos > strlen( $this->buffer )) {
//echo "true <br>"; //echo "true <br>";
return true; return true;
} }
//echo "false <br>"; //echo "false <br>";
return false; return false;
} }
/** /**
*
* @return int the position of the current read pointer * @return int the position of the current read pointer
*/ */
public function stream_tell() { public function stream_tell ()
{
//echo "[NTLMStream::stream_tell] <br>"; //echo "[NTLMStream::stream_tell] <br>";
return $this->pos; return $this->pos;
} }
@@ -142,7 +143,8 @@ class soapNtlm {
/** /**
* Flush stream data * Flush stream data
*/ */
public function stream_flush() { public function stream_flush ()
{
//echo "[NTLMStream::stream_flush] <br>"; //echo "[NTLMStream::stream_flush] <br>";
$this->buffer = null; $this->buffer = null;
$this->pos = null; $this->pos = null;
@@ -153,14 +155,11 @@ class soapNtlm {
* *
* @return array stat information * @return array stat information
*/ */
public function stream_stat() { public function stream_stat ()
{
//echo "[NTLMStream::stream_stat] <br>"; //echo "[NTLMStream::stream_stat] <br>";
$this->createBuffer( $this->path ); $this->createBuffer( $this->path );
$stat = array( $stat = array ('size' => strlen( $this->buffer ));
'size' => strlen($this->buffer),
);
return $stat; return $stat;
} }
@@ -169,14 +168,12 @@ class soapNtlm {
* *
* @return array stat information * @return array stat information
*/ */
public function url_stat($path, $flags) { public function url_stat ($path, $flags)
{
//G::pr($this->options); //G::pr($this->options);
//echo "[NTLMStream::url_stat] -> $path <br>"; //echo "[NTLMStream::url_stat] -> $path <br>";
$this->createBuffer( $path ); $this->createBuffer( $path );
$stat = array( $stat = array ('size' => strlen( $this->buffer ));
'size' => strlen($this->buffer),
);
return $stat; return $stat;
} }
@@ -185,7 +182,8 @@ class soapNtlm {
* *
* @param unknown_type $path * @param unknown_type $path
*/ */
private function createBuffer($path) { private function createBuffer ($path)
{
if ($this->buffer) { if ($this->buffer) {
return; return;
} }
@@ -197,7 +195,6 @@ class soapNtlm {
curl_setopt( $this->ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM ); curl_setopt( $this->ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM );
//curl_setopt($this->ch, CURLOPT_USERPWD, $this->options['auth']); // Hugo's code //curl_setopt($this->ch, CURLOPT_USERPWD, $this->options['auth']); // Hugo's code
curl_setopt( $this->ch, CURLOPT_USERPWD, $this->getuser() . ':' . $this->getpassword() ); // Ankit's code curl_setopt( $this->ch, CURLOPT_USERPWD, $this->getuser() . ':' . $this->getpassword() ); // Ankit's code
//Apply proxy settings //Apply proxy settings
if (class_exists( 'System' )) { if (class_exists( 'System' )) {
$sysConf = System::getSystemConfiguration(); $sysConf = System::getSystemConfiguration();
@@ -212,26 +209,18 @@ class soapNtlm {
curl_setopt( $this->ch, CURLOPT_HTTPHEADER, array ('Expect:') ); curl_setopt( $this->ch, CURLOPT_HTTPHEADER, array ('Expect:') );
} }
} }
echo $this->buffer = curl_exec( $this->ch ); echo $this->buffer = curl_exec( $this->ch );
//echo "[NTLMStream::createBuffer] buffer size : " . strlen($this->buffer) . "bytes<br>"; //echo "[NTLMStream::createBuffer] buffer size : " . strlen($this->buffer) . "bytes<br>";
$this->pos = 0; $this->pos = 0;
} }
} }
class NTLMSoapClient extends SoapClient { class NTLMSoapClient extends SoapClient
{
function __doRequest ($request, $location, $action, $version)
function __doRequest($request, $location, $action, $version) { {
$headers = array( $headers = array ('Method: POST','Connection: Keep-Alive','User-Agent: PHP-SOAP-CURL','Content-Type: text/xml; charset=utf-8','SOAPAction: "' . $action . '"');
'Method: POST',
'Connection: Keep-Alive',
'User-Agent: PHP-SOAP-CURL',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "' . $action . '"',
);
$this->__last_request_headers = $headers; $this->__last_request_headers = $headers;
$ch = curl_init( $location ); $ch = curl_init( $location );
@@ -257,38 +246,39 @@ class NTLMSoapClient extends SoapClient {
if ($sysConf['proxy_user'] != '') { if ($sysConf['proxy_user'] != '') {
curl_setopt( $ch, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') ); curl_setopt( $ch, CURLOPT_PROXYUSERPWD, $sysConf['proxy_user'] . ($sysConf['proxy_pass'] != '' ? ':' . $sysConf['proxy_pass'] : '') );
} }
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); curl_setopt( $ch, CURLOPT_HTTPHEADER, array ('Expect:'
) );
} }
} }
$response = curl_exec( $ch ); $response = curl_exec( $ch );
return $response; return $response;
} }
function __getLastRequestHeaders() { function __getLastRequestHeaders ()
{
return implode( "\n", $this->__last_request_headers ) . "\n"; return implode( "\n", $this->__last_request_headers ) . "\n";
} }
} }
class PMServiceNTLMSoapClient extends NTLMSoapClient { class PMServiceNTLMSoapClient extends NTLMSoapClient
{
protected $user; protected $user;
protected $password; protected $password;
function setAuthClient($auth){ function setAuthClient ($auth)
{
$authInfo = explode( ":", $auth ); $authInfo = explode( ":", $auth );
$this->user = $authInfo[0]; $this->user = $authInfo[0];
$this->password = $authInfo[1]; $this->password = $authInfo[1];
} }
} }
class PMServiceProviderNTLMStream extends soapNtlm { class PMServiceProviderNTLMStream extends soapNtlm
{
protected static $user; protected static $user;
protected static $password; protected static $password;
public function getuser () public function getuser ()
{ {
return self::$user; return self::$user;
@@ -299,10 +289,11 @@ class PMServiceProviderNTLMStream extends soapNtlm {
return self::$password; return self::$password;
} }
static function setAuthStream($auth){ static function setAuthStream ($auth)
{
$authInfo = explode( ":", $auth ); $authInfo = explode( ":", $auth );
self::$user = $authInfo[0]; self::$user = $authInfo[0];
self::$password = $authInfo[1]; self::$password = $authInfo[1];
} }
} }

394
gulliver/system/class.table.php Executable file → Normal file
View File

@@ -1,6 +1,7 @@
<?php <?php
/** /**
* class.table.php * class.table.php
*
* @package gulliver.system * @package gulliver.system
* *
* ProcessMaker Open Source Edition * ProcessMaker Open Source Edition
@@ -23,11 +24,14 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
* *
*/ */
/** /**
*
*
*
* *
* Table class definition * Table class definition
* Render table * Render table
*
* @package gulliver.system * @package gulliver.system
* @author Fernando Ontiveros Lira <fernando@colosa.com> * @author Fernando Ontiveros Lira <fernando@colosa.com>
* @copyright (C) 2002 by Colosa Development Team. * @copyright (C) 2002 by Colosa Development Team.
@@ -36,23 +40,23 @@
class Table class Table
{ {
var $Columns = NULL; var $Columns = null;
var $Labels = NULL; var $Labels = null;
var $rows_per_page = 25; var $rows_per_page = 25;
var $show_nummbers = NULL; var $show_nummbers = null;
var $first_row = 0; var $first_row = 0;
var $row_pos = 0; var $row_pos = 0;
var $Action = ""; //not used var $Action = ""; //not used
var $ActionLabel = "Continuar"; //not used var $ActionLabel = "Continuar"; //not used
var $_dbc = NULL; var $_dbc = null;
var $_dbses = NULL; var $_dbses = null;
var $_dbset = NULL; var $_dbset = null;
var $_source = ""; var $_source = "";
var $DefaultOrder = "UID"; var $DefaultOrder = "UID";
var $DefaultOrderDir = 'ASC'; var $DefaultOrderDir = 'ASC';
var $CustomOrder = ""; var $CustomOrder = "";
var $WhereClause = ""; var $WhereClause = "";
var $_row_values = NULL; var $_row_values = null;
var $_ordered = true; var $_ordered = true;
var $orderprefix = ""; var $orderprefix = "";
var $CountQry = ""; var $CountQry = "";
@@ -64,14 +68,14 @@ class Table
* *
* @var array * @var array
*/ */
var $contexto = NULL; var $contexto = null;
/** /**
* Arreglo que contiene las cadenas que van a ser usadas al traducir/convertir * Arreglo que contiene las cadenas que van a ser usadas al traducir/convertir
* *
* @var array * @var array
*/ */
var $translate = NULL; var $translate = null;
/** /**
* Establece el ?ltimo contexto utilizado * Establece el ?ltimo contexto utilizado
@@ -80,7 +84,6 @@ class Table
*/ */
var $_contexto = ''; var $_contexto = '';
/** /**
* Set conecction using default values * Set conecction using default values
* *
@@ -89,7 +92,7 @@ class Table
* @param string $objConnection connection string * @param string $objConnection connection string
* @return void * @return void
*/ */
function Table( $objConnection = NULL ) function Table ($objConnection = null)
{ {
$this->SetTo( $objConnection ); $this->SetTo( $objConnection );
} }
@@ -102,7 +105,7 @@ class Table
* @param string $objConnection connection string * @param string $objConnection connection string
* @return void * @return void
*/ */
function SetTo( $objConnection = NULL ) function SetTo ($objConnection = null)
{ {
$this->_dbc = $objConnection; $this->_dbc = $objConnection;
} }
@@ -124,8 +127,12 @@ class Table
$url1 = substr( $url1, 0, strpos( $url1, '?' ) ); $url1 = substr( $url1, 0, strpos( $url1, '?' ) );
$url2 = substr( $url2, 0, strpos( $url2, '?' ) ); $url2 = substr( $url2, 0, strpos( $url2, '?' ) );
if ($url1 != $url2) { if ($url1 != $url2) {
if ( isset ($_SESSION['OrderBy'] ) ) unset ( $_SESSION['OrderBy'] ); if (isset( $_SESSION['OrderBy'] )) {
if ( isset ($_SESSION['OrderDir'] )) unset ( $_SESSION['OrderDir'] ); unset( $_SESSION['OrderBy'] );
}
if (isset( $_SESSION['OrderDir'] )) {
unset( $_SESSION['OrderDir'] );
}
} }
$this->_source = $stQry; $this->_source = $stQry;
$this->DefaultOrder = $stDefaultOrder; $this->DefaultOrder = $stDefaultOrder;
@@ -147,58 +154,50 @@ class Table
if (isset( $HTTP_SESSION_VARS['OrderDir'] ) && ($HTTP_SESSION_VARS['OrderDir'] == 'DESC' || $HTTP_SESSION_VARS['OrderDir'] == 'ASC')) if (isset( $HTTP_SESSION_VARS['OrderDir'] ) && ($HTTP_SESSION_VARS['OrderDir'] == 'DESC' || $HTTP_SESSION_VARS['OrderDir'] == 'ASC'))
$stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; $stOrderByDir = $HTTP_SESSION_VARS['OrderDir'];
$stQry = $this->_source; $stQry = $this->_source;
if( $this->WhereClause != "" ) if ($this->WhereClause != "") {
{
$stQry .= " WHERE " . $this->WhereClause; $stQry .= " WHERE " . $this->WhereClause;
} }
if( $this->_ordered == true ) if ($this->_ordered == true) {
{
$stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : '');
$stOrderLb = (isset( $HTTP_GET_VARS[$this->orderprefix . 'label'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'label'] : ''); $stOrderLb = (isset( $HTTP_GET_VARS[$this->orderprefix . 'label'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'label'] : '');
//if( isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] == $stOrderBy ) { //if( isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] == $stOrderBy ) {
if ($stOrderLb) { if ($stOrderLb) {
if ( $HTTP_SESSION_VARS['OrderDir'] == 'ASC') if ($HTTP_SESSION_VARS['OrderDir'] == 'ASC') {
$stOrderByDir = 'DESC'; $stOrderByDir = 'DESC';
elseif ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') } elseif ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') {
$stOrderByDir = 'ASC'; $stOrderByDir = 'ASC';
} }
else } elseif (isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] != '') {
if ( isset ( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] != '' )
$stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; $stOrderByDir = $HTTP_SESSION_VARS['OrderDir'];
else } else {
$stOrderByDir = $this->DefaultOrderDir; $stOrderByDir = $this->DefaultOrderDir;
//} }
if ($stOrderBy == "") { if ($stOrderBy == "") {
if( $this->DefaultOrder != "" ) if ($this->DefaultOrder != "") {
{
$aux = str_replace( ' ASC|', '', $this->DefaultOrder . '|' ); $aux = str_replace( ' ASC|', '', $this->DefaultOrder . '|' );
$aux = str_replace( ' DESC|', '', $aux ); $aux = str_replace( ' DESC|', '', $aux );
$aux = str_replace( '|', '', $aux ); $aux = str_replace( '|', '', $aux );
$stQry .= " ORDER BY " . $aux . " " . $stOrderByDir; $stQry .= " ORDER BY " . $aux . " " . $stOrderByDir;
} }
} } else {
else
{
$stQry .= " ORDER BY " . $stOrderBy; $stQry .= " ORDER BY " . $stOrderBy;
if( $stOrderByDir != "" ) if ($stOrderByDir != "") {
$stQry .= " $stOrderByDir"; $stQry .= " $stOrderByDir";
}
}
else
{
if( $this->DefaultOrder != "" )
{
$stQry .= " ORDER BY " . $this->DefaultOrder . " " . ( isset ( $stOrderBy ) ? $stOrderBy : '' );
}
} }
}
} else {
if ($this->DefaultOrder != "") {
$stQry .= " ORDER BY " . $this->DefaultOrder . " " . (isset( $stOrderBy ) ? $stOrderBy : '');
}
}
//print $stQry; //print $stQry;
$HTTP_SESSION_VARS['OrderBy'] = isset( $stOrderBy ) ? $stOrderBy : ''; $HTTP_SESSION_VARS['OrderBy'] = isset( $stOrderBy ) ? $stOrderBy : '';
$HTTP_SESSION_VARS['OrderDir'] = $stOrderByDir; $HTTP_SESSION_VARS['OrderDir'] = $stOrderByDir;
@@ -208,8 +207,7 @@ class Table
$desde = 0; $desde = 0;
if ($page != "") if ($page != "") {
{
//$desde=(($page-1)*25); //$desde=(($page-1)*25);
$desde = (($page - 1) * $this->rows_per_page); $desde = (($page - 1) * $this->rows_per_page);
@@ -247,19 +245,14 @@ class Table
} }
if ($this->_ordered == true) { if ($this->_ordered == true) {
$stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : '');
if( $stOrderBy == "" ) if ($stOrderBy == "") {
{ if ($this->DefaultOrder != "") {
if( $this->DefaultOrder != "" )
{
$stQry .= " ORDER BY " . $this->DefaultOrder; $stQry .= " ORDER BY " . $this->DefaultOrder;
} }
} } else {
else {
$stQry .= " ORDER BY " . $stOrderBy; $stQry .= " ORDER BY " . $stOrderBy;
} }
} } else {
else
{
if ($this->DefaultOrder != "") { if ($this->DefaultOrder != "") {
$stQry .= " ORDER BY " . $this->DefaultOrder; $stQry .= " ORDER BY " . $this->DefaultOrder;
} }
@@ -271,7 +264,6 @@ class Table
return $dset->Count(); return $dset->Count();
} }
/** /**
* Obtains number of elements of asociated recordset * Obtains number of elements of asociated recordset
* *
@@ -283,9 +275,7 @@ class Table
{ {
if (is_object( $this->_dbset )) { if (is_object( $this->_dbset )) {
return $this->_dbset->Count(); return $this->_dbset->Count();
} } else {
else
{
return 0; return 0;
} }
} }
@@ -377,12 +367,10 @@ class Table
$result = false; $result = false;
if ($this->Count() == 0) { if ($this->Count() == 0) {
$result = true; $result = true;
} } else {
else {
if ($this->row_pos >= $this->Count()) { if ($this->row_pos >= $this->Count()) {
$result = true; $result = true;
} } else {
else {
if ($this->rows_per_page != 0) { if ($this->rows_per_page != 0) {
if ($this->row_pos >= $this->first_row + $this->rows_per_page) { if ($this->row_pos >= $this->first_row + $this->rows_per_page) {
$result = true; $result = true;
@@ -409,12 +397,8 @@ class Table
*/ */
function AddColumn ($strLabel = "", $strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "") function AddColumn ($strLabel = "", $strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "")
{ {
$tmpCol = array( "Name" => $strName , $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent
"Type" => $strType , );
"Width" => $intWidth ,
"Align" => $strAlign ,
"Target" => $strTarget ,
"Content" => $strContent );
$pos = 0; $pos = 0;
if (is_array( $this->Columns )) { if (is_array( $this->Columns )) {
$pos = count( $this->Columns ); $pos = count( $this->Columns );
@@ -441,15 +425,8 @@ class Table
*/ */
function AddRawColumn ($strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "", $strExtra = "", $strCondition = "", $orderByThis = true) function AddRawColumn ($strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "", $strExtra = "", $strCondition = "", $orderByThis = true)
{ {
$tmpCol = array( "Name" => $strName , $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent,"Extra" => $strExtra,"Condition" => $strCondition,"orderByThis" => $orderByThis
"Type" => $strType , );
"Width" => $intWidth ,
"Align" => $strAlign ,
"Target" => $strTarget ,
"Content" => $strContent,
"Extra" => $strExtra,
"Condition" => $strCondition,
"orderByThis" => $orderByThis);
$pos = 0; $pos = 0;
if (is_array( $this->Columns )) { if (is_array( $this->Columns )) {
$pos = count( $this->Columns ); $pos = count( $this->Columns );
@@ -458,7 +435,6 @@ class Table
$this->Labels[$pos] = ""; $this->Labels[$pos] = "";
} }
/** /**
* Show dynaform's title * Show dynaform's title
* *
@@ -471,14 +447,17 @@ class Table
*/ */
function RenderTitle ($pa, $intPos = 1, $strClass = "tblHeader") function RenderTitle ($pa, $intPos = 1, $strClass = "tblHeader")
{ {
if ( ! defined ( 'ENABLE_ENCRYPT') ) define ( 'ENABLE_ENCRYPT', 'no' ) ; if (! defined( 'ENABLE_ENCRYPT' )) {
define( 'ENABLE_ENCRYPT', 'no' );
}
global $HTTP_SESSION_VARS; global $HTTP_SESSION_VARS;
$col = $this->Columns[$intPos]; $col = $this->Columns[$intPos];
$order = ! ($col["Type"] == "image"); $order = ! ($col["Type"] == "image");
if ($this->_ordered == true && $order) { if ($this->_ordered == true && $order) {
$res = "<th class=\"$strClass\" align=\"left\" height=\"25\""; $res = "<th class=\"$strClass\" align=\"left\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">"; $res .= ">";
//$res .= "<a class=\"" . $strClass . "Link\" href=\""; //$res .= "<a class=\"" . $strClass . "Link\" href=\"";
@@ -488,10 +467,11 @@ class Table
$res .= "\">" . $this->Labels[$intPos] . "</a>"; $res .= "\">" . $this->Labels[$intPos] . "</a>";
$res .= "</th>\n"; //echo $res;die; $res .= "</th>\n"; //echo $res;die;
} } else {
else {
$res = "<th class=\"$strClass\" align=\"left\" height=\"25\""; $res = "<th class=\"$strClass\" align=\"left\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">"; $res .= ">";
$res .= $this->Labels[$intPos] . "</th>\n"; $res .= $this->Labels[$intPos] . "</th>\n";
} }
@@ -516,7 +496,9 @@ class Table
if ($this->_ordered == true && $order) { if ($this->_ordered == true && $order) {
$res = "<th class=\"$strClass\" align=\"left\" height=\"25\""; $res = "<th class=\"$strClass\" align=\"left\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">"; $res .= ">";
//$res .= "<a class=\"" . $strClass . "Link\" href=\""; //$res .= "<a class=\"" . $strClass . "Link\" href=\"";
@@ -526,17 +508,19 @@ class Table
//$res .= $_SERVER['REDIRECT_URL'] . "?order=" . $this->Columns[$intPos]['Name']."&page=".$pa."&label=true"; //$res .= $_SERVER['REDIRECT_URL'] . "?order=" . $this->Columns[$intPos]['Name']."&page=".$pa."&label=true";
$res .= "\">" . $this->Labels[$intPos] . "</a>"; $res .= "\">" . $this->Labels[$intPos] . "</a>";
if ($HTTP_SESSION_VARS['OrderBy'] == $this->Columns[$intPos]['Name']) { if ($HTTP_SESSION_VARS['OrderBy'] == $this->Columns[$intPos]['Name']) {
if($HTTP_SESSION_VARS['OrderDir'] == 'DESC') if ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') {
$res .= "&nbsp;<img src='/images/arrow_order_desc.gif' border=0>"; $res .= "&nbsp;<img src='/images/arrow_order_desc.gif' border=0>";
else } else {
$res .= "&nbsp;<img src='/images/arrow_order_asc.gif' border=0>"; $res .= "&nbsp;<img src='/images/arrow_order_asc.gif' border=0>";
} }
}
$res .= "</th>\n"; //echo $res;die; $res .= "</th>\n"; //echo $res;die;
} } else {
else {
$res = "<th class=\"$strClass\" align=\"left\" height=\"25\""; $res = "<th class=\"$strClass\" align=\"left\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">"; $res .= ">";
$res .= $this->Labels[$intPos] . "</th>\n"; $res .= $this->Labels[$intPos] . "</th>\n";
} }
@@ -555,44 +539,54 @@ class Table
* @param $auxgetval * @param $auxgetval
* @return void * @return void
*/ */
function RenderTitle2($pa, $fil, $intPos, $strClass = "tblHeader", $auxgetval = '') { function RenderTitle2 ($pa, $fil, $intPos, $strClass = "tblHeader", $auxgetval = '')
if ( ! defined ( 'ENABLE_ENCRYPT') ) define ( 'ENABLE_ENCRYPT', 'no' ) ; {
if (! defined( 'ENABLE_ENCRYPT' )) {
define( 'ENABLE_ENCRYPT', 'no' );
}
global $HTTP_SESSION_VARS; global $HTTP_SESSION_VARS;
if ($auxgetval == '') if ($auxgetval == '') {
$targ = SYS_TARGET . ".html"; $targ = SYS_TARGET . ".html";
else } else {
$targ = SYS_TARGET . '.html?' . $auxgetval; $targ = SYS_TARGET . '.html?' . $auxgetval;
}
$target = (ENABLE_ENCRYPT == 'yes' ? G::encryptUrl( urldecode( $targ ), URL_KEY ) : $targ); $target = (ENABLE_ENCRYPT == 'yes' ? G::encryptUrl( urldecode( $targ ), URL_KEY ) : $targ);
$col = $this->Columns[$intPos]; $col = $this->Columns[$intPos];
if ($col['Type'] == 'hidden') return ''; if ($col['Type'] == 'hidden') {
return '';
}
$order = ! ($col["Type"] == "image"); $order = ! ($col["Type"] == "image");
if (($this->_ordered == true) && ($order) && ($this->Columns[$intPos]['orderByThis'])) { if (($this->_ordered == true) && ($order) && ($this->Columns[$intPos]['orderByThis'])) {
$res = ""; $res = "";
if (($this->show_nummbers) and ($intPos == 0)) if (($this->show_nummbers) and ($intPos == 0)) {
$res = "<th class=\"$strClass\" align=\"left\" height=\"25\">#</th> "; $res = "<th class=\"$strClass\" align=\"left\" height=\"25\">#</th> ";
}
$res .= "<th class=\"$strClass\" align=\"left\" height=\"25\""; $res .= "<th class=\"$strClass\" align=\"left\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">&nbsp;"; $res .= ">&nbsp;";
$res .= "<a class=\"" . $strClass . "\" href=\""; $res .= "<a class=\"" . $strClass . "\" href=\"";
if ($fil != '') $fil .= '&'; if ($fil != '') {
$fil .= '&';
}
$direccion = $target . "?" . $fil . "order=" . $this->Columns[$intPos]['Name'] . "&page=" . $pa . "&label=true"; $direccion = $target . "?" . $fil . "order=" . $this->Columns[$intPos]['Name'] . "&page=" . $pa . "&label=true";
$res .= "javascript:bsearch('$direccion')"; $res .= "javascript:bsearch('$direccion')";
//$res .= $target . "?".$fil."order=" . $this->Columns[$intPos]['Name']."&page=".$pa."&label=true"; //$res .= $target . "?".$fil."order=" . $this->Columns[$intPos]['Name']."&page=".$pa."&label=true";
$res .= "\">" . $this->Labels[$intPos] . "</a>"; $res .= "\">" . $this->Labels[$intPos] . "</a>";
$res .= "</th>\n"; $res .= "</th>\n";
} } else {
else {
$col = $this->Columns[$intPos]; $col = $this->Columns[$intPos];
$res = "<th class=\"$strClass\" align=\"center\" height=\"25\""; $res = "<th class=\"$strClass\" align=\"center\" height=\"25\"";
if ( $col["Width"] > 0) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">"; $res .= ">";
$res .= (isset( $this->Labels[$intPos] ) ? $this->Labels[$intPos] : '') . "</th>\n"; $res .= (isset( $this->Labels[$intPos] ) ? $this->Labels[$intPos] : '') . "</th>\n";
} }
@@ -613,8 +607,9 @@ class Table
*/ */
function RenderColumn ($intPos = 0, $strClass = "tblCell", $strClassLink = "tblCellA", $number = 0, $renderTD = 1) function RenderColumn ($intPos = 0, $strClass = "tblCell", $strClassLink = "tblCellA", $number = 0, $renderTD = 1)
{ {
if ( ! defined ( 'ENABLE_ENCRYPT') ) define ( 'ENABLE_ENCRYPT', 'no' ) ; if (! defined( 'ENABLE_ENCRYPT' )) {
define( 'ENABLE_ENCRYPT', 'no' );
}
global $G_DATE_FORMAT; global $G_DATE_FORMAT;
global $G_TABLE_DATE_FORMAT; global $G_TABLE_DATE_FORMAT;
$col = $this->Columns[$intPos]; $col = $this->Columns[$intPos];
@@ -636,70 +631,84 @@ class Table
} }
$res = ""; $res = "";
if (($this->show_nummbers)and ($intPos == 0)) if (($this->show_nummbers) and ($intPos == 0)) {
$res = "<td>$number</td>"; $res = "<td>$number</td>";
}
if(!(stristr($val,"script") === false)) $val = htmlentities($val,ENT_QUOTES,'utf-8'); if (! (stristr( $val, "script" ) === false)) {
$val = htmlentities( $val, ENT_QUOTES, 'utf-8' );
}
if ($renderTD == 1) { if ($renderTD == 1) {
$res .= "<td class=\"$strClass\" align=\"" . $col["Align"] . "\" height=\"25\""; $res .= "<td class=\"$strClass\" align=\"" . $col["Align"] . "\" height=\"25\"";
if ( $col["Width"] > 0 ) $res .= " width=\"" . $col["Width"] . "\""; if ($col["Width"] > 0) {
$res .= " width=\"" . $col["Width"] . "\"";
}
$res .= ">&nbsp;"; $res .= ">&nbsp;";
} }
switch ( $col["Type"] ) switch ($col["Type"]) {
{
case 'hidden': case 'hidden':
return ''; return '';
break; break;
case "text": case "text":
if ( $val != "" ) $res .= G::unhtmlentities($val,ENT_QUOTES,'utf-8'); if ($val != "") {
else $res .= "&nbsp;"; $res .= G::unhtmlentities( $val, ENT_QUOTES, 'utf-8' );
} else {
$res .= "&nbsp;";
}
break; break;
case "text-dontSearch": case "text-dontSearch":
if ( $val != "" ) $res .= G::unhtmlentities($val); if ($val != "") {
else $res .= "&nbsp;"; $res .= G::unhtmlentities( $val );
} else {
$res .= "&nbsp;";
}
break; break;
case "html": case "html":
if ( $val != "" ) $res .= ($val); if ($val != "") {
else $res .= "&nbsp;"; $res .= ($val);
} else {
$res .= "&nbsp;";
}
break; break;
case "textPlain": case "textPlain":
if ( $val != "" ) $res .= ($this->ParsingFromHtml(G::unhtmlentities($val),"300")); if ($val != "") {
$res .= ($this->ParsingFromHtml( G::unhtmlentities( $val ), "300" ));
//if ( $val != "" ) $res .= (($val)); //if ( $val != "" ) $res .= (($val));
else $res .= "&nbsp;"; } else {
$res .= "&nbsp;";
}
break; break;
case "currency": case "currency":
if ($val != "") { if ($val != "") {
$aux = explode( ' ', $val ); $aux = explode( ' ', $val );
$format = number_format( (float) $aux[0], 2, ".", "," ); $format = number_format( (float) $aux[0], 2, ".", "," );
$res .= htmlentities( $format . ' ' . (isset( $aux[1] ) ? $aux[1] : ''), ENT_QUOTES, 'utf-8' ); $res .= htmlentities( $format . ' ' . (isset( $aux[1] ) ? $aux[1] : ''), ENT_QUOTES, 'utf-8' );
} } else {
else
$res .= "&nbsp;"; $res .= "&nbsp;";
}
break; break;
case "currency2": case "currency2":
if ($val != "") { if ($val != "") {
$res .= G::NumberToCurrency( $val ); $res .= G::NumberToCurrency( $val );
} } else {
else
$res .= "$ 0.00"; $res .= "$ 0.00";
}
break; break;
case "percentage2": case "percentage2":
if ($val != "") { if ($val != "") {
$res .= G::NumberToPercentage( $val ); $res .= G::NumberToPercentage( $val );
} } else {
else
$res .= "0.00 %"; $res .= "0.00 %";
}
break; break;
case "percentage": case "percentage":
if ($val != "") { if ($val != "") {
$res .= htmlentities( number_format( (float) $val, 2, ".", "," ) . " %", ENT_QUOTES, 'utf-8' ); $res .= htmlentities( number_format( (float) $val, 2, ".", "," ) . " %", ENT_QUOTES, 'utf-8' );
} } else {
else {
$res .= "&nbsp;"; $res .= "&nbsp;";
} }
break; break;
@@ -710,20 +719,23 @@ class Table
$aux = explode( '-', $part[0] ); $aux = explode( '-', $part[0] );
switch ($G_DATE_FORMAT) { switch ($G_DATE_FORMAT) {
case 'DD/MM/AAAA':$res .= formatDate('$d/$m/$Y $H:$i:$s',$val); case 'DD/MM/AAAA':
$res .= formatDate( '$d/$m/$Y $H:$i:$s', $val );
break; break;
case 'MM/DD/AAAA':$res .= formatDate('$m/$d/$Y $H:$i:$s <small>EST</small>',$val); case 'MM/DD/AAAA':
$res .= formatDate( '$m/$d/$Y $H:$i:$s <small>EST</small>', $val );
break; break;
case 'AAAA/MM/DD':$res .= formatDate('$Y/$m/$d $H:$i:$s',$val); case 'AAAA/MM/DD':
$res .= formatDate( '$Y/$m/$d $H:$i:$s', $val );
break; break;
case 'LITERAL' :$res .= formatDate('$M $d $Y',$val); case 'LITERAL':
$res .= formatDate( '$M $d $Y', $val );
break; break;
} }
} } else {
else
$res .= "&nbsp;"; $res .= "&nbsp;";
}
break; break;
case "email": case "email":
@@ -731,8 +743,7 @@ class Table
$res .= "<a href=\"mailto:" . $val . "\">"; $res .= "<a href=\"mailto:" . $val . "\">";
$res .= $val; $res .= $val;
$res .= "</a>"; $res .= "</a>";
} } else {
else {
$res .= "&nbsp;"; $res .= "&nbsp;";
} }
break; break;
@@ -746,9 +757,9 @@ class Table
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
//$res .= "<a href='" . $col["Target"] . "/" . $lval . "' target='_new' > $image</a> "; //It open a new window... better the other way By JHL 16/11/06 //$res .= "<a href='" . $col["Target"] . "/" . $lval . "' target='_new' > $image</a> "; //It open a new window... better the other way By JHL 16/11/06
$res .= "<a href='" . $col["Target"] . "/" . $lval . "' > $image</a> "; $res .= "<a href='" . $col["Target"] . "/" . $lval . "' > $image</a> ";
} } else {
else
$res .= "&nbsp;"; $res .= "&nbsp;";
}
break; break;
case "ifimg": case "ifimg":
@@ -759,12 +770,11 @@ class Table
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
$res .= "<a href='" . $col["Target"] . "/" . $lval . "' > $image</a> "; $res .= "<a href='" . $col["Target"] . "/" . $lval . "' > $image</a> ";
} } else {
else
$res .= "&nbsp;"; $res .= "&nbsp;";
}
break; break;
case "ifrtf": case "ifrtf":
if ($val == '1') { if ($val == '1') {
$image = "<img border=0 src='/images/word.gif'>"; $image = "<img border=0 src='/images/word.gif'>";
@@ -774,9 +784,9 @@ class Table
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
//$res .= "<a href='" . $col["Target"] . $lval . "' target='_new' > $image</a> "; //It open a new window... better the other way By JHL 16/11/06 //$res .= "<a href='" . $col["Target"] . $lval . "' target='_new' > $image</a> "; //It open a new window... better the other way By JHL 16/11/06
$res .= "<a href='" . $col["Target"] . $lval . "' > $image</a> "; $res .= "<a href='" . $col["Target"] . $lval . "' > $image</a> ";
} } else {
else
$res .= "&nbsp;"; $res .= "&nbsp;";
}
break; break;
case "image": case "image":
@@ -785,20 +795,19 @@ class Table
{ {
$field_compare = $col["Condition"]['field']; $field_compare = $col["Condition"]['field'];
$tlabel = substr( $field_compare, 0, 1 ); $tlabel = substr( $field_compare, 0, 1 );
switch($tlabel) switch ($tlabel) {
{
case "&": case "&":
$vname = substr( $field_compare, 1, (strlen( $field_compare ) - 1) ); $vname = substr( $field_compare, 1, (strlen( $field_compare ) - 1) );
$field_val = $this->_row_values[$vname]; $field_val = $this->_row_values[$vname];
break; break;
} }
} else {
}
else
$val = "<img border=0 src='$fieldname'>"; $val = "<img border=0 src='$fieldname'>";
}
// break; // break;
case "textimage": case "textimage":
$AAS = $col['Extra']; $AAS = $col['Extra'];
$val1 = " <img border=0 src='$AAS' align='middle'>"; $val1 = " <img border=0 src='$AAS' align='middle'>";
@@ -815,8 +824,7 @@ class Table
$element = $values[$i]; $element = $values[$i];
$tlabel = substr( $element, 0, 1 ); $tlabel = substr( $element, 0, 1 );
switch($tlabel) switch ($tlabel) {
{
case "&": case "&":
$vname = substr( $element, 1, (strlen( $element ) - 1) ); $vname = substr( $element, 1, (strlen( $element ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
@@ -832,9 +840,11 @@ class Table
case "link": case "link":
if ( $val == "" ) $res .= "&nbsp;"; if ($val == "")
$res .= "&nbsp;";
$title = ''; $title = '';
if ( $col["Type"] == 'link' && trim( isset ( $this->_row_values['TOOLTIP']) ? $this->_row_values['TOOLTIP'] : '' ) ); if ($col["Type"] == 'link' && trim( isset( $this->_row_values['TOOLTIP'] ) ? $this->_row_values['TOOLTIP'] : '' ))
;
$title = (isset( $this->_row_values['TOOLTIP'] ) ? "title=\" " . $this->_row_values['TOOLTIP'] . " \"" : ''); $title = (isset( $this->_row_values['TOOLTIP'] ) ? "title=\" " . $this->_row_values['TOOLTIP'] . " \"" : '');
if (is_array( $col['Content'] ) && $col['Content'] != "") { if (is_array( $col['Content'] ) && $col['Content'] != "") {
// Hay mas de un valor para el link // Hay mas de un valor para el link
@@ -857,11 +867,9 @@ class Table
} }
} }
$res .= "\">$val</a>"; $res .= "\">$val</a>";
} } elseif ($col["Content"] != "" && ! is_array( $col['Content'] )) {
elseif ( $col["Content"] != "" && !is_array($col['Content']) ) {
$tlabel = substr( $col["Content"], 0, 1 ); $tlabel = substr( $col["Content"], 0, 1 );
switch( $tlabel ) switch ($tlabel) {
{
case "&": case "&":
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
@@ -870,8 +878,7 @@ class Table
//$encoded = G::encrypt ( $col["Target"] . "/" . $lval . ".html", URL_KEY ); //$encoded = G::encrypt ( $col["Target"] . "/" . $lval . ".html", URL_KEY );
$encoded = G::encryptUrl( $col["Target"] . "/" . $lval . ".html", URL_KEY ); $encoded = G::encryptUrl( $col["Target"] . "/" . $lval . ".html", URL_KEY );
$res .= "<a class='$strClassLink' $title href=\"" . $encoded . "\" " . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' $title href=\"" . $encoded . "\" " . $col['Extra'] . ">";
if ($col["Type"]=="textimage") if ($col["Type"] == "textimage") {
{
$res .= $val1; $res .= $val1;
$val = " (" . $val . ")"; $val = " (" . $val . ")";
} }
@@ -881,11 +888,9 @@ class Table
} }
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
} } else {
else {
$res .= "<a class='$strClassLink' $title href=\"" . $col["Target"] . "/" . $lval . ".html\" " . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' $title href=\"" . $col["Target"] . "/" . $lval . ".html\" " . $col['Extra'] . ">";
if ($col["Type"]=="textimage") if ($col["Type"] == "textimage") {
{
$res .= $val1; $res .= $val1;
$val = " (" . $val . ")"; $val = " (" . $val . ")";
} }
@@ -910,22 +915,19 @@ class Table
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
break; break;
} }
} } else {
else
{
$res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" " . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" " . $col['Extra'] . ">";
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
} }
break; break;
case "linknew": case "linknew":
if ( $val == "" ) $res .= "&nbsp;"; if ($val == "")
$res .= "&nbsp;";
if ($col["Content"] != "") { if ($col["Content"] != "") {
$tlabel = substr( $col["Content"], 0, 1 ); $tlabel = substr( $col["Content"], 0, 1 );
switch( $tlabel ) switch ($tlabel) {
{
case "&": case "&":
if (ENABLE_ENCRYPT == 'yes') { if (ENABLE_ENCRYPT == 'yes') {
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
@@ -935,8 +937,7 @@ class Table
$res .= "<a class='$strClassLink' href=\"" . $encoded . "\" " . " target=\"_new\"" . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"" . $encoded . "\" " . " target=\"_new\"" . $col['Extra'] . ">";
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
} } else {
else {
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
$res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $lval . "\" target=\"_new\"" . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $lval . "\" target=\"_new\"" . $col['Extra'] . ">";
@@ -957,9 +958,7 @@ class Table
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
break; break;
} }
} } else {
else
{
$res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" target=\"_new\"" . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" target=\"_new\"" . $col['Extra'] . ">";
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
@@ -967,13 +966,10 @@ class Table
break; break;
case "iflink": case "iflink":
if ( $col["Content"] != "" ) if ($col["Content"] != "") {
{
$tlabel = substr( $col["Content"], 0, 1 ); $tlabel = substr( $col["Content"], 0, 1 );
if( $val != "" ) if ($val != "") {
{ switch ($tlabel) {
switch( $tlabel )
{
case "&": case "&":
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
@@ -994,32 +990,29 @@ class Table
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
break; break;
} }
} } else {
else
{
$res .= "&nbsp;"; $res .= "&nbsp;";
} }
} } else {
else
{
$res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" " . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"" . $col["Target"] . "/" . $val . ".html\" " . $col['Extra'] . ">";
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
} }
break; break;
case "jsimglink": case "jsimglink":
$val = "<img border=0 src='$fieldname'>"; $val = "<img border=0 src='$fieldname'>";
case "jslink": case "jslink":
if ( $val == "" ) $val .= "<span class='txtin3'> " . $col['Name'] . '<span>'; if ($val == "") {
if ( $val == "" ) $res .= "&nbsp;"; $val .= "<span class='txtin3'> " . $col['Name'] . '<span>';
if ( $col["Content"] != "" ) }
{ if ($val == "") {
$res .= "&nbsp;";
}
if ($col["Content"] != "") {
$tlabel = substr( $col["Content"], 0, 1 ); $tlabel = substr( $col["Content"], 0, 1 );
switch( $tlabel ) switch ($tlabel) {
{
case "&": case "&":
$vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) );
$lval = $this->_row_values[$vname]; $lval = $this->_row_values[$vname];
@@ -1040,14 +1033,16 @@ class Table
$Values = explode( ',', substr( $col['Content'], 1, strlen( $col['Content'] ) ) ); $Values = explode( ',', substr( $col['Content'], 1, strlen( $col['Content'] ) ) );
$res .= "<a class='$strClassLink' href=\"javascript:" . $col["Target"] . "("; $res .= "<a class='$strClassLink' href=\"javascript:" . $col["Target"] . "(";
foreach ($Values as $Value) { foreach ($Values as $Value) {
if (substr($Value, 0, 1) == '&') if (substr( $Value, 0, 1 ) == '&') {
if (is_numeric($Value)) if (is_numeric( $Value )) {
$res .= $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . ','; $res .= $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . ',';
else } else {
$res .= "'" . $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . "',"; $res .= "'" . $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . "',";
else }
} else {
$res .= $Value . ','; $res .= $Value . ',';
} }
}
$res = substr( $res, 0, strlen( $res ) - 1 ); $res = substr( $res, 0, strlen( $res ) - 1 );
$res .= ")\"" . $col['Extra'] . ">"; $res .= ")\"" . $col['Extra'] . ">";
$res .= $val; $res .= $val;
@@ -1060,9 +1055,7 @@ class Table
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
break; break;
} }
} } else {
else
{
$res .= "<a class='$strClassLink' href=\"javascript:" . $col["Target"] . "(" . $val . ")\"" . $col['Extra'] . ">"; $res .= "<a class='$strClassLink' href=\"javascript:" . $col["Target"] . "(" . $val . ")\"" . $col['Extra'] . ">";
$res .= $val; $res .= $val;
$res .= "</a" . $col['Extra'] . ">"; $res .= "</a" . $col['Extra'] . ">";
@@ -1071,7 +1064,9 @@ class Table
case "checkbox": case "checkbox":
$res .= "<input type='checkbox' name=\"form[" . $fieldname . "][" . $val . "]\" "; $res .= "<input type='checkbox' name=\"form[" . $fieldname . "][" . $val . "]\" ";
if ($val == '1' || $val == 'TRUE' || $val == 'yes') $res .= " checked "; if ($val == '1' || $val == 'TRUE' || $val == 'yes') {
$res .= " checked ";
}
$res .= " disabled='disabled' >"; $res .= " disabled='disabled' >";
break; break;
} }
@@ -1082,8 +1077,6 @@ class Table
//return $res . $strClass; //return $res . $strClass;
} }
/** /**
* Set next action * Set next action
* *
@@ -1135,6 +1128,7 @@ class Table
/** /**
* Search value in the table of translation and returns last accourding to choised context * Search value in the table of translation and returns last accourding to choised context
* Retorna el valor a su equivalente traducido/convertido * Retorna el valor a su equivalente traducido/convertido
*
* @author Hardy Beltran Monasterios <hardy@acm.org> * @author Hardy Beltran Monasterios <hardy@acm.org>
* @param string $contexto Contexto en el cual se busca la traducci?n * @param string $contexto Contexto en el cual se busca la traducci?n
* @param mixed $valor Valor que se va traducir/convertir * @param mixed $valor Valor que se va traducir/convertir

View File

@@ -3101,7 +3101,7 @@ class XmlForm_Field_RadioGroup extends XmlForm_Field {
if( isset($this->linkType) && ($this->linkType == 1 || $this->linkType == "1") ){ if( isset($this->linkType) && ($this->linkType == 1 || $this->linkType == "1") ){
$html .= '<input id="form['.$this->name.']['.$optionName.']" name="form['.$this->name.']" type="radio" value="'.$optionName.'" '.(($optionName==$value) ? ' checked' : '') . '><a href="#" onclick="executeEvent(\'form['.$this->name.']['.$optionName.']\', \'click\'); return false;">' . $option . '</a></input>'; $html .= '<input id="form['.$this->name.']['.$optionName.']" name="form['.$this->name.']" type="radio" value="'.$optionName.'" '.(($optionName==$value) ? ' checked' : '') . '><a href="#" onclick="executeEvent(\'form['.$this->name.']['.$optionName.']\', \'click\'); return false;">' . $option . '</a></input>';
} else { } else {
$html .= '<input id="form['.$this->name.']['.$optionName.']" name="form['.$this->name.']" type="radio" value="'.$optionName.'" '.(($optionName==$value) ? ' checked' : '') . '>' . $option . '</input>'; $html .= '<input id="form['.$this->name.']['.$optionName.']" name="form['.$this->name.']" type="radio" value="'.$optionName.'" '.(($optionName==$value) ? ' checked' : '') . '><label for="form[' . $this->name . '][' . $optionName . ']">' . $option . '</label></input>';
} }
if(++$i==count($this->options)){ if(++$i==count($this->options)){
$html .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$this->renderHint(); $html .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$this->renderHint();
@@ -3117,7 +3117,7 @@ class XmlForm_Field_RadioGroup extends XmlForm_Field {
} elseif ($this->mode === 'view') { } elseif ($this->mode === 'view') {
$html = ''; $html = '';
foreach ( $this->options as $optionName => $option ) { foreach ( $this->options as $optionName => $option ) {
$html .= '<input class="module_app_input___gray" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . ']" type=\'radio\' value="' . $optionName . '" ' . (($optionName == $value) ? 'checked' : '') . ' disabled><span class="FormCheck">' . $option . '</span></input><br>'; $html .= '<input class="module_app_input___gray" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . ']" type=\'radio\' value="' . $optionName . '" ' . (($optionName == $value) ? 'checked' : '') . ' disabled><span class="FormCheck"><label for="form[' . $this->name . '][' . $optionName . ']">' . $option . '</label></span></input><br>';
if($optionName == $value) if($optionName == $value)
$html .= '<input type="hidden" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . ']" value="' . (($optionName == $value) ? $optionName : '') . '">'; $html .= '<input type="hidden" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . ']" value="' . (($optionName == $value) ? $optionName : '') . '">';
} }
@@ -3198,7 +3198,7 @@ class XmlForm_Field_CheckGroup extends XmlForm_Field
$i=0; $i=0;
$html = ''; $html = '';
foreach ( $this->options as $optionName => $option ) { foreach ( $this->options as $optionName => $option ) {
$html .= '<input id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" type=\'checkbox\' value="' . $optionName . '"' . (in_array ( $optionName, $value ) ? 'checked' : '') . '><span class="FormCheck">' . $option . '</span></input>'; $html .= '<input id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" type=\'checkbox\' value="' . $optionName . '"' . (in_array ( $optionName, $value ) ? 'checked' : '') . '><span class="FormCheck"><label for="form[' . $this->name . '][' . $optionName . ']">' . $option . '</label></span></input>';
if(++$i==count($this->options)){ if(++$i==count($this->options)){
$html .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$this->renderHint(); $html .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$this->renderHint();
} }
@@ -3208,7 +3208,7 @@ class XmlForm_Field_CheckGroup extends XmlForm_Field
} elseif ($this->mode === 'view') { } elseif ($this->mode === 'view') {
$html = ''; $html = '';
foreach ( $this->options as $optionName => $option ) { foreach ( $this->options as $optionName => $option ) {
$html .= '<input class="FormCheck" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" type=\'checkbox\' value="' . $optionName . '"' . (in_array ( $optionName, $value ) ? 'checked' : '') . ' disabled><span class="FormCheck">' . $option . '</span></input><br>'; $html .= '<input class="FormCheck" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" type=\'checkbox\' value="' . $optionName . '"' . (in_array ( $optionName, $value ) ? 'checked' : '') . ' disabled><span class="FormCheck"><label for="form[' . $this->name . '][' . $optionName . ']">' . $option . '</label></span></input><br>';
$html .= '<input type="hidden" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" value="'.((in_array ( $optionName, $value )) ? $optionName : '').'">'; $html .= '<input type="hidden" id="form[' . $this->name . '][' . $optionName . ']" name="form[' . $this->name . '][]" value="'.((in_array ( $optionName, $value )) ? $optionName : '').'">';
} }
return $html; return $html;
@@ -4789,18 +4789,7 @@ class xmlformTemplate extends Smarty
$value = (isset ( $form->values [$k] )) ? $form->values [$k] : NULL; $value = (isset ( $form->values [$k] )) ? $form->values [$k] : NULL;
$result [$k] = G::replaceDataField ( $form->fields [$k]->label, $form->values ); $result [$k] = G::replaceDataField ( $form->fields [$k]->label, $form->values );
if ($form->type == 'xmlform') { if ($form->type == 'xmlform') {
if ($v->type == 'checkgroup' || $v->type == 'radiogroup') { if ($v->type != 'checkgroup' && $v->type != 'radiogroup') {
$firstValueOptions = '';
foreach ($v->options as $indexOption => $valueOptions) {
$firstValueOptions = $indexOption;
break;
}
if ($firstValueOptions != '') {
$result[$k] = '<label for="form[' . $k . '][' . $firstValueOptions . ']">' . $result[$k] . '</label>';
} else {
$result[$k] = '<label for="form[' . $k . ']">' . $result[$k] . '</label>';
}
} else {
$result[$k] = '<label for="form[' . $k . ']">' . $result[$k] . '</label>'; $result[$k] = '<label for="form[' . $k . ']">' . $result[$k] . '</label>';
} }
} }

View File

@@ -7,14 +7,13 @@
convertNoticesToExceptions="true" convertNoticesToExceptions="true"
convertWarningsToExceptions="true" convertWarningsToExceptions="true"
processIsolation="false" processIsolation="false"
stopOnFailure="false" stopOnFailure="true"
syntaxCheck="false" syntaxCheck="true"
bootstrap="tests/bootstrap.php" bootstrap="tests/bootstrap.php"
> >
<testsuites> <testsuites>
<testsuite name="automated"> <testsuite name="automated">
<directory>./tests/automated/</directory> <directory>./tests/automated/</directory>
<directory>./tests/unit/backend/services/</directory>
</testsuite> </testsuite>
<!-- <!--
<testsuite name="unit"> <testsuite name="unit">
@@ -48,10 +47,6 @@
</php> </php>
<logging> <logging>
<log type="coverage-html" target="build/coverage" title="ERC"
charset="UTF-8" yui="true" highlight="true"
lowUpperBound="10" highLowerBound="20"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/> <log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging> </logging>
</phpunit> </phpunit>

View File

@@ -1,860 +0,0 @@
<?php
require_once PATH_TRUNK . 'gulliver/thirdparty/smarty/libs/Smarty.class.php';
require_once PATH_TRUNK . 'gulliver/system/class.xmlform.php';
require_once PATH_TRUNK . 'gulliver/system/class.xmlDocument.php';
require_once PATH_TRUNK . 'gulliver/system/class.form.php';
require_once PATH_TRUNK . 'gulliver/system/class.dbconnection.php';
require_once PATH_TRUNK . 'gulliver/thirdparty/propel/Propel.php';
require_once PATH_TRUNK . 'gulliver/thirdparty/creole/Creole.php';
require_once PATH_TRUNK . 'gulliver/thirdparty/pear/PEAR.php';
require_once PATH_TRUNK . 'workflow/engine/classes/class.xpdl.php';
/**
* Generated by ProcessMaker Test Unit Generator on 2012-07-12 at 22:32:31.
*/
class classXpdlTest extends PHPUnit_Framework_TestCase
{
/**
* @var Xpdl
*/
protected $object;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->object = new Xpdl();
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown()
{
}
/**
* This is the default method to test, if the class still having
* the same number of methods.
*/
public function testNumberOfMethodsInThisClass()
{
$methods = get_class_methods('Xpdl'); $this->assertTrue( count($methods) == 185);
}
/**
* @covers Xpdl::createProcessFromDataXpdl
* @todo Implement testcreateProcessFromDataXpdl().
*/
public function testcreateProcessFromDataXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createProcessFromDataXpdl', $methods ), 'exists method createProcessFromDataXpdl' );
$r = new ReflectionMethod('Xpdl', 'createProcessFromDataXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'oData');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'tasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::updateProcessFromDataXpdl
* @todo Implement testupdateProcessFromDataXpdl().
*/
public function testupdateProcessFromDataXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('updateProcessFromDataXpdl', $methods ), 'exists method updateProcessFromDataXpdl' );
$r = new ReflectionMethod('Xpdl', 'updateProcessFromDataXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'oData');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'tasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createProcessFromDataPmxml
* @todo Implement testcreateProcessFromDataPmxml().
*/
public function testcreateProcessFromDataPmxml()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createProcessFromDataPmxml', $methods ), 'exists method createProcessFromDataPmxml' );
$r = new ReflectionMethod('Xpdl', 'createProcessFromDataPmxml');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'oData');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcessFromDataXpdl
* @todo Implement testcreateSubProcessFromDataXpdl().
*/
public function testcreateSubProcessFromDataXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcessFromDataXpdl', $methods ), 'exists method createSubProcessFromDataXpdl' );
$r = new ReflectionMethod('Xpdl', 'createSubProcessFromDataXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'oData');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'tasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::verifyTasks
* @todo Implement testverifyTasks().
*/
public function testverifyTasks()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('verifyTasks', $methods ), 'exists method verifyTasks' );
$r = new ReflectionMethod('Xpdl', 'verifyTasks');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'sProUid');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'fieldsTasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createRouteRowsXpdl
* @todo Implement testcreateRouteRowsXpdl().
*/
public function testcreateRouteRowsXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createRouteRowsXpdl', $methods ), 'exists method createRouteRowsXpdl' );
$r = new ReflectionMethod('Xpdl', 'createRouteRowsXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'sProUid');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'routes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'fieldsTasks');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcessRowsXpdl
* @todo Implement testcreateSubProcessRowsXpdl().
*/
public function testcreateSubProcessRowsXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcessRowsXpdl', $methods ), 'exists method createSubProcessRowsXpdl' );
$r = new ReflectionMethod('Xpdl', 'createSubProcessRowsXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'sProUid');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'SubProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'tasks');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::findIdTask
* @todo Implement testfindIdTask().
*/
public function testfindIdTask()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('findIdTask', $methods ), 'exists method findIdTask' );
$r = new ReflectionMethod('Xpdl', 'findIdTask');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'idTask');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'routes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::xmdlProcess
* @todo Implement testxmdlProcess().
*/
public function testxmdlProcess()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('xmdlProcess', $methods ), 'exists method xmdlProcess' );
$r = new ReflectionMethod('Xpdl', 'xmdlProcess');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'sProUid');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == true);
$this->assertTrue( $params[0]->getDefaultValue() == '');
}
/**
* @covers Xpdl::createPool
* @todo Implement testcreatePool().
*/
public function testcreatePool()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createPool', $methods ), 'exists method createPool' );
$r = new ReflectionMethod('Xpdl', 'createPool');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'process');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'coordinateMaximumX');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'coordinateMaximumY');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::createArtifacts
* @todo Implement testcreateArtifacts().
*/
public function testcreateArtifacts()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createArtifacts', $methods ), 'exists method createArtifacts' );
$r = new ReflectionMethod('Xpdl', 'createArtifacts');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'lanes');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'id');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcessesXpdl
* @todo Implement testcreateSubProcessesXpdl().
*/
public function testcreateSubProcessesXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcessesXpdl', $methods ), 'exists method createSubProcessesXpdl' );
$r = new ReflectionMethod('Xpdl', 'createSubProcessesXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'subProcess');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'tasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createActivitiesXpdl
* @todo Implement testcreateActivitiesXpdl().
*/
public function testcreateActivitiesXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createActivitiesXpdl', $methods ), 'exists method createActivitiesXpdl' );
$r = new ReflectionMethod('Xpdl', 'createActivitiesXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'tasks');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'events');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'scheduler');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::createTransitionsXpdl
* @todo Implement testcreateTransitionsXpdl().
*/
public function testcreateTransitionsXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createTransitionsXpdl', $methods ), 'exists method createTransitionsXpdl' );
$r = new ReflectionMethod('Xpdl', 'createTransitionsXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'routes');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'tasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'taskHidden');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::getProcessDataXpdl
* @todo Implement testgetProcessDataXpdl().
*/
public function testgetProcessDataXpdl()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('getProcessDataXpdl', $methods ), 'exists method getProcessDataXpdl' );
$r = new ReflectionMethod('Xpdl', 'getProcessDataXpdl');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'pmFilename');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::sortArray
* @todo Implement testsortArray().
*/
public function testsortArray()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('sortArray', $methods ), 'exists method sortArray' );
$r = new ReflectionMethod('Xpdl', 'sortArray');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::verifyRoutes
* @todo Implement testverifyRoutes().
*/
public function testverifyRoutes()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('verifyRoutes', $methods ), 'exists method verifyRoutes' );
$r = new ReflectionMethod('Xpdl', 'verifyRoutes');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'routeTransitions');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'endArray');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'taskHidden');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::createProcess
* @todo Implement testcreateProcess().
*/
public function testcreateProcess()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createProcess', $methods ), 'exists method createProcess' );
$r = new ReflectionMethod('Xpdl', 'createProcess');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcesses
* @todo Implement testcreateSubProcesses().
*/
public function testcreateSubProcesses()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcesses', $methods ), 'exists method createSubProcesses' );
$r = new ReflectionMethod('Xpdl', 'createSubProcesses');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'arrayLanes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createTask
* @todo Implement testcreateTask().
*/
public function testcreateTask()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createTask', $methods ), 'exists method createTask' );
$r = new ReflectionMethod('Xpdl', 'createTask');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createDataTask
* @todo Implement testcreateDataTask().
*/
public function testcreateDataTask()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createDataTask', $methods ), 'exists method createDataTask' );
$r = new ReflectionMethod('Xpdl', 'createDataTask');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createRoute
* @todo Implement testcreateRoute().
*/
public function testcreateRoute()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createRoute', $methods ), 'exists method createRoute' );
$r = new ReflectionMethod('Xpdl', 'createRoute');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcess
* @todo Implement testcreateSubProcess().
*/
public function testcreateSubProcess()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcess', $methods ), 'exists method createSubProcess' );
$r = new ReflectionMethod('Xpdl', 'createSubProcess');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createGateways
* @todo Implement testcreateGateways().
*/
public function testcreateGateways()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createGateways', $methods ), 'exists method createGateways' );
$r = new ReflectionMethod('Xpdl', 'createGateways');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'routeTransitions');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'endArray');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'dataRoutes');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
$this->assertTrue( $params[3]->getName() == 'numberRoutes');
$this->assertTrue( $params[3]->isArray() == false);
$this->assertTrue( $params[3]->isOptional () == false);
$this->assertTrue( $params[4]->getName() == 'idProcess');
$this->assertTrue( $params[4]->isArray() == false);
$this->assertTrue( $params[4]->isOptional () == false);
$this->assertTrue( $params[5]->getName() == 'taskHidden');
$this->assertTrue( $params[5]->isArray() == false);
$this->assertTrue( $params[5]->isOptional () == false);
}
/**
* @covers Xpdl::createLanesPM
* @todo Implement testcreateLanesPM().
*/
public function testcreateLanesPM()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createLanesPM', $methods ), 'exists method createLanesPM' );
$r = new ReflectionMethod('Xpdl', 'createLanesPM');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createLanes
* @todo Implement testcreateLanes().
*/
public function testcreateLanes()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createLanes', $methods ), 'exists method createLanes' );
$r = new ReflectionMethod('Xpdl', 'createLanes');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'lanes');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createLanesNewPM
* @todo Implement testcreateLanesNewPM().
*/
public function testcreateLanesNewPM()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createLanesNewPM', $methods ), 'exists method createLanesNewPM' );
$r = new ReflectionMethod('Xpdl', 'createLanesNewPM');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createActivities
* @todo Implement testcreateActivities().
*/
public function testcreateActivities()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createActivities', $methods ), 'exists method createActivities' );
$r = new ReflectionMethod('Xpdl', 'createActivities');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'activitySet');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
}
/**
* @covers Xpdl::createEventMessages
* @todo Implement testcreateEventMessages().
*/
public function testcreateEventMessages()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createEventMessages', $methods ), 'exists method createEventMessages' );
$r = new ReflectionMethod('Xpdl', 'createEventMessages');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createScheduler
* @todo Implement testcreateScheduler().
*/
public function testcreateScheduler()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createScheduler', $methods ), 'exists method createScheduler' );
$r = new ReflectionMethod('Xpdl', 'createScheduler');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::calculateTimeScheduler
* @todo Implement testcalculateTimeScheduler().
*/
public function testcalculateTimeScheduler()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('calculateTimeScheduler', $methods ), 'exists method calculateTimeScheduler' );
$r = new ReflectionMethod('Xpdl', 'calculateTimeScheduler');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'time');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createArrayScheduler
* @todo Implement testcreateArrayScheduler().
*/
public function testcreateArrayScheduler()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createArrayScheduler', $methods ), 'exists method createArrayScheduler' );
$r = new ReflectionMethod('Xpdl', 'createArrayScheduler');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'fields');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createTransitions
* @todo Implement testcreateTransitions().
*/
public function testcreateTransitions()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createTransitions', $methods ), 'exists method createTransitions' );
$r = new ReflectionMethod('Xpdl', 'createTransitions');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'dataTasks');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'arrayRoutes');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
$this->assertTrue( $params[3]->getName() == 'endArray');
$this->assertTrue( $params[3]->isArray() == false);
$this->assertTrue( $params[3]->isOptional () == false);
$this->assertTrue( $params[4]->getName() == 'startArray');
$this->assertTrue( $params[4]->isArray() == false);
$this->assertTrue( $params[4]->isOptional () == false);
$this->assertTrue( $params[5]->getName() == 'idProcess');
$this->assertTrue( $params[5]->isArray() == false);
$this->assertTrue( $params[5]->isOptional () == false);
$this->assertTrue( $params[6]->getName() == 'schedulerArray');
$this->assertTrue( $params[6]->isArray() == false);
$this->assertTrue( $params[6]->isOptional () == false);
$this->assertTrue( $params[7]->getName() == 'messages');
$this->assertTrue( $params[7]->isArray() == false);
$this->assertTrue( $params[7]->isOptional () == false);
}
/**
* @covers Xpdl::createActivity
* @todo Implement testcreateActivity().
*/
public function testcreateActivity()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createActivity', $methods ), 'exists method createActivity' );
$r = new ReflectionMethod('Xpdl', 'createActivity');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createExtended
* @todo Implement testcreateExtended().
*/
public function testcreateExtended()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createExtended', $methods ), 'exists method createExtended' );
$r = new ReflectionMethod('Xpdl', 'createExtended');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::findCoordinates
* @todo Implement testfindCoordinates().
*/
public function testfindCoordinates()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('findCoordinates', $methods ), 'exists method findCoordinates' );
$r = new ReflectionMethod('Xpdl', 'findCoordinates');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'contentNode');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::findCoordinatesTransition
* @todo Implement testfindCoordinatesTransition().
*/
public function testfindCoordinatesTransition()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('findCoordinatesTransition', $methods ), 'exists method findCoordinatesTransition' );
$r = new ReflectionMethod('Xpdl', 'findCoordinatesTransition');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'idRoute');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'aRoutes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createArrayRoutes
* @todo Implement testcreateArrayRoutes().
*/
public function testcreateArrayRoutes()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createArrayRoutes', $methods ), 'exists method createArrayRoutes' );
$r = new ReflectionMethod('Xpdl', 'createArrayRoutes');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'dataTasks');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'arrayRoutes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'aEvents');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
$this->assertTrue( $params[3]->getName() == 'aGateways');
$this->assertTrue( $params[3]->isArray() == false);
$this->assertTrue( $params[3]->isOptional () == false);
$this->assertTrue( $params[4]->getName() == 'aEnd');
$this->assertTrue( $params[4]->isArray() == false);
$this->assertTrue( $params[4]->isOptional () == false);
$this->assertTrue( $params[5]->getName() == 'idProcess');
$this->assertTrue( $params[5]->isArray() == false);
$this->assertTrue( $params[5]->isOptional () == false);
}
/**
* @covers Xpdl::convertArrayEnd
* @todo Implement testconvertArrayEnd().
*/
public function testconvertArrayEnd()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('convertArrayEnd', $methods ), 'exists method convertArrayEnd' );
$r = new ReflectionMethod('Xpdl', 'convertArrayEnd');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'aEvents');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'idProcess');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
}
/**
* @covers Xpdl::createTransitionsPM
* @todo Implement testcreateTransitionsPM().
*/
public function testcreateTransitionsPM()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createTransitionsPM', $methods ), 'exists method createTransitionsPM' );
$r = new ReflectionMethod('Xpdl', 'createTransitionsPM');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'tasks');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
$this->assertTrue( $params[1]->getName() == 'routes');
$this->assertTrue( $params[1]->isArray() == false);
$this->assertTrue( $params[1]->isOptional () == false);
$this->assertTrue( $params[2]->getName() == 'events');
$this->assertTrue( $params[2]->isArray() == false);
$this->assertTrue( $params[2]->isOptional () == false);
$this->assertTrue( $params[3]->getName() == 'countEvents');
$this->assertTrue( $params[3]->isArray() == false);
$this->assertTrue( $params[3]->isOptional () == false);
$this->assertTrue( $params[4]->getName() == 'arrayRoutes');
$this->assertTrue( $params[4]->isArray() == false);
$this->assertTrue( $params[4]->isOptional () == false);
$this->assertTrue( $params[5]->getName() == 'countRoutes');
$this->assertTrue( $params[5]->isArray() == false);
$this->assertTrue( $params[5]->isOptional () == false);
}
/**
* @covers Xpdl::super_unique
* @todo Implement testsuper_unique().
*/
public function testsuper_unique()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('super_unique', $methods ), 'exists method super_unique' );
$r = new ReflectionMethod('Xpdl', 'super_unique');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createProcessPM
* @todo Implement testcreateProcessPM().
*/
public function testcreateProcessPM()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createProcessPM', $methods ), 'exists method createProcessPM' );
$r = new ReflectionMethod('Xpdl', 'createProcessPM');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::createSubProcessesPM
* @todo Implement testcreateSubProcessesPM().
*/
public function testcreateSubProcessesPM()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('createSubProcessesPM', $methods ), 'exists method createSubProcessesPM' );
$r = new ReflectionMethod('Xpdl', 'createSubProcessesPM');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
/**
* @covers Xpdl::saveWebEntry
* @todo Implement testsaveWebEntry().
*/
public function testsaveWebEntry()
{
$methods = get_class_methods($this->object);
$this->assertTrue( in_array('saveWebEntry', $methods ), 'exists method saveWebEntry' );
$r = new ReflectionMethod('Xpdl', 'saveWebEntry');
$params = $r->getParameters();
$this->assertTrue( $params[0]->getName() == 'array');
$this->assertTrue( $params[0]->isArray() == false);
$this->assertTrue( $params[0]->isOptional () == false);
}
}

View File

@@ -220,6 +220,8 @@ class processMap
if ($aRow3) { if ($aRow3) {
$aRow2['FINISH'] = ''; $aRow2['FINISH'] = '';
} }
/*
if (($aRow2['FINISH'] == null) && ($aRow1['TAS_UID'] == $sTask)) { if (($aRow2['FINISH'] == null) && ($aRow1['TAS_UID'] == $sTask)) {
$oTask->color = '#FF0000'; $oTask->color = '#FF0000';
} else { } else {
@@ -234,6 +236,21 @@ class processMap
$oTask->color = "#939598"; $oTask->color = "#939598";
} }
} }
*/
if (empty($aRow2["FINISH"]) && $aRow1["TAS_UID"] == $sTask) {
$oTask->color = "#FF0000"; //Red
} else {
if (!empty($aRow2["FINISH"])) {
$oTask->color = "#006633"; //Green
} else {
if ($aRow2["CANT"] == 0 || $oTask->derivation->type != 5) {
$oTask->color = "#939598"; //Gray
} else {
//$oTask->color = "#FF9900"; //Yellow
$oTask->color = "#FF0000"; //Red
}
}
}
} else { } else {
if ($bView && ($sApplicationUID != '') && ($iDelegation > 0) && ($sTask != '')) { if ($bView && ($sApplicationUID != '') && ($iDelegation > 0) && ($sTask != '')) {
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria( 'workflow' );
@@ -257,6 +274,8 @@ class processMap
if ($aRow3) { if ($aRow3) {
$aRow2['FINISH'] = ''; $aRow2['FINISH'] = '';
} }
/*
if (($aRow2['FINISH'] == null) && ($aRow1['TAS_UID'] == $sTask)) { if (($aRow2['FINISH'] == null) && ($aRow1['TAS_UID'] == $sTask)) {
$oTask->color = '#FF0000'; $oTask->color = '#FF0000';
} else { } else {
@@ -270,6 +289,20 @@ class processMap
$oTask->color = '#939598'; $oTask->color = '#939598';
} }
} }
*/
if (empty($aRow2["FINISH"]) && $aRow1["TAS_UID"] == $sTask) {
$oTask->color = "#FF0000"; //Red
} else {
if (!empty($aRow2["FINISH"])) {
$oTask->color = "#006633"; //Green
} else {
if ($aRow2["CANT"] == 0 || $oTask->derivation->type != 5) {
$oTask->color = "#939598"; //Gray
} else {
$oTask->color = "#FF9900"; //Yellow
}
}
}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -203,7 +203,7 @@ if($limit != 0){
return $folderArray; return $folderArray;
} }
function getFolderContent($folderID, $docIdFilter = array(), $keyword = NULL, $searchType = NULL, $limit=0, $start=0, $user='') { function getFolderContent($folderID, $docIdFilter = array(), $keyword = NULL, $searchType = NULL, $limit=0, $start=0, $user='', $onlyActive=false) {
require_once ("classes/model/AppDocument.php"); require_once ("classes/model/AppDocument.php");
require_once ("classes/model/InputDocument.php"); require_once ("classes/model/InputDocument.php");
require_once ("classes/model/OutputDocument.php"); require_once ("classes/model/OutputDocument.php");
@@ -253,6 +253,9 @@ if($limit != 0){
} }
$oCriteria->add ( AppDocumentPeer::APP_UID, $data, CRITERIA::IN ); $oCriteria->add ( AppDocumentPeer::APP_UID, $data, CRITERIA::IN );
} }
if ($onlyActive){
$oCriteria->add(AppDocumentPeer::APP_DOC_STATUS, 'ACTIVE');
}
$oCase->verifyTable (); $oCase->verifyTable ();

View File

@@ -1,23 +0,0 @@
<?php
/**
* AppSpool.php
* @package workflow.engine.classes.model
*/
require_once 'classes/model/om/BaseAppSpool.php';
/**
* Skeleton subclass for representing a row from the 'APP_SPOOL' table.
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package workflow.engine.classes.model
*/
class AppSpool extends BaseAppSpool {
} // AppSpool

View File

@@ -1,27 +0,0 @@
<?php
/**
* AppSpoolPeer.php
* @package workflow.engine.classes.model
*/
// include base peer class
require_once 'classes/model/om/BaseAppSpoolPeer.php';
// include object class
include_once 'classes/model/AppSpool.php';
/**
* Skeleton subclass for performing query and update operations on the 'APP_SPOOL' table.
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*
* @package workflow.engine.classes.model
*/
class AppSpoolPeer extends BaseAppSpoolPeer {
} // AppSpoolPeer

View File

@@ -454,11 +454,11 @@ class Process extends BaseProcess {
$this->setProAssignment ( $aData['PRO_ASSIGNMENT'] ); $this->setProAssignment ( $aData['PRO_ASSIGNMENT'] );
$this->setProShowMap ( $aData['PRO_SHOW_MAP'] ); $this->setProShowMap ( $aData['PRO_SHOW_MAP'] );
$this->setProShowMessage ( $aData['PRO_SHOW_MESSAGE'] ); $this->setProShowMessage ( $aData['PRO_SHOW_MESSAGE'] );
$this->setProSubprocess ( $aData['PRO_SUBPROCESS'] ); $this->setProSubprocess ( isset($aData['PRO_SUBPROCESS']) ? $aData['PRO_SUBPROCESS'] : '' );
$this->setProTriDeleted ( $aData['PRO_TRI_DELETED'] ); $this->setProTriDeleted ( isset($aData['PRO_TRI_DELETED']) ? $aData['PRO_TRI_DELETED'] : '' );
$this->setProTriCanceled ( $aData['PRO_TRI_CANCELED'] ); $this->setProTriCanceled ( isset($aData['PRO_TRI_CANCELED']) ? $aData['PRO_TRI_CANCELED'] : '' );
$this->setProTriPaused ( $aData['PRO_TRI_PAUSED'] ); $this->setProTriPaused ( isset($aData['PRO_TRI_PAUSED']) ? $aData['PRO_TRI_PAUSED'] : '' );
$this->setProTriReassigned( $aData['PRO_TRI_REASSIGNED'] ); $this->setProTriReassigned( isset($aData['PRO_TRI_REASSIGNED']) ? $aData['PRO_TRI_REASSIGNED'] : '' );
$this->setProShowDelegate ( $aData['PRO_SHOW_DELEGATE'] ); $this->setProShowDelegate ( $aData['PRO_SHOW_DELEGATE'] );
$this->setProShowDynaform ( $aData['PRO_SHOW_DYNAFORM'] ); $this->setProShowDynaform ( $aData['PRO_SHOW_DYNAFORM'] );

View File

@@ -1,79 +0,0 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'APP_SPOOL' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package classes.model.map
*/
class AppSpoolMapBuilder {
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.AppSpoolMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('APP_SPOOL');
$tMap->setPhpName('AppSpool');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('ID', 'Id', 'int', CreoleTypes::SMALLINT, true, 6);
$tMap->addColumn('SENDER', 'Sender', 'string', CreoleTypes::VARCHAR, true, 96);
$tMap->addColumn('FILE', 'File', 'string', CreoleTypes::LONGVARCHAR, true, null);
$tMap->addColumn('NOW', 'Now', 'string', CreoleTypes::VARCHAR, true, 16);
$tMap->addColumn('STATUS', 'Status', 'string', CreoleTypes::VARCHAR, true, 16);
} // doBuild()
} // AppSpoolMapBuilder

View File

@@ -1,717 +0,0 @@
<?php
/**
* BaseAppSpool.php
* @package workflow.classes.model.om
*/
require_once 'propel/om/BaseObject.php';
require_once 'propel/om/Persistent.php';
include_once 'propel/util/Criteria.php';
include_once 'classes/model/AppSpoolPeer.php';
/**
* Base class that represents a row from the 'APP_SPOOL' table.
*
*
*
* @package workflow.classes.model.om
*/
abstract class BaseAppSpool extends BaseObject implements Persistent {
/**
* The Peer class.
* Instance provides a convenient way of calling static methods on a class
* that calling code may not be able to identify.
* @var AppSpoolPeer
*/
protected static $peer;
/**
* The value for the id field.
* @var int
*/
protected $id;
/**
* The value for the sender field.
* @var string
*/
protected $sender;
/**
* The value for the file field.
* @var string
*/
protected $file;
/**
* The value for the now field.
* @var string
*/
protected $now;
/**
* The value for the status field.
* @var string
*/
protected $status;
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
* @var boolean
*/
protected $alreadyInSave = false;
/**
* Flag to prevent endless validation loop, if this object is referenced
* by another object which falls in this transaction.
* @var boolean
*/
protected $alreadyInValidation = false;
/**
* Get the [id] column value.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Get the [sender] column value.
*
* @return string
*/
public function getSender()
{
return $this->sender;
}
/**
* Get the [file] column value.
*
* @return string
*/
public function getFile()
{
return $this->file;
}
/**
* Get the [now] column value.
*
* @return string
*/
public function getNow()
{
return $this->now;
}
/**
* Get the [status] column value.
*
* @return string
*/
public function getStatus()
{
return $this->status;
}
/**
* Set the value of [id] column.
*
* @param int $v new value
* @return void
*/
public function setId($v)
{
// Since the native PHP type for this column is integer,
// we will cast the input value to an int (if it is not).
if ($v !== null && !is_int($v) && is_numeric($v)) {
$v = (int) $v;
}
if ($this->id !== $v) {
$this->id = $v;
$this->modifiedColumns[] = AppSpoolPeer::ID;
}
} // setId()
/**
* Set the value of [sender] column.
*
* @param string $v new value
* @return void
*/
public function setSender($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->sender !== $v) {
$this->sender = $v;
$this->modifiedColumns[] = AppSpoolPeer::SENDER;
}
} // setSender()
/**
* Set the value of [file] column.
*
* @param string $v new value
* @return void
*/
public function setFile($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->file !== $v) {
$this->file = $v;
$this->modifiedColumns[] = AppSpoolPeer::FILE;
}
} // setFile()
/**
* Set the value of [now] column.
*
* @param string $v new value
* @return void
*/
public function setNow($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->now !== $v) {
$this->now = $v;
$this->modifiedColumns[] = AppSpoolPeer::NOW;
}
} // setNow()
/**
* Set the value of [status] column.
*
* @param string $v new value
* @return void
*/
public function setStatus($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->status !== $v) {
$this->status = $v;
$this->modifiedColumns[] = AppSpoolPeer::STATUS;
}
} // setStatus()
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
* An offset (1-based "start column") is specified so that objects can be hydrated
* with a subset of the columns in the resultset rows. This is needed, for example,
* for results of JOIN queries where the resultset row includes columns from two or
* more tables.
*
* @param ResultSet $rs The ResultSet class with cursor advanced to desired record pos.
* @param int $startcol 1-based offset column which indicates which restultset column to start with.
* @return int next starting column
* @throws PropelException - Any caught Exception will be rewrapped as a PropelException.
*/
public function hydrate(ResultSet $rs, $startcol = 1)
{
try {
$this->id = $rs->getInt($startcol + 0);
$this->sender = $rs->getString($startcol + 1);
$this->file = $rs->getString($startcol + 2);
$this->now = $rs->getString($startcol + 3);
$this->status = $rs->getString($startcol + 4);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 5; // 5 = AppSpoolPeer::NUM_COLUMNS - AppSpoolPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating AppSpool object", $e);
}
}
/**
* Removes this object from datastore and sets delete attribute.
*
* @param Connection $con
* @return void
* @throws PropelException
* @see BaseObject::setDeleted()
* @see BaseObject::isDeleted()
*/
public function delete($con = null)
{
if ($this->isDeleted()) {
throw new PropelException("This object has already been deleted.");
}
if ($con === null) {
$con = Propel::getConnection(AppSpoolPeer::DATABASE_NAME);
}
try {
$con->begin();
AppSpoolPeer::doDelete($this, $con);
$this->setDeleted(true);
$con->commit();
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Stores the object in the database. If the object is new,
* it inserts it; otherwise an update is performed. This method
* wraps the doSave() worker method in a transaction.
*
* @param Connection $con
* @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
* @throws PropelException
* @see doSave()
*/
public function save($con = null)
{
if ($this->isDeleted()) {
throw new PropelException("You cannot save an object that has been deleted.");
}
if ($con === null) {
$con = Propel::getConnection(AppSpoolPeer::DATABASE_NAME);
}
try {
$con->begin();
$affectedRows = $this->doSave($con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Stores the object in the database.
*
* If the object is new, it inserts it; otherwise an update is performed.
* All related objects are also updated in this method.
*
* @param Connection $con
* @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
* @throws PropelException
* @see save()
*/
protected function doSave($con)
{
$affectedRows = 0; // initialize var to track total num of affected rows
if (!$this->alreadyInSave) {
$this->alreadyInSave = true;
// If this object has been modified, then save it to the database.
if ($this->isModified()) {
if ($this->isNew()) {
$pk = AppSpoolPeer::doInsert($this, $con);
$affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which
// should always be true here (even though technically
// BasePeer::doInsert() can insert multiple rows).
$this->setNew(false);
} else {
$affectedRows += AppSpoolPeer::doUpdate($this, $con);
}
$this->resetModified(); // [HL] After being saved an object is no longer 'modified'
}
$this->alreadyInSave = false;
}
return $affectedRows;
} // doSave()
/**
* Array of ValidationFailed objects.
* @var array ValidationFailed[]
*/
protected $validationFailures = array();
/**
* Gets any ValidationFailed objects that resulted from last call to validate().
*
*
* @return array ValidationFailed[]
* @see validate()
*/
public function getValidationFailures()
{
return $this->validationFailures;
}
/**
* Validates the objects modified field values and all objects related to this table.
*
* If $columns is either a column name or an array of column names
* only those columns are validated.
*
* @param mixed $columns Column name or an array of column names.
* @return boolean Whether all columns pass validation.
* @see doValidate()
* @see getValidationFailures()
*/
public function validate($columns = null)
{
$res = $this->doValidate($columns);
if ($res === true) {
$this->validationFailures = array();
return true;
} else {
$this->validationFailures = $res;
return false;
}
}
/**
* This function performs the validation work for complex object models.
*
* In addition to checking the current object, all related objects will
* also be validated. If all pass then <code>true</code> is returned; otherwise
* an aggreagated array of ValidationFailed objects will be returned.
*
* @param array $columns Array of column names to validate.
* @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
*/
protected function doValidate($columns = null)
{
if (!$this->alreadyInValidation) {
$this->alreadyInValidation = true;
$retval = null;
$failureMap = array();
if (($retval = AppSpoolPeer::doValidate($this, $columns)) !== true) {
$failureMap = array_merge($failureMap, $retval);
}
$this->alreadyInValidation = false;
}
return (!empty($failureMap) ? $failureMap : true);
}
/**
* Retrieves a field from the object by name passed in as a string.
*
* @param string $name name
* @param string $type The type of fieldname the $name is of:
* one of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return mixed Value of field.
*/
public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
{
$pos = AppSpoolPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
return $this->getByPosition($pos);
}
/**
* Retrieves a field from the object by Position as specified in the xml schema.
* Zero-based.
*
* @param int $pos position in xml schema
* @return mixed Value of field at $pos
*/
public function getByPosition($pos)
{
switch($pos) {
case 0:
return $this->getId();
break;
case 1:
return $this->getSender();
break;
case 2:
return $this->getFile();
break;
case 3:
return $this->getNow();
break;
case 4:
return $this->getStatus();
break;
default:
return null;
break;
} // switch()
}
/**
* Exports the object as an array.
*
* You can specify the key type of the array by passing one of the class
* type constants.
*
* @param string $keyType One of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return an associative array containing the field names (as keys) and field values
*/
public function toArray($keyType = BasePeer::TYPE_PHPNAME)
{
$keys = AppSpoolPeer::getFieldNames($keyType);
$result = array(
$keys[0] => $this->getId(),
$keys[1] => $this->getSender(),
$keys[2] => $this->getFile(),
$keys[3] => $this->getNow(),
$keys[4] => $this->getStatus(),
);
return $result;
}
/**
* Sets a field from the object by name passed in as a string.
*
* @param string $name peer name
* @param mixed $value field value
* @param string $type The type of fieldname the $name is of:
* one of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return void
*/
public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
{
$pos = AppSpoolPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
return $this->setByPosition($pos, $value);
}
/**
* Sets a field from the object by Position as specified in the xml schema.
* Zero-based.
*
* @param int $pos position in xml schema
* @param mixed $value field value
* @return void
*/
public function setByPosition($pos, $value)
{
switch($pos) {
case 0:
$this->setId($value);
break;
case 1:
$this->setSender($value);
break;
case 2:
$this->setFile($value);
break;
case 3:
$this->setNow($value);
break;
case 4:
$this->setStatus($value);
break;
} // switch()
}
/**
* Populates the object using an array.
*
* This is particularly useful when populating an object from one of the
* request arrays (e.g. $_POST). This method goes through the column
* names, checking to see whether a matching key exists in populated
* array. If so the setByName() method is called for that column.
*
* You can specify the key type of the array by additionally passing one
* of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME,
* TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId')
*
* @param array $arr An array to populate the object from.
* @param string $keyType The type of keys the array uses.
* @return void
*/
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
{
$keys = AppSpoolPeer::getFieldNames($keyType);
if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
if (array_key_exists($keys[1], $arr)) $this->setSender($arr[$keys[1]]);
if (array_key_exists($keys[2], $arr)) $this->setFile($arr[$keys[2]]);
if (array_key_exists($keys[3], $arr)) $this->setNow($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setStatus($arr[$keys[4]]);
}
/**
* Build a Criteria object containing the values of all modified columns in this object.
*
* @return Criteria The Criteria object containing all modified values.
*/
public function buildCriteria()
{
$criteria = new Criteria(AppSpoolPeer::DATABASE_NAME);
if ($this->isColumnModified(AppSpoolPeer::ID)) $criteria->add(AppSpoolPeer::ID, $this->id);
if ($this->isColumnModified(AppSpoolPeer::SENDER)) $criteria->add(AppSpoolPeer::SENDER, $this->sender);
if ($this->isColumnModified(AppSpoolPeer::FILE)) $criteria->add(AppSpoolPeer::FILE, $this->file);
if ($this->isColumnModified(AppSpoolPeer::NOW)) $criteria->add(AppSpoolPeer::NOW, $this->now);
if ($this->isColumnModified(AppSpoolPeer::STATUS)) $criteria->add(AppSpoolPeer::STATUS, $this->status);
return $criteria;
}
/**
* Builds a Criteria object containing the primary key for this object.
*
* Unlike buildCriteria() this method includes the primary key values regardless
* of whether or not they have been modified.
*
* @return Criteria The Criteria object containing value(s) for primary key(s).
*/
public function buildPkeyCriteria()
{
$criteria = new Criteria(AppSpoolPeer::DATABASE_NAME);
$criteria->add(AppSpoolPeer::ID, $this->id);
return $criteria;
}
/**
* Returns the primary key for this object (row).
* @return int
*/
public function getPrimaryKey()
{
return $this->getId();
}
/**
* Generic method to set the primary key (id column).
*
* @param int $key Primary key.
* @return void
*/
public function setPrimaryKey($key)
{
$this->setId($key);
}
/**
* Sets contents of passed object to values from current object.
*
* If desired, this method can also make copies of all associated (fkey referrers)
* objects.
*
* @param object $copyObj An object of AppSpool (or compatible) type.
* @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
* @throws PropelException
*/
public function copyInto($copyObj, $deepCopy = false)
{
$copyObj->setSender($this->sender);
$copyObj->setFile($this->file);
$copyObj->setNow($this->now);
$copyObj->setStatus($this->status);
$copyObj->setNew(true);
$copyObj->setId(NULL); // this is a pkey column, so set to default value
}
/**
* Makes a copy of this object that will be inserted as a new row in table when saved.
* It creates a new object filling in the simple attributes, but skipping any primary
* keys that are defined for the table.
*
* If desired, this method can also make copies of all associated (fkey referrers)
* objects.
*
* @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
* @return AppSpool Clone of current object.
* @throws PropelException
*/
public function copy($deepCopy = false)
{
// we use get_class(), because this might be a subclass
$clazz = get_class($this);
$copyObj = new $clazz();
$this->copyInto($copyObj, $deepCopy);
return $copyObj;
}
/**
* Returns a peer instance associated with this om.
*
* Since Peer classes are not to have any instance attributes, this method returns the
* same instance for all member of this class. The method could therefore
* be static, but this would prevent one from overriding the behavior.
*
* @return AppSpoolPeer
*/
public function getPeer()
{
if (self::$peer === null) {
self::$peer = new AppSpoolPeer();
}
return self::$peer;
}
} // BaseAppSpool

View File

@@ -1,589 +0,0 @@
<?php
/**
* BaseAppSpoolPeer.php
* @package workflow.classes.model.om
*/
require_once 'propel/util/BasePeer.php';
// The object class -- needed for instanceof checks in this class.
// actual class may be a subclass -- as returned by AppSpoolPeer::getOMClass()
include_once 'classes/model/AppSpool.php';
/**
* Base static class for performing query and update operations on the 'APP_SPOOL' table.
*
*
*
* @package workflow.classes.model.om
*/
abstract class BaseAppSpoolPeer {
/** the default database name for this class */
const DATABASE_NAME = 'workflow';
/** the table name for this class */
const TABLE_NAME = 'APP_SPOOL';
/** A class that can be returned by this peer. */
const CLASS_DEFAULT = 'classes.model.AppSpool';
/** The total number of columns. */
const NUM_COLUMNS = 5;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
/** the column name for the ID field */
const ID = 'APP_SPOOL.ID';
/** the column name for the SENDER field */
const SENDER = 'APP_SPOOL.SENDER';
/** the column name for the FILE field */
const FILE = 'APP_SPOOL.FILE';
/** the column name for the NOW field */
const NOW = 'APP_SPOOL.NOW';
/** the column name for the STATUS field */
const STATUS = 'APP_SPOOL.STATUS';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
/**
* holds an array of fieldnames
*
* first dimension keys are the type constants
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('Id', 'Sender', 'File', 'Now', 'Status', ),
BasePeer::TYPE_COLNAME => array (AppSpoolPeer::ID, AppSpoolPeer::SENDER, AppSpoolPeer::FILE, AppSpoolPeer::NOW, AppSpoolPeer::STATUS, ),
BasePeer::TYPE_FIELDNAME => array ('id', 'sender', 'file', 'now', 'status', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
* holds an array of keys for quick access to the fieldnames array
*
* first dimension keys are the type constants
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Sender' => 1, 'File' => 2, 'Now' => 3, 'Status' => 4, ),
BasePeer::TYPE_COLNAME => array (AppSpoolPeer::ID => 0, AppSpoolPeer::SENDER => 1, AppSpoolPeer::FILE => 2, AppSpoolPeer::NOW => 3, AppSpoolPeer::STATUS => 4, ),
BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'sender' => 1, 'file' => 2, 'now' => 3, 'status' => 4, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, )
);
/**
* @return MapBuilder the map builder for this peer
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function getMapBuilder()
{
include_once 'classes/model/map/AppSpoolMapBuilder.php';
return BasePeer::getMapBuilder('classes.model.map.AppSpoolMapBuilder');
}
/**
* Gets a map (hash) of PHP names to DB column names.
*
* @return array The PHP to DB name map for this peer
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
* @deprecated Use the getFieldNames() and translateFieldName() methods instead of this.
*/
public static function getPhpNameMap()
{
if (self::$phpNameMap === null) {
$map = AppSpoolPeer::getTableMap();
$columns = $map->getColumns();
$nameMap = array();
foreach ($columns as $column) {
$nameMap[$column->getPhpName()] = $column->getColumnName();
}
self::$phpNameMap = $nameMap;
}
return self::$phpNameMap;
}
/**
* Translates a fieldname to another type
*
* @param string $name field name
* @param string $fromType One of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @param string $toType One of the class type constants
* @return string translated name of the field.
*/
static public function translateFieldName($name, $fromType, $toType)
{
$toNames = self::getFieldNames($toType);
$key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null;
if ($key === null) {
throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true));
}
return $toNames[$key];
}
/**
* Returns an array of of field names.
*
* @param string $type The type of fieldnames to return:
* One of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return array A list of field names
*/
static public function getFieldNames($type = BasePeer::TYPE_PHPNAME)
{
if (!array_key_exists($type, self::$fieldNames)) {
throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.');
}
return self::$fieldNames[$type];
}
/**
* Convenience method which changes table.column to alias.column.
*
* Using this method you can maintain SQL abstraction while using column aliases.
* <code>
* $c->addAlias("alias1", TablePeer::TABLE_NAME);
* $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
* </code>
* @param string $alias The alias for the current table.
* @param string $column The column name for current table. (i.e. AppSpoolPeer::COLUMN_NAME).
* @return string
*/
public static function alias($alias, $column)
{
return str_replace(AppSpoolPeer::TABLE_NAME.'.', $alias.'.', $column);
}
/**
* Add all the columns needed to create a new object.
*
* Note: any columns that were marked with lazyLoad="true" in the
* XML schema will not be added to the select list and only loaded
* on demand.
*
* @param criteria object containing the columns to add.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function addSelectColumns(Criteria $criteria)
{
$criteria->addSelectColumn(AppSpoolPeer::ID);
$criteria->addSelectColumn(AppSpoolPeer::SENDER);
$criteria->addSelectColumn(AppSpoolPeer::FILE);
$criteria->addSelectColumn(AppSpoolPeer::NOW);
$criteria->addSelectColumn(AppSpoolPeer::STATUS);
}
const COUNT = 'COUNT(APP_SPOOL.ID)';
const COUNT_DISTINCT = 'COUNT(DISTINCT APP_SPOOL.ID)';
/**
* Returns the number of rows matching criteria.
*
* @param Criteria $criteria
* @param boolean $distinct Whether to select only distinct columns (You can also set DISTINCT modifier in Criteria).
* @param Connection $con
* @return int Number of matching rows.
*/
public static function doCount(Criteria $criteria, $distinct = false, $con = null)
{
// we're going to modify criteria, so copy it first
$criteria = clone $criteria;
// clear out anything that might confuse the ORDER BY clause
$criteria->clearSelectColumns()->clearOrderByColumns();
if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
$criteria->addSelectColumn(AppSpoolPeer::COUNT_DISTINCT);
} else {
$criteria->addSelectColumn(AppSpoolPeer::COUNT);
}
// just in case we're grouping: add those columns to the select statement
foreach($criteria->getGroupByColumns() as $column)
{
$criteria->addSelectColumn($column);
}
$rs = AppSpoolPeer::doSelectRS($criteria, $con);
if ($rs->next()) {
return $rs->getInt(1);
} else {
// no rows returned; we infer that means 0 matches.
return 0;
}
}
/**
* Method to select one object from the DB.
*
* @param Criteria $criteria object used to create the SELECT statement.
* @param Connection $con
* @return AppSpool
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doSelectOne(Criteria $criteria, $con = null)
{
$critcopy = clone $criteria;
$critcopy->setLimit(1);
$objects = AppSpoolPeer::doSelect($critcopy, $con);
if ($objects) {
return $objects[0];
}
return null;
}
/**
* Method to do selects.
*
* @param Criteria $criteria The Criteria object used to build the SELECT statement.
* @param Connection $con
* @return array Array of selected Objects
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doSelect(Criteria $criteria, $con = null)
{
return AppSpoolPeer::populateObjects(AppSpoolPeer::doSelectRS($criteria, $con));
}
/**
* Prepares the Criteria object and uses the parent doSelect()
* method to get a ResultSet.
*
* Use this method directly if you want to just get the resultset
* (instead of an array of objects).
*
* @param Criteria $criteria The Criteria object used to build the SELECT statement.
* @param Connection $con the connection to use
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
* @return ResultSet The resultset object with numerically-indexed fields.
* @see BasePeer::doSelect()
*/
public static function doSelectRS(Criteria $criteria, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
if (!$criteria->getSelectColumns()) {
$criteria = clone $criteria;
AppSpoolPeer::addSelectColumns($criteria);
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
// BasePeer returns a Creole ResultSet, set to return
// rows indexed numerically.
return BasePeer::doSelect($criteria, $con);
}
/**
* The returned array will contain objects of the default type or
* objects that inherit from the default.
*
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function populateObjects(ResultSet $rs)
{
$results = array();
// set the class once to avoid overhead in the loop
$cls = AppSpoolPeer::getOMClass();
$cls = Propel::import($cls);
// populate the object(s)
while($rs->next()) {
$obj = new $cls();
$obj->hydrate($rs);
$results[] = $obj;
}
return $results;
}
/**
* Returns the TableMap related to this peer.
* This method is not needed for general use but a specific application could have a need.
* @return TableMap
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function getTableMap()
{
return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME);
}
/**
* The class that the Peer will make instances of.
*
* This uses a dot-path notation which is tranalted into a path
* relative to a location on the PHP include_path.
* (e.g. path.to.MyClass -> 'path/to/MyClass.php')
*
* @return string path.to.ClassName
*/
public static function getOMClass()
{
return AppSpoolPeer::CLASS_DEFAULT;
}
/**
* Method perform an INSERT on the database, given a AppSpool or Criteria object.
*
* @param mixed $values Criteria or AppSpool object containing data that is used to create the INSERT statement.
* @param Connection $con the connection to use
* @return mixed The new primary key.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doInsert($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
} else {
$criteria = $values->buildCriteria(); // build Criteria from AppSpool object
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
try {
// use transaction because $criteria could contain info
// for more than one table (I guess, conceivably)
$con->begin();
$pk = BasePeer::doInsert($criteria, $con);
$con->commit();
} catch(PropelException $e) {
$con->rollback();
throw $e;
}
return $pk;
}
/**
* Method perform an UPDATE on the database, given a AppSpool or Criteria object.
*
* @param mixed $values Criteria or AppSpool object containing data that is used to create the UPDATE statement.
* @param Connection $con The connection to use (specify Connection object to exert more control over transactions).
* @return int The number of affected rows (if supported by underlying database driver).
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doUpdate($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$selectCriteria = new Criteria(self::DATABASE_NAME);
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
$comparison = $criteria->getComparison(AppSpoolPeer::ID);
$selectCriteria->add(AppSpoolPeer::ID, $criteria->remove(AppSpoolPeer::ID), $comparison);
} else { // $values is AppSpool object
$criteria = $values->buildCriteria(); // gets full criteria
$selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
}
// set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
return BasePeer::doUpdate($selectCriteria, $criteria, $con);
}
/**
* Method to DELETE all rows from the APP_SPOOL table.
*
* @return int The number of affected rows (if supported by underlying database driver).
*/
public static function doDeleteAll($con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$affectedRows = 0; // initialize var to track total num of affected rows
try {
// use transaction because $criteria could contain info
// for more than one table or we could emulating ON DELETE CASCADE, etc.
$con->begin();
$affectedRows += BasePeer::doDeleteAll(AppSpoolPeer::TABLE_NAME, $con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Method perform a DELETE on the database, given a AppSpool or Criteria object OR a primary key value.
*
* @param mixed $values Criteria or AppSpool object or primary key or array of primary keys
* which is used to create the DELETE statement
* @param Connection $con the connection to use
* @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows
* if supported by native driver or if emulated using Propel.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doDelete($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(AppSpoolPeer::DATABASE_NAME);
}
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
} elseif ($values instanceof AppSpool) {
$criteria = $values->buildPkeyCriteria();
} else {
// it must be the primary key
$criteria = new Criteria(self::DATABASE_NAME);
$criteria->add(AppSpoolPeer::ID, (array) $values, Criteria::IN);
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
$affectedRows = 0; // initialize var to track total num of affected rows
try {
// use transaction because $criteria could contain info
// for more than one table or we could emulating ON DELETE CASCADE, etc.
$con->begin();
$affectedRows += BasePeer::doDelete($criteria, $con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Validates all modified columns of given AppSpool object.
* If parameter $columns is either a single column name or an array of column names
* than only those columns are validated.
*
* NOTICE: This does not apply to primary or foreign keys for now.
*
* @param AppSpool $obj The object to validate.
* @param mixed $cols Column name or array of column names.
*
* @return mixed TRUE if all columns are valid or the error message of the first invalid column.
*/
public static function doValidate(AppSpool $obj, $cols = null)
{
$columns = array();
if ($cols) {
$dbMap = Propel::getDatabaseMap(AppSpoolPeer::DATABASE_NAME);
$tableMap = $dbMap->getTable(AppSpoolPeer::TABLE_NAME);
if (! is_array($cols)) {
$cols = array($cols);
}
foreach($cols as $colName) {
if ($tableMap->containsColumn($colName)) {
$get = 'get' . $tableMap->getColumn($colName)->getPhpName();
$columns[$colName] = $obj->$get();
}
}
} else {
}
return BasePeer::doValidate(AppSpoolPeer::DATABASE_NAME, AppSpoolPeer::TABLE_NAME, $columns);
}
/**
* Retrieve a single object by pkey.
*
* @param mixed $pk the primary key.
* @param Connection $con the connection to use
* @return AppSpool
*/
public static function retrieveByPK($pk, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$criteria = new Criteria(AppSpoolPeer::DATABASE_NAME);
$criteria->add(AppSpoolPeer::ID, $pk);
$v = AppSpoolPeer::doSelect($criteria, $con);
return !empty($v) > 0 ? $v[0] : null;
}
/**
* Retrieve multiple objects by pkey.
*
* @param array $pks List of primary keys
* @param Connection $con the connection to use
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function retrieveByPKs($pks, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$objs = null;
if (empty($pks)) {
$objs = array();
} else {
$criteria = new Criteria();
$criteria->add(AppSpoolPeer::ID, $pks, Criteria::IN);
$objs = AppSpoolPeer::doSelect($criteria, $con);
}
return $objs;
}
} // BaseAppSpoolPeer
// static code to register the map builder for this Peer with the main Propel class
if (Propel::isInit()) {
// the MapBuilder classes register themselves with Propel during initialization
// so we need to load them here.
try {
BaseAppSpoolPeer::getMapBuilder();
} catch (Exception $e) {
Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
}
} else {
// even if Propel is not yet initialized, the map builder class can be registered
// now and then it will be loaded when Propel initializes.
require_once 'classes/model/map/AppSpoolMapBuilder.php';
Propel::registerMapBuilder('classes.model.map.AppSpoolMapBuilder');
}

View File

@@ -1,60 +0,0 @@
<?php
/**
* BPMN Designer v1.1
* @date Feb 2th, 2011
* @author Erik A. O. <erik@colosa.com>
*/
class BpmnDesigner extends Controller
{
function index($httpData)
{
if( ! isset($httpData->id) )
throw new Exception('The Process ID was not set!');
require_once 'classes/model/Process.php';
$process = ProcessPeer::retrieveByPK($httpData->id);
if( get_class($process) != 'Process' ) {
throw new Exception("The Process with UID: {$httpData->id} doesn't exist!");
}
$_SESSION['PROCESS'] = $httpData->id;
$_SESSION['PROCESSMAP'] = 'BPMN';
$this->includeExtJS('bpmn/MyWorkflow',true );
$this->includeExtJS('bpmn/pmosExt', true );
$this->includeExtJS('bpmn/TaskContext', true );
$this->includeExtJS('bpmn/designerComponents', true );
$this->includeExtJS('bpmn/designer', true );
$this->includeExtJS('bpmn/Annotation',true );
$this->includeExtJS('bpmn/bpmnShapes', true);
$this->includeExtJS('bpmn/EventEmptyStart');
$this->includeExtJS('bpmn/EventMessageStart');
$this->includeExtJS('bpmn/EventTimerStart');
$this->includeExtJS('bpmn/EventEmptyInter');
$this->includeExtJS('bpmn/EventMessageRecInter');
$this->includeExtJS('bpmn/EventMessageSendInter');
$this->includeExtJS('bpmn/EventTimerInter');
$this->includeExtJS('bpmn/EventEmptyEnd');
$this->includeExtJS('bpmn/EventMessageEnd');
$this->includeExtJS('bpmn/GatewayInclusive' );
$this->includeExtJS('bpmn/GatewayExclusiveData');
$this->includeExtJS('bpmn/GatewayParallel' );
$this->includeExtJS('bpmn/GridPanel');
$this->includeExtJS('bpmn/SubProcess' );
$this->includeExtJS('bpmn/ProcessOptions',true);
$this->includeExtJS('bpmn/ProcessMapContext', true );
$this->includeExtJS('bpmn/ProcessOptions', true);
$this->setJSVar('pro_uid', $httpData->id);
$this->setJSVar('pro_title', $process->getProTitle());
$this->setView('bpmn/designer');
G::RenderPage('publish', 'extJs');
}
}

View File

@@ -1,255 +0,0 @@
<?php
/**
* BpmnProxy Controller
* @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com>
*/
class BpmnProxy extends HttpProxyController
{
function openProcess($httpData)
{
G::LoadClass('xpdl');
$processUID = $httpData->PRO_UID;
$oProcess = new Xpdl();
$fields = $oProcess->serializeProcess($processUID);
$oData = unserialize($fields);
$arrayTasks = array();
$countTasks = 0;
$countSubProcess= 0;
$arrayEvents = array();
$arraySubProcess= array();
$count = 0;
$countRoutes = 0;
$arrayRoutes = array();
$process = array();
$process = $oProcess->createProcessPM($oData->process);
foreach($oData->tasks as $id => $value) {
if($value['TAS_TYPE'] == 'SUBPROCESS'){
$arraySubProcess[$countSubProcess]['0'] = $value['TAS_UID'];
$arraySubProcess[$countSubProcess]['1'] = $value['TAS_TITLE'];
$arraySubProcess[$countSubProcess]['2'] = $value['TAS_POSX'];
$arraySubProcess[$countSubProcess]['3'] = $value['TAS_POSY'];
$countSubProcess = $countSubProcess + 1;
} else {
$arrayTasks[$countTasks]['0'] = $value['TAS_UID'];
$arrayTasks[$countTasks]['1'] = $value['TAS_TITLE'];
$arrayTasks[$countTasks]['2'] = $value['TAS_POSX'];
$arrayTasks[$countTasks]['3'] = $value['TAS_POSY'];
$arrayTasks[$countTasks]['4'] = $value['TAS_WIDTH'];
$arrayTasks[$countTasks]['5'] = $value['TAS_HEIGHT'];
$arrayTasks[$countTasks]['6'] = $value['TAS_BOUNDARY'];
if($value['TAS_START'] == 'TRUE') {
$arrayEvents[$count]['0'] = G::generateUniqueID();
if($value['TAS_EVN_UID'] == '') {
$arrayEvents[$count]['1'] = 'bpmnEventEmptyStart';
} else {
foreach($oData->event as $eventid => $val){
if($val['EVN_UID'] == $value['TAS_EVN_UID']) {
$arrayEvents[$count]['0'] = $val['EVN_UID'];
$arrayEvents[$count]['1'] = $val['EVN_TYPE'];
break;
}
}
}
$arrayEvents[$count]['2'] = $value['TAS_POSX']+68;
$arrayEvents[$count]['3'] = $value['TAS_POSY']-50;
$arrayEvents[$count]['4'] = $value['TAS_UID'];
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $arrayEvents[$count]['0'];
$arrayRoutes[$countRoutes]['2']= $value['TAS_UID'];
$arrayRoutes[$countRoutes]['3']= '1';
$arrayRoutes[$countRoutes]['4']= '2';
$count = $count+ 1;
$countRoutes = $countRoutes+ 1;
}
$countTasks = $countTasks + 1;
}
}
$lanes = $oProcess->createLanesNewPM($oData->lanes);
$fields = $oProcess->createTransitionsPM($oData->tasks,$oData->routes,$arrayEvents,$count,$arrayRoutes,$countRoutes);
//Get Standalone Events and routes
$countEvent = count($fields['EVENTS']);
$countRoutes = count($fields['TRANSITION']);
foreach($oData->event as $id => $value) {
if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] != '' && $value['EVN_TAS_UID_TO'] != ''){ //Check for Intermediate Events
$evn_uid = $value['EVN_UID'];
$idTaskFrom = $value['EVN_TAS_UID_FROM'];
$idTaskTo = $value['EVN_TAS_UID_TO'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $idTaskFrom;
$fields['TRANSITION'][$countRoutes]['2']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['3']= '1';
$fields['TRANSITION'][$countRoutes]['4']= '2';
$countRoutes = $countRoutes + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['2']= $idTaskTo;
$fields['TRANSITION'][$countRoutes]['3']= '2';
$fields['TRANSITION'][$countRoutes]['4']= '1';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_TO'] != '' && ! preg_match("/Start/", $value['EVN_TYPE'])){
$evn_uid = $value['EVN_UID'];
$idTask = $value['EVN_TAS_UID_TO'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['2']= $idTask;
$fields['TRANSITION'][$countRoutes]['3']= '2';
$fields['TRANSITION'][$countRoutes]['4']= '1';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] != '' && ! preg_match("/End/", $value['EVN_TYPE'])){ //Check for Intermediate Events
$evn_uid = $value['EVN_UID'];
$idTask = $value['EVN_TAS_UID_FROM'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $idTask;
$fields['TRANSITION'][$countRoutes]['2']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['3']= '1';
$fields['TRANSITION'][$countRoutes]['4']= '2';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] == '' && $value['EVN_TAS_UID_TO'] == ''){
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
}
}
//Get all the standalone Gateway
$countGateway = count($fields['GATEWAYS']);
$countTransitions = count($fields['TRANSITION']);
foreach($oData->gateways as $id => $value) {
if($value['GAT_NEXT_TASK'] != '' && $value['TAS_UID'] != '' && $value['GAT_TYPE'] != ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['TAS_UID'];
$countGateway+=1;
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['TAS_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countTransitions += 1;
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['3'] = '2';
$fields['TRANSITION'][$countTransitions]['4'] = '1';
$countTransitions += 1;
}
//creating gateway and route from gateway to task i.e if target task is not NULL
else if($value['GAT_NEXT_TASK'] != '' && $value['TAS_UID'] == ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['3'] = '2';
$fields['TRANSITION'][$countTransitions]['4'] = '1';
$countGateway+=1;
$countTransitions += 1;
}
//creating gateway and route from task to gateway i.e if source task is not NULL
else if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] != ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['TAS_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countGateway+=1;
$countTransitions += 1;
}
else if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] == ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$countGateway += 1;
}
}
//Create Annotation route
foreach($oData->lanes as $id => $value)
{
if($value['SWI_NEXT_UID'] != '') {
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['SWI_NEXT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['SWI_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countTransitions += 1;
}
}
//$subProcess = $oProcess->createSubProcessesPM($oData->subProcess);
$arrayEvents = $fields['EVENTS'];
$arrayGateways = $fields['GATEWAYS'];
$arrayRoutes = $fields['TRANSITION'];
$data['tasks'] = $arrayTasks;
$data['subprocess'] = $arraySubProcess;
$data['routes'] = $arrayRoutes;
$data['events'] = $arrayEvents;
$data['gateways'] = $arrayGateways;
$data['process'] = $process;
$data['annotations'] = $lanes;
return $data;
}
}

View File

@@ -820,9 +820,9 @@ class Installer extends Controller
G::loadClass('system'); G::loadClass('system');
$envFile = PATH_CONFIG . 'env.ini'; $envFile = PATH_CONFIG . 'env.ini';
//writting for new installtions to use the new skin 'uxmind' with new Front End ExtJs Based //writting for new installtions to use the classic skin
$updatedConf['default_skin'] = 'uxmodern'; $updatedConf['default_skin'] = 'classic';
$info->uri = '/sys' . $_REQUEST['workspace'] . '/en/uxmodern/main/login'; $info->uri = '/sys' . $_REQUEST['workspace'] . '/en/classic/login/login';
try { try {
G::update_php_ini($envFile, $updatedConf); G::update_php_ini($envFile, $updatedConf);

View File

@@ -133,7 +133,7 @@ function expandNode()
global $RBAC; global $RBAC;
$user = ($RBAC->userCanAccess('PM_ALLCASES') == 1)? '' : $_SESSION['USER_LOGGED']; $user = ($RBAC->userCanAccess('PM_ALLCASES') == 1)? '' : $_SESSION['USER_LOGGED'];
$folderContentObj = $oPMFolder->getFolderContent ($_POST ['node'] != 'root' ? $folderContentObj = $oPMFolder->getFolderContent ($_POST ['node'] != 'root' ?
$_POST ['node'] == 'NA' ? "" : $_POST ['node'] : $rootFolder, array(), null, null, $limit, $start, $user); $_POST ['node'] == 'NA' ? "" : $_POST ['node'] : $rootFolder, array(), null, null, $limit, $start, $user, true);
$folderContent=$folderContentObj['documents']; $folderContent=$folderContentObj['documents'];
$totalDocuments=$folderContentObj['totalDocumentsCount']; $totalDocuments=$folderContentObj['totalDocumentsCount'];
$totalItems+=count($folderContent); $totalItems+=count($folderContent);

View File

@@ -1,301 +0,0 @@
<?php
/**
* cases_Scheduler_Save.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2010 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
try {
/*
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY'))
{
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
*/
require_once 'classes/model/CaseScheduler.php';
$oCaseScheduler = new CaseScheduler();
if (empty($_POST)) {
die('The information sended is empty!');
}
if(empty($_POST['SCH_UID']))
$aData['SCH_UID'] = G::generateUniqueID();
else
$aData['SCH_UID'] = $_POST['SCH_UID'];
$aData['SCH_NAME'] = $_POST['SCH_NAME'];
$aData['SCH_DEL_USER_NAME'] = $_POST['SCH_DEL_USER_NAME'];
$aData['SCH_DEL_USER_PASS'] = md5($_POST['SCH_USER_PASSWORD']);
$aData['SCH_DEL_USER_UID'] = $_POST['SCH_DEL_USER_UID'];
$aData['PRO_UID'] = $_POST['PRO_UID'];
$aData['TAS_UID'] = $_POST['TAS_UID'];
$aData['SCH_STATE'] = 'ACTIVE';
$aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE';
$aData['USR_UID'] = $_SESSION['USER_LOGGED'];
$sOption = $_POST['SCH_OPTION'];
if($sOption == 'Daily')
{
$aData['SCH_OPTION'] = '1';
$sOption = '1';
}
else if($sOption == 'Weekly')
{
$aData['SCH_OPTION'] = '2';
$sOption = '2';
}
else if($sOption == 'Monthly')
{
$aData['SCH_OPTION'] = '3';
$sOption = '3';
}
else if($sOption == 'One time only')
{
$aData['SCH_OPTION'] = '4';
$sOption = '4';
}
if ($_POST['SCH_START_DATE']!=''){
$sDateTmp = $_POST['SCH_START_DATE'];
} else {
$sDateTmp = date('Y-m-d');
}
$sTimeTmp = $_POST['SCH_START_TIME'];
$aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp));
$nActualTime = $_POST['SCH_START_TIME']; // time();
// $nActualDate = date("Y-m-d H:i:s", $nActualTime);
$sValue = '';
$sDaysPerformTask = '';
$sWeeks = '';
$sMonths = '';
$sMonths = '';
$sStartDay = '';
$nSW = 0;
switch($sOption){
case '1' : // Option 1
$sValue = $_POST['SCH_DAYS_PERFORM_TASK'];
switch($sValue){
case '1' : $aData['SCH_DAYS_PERFORM_TASK'] = $_POST['SCH_DAYS_PERFORM_TASK'] . '|1';
break;
case '2' :
$aData['SCH_OPTION'] = '2';
$aData['SCH_EVERY_DAYS'] = '1';
$aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|';
break;
case '3' : // Every [n] Days
$sDaysPerformTask = $_POST['SCH_DAYS_PERFORM_TASK_OPT_3'];
$aData['SCH_DAYS_PERFORM_TASK'] = $_POST['SCH_DAYS_PERFORM_TASK'] . '|' . $_POST['SCH_DAYS_PERFORM_TASK_OPT_3'];
break;
}
break;
case '2' : // If the option is zero, set by default 1
if(empty($_POST['SCH_EVERY_DAYS']))
$nEveryDays = 1;
else
$nEveryDays = $_POST['SCH_EVERY_DAYS'];
$aData['SCH_EVERY_DAYS'] = $nEveryDays;
$sWeeks = '';
if(!empty($_POST['SCH_WEEK_DAYS'])){
$aWeekDays = explode(',',$_POST['SCH_WEEK_DAYS']);
foreach($aWeekDays as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}
/*if(!empty($_POST['SCH_WEEK_DAYS_2'])){
$aWeekDays2 = $_POST['SCH_WEEK_DAYS_2'];
foreach($aWeekDays2 as $value) {
$sWeeks = $sWeeks . $value . '|';
}
}*/
$sStartTime = $_POST['SCH_START_TIME'];
$aData['SCH_WEEK_DAYS'] = $sWeeks;
break;
case '3' :
$nStartDay = $_POST['SCH_START_DAY'];
if($nStartDay == 'Day of Month')
$nStartDay = 1;
else if($nStartDay == 'The Day')
$nStartDay = 2;
$sStartDayOpt2Week = $_POST['SCH_START_DAY_OPT_2_WEEKS'];
switch($sStartDayOpt2Week){
case 'First':
$sStartDayOpt2Week = 1;
break;
case 'Second':
$sStartDayOpt2Week = 2;
break;
case 'Third':
$sStartDayOpt2Week = 3;
break;
case 'Fourth':
$sStartDayOpt2Week = 4;
break;
case 'Last':
$sStartDayOpt2Week = 5;
break;
}
$sStartDayOpt2DayWeek = $_POST['SCH_START_DAY_OPT_2_DAYS_WEEK'];
switch($sStartDayOpt2DayWeek){
case 'Monday':
$sStartDayOpt2DayWeek = 1;
break;
case 'Tuesday':
$sStartDayOpt2DayWeek = 2;
break;
case 'Wednesday':
$sStartDayOpt2DayWeek = 3;
break;
case 'Thursday':
$sStartDayOpt2DayWeek = 4;
break;
case 'Friday':
$sStartDayOpt2DayWeek = 5;
break;
case 'Saturday':
$sStartDayOpt2DayWeek = 6;
break;
case 'Sunday':
$sStartDayOpt2DayWeek = 7;
break;
}
if($nStartDay == 1){
$aData['SCH_START_DAY'] = $nStartDay . '|' . $_POST['SCH_START_DAY_OPT_1'];
} else {
$aData['SCH_START_DAY'] = $nStartDay . '|' . $sStartDayOpt2Week . '|' . $sStartDayOpt2DayWeek;
}
$sMonths = '';
if(!empty($_POST['SCH_MONTHS'])){
//$aMonths = $_POST['SCH_MONTHS'];
$aMonths = explode(',',$_POST['SCH_MONTHS']);
foreach($aMonths as $value) {
$sMonths = $sMonths . $value . '|' ;
}
}
/*if(!empty($_POST['SCH_MONTHS_2'])){
$aMonths2 = $_POST['SCH_MONTHS_2'];
foreach($aMonths2 as $value) {
$sMonths = $sMonths . $value . '|' ;
}
}
if(!empty($_POST['SCH_MONTHS_3'])){
$aMonths3 = $_POST['SCH_MONTHS_3'];
foreach($aMonths3 as $value) {
$sMonths = $sMonths . $value . '|' ;
}
} */
$aData['SCH_MONTHS'] = $sMonths;
$sStartDay = $aData['SCH_START_DAY'];
$sValue = $nStartDay;
break;
}
if(($sOption!='1') && ($sOption!='4')) {
if ($sStartDay==''){
$sStartDay = date('Y-m-d');
}
// echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."<br>";
$dCurrentDay = date("d");
$dCurrentMonth = date("m");
$aStartDay = explode( "|" , $aData['SCH_START_DAY'] );
if($sOption=='3'&&$aStartDay[0]=='1'){
$monthsArray = explode("|",$sMonths);
foreach ($monthsArray as $row){
if ( $dCurrentMonth == $row && $dCurrentDay<$aStartDay[1] ){
$startTime = $_POST['SCH_START_TIME'].":00";
$aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime;
break;
} else {
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
}
}
} else {
$aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp);
}
// print_r ($aData['SCH_TIME_NEXT_RUN']);
// die;
} else {
if ($sOption=='4'){
$aData['SCH_END_DATE'] = $aData['SCH_START_TIME'];
}
$aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME'];
}
if(trim($_POST['SCH_END_DATE'])!=''){
$aData['SCH_END_DATE'] = $_POST['SCH_END_DATE'];
}
if(!empty($_POST['SCH_REPEAT_TASK_CHK'])){
$nOptEvery = $_POST['SCH_REPEAT_EVERY_OPT'];
if($nOptEvery ==2)
$aData['SCH_REPEAT_EVERY'] = $_POST['SCH_REPEAT_EVERY'] * 60;
else
$aData['SCH_REPEAT_EVERY'] = $_POST['SCH_REPEAT_EVERY'];
}
//$aData['SCH_END_DATE'] = "2020-12-30";
if(empty($_POST['SCH_UID']))
$oCaseScheduler->create($aData);
else
$oCaseScheduler->update($aData);
//Save Scheduler_uid in the Event Table for Start Timer.
$oData['EVN_UID']= $_POST['EVN_UID'];
$oData['EVN_ACTION']= $aData['SCH_UID'];
require_once "classes/model/Event.php";
$oEvent = new Event();
$oEvent->update($oData);
echo "{success: true}";
//G::header('location: cases_Scheduler_List');
}
catch (Exception $oException) {
die($oException->getMessage());
}
?>

View File

@@ -1,249 +0,0 @@
<?php
/**
* events_EditAction.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
global $RBAC;
global $_DBArray;
if ($RBAC->userCanAccess('PM_SETUP') != 1) {
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
}
if ( isset ($_SESSION['EVN_UID']) ) {
$evnUid = $_SESSION['EVN_UID'];
unset ( $_SESSION['EVN_UID'] );
}
else
$evnUid = $_GET['EVN_UID'];
require_once 'classes/model/Event.php';
require_once 'classes/model/Triggers.php';
$oEvent = new Event();
$oTrigger = new Triggers();
$aFields = $oEvent->load( $evnUid );
$parameters = unserialize ( $oEvent->getEvnActionParameters() );
//g::pr($parameters); die;
$aTrigger = $oTrigger->load($aFields['TRI_UID']);
$hash = md5 ( $oTrigger->getTriWebbot() );
//var_dump($hash,$parameters->hash);die;
//if the hash is different, the script was edited , so we will show the trigger editor.
if ( ( isset($parameters->hash) && $hash <> $parameters->hash ) || $aFields['EVN_ACTION'] == 'EXECUTE_TRIGGER' || $aFields['EVN_ACTION'] == 'EXECUTE_CONDITIONAL_TRIGGER' ) {
$oTriggerParams = unserialize($aTrigger['TRI_PARAM']);
// check again a hash, this time to check the trigger itself integrity
if ($oTriggerParams['hash']!=$hash){
// if has changed edit manually
G::LoadClass('xmlfield_InputPM');
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'triggers/triggersNarrowEdit', '', $aTrigger, '../events/triggersSave');
G::RenderPage('publish', 'raw');
die;
} else {
// if not launch the wizard view.
$triUid = $aFields['TRI_UID'];
$_GET = $oTriggerParams['params'];
$_GET['TRI_UID'] = $triUid;
require_once(PATH_METHODS.'triggers/triggers_EditWizard.php');
die;
}
}
$aFields['EVN_MESSAGE_SUBJECT'] = (isset($parameters->SUBJECT) ? $parameters->SUBJECT : '');
if(isset($parameters->TO)){
$paramTO[] = Array('id'=>'char', 'name'=>'char');
//echo '<pre>';print_r($parameters->TO);
foreach($parameters->TO as $item){
$row = explode('|', $item);
switch($row[0]){
case 'usr':
require_once('classes/model/Users.php');
$user = new Users();
if($row[1] == '-1'){
$value = '(Current Task User)';
} else {
$rec = $user->load($row[1]);
$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
}
break;
case 'grp':
G::LoadClass('groups');
$group = new Groups();
$rec = $group->load($row[1]);
$value = strip_tags($rec->getGrpTitle());
break;
case 'ext':
$value = htmlentities($row[1]);
break;
case 'dyn':
$value = htmlentities('@#'.$row[1]);
break;
default:
echo '->'.$row[0];
}
$paramTO[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
}
} else {
$paramTO[] = Array('id'=>'char', 'name'=>'char');
$paramTO[] = Array('id'=>'usr|-1', 'name'=>'(Current Task User)');
}
$_DBArray['eventomsgto'] = $paramTO;
if(isset($parameters->CC)){
$paramCC[] = Array('id'=>'char', 'name'=>'char');
foreach($parameters->CC as $item){
$row = explode('|', $item);
switch($row[0]){
case 'usr':
require_once('classes/model/Users.php');
$user = new Users();
if($row[1] == '-1'){
$value = '(Current Task User)';
} else {
$rec = $user->load($row[1]);
$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
}
break;
case 'grp':
G::LoadClass('groups');
$group = new Groups();
$rec = $group->load($row[1]);
$value = strip_tags($rec->getGrpTitle());
break;
case 'ext':
$value = htmlentities($row[1]);
break;
case 'dyn':
$value = htmlentities('@#'.$row[1]);
break;
}
$paramCC[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
}
$_DBArray['eventomsgcc'] = $paramCC;
} else {
$_DBArray['eventomsgcc'] = Array();
}
if(isset($parameters->BCC)){
$paramBCC[] = Array('id'=>'char', 'name'=>'char');
foreach($parameters->BCC as $item){
$row = explode('|', $item);
switch($row[0]){
case 'usr':
require_once('classes/model/Users.php');
$user = new Users();
if($row[1] == '-1'){
$value = '(Current Task User)';
} else {
$rec = $user->load($row[1]);
$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
}
break;
case 'grp':
G::LoadClass('groups');
$group = new Groups();
$rec = $group->load($row[1]);
$value = strip_tags($rec->getGrpTitle());
break;
case 'ext':
$value = htmlentities($row[1]);
break;
case 'dyn':
$value = htmlentities('@#'.$row[1]);
break;
}
$paramBCC[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
}
$_DBArray['eventomsgbcc'] = $paramBCC;
} else {
$_DBArray['eventomsgbcc'] = Array();
}
$aFields['EVN_MESSAGE_TO_TO'] = $paramTO;
$aFields['EVN_MESSAGE_TO_CC'] = (isset($parameters->CC) ? $paramCC : '');
$aFields['EVN_MESSAGE_TO_BCC'] = (isset($parameters->BCC) ? $paramBCC : '');
$aFields['EVN_MESSAGE_TEMPLATE'] = (isset($parameters->TEMPLATE) ? $parameters->TEMPLATE : '');
$aTemplates = array();
$aTemplates[] = array('TEMPLATE1' => 'char',
'TEMPLATE2' => 'char');
$sDirectory = PATH_DATA_MAILTEMPLATES . $aFields['PRO_UID'] . PATH_SEP;
G::verifyPath($sDirectory, true);
if (!file_exists($sDirectory . 'alert_message.html')) {
@copy(PATH_TPL . 'mails' . PATH_SEP . 'alert_message.html', $sDirectory . 'alert_message.html');
}
$oDirectory = dir($sDirectory);
while ($sObject = $oDirectory->read()) {
if (($sObject !== '.') && ($sObject !== '..') && ($sObject !== 'alert_message.html')) {
$aTemplates[] = array('TEMPLATE1' => $sObject,
'TEMPLATE2' => $sObject);
}
}
$_DBArray['templates'] = $aTemplates;
$aTriggers[] = array('TRI_UID' => 'char',
'TRI_TITLE' => 'char');
G::LoadClass('processMap');
$oProcessMap = new ProcessMap();
$oDataset = TriggersPeer::doSelectRS($oProcessMap->getTriggersCriteria($aFields['PRO_UID']));
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
$aTriggers[] = array('TRI_UID' => $aRow['TRI_UID'],
'TRI_TITLE' => $aRow['TRI_TITLE']);
$oDataset->next();
}
$_DBArray['triggers'] = $aTriggers;
$_SESSION['_DBArray'] = $_DBArray;
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave');
//$G_PUBLISH->AddContent('xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave');
G::RenderPage('publish', 'raw');
function replaceQuotes($aData){
return str_replace('"', '&quote;', $aData);
}

View File

@@ -1,56 +0,0 @@
<?php
/**
* cases_Events_Save.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2010 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
try {
$oJSON = new Services_JSON();
if ( isset ($_POST['sData']) ) {
$oData = $oJSON->decode($_POST['sData']);
}
//Convert Object into Array
foreach($oData as $key=>$value)
{
$aData[$key] = $value;
}
require_once 'classes/model/Event.php';
$oEvent = new Event();
if (!isset($aData['EVN_UID']) && $aData['EVN_UID'] == '' ) {
$sEventUid = $oEvent->create($aData);
}
else
$sEventUid = $oEvent->update($aData);
$_SESSION['EVN_UID'] = $sEventUid;
echo "{success: true,data:'.$sEventUid.'}";
//G::header('location: cases_Scheduler_List');
}
catch (Exception $oException) {
die($oException->getMessage());
}
?>

View File

@@ -1,170 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['tid'] ) )
{
$rows = $oProcessMap->getExtStepsCriteria($_GET['tid']); //Getting all assigned steps on a task
array_shift($rows);
}
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
$steps = array();
//@@stepsChildren is an array that stores before and after triggers tree data for a step
$stepsChildren = array();
$assignChildren = array();
//@@assignTaskChildren is an array that stores Before Assignment,Before Derivation and After Derivation triggers tree data for assigned task
$assignTaskChildren = array();
//Creating steps array for populating tree depending on count of assigned steps to a task
for($i=0;$i<count($rows);$i++)
{
//Getting beforeTriggersCount for a step
$beforeTriggers = $oProcessMap->getStepTriggersCriteria($rows[$i]['STEP_UID'], $_GET['tid'], 'BEFORE');
$beforeTriggersCount = StepTriggerPeer::doCount($beforeTriggers);
//Getting afterTriggersCount for a step
$afterTriggers = $oProcessMap->getStepTriggersCriteria($rows[$i]['STEP_UID'], $_GET['tid'], 'AFTER');
$afterTriggersCount = StepTriggerPeer::doCount($afterTriggers);
$iTotal = $beforeTriggersCount + $afterTriggersCount;
//Tree level 3 nodes i.e. final nodes (Leaf Nodes)
$beforeTriggerChildren[0] = array(
'text' => 'Assign / Show Before Triggers',
'id' => $rows[$i]['STEP_UID'].'|BEFORE',
'leaf' => true,
);
$afterTriggerChildren[0] = array(
'text' => 'Assign / Show After Triggers',
'id' => $rows[$i]['STEP_UID'].'|AFTER',
'leaf' => true,
);
//Tree level 2 nodes i.e. Before and After Triggers for level 1 nodes
$stepsChildren[0] = array(
'text' => 'Before - Triggers ('.$beforeTriggersCount.')',
//'id' => $rows[$i]['STEP_UID'].'-BEFORE',
'children' => $beforeTriggerChildren
);
$stepsChildren[1] = array(
'text' => 'After - Triggers ('.$afterTriggersCount.')',
//'id' => $rows[$i]['STEP_UID'].'-AFTER',
'children' => $afterTriggerChildren
);
//Tree level 1 nodes (Main steps)
$steps[] = array(
'text' => $rows[$i]['STEP_TITLE'].' - Triggers ('.$iTotal.')',
//'id' => 'ssaas',
'children' => $stepsChildren
);
}
//Creating tree for Assign Task Step
$beforeAssignmentChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-1|BEFORE',
'leaf' => true,
);
$beforeDerivationChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-2|BEFORE',
'leaf' => true,
);
$afterDerivationChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-2|AFTER',
'leaf' => true,
);
//Getting counts for Before Assignment,Before Derivation and After Derivation triggers for a step
$beforeAssignmentTriggers = $oProcessMap->getStepTriggersCriteria('-1', $_GET['tid'], 'BEFORE');
$beforeAssignmentTriggersCount = StepTriggerPeer::doCount($beforeAssignmentTriggers);
$beforeDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'BEFORE');
$beforeDerivationTriggersCount = StepTriggerPeer::doCount($beforeDerivationTriggers);
$afterDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'AFTER');
$afterDerivationTriggersCount = StepTriggerPeer::doCount($afterDerivationTriggers);
$iTotal = $beforeAssignmentTriggersCount + $beforeDerivationTriggersCount + $afterDerivationTriggersCount;
$assignTaskChildren[] = array(
'text' => 'Before Assignment - Triggers ('.$beforeAssignmentTriggersCount.')',
'children' => $beforeAssignmentChildren
);
$assignTaskChildren[] = array(
'text' => 'Before Derivation - Triggers ('.$beforeDerivationTriggersCount.')',
'children' => $beforeDerivationChildren
);
$assignTaskChildren[] = array(
'text' => 'After Derivation - Triggers ('.$afterDerivationTriggersCount.')',
'children' => $afterDerivationChildren
);
//Adding last value in an array for "Assign Task"
$steps[] = array(
'text' => '[ Assign Task ] - Triggers ('.$iTotal.')',
//'id' => $rows[$i]['STEP_UID'],
'children' => $assignTaskChildren
);
/* $nodes = "[{
text: 'Step 1 - Triggers (0)',
cls: 'blank',
iconCls: 'blank',
children: [{
text: 'Before - Triggers (0)',
cls: 'blank',
iconCls: 'blank',
children: [{
text: 'Assign Before Trigger',
leaf: true,
}]
},{
text: 'After - Triggers (0)',
leaf: true,
cls: 'blank',
iconCls: 'blank',
}]
},{
text: 'Step 2 - Triggers (0)',
children: [{
text: 'Before - Triggers (0)',
leaf: true,
},{
text: 'After - Triggers (0)',
leaf: true,
}]
},{
text: 'Assign Task - Triggers(0)',
children: [{
text: 'Before Assigment - Triggers(0)',
leaf: true,
},{
text: 'Before Derivation - Triggers(0)',
leaf: true,
},{
text: 'After Derivation - Triggers(0)',
leaf: true,
}]
}]";*/
//echo $nodes;
echo G::json_encode($steps);

View File

@@ -1,124 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
$start = isset($_POST['start'])? $_POST['start']: 0;
$limit = isset($_POST['limit'])? $_POST['limit']: '';
if ( isset($_GET['tid'] ) )
{
$rows = $oProcessMap->getExtStepsCriteria($start, $limit, $_GET['tid']); //Getting all assigned steps on a task
array_shift($rows);
}
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
$steps = array();
//@@stepsChildren is an array that stores before and after triggers tree data for a step
$stepsChildren = array();
$assignChildren = array();
//@@assignTaskChildren is an array that stores Before Assignment,Before Derivation and After Derivation triggers tree data for assigned task
$assignTaskChildren = array();
//Creating steps array for populating tree depending on count of assigned steps to a task
for($i=0;$i<count($rows);$i++)
{
//Getting beforeTriggersCount for a step
$beforeTriggers = $oProcessMap->getStepTriggersCriteria($rows[$i]['STEP_UID'], $_GET['tid'], 'BEFORE');
$beforeTriggersCount = StepTriggerPeer::doCount($beforeTriggers);
//Getting afterTriggersCount for a step
$afterTriggers = $oProcessMap->getStepTriggersCriteria($rows[$i]['STEP_UID'], $_GET['tid'], 'AFTER');
$afterTriggersCount = StepTriggerPeer::doCount($afterTriggers);
$iTotal = $beforeTriggersCount + $afterTriggersCount;
//Tree level 3 nodes i.e. final nodes (Leaf Nodes)
$beforeTriggerChildren[0] = array(
'text' => 'Assign / Show Before Triggers',
'id' => $rows[$i]['STEP_UID'].'|BEFORE',
'leaf' => true,
);
$afterTriggerChildren[0] = array(
'text' => 'Assign / Show After Triggers',
'id' => $rows[$i]['STEP_UID'].'|AFTER',
'leaf' => true,
);
//Tree level 2 nodes i.e. Before and After Triggers for level 1 nodes
$stepsChildren[0] = array(
'text' => 'Before - Triggers ('.$beforeTriggersCount.')',
//'id' => $rows[$i]['STEP_UID'].'-BEFORE',
'children' => $beforeTriggerChildren
);
$stepsChildren[1] = array(
'text' => 'After - Triggers ('.$afterTriggersCount.')',
//'id' => $rows[$i]['STEP_UID'].'-AFTER',
'children' => $afterTriggerChildren
);
//Tree level 1 nodes (Main steps)
$steps[] = array(
'text' => $rows[$i]['STEP_TITLE'].' - Triggers ('.$iTotal.')',
//'id' => 'ssaas',
'children' => $stepsChildren
);
}
//Creating tree for Assign Task Step
$beforeAssignmentChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-1|BEFORE',
'leaf' => true,
);
$beforeDerivationChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-2|BEFORE',
'leaf' => true,
);
$afterDerivationChildren[] = array(
'text' => 'Assign / Show Triggers',
'id' => '-2|AFTER',
'leaf' => true,
);
//Getting counts for Before Assignment,Before Derivation and After Derivation triggers for a step
$beforeAssignmentTriggers = $oProcessMap->getStepTriggersCriteria('-1', $_GET['tid'], 'BEFORE');
$beforeAssignmentTriggersCount = StepTriggerPeer::doCount($beforeAssignmentTriggers);
$beforeDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'BEFORE');
$beforeDerivationTriggersCount = StepTriggerPeer::doCount($beforeDerivationTriggers);
$afterDerivationTriggers = $oProcessMap->getStepTriggersCriteria('-2', $_GET['tid'], 'AFTER');
$afterDerivationTriggersCount = StepTriggerPeer::doCount($afterDerivationTriggers);
$iTotal = $beforeAssignmentTriggersCount + $beforeDerivationTriggersCount + $afterDerivationTriggersCount;
$assignTaskChildren[] = array(
'text' => 'Before Assignment - Triggers ('.$beforeAssignmentTriggersCount.')',
'children' => $beforeAssignmentChildren
);
$assignTaskChildren[] = array(
'text' => 'Before Derivation - Triggers ('.$beforeDerivationTriggersCount.')',
'children' => $beforeDerivationChildren
);
$assignTaskChildren[] = array(
'text' => 'After Derivation - Triggers ('.$afterDerivationTriggersCount.')',
'children' => $afterDerivationChildren
);
//Adding last value in an array for "Assign Task"
$steps[] = array(
'text' => '[ Assign Task ] - Triggers ('.$iTotal.')',
//'id' => $rows[$i]['STEP_UID'],
'children' => $assignTaskChildren
);
echo G::json_encode($steps);

View File

@@ -1,272 +0,0 @@
<?php
/**
* openProcess.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
G::LoadClass('xpdl');
$processUID = $_REQUEST['PRO_UID'];
$oProcess = new Xpdl();
$fields = $oProcess->serializeProcess($processUID);
$oData = unserialize($fields);
$arrayTasks = array();
$countTasks = 0;
$countSubProcess= 0;
$arrayEvents = array();
$arraySubProcess= array();
$count = 0;
$countRoutes = 0;
$arrayRoutes = array();
$process = array();
$process = $oProcess->createProcessPM($oData->process);
foreach($oData->tasks as $id => $value)
{
if($value['TAS_TYPE'] == 'SUBPROCESS'){
$arraySubProcess[$countSubProcess]['0'] = $value['TAS_UID'];
$arraySubProcess[$countSubProcess]['1'] = $value['TAS_TITLE'];
$arraySubProcess[$countSubProcess]['2'] = $value['TAS_POSX'];
$arraySubProcess[$countSubProcess]['3'] = $value['TAS_POSY'];
$countSubProcess = $countSubProcess + 1;
}
else
{
$arrayTasks[$countTasks]['0'] = $value['TAS_UID'];
$arrayTasks[$countTasks]['1'] = $value['TAS_TITLE'];
$arrayTasks[$countTasks]['2'] = $value['TAS_POSX'];
$arrayTasks[$countTasks]['3'] = $value['TAS_POSY'];
$arrayTasks[$countTasks]['4'] = $value['TAS_WIDTH'];
$arrayTasks[$countTasks]['5'] = $value['TAS_HEIGHT'];
$arrayTasks[$countTasks]['6'] = $value['TAS_BOUNDARY'];
if($value['TAS_START'] == 'TRUE'){
$arrayEvents[$count]['0'] = G::generateUniqueID();
if($value['TAS_EVN_UID'] == '')
{
$arrayEvents[$count]['1'] = 'bpmnEventEmptyStart';
}
else
{
foreach($oData->event as $eventid => $val){
if($val['EVN_UID'] == $value['TAS_EVN_UID'])
{
$arrayEvents[$count]['0'] = $val['EVN_UID'];
$arrayEvents[$count]['1'] = $val['EVN_TYPE'];
break;
}
}
}
$arrayEvents[$count]['2'] = $value['TAS_POSX']+68;
$arrayEvents[$count]['3'] = $value['TAS_POSY']-50;
$arrayEvents[$count]['4'] = $value['TAS_UID'];
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $arrayEvents[$count]['0'];
$arrayRoutes[$countRoutes]['2']= $value['TAS_UID'];
$arrayRoutes[$countRoutes]['3']= '1';
$arrayRoutes[$countRoutes]['4']= '2';
$count = $count+ 1;
$countRoutes = $countRoutes+ 1;
}
$countTasks = $countTasks + 1;
}
}
$lanes = $oProcess->createLanesNewPM($oData->lanes);
$fields = $oProcess->createTransitionsPM($oData->tasks,$oData->routes,$arrayEvents,$count,$arrayRoutes,$countRoutes);
//Get Standalone Events and routes
$countEvent = count($fields['EVENTS']);
$countRoutes = count($fields['TRANSITION']);
foreach($oData->event as $id => $value)
{
if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] != '' && $value['EVN_TAS_UID_TO'] != ''){ //Check for Intermediate Events
$evn_uid = $value['EVN_UID'];
$idTaskFrom = $value['EVN_TAS_UID_FROM'];
$idTaskTo = $value['EVN_TAS_UID_TO'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $idTaskFrom;
$fields['TRANSITION'][$countRoutes]['2']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['3']= '1';
$fields['TRANSITION'][$countRoutes]['4']= '2';
$countRoutes = $countRoutes + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['2']= $idTaskTo;
$fields['TRANSITION'][$countRoutes]['3']= '2';
$fields['TRANSITION'][$countRoutes]['4']= '1';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_TO'] != '' && ! preg_match("/Start/", $value['EVN_TYPE'])){
$evn_uid = $value['EVN_UID'];
$idTask = $value['EVN_TAS_UID_TO'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['2']= $idTask;
$fields['TRANSITION'][$countRoutes]['3']= '2';
$fields['TRANSITION'][$countRoutes]['4']= '1';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] != '' && ! preg_match("/End/", $value['EVN_TYPE'])){ //Check for Intermediate Events
$evn_uid = $value['EVN_UID'];
$idTask = $value['EVN_TAS_UID_FROM'];
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
$fields['TRANSITION'][$countRoutes]['0']= G::generateUniqueID();
$fields['TRANSITION'][$countRoutes]['1']= $idTask;
$fields['TRANSITION'][$countRoutes]['2']= $evn_uid;
$fields['TRANSITION'][$countRoutes]['3']= '1';
$fields['TRANSITION'][$countRoutes]['4']= '2';
$countRoutes = $countRoutes + 1;
}
else if($value['TAS_UID'] == '' && $value['EVN_TAS_UID_FROM'] == '' && $value['EVN_TAS_UID_TO'] == ''){
$fields['EVENTS'][$countEvent]['0'] = $value['EVN_UID'];
$fields['EVENTS'][$countEvent]['1'] = $value['EVN_TYPE'];
$fields['EVENTS'][$countEvent]['2'] = $value['EVN_POSX'];
$fields['EVENTS'][$countEvent]['3'] = $value['EVN_POSY'];
$fields['EVENTS'][$countEvent]['4'] = $value['TAS_UID'];
$countEvent = $countEvent + 1;
}
}
//Get all the standalone Gateway
$countGateway = count($fields['GATEWAYS']);
$countTransitions = count($fields['TRANSITION']);
foreach($oData->gateways as $id => $value)
{
if($value['GAT_NEXT_TASK'] != '' && $value['TAS_UID'] != '' && $value['GAT_TYPE'] != ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['TAS_UID'];
$countGateway+=1;
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['TAS_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countTransitions += 1;
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['3'] = '2';
$fields['TRANSITION'][$countTransitions]['4'] = '1';
$countTransitions += 1;
}
//creating gateway and route from gateway to task i.e if target task is not NULL
else if($value['GAT_NEXT_TASK'] != '' && $value['TAS_UID'] == ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['3'] = '2';
$fields['TRANSITION'][$countTransitions]['4'] = '1';
$countGateway+=1;
$countTransitions += 1;
}
//creating gateway and route from task to gateway i.e if source task is not NULL
else if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] != ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['TAS_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countGateway+=1;
$countTransitions += 1;
}
else if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] == ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$countGateway += 1;
}
}
//Create Annotation route
foreach($oData->lanes as $id => $value)
{
if($value['SWI_NEXT_UID'] != '') {
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['SWI_NEXT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['SWI_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countTransitions += 1;
}
}
//$subProcess = $oProcess->createSubProcessesPM($oData->subProcess);
$arrayEvents = $fields['EVENTS'];
$arrayGateways = $fields['GATEWAYS'];
$arrayRoutes = $fields['TRANSITION'];
$result['TASKS'] = $arrayTasks;
$result['ROUTES'] = $arrayRoutes;
$result['EVENTS'] = $arrayEvents;
$result['GATEWAYS'] = $arrayGateways;
$aTasks = G::json_encode($arrayTasks);
$aSubProcess = G::json_encode($arraySubProcess);
$aRoutes = G::json_encode($arrayRoutes);
$aEvents = G::json_encode($arrayEvents);
$aGateways = G::json_encode($arrayGateways);
$aProcess = G::json_encode($process);
$aLanes = G::json_encode($lanes);
echo "tasks:$aTasks|gateways:$aGateways|events:$aEvents|annotations:$aLanes|process:$aProcess|subprocess:$aSubProcess|routes:$aRoutes";
?>

View File

@@ -1,190 +0,0 @@
<?php
/**
* patterns_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
G::LoadInclude('ajax');
G::LoadClass('processMap');
$oJSON = new Services_JSON();
if(isset($_POST['mode']) && $_POST['mode'] != '')
{
$aData = $_POST;
$aData['TASK'] = $oJSON->decode($_POST['TASK']);
$aData['ROU_NEXT_TASK'] = $oJSON->decode($_POST['ROU_NEXT_TASK']);
}
//Saving Gateway details into Gateway table
if($aData['ROU_TYPE'] != 'SEQUENTIAL')
{
$oProcessMap = new processMap();
//$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]);
require_once 'classes/model/Gateway.php';
$oGateway = new Gateway ( );
$aGatewayFields = array();
$aGatewayFields['GAT_UID'] = $aData['GAT_UID'];
$aGatewayFields['TAS_UID'] = $aData['TASK'][0];
$aGatewayFields['GAT_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0];
$aGatewayFields['GAT_TYPE'] = '';
$oGateway->update($aGatewayFields);
//$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]);
//echo $sGatewayUID.'|';
}
//else
// echo $aData['ROU_EVN_UID'].'|'; //sending route_event_uid in response
G::LoadClass('tasks');
$oTasks = new Tasks();
$rou_id = 0;
$aFields['GAT_UID'] = $aData['GAT_UID'];
switch ($aData['action']) {
case 'savePattern':
foreach ($aData['TASK'] as $iKey => $aRow)
{
$oTasks->deleteAllRoutesOfTask($aData['PROCESS'], $aRow);
}
require_once 'classes/model/Route.php';
require_once 'classes/model/Event.php';
$oEvent = new Event ( );
$oRoute = new Route();
switch ($aData['ROU_TYPE']) {
case 'SEQUENTIAL':
case 'SEC-JOIN':
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK'][0];
$aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0];
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
if(isset($aData['ROU_EVN_UID']) && $aData['ROU_EVN_UID'] != ''){
$aFields['ROU_EVN_UID'] = $aData['ROU_EVN_UID'];
$aDataEvent = array();
$aDataEvent['EVN_UID'] = $aData['ROU_EVN_UID'];
$aDataEvent['EVN_TAS_UID_FROM'] = $aData['TASK'][0];
$aDataEvent['EVN_RELATED_TO'] = 'MULTIPLE';
$oEvent->update($aDataEvent);
}
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP'];
$rou_id = $oRoute->create($aFields);
break;
case 'SELECT':
foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow)
{
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK'];
$aFields['ROU_NEXT_TASK'] = $aRow;
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP'];
$rou_id = $oRoute->create($aFields);
unset($aFields);
}
break;
case 'EVALUATE':
foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow)
{
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK'][0];
$aFields['ROU_NEXT_TASK'] = $aRow;
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION'];
$aFields['GAT_UID'] = $aData['GAT_UID'];
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP'];
//$aFields['ROU_TO_LAST_USER'] = $aRow['ROU_TO_LAST_USER'];
$rou_id = $oRoute->create($aFields);
unset($aFields);
}
break;
case 'PARALLEL':
foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow)
{
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK'][0];
$aFields['ROU_NEXT_TASK'] = $aRow;
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['GAT_UID'] = $aData['GAT_UID'];;
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT']= $aData['PORT_NUMBER_OP'];
$rou_id = $oRoute->create($aFields);
unset($aFields);
}
break;
case 'PARALLEL-BY-EVALUATION':
foreach ($aData['ROU_NEXT_TASK'] as $iKey => $aRow)
{
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK'][0];
$aFields['ROU_NEXT_TASK'] = $aRow;
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['GAT_UID'] = $aData['GAT_UID'];;
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT']= $aData['PORT_NUMBER_OP'];
$rou_id = $oRoute->create($aFields);
unset($aFields);
}
break;
case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route
foreach ($aData['TASK'] as $iKey => $aRow)
{
$aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aRow;
$aFields['ROU_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0];
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['GAT_UID'] = $aData['GAT_UID'];;
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];
if(isset($aData['PORT_NUMBER_OP']))
$aFields['ROU_FROM_PORT'] = $aData['PORT_NUMBER_OP'];
$routeData = $oTasks->getRouteByType($aData['PROCESS'], $aData['ROU_NEXT_TASK'][0], $aData['ROU_TYPE']);
foreach($routeData as $route)
{
$sFields['ROU_UID'] = $route['ROU_UID'];
$rou_id = $oRoute->update($sFields);
}
$rou_id =$oRoute->create($aFields);
unset($aFields);
}
break;
}
echo $rou_id;
}
?>

View File

@@ -1,398 +0,0 @@
<?php
/**
* processes_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
G::LoadInclude('ajax');
$oJSON = new Services_JSON();
if ( isset ($_REQUEST['data']) ) {
$oData = $oJSON->decode(stripslashes($_REQUEST['data']));
$sOutput = '';
}
else {
if (!isset($_POST['form'])) {
$aData = urldecode_values($_POST);
}
else {
$aData = urldecode_values($_POST['form']);
}
}
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
require_once 'classes/model/Task.php';
require_once 'classes/model/Event.php';
$oEvent = new Event();
$oTask = new Task();
if ( isset ($_REQUEST['action']) ) {
switch($_REQUEST['action'])
{
case 'load':
$sOutput = $oProcessMap->load($oData->uid);
echo $sOutput;
break;
case 'addTask':
$sOutput = $oProcessMap->addTask($oData->uid, $oData->position->x, $oData->position->y,$oData->cordinate->x,$oData->cordinate->y);
echo $sOutput;
break;
case 'saveTaskPosition':
$sOutput = $oProcessMap->saveTaskPosition($oData->uid, $oData->position->x, $oData->position->y);
echo $sOutput;
break;
case 'saveEventPosition':
$sOutput = $oProcessMap->saveEventPosition($oData->uid, $oData->position->x, $oData->position->y);
echo $sOutput;
break;
case 'saveGatewayPosition':
$sOutput = $oProcessMap->saveGatewayPosition($oData->uid, $oData->position->x, $oData->position->y);
//echo $sOutput;
break;
case 'saveTaskCordinates':
$sOutput = $oProcessMap->saveTaskCordinates($oData->uid, $oData->position->x, $oData->position->y);
echo $sOutput;
break;
case 'saveAnnotationCordinates':
$sOutput = $oProcessMap->saveAnnotationCordinates($oData->uid, $oData->position->x, $oData->position->y);
echo $sOutput;
break;
case 'deleteTask':
$sOutput = $oProcessMap->deleteTask($oData->tas_uid);
echo $sOutput;
break;
case 'addGateway':
$sOutput = $oProcessMap->addGateway($oData);
echo $sOutput;
break;
case 'deleteGateway':
$sOutput = $oProcessMap->deleteGateway($oData->pro_uid, $oData->gat_uid);
echo $sOutput;
break;
case 'updateTaskName':
$aTask['TAS_UID'] = $oData->uid;
$aTask['TAS_TITLE'] = $oData->label;
$oTask->update($aTask);
break;
case 'updateTask':
$aTask['TAS_UID'] = $oData->uid;
$aTask['TAS_BOUNDARY'] = $oData->boundary;
$oTask->update($aTask);
$sOutput = $oJSON->encode($oData);
echo $sOutput;
break;
case 'addSubProcess':
$sOutput = $oProcessMap->addSubProcess($oData->uid, $oData->position->x, $oData->position->y);
echo $sOutput;
break;
case 'deleteSubProcess':
$sOutput = $oProcessMap->deleteSubProcess($oData->pro_uid, $oData->tas_uid);
break;
case 'addText':
$sOutput = $oProcessMap->addText($oData->uid, $oData->label, $oData->position->x, $oData->position->y,$oData->task_uid);
echo $sOutput;
break;
case 'updateText':
$sOutput = $oProcessMap->updateText($oData->uid, $oData->label, $oData->next_uid);
echo $sOutput;
break;
case 'saveTextPosition':
$sOutput = $oProcessMap->saveTextPosition($oData->uid, $oData->position->x, $oData->position->y);
break;
case 'deleteText':
$sOutput = $oProcessMap->deleteText($oData->uid);
echo $sOutput;
break;
case 'getProcesses':
$sOutput = $oProcessMap->getAllProcesses();
echo $sOutput;
break;
case 'dynaforms':
$sOutput = $oProcessMap->getDynaformList($oData->uid);
$sOutput = $oJSON->encode($sOutput);
echo $sOutput;
break;
case 'webEntry_validate':
include(PATH_METHODS . 'processes/processes_webEntryValidate.php');
break;
case 'webEntry_generate':
include(PATH_METHODS . 'processes/processes_webEntryGenerate.php');
break;
case 'webEntry':
$sOutput = $oProcessMap->listNewWebEntry($oData->uid,$oData->evn_uid);
echo $sOutput;
break;
case 'loadTask':
$oOutput = $oTask->load($oData->uid);
$sOutput = $oJSON->encode($oOutput);
echo $sOutput;
break;
case 'assignProcessUser':
$oProcessMap->assignProcessUser($oData->PRO_UID, $oData->USR_UID);
break;
case 'removeProcessUser':
$oProcessMap->removeProcessUser($oData->PU_UID);
break;
case 'saveInterMessageEvent':
$aData['TAS_UID'] = $oData->uid;
$aData['TAS_SEND_LAST_EMAIL'] = strtoupper($oData->tas_send);
$aData['TAS_DEF_MESSAGE'] = $oData->data;
if(isset($aData['TAS_SEND_LAST_EMAIL']) && $aData['TAS_SEND_LAST_EMAIL'] == 'FALSE'){
$aData['TAS_DEF_MESSAGE'] = '';
}else{
$aData['TAS_DEF_MESSAGE'] = str_replace('@amp@', '&', $aData['TAS_DEF_MESSAGE']);
}
$sOutput = $oTask->update($aData);
echo $sOutput;
break;
case 'editObjectPermission':
// we also need the process uid variable for the function.
$oProcessMap->editObjectPermission($oData->op_uid,$oData->pro_uid);
break;
case 'triggersList':
$sOutput = $oProcessMap->getTriggers($oData->pro_uid);
$sOutput = $oJSON->encode($sOutput);
echo $sOutput;
break;
case 'loadCategory':
$sOutput = $oProcessMap->loadProcessCategory();
$sOutput = $oJSON->encode($sOutput);
echo $sOutput;
break;
case 'saveProcess':
$aData['PRO_UID'] = $oData->PRO_UID;
$aData['PRO_CALENDAR'] = $oData->PRO_CALENDAR;
$aData['PRO_CATEGORY'] = $oData->PRO_CATEGORY;
$aData['PRO_DEBUG'] = $oData->PRO_DEBUG;
$aData['PRO_DESCRIPTION'] = $oData->PRO_DESCRIPTION;
$aData['PRO_TITLE'] = $oData->PRO_TITLE;
$sOutput = $oProcessMap->updateProcess($aData);
echo $sOutput;
break;
case 'saveStartEvent':
$aData['TAS_UID'] = $oData->tas_uid;
$aData['TAS_START'] = $oData->tas_start;
$aData['TAS_EVN_UID'] = '';
$oTask->update($aData);
break;
case 'deleteStartEvent':
$aData['TAS_UID'] = $oData->tas_uid;
$aData['TAS_START'] = $oData->tas_start;
$aData['TAS_EVN_UID'] = '';
$oTask->update($aData);
if(isset($oData->evn_uid))
$oEvent->remove($oData->evn_uid);
break;
case 'updateEvent':
$aData['EVN_UID'] = $oData->evn_uid;
$aData['EVN_TYPE'] = $oData->evn_type;
$oEvent = EventPeer::retrieveByPK($aData['EVN_UID']);
if (!is_null($oEvent))
$oEvent->update($aData);
break;
case 'saveEvents':
$sOutput = $oProcessMap->saveExtEvents($oData);
echo $sOutput;
break;
case 'addEvent':
$sOutput = $oProcessMap->saveExtddEvents($oData);
echo $sOutput;
/*
$aData['PRO_UID'] = $oData->uid;
$aData['EVN_TYPE'] = $oData->tas_type;
$aData['EVN_STATUS'] = 'ACTIVE';
$aData['EVN_WHEN'] = '1';
$aData['EVN_ACTION'] = '';
if(preg_match("/Inter/", $oData->tas_type)){
$aData['EVN_RELATED_TO'] = 'MULTIPLE';
$aData['EVN_TAS_UID_FROM'] = $oData->tas_from;
$aData['EVN_TAS_UID_TO'] = $oData->tas_to;
$sOutput = $oEvent->create($aData);
echo $sOutput;
}
//Code for Start Events only
if(preg_match("/Start/", $oData->tas_type)){
$oEvn_uid='';
$aData['EVN_RELATED_TO'] = 'SINGLE';
$aData['TAS_UID'] = $oData->tas_uid;
$oTaskData = $oTask->load($aData['TAS_UID']);
if($oTaskData['TAS_EVN_UID'] == ''){
$oEvn_uid = $oEvent->create($aData);
}else{
$aData['EVN_UID'] = $oTaskData['TAS_EVN_UID'];
$oEvn_uid = $aData['EVN_UID'];
$oEvent->update($aData);
}
$aTask['TAS_UID'] = $oData->tas_uid;
$aTask['TAS_EVN_UID'] = $oEvn_uid;
$aTask['TAS_START'] = 'TRUE';
$oTask->update($aTask);
}*/
break;
case 'deleteRoute':
require_once 'classes/model/Route.php';
$oRoute = new Route();
$sOutput = $oRoute->remove($oData->uid);
echo $sOutput;
break;
case 'deleteEvent':
$sOutput = $oEvent->remove($oData->uid);
echo $sOutput;
break;
case 'assign':
G::LoadClass('tasks');
$oTasks = new Tasks();
switch ($oData->TU_RELATION) {
case 1:
echo $oTasks->assignUser($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE);
break;
case 2:
echo $oTasks->assignGroup($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE);
break;
}
break;
case 'ofToAssign':
G::LoadClass('tasks');
$oTasks = new Tasks();
switch ($oData->TU_RELATION) {
case 1:
echo $oTasks->ofToAssignUser($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE);
break;
case 2:
echo $oTasks->ofToAssignGroup($oData->TAS_UID, $oData->USR_UID, $oData->TU_TYPE);
break;
}
break;
case 'saveSubprocessDetails':
//$aTask=$oTask->load($_POST['form']['TASKS']);
//$aTask=$oTask->load($_POST['form']['PRO_UID']);
$out = array();
$in = array();
if(isset($_POST['VAR_OUT']) && $_POST['VAR_OUT'] != ''){
$varOut = explode('|',$_POST['VAR_OUT']);
$aVarOut1 = G::json_decode($varOut[0]);
$aVarOut2 = G::json_decode($varOut[1]);
for($i=1; $i<=count($aVarOut1); $i++){
$out[$aVarOut1[$i-1]]= $aVarOut2[$i-1];
}
}
if(isset($_POST['VAR_IN']) && $_POST['VAR_IN'] != ''){
$varIn = explode('|',$_POST['VAR_IN']);
$aVarIn1 = G::json_decode($varIn[0]);
$aVarIn2 = G::json_decode($varIn[1]);
for($i=1; $i<=count($aVarIn1); $i++){
$in[$aVarIn1[$i-1]]= $aVarIn2[$i-1];
}
}
if($_POST['VAR_IN'] == '')
$in[$_POST['VAR_IN']] = '';
//Getting first Tasks of selected process
$aNewCase = $oProcessMap->subProcess_TaskIni($_POST['PRO_UID']);
$i = 0;
foreach ($aNewCase as $aRow) {
if ($i > 0 && $aRow['pro_uid'] == $_POST['sProcessUID']) {
$sTASKS = $aRow['uid'];
}
$i++;
}
//$aTask=($_POST['TASKS']!=0)?$oTask->load($_POST['TASKS']):0;
$aTask=($sTASKS!=0)?$oTask->load($sTASKS):0;
//$aTask['PRO_UID']=0;
if ( isset ( $_POST['SP_SYNCHRONOUS']) && $_POST['SP_SYNCHRONOUS'] == '' ) {
$_POST['SP_SYNCHRONOUS'] = '0';
}
if ( !isset ( $_POST['SP_SYNCHRONOUS']) ) {
$_POST['SP_SYNCHRONOUS'] = '0';
}
require_once 'classes/model/SubProcess.php';
$oOP = new SubProcess();
$aData = array('SP_UID' => $_POST['SP_UID'],//G::generateUniqueID(),
'PRO_UID' => $aTask['PRO_UID'],
'TAS_UID' => $sTASKS,
'PRO_PARENT' => $_POST['PRO_PARENT'],
'TAS_PARENT' => $_POST['TAS_PARENT'],
'SP_TYPE' => 'SIMPLE',
'SP_SYNCHRONOUS' => $_POST['SP_SYNCHRONOUS'],
'SP_SYNCHRONOUS_TYPE' => 'ALL',
'SP_SYNCHRONOUS_WAIT' => 0,
'SP_VARIABLES_OUT' => serialize($out),
'SP_VARIABLES_IN' => serialize($in),
'SP_GRID_IN' => '');
$oOP->update($aData);
require_once 'classes/model/Content.php';
$lang = defined ( 'SYS_LANG') ? SYS_LANG : 'en';
//$cont = Content::addContent( 'SP_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] );
$cont = Content::addContent( 'TAS_TITLE', '', $_POST['TAS_PARENT'], $lang, $_POST['SPROCESS_NAME'] );
break;
case 'subprocessProperties':
require_once 'classes/model/Content.php';
$lang = defined ( 'SYS_LANG') ? SYS_LANG : 'en';
//$cont = Content::addContent( 'SP_TITLE', '', $_POST['form']['SP_UID'], $lang, $_POST['form']['SPROCESS_NAME'] );
$cont = Content::addContent( 'TAS_TITLE', '', $_POST['TAS_PARENT'], $lang, $_POST['SPROCESS_NAME'] );
break;
case 'deleteTriggers':
try{
require_once('classes/model/Triggers.php');
require_once('classes/model/StepTrigger.php');
$TRI_UIDS = explode(',', $_POST['TRI_UID']);
foreach($TRI_UIDS as $i=>$TRI_UID) {
$oTrigger = new Triggers();
$triggerObj=$oTrigger->load($TRI_UID);
$oTrigger->remove($TRI_UID);
$oStepTrigger = new StepTrigger();
$oStepTrigger->removeTrigger($TRI_UID);
}
$result->success = true;
$result->message = G::LoadTranslation('ID_TRIGGERS_REMOVED');
}
catch (Exception $e) {
$result->success = false;
$result->message = $e->getMessage();
}
print G::json_encode($result);
break;
case 'getOutputDocsTemplates':
require_once 'classes/model/OutputDocument.php';
$ooutputDocument = new OutputDocument();
if (isset($_GET['OUT_DOC_UID'])) {
$rows = $ooutputDocument->load($_GET['OUT_DOC_UID']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
}
}
}
?>

View File

@@ -1,179 +0,0 @@
<?php
/*
Copyright (c) 2010, Andrew Rymarczyk
All rights reserved.
Redistribution and use in source and minified, compiled or otherwise obfuscated
form, with or without modification, are permitted provided that the following
conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in minified, compiled or otherwise obfuscated form must
reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//$save_path = PATH_DATA_MAILTEMPLATES . '4601910684c597eab4810e6037370402' . PATH_SEP ;
$save_path = $_SERVER['DOCUMENT_ROOT'].'/uploads/';
$valid_chars_regex = '.A-Z0-9_ !@#$%^&()+={}\[\]\',~`-'; // Characters allowed in the file name (in a Regular Expression format)
//$extension_whitelist = array('csv', 'gif', 'png','tif'); // Allowed file extensions
$MAX_FILENAME_LENGTH = 260;
$max_file_size_in_bytes = 2147483647; // 2GB in bytes
$upload_name = 'Filedata';
/*
This is an upload script for SWFUpload that attempts to properly handle uploaded files
in a secure way.
Notes:
SWFUpload doesn't send a MIME-TYPE. In my opinion this is ok since MIME-TYPE is no better than
file extension and is probably worse because it can vary from OS to OS and browser to browser (for the same file).
The best thing to do is content sniff the file but this can be resource intensive, is difficult, and can still be fooled or inaccurate.
Accepting uploads can never be 100% secure.
You can't guarantee that SWFUpload is really the source of the upload. A malicious user
will probably be uploading from a tool that sends invalid or false metadata about the file.
The script should properly handle this.
The script should not over-write existing files.
The script should strip away invalid characters from the file name or reject the file.
The script should not allow files to be saved that could then be executed on the webserver (such as .php files).
To keep things simple we will use an extension whitelist for allowed file extensions. Which files should be allowed
depends on your server configuration. The extension white-list is _not_ tied your SWFUpload file_types setting
For better security uploaded files should be stored outside the webserver's document root. Downloaded files
should be accessed via a download script that proxies from the file system to the webserver. This prevents
users from executing malicious uploaded files. It also gives the developer control over the outgoing mime-type,
access restrictions, etc. This, however, is outside the scope of this script.
SWFUpload sends each file as a separate POST rather than several files in a single post. This is a better
method in my opinions since it better handles file size limits, e.g., if post_max_size is 100 MB and I post two 60 MB files then
the post would fail (2x60MB = 120MB). In SWFupload each 60 MB is posted as separate post and we stay within the limits. This
also simplifies the upload script since we only have to handle a single file.
The script should properly handle situations where the post was too large or the posted file is larger than
our defined max. These values are not tied to your SWFUpload file_size_limit setting.
*/
// Check post_max_size (http://us3.php.net/manual/en/features.file-upload.php#73762)
$POST_MAX_SIZE = ini_get('post_max_size');
$unit = strtoupper(substr($POST_MAX_SIZE, -1));
$multiplier = ($unit == 'M' ? 1048576 : ($unit == 'K' ? 1024 : ($unit == 'G' ? 1073741824 : 1)));
if ((int)$_SERVER['CONTENT_LENGTH'] > $multiplier*(int)$POST_MAX_SIZE && $POST_MAX_SIZE) {
//header("HTTP/1.1 500 Internal Server Error"); // This will trigger an uploadError event in SWFUpload
//echo "POST exceeded maximum allowed size.";
HandleError('POST exceeded maximum allowed size.');
}
// Other variables
$file_name = '';
$file_extension = '';
$uploadErrors = array(
0=>'There is no error, the file uploaded with success',
1=>'The uploaded file exceeds the upload_max_filesize directive in php.ini',
2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
3=>'The uploaded file was only partially uploaded',
4=>'No file was uploaded',
6=>'Missing a temporary folder'
);
// Validate the upload
if (!isset($_FILES[$upload_name])) {
HandleError('No upload found in \$_FILES for ' . $upload_name);
} else if (isset($_FILES[$upload_name]["error"]) && $_FILES[$upload_name]["error"] != 0) {
HandleError($uploadErrors[$_FILES[$upload_name]["error"]]);
} else if (!isset($_FILES[$upload_name]["tmp_name"]) || !@is_uploaded_file($_FILES[$upload_name]["tmp_name"])) {
HandleError('Upload failed is_uploaded_file test.');
} else if (!isset($_FILES[$upload_name]['name'])) {
HandleError('File has no name.');
}
// Validate the file size (Warning: the largest files supported by this code is 2GB)
$file_size = @filesize($_FILES[$upload_name]["tmp_name"]);
if (!$file_size || $file_size > $max_file_size_in_bytes) {
HandleError('File exceeds the maximum allowed size');
}
if ($file_size <= 0) {
HandleError('File size outside allowed lower bound');
}
// Validate file name (for our purposes we'll just remove invalid characters)
$file_name = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES[$upload_name]['name']));
if (strlen($file_name) == 0 || strlen($file_name) > $MAX_FILENAME_LENGTH) {
HandleError('Invalid file name');
}
// Validate that we won't over-write an existing file
if (file_exists($save_path . $file_name)) {
HandleError('A file with this name already exists');
}
/*
// Validate file extension
$path_info = pathinfo($_FILES[$upload_name]['name']);
$file_extension = $path_info["extension"];
$is_valid_extension = false;
foreach ($extension_whitelist as $extension) {
if (strcasecmp($file_extension, $extension) == 0) {
$is_valid_extension = true;
break;
}
}
if (!$is_valid_extension) {
HandleError("Invalid file extension");
exit(0);
}
*/
// Validate file contents (extension and mime-type can't be trusted)
/*
Validating the file contents is OS and web server configuration dependant. Also, it may not be reliable.
See the comments on this page: http://us2.php.net/fileinfo
Also see http://72.14.253.104/search?q=cache:3YGZfcnKDrYJ:www.scanit.be/uploads/php-file-upload.pdf+php+file+command&hl=en&ct=clnk&cd=8&gl=us&client=firefox-a
which describes how a PHP script can be embedded within a GIF image file.
Therefore, no sample code will be provided here. Research the issue, decide how much security is
needed, and implement a solution that meets the needs.
*/
// Process the file
/*
At this point we are ready to process the valid file. This sample code shows how to save the file. Other tasks
could be done such as creating an entry in a database or generating a thumbnail.
Depending on your server OS and needs you may need to set the Security Permissions on the file after it has
been saved.
*/
if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_name)) {
HandleError("File could not be saved.");
}
die('{"success":true}');
/* Handles the error output. This error message will be sent to the uploadSuccess event handler. The event handler
will have to check for any error messages and react as needed. */
function HandleError($message) {
die('{success:false,error:'.G::json_encode($message).'}');
}
?>

View File

@@ -1,67 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['eid'] ) )
{
//Getting available Steps Criteria that have been not selected for a particular task
require_once "classes/model/Event.php";
$oEvent = new Event();
$oData = $oEvent->load($_GET['eid']);
$sch_uid = $oData['EVN_ACTION'];
if($sch_uid != '')
{
$rows = $oProcessMap->caseNewSchedulerList($sch_uid);
if($rows['SCH_OPTION'] == '3')
{
$sch_start_day = explode('|',$rows['SCH_START_DAY']);
$count = count($sch_start_day);
switch($count){
case 1:
$rows['SCH_START_DAY'] = $sch_start_day[0];
break;
case 2:
$rows['SCH_START_DAY'] = $sch_start_day[0];
$rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1];
break;
case 3:
$rows['SCH_START_DAY'] = $sch_start_day[0];
$rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1];
$rows['SCH_START_DAY_OPT_2_DAYS_WEEK'] = $sch_start_day[2];
break;
}
}
if($rows['SCH_START_DATE'] != '')
{
$sch_str_dt = explode(' ',$rows['SCH_START_DATE']);
$rows['SCH_START_DATE'] = $sch_str_dt[0];
}
if($rows['SCH_END_DATE'] != '')
{
$sch_str_dt = explode(' ',$rows['SCH_END_DATE']);
$rows['SCH_END_DATE'] = $sch_str_dt[0];
}
$result = G::json_encode( $rows ) ;
$result = str_replace("\\/","/",'{success:true,data:'.$result.'}'); // unescape the slashes
}
else
{
$result = '{failure:true}'; // unescape the slashes
}
echo $result;
}
//print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,18 +0,0 @@
<?php
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if (isset($_GET['pid'] ))
{
$rows = $oProcessMap->getExtCaseTrackerObjectsCriteria($_GET['pid']);
}
if (isset($_GET['tid'] ))
{
$rows = $oProcessMap->getAvailableExtCaseTrackerObjects($_GET['tid']);
}
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode($result);
?>

View File

@@ -1,27 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid']) )
{
$rows = $oProcessMap->getExtCriteriaDBSList($_GET['pid']);
}
if(isset($_GET['tid']))
{
require_once 'classes/model/DbSource.php';
$o = new DbSource();
$rows = $o->load($_GET['tid']);
}
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,37 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) )
{
//Getting Dynaform List
$rows = $oProcessMap->getExtDynaformsList($_GET['pid']);
array_shift($rows);
}
else if(isset($_GET['tabId'])){
$oAdditionalTables = new AdditionalTables();
$aData = $oAdditionalTables->load($_GET['tabId'], true);
$addTabName = $aData['ADD_TAB_NAME'];
foreach ($aData['FIELDS'] as $iRow => $aRow) {
if ($aRow['FLD_KEY'] == 1) {
$rows[] = $aRow;
}
}
}
//Getting Additional PM tables list created by user for combobox
else
{
//Getting Dynaform List
$rows = $oProcessMap->getExtAdditionalTablesList();
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}

View File

@@ -1,27 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['startInterId'] ) )
{
//Getting available Steps Criteria that have been not selected for a particular task
require_once "classes/model/Event.php";
$oEvent = new Event();
$aRows = $oEvent->load($_GET['startInterId']);
//$sch_uid = $oData['EVN_ACTION'];
$result = G::json_encode( $aRows );
$result = str_replace("\\/","/",'{success:true,data:'.$result.'}'); // unescape the slashes
/*else
{
$result = '{failure:true}'; // unescape the slashes
}*/
echo $result;
}
//print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,454 +0,0 @@
<?php
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
//$_GET['sid'] gets STEP_UID and sTYPE(i.e BEFORE and AFTER) in format STEP_UID-sTYPE
if(isset($_GET['stepid'])){
$aStepTypeId = explode('|',$_GET['stepid']);
$_SESSION['stepUID'] = $_GET['stepid'];
//$aStepTypeId = explode('-','2517180104cd42c25cc39e4071099227-BEFORE');
$sStep = $aStepTypeId[0];
$sType = $aStepTypeId[1];
}
//$_GET['sid'] gets STEP_UID and sTYPE(i.e BEFORE and AFTER) in format STEP_UID-sTYPE
if(isset($_GET['stepid'])){
$aStepTypeId = explode('|',$_GET['stepid']);
$_SESSION['stepUID'] = $_GET['stepid'];
//$aStepTypeId = explode('-','2517180104cd42c25cc39e4071099227-BEFORE');
$sStep = $aStepTypeId[0];
$sType = $aStepTypeId[1];
}
$start = isset($_POST['start'])? $_POST['start']: 0;
$limit = isset($_POST['limit'])? $_POST['limit']: '';
switch( $_GET['action'] ) {
case 'getDynaformList' :
$result = $oProcessMap->getExtDynaformsList($start, $limit, $_GET['pid']);
print G::json_encode( $result ) ;
break;
case 'getPMTableDynaform':
$oAdditionalTables = new AdditionalTables();
$aData = $oAdditionalTables->load($_GET['tabId'], true);
$addTabName = $aData['ADD_TAB_NAME'];
foreach ($aData['FIELDS'] as $iRow => $aRow)
{
if ($aRow['FLD_KEY'] == 1)
{
$rows[] = $aRow;
}
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAdditionalTables':
$rows = $oProcessMap->getExtAdditionalTablesList();
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getInputDocumentList':
$rows = $oProcessMap->getExtInputDocumentsCriteria($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllInputDocumentCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'editInputDocument':
require_once 'classes/model/InputDocument.php';
$oInputDocument = new InputDocument();
$rows = $oInputDocument->load($_GET['INP_DOC_UID']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getOutputDocument':
$rows = $oProcessMap->getExtOutputDocumentsCriteria($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllOutputDocumentCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'editObjectPermission':
$rows = $oProcessMap->editExtObjectPermission($_GET['pid'],$_GET['op_uid']);
//array_shift($rows);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'editOutputDocument':
require_once 'classes/model/OutputDocument.php';
$oOutputDocument = new OutputDocument();
$rows = $oOutputDocument->load($_GET['tid']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getReportTables':
$rows = $oProcessMap->getExtReportTables($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllReportTableCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'editReportTables':
require_once 'classes/model/ReportTable.php';
$oReportTable = new ReportTable();
$rows = $oReportTable->load($_GET['REP_TAB_UID'],$_GET['pid']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getReportTableType':
if(isset($_GET['pid']) && $_GET['type'] == 'NORMAL')
{
$aTheFields = array();
$aTheFields = getDynaformsVars($_GET['pid'], false);
foreach ($aTheFields as $aField)
{
$rows[] = array('FIELD_UID' => $aField['sName'] . '-' . $aField['sType'],
'FIELD_NAME' => $aField['sName']);
}
}
else if (isset($_GET['pid']) && $_GET['type'] == 'GRID')
{
$aTheFields = array();
$aTheFields = getGridsVars($_GET['pid']);
foreach ($aTheFields as $aField)
{
$rows[] = array('FIELD_UID' => $aField['sName'] . '-' . $aField['sXmlForm'],
'FIELD_NAME' => $aField['sName']);
}
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getDatabaseConnectionList':
$rows = $oProcessMap->getExtCriteriaDBSList($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllDbSourceCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'editDatabaseConnection':
require_once 'classes/model/DbSource.php';
$o = new DbSource();
$rows = $o->load($_GET['dbs_uid'],$_GET['pid']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'process_Supervisors':
$rows = $oProcessMap->listExtProcessesSupervisors($start, $limit, $_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllProcessSupervisorsCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'availableProcessesSupervisors':
$rows = $oProcessMap->listExtNoProcessesUser($_GET['pid']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'supervisorDynaforms':
$rows = $oProcessMap->getExtSupervisorDynaformsList($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllSupervisorDynaformsCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'availableSupervisorDynaforms':
$rows = $oProcessMap->getExtAvailableSupervisorDynaformsList($_GET['pid']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'supervisorInputDoc':
$rows = $oProcessMap->getExtSupervisorInputsList($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllSupervisorInputsCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'availableSupervisorInputDoc':
$rows = $oProcessMap->getExtAvailableSupervisorInputsList($_GET['pid']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAssignedCaseTrackerObjects':
$rows = $oProcessMap->getExtCaseTrackerObjectsCriteria($start, $limit, $_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllCaseTrackerObjectCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAvailableCaseTrackerObjects':
$rows = $oProcessMap->getAvailableExtCaseTrackerObjects($_GET['pid']);
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAvailableSteps':
$rows = $oProcessMap->getExtAvailableBBCriteria($_GET['pid'], $_GET['tid']);
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAssignedSteps':
$rows = $oProcessMap->getExtStepsCriteria($start, $limit,$_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllStepCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAssignedUsersList':
$rows = $oProcessMap->usersExtList($start, $limit, $_GET['pid'], $_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllTaskUserCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAvailableUsersList':
$rows = $oProcessMap->getAvailableExtUsersCriteria($_GET['tid']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAvailableStepTriggers':
$aStepTypeId = explode('|',$_SESSION['stepUID']);
$sStep = $aStepTypeId[0];
$sType = $aStepTypeId[1];
//Getting available Steps Criteria that have been not selected for a particular task
$rows = $oProcessMap->getExtAvailableStepTriggersCriteria($_GET['pid'], $sStep, $_GET['tid'], $sType);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getAssignedStepTriggers':
$rows = $oProcessMap->getExtStepTriggersCriteria($start, $limit, $sStep, $_GET['tid'], $sType);
$result['totalCount'] = $oProcessMap->getAllStepTriggerCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'availableUsers':
$rows = $oProcessMap->getExtAvailableUsersList($_GET['tid']);
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'assignedUsers':
$rows = $oProcessMap->getExtusersadhoc($start, $limit,$_GET['pid'], $_GET['tid']);
$result['totalCount'] = $oProcessMap->getAllTaskUserCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getTaskPropertiesList':
require_once 'classes/model/Task.php';
$oTask = new Task();
$rows = $oTask->load($_GET['tid']);
while (list($key, $value) = each($rows)) {
if ($value == 'TRUE')
$rows[$key] = true;
else if($value == 'FALSE')
$rows[$key] = false;
if($key == 'TAS_TYPE_DAY' && $value == '1')
$rows[$key] = 'Work Days';
else if($key == 'TAS_TYPE_DAY' && $value == '2')
$rows[$key] = 'Calendar Days';
if($key == 'TAS_TYPE' && $value == 'NORMAL')
$rows[$key] = false;
else if($key == 'TAS_TYPE' && $value == 'ADHOC')
$rows[$key] = true;
}
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getSubProcessProperties':
if($_GET['type'] == 2) //Loading sub process details
{
$rows = $oProcessMap->subProcessExtProperties($_GET['pid'], $_GET['tid'],'','0');
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
print $result;
}
else
{
$rows = $oProcessMap->subProcessExtProperties($_GET['pid'], $_GET['tid'],'',$_GET['type']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
break;
case 'getObjectPermission':
$rows = $oProcessMap->getExtObjectsPermissions($start, $limit,$_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllObjectPermissionCount();
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'getObjectPermissionType':
$rows = $oProcessMap->newExtObjectPermission($_GET['pid'],$_GET['objectType']);
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'process_Edit':
$rows = $oProcessMap->editProcessNew($_GET['pid']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getTriggersList':
$rows = $oProcessMap->getExtTriggersList($start, $limit, $_GET['pid']);
$result['totalCount'] = $oProcessMap->getAllTriggersCount();
array_shift($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
break;
case 'editTriggers':
require_once('classes/model/Triggers.php');
if (isset($_GET['TRI_UID']))
{
$oTrigger = new Triggers();
$rows = $oTrigger->load($_GET['TRI_UID']);
}
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getCaseTracker':
//$rows = $oProcessMap->caseTracker($_GET['pid']);
$oCaseTracker = new CaseTracker ( );
$rows = $oCaseTracker->load($_GET['pid']);
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
break;
case 'getVariables':
$aFields = getDynaformsVars($_GET['pid']);
if(isset ($_GET['type']))
$aType = $_GET['type'];
else $aType='';
$rows[0] = Array (
'fieldname' => 'char',
'variable' => 'char',
'type' => 'type',
'label' => 'char'
);
foreach ( $aFields as $aField ) {
switch ($aType){
case "system":
if($aField['sType']=="system"){
$rows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
}
break;
case "process":
if($aField['sType']!="system"){
$rows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
}
break;
default:
$rows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
break;
}
}
array_shift($rows);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode($result);
break;
}
//$result['data'] = $rows;
//print G::json_encode( $result ) ;
/*$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;*/

View File

@@ -1,30 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) )
{
$rows = $oProcessMap->getExtInputDocumentsCriteria($_GET['pid']);
array_shift($rows);
}
if (isset($_GET['INP_DOC_UID'])) {
require_once 'classes/model/InputDocument.php';
$oInputDocument = new InputDocument();
$rows = $oInputDocument->load($_GET['INP_DOC_UID']);
}
// $result['totalCount'] = count($rows);
// $result['data'] = $rows;
// print G::json_encode( $result) ;
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}

View File

@@ -1,18 +0,0 @@
<?php
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) && !isset($_GET ['action']))
{
$rows = $oProcessMap->getExtObjectsPermissions($_GET['pid']);
}
if ( isset($_GET['pid'] )&& isset($_GET['action']) )
{
$rows = $oProcessMap->newExtObjectPermission($_GET['pid'],$_GET['action']);
array_shift($rows);
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode($result);
?>

View File

@@ -1,36 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) )
{
$rows = $oProcessMap->getExtOutputDocumentsCriteria($_GET['pid']);
array_shift($rows);
}
// else
// {
// $rows = $oProcessMap->getExtInputDocumentsCriteria($_GET['pid']);
// }
if (isset($_GET['tid']))
{
require_once 'classes/model/OutputDocument.php';
$oOutputDocument = new OutputDocument();
$rows = $oOutputDocument->load($_GET['tid']);
}
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
/* $result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result) ;*/
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}

View File

@@ -1,40 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
$processUID = $_GET['pid'];
$action = $_GET['action'];
switch($action)
{
case 'process_User':
$rows = $oProcessMap->listExtProcessesUser($processUID);
break;
case 'availableProcessesUser':
$rows = $oProcessMap->listExtNoProcessesUser($processUID);
break;
case 'supervisorDynaforms':
$rows = $oProcessMap->getExtSupervisorDynaformsList($processUID);
break;
case 'availableSupervisorDynaforms':
$rows = $oProcessMap->getExtAvailableSupervisorDynaformsList($processUID);
break;
case 'supervisorInputDoc':
$rows = $oProcessMap->getExtSupervisorInputsList($processUID);
break;
case 'availableSupervisorInputDoc':
$rows = $oProcessMap->getExtAvailableSupervisorInputsList($processUID);
break;
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,58 +0,0 @@
<?php
/**
* processes_Export.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
G::LoadThirdParty('pear/json','class.json');
try {
if ( isset($_GET['pro_uid']))
$sProUid = $_GET['pro_uid'];
else
throw ( new Exception ( 'the process uid is not defined!.' ) );
/* Includes */
G::LoadClass('processes');
$oProcess = new Processes();
$proFields = $oProcess->serializeProcess( $sProUid );
$Fields = $oProcess->saveSerializedProcess ( $proFields );
if (G::is_https ())
$http = 'https://';
else
$http = 'http://';
$Fields['FILENAME_LINK'] = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/processes/' . $Fields['FILENAME_LINK'];
$result = G::json_encode( $Fields );
$result = str_replace("\\/","/",'{success:true,data:'.$result.'}'); // unescape the slashes
echo $result;
}
catch ( Exception $e ){
$G_PUBLISH = new Publisher;
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage('publish', 'raw' );
}

View File

@@ -1,45 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if(isset($_GET['pid']) && !isset($_GET['type'])){
$rows = $oProcessMap->getExtReportTables($_GET['pid']);
}
else if(isset($_GET['pid']) && $_GET['type'] == 'NORMAL')
{
$aTheFields = array();
$aTheFields = getDynaformsVars($_GET['pid'], false);
foreach ($aTheFields as $aField) {
$rows[] = array('FIELD_UID' => $aField['sName'] . '-' . $aField['sType'],
'FIELD_NAME' => $aField['sName']);
}
}
else if(isset($_GET['pid']) && $_GET['type'] == 'GRID'){
$aTheFields = array();
$aTheFields = getGridsVars($_GET['pid']);
foreach ($aTheFields as $aField) {
$rows[] = array('FIELD_UID' => $aField['sName'] . '-' . $aField['sXmlForm'],
'FIELD_NAME' => $aField['sName']);
}
}
if(isset($_GET['tid']))
{
require_once 'classes/model/ReportTable.php';
$o = new ReportTable();
$rows = $o->load($_GET['tid']);
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,40 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
//$_GET['sid'] gets STEP_UID and sTYPE(i.e BEFORE and AFTER) in format STEP_UID-sTYPE
if(isset($_GET['stepid']))
{
$aStepTypeId = explode('|',$_GET['stepid']);
$_SESSION['stepUID'] = $_GET['stepid'];
//$aStepTypeId = explode('-','2517180104cd42c25cc39e4071099227-BEFORE');
$sStep = $aStepTypeId[0];
$sType = $aStepTypeId[1];
}
if (isset($_GET['pid'] ) && isset($_SESSION['stepUID']))
{
$aStepTypeId = explode('|',$_SESSION['stepUID']);
$sStep = $aStepTypeId[0];
$sType = $aStepTypeId[1];
//Getting available Steps Criteria that have been not selected for a particular task
$rows = $oProcessMap->getExtAvailableStepTriggersCriteria($_GET['pid'], $sStep, $_GET['tid'], $sType);
}
else
{
//Getting all Steps Criteria that have been selected for a particular task
$rows = $oProcessMap->getExtStepTriggersCriteria($sStep, $_GET['tid'], $sType);
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,31 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
//array_shift($rows);
if($_GET['type'] == 2) //Loading sub process details
{
$rows = $oProcessMap->subProcessExtProperties($_GET['pid'], $_GET['tid'],'','0');
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
print $result;
}
else
{
$rows = $oProcessMap->subProcessExtProperties($_GET['pid'], $_GET['tid'],'',$_GET['type']);
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,64 +0,0 @@
<?php
try
{
require_once 'classes/model/Task.php';
$oTask = new Task();
$rows = $oTask->load($_GET['tid']);
while (list($key, $value) = each($rows)) {
if ($value == 'TRUE')
$rows[$key] = true;
else if($value == 'FALSE')
$rows[$key] = false;
if($key == 'TAS_TYPE_DAY' && $value == '1')
$rows[$key] = 'Work Days';
else if($key == 'TAS_TYPE_DAY' && $value == '2')
$rows[$key] = 'Calendar Days';
if($key == 'TAS_ASSIGN_TYPE')
{
switch($value)
{
case 'SELF_SERVICE':
$rows[$value] = 'true';
break;
case 'REPORT_TO':
$rows[$value] = 'true';
break;
case 'BALANCED':
$rows[$value] = 'true';
break;
case 'MANUAL':
$rows[$value] = 'true';
break;
case 'EVALUATE':
$rows[$value] = 'true';
$rows['hideEvaluateField'] = 'false';
break;
case 'STATIC_MI':
$rows[$value] = 'true';
$rows['hidePartialJoinField'] = 'false';
break;
case 'CANCEL_MI':
$rows[$value] = 'true';
$rows['hidePartialJoinField'] = 'false';
break;
}
}
}
$tmpData = G::json_encode( $rows ) ;
$tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes
$result = $tmpData;
echo $result;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,28 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) )
{
//Getting available Steps Criteria that have been not selected for a particular task
$rows = $oProcessMap->getExtAvailableBBCriteria($_GET['pid'], $_GET['tid']);
array_shift($rows);
}
else
{
//Getting all Steps Criteria that have been selected for a particular task
$rows = $oProcessMap->getExtStepsCriteria($_GET['tid']);
array_shift($rows);
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,24 +0,0 @@
<?php
try
{
G::LoadClass('processMap');
$oProcessMap = new processMap(new DBConnection);
if ( isset($_GET['pid'] ) )
{
$rows = $oProcessMap->usersExtList($_GET['pid'], $_GET['tid']);
array_shift($rows);
}
else
{
$rows = $oProcessMap->getAvailableExtUsersCriteria($_GET['tid']);
}
$result['totalCount'] = count($rows);
$result['data'] = $rows;
print G::json_encode( $result ) ;
}
catch ( Exception $e ) {
print G::json_encode ( $e->getMessage() );
}
?>

View File

@@ -1,60 +0,0 @@
<?php
G::LoadClass('processMap');
G::LoadClass('XmlForm_Field');
//$oXMLfield = new XmlForm_Field_TextPM(new DBConnection);
$aFields = getDynaformsVars($_GET['pid']);
if(isset ($_GET['type']))
$aType = $_GET['type'];
else $aType='';
$aRows[0] = Array (
'fieldname' => 'char',
'variable' => 'char',
'type' => 'type',
'label' => 'char'
);
foreach ( $aFields as $aField ) {
switch ($aType){
case "system":
if($aField['sType']=="system"){
$aRows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
}
break;
case "process":
if($aField['sType']!="system"){
$aRows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
}
break;
default:
$aRows[] = Array (
'fieldname' => $_GET['sFieldName'],
'variable' => $_GET['sSymbol'] . $aField['sName'],
'variable_label' => '<div class="pm__dynavars"> <a id="dynalink" href=# onclick="insertFormVar(\''.$_GET['sFieldName'].'\',\''.$_GET['sSymbol'] . $aField['sName'].'\');">'.$_GET['sSymbol'] . $aField['sName'].'</a></div>',
'type' => $aField['sType'],
'label' => $aField['sLabel']
);
break;
}
}
array_shift($aRows);
$result['totalCount'] = count($aRows);
$result['data'] = $aRows;
print G::json_encode($result);
?>

View File

@@ -1,136 +0,0 @@
<?php
/**
* saveProcess.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
try{
G::LoadClass('xpdl');
G::LoadClass('processMap');
G::LoadClass('tasks');
$oProcessMap = new processMap(new DBConnection);
$oProcess = new Xpdl();
$oTask = new Task();
if(isset($_POST['PRO_UID'])){
$idProcess = $_POST['PRO_UID'];
if($oProcess->processExists ($idProcess)){
$process['ID'] = $idProcess;
}
else{
$result = array();
$result['status_code'] = $idProcess;
$result['message'] = "the process does not exist";
$result['timestamp'] = date('Y-m-d H:i:s');
echo G::json_encode($result);
die;
}
}
else{
$result = array();
$result['status_code'] = 1;
$result['message'] = "you don't send the process uid";
$result['timestamp'] = date('Y-m-d H:i:s');
echo G::json_encode($result);
die;
}
$aTasks = G::json_decode ( $_POST['tasks'] );
$aRoutes = G::json_decode ( $_POST['routes'] );
$aEvents = G::json_decode ( $_POST['events'] );
$aGateways = G::json_decode ( $_POST['gateways'] );
$aAnnotations = G::json_decode ( $_POST['annotations'] );
$aSubprocess = G::json_decode ( $_POST['subprocess'] );
$fields = $oProcess->serializeProcess($idProcess);
$oData = unserialize($fields);
$aRoutes = $oProcess->super_unique($aRoutes);
$sOutput = '';
$subProcesses = array();
foreach($aTasks as $endBase => $valueEnd){
$tasks['ID_TASK'] = $valueEnd['0'];
$tasks['START'] = '';
foreach($aEvents as $id => $value){
if($value['1'] == 'bpmnEventEmptyStart' or $value['1'] == 'bpmnEventMessageStart' or $value['1'] == 'bpmnEventTimerStart' ){
foreach($aRoutes as $endR => $valueR){
if($tasks['ID_TASK'] == $valueR['2'] and $valueR['1'] == $value['0'] ){
$tasks['START'] = 'TRUE';
unset($aEvents[$id]);
unset($aRoutes[$endR]);
}
}
}
}
if( $tasks['START'] == ''){
$tasks['START'] = 'FALSE';
}
$tasks['TAS_TITLE'] = $valueEnd['1'];
$tasks['X'] = $valueEnd['2'];
$tasks['Y'] = $valueEnd['3'];
$tasks['TAS_TYPE'] = $valueEnd['6'];
$tasks['ID_PROCESS'] = $idProcess;
//$tasks['TASK_TYPE'] = 'NORMAL';
$tasks['DESCRIPTION']= '';
$oData->tasks[]= $oProcess->createDataTask($tasks);
}
$endArray = array();
$endArray = $oProcess->convertArrayEnd($aEvents,$idProcess);
$oData->lanes = $oProcess->createLanesPM($aAnnotations,$idProcess);
$transitions = $oProcess->createArrayRoutes($oData->tasks,$aRoutes,$aEvents,$aGateways,$aEvents,$idProcess);
$oData->routes = $transitions['ROUTES'];
$routeTransitions = $transitions['TRANSITIONS'];
$numberRoutes = $transitions['NUMBER'];
$oData->tasks = $transitions['TASKS'];
$taskHidden = $transitions['HIDDEN'];
foreach($aSubprocess as $key => $value){
//print_R($value['0']);
//$sOutput = $oTask->remove($value['0']);
$sOutput = $oProcessMap->addSubProcess($idProcess,$value['2'],$value['3']);
/*$subProcess[$key]['ID_PROCESS'] = $idProcess;
$subProcess[$key]['TAS_TITLE'] = $idProcess;
$subProcess[$key]['ID_TASK'] = $value['0'];
$subProcess[$key]['TAS_UID'] = $value['0'];
$subProcess[$key]['TASK_PARENT'] = '';
$subProcess[$key]['PROCESS_PARENT'] = '';
$subProcess[$key]['TASK_TYPE'] = 'SUBPROCESS';
$subProcess[$key]['DESCRIPTION'] = '';
$subProcess[$key]['X'] = $value['2'];
$subProcess[$key]['Y'] = $value['3'];
print_R($subProcess[$key]);
$subProcesses[] = $oProcess->createSubProcess($subProcess);
$oData->tasks[] = $oProcess->createTask($subProcess[$key]);*/
}
$numberTransitions = sizeof($routeTransitions);
if($numberTransitions > 0){
$routesArray = $oProcess->createGateways($routeTransitions,$endArray,$oData->routes,$numberRoutes,$idProcess,$taskHidden);
$oData->routes = $routesArray;
}
$oProcess->updateProcessFromDataXpdl($oData,$oData->tasks);
$result->success = true;
$result->msg = G::LoadTranslation('ID_PROCESS_SAVE_SUCCESS');
} catch (Exception $e) {
$result->success = false;
$result->msg = $e->getMessage();
}
print G::json_encode($result);

View File

@@ -76,6 +76,16 @@ if (isset($_GET["id"]) && isset($_GET["id"])) {
} }
} }
$oServerConf =& serverConf::getSingleton();
if ($oServerConf->isRtl(SYS_LANG)) {
$regionTreePanel = 'east';
$regionDebug = 'west';
} else {
$regionTreePanel = 'west';
$regionDebug = 'east';
}
$oHeadPublisher->assign('regionTreePanel', $regionTreePanel);
$oHeadPublisher->assign('regionDebug', $regionDebug);
$oHeadPublisher->assign("defaultOption", $defaultOption); //User menu permissions $oHeadPublisher->assign("defaultOption", $defaultOption); //User menu permissions
$oHeadPublisher->assign("_nodeId", isset($confDefaultOption)? $confDefaultOption : "PM_USERS"); //User menu permissions $oHeadPublisher->assign("_nodeId", isset($confDefaultOption)? $confDefaultOption : "PM_USERS"); //User menu permissions
$oHeadPublisher->assign("FORMATS", $conf->getFormats()); $oHeadPublisher->assign("FORMATS", $conf->getFormats());

View File

@@ -24,36 +24,39 @@ require_once 'classes/model/UsersProperties.php';
$oUserProperty = new UsersProperties(); $oUserProperty = new UsersProperties();
$aUserProperty = $oUserProperty->load($_SESSION['USER_LOGGED']); $aUserProperty = $oUserProperty->load($_SESSION['USER_LOGGED']);
$aHistory = unserialize($aUserProperty['USR_PASSWORD_HISTORY']); $aHistory = unserialize($aUserProperty['USR_PASSWORD_HISTORY']);
if (!is_array($aHistory)) { if (!is_array($aHistory)) {
$aHistory = array(); $aHistory = array();
} }
if (!defined('PPP_PASSWORD_HISTORY')) { if (!defined('PPP_PASSWORD_HISTORY')) {
define('PPP_PASSWORD_HISTORY', 0); define('PPP_PASSWORD_HISTORY', 0);
} }
if (PPP_PASSWORD_HISTORY > 0) { if (PPP_PASSWORD_HISTORY > 0) {
if (count($aHistory) >= PPP_PASSWORD_HISTORY) { if (count($aHistory) >= PPP_PASSWORD_HISTORY) {
array_shift($aHistory); array_shift($aHistory);
} }
$aHistory[] = $_POST['form']['USR_PASSWORD']; $aHistory[] = $_POST['form']['USR_PASSWORD'];
} }
$aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s'); $aUserProperty['USR_LAST_UPDATE_DATE'] = date('Y-m-d H:i:s');
$aUserProperty['USR_LOGGED_NEXT_TIME'] = 0; $aUserProperty['USR_LOGGED_NEXT_TIME'] = 0;
$aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory); $aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory);
$oUserProperty->update($aUserProperty); $oUserProperty->update($aUserProperty);
if (class_exists('redirectDetail')) { if (class_exists('redirectDetail')) {
//falta validar... //falta validar...
if(isset($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE'])) if (isset($RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE'])) {
$userRole = $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE']; $userRole = $RBAC->aUserInfo['PROCESSMAKER']['ROLE']['ROL_CODE'];
}
$oPluginRegistry = &PMPluginRegistry::getSingleton(); $oPluginRegistry = &PMPluginRegistry::getSingleton();
//$oPluginRegistry->showArrays(); //$oPluginRegistry->showArrays();
$aRedirectLogin = $oPluginRegistry->getRedirectLogins(); $aRedirectLogin = $oPluginRegistry->getRedirectLogins();
if(isset($aRedirectLogin)) if (isset($aRedirectLogin)) {
{ if(is_array($aRedirectLogin)) if (is_array($aRedirectLogin)) {
{
foreach ($aRedirectLogin as $key => $detail) { foreach ($aRedirectLogin as $key => $detail) {
if(isset($detail->sPathMethod)) if (isset($detail->sPathMethod)) {
{
if ($detail->sRoleCode == $userRole) { if ($detail->sRoleCode == $userRole) {
G::header('location: /sys' . SYS_TEMP . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $detail->sPathMethod ); G::header('location: /sys' . SYS_TEMP . '/' . SYS_LANG . '/' . SYS_SKIN . '/' . $detail->sPathMethod );
die; die;
@@ -65,17 +68,14 @@ if ( class_exists('redirectDetail')) {
} }
//end plugin //end plugin
if (isset($frm['USER_LANG'])) { if (isset($frm['USER_LANG'])) {
if ($frm['USER_LANG'] != '') { if ($frm['USER_LANG'] != '') {
$lang = $frm['USER_LANG']; $lang = $frm['USER_LANG'];
} }
} } else {
else {
if (defined('SYS_LANG')) { if (defined('SYS_LANG')) {
$lang = SYS_LANG; $lang = SYS_LANG;
} } else {
else {
$lang = 'en'; $lang = 'en';
} }
} }
@@ -83,4 +83,3 @@ if ( class_exists('redirectDetail')) {
G::header('Location: ' . $sLocation); G::header('Location: ' . $sLocation);
die; die;
?>

View File

@@ -24,14 +24,17 @@
* *
*/ */
function lookup( $target ) { function lookup ($target)
{
global $ntarget; global $ntarget;
$msg = $target . ' => '; $msg = $target . ' => ';
//if (eregi ( '[a-zA-Z]', $target )) //if (eregi ( '[a-zA-Z]', $target ))
if (preg_match( '[a-zA-Z]', $target )) //Made compatible to PHP 5.3 if (preg_match( '[a-zA-Z]', $target )) {
//Made compatible to PHP 5.3
$ntarget = gethostbyname ( $target ); $ntarget = gethostbyname ( $target );
else } else {
$ntarget = gethostbyaddr ( $target ); $ntarget = gethostbyaddr ( $target );
}
$msg .= $ntarget; $msg .= $ntarget;
return ($msg); return ($msg);
} }
@@ -40,12 +43,10 @@ G::LoadClass("system");
if (getenv ( 'HTTP_CLIENT_IP' )) { if (getenv ( 'HTTP_CLIENT_IP' )) {
$ip = getenv ( 'HTTP_CLIENT_IP' ); $ip = getenv ( 'HTTP_CLIENT_IP' );
} } else {
else {
if (getenv ( 'HTTP_X_FORWARDED_FOR' )) { if (getenv ( 'HTTP_X_FORWARDED_FOR' )) {
$ip = getenv ( 'HTTP_X_FORWARDED_FOR' ); $ip = getenv ( 'HTTP_X_FORWARDED_FOR' );
} } else {
else {
$ip = getenv ( 'REMOTE_ADDR' ); $ip = getenv ( 'REMOTE_ADDR' );
} }
} }
@@ -64,21 +65,17 @@ if (defined ( "DB_HOST" )) {
G::LoadClass ( 'dbConnections' ); G::LoadClass ( 'dbConnections' );
$dbNetView = new NET ( DB_HOST ); $dbNetView = new NET ( DB_HOST );
$dbNetView->loginDbServer ( DB_USER, DB_PASS ); $dbNetView->loginDbServer ( DB_USER, DB_PASS );
$dbConns = new dbConnections ( '' ); $dbConns = new dbConnections ( '' );
$availdb = ''; $availdb = '';
foreach ($dbConns->getDbServicesAvailables () as $key => $val) { foreach ($dbConns->getDbServicesAvailables () as $key => $val) {
if ($availdb != '') if ($availdb != '') {
$availdb .= ', '; $availdb .= ', ';
}
$availdb .= $val ['name']; $availdb .= $val ['name'];
} }
try { try {
$sMySQLVersion = $dbNetView->getDbServerVersion ( DB_ADAPTER ); $sMySQLVersion = $dbNetView->getDbServerVersion ( DB_ADAPTER );
} catch (Exception $oException) {
}
catch ( Exception $oException ) {
$sMySQLVersion = '?????'; $sMySQLVersion = '?????';
} }
} }
@@ -89,8 +86,7 @@ if (defined ( "DB_HOST" )) {
$Fields ['DATABASE_SERVER'] = DB_HOST; $Fields ['DATABASE_SERVER'] = DB_HOST;
$Fields ['DATABASE_NAME'] = DB_NAME; $Fields ['DATABASE_NAME'] = DB_NAME;
$Fields ['AVAILABLE_DB'] = $availdb; $Fields ['AVAILABLE_DB'] = $availdb;
} } else {
else {
$Fields ['DATABASE'] = "Not defined"; $Fields ['DATABASE'] = "Not defined";
$Fields ['DATABASE_SERVER'] = "Not defined"; $Fields ['DATABASE_SERVER'] = "Not defined";
$Fields ['DATABASE_NAME'] = "Not defined"; $Fields ['DATABASE_NAME'] = "Not defined";
@@ -118,3 +114,4 @@ if (! defined ( 'SKIP_RENDER_SYSTEM_INFORMATION' )) {
$G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'login/dbInfo', '', $Fields, 'appNew2' ); $G_PUBLISH->AddContent ( 'xmlform', 'xmlform', 'login/dbInfo', '', $Fields, 'appNew2' );
G::RenderPage ( 'publish', 'raw' ); G::RenderPage ( 'publish', 'raw' );
} }

View File

@@ -23,7 +23,6 @@
* *
*/ */
try { try {
G::LoadInclude ( 'ajax' ); G::LoadInclude ( 'ajax' );
if (isset ( $_POST ['form'] )) { if (isset ( $_POST ['form'] )) {
$_POST = $_POST ['form']; $_POST = $_POST ['form'];
@@ -38,13 +37,11 @@ try {
$aData ['PRO_UID'] = ''; $aData ['PRO_UID'] = '';
$aData ['USR_UID'] = ''; $aData ['USR_UID'] = '';
$aData ['APP_UID'] = ''; $aData ['APP_UID'] = '';
$oConfig = new Configuration ( ); $oConfig = new Configuration ( );
$oConfig->create ( $aData ); $oConfig->create ( $aData );
break; break;
} }
} } catch ( Exception $oException ) {
catch ( Exception $oException ) {
die ( $oException->getMessage () ); die ( $oException->getMessage () );
} }

View File

@@ -30,7 +30,7 @@ $G_SUB_MENU = "empty";
$referer = $_SERVER ['HTTP_REFERER']; $referer = $_SERVER ['HTTP_REFERER'];
$dbc = new DBConnection ( ); $dbc = new DBConnection ( );
$G_PUBLISH = new Publisher ( ); $G_PUBLISH = new Publisher ( );
$G_PUBLISH->AddContent ( "xmlform", "xmlform", "login/noViewPage", "", NULL ); $G_PUBLISH->AddContent ( "xmlform", "xmlform", "login/noViewPage", "", null );
G::RenderPage ( "publish" ); G::RenderPage ( "publish" );
?>

View File

@@ -77,6 +77,7 @@ if($userData['USR_EMAIL'] != '' && $userData['USR_EMAIL'] === $data['USR_EMAIL']
$passwd = implode('', $auxPass); $passwd = implode('', $auxPass);
} }
} }
$oSpool->config['MESS_PASSWORD'] = $passwd; $oSpool->config['MESS_PASSWORD'] = $passwd;
$oSpool->create(array( $oSpool->create(array(
@@ -97,55 +98,21 @@ if($userData['USR_EMAIL'] != '' && $userData['USR_EMAIL'] === $data['USR_EMAIL']
)); ));
try { try {
$oSpool->sendMail(); $oSpool->sendMail();
$rbacUser->update($aData); $rbacUser->update($aData);
$user->update($aData); $user->update($aData);
G::header ("location: login.html"); G::header ("location: login.html");
G::SendTemporalMessage ('ID_NEW_PASSWORD_SENT', "info"); G::SendTemporalMessage ('ID_NEW_PASSWORD_SENT', "info");
} } catch (phpmailerException $e) {
catch (phpmailerException $e) {
G::header ("location: login.html"); G::header ("location: login.html");
G::SendTemporalMessage (G::LoadTranslation('MISSING_OR_NOT_CONFIGURED_SMTP'), "warning", 'string'); G::SendTemporalMessage (G::LoadTranslation('MISSING_OR_NOT_CONFIGURED_SMTP'), "warning", 'string');
} } catch (Exception $e) {
catch (Exception $e) {
G::header ("location: login.html"); G::header ("location: login.html");
G::SendTemporalMessage ($e->getMessage(), "warning", 'string'); G::SendTemporalMessage ($e->getMessage(), "warning", 'string');
} }
} else { } else {
$msg = G::LoadTranslation('ID_USER') . ' ' . $data['USR_USERNAME'] . ' '. G::LoadTranslation('ID_IS_NOT_REGISTERED'); $msg = G::LoadTranslation('ID_USER') . ' ' . $data['USR_USERNAME'] . ' '. G::LoadTranslation('ID_IS_NOT_REGISTERED');
G::SendTemporalMessage ($msg, "warning", 'string'); G::SendTemporalMessage ($msg, "warning", 'string');
G::header('location: forgotPassword'); G::header('location: forgotPassword');
} }

View File

@@ -23,9 +23,11 @@
* *
*/ */
if (! isset ( $_POST )) if (! isset ( $_POST )) {
G::header ( 'location: /sys/' . $lang . '/' . SYS_SKIN . '/' . 'login/login' ); G::header ( 'location: /sys/' . $lang . '/' . SYS_SKIN . '/' . 'login/login' );
}
if (isset ( $_SESSION ['sysLogin'] )) if (isset ( $_SESSION ['sysLogin'] )) {
$_POST ['form'] = $_SESSION ['sysLogin']; $_POST ['form'] = $_SESSION ['sysLogin'];
}
require_once ('authentication.php'); require_once ('authentication.php');

View File

@@ -20,12 +20,11 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Response; if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response;
}
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
G::LoadClass( 'message' ); G::LoadClass( 'message' );
$dbc = new DBConnection(); $dbc = new DBConnection();
@@ -33,8 +32,8 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
$messages = new Message( $dbc ); $messages = new Message( $dbc );
if (!isset($_POST['MESS_UID'])) return; if (! isset( $_POST['MESS_UID'] )) {
return;
}
$messages->Delete( $_POST['MESS_UID'] ); $messages->Delete( $_POST['MESS_UID'] );
?>

View File

@@ -20,10 +20,10 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Response; if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response;
}
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
G::LoadClass( 'message' ); G::LoadClass( 'message' );
@@ -40,4 +40,4 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'messages/messages_Edit', '', $messages->Fields, SYS_URI . 'messages/messages_Save' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'messages/messages_Edit', '', $messages->Fields, SYS_URI . 'messages/messages_Save' );
G::RenderPage( "publish", "raw" ); G::RenderPage( "publish", "raw" );
?>

View File

@@ -20,10 +20,10 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Response; if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response;
}
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
$G_MAIN_MENU = 'processmaker'; $G_MAIN_MENU = 'processmaker';
@@ -36,12 +36,10 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
//Hardcode: UID of the library by default //Hardcode: UID of the library by default
$PRO_UID = '746B734DC23311'; $PRO_UID = '746B734DC23311';
$G_PUBLISH = new Publisher; $G_PUBLISH = new Publisher();
$Fields=array( 'SYS_LANG' => SYS_LANG, $Fields = array ('SYS_LANG' => SYS_LANG,'PRO_UID' => $PRO_UID);
'PRO_UID' => $PRO_UID );
$G_PUBLISH->AddContent( 'pagedtable', 'paged-table', 'messages/messages_List', '', $Fields, 'messages_Save' ); $G_PUBLISH->AddContent( 'pagedtable', 'paged-table', 'messages/messages_List', '', $Fields, 'messages_Save' );
G::RenderPage( "publish" ); G::RenderPage( "publish" );
?>

View File

@@ -20,10 +20,10 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Response; if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response;
}
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
G::LoadClass( 'message' ); G::LoadClass( 'message' );
@@ -33,7 +33,8 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
$messages = new Message( $dbc ); $messages = new Message( $dbc );
if ($_POST['form']['MESS_UID']==='') unset($_POST['form']['MESS_UID']); if ($_POST['form']['MESS_UID'] === '') {
unset( $_POST['form']['MESS_UID'] );
}
$messages->Save( $_POST['form'] ); $messages->Save( $_POST['form'] );
?>

View File

@@ -5,13 +5,19 @@
$aFields = $oOutputDocument->load( $uid ); $aFields = $oOutputDocument->load( $uid );
$type = $aFields['OUT_DOC_TYPE']; $type = $aFields['OUT_DOC_TYPE'];
if ( $type == 'JRXML') $extension = 'jrxml'; if ($type == 'JRXML') {
if ( $type == 'ACROFORM') $extension = 'pdf'; $extension = 'jrxml';
}
if ($type == 'ACROFORM') {
$extension = 'pdf';
}
$fileJrxml = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension; $fileJrxml = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension;
$bDownload = true; $bDownload = true;
// The ereg_replace function has been DEPRECATED as of PHP 5.3.0. // The ereg_replace function has been DEPRECATED as of PHP 5.3.0.
// $downFileName = ereg_replace('[^A-Za-z0-9_]', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension; // $downFileName = ereg_replace('[^A-Za-z0-9_]', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension;
$downFileName = preg_replace( '/[^A-Za-z0-9_]/i', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension; $downFileName = preg_replace( '/[^A-Za-z0-9_]/i', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension;
G::streamFile( $fileJrxml, $bDownload, $downFileName ); G::streamFile( $fileJrxml, $bDownload, $downFileName );

View File

@@ -21,12 +21,7 @@ switch($action){
break; break;
case 'getTemplateFile': case 'getTemplateFile':
$aExtensions = array ( "exe", "com", "dll", "ocx", "fon", "ttf", "doc", "xls", "mdb", "rtf", "bin", $aExtensions = array ("exe","com","dll","ocx","fon","ttf","doc","xls","mdb","rtf","bin","jpeg","jpg","jif","jfif","gif","tif","tiff","png","bmp","pdf","aac","mp3","mp3pro","vorbis","realaudio","vqf","wma","aiff","flac","wav","midi","mka","ogg","jpeg","ilbm","tar","zip","rar","arj","gzip","bzip2","afio","kgb","gz","asf","avi","mov","iff","ogg","ogm","mkv","3gp"
"jpeg", "jpg", "jif", "jfif", "gif", "tif", "tiff", "png", "bmp", "pdf",
"aac", "mp3", "mp3pro", "vorbis", "realaudio", "vqf", "wma",
"aiff", "flac", "wav", "midi", "mka", "ogg", "jpeg", "ilbm",
"tar", "zip", "rar", "arj", "gzip", "bzip2", "afio", "kgb", "gz",
"asf", "avi", "mov", "iff", "ogg", "ogm", "mkv", "3gp",
); );
$sFileName = strtolower( $_SESSION['outpudocs_tmpFile'] ); $sFileName = strtolower( $_SESSION['outpudocs_tmpFile'] );
$strRev = strrev( $sFileName ); $strRev = strrev( $sFileName );

View File

@@ -20,7 +20,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
try { try {
global $RBAC; global $RBAC;
@@ -28,40 +27,34 @@ try {
case - 2: case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
case - 1: case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
} }
require_once 'classes/model/OutputDocument.php'; require_once 'classes/model/OutputDocument.php';
require_once 'classes/model/ObjectPermission.php'; require_once 'classes/model/ObjectPermission.php';
require_once 'classes/model/Step.php'; require_once 'classes/model/Step.php';
G::LoadClass( 'processMap' ); G::LoadClass( 'processMap' );
$oOutputDocument = new OutputDocument(); $oOutputDocument = new OutputDocument();
$fields = $oOutputDocument->load( $_POST['OUT_DOC_UID'] ); $fields = $oOutputDocument->load( $_POST['OUT_DOC_UID'] );
$oOutputDocument->remove( $_POST['OUT_DOC_UID'] ); $oOutputDocument->remove( $_POST['OUT_DOC_UID'] );
$oStep = new Step(); $oStep = new Step();
$oStep->removeStep( 'OUTPUT_DOCUMENT', $_POST['OUT_DOC_UID'] ); $oStep->removeStep( 'OUTPUT_DOCUMENT', $_POST['OUT_DOC_UID'] );
$oOP = new ObjectPermission(); $oOP = new ObjectPermission();
$oOP->removeByObject( 'OUTPUT', $_POST['OUT_DOC_UID'] ); $oOP->removeByObject( 'OUTPUT', $_POST['OUT_DOC_UID'] );
//refresh dbarray with the last change in outputDocument //refresh dbarray with the last change in outputDocument
$oMap = new processMap(); $oMap = new processMap();
$oCriteria = $oMap->getOutputDocumentsCriteria( $fields['PRO_UID'] ); $oCriteria = $oMap->getOutputDocumentsCriteria( $fields['PRO_UID'] );
$result->success = true; $result->success = true;
$result->msg = G::LoadTranslation( 'ID_OUTPUTDOCUMENT_REMOVED' ); $result->msg = G::LoadTranslation( 'ID_OUTPUTDOCUMENT_REMOVED' );
} } catch (Exception $e) {
catch (Exception $e) {
$result->success = false; $result->success = false;
$result->msg = $e->getMessage(); $result->msg = $e->getMessage();
//die($oException->getMessage()); //die($oException->getMessage());
} }
print G::json_encode( $result ); print G::json_encode( $result );
?>

View File

@@ -20,7 +20,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
try { try {
global $RBAC; global $RBAC;
@@ -28,12 +27,12 @@ try {
case - 2: case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
case - 1: case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
} }
@@ -41,8 +40,7 @@ try {
$ooutputDocument = new OutputDocument(); $ooutputDocument = new OutputDocument();
if (isset( $_GET['OUT_DOC_UID'] )) { if (isset( $_GET['OUT_DOC_UID'] )) {
$aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] ); $aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] );
} } else {
else {
$aFields = array (); $aFields = array ();
$aFields['PRO_UID'] = $_GET['PRO_UID']; $aFields['PRO_UID'] = $_GET['PRO_UID'];
} }
@@ -51,8 +49,7 @@ try {
$ooutputDocument = new OutputDocument(); $ooutputDocument = new OutputDocument();
if (isset( $_GET['OUT_DOC_UID'] )) { if (isset( $_GET['OUT_DOC_UID'] )) {
$aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] ); $aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] );
} } else {
else {
$aFields = array (); $aFields = array ();
$aFields['PRO_UID'] = $_GET['PRO_UID']; $aFields['PRO_UID'] = $_GET['PRO_UID'];
} }
@@ -67,30 +64,32 @@ try {
//$G_PUBLISH->AddContent('xmlform', 'xmlform', 'outputdocs/outputdocs_Edit', '', $aFields , '../outputdocs/outputdocs_Save'); //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'outputdocs/outputdocs_Edit', '', $aFields , '../outputdocs/outputdocs_Save');
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->assign( 'OUT_DOC_UID', $_GET['OUT_DOC_UID'] ); $oHeadPublisher->assign( 'OUT_DOC_UID', $_GET['OUT_DOC_UID'] );
$translations = G::getTranslations(Array( $translations = G::getTranslations( Array ('ID_FILE','ID_OUT_PUT_DOC_UPLOAD_TITLE','ID_UPLOADING_FILE','ID_UPLOAD','ID_CANCEL','ID_SAVE','ID_LOAD_FROM_FILE','ID_SELECT_TEMPLATE_FILE','ID_ALERT_MESSAGE','ID_INVALID_FILE') );
'ID_FILE', 'ID_OUT_PUT_DOC_UPLOAD_TITLE', 'ID_UPLOADING_FILE', 'ID_UPLOAD', 'ID_CANCEL',
'ID_SAVE', 'ID_LOAD_FROM_FILE', 'ID_SELECT_TEMPLATE_FILE', 'ID_ALERT_MESSAGE', 'ID_INVALID_FILE'
));
// $oHeadPublisher->assign('TRANSLATIONS', $translations); // $oHeadPublisher->assign('TRANSLATIONS', $translations);
$oHeadPublisher->addExtJsScript( 'outputdocs/htmlEditor', false ); //adding a javascript file .js $oHeadPublisher->addExtJsScript( 'outputdocs/htmlEditor', false ); //adding a javascript file .js
G::RenderPage( 'publish', 'extJs' ); G::RenderPage( 'publish', 'extJs' );
die; die();
break; break;
case 'JRXML': case 'JRXML':
break;
case 'ACROFORM': case 'ACROFORM':
$type = $aFields['OUT_DOC_TYPE']; $type = $aFields['OUT_DOC_TYPE'];
if ( $type == 'JRXML') $extension = 'jrxml'; if ($type == 'JRXML') {
if ( $type == 'ACROFORM') $extension = 'pdf'; $extension = 'jrxml';
}
if ($type == 'ACROFORM') {
$extension = 'pdf';
}
// The ereg_replace function has been DEPRECATED as of PHP 5.3.0. // The ereg_replace function has been DEPRECATED as of PHP 5.3.0.
// $downFileName = ereg_replace('[^A-Za-z0-9_]', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension; // $downFileName = ereg_replace('[^A-Za-z0-9_]', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension;
$downFileName = preg_replace( '/[^A-Za-z0-9_]/i', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension; $downFileName = preg_replace( '/[^A-Za-z0-9_]/i', '_', $aFields['OUT_DOC_TITLE'] ) . '.' . $extension;
$filename = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension; $filename = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension;
if ( file_exists ( $filename) ) if (file_exists( $filename )) {
$aFields['FILENAME'] = $downFileName; $aFields['FILENAME'] = $downFileName;
else } else {
$aFields['FILENAME'] = ''; $aFields['FILENAME'] = '';
}
$aFields['FILELINK'] = '../outputdocs/downloadFile?' . $aFields['OUT_DOC_UID']; $aFields['FILELINK'] = '../outputdocs/downloadFile?' . $aFields['OUT_DOC_UID'];
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'outputdocs/outputdocsUploadFile', '', $aFields, '../outputdocs/uploadFile' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'outputdocs/outputdocsUploadFile', '', $aFields, '../outputdocs/uploadFile' );
@@ -98,8 +97,7 @@ try {
break; break;
} }
G::RenderPage( 'publish', 'raw' ); G::RenderPage( 'publish', 'raw' );
} catch (Exception $oException) {
}
catch (Exception $oException) {
die( $oException->getMessage() ); die( $oException->getMessage() );
} }

View File

@@ -20,12 +20,11 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Response; if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
return $RBAC_Response;
}
//G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' ); //G::genericForceLogin( 'WF_MYINFO' , 'login/noViewPage', $urlLogin = 'login/login' );
$G_MAIN_MENU = 'processmaker'; $G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'processes'; $G_SUB_MENU = 'processes';
$G_ID_MENU_SELECTED = 'PROCESSES'; $G_ID_MENU_SELECTED = 'PROCESSES';
@@ -34,12 +33,10 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
$dbc = new DBConnection(); $dbc = new DBConnection();
$ses = new DBSession( $dbc ); $ses = new DBSession( $dbc );
$G_PUBLISH = new Publisher; $G_PUBLISH = new Publisher();
$Fields=array( 'SYS_LANG' => SYS_LANG, $Fields = array ('SYS_LANG' => SYS_LANG);
);
$G_PUBLISH->AddContent( 'pagedtable', 'paged-table', 'outputdocs/outputdocs_List', '', $Fields, 'outputdocs_Save' ); $G_PUBLISH->AddContent( 'pagedtable', 'paged-table', 'outputdocs/outputdocs_List', '', $Fields, 'outputdocs_Save' );
G::RenderPage( "publish" ); G::RenderPage( "publish" );
?>

View File

@@ -20,7 +20,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
try { try {
global $RBAC; global $RBAC;
@@ -28,58 +27,51 @@ try {
case - 2: case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
case - 1: case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
} }
require_once 'classes/model/OutputDocument.php'; require_once 'classes/model/OutputDocument.php';
$ooutputDocument = new OutputDocument(); $ooutputDocument = new OutputDocument();
if (isset( $_GET['OUT_DOC_UID'] )) { if (isset( $_GET['OUT_DOC_UID'] )) {
$aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] ); $aFields = $ooutputDocument->load( $_GET['OUT_DOC_UID'] );
} } else {
else {
$aFields = array (); $aFields = array ();
$aFields['PRO_UID'] = $_GET['PRO_UID']; $aFields['PRO_UID'] = $_GET['PRO_UID'];
} }
$aFields['OUT_DOC_TYPE'] = 'HTML'; $aFields['OUT_DOC_TYPE'] = 'HTML';
$enabledJavaBridge = false; $enabledJavaBridge = false;
/** /**
* Temporally Disabled, because we are not using JRXML output doc type by now * Temporally Disabled, because we are not using JRXML output doc type by now
G::LoadClass ('javaBridgePM'); * G::LoadClass ('javaBridgePM');
if ( class_exists ( 'javaBridgePM' ) ) { * if ( class_exists ( 'javaBridgePM' ) ) {
$JBPM = new JavaBridgePM(); * $JBPM = new JavaBridgePM();
try { * try {
$JBPM->checkJavaExtension(); * $JBPM->checkJavaExtension();
$util = new Java("com.processmaker.util.pmutils"); * $util = new Java("com.processmaker.util.pmutils");
$enabledJavaBridge = true; * $enabledJavaBridge = true;
} catch ( Exception $e ) { * } catch ( Exception $e ) {
*
} * }
//$util->setInputPath( JAVATEST_PATH ); * //$util->setInputPath( JAVATEST_PATH );
//$util->setOutputPath( JAVATEST_PATH ); * //$util->setOutputPath( JAVATEST_PATH );
} * }
*/ */
G::LoadClass( 'xmlfield_InputPM' ); G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
if (! $enabledJavaBridge) { if (! $enabledJavaBridge) {
$xmlform = 'outputdocs/outputdocs_Properties'; $xmlform = 'outputdocs/outputdocs_Properties';
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../outputdocs/outputdocs_Save' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../outputdocs/outputdocs_Save' );
} } else {
else {
$xmlform = 'outputdocs/outputdocs_New'; $xmlform = 'outputdocs/outputdocs_New';
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../outputdocs/outputdocs_Save' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $xmlform, '', $aFields, '../outputdocs/outputdocs_Save' );
} }
G::RenderPage( 'publish', 'raw' ); G::RenderPage( 'publish', 'raw' );
} } catch (Exception $oException) {
catch (Exception $oException) {
die( $oException->getMessage() ); die( $oException->getMessage() );
} }

View File

@@ -21,7 +21,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
try { try {
global $RBAC; global $RBAC;
@@ -29,15 +28,14 @@ try {
case - 2: case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
case - 1: case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
} }
require_once 'classes/model/OutputDocument.php'; require_once 'classes/model/OutputDocument.php';
$ooutputDocument = new OutputDocument(); $ooutputDocument = new OutputDocument();
if (isset( $_GET['OUT_DOC_UID'] )) { if (isset( $_GET['OUT_DOC_UID'] )) {
@@ -46,22 +44,17 @@ try {
$aFields = array (); $aFields = array ();
$aFields['PRO_UID'] = $_GET['PRO_UID']; $aFields['PRO_UID'] = $_GET['PRO_UID'];
} }
$type = isset( $aFields['OUT_DOC_TYPE'] ) ? $aFields['OUT_DOC_TYPE'] : 'HTML'; $type = isset( $aFields['OUT_DOC_TYPE'] ) ? $aFields['OUT_DOC_TYPE'] : 'HTML';
$aFields['OUT_DOC_TAGS'] = isset( $aFields['OUT_DOC_TAGS'] ) ? $aFields['OUT_DOC_TAGS'] : 'OUTPUT'; $aFields['OUT_DOC_TAGS'] = isset( $aFields['OUT_DOC_TAGS'] ) ? $aFields['OUT_DOC_TAGS'] : 'OUTPUT';
$aFields['OUT_DOC_VERSIONING'] = strval( $aFields['OUT_DOC_VERSIONING'] ); $aFields['OUT_DOC_VERSIONING'] = strval( $aFields['OUT_DOC_VERSIONING'] );
$aFields['OUT_DOC_LANDSCAPE'] = strval( $aFields['OUT_DOC_LANDSCAPE'] ); $aFields['OUT_DOC_LANDSCAPE'] = strval( $aFields['OUT_DOC_LANDSCAPE'] );
if (isset( $aFields['OUT_DOC_PDF_SECURITY_ENABLED'] )) { if (isset( $aFields['OUT_DOC_PDF_SECURITY_ENABLED'] )) {
$aFields['OUT_DOC_PDF_SECURITY_ENABLED'] = strval( $aFields['OUT_DOC_PDF_SECURITY_ENABLED'] ); $aFields['OUT_DOC_PDF_SECURITY_ENABLED'] = strval( $aFields['OUT_DOC_PDF_SECURITY_ENABLED'] );
} }
if (isset( $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] ) && $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] != "") { if (isset( $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] ) && $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] != "") {
$aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::decrypt( $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'], $_GET['OUT_DOC_UID'] ); $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'] = G::decrypt( $aFields['OUT_DOC_PDF_SECURITY_OPEN_PASSWORD'], $_GET['OUT_DOC_UID'] );
$aFields['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::decrypt( $aFields['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'], $_GET['OUT_DOC_UID'] ); $aFields['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'] = G::decrypt( $aFields['OUT_DOC_PDF_SECURITY_OWNER_PASSWORD'], $_GET['OUT_DOC_UID'] );
} }
G::LoadClass( 'xmlfield_InputPM' ); G::LoadClass( 'xmlfield_InputPM' );
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
switch ($type) { switch ($type) {
@@ -89,3 +82,4 @@ try {
} catch (Exception $oException) { } catch (Exception $oException) {
die( $oException->getMessage() ); die( $oException->getMessage() );
} }

View File

@@ -21,7 +21,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
try { try {
global $RBAC; global $RBAC;
@@ -29,23 +28,23 @@ try {
case - 2: case - 2:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
case - 1: case - 1:
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
G::header( 'location: ../login/login' ); G::header( 'location: ../login/login' );
die; die();
break; break;
} }
//default: //default:
require_once 'classes/model/OutputDocument.php'; require_once 'classes/model/OutputDocument.php';
G::LoadClass( 'processMap' ); G::LoadClass( 'processMap' );
$oOutputDocument = new OutputDocument(); $oOutputDocument = new OutputDocument();
if (isset( $_POST['form'] )) if (isset( $_POST['form'] ))
$aData = $_POST['form']; //For old process map form $aData = $_POST['form']; //For old process map form
else else
@@ -89,3 +88,4 @@ try {
} catch (Exception $oException) { } catch (Exception $oException) {
die( $oException->getMessage() ); die( $oException->getMessage() );
} }

View File

@@ -2,9 +2,9 @@
try { try {
require_once 'classes/model/OutputDocument.php'; require_once 'classes/model/OutputDocument.php';
if (empty($_FILES['form']) || $_FILES['form']['name']['OUT_DOC_FILE'] == '') if (empty( $_FILES['form'] ) || $_FILES['form']['name']['OUT_DOC_FILE'] == '') {
throw (new Exception( 'you must upload a file.' )); throw (new Exception( 'you must upload a file.' ));
}
$uid = $_POST['form']['OUT_DOC_UID']; $uid = $_POST['form']['OUT_DOC_UID'];
$oOutputDocument = new OutputDocument(); $oOutputDocument = new OutputDocument();
$aFields = $oOutputDocument->load( $uid ); $aFields = $oOutputDocument->load( $uid );
@@ -12,12 +12,13 @@ try {
$aExtension = explode( '.', strtolower( basename( $_FILES['form']['name']['OUT_DOC_FILE'] ) ) ); $aExtension = explode( '.', strtolower( basename( $_FILES['form']['name']['OUT_DOC_FILE'] ) ) );
$extension = $aExtension[count( $aExtension ) - 1]; $extension = $aExtension[count( $aExtension ) - 1];
if ( $extension != 'jrxml' && $type == 'JRXML') if ($extension != 'jrxml' && $type == 'JRXML') {
throw (new Exception( "'$extension' is not a valid extension, you must upload a .jrxml file." )); throw (new Exception( "'$extension' is not a valid extension, you must upload a .jrxml file." ));
}
if ( $extension != 'pdf' && $type == 'ACROFORM') if ($extension != 'pdf' && $type == 'ACROFORM') {
throw (new Exception( "'$extension' is not a valid extension, you must upload a .pdf file." )); throw (new Exception( "'$extension' is not a valid extension, you must upload a .pdf file." ));
}
$fileJrxml = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension; $fileJrxml = PATH_DYNAFORM . $aFields['PRO_UID'] . PATH_SEP . $aFields['OUT_DOC_UID'] . '.' . $extension;
if (! empty( $_FILES['form'] )) { if (! empty( $_FILES['form'] )) {
if ($_FILES['form']['error']['OUT_DOC_FILE'] == 0) { if ($_FILES['form']['error']['OUT_DOC_FILE'] == 0) {
@@ -26,7 +27,7 @@ try {
} }
print "<font face='Arial' size='2' >File uploaded.</font>"; print "<font face='Arial' size='2' >File uploaded.</font>";
} } catch (Exception $e) {
catch ( Exception $e ) {
print "<font face='Arial' size='2' color='red' >Error: " . $e->getMessage() . "</font>"; print "<font face='Arial' size='2' color='red' >Error: " . $e->getMessage() . "</font>";
} }

View File

@@ -20,14 +20,14 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
G::LoadInclude( 'ajax' ); G::LoadInclude( 'ajax' );
$oJSON = new Services_JSON(); $oJSON = new Services_JSON();
if(isset($_POST['mode']) && $_POST['mode'] != '') if (isset( $_POST['mode'] ) && $_POST['mode'] != '') {
$aData = $_POST; $aData = $_POST;
else } else {
$aData = $_POST['form']; $aData = $_POST['form'];
}
G::LoadClass( 'tasks' ); G::LoadClass( 'tasks' );
$oTasks = new Tasks(); $oTasks = new Tasks();
@@ -55,8 +55,7 @@ switch ($aData['action']) {
$rou_id = $oRoute->create( $aFields ); $rou_id = $oRoute->create( $aFields );
break; break;
case 'SELECT': case 'SELECT':
foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow) foreach ($aData['GRID_SELECT_TYPE'] as $iKey => $aRow) {
{
/*if ($aRow['ROU_UID'] != '') /*if ($aRow['ROU_UID'] != '')
{ {
$aFields['ROU_UID'] = $aRow['ROU_UID']; $aFields['ROU_UID'] = $aRow['ROU_UID'];
@@ -73,8 +72,7 @@ switch ($aData['action']) {
} }
break; break;
case 'EVALUATE': case 'EVALUATE':
foreach ($aData['GRID_EVALUATE_TYPE'] as $iKey => $aRow) foreach ($aData['GRID_EVALUATE_TYPE'] as $iKey => $aRow) {
{
/*if ($aRow['ROU_UID'] != '') /*if ($aRow['ROU_UID'] != '')
{ {
$aFields['ROU_UID'] = $aRow['ROU_UID']; $aFields['ROU_UID'] = $aRow['ROU_UID'];
@@ -91,8 +89,7 @@ switch ($aData['action']) {
} }
break; break;
case 'PARALLEL': case 'PARALLEL':
foreach ($aData['GRID_PARALLEL_TYPE'] as $iKey => $aRow) foreach ($aData['GRID_PARALLEL_TYPE'] as $iKey => $aRow) {
{
/*if ($aRow['ROU_UID'] != '') /*if ($aRow['ROU_UID'] != '')
{ {
$aFields['ROU_UID'] = $aRow['ROU_UID']; $aFields['ROU_UID'] = $aRow['ROU_UID'];
@@ -107,8 +104,7 @@ switch ($aData['action']) {
} }
break; break;
case 'PARALLEL-BY-EVALUATION': case 'PARALLEL-BY-EVALUATION':
foreach ($aData['GRID_PARALLEL_EVALUATION_TYPE'] as $iKey => $aRow) foreach ($aData['GRID_PARALLEL_EVALUATION_TYPE'] as $iKey => $aRow) {
{
/*if ($aRow['ROU_UID'] != '') /*if ($aRow['ROU_UID'] != '')
{ {
$aFields['ROU_UID'] = $aRow['ROU_UID']; $aFields['ROU_UID'] = $aRow['ROU_UID'];
@@ -120,16 +116,14 @@ switch ($aData['action']) {
$aFields['ROU_CASE'] = $iKey; $aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE']; $aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION'];
if(isset($aRow['ROU_OPTIONAL']) && trim($aRow['ROU_OPTIONAL'])!='' if (isset( $aRow['ROU_OPTIONAL'] ) && trim( $aRow['ROU_OPTIONAL'] ) != '' && ($aRow['ROU_OPTIONAL'] === 'TRUE' || $aRow['ROU_OPTIONAL'] === 'FALSE'))
&& ($aRow['ROU_OPTIONAL']==='TRUE' || $aRow['ROU_OPTIONAL']==='FALSE'))
$aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL'];
$rou_id = $oRoute->create( $aFields ); $rou_id = $oRoute->create( $aFields );
unset( $aFields ); unset( $aFields );
} }
break; break;
case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route case 'DISCRIMINATOR': //Girish ->Added to save changes, while editing the route
foreach ($aData['GRID_DISCRIMINATOR_TYPE'] as $iKey => $aRow) foreach ($aData['GRID_DISCRIMINATOR_TYPE'] as $iKey => $aRow) {
{
$aFields['PRO_UID'] = $aData['PROCESS']; $aFields['PRO_UID'] = $aData['PROCESS'];
$aFields['TAS_UID'] = $aData['TASK']; $aFields['TAS_UID'] = $aData['TASK'];
$aFields['ROU_NEXT_TASK'] = $aRow['ROU_NEXT_TASK']; $aFields['ROU_NEXT_TASK'] = $aRow['ROU_NEXT_TASK'];
@@ -138,8 +132,7 @@ switch ($aData['action']) {
$aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; $aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION'];
$aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $aFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL'];
$routeData = $oTasks->getRouteByType( $aData['PROCESS'], $aRow['ROU_NEXT_TASK'], $aData['ROU_TYPE'] ); $routeData = $oTasks->getRouteByType( $aData['PROCESS'], $aRow['ROU_NEXT_TASK'], $aData['ROU_TYPE'] );
foreach($routeData as $route) foreach ($routeData as $route) {
{
$sFields['ROU_UID'] = $route['ROU_UID']; $sFields['ROU_UID'] = $route['ROU_UID'];
$sFields['ROU_CONDITION'] = $aRow['ROU_CONDITION']; $sFields['ROU_CONDITION'] = $aRow['ROU_CONDITION'];
$sFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL']; $sFields['ROU_OPTIONAL'] = $aRow['ROU_OPTIONAL'];

View File

@@ -20,10 +20,8 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (isset( $_POST['function'] )) { if (isset( $_POST['function'] )) {
switch ($_POST['function']) { switch ($_POST['function']) {
@@ -41,7 +39,8 @@ if(isset($_POST['function'])) {
} }
break; break;
default: echo 'default'; default:
echo 'default';
} }
} }

View File

@@ -2,16 +2,16 @@
if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
//G::header('location: ../login/login'); //G::header('location: ../login/login');
die; die();
} }
//to do: improve the way to pass two or more parameters in the paged-table ( link ) //to do: improve the way to pass two or more parameters in the paged-table ( link )
$aux = explode( '|', $_GET['id'] ); $aux = explode( '|', $_GET['id'] );
$index = 0; $index = 0;
$CategoryUid = str_replace( '"', '', $aux[$index ++] ); $CategoryUid = str_replace( '"', '', $aux[$index ++] );
require_once ("classes/model/ProcessCategory.php"); require_once ("classes/model/ProcessCategory.php");
//if exists the row in the database propel will update it, otherwise will insert. //if exists the row in the database propel will update it, otherwise will insert.
$tr = ProcessCategoryPeer::retrieveByPK( $CategoryUid ); $tr = ProcessCategoryPeer::retrieveByPK( $CategoryUid );
@@ -25,8 +25,7 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
$fields['LABEL_CATEGORY_NAME'] = $tr->getCategoryName(); $fields['LABEL_CATEGORY_NAME'] = $tr->getCategoryName();
$fields['CATEGORY_ICON'] = $tr->getCategoryIcon(); $fields['CATEGORY_ICON'] = $tr->getCategoryIcon();
$fields['LABEL_CATEGORY_ICON'] = $tr->getCategoryIcon(); $fields['LABEL_CATEGORY_ICON'] = $tr->getCategoryIcon();
} } else
else
$fields = array (); $fields = array ();
$G_MAIN_MENU = 'workflow'; $G_MAIN_MENU = 'workflow';
@@ -34,8 +33,7 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
$G_ID_MENU_SELECTED = ''; $G_ID_MENU_SELECTED = '';
$G_ID_SUB_MENU_SELECTED = ''; $G_ID_SUB_MENU_SELECTED = '';
$G_PUBLISH = new Publisher();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryDelete', '', $fields, 'processCategoryDeleteExec' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryDelete', '', $fields, 'processCategoryDeleteExec' );
G::RenderPage( 'publishBlank', 'blank' ); G::RenderPage( 'publishBlank', 'blank' );
?> ?>

View File

@@ -3,7 +3,7 @@
if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
//G::header('location: ../login/login'); //G::header('location: ../login/login');
die; die();
} }
try { try {
@@ -36,11 +36,9 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
G::Header( 'location: processCategoryList' ); G::Header( 'location: processCategoryList' );
} } catch (Exception $e) {
catch ( Exception $e ) { $G_PUBLISH = new Publisher();
$G_PUBLISH = new Publisher;
$aMessage['MESSAGE'] = $e->getMessage(); $aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish', 'blank' ); G::RenderPage( 'publish', 'blank' );
} }

View File

@@ -3,13 +3,12 @@
if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
//G::header('location: ../login/login'); //G::header('location: ../login/login');
die; die();
} }
$aux = explode( '|', isset( $_GET['id'] ) ? $_GET['id'] : '' ); $aux = explode( '|', isset( $_GET['id'] ) ? $_GET['id'] : '' );
$CategoryUid = str_replace( '"', '', $aux[0] ); $CategoryUid = str_replace( '"', '', $aux[0] );
require_once ("classes/model/ProcessCategory.php"); require_once ("classes/model/ProcessCategory.php");
//if exists the row in the database propel will update it, otherwise will insert. //if exists the row in the database propel will update it, otherwise will insert.
$tr = ProcessCategoryPeer::retrieveByPK( $CategoryUid ); $tr = ProcessCategoryPeer::retrieveByPK( $CategoryUid );
@@ -19,8 +18,7 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
$fields['CATEGORY_PARENT'] = $tr->getCategoryParent(); $fields['CATEGORY_PARENT'] = $tr->getCategoryParent();
$fields['CATEGORY_NAME'] = $tr->getCategoryName(); $fields['CATEGORY_NAME'] = $tr->getCategoryName();
$fields['CATEGORY_ICON'] = $tr->getCategoryIcon(); $fields['CATEGORY_ICON'] = $tr->getCategoryIcon();
} } else
else
$fields = array (); $fields = array ();
$G_MAIN_MENU = 'workflow'; $G_MAIN_MENU = 'workflow';
@@ -28,8 +26,7 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
$G_ID_MENU_SELECTED = ''; $G_ID_MENU_SELECTED = '';
$G_ID_SUB_MENU_SELECTED = ''; $G_ID_SUB_MENU_SELECTED = '';
$G_PUBLISH = new Publisher();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryEdit', '', $fields, 'processCategorySave' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryEdit', '', $fields, 'processCategorySave' );
G::RenderPage( 'publishBlank', 'blank' ); G::RenderPage( 'publishBlank', 'blank' );
?> ?>

View File

@@ -20,11 +20,10 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
G::SendTemporalMessage( 'krlos', 'error', 'labels' ); G::SendTemporalMessage( 'krlos', 'error', 'labels' );
die; die();
} }
G::LoadClass( 'configuration' ); G::LoadClass( 'configuration' );
@@ -37,7 +36,7 @@ $G_SUB_MENU = 'processCategory';
$G_ID_MENU_SELECTED = ''; $G_ID_MENU_SELECTED = '';
$G_ID_SUB_MENU_SELECTED = ''; $G_ID_SUB_MENU_SELECTED = '';
$G_PUBLISH = new Publisher; $G_PUBLISH = new Publisher();
$oHeadPublisher = & headPublisher::getSingleton(); $oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript( 'processCategory/processCategoryList', false ); //adding a javascript file .js $oHeadPublisher->addExtJsScript( 'processCategory/processCategoryList', false ); //adding a javascript file .js

View File

@@ -3,13 +3,13 @@
if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) { if ($RBAC->userCanAccess( 'PM_SETUP' ) != 1 && $RBAC->userCanAccess( 'PM_SETUP_ADVANCE' ) != 1) {
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
//G::header('location: ../login/login'); //G::header('location: ../login/login');
die; die();
} }
require_once ("classes/model/ProcessCategory.php"); require_once ("classes/model/ProcessCategory.php");
$fields['CATEGORY_UID'] = G::GenerateUniqueID();
$fields['CATEGORY_UID'] = G::GenerateUniqueID();; ;
$fields['CATEGORY_PARENT'] = ''; $fields['CATEGORY_PARENT'] = '';
$fields['CATEGORY_NAME'] = ''; $fields['CATEGORY_NAME'] = '';
@@ -20,8 +20,7 @@ if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVAN
$G_ID_MENU_SELECTED = ''; $G_ID_MENU_SELECTED = '';
$G_ID_SUB_MENU_SELECTED = ''; $G_ID_SUB_MENU_SELECTED = '';
$G_PUBLISH = new Publisher();
$G_PUBLISH = new Publisher;
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryNew', '', $fields, 'processCategorySave' ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processCategory/processCategoryNew', '', $fields, 'processCategorySave' );
G::RenderPage( 'publishBlank', 'blank' ); G::RenderPage( 'publishBlank', 'blank' );
?> ?>

View File

@@ -6,7 +6,6 @@
$CategoryName = $form['CATEGORY_NAME']; $CategoryName = $form['CATEGORY_NAME'];
$CategoryIcon = $form['CATEGORY_ICON']; $CategoryIcon = $form['CATEGORY_ICON'];
require_once ("classes/model/ProcessCategory.php"); require_once ("classes/model/ProcessCategory.php");
//if exists the row in the database propel will update it, otherwise will insert. //if exists the row in the database propel will update it, otherwise will insert.
@@ -26,8 +25,7 @@
if ($tr->validate()) { if ($tr->validate()) {
// we save it, since we get no validation errors, or do whatever else you like. // we save it, since we get no validation errors, or do whatever else you like.
$res = $tr->save(); $res = $tr->save();
} } else {
else {
// Something went wrong. We can now get the validationFailures and handle them. // Something went wrong. We can now get the validationFailures and handle them.
$msg = ''; $msg = '';
$validationFailuresArray = $tr->getValidationFailures(); $validationFailuresArray = $tr->getValidationFailures();
@@ -38,8 +36,10 @@
} }
//return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => ''); //return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => '');
//to do: uniform coderror structures for all classes //to do: uniform coderror structures for all classes
//if ( $res['codError'] < 0 ) { //if ( $res['codError'] < 0 ) {
// G::SendMessageText ( $res['message'] , 'error' ); // G::SendMessageText ( $res['message'] , 'error' );
//} //}
@@ -47,13 +47,12 @@
} else { } else {
// G::SendTemporalMessage("El registro ya existe", "warning", 'labels'); // G::SendTemporalMessage("El registro ya existe", "warning", 'labels');
G::Header( 'location: processCategoryList' ); G::Header( 'location: processCategoryList' );
die; die();
} }
} catch (Exception $e) { } catch (Exception $e) {
$G_PUBLISH = new Publisher; $G_PUBLISH = new Publisher();
$aMessage['MESSAGE'] = $e->getMessage(); $aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage ); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish', 'blank' ); G::RenderPage( 'publish', 'blank' );
} }

View File

@@ -20,7 +20,6 @@
* *
* For more information, contact Colosa Inc, 2566 Le Jeune Rd., * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com. * Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/ */
if (isset( $_REQUEST['action'] )) { if (isset( $_REQUEST['action'] )) {
@@ -160,6 +159,7 @@ if(isset($_REQUEST['action'])) {
echo '{success: false, error: ' . $ex->getMessage() . '}'; echo '{success: false, error: ' . $ex->getMessage() . '}';
} }
break; break;
default: echo 'default'; default:
echo 'default';
} }
} }

View File

@@ -1,36 +0,0 @@
<?php
/**
* processes_DownloadFile.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
//add more security, and catch any error or exception
$sFileName = $_GET['p'] . '.xpdl';
$file = PATH_DOCUMENT . 'output' . PATH_SEP . $sFileName . 'tpm';
$filex = PATH_DOCUMENT . 'output' . PATH_SEP . $sFileName;
if (file_exists( $file )) {
rename( $file, $filex );
}
$realPath = PATH_DOCUMENT . 'output' . PATH_SEP . $sFileName;
G::streamFile( $realPath, true );

View File

@@ -1,132 +0,0 @@
<?php
/**
* processes_ImportFileExisting.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
try {
//load the variables
G::LoadClass( 'xpdl' );
$oProcess = new Xpdl();
if (! isset( $_POST['form']['IMPORT_OPTION'] )) {
throw (new Exception( 'Please select an option before to continue' ));
}
if (! isset( $_POST['form']['GROUP_IMPORT_OPTION'] )) {
$action = "none";
} else {
$action = $_POST['form']['GROUP_IMPORT_OPTION'];
}
$option = $_POST['form']['IMPORT_OPTION'];
$filename = $_POST['form']['PRO_FILENAME'];
$ObjUid = $_POST['form']['OBJ_UID'];
$path = PATH_DOCUMENT . 'input' . PATH_SEP;
$oData = $oProcess->getProcessDataXpdl( $path . $filename );
$Fields['PRO_FILENAME'] = $filename;
$sProUid = $oData->process['PRO_UID'];
$oData->process['PRO_UID_OLD'] = $sProUid;
if (! isset( $oData->tasks ))
$oData->tasks = array ();
$tasks = $oData->tasks;
// code added by gustavo cruz gustavo-at-colosa-dot-com
// evaluate actions or import options
switch ($action) {
case "none":
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
case "rename":
$oData->groupwfs = $oProcess->renameExistingGroups( $oData->groupwfs );
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
case "merge":
$oBaseGroup = $oData->groupwfs;
$oNewGroup = $oProcess->mergeExistingGroups( $oData->groupwfs );
$oData->groupwfs = $oNewGroup;
$oData->taskusers = $oProcess->mergeExistingUsers( $oBaseGroup, $oNewGroup, $oData->taskusers );
break;
default:
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
}
// if there are duplicated groups render the group importing options
if ($groupsDuplicated > 0) {
$Fields['PRO_FILENAME'] = $filename;
$Fields['PRO_PATH'] = $path;
$Fields['IMPORT_OPTION'] = $option;
$Fields['OBJ_UID'] = $ObjUid;
$G_MAIN_MENU = 'processmaker';
$G_ID_MENU_SELECTED = 'PROCESSES';
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processes/processes_ValidatingGroups', '', $Fields, 'processes_ImportExisting' );
G::RenderPage( 'publish', "blank" );
die();
}
//end added code
//Update the current Process, overwriting all tasks and steps
if ($option == 1) {
$oProcess->updateProcessFromData( $oData, $path . $filename );
if (file_exists( PATH_OUTTRUNK . 'compiled' . PATH_SEP . 'xmlform' . PATH_SEP . $sProUid )) {
$oDirectory = dir( PATH_OUTTRUNK . 'compiled' . PATH_SEP . 'xmlform' . PATH_SEP . $sProUid );
while ($sObjectName = $oDirectory->read()) {
if (($sObjectName != '.') && ($sObjectName != '..')) {
unlink( PATH_OUTTRUNK . 'compiled' . PATH_SEP . 'xmlform' . PATH_SEP . $sProUid . PATH_SEP . $sObjectName );
}
}
$oDirectory->close();
}
$sNewProUid = $sProUid;
}
//Disable current Process and create a new version of the Process
if ($option == 2) {
$oProcess->disablePreviousProcesses( $sProUid );
$sNewProUid = $oProcess->getUnusedProcessGUID();
$oProcess->setProcessGuid( $oData, $sNewProUid );
$oProcess->setProcessParent( $oData, $sProUid );
$oData->process['PRO_TITLE'] = "New - " . $oData->process['PRO_TITLE'] . ' - ' . date( 'M d, H:i' );
$oProcess->renewAll( $oData );
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
}
//Create a completely new Process without change the current Process
if ($option == 3) {
//krumo ($oData); die;
$sNewProUid = $oProcess->getUnusedProcessGUID();
$oProcess->setProcessGuid( $oData, $sNewProUid );
$oData->process['PRO_TITLE'] = "Copy of - " . $oData->process['PRO_TITLE'] . ' - ' . date( 'M d, H:i' );
$oProcess->renewAll( $oData );
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
}
G::header( 'Location: processes_Map?PRO_UID=' . $sNewProUid );
} catch (Exception $e) {
$G_PUBLISH = new Publisher();
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish', "blank" );
}

View File

@@ -1,105 +0,0 @@
<?php
/**
* processes_ImportFile.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
try {
//load the variables
G::LoadClass( 'xpdl' );
$oProcess = new Xpdl();
if (isset( $_POST['form']['PRO_FILENAME'] )) {
$path = $_POST['form']['PRO_PATH'];
$filename = $_POST['form']['PRO_FILENAME'];
$action = $_POST['form']['GROUP_IMPORT_OPTION'];
} else {
//save the file, if it's not saved
if ($_FILES['form']['error']['PROCESS_FILENAME'] == 0) {
$filename = $_FILES['form']['name']['PROCESS_FILENAME'];
$path = PATH_DOCUMENT . 'input' . PATH_SEP;
$tempName = $_FILES['form']['tmp_name']['PROCESS_FILENAME'];
$action = "none";
G::uploadFile( $tempName, $path, $filename );
}
}
$oData = $oProcess->getProcessDataXpdl( $path . $filename );
$Fields['PRO_FILENAME'] = $filename;
$Fields['IMPORT_OPTION'] = 2;
$sProUid = $oData->process['PRO_UID'];
$oData->process['PRO_UID_OLD'] = $sProUid;
if ($oProcess->processExists( $sProUid )) {
$G_MAIN_MENU = 'processmaker';
$G_ID_MENU_SELECTED = 'PROCESSES';
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processes/processes_ImportExistingXpdl', '', $Fields, 'processes_ImportExistingXpdl' );
G::RenderPage( 'publish', "blank" );
die();
}
// code added by gustavo cruz gustavo-at-colosa-dot-com
// evaluate actions or import options
switch ($action) {
case "none":
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
case "rename":
$oData->groupwfs = $oProcess->renameExistingGroups( $oData->groupwfs );
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
case "merge":
$oBaseGroup = $oData->groupwfs;
$oNewGroup = $oProcess->mergeExistingGroups( $oData->groupwfs );
$oData->groupwfs = $oNewGroup;
$oData->taskusers = $oProcess->mergeExistingUsers( $oBaseGroup, $oNewGroup, $oData->taskusers );
break;
default:
$groupsDuplicated = $oProcess->checkExistingGroups( $oData->groupwfs );
break;
}
// if there are duplicated groups render the group importing options
if ($groupsDuplicated > 0) {
$Fields['PRO_FILENAME'] = $filename;
$Fields['PRO_PATH'] = $path;
$Fields['IMPORT_OPTION'] = 2;
$G_MAIN_MENU = 'processmaker';
$G_ID_MENU_SELECTED = 'PROCESSES';
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'processes/processes_ValidatingGroups', '', $Fields, 'processes_ImportFile' );
G::RenderPage( 'publish', "blank" );
die();
}
// end added code
if (! isset( $oData->tasks ))
$oData->tasks = array ();
$tasks = $oData->tasks;
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
G::header( 'Location: processes_Map?PRO_UID=' . $sProUid );
} catch (Exception $e) {
$G_PUBLISH = new Publisher();
$aMessage['MESSAGE'] = $e->getMessage();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
G::RenderPage( 'publish', "blank" );
}

View File

@@ -61,7 +61,7 @@ $result->catchMessage = "";
if ($action == "uploadFileNewProcess") { if ($action == "uploadFileNewProcess") {
try { try {
//type of file, bpmn, xpdl, or pm //type of file: only pm
$processFileType = $_REQUEST["processFileType"]; $processFileType = $_REQUEST["processFileType"];
$oProcess = new stdClass(); $oProcess = new stdClass();
$oData = new stdClass(); $oData = new stdClass();
@@ -71,13 +71,12 @@ if ($action == "uploadFileNewProcess") {
if (isset( $_FILES['form']['type']['PROCESS_FILENAME'] )) { if (isset( $_FILES['form']['type']['PROCESS_FILENAME'] )) {
$allowedExtensions = array ($processFileType $allowedExtensions = array ($processFileType
); );
$allowedExtensions = array ('xpdl','bpmn','pm' $allowedExtensions = array ('pm');
);
if (! in_array( end( explode( ".", $_FILES['form']['name']['PROCESS_FILENAME'] ) ), $allowedExtensions )) { if (! in_array( end( explode( ".", $_FILES['form']['name']['PROCESS_FILENAME'] ) ), $allowedExtensions )) {
throw new Exception( G::LoadTranslation( "ID_FILE_UPLOAD_INCORRECT_EXTENSION" ) ); throw new Exception( G::LoadTranslation( "ID_FILE_UPLOAD_INCORRECT_EXTENSION" ) );
} }
} }
if ($processFileType != "pm" && $processFileType != "xpdl" && $processFileType != "bpmn") { if ($processFileType != "pm") {
throw new Exception( G::LoadTranslation( "ID_ERROR_UPLOAD_FILE_CONTACT_ADMINISTRATOR" ) ); throw new Exception( G::LoadTranslation( "ID_ERROR_UPLOAD_FILE_CONTACT_ADMINISTRATOR" ) );
} }
@@ -86,11 +85,6 @@ if ($action == "uploadFileNewProcess") {
$oProcess = new Processes(); $oProcess = new Processes();
} }
if ($processFileType == "xpdl") {
G::LoadClass( 'xpdl' );
$oProcess = new Xpdl();
}
$result->success = true; $result->success = true;
$result->ExistProcessInDatabase = ""; //"" -Default $result->ExistProcessInDatabase = ""; //"" -Default
//0 -Dont exist process //0 -Dont exist process
@@ -122,11 +116,9 @@ if ($action == "uploadFileNewProcess") {
die(); die();
} }
//if file is a .pm or .xpdl file continues normally the importing //if file is a .pm file continues normally the importing
if ($processFileType == "pm") { if ($processFileType == "pm") {
$oData = $oProcess->getProcessData( $path . $filename ); $oData = $oProcess->getProcessData( $path . $filename );
} else {
$oData = $oProcess->getProcessDataXpdl( $path . $filename );
} }
reservedWordsSqlValidate( $oData ); reservedWordsSqlValidate( $oData );
@@ -169,11 +161,6 @@ if ($action == "uploadFileNewProcess") {
if ($result->ExistProcessInDatabase == 0 && $result->ExistGroupsInDatabase == 0) { if ($result->ExistProcessInDatabase == 0 && $result->ExistGroupsInDatabase == 0) {
if ($processFileType == "pm") { if ($processFileType == "pm") {
$oProcess->createProcessFromData( $oData, $path . $filename ); $oProcess->createProcessFromData( $oData, $path . $filename );
} else {
if (! isset( $oData->tasks ))
$oData->tasks = array ();
$tasks = $oData->tasks;
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
} }
} }
@@ -202,7 +189,7 @@ if ($action == "uploadFileNewProcessExist") {
$sNewProUid = ""; $sNewProUid = "";
$oProcess = new stdClass(); $oProcess = new stdClass();
if ($processFileType != "pm" && $processFileType != "xpdl") { if ($processFileType != "pm") {
throw new Exception( G::LoadTranslation( "ID_ERROR_UPLOAD_FILE_CONTACT_ADMINISTRATOR" ) ); throw new Exception( G::LoadTranslation( "ID_ERROR_UPLOAD_FILE_CONTACT_ADMINISTRATOR" ) );
} }
@@ -210,17 +197,12 @@ if ($action == "uploadFileNewProcessExist") {
if ($processFileType == "pm") { if ($processFileType == "pm") {
G::LoadClass( 'processes' ); G::LoadClass( 'processes' );
$oProcess = new Processes(); $oProcess = new Processes();
} else {
G::LoadClass( 'xpdl' );
$oProcess = new Xpdl();
} }
$path = PATH_DOCUMENT . 'input' . PATH_SEP; $path = PATH_DOCUMENT . 'input' . PATH_SEP;
if ($processFileType == "pm") { if ($processFileType == "pm") {
$oData = $oProcess->getProcessData( $path . $filename ); $oData = $oProcess->getProcessData( $path . $filename );
} else {
$oData = $oProcess->getProcessDataXpdl( $path . $filename );
} }
reservedWordsSqlValidate( $oData ); reservedWordsSqlValidate( $oData );
@@ -274,12 +256,6 @@ if ($action == "uploadFileNewProcessExist") {
if ($processFileType == "pm") { if ($processFileType == "pm") {
$oProcess->createProcessFromData( $oData, $path . $filename ); $oProcess->createProcessFromData( $oData, $path . $filename );
} else {
if (! isset( $oData->tasks )) {
$oData->tasks = array ();
}
$tasks = $oData->tasks;
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
} }
} }
@@ -293,12 +269,6 @@ if ($action == "uploadFileNewProcessExist") {
if ($processFileType == "pm") { if ($processFileType == "pm") {
$oProcess->createProcessFromData( $oData, $path . $filename ); $oProcess->createProcessFromData( $oData, $path . $filename );
} else {
if (! isset( $oData->tasks )) {
$oData->tasks = array ();
}
$tasks = $oData->tasks;
$oProcess->createProcessFromDataXpdl( $oData, $tasks );
} }
} }
} }

View File

@@ -1,201 +0,0 @@
<?php
function addNodox ($obj, $padre, $indice, $contenido = '', $atributos = '')
{
if (is_object( $padre )) {
if ($contenido == '') {
$nodo = $obj->createElement( $indice );
} else {
$nodo = $obj->createElement( $indice, $contenido );
}
$padre->appendChild( $nodo );
} else {
if ($contenido == '') {
$nodo = $obj->createElement( $indice );
} else {
$nodo = $obj->createElement( $indice, $contenido );
}
$obj->appendChild( $nodo );
}
if (is_array( $atributos )) {
foreach ($atributos as $key => $value) {
$atributo = $obj->createAttribute( $key );
$nodo->appendChild( $atributo );
$texto = $obj->createTextNode( $value );
$atributo->appendChild( $texto );
}
}
return $nodo;
}
function derivationRules ($aRoute, $doc, $nodo_derivationrule)
{
$tam = count( $aRoute );
$c = 0;
switch ($aRoute[$c]['ROU_TYPE']) {
case 'SEQUENTIAL':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'Sequential', '', '' );
$nodo_nexttask = addNodox( $doc, $nodo_routeType, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
break;
case 'EVALUATE':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'Evaluations', '', '' );
while ($c < $tam) {
$nodo_evaluation = addNodox( $doc, $nodo_routeType, 'Evaluation', '', array ('Condition' => $aRoute[$c]['ROU_CONDITION']
) );
$nodo_nexttask = addNodox( $doc, $nodo_evaluation, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
$c ++;
}
break;
case 'SELECT':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'Selections', '', '' );
while ($c < $tam) {
$nodo_selection = addNodox( $doc, $nodo_routeType, 'Selection', '', array ('Description' => $aRoute[$c]['ROU_CONDITION']
) );
$nodo_nexttask = addNodox( $doc, $nodo_selection, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
$c ++;
}
break;
case 'PARALLEL':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'ParallelForks', '', '' );
while ($c < $tam) {
$nodo_parallelfork = addNodox( $doc, $nodo_routeType, 'ParallelFork', '', '' );
$nodo_nexttask = addNodox( $doc, $nodo_parallelfork, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
$c ++;
}
break;
case 'PARALLEL-BY-EVALUATION':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'ParallelForksByEvaluation', '', '' );
while ($c < $tam) {
$nodo_evaluation = addNodox( $doc, $nodo_routeType, 'Evaluation', '', array ('Condition' => $aRoute[$c]['ROU_CONDITION']
) );
$nodo_nexttask = addNodox( $doc, $nodo_evaluation, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
$c ++;
}
break;
case 'SEC-JOIN':
$nodo_routeType = addNodox( $doc, $nodo_derivationrule, 'ParallelJoin', '', '' );
$nodo_nexttask = addNodox( $doc, $nodo_routeType, 'NextTask', '', '' );
if ($aRoute[$c]['ROU_NEXT_TASK'] != - 1) {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'TaskRef', '', array ('TaskId' => 'ID' . $aRoute[$c]['ROU_NEXT_TASK']
) );
} else {
$nodo_taskref = addNodox( $doc, $nodo_nexttask, 'End', '', '' );
}
break;
}
}
/**
* **-_--__---___----___---__--_-***
*/
G::LoadClass( 'tasks' );
require_once 'classes/model/Process.php';
$doc = new DOMDocument( '1.0', 'UTF-8' );
$nodo_padre = addNodox( $doc, '', 'Processes', '', array ('xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance','xsi:noNamespaceSchemaLocation' => 'ColosaSchema.xsd'
) );
$aProcesses = array ();
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( ProcessPeer::PRO_UID );
//$oCriteria->add(ProcessPeer::PRO_STATUS, 'DISABLED', Criteria::NOT_EQUAL);
//$oCriteria->add(ProcessPeer::PRO_UID, '946679494980c3d0ba0814088444708');
$oDataset = ProcessPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$oProcess = new Process();
while ($aRow = $oDataset->getRow()) {
$aProcess = $oProcess->load( $aRow['PRO_UID'] );
$nodo_process = addNodox( $doc, $nodo_padre, 'Process', '', array ('Title' => $aProcess['PRO_TITLE'],'Description' => $aProcess['PRO_DESCRIPTION']
) );
$nodo_tasks = addNodox( $doc, $nodo_process, 'Tasks', '', '' );
$oTask = new Tasks();
$aTasks = $oTask->getAllTasks( $aProcess['PRO_UID'] );
foreach ($aTasks as $key => $value) {
//print_r($value); echo "<br>";
$aRoute = $oTask->getRoute( $aProcess['PRO_UID'], $value['TAS_UID'] );
//print_r($aRoute[0]['ROU_UID']); echo "<hr>";
/*foreach($aRoute as $k => $v)
echo $k."-->".$v."<br>";
*/
if ($value['TAS_TYPE'] == 'NORMAL') {
$ini = ($value['TAS_START'] == 'TRUE') ? 'true' : 'false';
$nodo_task = addNodox( $doc, $nodo_tasks, 'Task', '', array ('Title' => $value['TAS_TITLE'],'Description' => $value['TAS_DESCRIPTION'],'Id' => 'ID' . $value['TAS_UID'],'StartingTask' => $ini
) );
$nodo_coordinates = addNodox( $doc, $nodo_task, 'Coordinates', '', array ('XCoordinate' => $value['TAS_POSX'],'YCoordinate' => $value['TAS_POSY']
) );
$nodo_derivationrule = addNodox( $doc, $nodo_task, 'DerivationRule', '', '' );
derivationRules( $aRoute, $doc, $nodo_derivationrule );
$nodo_assignmentrules = addNodox( $doc, $nodo_task, 'AssignmentRules', '', '' );
$nodo_cyclicalassignment = addNodox( $doc, $nodo_assignmentrules, 'CyclicalAssignment', '', '' );
$nodo_timingcontrol = addNodox( $doc, $nodo_task, 'TimingControl', '', array ('TaskDuration' => $value['TAS_DURATION']
) );
$nodo_permissions = addNodox( $doc, $nodo_task, 'Permissions', '', '' );
$nodo_caselabels = addNodox( $doc, $nodo_task, 'CaseLabels', '', '' );
$nodo_notifications = addNodox( $doc, $nodo_task, 'Notifications', '', '' );
} else {
require_once ("classes/model/SubProcess.php");
$oCriteria = new Criteria( 'workflow' );
$oCriteria->add( SubProcessPeer::PRO_PARENT, $value['PRO_UID'] );
$oCriteria->add( SubProcessPeer::TAS_PARENT, $value['TAS_UID'] );
$oDataset = SubProcessPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$aRow = $oDataset->getRow();
$nodo_task = addNodox( $doc, $nodo_tasks, 'SubProcess', '', array ('Title' => $value['TAS_TITLE'],'Description' => $value['TAS_DESCRIPTION'],'Id' => 'ID' . $value['TAS_UID'],'ProcessRef' => $aRow['PRO_UID']
) );
$nodo_coordinates = addNodox( $doc, $nodo_task, 'Coordinates', '', array ('XCoordinate' => $value['TAS_POSX'],'YCoordinate' => $value['TAS_POSY']
) );
$nodo_derivationrule = addNodox( $doc, $nodo_task, 'DerivationRule', '', '' );
derivationRules( $aRoute, $doc, $nodo_derivationrule );
}
}
$oDataset->next();
}
//die;
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;
$doc->save( PATH_METHODS . 'services/test_xpdl.xml' );
echo "xml for xpdl creado!!!<br>";

View File

@@ -17,6 +17,7 @@ ul#pm_menu {
padding: 0 0 0 13px; padding: 0 0 0 13px;
} }
ul#pm_menu li { float: right;}
a.options-tool { a.options-tool {
color: #FFFFFF; color: #FFFFFF;

View File

@@ -236,7 +236,10 @@ class SkinEngine
if (defined('PATH_CUSTOM_SKINS') && is_dir(PATH_CUSTOM_SKINS . $this->mainSkin)) { if (defined('PATH_CUSTOM_SKINS') && is_dir(PATH_CUSTOM_SKINS . $this->mainSkin)) {
$templateFile = PATH_CUSTOM_SKINS . $this->mainSkin . PATH_SEP .'extJsInitLoad.html'; $templateFile = PATH_CUSTOM_SKINS . $this->mainSkin . PATH_SEP .'extJsInitLoad.html';
} }
//Skin uxs - simplefied //Skin uxs - simplified
if (!isset($_SESSION['user_experience'])) {
$_SESSION['user_experience'] = 'NORMAL';
}
if ($_SESSION['user_experience'] != 'NORMAL') { if ($_SESSION['user_experience'] != 'NORMAL') {
$templateFile = (is_dir(PATH_CUSTOM_SKINS . 'uxs')) ? PATH_CUSTOM_SKINS . 'simplified' . PATH_SEP . 'extJsInitLoad.html' : $templateFile; $templateFile = (is_dir(PATH_CUSTOM_SKINS . 'uxs')) ? PATH_CUSTOM_SKINS . 'simplified' . PATH_SEP . 'extJsInitLoad.html' : $templateFile;
} }

View File

@@ -1,321 +0,0 @@
ArrowLine=function(){
this.lineColor=new Color(0,0,0);
this.stroke=1;
this.canvas=null;
this.workflow=null;
this.html=null;
this.graphics=null;
//this.id=UUID.create();
this.startX=30;
this.startY=30;
this.endX=100;
this.endY=100;
this.zOrder=Line.ZOrderBaseIndex;
this.setSelectable(true);
this.setDeleteable(true);
this.arrowWidth=8;
this.arrowLength=20;
this.lineWidth=2;
};
ArrowLine.prototype=new Line();
ArrowLine.prototype.type="ArrowLine";
ArrowLine.prototype.paint=function(){
if(this.graphics===null){
this.graphics=new jsGraphics(this.id);
}
else{
this.graphics.clear();
}
//this.graphics.setStroke(this.stroke);
this.graphics.setStroke( Stroke.DOTTED );
this.graphics.setColor(this.lineColor.getHTMLStyle());
var endY=this.getLength();
var _3e2a=[0 ,0 ,endY ];
var _3e2b=[-this.lineWidth,+this.lineWidth,-(this.lineWidth)];
var _3e2c=this.getAngle()*Math.PI/180;
var rotX=[];
var rotY=[];
for(var i=0;i<_3e2a.length;i++){
rotX[i]=this.startX+_3e2a[i]*Math.cos(_3e2c)-_3e2b[i]*Math.sin(_3e2c);
rotY[i]=this.startY+_3e2a[i]*Math.sin(_3e2c)+_3e2b[i]*Math.cos(_3e2c);
}
this.graphics.drawPolyLine(rotX,rotY);
this.graphics.paint();
};
DottedConnection=function(){
ArrowLine.call(this);
this.sourcePort=null;
this.targetPort=null;
this.lineSegments=[];
this.setColor(new Color(0,0,115));
this.setLineWidth(1);
};
DottedConnection.prototype=new ArrowLine();
DottedConnection.prototype.type="DottedConnection";
DottedConnection.prototype.disconnect=function(){
if(this.sourcePort!==null){
this.sourcePort.detachMoveListener(this);
}
if(this.targetPort!==null){
this.targetPort.detachMoveListener(this);
}
};
DottedConnection.prototype.reconnect=function(){
if(this.sourcePort!==null){
this.sourcePort.attachMoveListener(this);
}
if(this.targetPort!==null){
this.targetPort.attachMoveListener(this);
}
};
DottedConnection.prototype.isConnector=function(){
return true;
};
DottedConnection.prototype.isResizeable=function(){
return false;
};
DottedConnection.prototype.setSource=function(port){
if(this.sourcePort!==null){
this.sourcePort.detachMoveListener(this);
}
this.sourcePort=port;
if(this.sourcePort===null){
return;
}
this.sourcePort.attachMoveListener(this);
this.setStartPoint(port.getAbsoluteX(),port.getAbsoluteY());
};
DottedConnection.prototype.getSource=function(){
return this.sourcePort;
};
DottedConnection.prototype.setTarget=function(port){
if(this.targetPort!==null){
this.targetPort.detachMoveListener(this);
}
this.targetPort=port;
if(this.targetPort===null){
return;
}
this.targetPort.attachMoveListener(this);
this.setEndPoint(port.getAbsoluteX(),port.getAbsoluteY());
};
DottedConnection.prototype.getTarget=function(){
return this.targetPort;
};
DottedConnection.prototype.onOtherFigureMoved=function(_3824){
if(_3824==this.sourcePort){
this.setStartPoint(this.sourcePort.getAbsoluteX(),this.sourcePort.getAbsoluteY());
}else{
this.setEndPoint(this.targetPort.getAbsoluteX(),this.targetPort.getAbsoluteY());
}
};
bpmnAnnotation = function (oWorkflow) {
VectorFigure.call(this);
//Getting width and height from DB
if(typeof oWorkflow.anno_width != 'undefined' && typeof oWorkflow.anno_height != 'undefined'){
this.width = oWorkflow.anno_width;
this.height = oWorkflow.anno_height;
}
else{
this.width = 110;
this.height = 50;
}
this.setAnnotationName(oWorkflow.annotationName); //It will set the Default Task Name with appropriate count While dragging a task on the canvas
};
bpmnAnnotation.prototype = new VectorFigure;
bpmnAnnotation.prototype.type = "bpmnAnnotation";
bpmnAnnotation.prototype.setAnnotationName = function (name) {
if(typeof name != 'undefined')
this.annotationName = name;
else
this.annotationName = 'Annotation 1';
};
bpmnAnnotation.prototype.coord_converter = function (bound_width, bound_height, text_length) {
//bound_width = this.workflow.currentSelection.width;
//bound_height = this.workflow.currentSelection.height;
input_width = text_length * 6
input_height = 10
temp_width = bound_width - input_width;
temp_width /= 2;
temp_x = temp_width;
temp_height = bound_height - 10;
temp_height /= 2;
temp_y = temp_height;
var temp_coord = new Object();
temp_coord.temp_x = temp_x;
temp_coord.temp_y = temp_y;
return temp_coord;
};
bpmnAnnotation.prototype.paint = function () {
VectorFigure.prototype.paint.call(this);
if(typeof workflow.zoomfactor == 'undefined')
workflow.zoomfactor = 1;
//Set the Task Limitation
if(typeof this.limitFlag == 'undefined' || this.limitFlag == false)
{
this.originalWidth = 110;
this.originalHeight = 50;
this.orgXPos = this.getX();
this.orgYPos = this.getY();
this.orgFontSize =this.fontSize;
}
var zoomRate = workflow.zoomfactor;
this.width = this.originalWidth * workflow.zoomfactor;
this.height = this.originalHeight * workflow.zoomfactor;
//this.graphics.setColor("#ffffff");
this.graphics.setColor("#f8f8f8");
this.graphics.fillRect(0,0, this.getWidth(), this.getHeight());
this.graphics.setStroke(1.5);
this.graphics.setColor("#202020");
this.graphics.drawLine(this.getWidth()/4,0,0,0);
this.graphics.drawLine(0,0,0,this.getHeight());
this.graphics.drawLine(0,this.getHeight(),this.getWidth()/4,this.getHeight());
this.graphics.setStroke(1);
this.graphics.paint();
/* New object is created to implement changing of Text functionality
*/
this.bpmnText = new jsGraphics(this.id) ;
this.padleft = 0.05*this.getWidth();
this.padtop = 0.13*this.getHeight() -1;
this.rectwidth = this.getWidth() - this.padleft;
this.rectheight = this.getHeight() - 2 * this.padtop;
//Setting text size to zoom font size if Zoomed
this.fontSize = 11;
var fontSize = zoomRate * this.fontSize;
this.bpmnText.setFont('verdana', + fontSize+'px', Font.PLAIN);
this.bpmnText.drawStringAnno(this.annotationName,0,this.padtop,this.rectwidth,this.rectheight,'left');
this.bpmnText.paint();
if( this.input1!=null ){
this.input1.setPosition(0,this.height/2);
}
};
jsGraphics.prototype.drawStringAnno = function(txt, x, y, width,height, halign)
{
this.htm += '<div style="position:absolute;overflow:hidden;'+
'left:' + x + 'px;'+
'top:' + y + 'px;'+
'width:'+width +'px;'+
'height:'+height +'px;'+
'text-align:'+halign+';'+
'font-family:' + this.ftFam + ';'+
'font-size:' + this.ftSz + ';'+ 'padding-left:6px;'+
'color:' + this.color + ';' + this.ftSty + '">'+
txt +
'<\/div>';
};
bpmnAnnotation.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
this.input1=new InputPort();
this.input1.setWorkflow(_40c5);
this.input1.setName('input1');
this.input1.setZOrder(-1);
this.input1.setBackgroundColor(new Color(255, 255, 255));
this.input1.setColor(new Color(255, 255, 255));
//this.addPort(this.input1,0,this.height/2);
this.addPort(this.input1,-this.getWidth()/2,-this.getHeight()/4);
};
};
bpmnAnnotationDialog = function (_2e5e) {
this.figure = _2e5e;
var title = 'Annotation';
Dialog.call(this, title);
this.setDimension(400, 150); //Set the width and height of the Dialog box
}
bpmnAnnotationDialog.prototype = new Dialog();
bpmnAnnotationDialog.prototype.createHTMLElement = function () {
var item = Dialog.prototype.createHTMLElement.call(this);
var inputDiv = document.createElement("form");
inputDiv.style.position = "absolute";
inputDiv.style.left = "10px";
inputDiv.style.top = "30px";
inputDiv.style.width = "375px";
inputDiv.style.font = "normal 10px verdana";
item.appendChild(inputDiv);
this.label = document.createTextNode("Annotation Name");
inputDiv.appendChild(this.label);
this.input = document.createElement("textarea");
this.input.style.border = "1px solid gray";
this.input.style.font = "normal 10px verdana";
//this.input.type = "text";
this.input.maxLength = "500";
this.input.cols = "50";
this.input.rows = "3";
var value = bpmnTask.prototype.trim(this.figure.workflow.currentSelection.annotationName);
if (value) this.input.value = value;
else this.input.value = "";
this.input.style.width = "100%";
inputDiv.appendChild(this.input);
this.input.focus();
return item;
};
/*Double Click Event for opening the dialog Box*/
bpmnAnnotation.prototype.onDoubleClick = function () {
var _409d = new bpmnAnnotationDialog(this);
this.workflow.showDialog(_409d, this.workflow.currentSelection.x, this.workflow.currentSelection.y);
};
/**
* This method will be called if the user pressed the OK button in buttonbar of the dialog.<br>
* The string is first cleared and new string is painted.<br><br>
**/
bpmnAnnotationDialog.prototype.onOk = function () {
this.figure.bpmnText.clear();
len = Math.ceil(this.input.value.length/16);
if(this.input.value.length < 19)
{
len = 1.5;
if(this.input.value.length > 9)
this.figure.rectWidth = this.input.value.length*8;
else
this.figure.rectWidth = 48;
}
else
this.figure.rectWidth = 150;
//tempcoord = this.workflow.currentSelection.coord_converter(this.workflow.currentSelection.width, this.workflow.currentSelection.height, this.input.value.length)
this.figure.bpmnText.drawStringAnno(this.input.value,20,20,this.figure.rectWidth,'left');
// this.figure.bpmnNewText.drawTextString(this.input.value, this.workflow.currentSelection.width, this.workflow.currentSelection.height, tempcoord.temp_x, tempcoord.temp_y);
this.figure.bpmnText.paint();
this.figure.annotationName = this.input.value; //Set Updated Text value
//Updating Annotation Text Async into the DB
this.figure.actiontype = 'updateText';
this.workflow.saveShape(this.figure);
if(this.figure.rectWidth<80)
tempW = 110;
else
tempW = this.figure.rectWidth+35;
this.workflow.currentSelection.setDimension(tempW, len*13+40);
this.workflow.removeFigure(this);
};

View File

@@ -1,33 +0,0 @@
bpmnDataobject = function (_30ab) {
VectorFigure.call(this);
this.setDimension(50, 80);
this.setTaskName(_30ab.taskNo); //It will set the Default Task Name with appropriate count While dragging a task on the canvas
};
bpmnDataobject.prototype = new VectorFigure;
bpmnDataobject.prototype.type = "bpmnDataobject";
bpmnDataobject.prototype.setTaskName = function (name) {
this.taskName = 'Data Object ' + name;
};
bpmnDataobject.prototype.paint = function () {
VectorFigure.prototype.paint.call(this);
var x = new Array(0, this.getWidth()-10, this.getWidth(), this.getWidth()-10, this.getWidth()-10, this.getWidth(), this.getWidth(), 0);
var y = new Array(0, 0, 10, 10, 0, 10, this.getHeight(), this.getHeight());
this.graphics.setStroke(this.stroke);
this.graphics.setColor("#c0c0c0");
this.graphics.fillPolygon(x, y);
for (var i = 0; i < x.length; i++) {
x[i] = x[i] - 3;
y[i] = y[i] - 3;
}
this.graphics.setColor("#ffffff");
this.graphics.fillPolygon(x, y);
this.graphics.setColor("#ff0f0f");
this.graphics.drawPolygon(x, y);
this.graphics.paint();
this.x_text = this.workflow.getAbsoluteX(); //Get x co-ordinate from figure
this.y_text = this.workflow.getAbsoluteY(); //Get x co-ordinate from figure
}

View File

@@ -1,88 +0,0 @@
bpmnEventBoundaryInter=function(){
VectorFigure.call(this);
//Setting width and height values as per the zoom ratio
if(typeof workflow.zoomWidth != 'undefined' || typeof workflow.zoomHeight != 'undefined')
this.setDimension(workflow.zoomWidth, workflow.zoomHeight);
else
this.setDimension(30,30);
this.stroke = 2;
};
bpmnEventBoundaryInter.prototype=new VectorFigure;
bpmnEventBoundaryInter.prototype.type="bpmnEventBoundaryTimerInter";
bpmnEventBoundaryInter.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
var x_cir1=0;
var y_cir1=0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x_cir1+3,y_cir1+3,this.getWidth(),this.getHeight());
this.graphics.setStroke(this.stroke);
this.graphics.setColor( "#f9faf2" );
this.graphics.fillEllipse(x_cir1,y_cir1,this.getWidth(),this.getHeight());
this.graphics.setColor("#adae5e");
this.graphics.drawEllipse(x_cir1,y_cir1,this.getWidth(),this.getHeight());
var x_cir2=3;
var y_cir2=3;
this.graphics.setColor( "#f9faf2" );
this.graphics.fillEllipse(x_cir2,y_cir2,this.getWidth()-6,this.getHeight()-6);
this.graphics.setColor("#adae5e");
this.graphics.drawEllipse(x_cir2,y_cir2,this.getWidth()-6,this.getHeight()-6);
this.graphics.setColor("#adae5e");
//this.graphics.drawEllipse(x_cir3,y_cir3,this.getWidth()-20,this.getHeight()-20);
this.graphics.drawLine(this.getWidth()/2.2,this.getHeight()/2,this.getWidth()/1.6,this.getHeight()/2); //horizontal line
this.graphics.drawLine(this.getWidth()/2.2,this.getHeight()/2,this.getWidth()/2.2,this.getHeight()/3.7); //vertical line
this.graphics.drawLine(24,8,20,11); //10th min line
this.graphics.drawLine(22,15,25,15); //15th min line
this.graphics.drawLine(24,22,19,20); //25th min line
this.graphics.drawLine(15,22,15,25); //30th min line
this.graphics.drawLine(8,22,12,19); //40th min line
this.graphics.drawLine(5,15,8,15); //45th min line
this.graphics.drawLine(8,8,11,11); //50th min line
this.graphics.drawLine(15,5,15,8); //60th min line
this.graphics.paint();
/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventBoundaryInter.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input2','output2'];
var eventPortType = ['InputPort','OutputPort'];
var eventPositionX= [this.width/2,this.width/2];
var eventPositionY= [0,this.height];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
}
};
bpmnEventBoundaryInter.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

View File

@@ -1,80 +0,0 @@
bpmnEventCancelEnd=function(){
VectorFigure.call(this);
//Setting width and height values as per the zoom ratio
if(typeof workflow.zoomWidth != 'undefined' || typeof workflow.zoomHeight != 'undefined')
this.setDimension(workflow.zoomWidth, workflow.zoomHeight);
else
this.setDimension(30,30);
this.stroke=3;
};
bpmnEventCancelEnd.prototype=new VectorFigure;
bpmnEventCancelEnd.prototype.type="bpmnEventCancelEnd";
bpmnEventCancelEnd.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
//Set the Task Limitation
if (this.getWidth() < 30 || this.getHeight() < 30) {
this.setDimension(30, 30);
}
this.graphics.setStroke(this.stroke);
var x_cir = 0;
var y_cir = 0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x_cir+5,y_cir+5,this.getWidth(),this.getHeight());
this.graphics.setColor("#f7f1e5");
this.graphics.fillEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
this.graphics.setColor("#c46508");
this.graphics.drawEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
this.graphics.setStroke(2);
//var x=new Array(16,23,31,36,29,37,32,23,16,11,18,11);
//var y=new Array(35,27,33,29,22,14,9,16,9,14,22,29);
var x=new Array(this.getWidth()/2.8,this.getWidth()/1.95,this.getWidth()/1.45,this.getWidth()/1.25,this.getWidth()/1.55,this.getWidth()/1.21,this.getWidth()/1.4,this.getWidth()/1.95,this.getWidth()/2.8,this.getWidth()/4.1,this.getWidth()/2.5,this.getWidth()/4.1);
var y=new Array(this.getHeight()/1.28,this.getHeight()/1.66,this.getHeight()/1.36,this.getHeight()/1.55,this.getHeight()/2.04,this.getHeight()/3.21,this.getHeight()/5.6,this.getHeight()/2.81,this.getHeight()/5.6,this.getHeight()/3.21,this.getHeight()/2.04,this.getHeight()/1.55);
this.graphics.setColor("#c46508");
this.graphics.fillPolygon(x,y);
this.graphics.setColor("#c46508");
//this.graphics.drawPolygon(x,y);
this.graphics.paint();
/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventCancelEnd.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input1','input2'];
var eventPortType = ['InputPort','InputPort'];
var eventPositionX= [this.width/2,0];
var eventPositionY= [0,this.height/2];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
}
};
bpmnEventCancelEnd.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

View File

@@ -1,49 +0,0 @@
bpmnEventCancelInter=function(){
VectorFigure.call(this);
this.stroke=1;
};
bpmnEventCancelInter.prototype=new VectorFigure;
bpmnEventCancelInter.prototype.type="bpmnEventCancelInter";
bpmnEventCancelInter.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
if(typeof workflow.zoomfactor == 'undefined')
workflow.zoomfactor = 1;
//Set the Task Limitation
if(typeof this.limitFlag == 'undefined' || this.limitFlag == false)
{
this.originalWidth = 30;
this.originalHeight = 30;
this.orgXPos = this.getX();
this.orgYPos = this.getY();
this.orgFontSize =this.fontSize;
}
this.width = this.originalWidth * workflow.zoomfactor;
this.height = this.originalHeight * workflow.zoomfactor;
this.graphics.setStroke(this.stroke);
var x_cir = 0;
var y_cir = 0;
this.graphics.setColor("#000000");
this.graphics.drawEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
var x_cir2=5;
var y_cir2=5;
this.graphics.setColor("#000000");
this.graphics.drawEllipse(x_cir2,y_cir2,this.getWidth()-10,this.getHeight()-10);
//var x=new Array(16,23,31,36,29,37,32,23,16,11,18,11);
//var y=new Array(35,27,33,29,22,14,9,16,9,14,22,29);
var cw = this.getWidth();
var ch = this.getHeight();
var x=new Array(cw*0.35,cw*0.51,cw*0.68,cw*0.8,cw*0.64,cw*0.82,cw*0.71,cw*0.51,cw*0.35,cw*0.24,cw*0.4,cw*0.24);
var y=new Array(ch*0.78,ch*0.6,ch*0.73,ch*0.64,ch*0.49,ch*0.31,ch*0.17,ch*0.35,ch*0.17,ch*0.31,ch*0.49,ch*0.64);
//var x=new Array(cw/2.8,cw/1.95,cw/1.45,cw/1.25,cw/1.55,cw/1.21,cw/1.4,cw/1.95,cw/2.8,cw/4.1,cw/2.5,cw/4.1);
//var y=new Array(ch/1.28,ch/1.66,ch/1.36,ch/1.55,ch/2.04,ch/3.21,ch/5.6,ch/2.81,ch/5.6,ch/3.21,ch/2.04,ch/1.55);
this.graphics.setColor("#ffffff");
this.graphics.fillPolygon(x,y);
this.graphics.setColor("#000000");
this.graphics.drawPolygon(x,y);
this.graphics.paint();
};

View File

@@ -1,74 +0,0 @@
bpmnEventCompEnd=function(){
VectorFigure.call(this);
//Setting width and height values as per the zoom ratio
if(typeof workflow.zoomWidth != 'undefined' || typeof workflow.zoomHeight != 'undefined')
this.setDimension(workflow.zoomWidth, workflow.zoomHeight);
else
this.setDimension(30,30);
this.stroke=3
};
bpmnEventCompEnd.prototype=new VectorFigure;
bpmnEventCompEnd.prototype.type="bpmnEventCompEnd";
bpmnEventCompEnd.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
this.graphics.setStroke(this.stroke);
var x_cir = 0;
var y_cir = 0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x_cir+5,y_cir+5,this.getWidth(),this.getHeight());
this.graphics.setColor("#f7f1e5");
this.graphics.fillEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
this.graphics.setColor("#c46508");
this.graphics.drawEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
//var x_arrow=new Array(6,19,19,32,32,19,19);
//var y_arrow=new Array(22,33,22,33,11,22,11);
var x_arrow=new Array(this.getWidth()/7,this.getWidth()/2.36,this.getWidth()/2.36,this.getWidth()/1.4,this.getWidth()/1.42,this.getWidth()/2.36,this.getWidth()/2.36);
var y_arrow=new Array(this.getHeight()/2,this.getHeight()/1.36,this.getHeight()/2,this.getHeight()/1.36,this.getHeight()/4,this.getHeight()/2,this.getHeight()/4);
this.graphics.setColor( "#c46508" );
this.graphics.fillPolygon(x_arrow,y_arrow);
this.graphics.setColor("#c46508");
//this.graphics.drawPolygon(x_arrow,y_arrow);
this.graphics.paint();/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventCompEnd.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input1','input2'];
var eventPortType = ['InputPort','InputPort'];
var eventPositionX= [this.width/2,0];
var eventPositionY= [0,this.height/2];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
}
};
bpmnEventCompEnd.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

View File

@@ -1,121 +0,0 @@
bpmnEventCompInter=function(){
VectorFigure.call(this);
this.stroke=1
};
bpmnEventCompInter.prototype=new VectorFigure;
bpmnEventCompInter.prototype.type="bpmnEventCompInter";
bpmnEventCompInter.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
if(typeof workflow.zoomfactor == 'undefined')
workflow.zoomfactor = 1;
//Set the Task Limitation
if(typeof this.limitFlag == 'undefined' || this.limitFlag == false)
{
this.originalWidth = 30;
this.originalHeight = 30;
this.orgXPos = this.getX();
this.orgYPos = this.getY();
this.orgFontSize =this.fontSize;
}
this.width = this.originalWidth * workflow.zoomfactor;
this.height = this.originalHeight * workflow.zoomfactor;
this.graphics.setStroke(this.stroke);
var x_cir =0;
var y_cir =0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x_cir+3,y_cir+3,this.getWidth(),this.getHeight());
this.graphics.setColor("#f9faf2")
this.graphics.fillEllipse(x_cir,y_cir,this.getWidth(),this.getHeight())
this.graphics.setColor("#adae5e");
this.graphics.drawEllipse(x_cir,y_cir,this.getWidth(),this.getHeight());
var x_cir2=3;
var y_cir2=3;
this.graphics.setColor("#adae5e");
this.graphics.drawEllipse(x_cir2,y_cir2,this.getWidth()-6,this.getHeight()-6);
//var x_arrow=new Array(6,19,19,32,32,19,19);
//var y_arrow=new Array(22,33,22,33,11,22,11);
var cw = this.getWidth();
var ch = this.getHeight();
var x_arrow=new Array(cw*0.13,cw*0.42,cw*0.42,cw*0.71,cw*0.7,cw*0.42,cw*0.42);
var y_arrow=new Array(ch*0.5,ch*0.73,ch*0.5,ch*0.73,ch*0.25,ch*0.5,ch*0.25);
//var x_arrow=new Array(cw/7.5,cw/2.36,cw/2.36,cw/1.4,cw/1.42,cw/2.36,cw/2.36);
//var y_arrow=new Array(ch/2,ch/1.36,ch/2,ch/1.36,ch/4,ch/2,ch/4);
this.graphics.setColor( "#adae5e" );
this.graphics.fillPolygon(x_arrow,y_arrow);
this.graphics.setColor("#adae5e");
this.graphics.drawPolygon(x_arrow,y_arrow);
this.graphics.paint();
/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventCompInter.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input1','input2','output1','output2'];
var eventPortType = ['InputPort','InputPort','OutputPort','OutputPort'];
var eventPositionX= [0,this.width/2,this.width,this.width/2];
var eventPositionY= [this.height/2,0,this.height/2,this.height];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
/*
this.output1=new OutputPort();
this.output1.setWorkflow(_40c5);
this.output1.setName("output1");
this.output1.setBackgroundColor(new Color(115, 115, 245));
this.addPort(this.output1,this.width/2,this.height);
this.output2=new OutputPort();
this.output2.setWorkflow(_40c5);
this.output2.setName("output2");
this.output2.setBackgroundColor(new Color(115, 115, 245));
this.addPort(this.output2,this.width,this.height/2);
this.input1=new InputPort();
this.input1.setWorkflow(_40c5);
this.input1.setName("input1");
this.input1.setBackgroundColor(new Color(245,115,115));
this.addPort(this.input1,0,this.height/2);
this.input2=new InputPort();
this.input2.setWorkflow(_40c5);
this.input2.setName("input2");
this.input2.setBackgroundColor(new Color(245,115,115));
this.addPort(this.input2,this.width/2,0);*/
}
};
bpmnEventCompInter.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

View File

@@ -1,89 +0,0 @@
bpmnEventEmptyEnd=function(){
VectorFigure.call(this);
this.stroke=2;
};
bpmnEventEmptyEnd.prototype=new VectorFigure;
bpmnEventEmptyEnd.prototype.type="bpmnEventEmptyEnd";
bpmnEventEmptyEnd.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
if(typeof workflow.zoomfactor == 'undefined')
workflow.zoomfactor = 1;
//Set the Task Limitation
if(typeof this.limitFlag == 'undefined' || this.limitFlag == false)
{
this.originalWidth = 30;
this.originalHeight = 30;
this.orgXPos = this.getX();
this.orgYPos = this.getY();
this.orgFontSize =this.fontSize;
}
this.width = this.originalWidth * workflow.zoomfactor;
this.height = this.originalHeight * workflow.zoomfactor;
var x=0;
var y=0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x+5,y+5,this.getWidth(),this.getHeight());
this.graphics.setStroke(this.stroke);
this.graphics.setColor( "#f5d4d4" );
this.graphics.fillEllipse(x,y,this.getWidth(),this.getHeight());
this.graphics.setColor("#a23838");
this.graphics.drawEllipse(x,y,this.getWidth(),this.getHeight());
this.graphics.paint();
/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventEmptyEnd.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input1','input2'];
var eventPortType = ['InputPort','InputPort'];
var eventPositionX= [this.width/2,0];
var eventPositionY= [0,this.height/2];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
/*
this.input1=new InputPort();
this.input1.setWorkflow(_40c5);
this.input1.setName("input1");
this.input1.setBackgroundColor(new Color(245,115,115));
this.addPort(this.input1,this.width/2,0);
this.input2=new InputPort();
this.input2.setWorkflow(_40c5);
this.input2.setName("input2");
this.input2.setBackgroundColor(new Color(245,115,115));
this.addPort(this.input2,0,this.height/2);*/
}
};
bpmnEventEmptyEnd.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

View File

@@ -1,91 +0,0 @@
bpmnEventEmptyInter=function(width,_30ab){
VectorFigure.call(this);
this.stroke=1;
};
bpmnEventEmptyInter.prototype=new VectorFigure;
bpmnEventEmptyInter.prototype.type="bpmnEventEmptyInter";
bpmnEventEmptyInter.prototype.paint=function(){
VectorFigure.prototype.paint.call(this);
if(typeof workflow.zoomfactor == 'undefined')
workflow.zoomfactor = 1;
//Set the Task Limitation
if(typeof this.limitFlag == 'undefined' || this.limitFlag == false)
{
this.originalWidth = 30;
this.originalHeight = 30;
this.orgXPos = this.getX();
this.orgYPos = this.getY();
this.orgFontSize =this.fontSize;
}
this.width = this.originalWidth * workflow.zoomfactor;
this.height = this.originalHeight * workflow.zoomfactor;
this.graphics.setStroke(this.stroke);
var x_cir1 = 0;
var y_cir1 = 0;
this.graphics.setColor("#c0c0c0");
this.graphics.fillEllipse(x_cir1+3,y_cir1+3,this.getWidth(),this.getHeight());
this.graphics.setColor( "#f9faf2" );
this.graphics.fillEllipse(x_cir1,y_cir1,this.getWidth(),this.getHeight());
this.graphics.setColor("#adae5e");
this.graphics.drawEllipse(x_cir1,y_cir1,this.getWidth(),this.getHeight());
this.graphics.setStroke(this.stroke);
var x_cir2=3;
var y_cir2=3;
this.graphics.setColor( "#f9faf2" );
this.graphics.fillEllipse(x_cir2,y_cir2,this.getWidth()-6,this.getHeight()-6);
this.graphics.setColor("#adae5e");
//this.graphics.drawEllipse(x_cir2,y_cir2,this.getWidth()-6,this.getHeight()-6);
var cw = this.getWidth();
var ch = this.getHeight();
this.graphics.drawEllipse(cw*0.15, ch*0.15, ch*0.7, ch*0.7);
this.graphics.paint();
/*Code Added to Dynamically shift Ports on resizing of shapes
**/
if(this.input1!=null){
this.input1.setPosition(0,this.height/2);
}
if(this.output1!=null){
this.output1.setPosition(this.width/2,this.height);
}
if(this.input2!=null){
this.input2.setPosition(this.width/2,0);
}
if(this.output2!=null){
this.output2.setPosition(this.width,this.height/2);
}
};
bpmnEventEmptyInter.prototype.setWorkflow=function(_40c5){
VectorFigure.prototype.setWorkflow.call(this,_40c5);
if(_40c5!=null){
var eventPortName = ['input1','input2','output1','output2'];
var eventPortType = ['InputPort','InputPort','OutputPort','OutputPort'];
var eventPositionX= [0,this.width/2,this.width,this.width/2];
var eventPositionY= [this.height/2,0,this.height/2,this.height];
for(var i=0; i< eventPortName.length ; i++){
eval('this.'+eventPortName[i]+' = new '+eventPortType[i]+'()'); //Create New Port
eval('this.'+eventPortName[i]+'.setWorkflow(_40c5)'); //Add port to the workflow
eval('this.'+eventPortName[i]+'.setName("'+eventPortName[i]+'")'); //Set PortName
eval('this.'+eventPortName[i]+'.setZOrder(-1)'); //Set Z-Order of the port to -1. It will be below all the figure
eval('this.'+eventPortName[i]+'.setBackgroundColor(new Color(255, 255, 255))'); //Setting Background of the port to white
eval('this.'+eventPortName[i]+'.setColor(new Color(255, 255, 255))'); //Setting Border of the port to white
eval('this.addPort(this.'+eventPortName[i]+','+eventPositionX[i]+', '+eventPositionY[i]+')'); //Setting Position of the port
}
}
};
bpmnEventEmptyInter.prototype.getContextMenu=function(){
if(this.id != null){
this.workflow.handleContextMenu(this);
}
};

Some files were not shown because too many files have changed in this diff Show More