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 <?php
/** /**
* AdditionalTables.php * AdditionalTables.php
* @package workflow.engine.classes.model * @package workflow.engine.classes.model
*/ */
require_once 'classes/model/om/BaseAdditionalTables.php'; require_once 'classes/model/om/BaseAdditionalTables.php';
/** /**
* Skeleton subclass for representing a row from the 'ADDITIONAL_TABLES' table. * 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 * @package workflow.engine.classes.model
*/ */
class AdditionalTables extends BaseAdditionalTables { class AdditionalTables extends BaseAdditionalTables
{
public $fields = array(); public $fields = array();
public $primaryKeys = array(); public $primaryKeys = array();
@@ -88,8 +89,8 @@ class AdditionalTables extends BaseAdditionalTables {
if ($field['FLD_KEY'] == '1') { if ($field['FLD_KEY'] == '1') {
if ($type == 'complete') { if ($type == 'complete') {
$this->primaryKeys[] = $field; $this->primaryKeys[] = $field;
} } else {
else { // just field names // just field names
$this->primaryKeys[] = $field['FLD_NAME']; $this->primaryKeys[] = $field['FLD_NAME'];
} }
} }
@@ -97,7 +98,8 @@ class AdditionalTables extends BaseAdditionalTables {
return $this->primaryKeys; return $this->primaryKeys;
} }
public function loadByName($name) { public function loadByName($name)
{
try { try {
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID); $oCriteria->addSelectColumn(AdditionalTablesPeer::ADD_TAB_UID);
@@ -126,8 +128,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oDataset->next(); $oDataset->next();
return $oDataset->getRow(); return $oDataset->getRow();
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
@@ -135,7 +136,7 @@ class AdditionalTables extends BaseAdditionalTables {
/** /**
* Create & Update function * 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'] == '')) { if (!isset($aData['ADD_TAB_UID']) || (isset($aData['ADD_TAB_UID']) && $aData['ADD_TAB_UID'] == '')) {
$aData['ADD_TAB_UID'] = G::generateUniqueID(); $aData['ADD_TAB_UID'] = G::generateUniqueID();
@@ -170,14 +171,14 @@ class AdditionalTables extends BaseAdditionalTables {
} }
throw(new Exception('The registry cannot be created!<br />' . $sMessage)); throw(new Exception('The registry cannot be created!<br />' . $sMessage));
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
$oConnection->rollback(); $oConnection->rollback();
throw($oError); throw($oError);
} }
} }
function update($aData, $aFields = array()) { public function update($aData, $aFields=array())
{
$oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME); $oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME);
try { try {
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($aData['ADD_TAB_UID']); $oAdditionalTables = AdditionalTablesPeer::retrieveByPK($aData['ADD_TAB_UID']);
@@ -197,8 +198,7 @@ class AdditionalTables extends BaseAdditionalTables {
'APP_UID' => '', 'APP_UID' => '',
'SHD_DATE' => date('Y-m-d H:i:s'))); 'SHD_DATE' => date('Y-m-d H:i:s')));
return $iResult; */ return $iResult; */
} } else {
else {
$sMessage = ''; $sMessage = '';
$aValidationFailures = $oAdditionalTables->getValidationFailures(); $aValidationFailures = $oAdditionalTables->getValidationFailures();
foreach ($aValidationFailures as $oValidationFailure) { foreach ($aValidationFailures as $oValidationFailure) {
@@ -206,18 +206,17 @@ class AdditionalTables extends BaseAdditionalTables {
} }
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!')); throw(new Exception('This row doesn\'t exist!'));
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
$oConnection->rollback(); $oConnection->rollback();
throw($oError); throw($oError);
} }
} }
function remove($sUID) { public function remove($sUID)
{
$oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME); $oConnection = Propel::getConnection(AdditionalTablesPeer::DATABASE_NAME);
try { try {
$oAdditionalTables = AdditionalTablesPeer::retrieveByPK($sUID); $oAdditionalTables = AdditionalTablesPeer::retrieveByPK($sUID);
@@ -228,18 +227,16 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit(); $oConnection->commit();
return $iResult; return $iResult;
} } else {
else {
throw(new Exception('This row doesn\'t exist!')); throw(new Exception('This row doesn\'t exist!'));
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
$oConnection->rollback(); $oConnection->rollback();
throw($oError); throw($oError);
} }
} }
function deleteAll($id) public function deleteAll($id)
{ {
//deleting pm table //deleting pm table
$additionalTable = AdditionalTables::load($id); $additionalTable = AdditionalTables::load($id);
@@ -258,7 +255,8 @@ class AdditionalTables extends BaseAdditionalTables {
$pmTable->remove(); $pmTable->remove();
} }
function getPHPName($sName) { public function getPHPName($sName)
{
$sName = trim($sName); $sName = trim($sName);
$aAux = explode('_', $sName); $aAux = explode('_', $sName);
foreach ($aAux as $iKey => $sPart) { foreach ($aAux as $iKey => $sPart) {
@@ -267,18 +265,22 @@ class AdditionalTables extends BaseAdditionalTables {
return implode('', $aAux); return implode('', $aAux);
} }
function deleteMultiple($arrUID){ public function deleteMultiple($arrUID)
{
$arrUIDs = explode(",", $arrUID); $arrUIDs = explode(",", $arrUID);
foreach ($arrUIDs as $UID) { foreach ($arrUIDs as $UID) {
$this->deleteAll($UID); $this->deleteAll($UID);
} }
} }
function getDataCriteria($sUID) { public function getDataCriteria($sUID)
{
try { try {
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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'; require_once $sPath . $sClassName . '.php';
@@ -301,23 +303,24 @@ class AdditionalTables extends BaseAdditionalTables {
case 'TEXT': case 'TEXT':
case 'DATE': case 'DATE':
// if($aField['FLD_NULL']!=1) // if($aField['FLD_NULL']!=1)
// eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ', \'(<28>_<EFBFBD>_<EFBFBD>)\', Criteria::NOT_EQUAL);'); // eval('$oCriteria->add(' . $sClassPeerName . '::' . $aField['FLD_NAME']
//. ', \'(<28>_<EFBFBD>_<EFBFBD>)\', Criteria::NOT_EQUAL);');
break; break;
case 'INT'; case 'INT';
case 'FLOAT': 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; break;
} }
//eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::PM_UNIQUE_ID);'); //eval('$oCriteria->addAscendingOrderByColumn(' . $sClassPeerName . '::PM_UNIQUE_ID);');
//echo $oCriteria->toString(); //echo $oCriteria->toString();
return $oCriteria; return $oCriteria;
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($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(); $addTab = new AdditionalTables();
$aData = $addTab->load($sUID, true); $aData = $addTab->load($sUID, true);
@@ -326,7 +329,9 @@ class AdditionalTables extends BaseAdditionalTables {
} }
$aData['DBS_UID'] = $aData['DBS_UID'] ? $aData['DBS_UID'] : 'workflow'; $aData['DBS_UID'] = $aData['DBS_UID'] ? $aData['DBS_UID'] : 'workflow';
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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'; require_once $sPath . $sClassName . '.php';
@@ -369,28 +374,33 @@ class AdditionalTables extends BaseAdditionalTables {
return array('rows' => $rows, 'count' => $count); return array('rows' => $rows, 'count' => $count);
} }
function checkClassNotExist($sUID) { public function checkClassNotExist($sUID)
{
try { try {
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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; return $sClassName;
} else { } else {
return ''; return '';
} }
} catch (Exception $oError) { } catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
function saveDataInTable($sUID, $aFields) { public function saveDataInTable($sUID, $aFields)
{
try { try {
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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(FieldsPeer::DATABASE_NAME);
$oConnection = Propel::getConnection($aData['DBS_UID']); $oConnection = Propel::getConnection($aData['DBS_UID']);
$stmt = $oConnection->createStatement(); $stmt = $oConnection->createStatement();
@@ -406,24 +416,27 @@ class AdditionalTables extends BaseAdditionalTables {
$sKeys = substr($sKeys, 0, -1); $sKeys = substr($sKeys, 0, -1);
$oClass = new $sClassName; $oClass = new $sClassName;
foreach ($aFields as $sKey => $sValue) { foreach ($aFields as $sKey => $sValue) {
if(!preg_match("/\(?\)/", $sKey)) if (!preg_match("/\(?\)/", $sKey)) {
eval('$oClass->set' . $this->getPHPName($sKey) . '($aFields["' . $sKey . '"]);'); eval('$oClass->set' . $this->getPHPName($sKey) . '($aFields["' . $sKey . '"]);');
} }
}
if ($oClass->validate()) { if ($oClass->validate()) {
$iResult = $oClass->save(); $iResult = $oClass->save();
} }
return true; return true;
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
function getDataTable($sUID, $aKeys) { public function getDataTable($sUID, $aKeys)
{
try { try {
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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'; require_once $sPath . $sClassName . '.php';
$sKeys = ''; $sKeys = '';
foreach ($aKeys as $sName => $vValue) { foreach ($aKeys as $sName => $vValue) {
@@ -435,26 +448,27 @@ class AdditionalTables extends BaseAdditionalTables {
//eval('$oClass = ' . $sClassName . 'Peer::retrieveByPK($sPMUID);'); //eval('$oClass = ' . $sClassName . 'Peer::retrieveByPK($sPMUID);');
if (!is_null($oClass)) { if (!is_null($oClass)) {
return $oClass->toArray(BasePeer::TYPE_FIELDNAME); return $oClass->toArray(BasePeer::TYPE_FIELDNAME);
} } else {
else {
return false; return false;
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
function updateDataInTable($sUID, $aFields) { public function updateDataInTable($sUID, $aFields)
{
try { try {
//$sPMUID = $aFields['PM_UNIQUE_ID']; //$sPMUID = $aFields['PM_UNIQUE_ID'];
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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(FieldsPeer::DATABASE_NAME);
require_once $sPath . $sClassName . '.php'; require_once $sPath . $sClassName . '.php';
$sKeys = ''; $sKeys = '';
foreach ($aData['FIELDS'] as $aField) {//$sName => $vValue foreach ($aData['FIELDS'] as $aField) {
if ($aField['FLD_KEY'] == 1) { if ($aField['FLD_KEY'] == 1) {
$vValue = $aFields[$aField['FLD_NAME']]; $vValue = $aFields[$aField['FLD_NAME']];
eval('$' . $aField['FLD_NAME'] . ' = $vValue;'); eval('$' . $aField['FLD_NAME'] . ' = $vValue;');
@@ -472,32 +486,32 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit(); $oConnection->commit();
return $iResult; return $iResult;
} }
} } else {
else {
$sMessage = ''; $sMessage = '';
if ($oClass) { if ($oClass) {
$aValidationFailures = $oClass->getValidationFailures(); $aValidationFailures = $oClass->getValidationFailures();
foreach ($aValidationFailures as $oValidationFailure) { foreach ($aValidationFailures as $oValidationFailure) {
$sMessage .= $oValidationFailure->getMessage() . '<br />'; $sMessage .= $oValidationFailure->getMessage() . '<br />';
} }
} } else {
else {
$sMessage = 'Error, row cannot updated'; $sMessage = 'Error, row cannot updated';
return false; return false;
} }
throw(new Exception('The registry cannot be updated!<br />' . $sMessage)); throw(new Exception('The registry cannot be updated!<br />' . $sMessage));
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
function deleteDataInTable($sUID, $aKeys) { public function deleteDataInTable($sUID, $aKeys)
{
try { try {
$aData = $this->load($sUID, true); $aData = $this->load($sUID, true);
$sPath = PATH_DB . SYS_SYS . PATH_SEP . 'classes' . PATH_SEP; $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(FieldsPeer::DATABASE_NAME);
require_once $sPath . $sClassName . '.php'; require_once $sPath . $sClassName . '.php';
$sKeys = ''; $sKeys = '';
@@ -515,8 +529,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oConnection->commit(); $oConnection->commit();
return $iResult; return $iResult;
} }
} } else {
else {
$sMessage = ''; $sMessage = '';
$aValidationFailures = $oConnection-- > getValidationFailures(); $aValidationFailures = $oConnection-- > getValidationFailures();
foreach ($aValidationFailures as $oValidationFailure) { foreach ($aValidationFailures as $oValidationFailure) {
@@ -524,13 +537,11 @@ class AdditionalTables extends BaseAdditionalTables {
} }
throw(new Exception('The registry cannot be updated!<br />' . $sMessage)); throw(new Exception('The registry cannot be updated!<br />' . $sMessage));
} }
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
/** /**
* Populate the report table with all case data * Populate the report table with all case data
* @param string $sType * @param string $sType
@@ -546,7 +557,8 @@ class AdditionalTables extends BaseAdditionalTables {
$this->classPeerName = $this->className . 'Peer'; $this->classPeerName = $this->className . 'Peer';
if (!file_exists(PATH_WORKSPACE . 'classes/' . $this->className . '.php')) { if (!file_exists(PATH_WORKSPACE . 'classes/' . $this->className . '.php')) {
throw new Exception("ERROR: ".PATH_WORKSPACE . 'classes/' . $this->className . '.php'." class file doesn't exit!"); throw new Exception( "ERROR: " . PATH_WORKSPACE . 'classes/' . $this->className . '.php'
. " class file doesn't exit!");
} }
require_once PATH_WORKSPACE . 'classes/' . $this->className . '.php'; require_once PATH_WORKSPACE . 'classes/' . $this->className . '.php';
@@ -571,16 +583,17 @@ class AdditionalTables extends BaseAdditionalTables {
// quick fix // quick fix
// map all empty values as NULL for Database // map all empty values as NULL for Database
foreach ($caseData as $dKey => $dValue) { foreach ($caseData as $dKey => $dValue) {
if (!is_array($dValue)) { // normal fields if (!is_array($dValue)) {
// normal fields
if (trim($dValue) === '') { if (trim($dValue) === '') {
$caseData[$dKey] = NULL; $caseData[$dKey] = null;
} }
} } else {
else { // grids // grids
foreach ($caseData[$dKey] as $dIndex => $dRow) { foreach ($caseData[$dKey] as $dIndex => $dRow) {
foreach ($dRow as $k => $v) { foreach ($dRow as $k => $v) {
if (trim($v) === '') { if (trim($v) === '') {
$caseData[$dKey][$dIndex][$k] = NULL; $caseData[$dKey][$dIndex][$k] = null;
} }
} }
} }
@@ -628,7 +641,8 @@ class AdditionalTables extends BaseAdditionalTables {
$dataset = AdditionalTablesPeer::doSelectRS($criteria); $dataset = AdditionalTablesPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $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()) { while ($dataset->next()) {
$row = $dataset->getRow(); $row = $dataset->getRow();
$className = $row['ADD_TAB_CLASS_NAME']; $className = $row['ADD_TAB_CLASS_NAME'];
@@ -637,30 +651,32 @@ class AdditionalTables extends BaseAdditionalTables {
continue; continue;
} }
// the class exists then load it. // 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 // create a criteria object of report table class
$c = new Criteria(pmTable::resolveDbSource($row['DBS_UID'])); $c = new Criteria(pmTable::resolveDbSource($row['DBS_UID']));
// select all related records with this $appUid // select all related records with this $appUid
eval('$c->add(' . $className . 'Peer::APP_UID, \'' . $appUid . '\');'); eval('$c->add(' . $className . 'Peer::APP_UID, \'' . $appUid . '\');');
eval('$records = ' . $className . 'Peer::doSelect($c);'); 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': case 'NORMAL':
// parsing empty values to null // parsing empty values to null
foreach ($caseData as $i => $v) { 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 if (is_array($records) && count($records) > 0) {
foreach ($records as $record) { //update all records // 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); $record->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
if ($record->validate()) { if ($record->validate()) {
$record->save(); $record->save();
} }
} }
} } else {
else { // there are not any record for this application on the table, then create it // there are not any record for this application on the table, then create it
eval('$obj = new ' . $className . '();'); eval('$obj = new ' . $className . '();');
$obj->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME); $obj->fromArray(array_change_key_case($caseData, CASE_UPPER), BasePeer::TYPE_FIELDNAME);
$obj->setAppUid($appUid); $obj->setAppUid($appUid);
@@ -668,7 +684,6 @@ class AdditionalTables extends BaseAdditionalTables {
$obj->save(); $obj->save();
} }
break; break;
case 'GRID': case 'GRID':
list($gridName, $gridUid) = explode('-', $row['ADD_TAB_GRID']); list($gridName, $gridUid) = explode('-', $row['ADD_TAB_GRID']);
$gridData = isset($caseData[$gridName]) ? $caseData[$gridName] : array(); $gridData = isset($caseData[$gridName]) ? $caseData[$gridName] : array();
@@ -712,7 +727,9 @@ class AdditionalTables extends BaseAdditionalTables {
if ($bWhitType) { if ($bWhitType) {
if (!in_array($aRow['FLD_NAME'], $aImportedVars)) { if (!in_array($aRow['FLD_NAME'], $aImportedVars)) {
$aImportedVars[] = $aRow['FLD_NAME']; $aImportedVars[] = $aRow['FLD_NAME'];
$aVars[] = array('sFieldName' => $aRow['FLD_NAME'], 'sFieldDynName' => $aRow['FLD_DYN_NAME'], 'sType' => $aRow['FLD_TYPE']); $aVars[] = array('sFieldName' => $aRow['FLD_NAME'],
'sFieldDynName' => $aRow['FLD_DYN_NAME'],
'sType' => $aRow['FLD_TYPE']);
} }
} else { } else {
$aVars[] = $aRow['FLD_NAME']; $aVars[] = $aRow['FLD_NAME'];
@@ -720,8 +737,7 @@ class AdditionalTables extends BaseAdditionalTables {
$oDataset->next(); $oDataset->next();
} }
return $aVars; return $aVars;
} } catch (Exception $oError) {
catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
@@ -739,12 +755,13 @@ class AdditionalTables extends BaseAdditionalTables {
if (isset($process)) { if (isset($process)) {
foreach ($process as $key => $pro_uid) { foreach ($process as $key => $pro_uid) {
if ($key == 'equal') if ($key == 'equal') {
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::EQUAL); $oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::EQUAL);
else } else {
$oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::NOT_EQUAL); $oCriteria->add(AdditionalTablesPeer::PRO_UID, $pro_uid, Criteria::NOT_EQUAL);
} }
} }
}
if ($filter != '' && is_string($filter)) { if ($filter != '' && is_string($filter)) {
$oCriteria->add( $oCriteria->add(
@@ -793,13 +810,15 @@ class AdditionalTables extends BaseAdditionalTables {
} }
foreach ($addTables as $i => $addTable) { 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']; $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']; $addTables[$i]['PRO_DESCRIPTION'] = $procDetails[$addTable['PRO_UID']]['PRO_DESCRIPTION'];
} }
} }
}
// // fltering by proces title // // fltering by proces title
// if(isset($filter['process'])) { // if(isset($filter['process'])) {
@@ -818,8 +837,7 @@ class AdditionalTables extends BaseAdditionalTables {
* Don't use this method, it was left only for backward compatibility * Don't use this method, it was left only for backward compatibility
* for some external plugins that still is using it * for some external plugins that still is using it
*/ */
public function createPropelClasses($sTableName, $sClassName, $aFields, $sAddTabUid, $connection='workflow')
function createPropelClasses($sTableName, $sClassName, $aFields, $sAddTabUid, $connection='workflow')
{ {
try { try {
/* $aUID = array('FLD_NAME' => 'PM_UNIQUE_ID', /* $aUID = array('FLD_NAME' => 'PM_UNIQUE_ID',
@@ -864,7 +882,9 @@ class AdditionalTables extends BaseAdditionalTables {
$aData['connection'] = $connection; $aData['connection'] = $connection;
$aData['GUID'] = $sAddTabUid; $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['totalColumns'] = count($aFields);
$aData['useIdGenerator'] = 'false'; $aData['useIdGenerator'] = 'false';
$oTP1 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'Table.tpl'); $oTP1 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'Table.tpl');
@@ -881,16 +901,24 @@ class AdditionalTables extends BaseAdditionalTables {
$i = 0; $i = 0;
foreach ($aFields as $iKey => $aField) { foreach ($aFields as $iKey => $aField) {
$aField['FLD_NAME'] = strtoupper($aField['FLD_NAME']); $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( $aColumn = array(
'name' => $aField['FLD_NAME'], 'name' => $aField['FLD_NAME'],
'phpName' => $this->getPHPName($aField['FLD_NAME']), 'phpName' => $this->getPHPName($aField['FLD_NAME']),
'type' => $aTypes[$aField['FLD_TYPE']], 'type' => $aTypes[$aField['FLD_TYPE']],
'creoleType' => $aCreoleTypes[$aField['FLD_TYPE']], 'creoleType' => $aCreoleTypes[$aField['FLD_TYPE']],
'notNull' => ($aField['FLD_NULL'] == 'on' ? 'true' : 'false'), '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']), '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, 'index' => $i,
); );
if ($aField['FLD_TYPE'] == 'DATE') { if ($aField['FLD_TYPE'] == 'DATE') {
@@ -909,14 +937,16 @@ class AdditionalTables extends BaseAdditionalTables {
return null; return null;
} elseif (!is_int($this->' . $aColumn['var'] . ')) { } elseif (!is_int($this->' . $aColumn['var'] . ')) {
// a non-timestamp value was set externally, so we convert it // 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"; $ts = "0";
} }
else { else {
$ts = strtotime($this->' . $aColumn['var'] . '); $ts = strtotime($this->' . $aColumn['var'] . ');
} }
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE 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 { } else {
$ts = $this->' . $aColumn['var'] . '; $ts = $this->' . $aColumn['var'] . ';
@@ -929,8 +959,7 @@ class AdditionalTables extends BaseAdditionalTables {
return date($format, $ts); return date($format, $ts);
} }
}'; }';
} } else {
else {
$aColumn['getFunction'] = '/** $aColumn['getFunction'] = '/**
* Get the [' . $aColumn['var'] . '] column value. * Get the [' . $aColumn['var'] . '] column value.
* *
@@ -963,7 +992,8 @@ class AdditionalTables extends BaseAdditionalTables {
// else // else
$ts = strtotime($v); $ts = strtotime($v);
if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE 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 { } else {
$ts = $v; $ts = $v;
@@ -994,8 +1024,7 @@ class AdditionalTables extends BaseAdditionalTables {
$aColumns[] = $aColumn; $aColumns[] = $aColumn;
if ($aField['FLD_KEY'] == 1 || $aField['FLD_KEY'] === 'on') { if ($aField['FLD_KEY'] == 1 || $aField['FLD_KEY'] === 'on') {
$aPKs[] = $aColumn; $aPKs[] = $aColumn;
} } else {
else {
$aNotPKs[] = $aColumn; $aNotPKs[] = $aColumn;
} }
if ($aField['FLD_AUTO_INCREMENT'] == 1 || $aField['FLD_AUTO_INCREMENT'] === 'on') { if ($aField['FLD_AUTO_INCREMENT'] == 1 || $aField['FLD_AUTO_INCREMENT'] === 'on') {
@@ -1003,7 +1032,8 @@ class AdditionalTables extends BaseAdditionalTables {
} }
$i++; $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->prepare();
$oTP3->assignGlobal($aData); $oTP3->assignGlobal($aData);
foreach ($aPKs as $iIndex => $aColumn) { foreach ($aPKs as $iIndex => $aColumn) {
@@ -1021,7 +1051,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP3->assign($sKey, $aColumn[$sKey]); $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 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'om' . PATH_SEP . 'BaseTable.tpl');
$oTP4->prepare(); $oTP4->prepare();
switch (count($aPKs)) { switch (count($aPKs)) {
@@ -1037,8 +1068,10 @@ class AdditionalTables extends BaseAdditionalTables {
$aData['getPrimaryKeyFunction'] = '$pks = array();' . "\n"; $aData['getPrimaryKeyFunction'] = '$pks = array();' . "\n";
$aData['setPrimaryKeyFunction'] = ''; $aData['setPrimaryKeyFunction'] = '';
foreach ($aPKs as $iIndex => $aColumn) { foreach ($aPKs as $iIndex => $aColumn) {
$aData['getPrimaryKeyFunction'] .= '$pks[' . $iIndex . '] = $this->get' . $aColumn['phpName'] . '();' . "\n"; $aData['getPrimaryKeyFunction'] .= '$pks[' . $iIndex . '] = $this->get'
$aData['setPrimaryKeyFunction'] .= '$this->set' . $aColumn['phpName'] . '($keys[' . $iIndex . ']);' . "\n"; . $aColumn['phpName'] . '();' . "\n";
$aData['setPrimaryKeyFunction'] .= '$this->set' . $aColumn['phpName']
. '($keys[' . $iIndex . ']);' . "\n";
} }
$aData['getPrimaryKeyFunction'] .= 'return $pks;' . "\n"; $aData['getPrimaryKeyFunction'] .= 'return $pks;' . "\n";
break; break;
@@ -1115,7 +1148,8 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP4->assign($sKey, $aColumn[$sKey]); $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 = new TemplatePower(PATH_TPL . 'additionalTables' . PATH_SEP . 'om' . PATH_SEP . 'BaseTablePeer.tpl');
$oTP5->prepare(); $oTP5->prepare();
$sKeys = ''; $sKeys = '';
@@ -1126,8 +1160,7 @@ class AdditionalTables extends BaseAdditionalTables {
//$sKeys = '$pm_unique_id'; //$sKeys = '$pm_unique_id';
if ($sKeys != '') { if ($sKeys != '') {
$aData['sKeys'] = $sKeys; $aData['sKeys'] = $sKeys;
} } else {
else {
$aData['sKeys'] = '$DUMMY'; $aData['sKeys'] = '$DUMMY';
} }
$oTP5->assignGlobal($aData); $oTP5->assignGlobal($aData);
@@ -1198,10 +1231,12 @@ class AdditionalTables extends BaseAdditionalTables {
$oTP5->assign($sKey, $aColumn[$sKey]); $oTP5->assign($sKey, $aColumn[$sKey]);
} }
} }
file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base' . $sClassName . 'Peer.php', $oTP5->getOutputContent()); file_put_contents($sPath . PATH_SEP . 'om' . PATH_SEP . 'Base'
} . $sClassName . 'Peer.php', $oTP5->getOutputContent());
catch (Exception $oError) { } catch (Exception $oError) {
throw($oError); throw($oError);
} }
} }
} // AdditionalTables }
// AdditionalTables

View File

@@ -1,11 +1,11 @@
<?php <?php
/** /**
* pmTablesProxy * pmTablesProxy
* @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com> * @author Erik Amaru Ortiz <erik@colosa.com, aortiz.erik@gmail.com>
* @inherits HttpProxyController * @inherits HttpProxyController
* @access public * @access public
*/ */
require_once 'classes/model/AdditionalTables.php'; require_once 'classes/model/AdditionalTables.php';
class pmTablesProxy extends HttpProxyController class pmTablesProxy extends HttpProxyController
@@ -62,8 +62,7 @@ class pmTablesProxy extends HttpProxyController
'TYPE' => 'CLASSIC' 'TYPE' => 'CLASSIC'
); );
} }
} } else {
else {
$addTables = AdditionalTables::getAll($start, $limit, $filter); $addTables = AdditionalTables::getAll($start, $limit, $filter);
} }
@@ -75,8 +74,7 @@ class pmTablesProxy extends HttpProxyController
if ($rs->next()) { if ($rs->next()) {
$r = $rs->getRow(); $r = $rs->getRow();
$addTables['rows'][$i]['NUM_ROWS'] = $r['NUM_ROWS']; $addTables['rows'][$i]['NUM_ROWS'] = $r['NUM_ROWS'];
} } else {
else {
$addTables['rows'][$i]['NUM_ROWS'] = 0; $addTables['rows'][$i]['NUM_ROWS'] = 0;
} }
@@ -84,8 +82,7 @@ class pmTablesProxy extends HttpProxyController
if (substr($addTables['rows'][$i]['ADD_TAB_NAME'], 0, 4) == 'PMT_') { if (substr($addTables['rows'][$i]['ADD_TAB_NAME'], 0, 4) == 'PMT_') {
$addTables['rows'][$i]['ADD_TAB_NAME'] = substr($addTables['rows'][$i]['ADD_TAB_NAME'], 4); $addTables['rows'][$i]['ADD_TAB_NAME'] = substr($addTables['rows'][$i]['ADD_TAB_NAME'], 4);
} }
} } catch (Exception $e) {
catch (Exception $e) {
$addTables['rows'][$i]['NUM_ROWS'] = G::LoadTranslation('ID_TABLE_NOT_FOUND'); $addTables['rows'][$i]['NUM_ROWS'] = G::LoadTranslation('ID_TABLE_NOT_FOUND');
} }
} }
@@ -147,9 +144,9 @@ class pmTablesProxy extends HttpProxyController
$this->dynUid = $gridId; $this->dynUid = $gridId;
$httpData->textFilter = isset($httpData->textFilter) ? $httpData->textFilter : null; $httpData->textFilter = isset($httpData->textFilter) ? $httpData->textFilter : null;
$dynFields = $this->_getDynafields($aFields['PRO_UID'], 'grid', $httpData->start, $httpData->limit, $httpData->textFilter); $dynFields = $this->_getDynafields($aFields['PRO_UID'], 'grid', $httpData->start,
} $httpData->limit, $httpData->textFilter);
else { } else {
if (isset($_SESSION['_cache_pmtables'])) { if (isset($_SESSION['_cache_pmtables'])) {
unset($_SESSION['_cache_pmtables']); unset($_SESSION['_cache_pmtables']);
} }
@@ -162,11 +159,11 @@ class pmTablesProxy extends HttpProxyController
); );
} }
} }
} else {
} // normal dynaform
else { // normal dynaform
$httpData->textFilter = isset($httpData->textFilter) ? $httpData->textFilter : null; $httpData->textFilter = isset($httpData->textFilter) ? $httpData->textFilter : null;
$dynFields = $this->_getDynafields($aFields['PRO_UID'], 'xmlform', $httpData->start, $httpData->limit, $httpData->textFilter); $dynFields = $this->_getDynafields($aFields['PRO_UID'], 'xmlform', $httpData->start,
$httpData->limit, $httpData->textFilter);
} }
return $dynFields; return $dynFields;
@@ -230,8 +227,10 @@ class pmTablesProxy extends HttpProxyController
); );
// verify if exists. // verify if exists.
if ($data['REP_TAB_UID'] == '' || (isset($httpData->forceUid) && $httpData->forceUid)) { //new report table if ($data['REP_TAB_UID'] == '' || (isset($httpData->forceUid) && $httpData->forceUid)) {
if ($isReportTable && $alterTable) { //setting default columns //new report table
if ($isReportTable && $alterTable) {
//setting default columns
$defaultColumns = $this->_getReportTableDefaultColumns($data['REP_TAB_TYPE']); $defaultColumns = $this->_getReportTableDefaultColumns($data['REP_TAB_TYPE']);
$columns = array_merge($defaultColumns, $columns); $columns = array_merge($defaultColumns, $columns);
} }
@@ -249,10 +248,13 @@ class pmTablesProxy extends HttpProxyController
//backward compatility //backward compatility
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
switch ($column->field_type) { switch ($column->field_type) {
case 'INT': $columns[$i]->field_type = 'INTEGER'; break; case 'INT': $columns[$i]->field_type = 'INTEGER';
case 'TEXT': $columns[$i]->field_type = 'LONGVARCHAR'; break; break;
case 'TEXT': $columns[$i]->field_type = 'LONGVARCHAR';
break;
// propel DATETIME equivalent is TIMESTAMP // propel DATETIME equivalent is TIMESTAMP
case 'DATETIME': $columns[$i]->field_type = 'TIMESTAMP'; break; case 'DATETIME': $columns[$i]->field_type = 'TIMESTAMP';
break;
} }
// VALIDATIONS // VALIDATIONS
@@ -286,10 +288,12 @@ class pmTablesProxy extends HttpProxyController
'ADD_TAB_TYPE' => $data['REP_TAB_TYPE'], 'ADD_TAB_TYPE' => $data['REP_TAB_TYPE'],
'ADD_TAB_GRID' => $data['REP_TAB_GRID'] 'ADD_TAB_GRID' => $data['REP_TAB_GRID']
); );
if ($data['REP_TAB_UID'] == '' || (isset($httpData->forceUid) && $httpData->forceUid)) { //new report table if ($data['REP_TAB_UID'] == '' || (isset($httpData->forceUid) && $httpData->forceUid)) {
//new report table
//create record //create record
$addTabUid = $oAdditionalTables->create($addTabData); $addTabUid = $oAdditionalTables->create($addTabData);
} else { //editing report table } else {
//editing report table
//updating record //updating record
$addTabUid = $data['REP_TAB_UID']; $addTabUid = $data['REP_TAB_UID'];
$oAdditionalTables->update($addTabData); $oAdditionalTables->update($addTabData);
@@ -309,7 +313,7 @@ class pmTablesProxy extends HttpProxyController
'FLD_NAME' => $column->field_name, 'FLD_NAME' => $column->field_name,
'FLD_DESCRIPTION' => $column->field_label, 'FLD_DESCRIPTION' => $column->field_label,
'FLD_TYPE' => $column->field_type, 'FLD_TYPE' => $column->field_type,
'FLD_SIZE' => $column->field_size=='' ? NULL : $column->field_size, 'FLD_SIZE' => $column->field_size == '' ? null : $column->field_size,
'FLD_NULL' => $column->field_null ? 1 : 0, 'FLD_NULL' => $column->field_null ? 1 : 0,
'FLD_AUTO_INCREMENT' => $column->field_autoincrement ? 1 : 0, 'FLD_AUTO_INCREMENT' => $column->field_autoincrement ? 1 : 0,
'FLD_KEY' => $column->field_key ? 1 : 0, 'FLD_KEY' => $column->field_key ? 1 : 0,
@@ -325,18 +329,19 @@ class pmTablesProxy extends HttpProxyController
if ($isReportTable && $alterTable) { if ($isReportTable && $alterTable) {
// the table was create successfully but we're catching problems while populating table // the table was create successfully but we're catching problems while populating table
try { try {
$oAdditionalTables->populateReportTable($data['REP_TAB_NAME'], $pmTable->getDataSource(), $data['REP_TAB_TYPE'], $data['PRO_UID'], $data['REP_TAB_GRID']); $oAdditionalTables->populateReportTable($data['REP_TAB_NAME'],
} $pmTable->getDataSource(),
catch (Exception $e) { $data['REP_TAB_TYPE'],
$data['PRO_UID'],
$data['REP_TAB_GRID']);
} catch (Exception $e) {
$result->message = $result->msg = $e->getMessage(); $result->message = $result->msg = $e->getMessage();
} }
} }
$result->success = true; $result->success = true;
$result->message = $result->msg = $buildResult; $result->message = $result->msg = $buildResult;
} catch (Exception $e) {
}
catch (Exception $e) {
$buildResult = ob_get_contents(); $buildResult = ob_get_contents();
ob_end_clean(); ob_end_clean();
$result->success = false; $result->success = false;
@@ -345,8 +350,7 @@ class pmTablesProxy extends HttpProxyController
if (preg_match('/(.*)\s\[(.*):\s(.*)\]\s\[(.*):\s(.*)\]/', $e->getMessage(), $match)) { if (preg_match('/(.*)\s\[(.*):\s(.*)\]\s\[(.*):\s(.*)\]/', $e->getMessage(), $match)) {
$result->message = $result->msg = $match[3]; $result->message = $result->msg = $match[3];
$result->type = ucfirst($pmTable->getDbConfig()->adapter); $result->type = ucfirst($pmTable->getDbConfig()->adapter);
} } else {
else {
$result->message = $result->msg = $e->getMessage(); $result->message = $result->msg = $e->getMessage();
$result->type = G::loadTranslation('ID_EXCEPTION'); $result->type = G::loadTranslation('ID_EXCEPTION');
} }
@@ -381,8 +385,7 @@ class pmTablesProxy extends HttpProxyController
$rp = new reportTables(); $rp = new reportTables();
$rp->deleteReportTable($row->id); $rp->deleteReportTable($row->id);
$count++; $count++;
} } else {
else {
$at->deleteAll($row->id); $at->deleteAll($row->id);
$count++; $count++;
} }
@@ -396,8 +399,7 @@ class pmTablesProxy extends HttpProxyController
if ($errors == '') { if ($errors == '') {
$result->success = true; $result->success = true;
$result->message = "$count tables removed Successfully."; $result->message = "$count tables removed Successfully.";
} } else {
else {
$result->success = false; $result->success = false;
$result->message = "$count tables removed but with errors.\n$errors"; $result->message = "$count tables removed but with errors.\n$errors";
} }
@@ -450,8 +452,7 @@ class pmTablesProxy extends HttpProxyController
{ {
if ($codification == 'base64') { if ($codification == 'base64') {
$rows = unserialize(base64_decode($httpData->rows)); $rows = unserialize(base64_decode($httpData->rows));
} } else {
else {
$rows = G::json_decode(stripslashes($httpData->rows)); $rows = G::json_decode(stripslashes($httpData->rows));
} }
@@ -488,8 +489,7 @@ class pmTablesProxy extends HttpProxyController
$method = 'get' . AdditionalTables::getPHPName($primaryKey['FLD_NAME']); $method = 'get' . AdditionalTables::getPHPName($primaryKey['FLD_NAME']);
$primaryKeysValues[] = $obj->$method(); $primaryKeysValues[] = $obj->$method();
} }
} } else {
else {
$msg = ''; $msg = '';
foreach ($obj->getValidationFailures() as $objValidationFailure) { foreach ($obj->getValidationFailures() as $objValidationFailure) {
$msg .= $objValidationFailure->getMessage() . "\n"; $msg .= $objValidationFailure->getMessage() . "\n";
@@ -498,8 +498,7 @@ class pmTablesProxy extends HttpProxyController
} }
$index = G::encrypt(implode('-', $primaryKeysValues), 'pmtable'); $index = G::encrypt(implode('-', $primaryKeysValues), 'pmtable');
} } else {
else {
$toSave = false; $toSave = false;
} }
@@ -508,14 +507,12 @@ class pmTablesProxy extends HttpProxyController
$result->message = 'Record saved successfully'; $result->message = 'Record saved successfully';
$result->rows = $obj->toArray(BasePeer::TYPE_FIELDNAME); $result->rows = $obj->toArray(BasePeer::TYPE_FIELDNAME);
$result->rows['__index__'] = $index; $result->rows['__index__'] = $index;
} } else {
else {
$result->success = false; $result->success = false;
$result->rows = array(); $result->rows = array();
$result->message = '$$'; $result->message = '$$';
} }
} } catch (Exception $e) {
catch (Exception $e) {
$result->success = false; $result->success = false;
$result->rows = array(); $result->rows = array();
$result->message = $e->getMessage(); $result->message = $e->getMessage();
@@ -551,14 +548,16 @@ class pmTablesProxy extends HttpProxyController
$row = (array) $row; $row = (array) $row;
$result = $this->_dataUpdate($row, $primaryKeys); $result = $this->_dataUpdate($row, $primaryKeys);
} }
} } else {
else { //then is object //then is object
$row = (array) $rows; $row = (array) $rows;
$result = $this->_dataUpdate($row, $primaryKeys); $result = $this->_dataUpdate($row, $primaryKeys);
} }
$this->success = $result; $this->success = $result;
$this->message = $result ? G::loadTranslation('ID_UPDATED_SUCCESSFULLY') : G::loadTranslation('ID_UPDATE_FAILED'); $this->message = $result
? G::loadTranslation('ID_UPDATED_SUCCESSFULLY')
: G::loadTranslation('ID_UPDATE_FAILED');
} }
/** /**
@@ -581,7 +580,9 @@ class pmTablesProxy extends HttpProxyController
require_once $sPath . $this->className . '.php'; require_once $sPath . $this->className . '.php';
$this->success = $this->_dataDestroy($httpData->rows); $this->success = $this->_dataDestroy($httpData->rows);
$this->message = $this->success ? G::loadTranslation('ID_DELETED_SUCCESSFULLY') : G::loadTranslation('ID_DELETE_FAILED'); $this->message = $this->success
? G::loadTranslation('ID_DELETED_SUCCESSFULLY')
: G::loadTranslation('ID_DELETE_FAILED');
} }
/** /**
@@ -590,7 +591,8 @@ class pmTablesProxy extends HttpProxyController
*/ */
public function importCSV($httpData) public function importCSV($httpData)
{ {
if (preg_match('/[\x00-\x08\x0b-\x0c\x0e\x1f]/', file_get_contents($_FILES['form']['tmp_name']['CSV_FILE'])) === 0) { if (preg_match('/[\x00-\x08\x0b-\x0c\x0e\x1f]/',
file_get_contents($_FILES['form']['tmp_name']['CSV_FILE'])) === 0) {
$filename = $_FILES['form']['name']['CSV_FILE']; $filename = $_FILES['form']['name']['CSV_FILE'];
if ($oFile = fopen($_FILES['form']['tmp_name']['CSV_FILE'], 'r')) { if ($oFile = fopen($_FILES['form']['tmp_name']['CSV_FILE'], 'r')) {
require_once 'classes/model/AdditionalTables.php'; require_once 'classes/model/AdditionalTables.php';
@@ -609,7 +611,9 @@ class pmTablesProxy extends HttpProxyController
if ($i == 1) { if ($i == 1) {
$j = 0; $j = 0;
foreach ($aAdditionalTables['FIELDS'] as $aField) { foreach ($aAdditionalTables['FIELDS'] as $aField) {
if($aField['FLD_NAME'] === $aAux[$j]) $swHead = true; if ($aField['FLD_NAME'] === $aAux[$j]) {
$swHead = true;
}
$j++; $j++;
} }
} }
@@ -623,11 +627,12 @@ class pmTablesProxy extends HttpProxyController
} }
try { try {
if (!$oAdditionalTables->saveDataInTable($_POST['form']['ADD_TAB_UID'], $aData)) { if (!$oAdditionalTables->saveDataInTable($_POST['form']['ADD_TAB_UID'], $aData)) {
$sErrorMessages .= G::LoadTranslation('ID_DUPLICATE_ENTRY_PRIMARY_KEY') . ', ' . G::LoadTranslation('ID_LINE') . ' ' . $i . '. '; $sErrorMessages .= G::LoadTranslation('ID_DUPLICATE_ENTRY_PRIMARY_KEY')
. ', ' . G::LoadTranslation('ID_LINE') . ' ' . $i . '. ';
} }
} } catch (Exception $oError) {
catch (Exception $oError) { $sErrorMessages .= G::LoadTranslation('ID_ERROR_INSERT_LINE')
$sErrorMessages .= G::LoadTranslation('ID_ERROR_INSERT_LINE') . ': ' . G::LoadTranslation('ID_LINE') . ' ' . $i . '. '; . ': ' . G::LoadTranslation('ID_LINE') . ' ' . $i . '. ';
} }
} else { } else {
$swHead = false; $swHead = false;
@@ -644,12 +649,10 @@ class pmTablesProxy extends HttpProxyController
$this->success = true; $this->success = true;
$this->message = G::loadTranslation('ID_FILE_IMPORTED_SUCCESSFULLY', array($filename)); $this->message = G::loadTranslation('ID_FILE_IMPORTED_SUCCESSFULLY', array($filename));
} }
} } else {
else {
$sMessage = G::LoadTranslation('ID_UPLOAD_VALID_CSV_FILE'); $sMessage = G::LoadTranslation('ID_UPLOAD_VALID_CSV_FILE');
$this->success = false; $this->success = false;
$this->message = $sMessage; $this->message = $sMessage;
} }
} }
@@ -673,12 +676,13 @@ class pmTablesProxy extends HttpProxyController
$sErrorMessages = ''; $sErrorMessages = '';
$sDelimiter = $_POST['CSV_DELIMITER']; $sDelimiter = $_POST['CSV_DELIMITER'];
$resultData = $oAdditionalTables->getAllData($_POST['ADD_TAB_UID'], NULL, NULL, false); $resultData = $oAdditionalTables->getAllData($_POST['ADD_TAB_UID'], null, null, false);
$rows = $resultData['rows']; $rows = $resultData['rows'];
$count = $resultData['count']; $count = $resultData['count'];
$PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP; $PUBLIC_ROOT_PATH = PATH_DATA . 'sites' . PATH_SEP . SYS_SYS . PATH_SEP . 'public' . PATH_SEP;
$filenameOnly = strtolower( $aAdditionalTables['ADD_TAB_NAME'] ."_".date("Y-m-d").'_'.date("Hi").".csv"); $filenameOnly = strtolower($aAdditionalTables['ADD_TAB_NAME'] . "_" . date("Y-m-d")
. '_' . date("Hi") . ".csv");
$filename = $PUBLIC_ROOT_PATH . $filenameOnly; $filename = $PUBLIC_ROOT_PATH . $filenameOnly;
$fp = fopen($filename, "wb"); $fp = fopen($filename, "wb");
@@ -687,7 +691,9 @@ class pmTablesProxy extends HttpProxyController
$cnt = count($cols); $cnt = count($cols);
foreach ($cols as $key => $val) { foreach ($cols as $key => $val) {
$SDATA .= $val; $SDATA .= $val;
if(--$cnt > 0 ) $SDATA .= $sDelimiter; if (--$cnt > 0) {
$SDATA .= $sDelimiter;
}
} }
$SDATA .= "\n"; $SDATA .= "\n";
$bytesSaved += fwrite($fp, $SDATA); $bytesSaved += fwrite($fp, $SDATA);
@@ -708,14 +714,12 @@ class pmTablesProxy extends HttpProxyController
$result->filename = $filenameOnly; $result->filename = $filenameOnly;
$result->link = $link; $result->link = $link;
$result->message = "Generated file: $filenameOnly, size: $size"; $result->message = "Generated file: $filenameOnly, size: $size";
} } catch (Exception $e) {
catch (Exception $e) {
$result->success = false; $result->success = false;
$result->message = $e->getMessage(); $result->message = $e->getMessage();
} }
return $result; return $result;
} }
/** /**
@@ -762,7 +766,6 @@ class pmTablesProxy extends HttpProxyController
$fsData = intval(fread($fp, 9)); $fsData = intval(fread($fp, 9));
$METADATA = fread($fp, $fsData); $METADATA = fread($fp, $fsData);
break; break;
case '@SCHEMA': case '@SCHEMA':
$fsUid = intval(fread($fp, 9)); $fsUid = intval(fread($fp, 9));
$uid = fread($fp, $fsUid); $uid = fread($fp, $fsUid);
@@ -777,9 +780,9 @@ class pmTablesProxy extends HttpProxyController
if ($tableExists !== false) { if ($tableExists !== false) {
$additionalTable->deleteAll($tableExists['ADD_TAB_UID']); $additionalTable->deleteAll($tableExists['ADD_TAB_UID']);
} }
} } else {
else { if ($tableExists !== false) {
if ($tableExists !== false) {// some table exists with the same name // some table exists with the same name
// renaming... // renaming...
$tNameOld = $contentSchema['ADD_TAB_NAME']; $tNameOld = $contentSchema['ADD_TAB_NAME'];
$newTableName = $contentSchema['ADD_TAB_NAME'] . '_' . date('YmdHis'); $newTableName = $contentSchema['ADD_TAB_NAME'] . '_' . date('YmdHis');
@@ -792,7 +795,8 @@ class pmTablesProxy extends HttpProxyController
} }
// validating invalid bds_uid in old tables definition -> mapped to workflow // validating invalid bds_uid in old tables definition -> mapped to workflow
if (!$contentSchema['DBS_UID'] || $contentSchema['DBS_UID'] == '0' || !$contentSchema['DBS_UID']) { if (!$contentSchema['DBS_UID']
|| $contentSchema['DBS_UID'] == '0' || !$contentSchema['DBS_UID']) {
$contentSchema['DBS_UID'] = 'workflow'; $contentSchema['DBS_UID'] = 'workflow';
} }
@@ -808,7 +812,8 @@ class pmTablesProxy extends HttpProxyController
'field_size' => $field['FLD_SIZE'], 'field_size' => $field['FLD_SIZE'],
'field_key' => isset($field['FLD_KEY']) ? $field['FLD_KEY'] : 0, 'field_key' => isset($field['FLD_KEY']) ? $field['FLD_KEY'] : 0,
'field_null' => isset($field['FLD_NULL']) ? $field['FLD_NULL'] : 1, 'field_null' => isset($field['FLD_NULL']) ? $field['FLD_NULL'] : 1,
'field_autoincrement' => isset($field['FLD_AUTO_INCREMENT']) ? $field['FLD_AUTO_INCREMENT'] : 0 'field_autoincrement' => isset($field['FLD_AUTO_INCREMENT'])
? $field['FLD_AUTO_INCREMENT'] : 0
); );
$columns[] = $column; $columns[] = $column;
} }
@@ -819,8 +824,10 @@ class pmTablesProxy extends HttpProxyController
$tableData->REP_TAB_DSC = $contentSchema['ADD_TAB_DESCRIPTION']; $tableData->REP_TAB_DSC = $contentSchema['ADD_TAB_DESCRIPTION'];
$tableData->REP_TAB_CONNECTION = $contentSchema['DBS_UID']; $tableData->REP_TAB_CONNECTION = $contentSchema['DBS_UID'];
$tableData->PRO_UID = isset($contentSchema['PRO_UID']) ? $contentSchema['PRO_UID'] : ''; $tableData->PRO_UID = isset($contentSchema['PRO_UID']) ? $contentSchema['PRO_UID'] : '';
$tableData->REP_TAB_TYPE = isset($contentSchema['ADD_TAB_TYPE'])? $contentSchema['ADD_TAB_TYPE'] : ''; $tableData->REP_TAB_TYPE = isset($contentSchema['ADD_TAB_TYPE'])
$tableData->REP_TAB_GRID = isset($contentSchema['ADD_TAB_GRID'])? $contentSchema['ADD_TAB_GRID'] : ''; ? $contentSchema['ADD_TAB_TYPE'] : '';
$tableData->REP_TAB_GRID = isset($contentSchema['ADD_TAB_GRID'])
? $contentSchema['ADD_TAB_GRID'] : '';
$tableData->columns = G::json_encode($columns); $tableData->columns = G::json_encode($columns);
$tableData->forceUid = true; $tableData->forceUid = true;
@@ -830,29 +837,29 @@ class pmTablesProxy extends HttpProxyController
if ($result->success) { if ($result->success) {
$processQueueTables[$contentSchema['DBS_UID']][] = $contentSchema['ADD_TAB_NAME']; $processQueueTables[$contentSchema['DBS_UID']][] = $contentSchema['ADD_TAB_NAME'];
} } else {
else { $errors .= 'Error creating table: ' . $tableData->REP_TAB_NAME
$errors .= 'Error creating table: '.$tableData->REP_TAB_NAME.'-> '.$result->message . "\n\n"; . '-> ' . $result->message . "\n\n";
} }
break; break;
case '@DATA': case '@DATA':
$fstName = intval(fread($fp, 9)); $fstName = intval(fread($fp, 9));
$tableName = fread($fp, $fstName); $tableName = fread($fp, $fstName);
$fsData = intval(fread($fp, 9)); $fsData = intval(fread($fp, 9));
if ($fsData > 0) $data = fread($fp, $fsData); if ($fsData > 0) {
$data = fread($fp, $fsData);
}
break; break;
} }
$fsData = intval(fread($fp, 9)); //reading the metadata $fsData = intval(fread($fp, 9)); //reading the metadata
if($fsData > 0){ // reading next block type if ($fsData > 0) {
// reading next block type
$sType = fread($fp, $fsData); $sType = fread($fp, $fsData);
} } else {
else {
break; break;
} }
} }
fclose($fp); fclose($fp);
@@ -879,7 +886,6 @@ class pmTablesProxy extends HttpProxyController
$fsData = intval(fread($fp, 9)); $fsData = intval(fread($fp, 9));
$METADATA = fread($fp, $fsData); $METADATA = fread($fp, $fsData);
break; break;
case '@SCHEMA': case '@SCHEMA':
$fsUid = intval(fread($fp, 9)); $fsUid = intval(fread($fp, 9));
$uid = fread($fp, $fsUid); $uid = fread($fp, $fsUid);
@@ -888,11 +894,15 @@ class pmTablesProxy extends HttpProxyController
$contentSchema = unserialize($schema); $contentSchema = unserialize($schema);
$additionalTable = new additionalTables(); $additionalTable = new additionalTables();
$table = $additionalTable->loadByName($tableNameMap[$contentSchema['ADD_TAB_NAME']]); $table = $additionalTable->loadByName($tableNameMap[$contentSchema['ADD_TAB_NAME']]);
if ($table['PRO_UID'] != '') { // is a report table, try populate it if ($table['PRO_UID'] != '') {
$additionalTable->populateReportTable($table['ADD_TAB_NAME'], pmTable::resolveDbSource($table['DBS_UID']), $table['ADD_TAB_TYPE'], $table['PRO_UID'], $table['ADD_TAB_GRID']); // is a report table, try populate it
$additionalTable->populateReportTable($table['ADD_TAB_NAME'],
pmTable::resolveDbSource($table['DBS_UID']),
$table['ADD_TAB_TYPE'],
$table['PRO_UID'],
$table['ADD_TAB_GRID']);
} }
break; break;
case '@DATA': case '@DATA':
$fstName = intval(fread($fp, 9)); $fstName = intval(fread($fp, 9));
$tableName = fread($fp, $fstName); $tableName = fread($fp, $fstName);
@@ -929,8 +939,7 @@ class pmTablesProxy extends HttpProxyController
$fsData = intval(fread($fp, 9)); $fsData = intval(fread($fp, 9));
if ($fsData > 0) { if ($fsData > 0) {
$sType = fread($fp, $fsData); $sType = fread($fp, $fsData);
} } else {
else {
break; break;
} }
} }
@@ -941,17 +950,14 @@ class pmTablesProxy extends HttpProxyController
if ($errors == '') { if ($errors == '') {
$result->success = true; $result->success = true;
$msg = G::loadTranslation('ID_PMTABLE_IMPORT_SUCCESS', array($filename)); $msg = G::loadTranslation('ID_PMTABLE_IMPORT_SUCCESS', array($filename));
} } else {
else {
$result->success = false; $result->success = false;
$result->errorType = 'warning'; $result->errorType = 'warning';
$msg = G::loadTranslation('ID_PMTABLE_IMPORT_WITH_ERRORS', array($filename)) . "\n\n" . $errors; $msg = G::loadTranslation('ID_PMTABLE_IMPORT_WITH_ERRORS', array($filename)) . "\n\n" . $errors;
} }
$result->message = $msg; $result->message = $msg;
} catch (Exception $e) {
}
catch(Exception $e) {
$result->errorType = 'error'; $result->errorType = 'error';
$result->buildResult = ob_get_contents(); $result->buildResult = ob_get_contents();
ob_end_clean(); ob_end_clean();
@@ -961,8 +967,7 @@ class pmTablesProxy extends HttpProxyController
if (preg_match('/(.*)\s\[(.*):\s(.*)\]\s\[(.*):\s(.*)\]/', $e->getMessage(), $match)) { if (preg_match('/(.*)\s\[(.*):\s(.*)\]\s\[(.*):\s(.*)\]/', $e->getMessage(), $match)) {
$result->message = $match[3]; $result->message = $match[3];
$result->type = G::loadTranslation('ID_ERROR'); $result->type = G::loadTranslation('ID_ERROR');
} } else {
else {
$result->message = $e->getMessage(); $result->message = $e->getMessage();
$result->type = G::loadTranslation('ID_EXCEPTION'); $result->type = G::loadTranslation('ID_EXCEPTION');
} }
@@ -1002,7 +1007,7 @@ class pmTablesProxy extends HttpProxyController
$c = 0; $c = 0;
foreach ($tablesToExport as $table) { foreach ($tablesToExport as $table) {
$tableRecord = $at->load($table->ADD_TAB_UID); $tableRecord = $at->load($table->ADD_TAB_UID);
$tableData = $at->getAllData($table->ADD_TAB_UID, NULL, NULL, false); $tableData = $at->getAllData($table->ADD_TAB_UID, null, null, false);
$table->ADD_TAB_NAME = $tableRecord['ADD_TAB_NAME']; $table->ADD_TAB_NAME = $tableRecord['ADD_TAB_NAME'];
$rows = $tableData['rows']; $rows = $tableData['rows'];
$count = $tableData['count']; $count = $tableData['count'];
@@ -1064,7 +1069,7 @@ class pmTablesProxy extends HttpProxyController
if ($table->_DATA) { if ($table->_DATA) {
//export data //export data
$oAdditionalTables = new additionalTables(); $oAdditionalTables = new additionalTables();
$tableData = $oAdditionalTables->getAllData($table->ADD_TAB_UID, NULL, NULL, false); $tableData = $oAdditionalTables->getAllData($table->ADD_TAB_UID, null, null, false);
$SDATA = serialize($tableData['rows']); $SDATA = serialize($tableData['rows']);
$bufferType = '@DATA'; $bufferType = '@DATA';
@@ -1094,8 +1099,7 @@ class pmTablesProxy extends HttpProxyController
$result->filename = $filenameOnly; $result->filename = $filenameOnly;
$result->link = $link; $result->link = $link;
$result->message = "Generated file: $filenameOnly, size: $size"; $result->message = "Generated file: $filenameOnly, size: $size";
} } catch (Exception $e) {
catch (Exception $e) {
$result->success = false; $result->success = false;
$result->message = $e->getMessage(); $result->message = $e->getMessage();
} }
@@ -1159,7 +1163,7 @@ class pmTablesProxy extends HttpProxyController
* Update data from a addTable record * Update data from a addTable record
* @param $row * @param $row
*/ */
function _dataUpdate($row, $primaryKeys) public function _dataUpdate($row, $primaryKeys)
{ {
$keys = G::decrypt($row['__index__'], 'pmtable'); $keys = G::decrypt($row['__index__'], 'pmtable');
$keys = explode('-', $keys); $keys = explode('-', $keys);
@@ -1186,17 +1190,14 @@ class pmTablesProxy extends HttpProxyController
if ($r = $obj->validate()) { if ($r = $obj->validate()) {
$obj->save(); $obj->save();
$result = true; $result = true;
} } else {
else {
$msg = ''; $msg = '';
foreach ($obj->getValidationFailures() as $objValidationFailure) { foreach ($obj->getValidationFailures() as $objValidationFailure) {
$msg .= $objValidationFailure->getMessage() . "\n"; $msg .= $objValidationFailure->getMessage() . "\n";
} }
throw new Exception($msg); throw new Exception($msg);
} }
} else {
}
else {
$result = false; $result = false;
} }
@@ -1207,7 +1208,7 @@ class pmTablesProxy extends HttpProxyController
* Update data from a addTable record * Update data from a addTable record
* @param $row * @param $row
*/ */
function _dataDestroy($row) public function _dataDestroy($row)
{ {
$row = G::decrypt($row, 'pmtable'); $row = G::decrypt($row, 'pmtable');
$row = str_replace('"', '', $row); $row = str_replace('"', '', $row);
@@ -1289,7 +1290,8 @@ class pmTablesProxy extends HttpProxyController
array_push($defaultColumns, $application); array_push($defaultColumns, $application);
//if it is a grid report table //if it is a grid report table
if ($type == 'GRID') { //GRID INDEX if ($type == 'GRID') {
//GRID INDEX
$gridIndex = new stdClass(); $gridIndex = new stdClass();
$gridIndex->uid = ''; $gridIndex->uid = '';
$gridIndex->field_dyn = ''; $gridIndex->field_dyn = '';
@@ -1314,7 +1316,7 @@ class pmTablesProxy extends HttpProxyController
* @param $proUid * @param $proUid
* @param $type [values:xmlform/grid] * @param $type [values:xmlform/grid]
*/ */
function _getDynafields2($proUid, $type = 'xmlform') public function _getDynafields2($proUid, $type='xmlform')
{ {
require_once 'classes/model/Dynaform.php'; require_once 'classes/model/Dynaform.php';
$fields = array(); $fields = array();
@@ -1340,11 +1342,16 @@ class pmTablesProxy extends HttpProxyController
if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') { if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') {
foreach ($G_FORM->fields as $fieldName => $fieldNode) { foreach ($G_FORM->fields as $fieldName => $fieldNode) {
if (!in_array($fieldNode->type, $excludeFieldsList) && !in_array($fieldName, $fieldsNames)) { if (!in_array($fieldNode->type, $excludeFieldsList) && !in_array($fieldName, $fieldsNames)) {
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label'=> $fieldNode->label); $fields[] = array('name' => $fieldName,
'type' => $fieldNode->type,
'label' => $fieldNode->label);
$fieldsNames[] = $fieldName; $fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) { if (in_array($fieldNode->type, $labelFieldsTypeList)
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label'); && !in_array($fieldName . '_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label',
'type' => $fieldNode->type,
'label' => $fieldNode->label . '_label');
$fieldsNames[] = $fieldName; $fieldsNames[] = $fieldName;
} }
} }
@@ -1357,7 +1364,7 @@ class pmTablesProxy extends HttpProxyController
return $fields; return $fields;
} }
function _getDynafields($proUid, $type = 'xmlform', $start=null, $limit=null, $filter=null) public function _getDynafields($proUid, $type='xmlform', $start=null, $limit=null, $filter=null)
{ {
$cache = 1; $cache = 1;
if (!isset($_SESSION['_cache_pmtables']) || if (!isset($_SESSION['_cache_pmtables']) ||
@@ -1410,7 +1417,8 @@ class pmTablesProxy extends HttpProxyController
); );
$fieldsNames[] = $fieldName; $fieldsNames[] = $fieldName;
if (in_array($fieldType, $labelFieldsTypeList) && !in_array($fieldName . '_label', $fieldsNames)) { if (in_array($fieldType, $labelFieldsTypeList)
&& !in_array($fieldName . '_label', $fieldsNames)) {
$fields[] = array( $fields[] = array(
'FIELD_UID' => $fieldName . '_label' . '-' . $fieldType, 'FIELD_UID' => $fieldName . '_label' . '-' . $fieldType,
'FIELD_NAME' => $fieldName . '_label', 'FIELD_NAME' => $fieldName . '_label',
@@ -1421,7 +1429,6 @@ class pmTablesProxy extends HttpProxyController
} }
} }
} }
} }
$oDataset->next(); $oDataset->next();
} }
@@ -1465,8 +1472,7 @@ class pmTablesProxy extends HttpProxyController
if ($row['_isset'] && stripos($row['FIELD_NAME'], $filter) !== false) { if ($row['_isset'] && stripos($row['FIELD_NAME'], $filter) !== false) {
$tmp[] = $row; $tmp[] = $row;
} }
} } else {
else {
if ($row['_isset']) { if ($row['_isset']) {
$tmp[] = $row; $tmp[] = $row;
} }
@@ -1483,7 +1489,7 @@ class pmTablesProxy extends HttpProxyController
* @param $proUid * @param $proUid
* @param $gridId * @param $gridId
*/ */
function _getGridDynafields($proUid, $gridId) public function _getGridDynafields($proUid, $gridId)
{ {
$fields = array(); $fields = array();
$fieldsNames = array(); $fieldsNames = array();
@@ -1500,8 +1506,11 @@ class pmTablesProxy extends HttpProxyController
$fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label' => $fieldNode->label); $fields[] = array('name' => $fieldName, 'type' => $fieldNode->type, 'label' => $fieldNode->label);
$fieldsNames[] = $fieldName; $fieldsNames[] = $fieldName;
if (in_array($fieldNode->type, $labelFieldsTypeList) && !in_array($fieldName.'_label', $fieldsNames)) { if (in_array($fieldNode->type, $labelFieldsTypeList)
$fields[] = array('name' => $fieldName . '_label', 'type' => $fieldNode->type, 'label'=>$fieldNode->label . '_label'); && !in_array($fieldName . '_label', $fieldsNames)) {
$fields[] = array('name' => $fieldName . '_label',
'type' => $fieldNode->type,
'label' => $fieldNode->label . '_label');
$fieldsNames[] = $fieldName; $fieldsNames[] = $fieldName;
} }
} }
@@ -1515,7 +1524,7 @@ class pmTablesProxy extends HttpProxyController
* Get all dynaform fields inside all grids from a process * Get all dynaform fields inside all grids from a process
* @param $proUid * @param $proUid
*/ */
function _getGridFields($proUid) public function _getGridFields($proUid)
{ {
require_once 'classes/model/Dynaform.php'; require_once 'classes/model/Dynaform.php';
G::loadSystem('dynaformhandler'); G::loadSystem('dynaformhandler');
@@ -1543,7 +1552,8 @@ class pmTablesProxy extends HttpProxyController
if ($fieldType == 'grid') { if ($fieldType == 'grid') {
if (!in_array($fieldName, $aFieldsNames)) { if (!in_array($fieldName, $aFieldsNames)) {
$aFields[] = array('name' => $fieldName, 'xmlform' => str_replace($proUid . '/', '', $arrayNode['xmlgrid'])); $aFields[] = array('name' => $fieldName,
'xmlform' => str_replace($proUid . '/', '', $arrayNode['xmlgrid']));
$aFieldsNames[] = $fieldName; $aFieldsNames[] = $fieldName;
} }
} }
@@ -1554,3 +1564,4 @@ class pmTablesProxy extends HttpProxyController
return $aFields; return $aFields;
} }
} }