Merge pull request #170 from hector-cortez/BUG-8369

BUG 8369 Adjustment for standardization of code SOLVED
This commit is contained in:
julceslauhub
2012-07-04 15:48:26 -07:00
2 changed files with 2602 additions and 2556 deletions

View File

@@ -1,11 +1,11 @@
<?php
/**
* AdditionalTables.php
* @package workflow.engine.classes.model
*/
require_once 'classes/model/om/BaseAdditionalTables.php';
/**
* Skeleton subclass for representing a row from the 'ADDITIONAL_TABLES' table.
*
@@ -18,7 +18,8 @@ require_once 'classes/model/om/BaseAdditionalTables.php';
*
* @package workflow.engine.classes.model
*/
class AdditionalTables extends BaseAdditionalTables {
class AdditionalTables extends BaseAdditionalTables
{
public $fields = array();
public $primaryKeys = array();
@@ -27,7 +28,7 @@ class AdditionalTables extends BaseAdditionalTables {
* Function load
* access public
*/
public function load($sUID, $bFields = false)
public function load($sUID, $bFields=false)
{
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($sUID);
@@ -81,15 +82,15 @@ class AdditionalTables extends BaseAdditionalTables {
return $this->fields;
}
public function getPrimaryKeys($type = 'complete')
public function getPrimaryKeys($type='complete')
{
$this->primaryKeys = array();
foreach ($this->fields as $field) {
if ($field['FLD_KEY'] == '1') {
if ($type == 'complete') {
$this->primaryKeys[] = $field;
}
else { // just field names
} else {
// just field names
$this->primaryKeys[] = $field['FLD_NAME'];
}
}
@@ -97,7 +98,8 @@ class AdditionalTables extends BaseAdditionalTables {
return $this->primaryKeys;
}
public function loadByName($name) {
public function loadByName($name)
{
try {
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
@@ -126,8 +128,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oDataset->next();
return $oDataset->getRow();
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
@@ -135,7 +136,7 @@ class AdditionalTables extends BaseAdditionalTables {
/**
* Create & Update function
*/
function create($aData, $aFields = array())
public function create($aData, $aFields=array())
{
if (!isset($aData['ADD_TAB_UID']) || (isset($aData['ADD_TAB_UID']) && $aData['ADD_TAB_UID'] == '')) {
$aData['ADD_TAB_UID'] = G::generateUniqueID();
@@ -151,7 +152,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->begin();
$iResult = $oAdditionalTables->save();
$oConnection->commit();
/****DEPRECATED
/* * **DEPRECATED
require_once 'classes/model/ShadowTable.php';
$oShadowTable = new ShadowTable();
$oShadowTable->create(array('ADD_TAB_UID' => $aData['ADD_TAB_UID'],
@@ -165,19 +166,19 @@ class AdditionalTables extends BaseAdditionalTables {
} else {
$sMessage = '';
$aValidationFailures = $oAdditionalTables->getValidationFailures();
foreach($aValidationFailures as $oValidationFailure) {
foreach ($aValidationFailures as $oValidationFailure) {
$sMessage .= $oValidationFailure->getMessage() . '<br />';
}
throw(new Exception('The registry cannot be created!<br />' . $sMessage));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
$oConnection->rollback();
throw($oError);
}
}
function update($aData, $aFields = array()) {
public function update($aData, $aFields=array())
{
$oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME);
try {
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($aData['ADD_TAB_UID']);
@@ -187,7 +188,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->begin();
$iResult = $oAdditionalTables->save();
$oConnection->commit();
/*** DEPRECATED
/* * * DEPRECATED
require_once 'classes/model/ShadowTable.php';
$oShadowTable = new ShadowTable();
$oShadowTable->create(array('ADD_TAB_UID' => $aData['ADD_TAB_UID'],
@@ -196,28 +197,26 @@ class AdditionalTables extends BaseAdditionalTables {
'USR_UID' => (isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),
'APP_UID' => '',
'SHD_DATE' => date('Y-m-d H:i:s')));
return $iResult;*/
}
else {
return $iResult; */
} else {
$sMessage = '';
$aValidationFailures = $oAdditionalTables->getValidationFailures();
foreach($aValidationFailures as $oValidationFailure) {
foreach ($aValidationFailures as $oValidationFailure) {
$sMessage .= $oValidationFailure->getMessage() . '<br />';
}
throw(new Exception('The registry cannot be updated!<br />'.$sMessage));
throw(new Exception('The registry cannot be updated!<br />' . $sMessage));
}
}
else {
} else {
throw(new Exception('This row doesn\'t exist!'));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
$oConnection->rollback();
throw($oError);
}
}
function remove($sUID) {
public function remove($sUID)
{
$oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME);
try {
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($sUID);
@@ -228,18 +227,16 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit();
return $iResult;
}
else {
} else {
throw(new Exception('This row doesn\'t exist!'));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
$oConnection->rollback();
throw($oError);
}
}
function deleteAll($id)
public function deleteAll($id)
{
//deleting pm table
$additionalTable = AdditionalTables::load($id);
@@ -258,7 +255,8 @@ class AdditionalTables extends BaseAdditionalTables {
$pmTable->remove();
}
function getPHPName($sName) {
public function getPHPName($sName)
{
$sName = trim($sName);
$aAux = explode('_', $sName);
foreach ($aAux as $iKey => $sPart) {
@@ -267,20 +265,24 @@ class AdditionalTables extends BaseAdditionalTables {
return implode('', $aAux);
}
function deleteMultiple($arrUID){
$arrUIDs = explode(",",$arrUID);
foreach ($arrUIDs as $UID){
public function deleteMultiple($arrUID)
{
$arrUIDs = explode(",", $arrUID);
foreach ($arrUIDs as $UID) {
$this->deleteAll($UID);
}
}
function getDataCriteria($sUID) {
public function getDataCriteria($sUID)
{
try {
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
if (file_exists ($sPath . $sClassName . '.php') ) {
if (file_exists($sPath . $sClassName . '.php')) {
require_once $sPath . $sClassName . '.php';
} else {
return null;
@@ -300,35 +302,38 @@ class AdditionalTables extends BaseAdditionalTables {
case 'VARCHAR':
case 'TEXT':
case 'DATE':
// if($aField['FLD_NULL']!=1)
// eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ', \'(<28>_<EFBFBD>_<EFBFBD>)\', Criteria::NOT_EQUAL);');
// if($aField['FLD_NULL']!=1)
// eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME']
//. ', \'(<28>_<EFBFBD>_<EFBFBD>)\', Criteria::NOT_EQUAL);');
break;
case 'INT';
case 'FLOAT':
eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ', -99999999999, Criteria::NOT_EQUAL);');
eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME']
.', -99999999999, Criteria::NOT_EQUAL);');
break;
}
//eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::PM_UNIQUE_ID);');
//echo $oCriteria->toString();
return $oCriteria;
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
function getAllData($sUID, $start=NULL, $limit=NULL, $keyOrderUppercase = true)
public function getAllData($sUID, $start=null, $limit=null, $keyOrderUppercase=true)
{
$addTab = new AdditionalTables();
$aData = $addTab->load($sUID, true);
if (! isset($_SESSION['PROCESS'])) {
if (!isset($_SESSION['PROCESS'])) {
$_SESSION["PROCESS"] = $aData['PRO_UID'];
}
$aData['DBS_UID'] = $aData['DBS_UID'] ? $aData['DBS_UID'] : 'workflow';
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
if (file_exists ($sPath . $sClassName . '.php') ) {
if (file_exists($sPath . $sClassName . '.php')) {
require_once $sPath . $sClassName . '.php';
} else {
return null;
@@ -339,17 +344,17 @@ class AdditionalTables extends BaseAdditionalTables {
$oCriteria = new Criteria($aData['DBS_UID']);
//eval('$oCriteria->addSelectColumn("\'1\' AS DUMMY");');
if($keyOrderUppercase==true){
if ($keyOrderUppercase == true) {
foreach ($aData['FIELDS'] as $aField) {
eval('$oCriteria->addSelectColumn(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ');');
if ($aField['FLD_KEY'] == '1') {
eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ');');
eval('$oCriteria->addAscendingOrderByColumn('. $sClassPeerName . '::' . $aField['FLD_NAME'] . ');');
}
}
}
$oCriteriaCount = clone $oCriteria;
//$count = $sClassPeerName::doCount($oCriteria);
eval('$count = '.$sClassPeerName.'::doCount($oCriteria);');
eval('$count = ' . $sClassPeerName . '::doCount($oCriteria);');
if (isset($limit)) {
$oCriteria->setLimit($limit);
@@ -358,8 +363,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oCriteria->setOffset($start);
}
//$rs = $sClassPeerName::doSelectRS($oCriteria);
eval('$rs = '.$sClassPeerName.'::doSelectRS($oCriteria);');
$rs->setFetchmode (ResultSet::FETCHMODE_ASSOC);
eval('$rs = ' . $sClassPeerName . '::doSelectRS($oCriteria);');
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rows = Array();
while ($rs->next()) {
@@ -369,28 +374,33 @@ class AdditionalTables extends BaseAdditionalTables {
return array('rows' => $rows, 'count' => $count);
}
function checkClassNotExist($sUID) {
public function checkClassNotExist($sUID)
{
try {
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
if (file_exists ($sPath . $sClassName . '.php') ) {
if (file_exists($sPath . $sClassName . '.php')) {
return $sClassName;
} else {
return '';
}
} catch (Exception $oError) {
throw($oError);
}
}
function saveDataInTable($sUID, $aFields) {
public function saveDataInTable($sUID, $aFields)
{
try {
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
// $oConnection = Propel::getConnection(FieldsPeer::DATABASE_NAME);
$oConnection = Propel::getConnection($aData['DBS_UID']);
$stmt = $oConnection->createStatement();
@@ -406,24 +416,27 @@ class AdditionalTables extends BaseAdditionalTables {
$sKeys = substr($sKeys, 0, -1);
$oClass = new $sClassName;
foreach ($aFields as $sKey => $sValue) {
if(!preg_match("/\(?\)/", $sKey))
if (!preg_match("/\(?\)/", $sKey)) {
eval('$oClass->set' . $this->getPHPName($sKey) . '($aFields["' . $sKey . '"]);');
}
}
if ($oClass->validate()) {
$iResult = $oClass->save();
}
return true;
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
function getDataTable($sUID, $aKeys) {
public function getDataTable($sUID, $aKeys)
{
try {
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
require_once $sPath . $sClassName . '.php';
$sKeys = '';
foreach ($aKeys as $sName => $vValue) {
@@ -435,26 +448,27 @@ class AdditionalTables extends BaseAdditionalTables {
//eval('$oClass = ' . $sClassName . 'Peer::retrieveByPK($sPMUID);');
if (!is_null($oClass)) {
return $oClass->toArray(BasePeer::TYPE_FIELDNAME);
}
else {
} else {
return false;
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
function updateDataInTable($sUID, $aFields) {
public function updateDataInTable($sUID, $aFields)
{
try {
//$sPMUID = $aFields['PM_UNIQUE_ID'];
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
$oConnection = Propel::getConnection(FieldsPeer::DATABASE_NAME);
require_once $sPath . $sClassName . '.php';
$sKeys = '';
foreach ($aData['FIELDS'] as $aField) {//$sName => $vValue
foreach ($aData['FIELDS'] as $aField) {
if ($aField['FLD_KEY'] == 1) {
$vValue = $aFields[$aField['FLD_NAME']];
eval('$' . $aField['FLD_NAME'] . ' = $vValue;');
@@ -472,32 +486,32 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit();
return $iResult;
}
}
else {
} else {
$sMessage = '';
if ($oClass) {
$aValidationFailures = $oClass->getValidationFailures();
foreach($aValidationFailures as $oValidationFailure) {
foreach ($aValidationFailures as $oValidationFailure) {
$sMessage .= $oValidationFailure->getMessage() . '<br />';
}
}
else {
} else {
$sMessage = 'Error, row cannot updated';
return false;
}
throw(new Exception('The registry cannot be updated!<br />' . $sMessage));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
function deleteDataInTable($sUID, $aKeys) {
public function deleteDataInTable($sUID, $aKeys)
{
try {
$aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP;
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != '' ? $aData['ADD_TAB_CLASS_NAME'] : $this->getPHPName($aData['ADD_TAB_NAME']));
$sClassName = ($aData['ADD_TAB_CLASS_NAME'] != ''
? $aData['ADD_TAB_CLASS_NAME']
: $this->getPHPName($aData['ADD_TAB_NAME']));
$oConnection = Propel::getConnection(FieldsPeer::DATABASE_NAME);
require_once $sPath . $sClassName . '.php';
$sKeys = '';
@@ -515,22 +529,19 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit();
return $iResult;
}
}
else {
} else {
$sMessage = '';
$aValidationFailures = $oConnection-->getValidationFailures();
foreach($aValidationFailures as $oValidationFailure) {
$aValidationFailures = $oConnection-- > getValidationFailures();
foreach ($aValidationFailures as $oValidationFailure) {
$sMessage .= $oValidationFailure->getMessage() . '<br />';
}
throw(new Exception('The registry cannot be updated!<br />' . $sMessage));
}
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
/**
* Populate the report table with all case data
* @param string $sType
@@ -538,15 +549,16 @@ class AdditionalTables extends BaseAdditionalTables {
* @param string $sGrid
* @return number
*/
public function populateReportTable($tableName, $sConnection = 'rp', $type = 'NORMAL', $processUid = '', $gridKey = '')
public function populateReportTable($tableName, $sConnection='rp', $type='NORMAL', $processUid='', $gridKey='')
{
require_once "classes/model/Application.php";
$this->className = $this->getPHPName($tableName);
$this->classPeerName = $this->className . 'Peer';
if (!file_exists (PATH_WORKSPACE . 'classes/' . $this->className . '.php') ) {
throw new Exception("ERROR: ".PATH_WORKSPACE . 'classes/' . $this->className . '.php'." class file doesn't exit!");
if (!file_exists(PATH_WORKSPACE . 'classes/' . $this->className . '.php')) {
throw new Exception( "ERROR: " . PATH_WORKSPACE . 'classes/' . $this->className . '.php'
. " class file doesn't exit!");
}
require_once PATH_WORKSPACE . 'classes/' . $this->className . '.php';
@@ -563,7 +575,7 @@ class AdditionalTables extends BaseAdditionalTables {
while ($dataset->next()) {
$row = $dataset->getRow();
//remove old applications references
$deleteSql = "DELETE FROM $tableName WHERE APP_UID = '".$row['APP_UID']."'";
$deleteSql = "DELETE FROM $tableName WHERE APP_UID = '" . $row['APP_UID'] . "'";
$rs = $stmt->executeQuery($deleteSql);
// getting the case data
$caseData = unserialize($row['APP_DATA']);
@@ -571,16 +583,17 @@ class AdditionalTables extends BaseAdditionalTables {
// quick fix
// map all empty values as NULL for Database
foreach ($caseData as $dKey => $dValue) {
if (!is_array($dValue)) { // normal fields
if (!is_array($dValue)) {
// normal fields
if (trim($dValue) === '') {
$caseData[$dKey] = NULL;
$caseData[$dKey] = null;
}
}
else { // grids
} else {
// grids
foreach ($caseData[$dKey] as $dIndex => $dRow) {
foreach ($dRow as $k => $v) {
if (trim($v) === '') {
$caseData[$dKey][$dIndex][$k] = NULL;
$caseData[$dKey][$dIndex][$k] = null;
}
}
}
@@ -592,17 +605,17 @@ class AdditionalTables extends BaseAdditionalTables {
$gridData = isset($caseData[$gridName]) ? $caseData[$gridName] : array();
foreach ($gridData as $i => $gridRow) {
eval('$obj = new ' .$this->className. '();');
eval('$obj = new ' . $this->className . '();');
$obj->fromArray($caseData, BasePeer::TYPE_FIELDNAME);
$obj->setAppUid($row['APP_UID']);
$obj->setAppNumber($row['APP_NUMBER']);
$obj->fromArray(array_change_key_case($gridRow, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
$obj->setRow($i);
$obj->save();
eval('$obj = new ' .$this->className. '();');
eval('$obj = new ' . $this->className . '();');
}
} else {
eval('$obj = new ' .$this->className. '();');
eval('$obj = new ' . $this->className . '();');
$obj->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
$obj->setAppUid($row['APP_UID']);
$obj->setAppNumber($row['APP_NUMBER']);
@@ -628,39 +641,42 @@ class AdditionalTables extends BaseAdditionalTables {
$dataset = AdditionalTablesPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
// accomplish all related report tables for this process that contain case data for the target ($appUid) application
// accomplish all related report tables for this process that contain case data
// for the target ($appUid) application
while ($dataset->next()) {
$row = $dataset->getRow();
$className = $row['ADD_TAB_CLASS_NAME'];
// verify if the report table class exists
if (!file_exists (PATH_WORKSPACE . 'classes/' . $className . '.php') ) {
if (!file_exists(PATH_WORKSPACE . 'classes/' . $className . '.php')) {
continue;
}
// the class exists then load it.
require_once PATH_WORKSPACE . 'classes/' . $className . '.php'; //
require_once PATH_WORKSPACE . 'classes/' . $className . '.php';
// create a criteria object of report table class
$c = new Criteria(pmTable::resolveDbSource($row['DBS_UID']));
// select all related records with this $appUid
eval('$c->add(' . $className . 'Peer::APP_UID, \'' . $appUid . '\');');
eval('$records = ' . $className . 'Peer::doSelect($c);');
switch ($row['ADD_TAB_TYPE']) { //switching by report table type
switch ($row['ADD_TAB_TYPE']) {
//switching by report table type
case 'NORMAL':
// parsing empty values to null
foreach ($caseData as $i => $v) {
$caseData[$i] = $v === '' ? NULL : $v;
$caseData[$i] = $v === '' ? null : $v;
}
if (is_array($records) && count($records) > 0) { // if the record already exists on the report table
foreach ($records as $record) { //update all records
if (is_array($records) && count($records) > 0) {
// if the record already exists on the report table
foreach ($records as $record) {
//update all records
$record->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
if ($record->validate()) {
$record->save();
}
}
}
else { // there are not any record for this application on the table, then create it
} else {
// there are not any record for this application on the table, then create it
eval('$obj = new ' . $className . '();');
$obj->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
$obj->setAppUid($appUid);
@@ -668,7 +684,6 @@ class AdditionalTables extends BaseAdditionalTables {
$obj->save();
}
break;
case 'GRID':
list($gridName, $gridUid) = explode('-', $row['ADD_TAB_GRID']);
$gridData = isset($caseData[$gridName]) ? $caseData[$gridName] : array();
@@ -693,7 +708,7 @@ class AdditionalTables extends BaseAdditionalTables {
}
}
public function getTableVars($uid, $bWhitType = false)
public function getTableVars($uid, $bWhitType=false)
{
require_once 'classes/model/Fields.php';
try {
@@ -707,26 +722,27 @@ class AdditionalTables extends BaseAdditionalTables {
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aVars = array();
$aImportedVars = array();//This array will help to control if the variable already exist
$aImportedVars = array(); //This array will help to control if the variable already exist
while ($aRow = $oDataset->getRow()) {
if ($bWhitType) {
if (!in_array($aRow['FLD_NAME'], $aImportedVars)) {
$aImportedVars[]=$aRow['FLD_NAME'];
$aVars[] = array('sFieldName' => $aRow['FLD_NAME'], 'sFieldDynName' => $aRow['FLD_DYN_NAME'], 'sType' => $aRow['FLD_TYPE']);
$aImportedVars[] = $aRow['FLD_NAME'];
$aVars[] = array('sFieldName' => $aRow['FLD_NAME'],
'sFieldDynName' => $aRow['FLD_DYN_NAME'],
'sType' => $aRow['FLD_TYPE']);
}
}else {
} else {
$aVars[] = $aRow['FLD_NAME'];
}
$oDataset->next();
}
return $aVars;
}
catch (Exception $oError) {
} catch (Exception $oError) {
throw($oError);
}
}
public function getAll($start = 0, $limit = 20, $filter = '', $process = null)
public function getAll($start=0, $limit=20, $filter='', $process=null)
{
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
@@ -739,17 +755,18 @@ class AdditionalTables extends BaseAdditionalTables {
if (isset($process)) {
foreach ($process as $key => $pro_uid) {
if ($key == 'equal')
if ($key == 'equal') {
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::EQUAL);
else
} else {
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::NOT_EQUAL);
}
}
}
if ($filter != '' && is_string($filter)) {
$oCriteria->add(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%'.$filter.'%',Criteria::LIKE)->addOr(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_DESCRIPTION, '%'.$filter.'%',Criteria::LIKE))
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_NAME, '%' . $filter . '%', Criteria::LIKE)->addOr(
$oCriteria->getNewCriterion(AdditionalTablesPeer::ADD_TAB_DESCRIPTION, '%' . $filter . '%', Criteria::LIKE))
);
}
@@ -765,7 +782,7 @@ class AdditionalTables extends BaseAdditionalTables {
$addTables = Array();
$proUids = Array();
while( $oDataset->next() ) {
while ($oDataset->next()) {
$row = $oDataset->getRow();
$row['PRO_TITLE'] = $row['PRO_DESCRIPTION'] = '';
$addTables[] = $row;
@@ -781,10 +798,10 @@ class AdditionalTables extends BaseAdditionalTables {
//now get the labels for all process, using an array of Uids,
$c = new Criteria('workflow');
//$c->add ( ContentPeer::CON_CATEGORY, 'PRO_TITLE', Criteria::EQUAL );
$c->add(ContentPeer::CON_LANG, defined('SYS_LANG')? SYS_LANG: 'en', Criteria::EQUAL);
$c->add(ContentPeer::CON_LANG, defined('SYS_LANG') ? SYS_LANG : 'en', Criteria::EQUAL);
$c->add(ContentPeer::CON_ID, $proUids, Criteria::IN);
$dt = ContentPeer::doSelectRS ($c);
$dt = ContentPeer::doSelectRS($c);
$dt->setFetchmode(ResultSet::FETCHMODE_ASSOC);
while ($dt->next()) {
@@ -793,13 +810,15 @@ class AdditionalTables extends BaseAdditionalTables {
}
foreach ($addTables as $i => $addTable) {
if (isset($procDetails[$addTable['PRO_UID']]['PRO_TITLE']))
if (isset($procDetails[$addTable['PRO_UID']]['PRO_TITLE'])) {
$addTables[$i]['PRO_TITLE'] = $procDetails[$addTable['PRO_UID']]['PRO_TITLE'];
}
if (isset($procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION']))
if (isset($procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION'])) {
$addTables[$i]['PRO_DESCRIPTION'] = $procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION'];
}
}
}
// // fltering by proces title
// if(isset($filter['process'])) {
@@ -809,7 +828,7 @@ class AdditionalTables extends BaseAdditionalTables {
// }
// }
return array('rows'=>$addTables, 'count'=>$count);
return array('rows' => $addTables, 'count' => $count);
}
/**
@@ -818,17 +837,16 @@ class AdditionalTables extends BaseAdditionalTables {
* Don't use this method, it was left only for backward compatibility
* for some external plugins that still is using it
*/
function createPropelClasses($sTableName, $sClassName, $aFields, $sAddTabUid, $connection='workflow')
public function createPropelClasses($sTableName, $sClassName, $aFields, $sAddTabUid, $connection='workflow')
{
try {
/*$aUID = array('FLD_NAME' => 'PM_UNIQUE_ID',
/* $aUID = array('FLD_NAME' => 'PM_UNIQUE_ID',
'FLD_TYPE' => 'INT',
'FLD_KEY' => 'on',
'FLD_SIZE' => '11',
'FLD_NULL' => '',
'FLD_AUTO_INCREMENT' => 'on');
array_unshift($aFields, $aUID);*/
array_unshift($aFields, $aUID); */
$aTypes = array(
'VARCHAR' => 'string',
'TEXT' => 'string',
@@ -864,7 +882,9 @@ class AdditionalTables extends BaseAdditionalTables {
$aData['connection'] = $connection;
$aData['GUID'] = $sAddTabUid;
$aData['firstColumn'] = isset($aFields[0])? strtoupper($aFields[0]['FLD_NAME']) : ($aFields[1]['FLD_NAME']);
$aData['firstColumn'] = isset($aFields[0])
? strtoupper($aFields[0]['FLD_NAME'])
: ($aFields[1]['FLD_NAME']);
$aData['totalColumns'] = count($aFields);
$aData['useIdGenerator'] = 'false';
$oTP1 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'Table.tpl');
@@ -879,18 +899,26 @@ class AdditionalTables extends BaseAdditionalTables {
$aPKs = array();
$aNotPKs = array();
$i = 0;
foreach($aFields as $iKey => $aField) {
foreach ($aFields as $iKey => $aField) {
$aField['FLD_NAME'] = strtoupper($aField['FLD_NAME']);
if ($aField['FLD_TYPE']=='DATE') $aField['FLD_NULL'] = '';
if ($aField['FLD_TYPE'] == 'DATE') {
$aField['FLD_NULL'] = '';
}
$aColumn = array(
'name' => $aField['FLD_NAME'],
'phpName' => $this->getPHPName($aField['FLD_NAME']),
'type' => $aTypes[$aField['FLD_TYPE']],
'creoleType' => $aCreoleTypes[$aField['FLD_TYPE']],
'notNull' => ($aField['FLD_NULL'] == 'on' ? 'true' : 'false'),
'size' => (($aField['FLD_TYPE'] == 'VARCHAR') || ($aField['FLD_TYPE'] == 'INT') || ($aField['FLD_TYPE'] == 'FLOAT') ? $aField['FLD_SIZE'] : 'null'),
'size' => (($aField['FLD_TYPE'] == 'VARCHAR')
|| ($aField['FLD_TYPE'] == 'INT')
|| ($aField['FLD_TYPE'] == 'FLOAT') ? $aField['FLD_SIZE'] : 'null'),
'var' => strtolower($aField['FLD_NAME']),
'attribute' => (($aField['FLD_TYPE'] == 'VARCHAR') || ($aField['FLD_TYPE'] == 'TEXT') || ($aField['FLD_TYPE'] == 'DATE') ? '$' . strtolower($aField['FLD_NAME']) . " = ''" : '$' . strtolower($aField['FLD_NAME']) . ' = 0'),
'attribute' => (($aField['FLD_TYPE'] == 'VARCHAR')
|| ($aField['FLD_TYPE'] == 'TEXT')
|| ($aField['FLD_TYPE'] == 'DATE')
? '$' . strtolower($aField['FLD_NAME']) . " = ''"
: '$' . strtolower($aField['FLD_NAME']) . ' = 0'),
'index' => $i,
);
if ($aField['FLD_TYPE'] == 'DATE') {
@@ -909,14 +937,16 @@ class AdditionalTables extends BaseAdditionalTables {
return null;
} elseif (!is_int($this->' . $aColumn['var'] . ')) {
// a non-timestamp value was set externally, so we convert it
if (($this->' . $aColumn['var'] . ' == "0000-00-00 00:00:00") || ($this->' . $aColumn['var'] . ' == "0000-00-00") || !$this->' . $aColumn['var'] . ') {
if (($this->' . $aColumn['var'] . ' == "0000-00-00 00:00:00")
|| ($this->' . $aColumn['var'] . ' == "0000-00-00") || !$this->' . $aColumn['var'] . ') {
$ts = "0";
}
else {
$ts = strtotime($this->' . $aColumn['var'] . ');
}
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
throw new PropelException("Unable to parse value of [' . $aColumn['var'] . '] as date/time value: " . var_export($this->' . $aColumn['var'] . ', true));
throw new PropelException("Unable to parse value of [' . $aColumn['var'] . '] as date/time value: "
. var_export($this->' . $aColumn['var'] . ', true));
}
} else {
$ts = $this->' . $aColumn['var'] . ';
@@ -929,8 +959,7 @@ class AdditionalTables extends BaseAdditionalTables {
return date($format, $ts);
}
}';
}
else {
} else {
$aColumn['getFunction'] = '/**
* Get the [' . $aColumn['var'] . '] column value.
*
@@ -963,7 +992,8 @@ class AdditionalTables extends BaseAdditionalTables {
// else
$ts = strtotime($v);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
//throw new PropelException("Unable to parse date/time value for [' . $aColumn['var'] . '] from input: " . var_export($v, true));
//throw new PropelException("Unable to parse date/time value for [' . $aColumn['var'] . '] from input: "
// . var_export($v, true));
}
} else {
$ts = $v;
@@ -994,8 +1024,7 @@ class AdditionalTables extends BaseAdditionalTables {
$aColumns[] = $aColumn;
if ($aField['FLD_KEY'] == 1 || $aField['FLD_KEY'] === 'on') {
$aPKs[] = $aColumn;
}
else {
} else {
$aNotPKs[] = $aColumn;
}
if ($aField['FLD_AUTO_INCREMENT'] == 1 || $aField['FLD_AUTO_INCREMENT'] === 'on') {
@@ -1003,7 +1032,8 @@ class AdditionalTables extends BaseAdditionalTables {
}
$i++;
}
$oTP3 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'map' . PATH_SEP . 'TableMapBuilder.tpl');
$oTP3 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'map'
. PATH_SEP . 'TableMapBuilder.tpl');
$oTP3->prepare();
$oTP3->assignGlobal($aData);
foreach ($aPKs as $iIndex => $aColumn) {
@@ -1021,7 +1051,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP3->assign($sKey, $aColumn[$sKey]);
}
}
file_put_contents($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName . 'MapBuilder.php', $oTP3->getOutputContent());
file_put_contents($sPath . PATH_SEP . 'map' . PATH_SEP . $sClassName
. 'MapBuilder.php', $oTP3->getOutputContent());
$oTP4 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'om' . PATH_SEP . 'BaseTable.tpl');
$oTP4->prepare();
switch (count($aPKs)) {
@@ -1037,8 +1068,10 @@ class AdditionalTables extends BaseAdditionalTables {
$aData['getPrimaryKeyFunction'] = '$pks = array();' . "\n";
$aData['setPrimaryKeyFunction'] = '';
foreach ($aPKs as $iIndex => $aColumn) {
$aData['getPrimaryKeyFunction'] .= '$pks[' . $iIndex . '] = $this->get' . $aColumn['phpName'] . '();' . "\n";
$aData['setPrimaryKeyFunction'] .= '$this->set' . $aColumn['phpName'] . '($keys[' . $iIndex . ']);' . "\n";
$aData['getPrimaryKeyFunction'] .= '$pks[' . $iIndex . '] = $this->get'
. $aColumn['phpName'] . '();' . "\n";
$aData['setPrimaryKeyFunction'] .= '$this->set' . $aColumn['phpName']
. '($keys[' . $iIndex . ']);' . "\n";
}
$aData['getPrimaryKeyFunction'] .= 'return $pks;' . "\n";
break;
@@ -1115,7 +1148,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP4->assign($sKey, $aColumn[$sKey]);
}
}
file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . '.php', $oTP4->getOutputContent());
file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base'
. $sClassName . '.php', $oTP4->getOutputContent());
$oTP5 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'om' . PATH_SEP . 'BaseTablePeer.tpl');
$oTP5->prepare();
$sKeys = '';
@@ -1126,8 +1160,7 @@ class AdditionalTables extends BaseAdditionalTables {
//$sKeys = '$pm_unique_id';
if ($sKeys != '') {
$aData['sKeys'] = $sKeys;
}
else {
} else {
$aData['sKeys'] = '$DUMMY';
}
$oTP5->assignGlobal($aData);
@@ -1198,10 +1231,12 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP5->assign($sKey, $aColumn[$sKey]);
}
}
file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . 'Peer.php', $oTP5->getOutputContent());
}
catch (Exception $oError) {
file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base'
. $sClassName . 'Peer.php', $oTP5->getOutputContent());
} catch (Exception $oError) {
throw($oError);
}
}
} // AdditionalTables
}
// AdditionalTables

File diff suppressed because it is too large Load Diff