From 74082729f295bb65f2ec72360ce4930b32e85b1e Mon Sep 17 00:00:00 2001 From: jennylee Date: Fri, 19 Oct 2012 16:48:46 -0400 Subject: [PATCH] CODE STYLE changes... FILES: gulliver/system/class.table.php workflow/engine/classes/class.propelTable.php workflow/engine/classes/entities/Base.php workflow/engine/classes/model/AppEvent.php --- gulliver/system/class.table.php | 2332 ++++++++--------- workflow/engine/classes/class.propelTable.php | 219 +- workflow/engine/classes/entities/Base.php | 298 ++- workflow/engine/classes/model/AppEvent.php | 579 ++-- 4 files changed, 1738 insertions(+), 1690 deletions(-) diff --git a/gulliver/system/class.table.php b/gulliver/system/class.table.php index 3a43acd9a..945f8e065 100644 --- a/gulliver/system/class.table.php +++ b/gulliver/system/class.table.php @@ -1,1207 +1,1193 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ -/** - * - * - * - * - * Table class definition - * Render table - * - * @package gulliver.system - * @author Fernando Ontiveros Lira - * @copyright (C) 2002 by Colosa Development Team. - * - */ - -class Table -{ - var $Columns = null; - var $Labels = null; - var $rows_per_page = 25; - var $show_nummbers = null; - var $first_row = 0; - var $row_pos = 0; +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + * + */ +/** + * + * + * + * + * + * + * Table class definition + * Render table + * + * @package gulliver.system + * @author Fernando Ontiveros Lira + * @copyright (C) 2002 by Colosa Development Team. + * + */ + +class Table +{ + var $Columns = null; + var $Labels = null; + var $rows_per_page = 25; + var $show_nummbers = null; + var $first_row = 0; + var $row_pos = 0; var $Action = ""; //not used var $ActionLabel = "Continuar"; //not used - var $_dbc = null; - var $_dbses = null; - var $_dbset = null; - var $_source = ""; - var $DefaultOrder = "UID"; - var $DefaultOrderDir = 'ASC'; - var $CustomOrder = ""; - var $WhereClause = ""; - var $_row_values = null; - var $_ordered = true; - var $orderprefix = ""; - var $CountQry = ""; - var $filtro = 1; - var $title = ''; - - /** - * Asocia un arreglo con valores de traducci?n/conversi?n a un contexto - * - * @var array - */ - var $contexto = null; - - /** - * Arreglo que contiene las cadenas que van a ser usadas al traducir/convertir - * - * @var array - */ - var $translate = null; - - /** - * Establece el ?ltimo contexto utilizado - * - * @var string - */ - var $_contexto = ''; - - /** - * Set conecction using default values - * - * @author Fernando Ontiveros Lira - * @access public - * @param string $objConnection connection string - * @return void - */ - function Table ($objConnection = null) - { - $this->SetTo( $objConnection ); - } - - /** - * Set conecction using default values - * - * @author Fernando Ontiveros Lira - * @access public - * @param string $objConnection connection string - * @return void - */ - function SetTo ($objConnection = null) - { - $this->_dbc = $objConnection; - } - - /** - * Set query string - * - * @author Fernando Ontiveros Lira - * @access public - * @param string $stQry query string - * @param string $stDefaultOrder index to order by, default value='UID' - * @return void - */ - function SetSource ($stQry = "", $stDefaultOrder = "UID", $stDefaultOrderDir = 'ASC') - { + var $_dbc = null; + var $_dbses = null; + var $_dbset = null; + var $_source = ""; + var $DefaultOrder = "UID"; + var $DefaultOrderDir = 'ASC'; + var $CustomOrder = ""; + var $WhereClause = ""; + var $_row_values = null; + var $_ordered = true; + var $orderprefix = ""; + var $CountQry = ""; + var $filtro = 1; + var $title = ''; + + /** + * Asocia un arreglo con valores de traducci?n/conversi?n a un contexto + * + * @var array + */ + var $contexto = null; + + /** + * Arreglo que contiene las cadenas que van a ser usadas al traducir/convertir + * + * @var array + */ + var $translate = null; + + /** + * Establece el ?ltimo contexto utilizado + * + * @var string + */ + var $_contexto = ''; + + /** + * Set conecction using default values + * + * @author Fernando Ontiveros Lira + * @access public + * @param string $objConnection connection string + * @return void + */ + function Table ($objConnection = null) + { + $this->SetTo( $objConnection ); + } + + /** + * Set conecction using default values + * + * @author Fernando Ontiveros Lira + * @access public + * @param string $objConnection connection string + * @return void + */ + function SetTo ($objConnection = null) + { + $this->_dbc = $objConnection; + } + + /** + * Set query string + * + * @author Fernando Ontiveros Lira + * @access public + * @param string $stQry query string + * @param string $stDefaultOrder index to order by, default value='UID' + * @return void + */ + function SetSource ($stQry = "", $stDefaultOrder = "UID", $stDefaultOrderDir = 'ASC') + { //to fix missing value for variable orderDir, when between pages changes. - $url1 = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '?'; - $url2 = strstr( $_SERVER['HTTP_REFERER'] . '?', $_SERVER['HTTP_HOST'] ); - $url1 = substr( $url1, 0, strpos( $url1, '?' ) ); - $url2 = substr( $url2, 0, strpos( $url2, '?' ) ); - if ($url1 != $url2) { - if (isset( $_SESSION['OrderBy'] )) { - unset( $_SESSION['OrderBy'] ); - } - if (isset( $_SESSION['OrderDir'] )) { - unset( $_SESSION['OrderDir'] ); - } - } - $this->_source = $stQry; - $this->DefaultOrder = $stDefaultOrder; - $this->DefaultOrderDir = $stDefaultOrderDir; - } - - /** - * Obtains query string asociated - * - * @author Fernando Ontiveros Lira - * @access public - * @return void - */ - function GetSource () - { - global $HTTP_GET_VARS; - global $HTTP_SESSION_VARS; - $stOrderByDir = $this->DefaultOrderDir; - if (isset( $HTTP_SESSION_VARS['OrderDir'] ) && ($HTTP_SESSION_VARS['OrderDir'] == 'DESC' || $HTTP_SESSION_VARS['OrderDir'] == 'ASC')) - $stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; - - $stQry = $this->_source; - if ($this->WhereClause != "") { - $stQry .= " WHERE " . $this->WhereClause; - } - - if ($this->_ordered == true) { - $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); - $stOrderLb = (isset( $HTTP_GET_VARS[$this->orderprefix . 'label'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'label'] : ''); - + $url1 = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '?'; + $url2 = strstr( $_SERVER['HTTP_REFERER'] . '?', $_SERVER['HTTP_HOST'] ); + $url1 = substr( $url1, 0, strpos( $url1, '?' ) ); + $url2 = substr( $url2, 0, strpos( $url2, '?' ) ); + if ($url1 != $url2) { + if (isset( $_SESSION['OrderBy'] )) { + unset( $_SESSION['OrderBy'] ); + } + if (isset( $_SESSION['OrderDir'] )) { + unset( $_SESSION['OrderDir'] ); + } + } + $this->_source = $stQry; + $this->DefaultOrder = $stDefaultOrder; + $this->DefaultOrderDir = $stDefaultOrderDir; + } + + /** + * Obtains query string asociated + * + * @author Fernando Ontiveros Lira + * @access public + * @return void + */ + function GetSource () + { + global $HTTP_GET_VARS; + global $HTTP_SESSION_VARS; + $stOrderByDir = $this->DefaultOrderDir; + if (isset( $HTTP_SESSION_VARS['OrderDir'] ) && ($HTTP_SESSION_VARS['OrderDir'] == 'DESC' || $HTTP_SESSION_VARS['OrderDir'] == 'ASC')) { + $stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; + } + + $stQry = $this->_source; + if ($this->WhereClause != "") { + $stQry .= " WHERE " . $this->WhereClause; + } + + if ($this->_ordered == true) { + $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); + $stOrderLb = (isset( $HTTP_GET_VARS[$this->orderprefix . 'label'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'label'] : ''); + //if( isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] == $stOrderBy ) { - if ($stOrderLb) { - if ($HTTP_SESSION_VARS['OrderDir'] == 'ASC') { - $stOrderByDir = 'DESC'; - } elseif ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') { - $stOrderByDir = 'ASC'; - } - } elseif (isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] != '') { - $stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; - } else { - $stOrderByDir = $this->DefaultOrderDir; - } - - if ($stOrderBy == "") { - if ($this->DefaultOrder != "") { - $aux = str_replace( ' ASC|', '', $this->DefaultOrder . '|' ); - $aux = str_replace( ' DESC|', '', $aux ); - $aux = str_replace( '|', '', $aux ); - $stQry .= " ORDER BY " . $aux . " " . $stOrderByDir; - } - } else { - $stQry .= " ORDER BY " . $stOrderBy; - if ($stOrderByDir != "") { - $stQry .= " $stOrderByDir"; - - } - } - } else { - if ($this->DefaultOrder != "") { - $stQry .= " ORDER BY " . $this->DefaultOrder . " " . (isset( $stOrderBy ) ? $stOrderBy : ''); - } - } + if ($stOrderLb) { + if ($HTTP_SESSION_VARS['OrderDir'] == 'ASC') { + $stOrderByDir = 'DESC'; + } elseif ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') { + $stOrderByDir = 'ASC'; + } + } elseif (isset( $HTTP_SESSION_VARS['OrderDir'] ) && $HTTP_SESSION_VARS['OrderDir'] != '') { + $stOrderByDir = $HTTP_SESSION_VARS['OrderDir']; + } else { + $stOrderByDir = $this->DefaultOrderDir; + } + + if ($stOrderBy == "") { + if ($this->DefaultOrder != "") { + $aux = str_replace( ' ASC|', '', $this->DefaultOrder . '|' ); + $aux = str_replace( ' DESC|', '', $aux ); + $aux = str_replace( '|', '', $aux ); + $stQry .= " ORDER BY " . $aux . " " . $stOrderByDir; + } + } else { + $stQry .= " ORDER BY " . $stOrderBy; + if ($stOrderByDir != "") { + $stQry .= " $stOrderByDir"; + + } + } + } else { + if ($this->DefaultOrder != "") { + $stQry .= " ORDER BY " . $this->DefaultOrder . " " . (isset( $stOrderBy ) ? $stOrderBy : ''); + } + } //print $stQry; - - - $HTTP_SESSION_VARS['OrderBy'] = isset( $stOrderBy ) ? $stOrderBy : ''; - $HTTP_SESSION_VARS['OrderDir'] = $stOrderByDir; - - $page = (isset( $HTTP_GET_VARS["page"] ) ? $HTTP_GET_VARS["page"] : ''); - - $tr = (isset( $HTTP_SESSION_VARS['TP'] ) ? $HTTP_SESSION_VARS['TP'] : ''); - - $desde = 0; - - if ($page != "") { + + + $HTTP_SESSION_VARS['OrderBy'] = isset( $stOrderBy ) ? $stOrderBy : ''; + $HTTP_SESSION_VARS['OrderDir'] = $stOrderByDir; + + $page = (isset( $HTTP_GET_VARS["page"] ) ? $HTTP_GET_VARS["page"] : ''); + + $tr = (isset( $HTTP_SESSION_VARS['TP'] ) ? $HTTP_SESSION_VARS['TP'] : ''); + + $desde = 0; + + if ($page != "") { //$desde=(($page-1)*25); - $desde = (($page - 1) * $this->rows_per_page); - + $desde = (($page - 1) * $this->rows_per_page); + //$strLimit = " LIMIT $desde , 25"; - $strLimit = " LIMIT $desde , $this->rows_per_page"; - if (PEAR_DATABASE == 'pgsql') { + $strLimit = " LIMIT $desde , $this->rows_per_page"; + if (PEAR_DATABASE == 'pgsql') { //$strLimit = " OFFSET $desde LIMIT 25"; - $strLimit = " OFFSET $desde LIMIT $this->rows_per_page"; - } - $stQry .= $strLimit; - } - + $strLimit = " OFFSET $desde LIMIT $this->rows_per_page"; + } + $stQry .= $strLimit; + } + //print $stQry; - $this->_dbses = new DBSession( $this->_dbc ); - $this->_dbses->UseDB( DB_NAME ); - $this->_dbses->Query( $stQry ); - $this->_dbset = new DBRecordset( $this->_dbses->result ); - } - - /** - * Obtains number of elements of asociated query - * - * @author Fernando Ontiveros Lira - * @access public - * @return int - */ - function TotalCount () - { - global $HTTP_GET_VARS; - global $HTTP_SESSION_VARS; - - $stQry = $this->_source; - if ($this->WhereClause != "") { - $stQry .= " WHERE " . $this->WhereClause; - } - if ($this->_ordered == true) { - $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); - if ($stOrderBy == "") { - if ($this->DefaultOrder != "") { - $stQry .= " ORDER BY " . $this->DefaultOrder; - } - } else { - $stQry .= " ORDER BY " . $stOrderBy; - } - } else { - if ($this->DefaultOrder != "") { - $stQry .= " ORDER BY " . $this->DefaultOrder; - } - } - - $dbses = new DBSession( $this->_dbc ); - $dbses->UseDB( DB_NAME ); - $dset = $dbses->Execute( $stQry ); - return $dset->Count(); - } - - /** - * Obtains number of elements of asociated recordset - * - * @author Fernando Ontiveros Lira - * @access public - * @return int - */ - function Count () - { - if (is_object( $this->_dbset )) { - return $this->_dbset->Count(); - } else { - return 0; - } - } - - /** - * Obtains row position - * - * @author Fernando Ontiveros Lira - * @access public - * @return int - */ - function CurRow () - { - return $this->row_pos; - } - - /** - * Obtains number columns - * - * @author Fernando Ontiveros Lira - * @access public - * @return int - */ - function ColumnCount () - { - $result = 0; - if (is_array( $this->Columns )) { - $result = count( $this->Columns ); - } - return $result; - } - - /** - * Obtains a row array and moves the internal data pointer ahead - * - * @author Fernando Ontiveros Lira - * @access public - * @return array - */ - function Read () - { - $this->_row_values = $this->_dbset->Read(); - $this->row_pos ++; - return $this->_row_values; - } - - /** - * Moves the internal row pointer - * - * @author Fernando Ontiveros Lira - * @access public - * @param int $intPos position to seek - * @return int - */ - function Seek ($intPos = 0) - { - $result = $this->_dbset->Seek( $intPos ); - if ($result) { - $this->row_pos = $intPos; - } - return $result; - } - - /** - * Moves the internal row pointer to first position - * - * @author Fernando Ontiveros Lira - * @access public - * @return int - */ - function MoveFirst () - { - if ($this->Count() != 0) { - if ($this->first_row < $this->Count()) { - $this->Seek( $this->first_row ); - } - } - } - - /** - * Verify if row position is in the end - * - * @author Fernando Ontiveros Lira - * @access public - * @return boolean - */ - function EOF () - { - $result = false; - if ($this->Count() == 0) { - $result = true; - } else { - if ($this->row_pos >= $this->Count()) { - $result = true; - } else { - if ($this->rows_per_page != 0) { - if ($this->row_pos >= $this->first_row + $this->rows_per_page) { - $result = true; - } - } - } - } - return $result; - } - - /** - * Set values to add a column to show in the dynaform - * - * @author Fernando Ontiveros Lira - * @access public - * @param $strLabel - * @param $strType - * @param $strName - * @param $strAlign - * @param $intWidth - * @param $strTarget - * @param $strContent - * @return void - */ - function AddColumn ($strLabel = "", $strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "") - { - $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent - ); - $pos = 0; - if (is_array( $this->Columns )) { - $pos = count( $this->Columns ); - } - $this->Columns[$pos] = $tmpCol; - $this->Labels[$pos] = $strLabel; - } - - /** - * Set values to add a column to show in the dynaform - * - * @author Fernando Ontiveros Lira - * @access public - * @param $strType - * @param $strName - * @param $strAlign - * @param $intWidth - * @param $strTarget - * @param $strContent - * @param $strExtra - * @param $strCondition - * @param $orderByThis - * @return void - */ - function AddRawColumn ($strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "", $strExtra = "", $strCondition = "", $orderByThis = true) - { - $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent,"Extra" => $strExtra,"Condition" => $strCondition,"orderByThis" => $orderByThis - ); - $pos = 0; - if (is_array( $this->Columns )) { - $pos = count( $this->Columns ); - } - $this->Columns[$pos] = $tmpCol; - $this->Labels[$pos] = ""; - } - - /** - * Show dynaform's title - * - * @author Fernando Ontiveros Lira - * @access public - * @param $pa - * @param $intPos - * @param $strClass - * @return void - */ - function RenderTitle ($pa, $intPos = 1, $strClass = "tblHeader") - { - if (! defined( 'ENABLE_ENCRYPT' )) { - define( 'ENABLE_ENCRYPT', 'no' ); - } - global $HTTP_SESSION_VARS; - $col = $this->Columns[$intPos]; - $order = ! ($col["Type"] == "image"); - if ($this->_ordered == true && $order) { - $res = " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= ">"; - + $this->_dbses = new DBSession( $this->_dbc ); + $this->_dbses->UseDB( DB_NAME ); + $this->_dbses->Query( $stQry ); + $this->_dbset = new DBRecordset( $this->_dbses->result ); + } + + /** + * Obtains number of elements of asociated query + * + * @author Fernando Ontiveros Lira + * @access public + * @return int + */ + function TotalCount () + { + global $HTTP_GET_VARS; + global $HTTP_SESSION_VARS; + + $stQry = $this->_source; + if ($this->WhereClause != "") { + $stQry .= " WHERE " . $this->WhereClause; + } + if ($this->_ordered == true) { + $stOrderBy = (isset( $HTTP_GET_VARS[$this->orderprefix . 'order'] ) ? $HTTP_GET_VARS[$this->orderprefix . 'order'] : ''); + if ($stOrderBy == "") { + if ($this->DefaultOrder != "") { + $stQry .= " ORDER BY " . $this->DefaultOrder; + } + } else { + $stQry .= " ORDER BY " . $stOrderBy; + } + } else { + if ($this->DefaultOrder != "") { + $stQry .= " ORDER BY " . $this->DefaultOrder; + } + } + + $dbses = new DBSession( $this->_dbc ); + $dbses->UseDB( DB_NAME ); + $dset = $dbses->Execute( $stQry ); + return $dset->Count(); + } + + /** + * Obtains number of elements of asociated recordset + * + * @author Fernando Ontiveros Lira + * @access public + * @return int + */ + function Count () + { + if (is_object( $this->_dbset )) { + return $this->_dbset->Count(); + } else { + return 0; + } + } + + /** + * Obtains row position + * + * @author Fernando Ontiveros Lira + * @access public + * @return int + */ + function CurRow () + { + return $this->row_pos; + } + + /** + * Obtains number columns + * + * @author Fernando Ontiveros Lira + * @access public + * @return int + */ + function ColumnCount () + { + $result = 0; + if (is_array( $this->Columns )) { + $result = count( $this->Columns ); + } + return $result; + } + + /** + * Obtains a row array and moves the internal data pointer ahead + * + * @author Fernando Ontiveros Lira + * @access public + * @return array + */ + function Read () + { + $this->_row_values = $this->_dbset->Read(); + $this->row_pos ++; + return $this->_row_values; + } + + /** + * Moves the internal row pointer + * + * @author Fernando Ontiveros Lira + * @access public + * @param int $intPos position to seek + * @return int + */ + function Seek ($intPos = 0) + { + $result = $this->_dbset->Seek( $intPos ); + if ($result) { + $this->row_pos = $intPos; + } + return $result; + } + + /** + * Moves the internal row pointer to first position + * + * @author Fernando Ontiveros Lira + * @access public + * @return int + */ + function MoveFirst () + { + if ($this->Count() != 0) { + if ($this->first_row < $this->Count()) { + $this->Seek( $this->first_row ); + } + } + } + + /** + * Verify if row position is in the end + * + * @author Fernando Ontiveros Lira + * @access public + * @return boolean + */ + function EOF () + { + $result = false; + if ($this->Count() == 0) { + $result = true; + } else { + if ($this->row_pos >= $this->Count()) { + $result = true; + } else { + if ($this->rows_per_page != 0) { + if ($this->row_pos >= $this->first_row + $this->rows_per_page) { + $result = true; + } + } + } + } + return $result; + } + + /** + * Set values to add a column to show in the dynaform + * + * @author Fernando Ontiveros Lira + * @access public + * @param $strLabel + * @param $strType + * @param $strName + * @param $strAlign + * @param $intWidth + * @param $strTarget + * @param $strContent + * @return void + */ + function AddColumn ($strLabel = "", $strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "") + { + $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent + ); + $pos = 0; + if (is_array( $this->Columns )) { + $pos = count( $this->Columns ); + } + $this->Columns[$pos] = $tmpCol; + $this->Labels[$pos] = $strLabel; + } + + /** + * Set values to add a column to show in the dynaform + * + * @author Fernando Ontiveros Lira + * @access public + * @param $strType + * @param $strName + * @param $strAlign + * @param $intWidth + * @param $strTarget + * @param $strContent + * @param $strExtra + * @param $strCondition + * @param $orderByThis + * @return void + */ + function AddRawColumn ($strType = "text", $strName = "", $strAlign = "left", $intWidth = 0, $strTarget = "", $strContent = "", $strExtra = "", $strCondition = "", $orderByThis = true) + { + $tmpCol = array ("Name" => $strName,"Type" => $strType,"Width" => $intWidth,"Align" => $strAlign,"Target" => $strTarget,"Content" => $strContent,"Extra" => $strExtra,"Condition" => $strCondition,"orderByThis" => $orderByThis + ); + $pos = 0; + if (is_array( $this->Columns )) { + $pos = count( $this->Columns ); + } + $this->Columns[$pos] = $tmpCol; + $this->Labels[$pos] = ""; + } + + /** + * Show dynaform's title + * + * @author Fernando Ontiveros Lira + * @access public + * @param $pa + * @param $intPos + * @param $strClass + * @return void + */ + function RenderTitle ($pa, $intPos = 1, $strClass = "tblHeader") + { + if (! defined( 'ENABLE_ENCRYPT' )) { + define( 'ENABLE_ENCRYPT', 'no' ); + } + global $HTTP_SESSION_VARS; + $col = $this->Columns[$intPos]; + $order = ! ($col["Type"] == "image"); + if ($this->_ordered == true && $order) { + $res = " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= ">"; + //$res .= "" . $this->Labels[$intPos] . ""; - + $res .= "\">" . $this->Labels[$intPos] . ""; + $res .= "\n"; //echo $res;die; - } else { - $res = " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= ">"; - $res .= $this->Labels[$intPos] . "\n"; - } - return $res; - } - - /** - * Show dynaform's title using ajax - * - * @author Fernando Ontiveros Lira - * @access public - * @param $pa - * @param $intPos - * @param $strClass - * @return void - */ - function RenderTitle_ajax ($pa, $intPos = 1, $strClass = "tblHeader") - { - global $HTTP_SESSION_VARS; - $col = $this->Columns[$intPos]; - $order = ! (($col["Type"] == "image") || ($col["Type"] == "jsimglink")); - - if ($this->_ordered == true && $order) { - $res = " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= ">"; - + } else { + $res = " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= ">"; + $res .= $this->Labels[$intPos] . "\n"; + } + return $res; + } + + /** + * Show dynaform's title using ajax + * + * @author Fernando Ontiveros Lira + * @access public + * @param $pa + * @param $intPos + * @param $strClass + * @return void + */ + function RenderTitle_ajax ($pa, $intPos = 1, $strClass = "tblHeader") + { + global $HTTP_SESSION_VARS; + $col = $this->Columns[$intPos]; + $order = ! (($col["Type"] == "image") || ($col["Type"] == "jsimglink")); + + if ($this->_ordered == true && $order) { + $res = " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= ">"; + //$res .= "Columns[$intPos]['Name']; - $res .= "Javascript:changetableOrder('$_temp_var',$pa)"; + $res .= "Columns[$intPos]['Name']; + $res .= "Javascript:changetableOrder('$_temp_var',$pa)"; //$res .= $_SERVER['REDIRECT_URL'] . "?order=" . $this->Columns[$intPos]['Name']."&page=".$pa."&label=true"; - $res .= "\">" . $this->Labels[$intPos] . ""; - if ($HTTP_SESSION_VARS['OrderBy'] == $this->Columns[$intPos]['Name']) { - if ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') { - $res .= " "; - } else { - $res .= " "; - } - } - + $res .= "\">" . $this->Labels[$intPos] . ""; + if ($HTTP_SESSION_VARS['OrderBy'] == $this->Columns[$intPos]['Name']) { + if ($HTTP_SESSION_VARS['OrderDir'] == 'DESC') { + $res .= " "; + } else { + $res .= " "; + } + } + $res .= "\n"; //echo $res;die; - } else { - $res = " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= ">"; - $res .= $this->Labels[$intPos] . "\n"; - } - return $res; - } - - /** - * Show dynaform title - * - * @author Fernando Ontiveros Lira - * @access public - * @param $pa - * @param $fil - * @param $intPos - * @param $strClass - * @param $auxgetval - * @return void - */ - function RenderTitle2 ($pa, $fil, $intPos, $strClass = "tblHeader", $auxgetval = '') - { - if (! defined( 'ENABLE_ENCRYPT' )) { - define( 'ENABLE_ENCRYPT', 'no' ); - } - global $HTTP_SESSION_VARS; - - if ($auxgetval == '') { - $targ = SYS_TARGET . ".html"; - } else { - $targ = SYS_TARGET . '.html?' . $auxgetval; - } - $target = (ENABLE_ENCRYPT == 'yes' ? G::encryptUrl( urldecode( $targ ), URL_KEY ) : $targ); - - $col = $this->Columns[$intPos]; - - if ($col['Type'] == 'hidden') { - return ''; - } - $order = ! ($col["Type"] == "image"); - - if (($this->_ordered == true) && ($order) && ($this->Columns[$intPos]['orderByThis'])) { - $res = ""; - if (($this->show_nummbers) and ($intPos == 0)) { - $res = "# "; - } - $res .= " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= "> "; - - $res .= " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= ">"; + $res .= $this->Labels[$intPos] . "\n"; + } + return $res; + } + + /** + * Show dynaform title + * + * @author Fernando Ontiveros Lira + * @access public + * @param $pa + * @param $fil + * @param $intPos + * @param $strClass + * @param $auxgetval + * @return void + */ + function RenderTitle2 ($pa, $fil, $intPos, $strClass = "tblHeader", $auxgetval = '') + { + if (! defined( 'ENABLE_ENCRYPT' )) { + define( 'ENABLE_ENCRYPT', 'no' ); + } + global $HTTP_SESSION_VARS; + + if ($auxgetval == '') { + $targ = SYS_TARGET . ".html"; + } else { + $targ = SYS_TARGET . '.html?' . $auxgetval; + } + $target = (ENABLE_ENCRYPT == 'yes' ? G::encryptUrl( urldecode( $targ ), URL_KEY ) : $targ); + + $col = $this->Columns[$intPos]; + + if ($col['Type'] == 'hidden') { + return ''; + } + $order = ! ($col["Type"] == "image"); + + if (($this->_ordered == true) && ($order) && ($this->Columns[$intPos]['orderByThis'])) { + $res = ""; + if (($this->show_nummbers) and ($intPos == 0)) { + $res = "# "; + } + $res .= " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= "> "; + + $res .= "" . $this->Labels[$intPos] . ""; - - $res .= "\n"; - } else { - $col = $this->Columns[$intPos]; - $res = " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= ">"; - $res .= (isset( $this->Labels[$intPos] ) ? $this->Labels[$intPos] : '') . "\n"; - } - return $res; - } - - /** - * Show dynaform column - * - * @author Fernando Ontiveros Lira - * @access public - * @param $intPos - * @param $strClass - * @param $strClassLink - * @param $number - * @param $renderTD if this value = 1, this function will include the TD tags - * @return void - */ - function RenderColumn ($intPos = 0, $strClass = "tblCell", $strClassLink = "tblCellA", $number = 0, $renderTD = 1) - { - if (! defined( 'ENABLE_ENCRYPT' )) { - define( 'ENABLE_ENCRYPT', 'no' ); - } - global $G_DATE_FORMAT; - global $G_TABLE_DATE_FORMAT; - $col = $this->Columns[$intPos]; - - switch (substr( $col['Name'], 0, 1 )) { - case '=': + $res .= "\">" . $this->Labels[$intPos] . ""; + + $res .= "\n"; + } else { + $col = $this->Columns[$intPos]; + $res = " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= ">"; + $res .= (isset( $this->Labels[$intPos] ) ? $this->Labels[$intPos] : '') . "\n"; + } + return $res; + } + + /** + * Show dynaform column + * + * @author Fernando Ontiveros Lira + * @access public + * @param $intPos + * @param $strClass + * @param $strClassLink + * @param $number + * @param $renderTD if this value = 1, this function will include the TD tags + * @return void + */ + function RenderColumn ($intPos = 0, $strClass = "tblCell", $strClassLink = "tblCellA", $number = 0, $renderTD = 1) + { + if (! defined( 'ENABLE_ENCRYPT' )) { + define( 'ENABLE_ENCRYPT', 'no' ); + } + global $G_DATE_FORMAT; + global $G_TABLE_DATE_FORMAT; + $col = $this->Columns[$intPos]; + + switch (substr( $col['Name'], 0, 1 )) { + case '=': // Si empieza con '=' entonces se toma como valor constante - $val = substr( $col['Name'], 1, strlen( $col['Name'] ) - 1 ); - break; - case '%': + $val = substr( $col['Name'], 1, strlen( $col['Name'] ) - 1 ); + break; + case '%': // Si empieza con '%' entonces traducir/convertir el valor - $fieldname = substr( $col['Name'], 1, strlen( $col['Name'] ) - 1 ); - $val = $this->_row_values[$fieldname]; - $val = $this->translateValue( $this->_contexto, $val, SYS_LANG ); - break; - default: - $fieldname = $col['Name']; - $val = isset( $this->_row_values[$fieldname] ) ? $this->_row_values[$fieldname] : ''; - } - - $res = ""; - if (($this->show_nummbers) and ($intPos == 0)) { - $res = "$number"; - } - if (! (stristr( $val, "script" ) === false)) { - $val = htmlentities( $val, ENT_QUOTES, 'utf-8' ); - } - - if ($renderTD == 1) { - $res .= " 0) { - $res .= " width=\"" . $col["Width"] . "\""; - } - $res .= "> "; - } - - switch ($col["Type"]) { - case 'hidden': - return ''; - break; - case "text": - if ($val != "") { - $res .= G::unhtmlentities( $val, ENT_QUOTES, 'utf-8' ); - } else { - $res .= " "; - } - break; - case "text-dontSearch": - if ($val != "") { - $res .= G::unhtmlentities( $val ); - } else { - $res .= " "; - } - break; - case "html": - if ($val != "") { - $res .= ($val); - } else { - $res .= " "; - } - break; - case "textPlain": - if ($val != "") { - $res .= ($this->ParsingFromHtml( G::unhtmlentities( $val ), "300" )); + $fieldname = substr( $col['Name'], 1, strlen( $col['Name'] ) - 1 ); + $val = $this->_row_values[$fieldname]; + $val = $this->translateValue( $this->_contexto, $val, SYS_LANG ); + break; + default: + $fieldname = $col['Name']; + $val = isset( $this->_row_values[$fieldname] ) ? $this->_row_values[$fieldname] : ''; + } + + $res = ""; + if (($this->show_nummbers) and ($intPos == 0)) { + $res = "$number"; + } + if (! (stristr( $val, "script" ) === false)) { + $val = htmlentities( $val, ENT_QUOTES, 'utf-8' ); + } + + if ($renderTD == 1) { + $res .= " 0) { + $res .= " width=\"" . $col["Width"] . "\""; + } + $res .= "> "; + } + + switch ($col["Type"]) { + case 'hidden': + return ''; + break; + case "text": + if ($val != "") { + $res .= G::unhtmlentities( $val, ENT_QUOTES, 'utf-8' ); + } else { + $res .= " "; + } + break; + case "text-dontSearch": + if ($val != "") { + $res .= G::unhtmlentities( $val ); + } else { + $res .= " "; + } + break; + case "html": + if ($val != "") { + $res .= ($val); + } else { + $res .= " "; + } + break; + case "textPlain": + if ($val != "") { + $res .= ($this->ParsingFromHtml( G::unhtmlentities( $val ), "300" )); //if ( $val != "" ) $res .= (($val)); - } else { - $res .= " "; - } - break; - case "currency": - if ($val != "") { - $aux = explode( ' ', $val ); - $format = number_format( (float) $aux[0], 2, ".", "," ); - $res .= htmlentities( $format . ' ' . (isset( $aux[1] ) ? $aux[1] : ''), ENT_QUOTES, 'utf-8' ); - } else { - $res .= " "; - } - break; - - case "currency2": - if ($val != "") { - $res .= G::NumberToCurrency( $val ); - } else { - $res .= "$ 0.00"; - } - break; - - case "percentage2": - if ($val != "") { - $res .= G::NumberToPercentage( $val ); - } else { - $res .= "0.00 %"; - } - break; - - case "percentage": - if ($val != "") { - $res .= htmlentities( number_format( (float) $val, 2, ".", "," ) . " %", ENT_QUOTES, 'utf-8' ); - } else { - $res .= " "; - } - break; - - case "date": - if ($val != "" && $val != '0000-00-00 00:00:00') { - $part = explode( ' ', $val ); - $aux = explode( '-', $part[0] ); - - switch ($G_DATE_FORMAT) { - case 'DD/MM/AAAA': - $res .= formatDate( '$d/$m/$Y $H:$i:$s', $val ); - break; - case 'MM/DD/AAAA': - $res .= formatDate( '$m/$d/$Y $H:$i:$s EST', $val ); - break; - case 'AAAA/MM/DD': - $res .= formatDate( '$Y/$m/$d $H:$i:$s', $val ); - break; - case 'LITERAL': - $res .= formatDate( '$M $d $Y', $val ); - break; - } - - } else { - $res .= " "; - } - break; - - case "email": - if ($val != "") { - $res .= ""; - $res .= $val; - $res .= ""; - } else { - $res .= " "; - } - break; - - case "ifpdf": - if ($val == '1') { - $image = ""; + } else { + $res .= " "; + } + break; + case "currency": + if ($val != "") { + $aux = explode( ' ', $val ); + $format = number_format( (float) $aux[0], 2, ".", "," ); + $res .= htmlentities( $format . ' ' . (isset( $aux[1] ) ? $aux[1] : ''), ENT_QUOTES, 'utf-8' ); + } else { + $res .= " "; + } + break; + case "currency2": + if ($val != "") { + $res .= G::NumberToCurrency( $val ); + } else { + $res .= "$ 0.00"; + } + break; + case "percentage2": + if ($val != "") { + $res .= G::NumberToPercentage( $val ); + } else { + $res .= "0.00 %"; + } + break; + case "percentage": + if ($val != "") { + $res .= htmlentities( number_format( (float) $val, 2, ".", "," ) . " %", ENT_QUOTES, 'utf-8' ); + } else { + $res .= " "; + } + break; + case "date": + if ($val != "" && $val != '0000-00-00 00:00:00') { + $part = explode( ' ', $val ); + $aux = explode( '-', $part[0] ); + + switch ($G_DATE_FORMAT) { + case 'DD/MM/AAAA': + $res .= formatDate( '$d/$m/$Y $H:$i:$s', $val ); + break; + case 'MM/DD/AAAA': + $res .= formatDate( '$m/$d/$Y $H:$i:$s EST', $val ); + break; + case 'AAAA/MM/DD': + $res .= formatDate( '$Y/$m/$d $H:$i:$s', $val ); + break; + case 'LITERAL': + $res .= formatDate( '$M $d $Y', $val ); + break; + } + } else { + $res .= " "; + } + break; + case "email": + if ($val != "") { + $res .= ""; + $res .= $val; + $res .= ""; + } else { + $res .= " "; + } + break; + case "ifpdf": + if ($val == '1') { + $image = ""; //valor - $tlabel = substr( $col["Content"], 0, 1 ); - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; + $tlabel = substr( $col["Content"], 0, 1 ); + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; //$res .= " $image "; //It open a new window... better the other way By JHL 16/11/06 - $res .= " $image "; - } else { - $res .= " "; - } - break; - - case "ifimg": - $image = ""; - if ($val == '1') { + $res .= " $image "; + } else { + $res .= " "; + } + break; + case "ifimg": + $image = ""; + if ($val == '1') { //valor - $tlabel = substr( $col["Content"], 0, 1 ); - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; - $res .= " $image "; - } else { - $res .= " "; - } - break; - - case "ifrtf": - if ($val == '1') { - $image = ""; + $tlabel = substr( $col["Content"], 0, 1 ); + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; + $res .= " $image "; + } else { + $res .= " "; + } + break; + case "ifrtf": + if ($val == '1') { + $image = ""; //valor - $tlabel = substr( $col["Content"], 0, 1 ); - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; + $tlabel = substr( $col["Content"], 0, 1 ); + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; //$res .= " $image "; //It open a new window... better the other way By JHL 16/11/06 - $res .= " $image "; - } else { - $res .= " "; - } - break; - - case "image": - - if (is_array( $col["Condition"] )) //By JHL to enable Condition to display a image -- New parameter Condition in Addrawcolumn -{ - $field_compare = $col["Condition"]['field']; - $tlabel = substr( $field_compare, 0, 1 ); - switch ($tlabel) { - case "&": - $vname = substr( $field_compare, 1, (strlen( $field_compare ) - 1) ); - $field_val = $this->_row_values[$vname]; - break; - } - - } else { - $val = ""; - } - // break; - - - case "textimage": - $AAS = $col['Extra']; - $val1 = " "; - // break; - case "image-text": - if (is_array( $col['Content'] ) && $col['Content'] != "") { - // Hay mas de un valor para el link - $values = $col['Content']; - $n = count( $values ); - - $res .= "_row_values[$vname]; - - $res .= $i == $n - 1 ? $lval : $lval . "/"; - break; - } - } - $res .= "\">" . strtoupper( $fieldname ) . "$val"; - } else - $val2 = "" . strtoupper( $fieldname ) . ""; + $res .= " $image "; + } else { + $res .= " "; + } + break; + case "image": + if (is_array( $col["Condition"] )) { + //By JHL to enable Condition to display a image -- New parameter Condition in Addrawcolumn + $field_compare = $col["Condition"]['field']; + $tlabel = substr( $field_compare, 0, 1 ); + switch ($tlabel) { + case "&": + $vname = substr( $field_compare, 1, (strlen( $field_compare ) - 1) ); + $field_val = $this->_row_values[$vname]; + break; + } + + } else { + $val = ""; + } + // break; + case "textimage": + $AAS = $col['Extra']; + $val1 = " "; // break; - - - case "link": - if ($val == "") - $res .= " "; - $title = ''; - if ($col["Type"] == 'link' && trim( isset( $this->_row_values['TOOLTIP'] ) ? $this->_row_values['TOOLTIP'] : '' )) - ; - $title = (isset( $this->_row_values['TOOLTIP'] ) ? "title=\" " . $this->_row_values['TOOLTIP'] . " \"" : ''); - if (is_array( $col['Content'] ) && $col['Content'] != "") { + case "image-text": + if (is_array( $col['Content'] ) && $col['Content'] != "") { // Hay mas de un valor para el link - $values = $col['Content']; - $n = count( $values ); - - $res .= "_row_values[$vname]; - - $res .= $i == $n - 1 ? $lval : $lval . "/"; - break; - } - } - $res .= "\">$val"; - } elseif ($col["Content"] != "" && ! is_array( $col['Content'] )) { - $tlabel = substr( $col["Content"], 0, 1 ); - switch ($tlabel) { - case "&": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; - if (ENABLE_ENCRYPT == 'yes') { - + $values = $col['Content']; + $n = count( $values ); + + $res .= "_row_values[$vname]; + + $res .= $i == $n - 1 ? $lval : $lval . "/"; + break; + } + } + $res .= "\">" . strtoupper( $fieldname ) . "$val"; + } else { + $val2 = "" . strtoupper( $fieldname ) . ""; + } + // break; + case "link": + if ($val == "") { + $res .= " "; + } + $title = ''; + if ($col["Type"] == 'link' && trim( isset( $this->_row_values['TOOLTIP'] ) ? $this->_row_values['TOOLTIP'] : '' )) + ; + $title = (isset( $this->_row_values['TOOLTIP'] ) ? "title=\" " . $this->_row_values['TOOLTIP'] . " \"" : ''); + if (is_array( $col['Content'] ) && $col['Content'] != "") { + // Hay mas de un valor para el link + $values = $col['Content']; + $n = count( $values ); + + $res .= "_row_values[$vname]; + + $res .= $i == $n - 1 ? $lval : $lval . "/"; + break; + } + } + $res .= "\">$val"; + } elseif ($col["Content"] != "" && ! is_array( $col['Content'] )) { + $tlabel = substr( $col["Content"], 0, 1 ); + switch ($tlabel) { + case "&": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; + if (ENABLE_ENCRYPT == 'yes') { + //$encoded = G::encrypt ( $col["Target"] . "/" . $lval . ".html", URL_KEY ); - $encoded = G::encryptUrl( $col["Target"] . "/" . $lval . ".html", URL_KEY ); - $res .= ""; - if ($col["Type"] == "textimage") { - $res .= $val1; - $val = " (" . $val . ")"; - } - if ($col["Type"] == "image-text") { - - $res .= $val2; - } - $res .= $val; - $res .= ""; - } else { - $res .= ""; - if ($col["Type"] == "textimage") { - $res .= $val1; - $val = " (" . $val . ")"; - } - if ($col["Type"] == "image-text") { - - $res .= $val2; - } - $res .= $val; - $res .= ""; - } - break; - case "$": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $HTTP_SESSION_VARS[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - default: - $res .= ""; - $res .= $col["Content"]; - $res .= ""; - break; - } - } else { - $res .= ""; - $res .= $val; - $res .= ""; - } - break; - - case "linknew": - if ($val == "") - $res .= " "; - if ($col["Content"] != "") { - $tlabel = substr( $col["Content"], 0, 1 ); - switch ($tlabel) { - case "&": - if (ENABLE_ENCRYPT == 'yes') { - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; + $encoded = G::encryptUrl( $col["Target"] . "/" . $lval . ".html", URL_KEY ); + $res .= ""; + if ($col["Type"] == "textimage") { + $res .= $val1; + $val = " (" . $val . ")"; + } + if ($col["Type"] == "image-text") { + + $res .= $val2; + } + $res .= $val; + $res .= ""; + } else { + $res .= ""; + if ($col["Type"] == "textimage") { + $res .= $val1; + $val = " (" . $val . ")"; + } + if ($col["Type"] == "image-text") { + + $res .= $val2; + } + $res .= $val; + $res .= ""; + } + break; + case "$": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $HTTP_SESSION_VARS[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + default: + $res .= ""; + $res .= $col["Content"]; + $res .= ""; + break; + } + } else { + $res .= ""; + $res .= $val; + $res .= ""; + } + break; + case "linknew": + if ($val == "") { + $res .= " "; + } + if ($col["Content"] != "") { + $tlabel = substr( $col["Content"], 0, 1 ); + switch ($tlabel) { + case "&": + if (ENABLE_ENCRYPT == 'yes') { + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; //$encoded = G::encryptUrl ( $col["Target"] , URL_KEY ). "/" . $lval . ".html"; - $encoded = G::encryptUrl( $col["Target"] . "/" . $lval . "", URL_KEY ); - $res .= ""; - $res .= $val; - $res .= ""; - } else { - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - } - break; - case "$": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $HTTP_SESSION_VARS[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - default: - $res .= ""; - $res .= $col["Content"]; - $res .= ""; - break; - } - } else { - $res .= ""; - $res .= $val; - $res .= ""; - } - break; - - case "iflink": - if ($col["Content"] != "") { - $tlabel = substr( $col["Content"], 0, 1 ); - if ($val != "") { - switch ($tlabel) { - case "&": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - case "$": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $HTTP_SESSION_VARS[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - default: - $res .= ""; - $res .= $col["Content"]; - $res .= ""; - break; - } - } else { - $res .= " "; - } - } else { - $res .= ""; - $res .= $val; - $res .= ""; - } - break; - - case "jsimglink": - $val = ""; - - case "jslink": - if ($val == "") { - $val .= " " . $col['Name'] . ''; - } - if ($val == "") { - $res .= " "; - } - if ($col["Content"] != "") { - $tlabel = substr( $col["Content"], 0, 1 ); - switch ($tlabel) { - case "&": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $this->_row_values[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - - case "$": - $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); - $lval = $HTTP_SESSION_VARS[$vname]; - $res .= ""; - $res .= $val; - $res .= ""; - break; - - case '_': - $Values = explode( ',', substr( $col['Content'], 1, strlen( $col['Content'] ) ) ); - $res .= "_row_values[substr( $Value, 1, strlen( $Value ) )] . ','; - } else { - $res .= "'" . $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . "',"; - } - } else { - $res .= $Value . ','; - } - } - $res = substr( $res, 0, strlen( $res ) - 1 ); - $res .= ")\"" . $col['Extra'] . ">"; - $res .= $val; - $res .= ""; - break; - - default: - $res .= ""; - $res .= $col["Content"]; - $res .= ""; - break; - } - } else { - $res .= ""; - $res .= $val; - $res .= ""; - } - break; - - case "checkbox": - $res .= ""; + $res .= $val; + $res .= ""; + } else { + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + } + break; + case "$": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $HTTP_SESSION_VARS[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + default: + $res .= ""; + $res .= $col["Content"]; + $res .= ""; + break; + } + } else { + $res .= ""; + $res .= $val; + $res .= ""; + } + break; + case "iflink": + if ($col["Content"] != "") { + $tlabel = substr( $col["Content"], 0, 1 ); + if ($val != "") { + switch ($tlabel) { + case "&": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + case "$": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $HTTP_SESSION_VARS[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + default: + $res .= ""; + $res .= $col["Content"]; + $res .= ""; + break; + } + } else { + $res .= " "; + } + } else { + $res .= ""; + $res .= $val; + $res .= ""; + } + break; + case "jsimglink": + $val = ""; + case "jslink": + if ($val == "") { + $val .= " " . $col['Name'] . ''; + } + if ($val == "") { + $res .= " "; + } + if ($col["Content"] != "") { + $tlabel = substr( $col["Content"], 0, 1 ); + switch ($tlabel) { + case "&": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $this->_row_values[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + case "$": + $vname = substr( $col["Content"], 1, (strlen( $col["Content"] ) - 1) ); + $lval = $HTTP_SESSION_VARS[$vname]; + $res .= ""; + $res .= $val; + $res .= ""; + break; + case '_': + $Values = explode( ',', substr( $col['Content'], 1, strlen( $col['Content'] ) ) ); + $res .= "_row_values[substr( $Value, 1, strlen( $Value ) )] . ','; + } else { + $res .= "'" . $this->_row_values[substr( $Value, 1, strlen( $Value ) )] . "',"; + } + } else { + $res .= $Value . ','; + } + } + $res = substr( $res, 0, strlen( $res ) - 1 ); + $res .= ")\"" . $col['Extra'] . ">"; + $res .= $val; + $res .= ""; + break; + default: + $res .= ""; + $res .= $col["Content"]; + $res .= ""; + break; + } + } else { + $res .= ""; + $res .= $val; + $res .= ""; + } + break; + case "checkbox": + $res .= " - * @access public - * @param string $strAction Next action to do - * @param string $strLabel Label - * @return void - */ - function SetAction ($strAction, $strLabel = "Continue") - { - $this->Action = $strAction; - $this->ActionLabel = $strLabel; - } - - /** - * Set contaxt and table (array) of translate - * - * @author Hardy Beltran Monasterios - * @param string $contexto Contexto en el cual se busca la traducci?n - * @param array $tabla Tabla con valores para traducir - * @param string $nombre Nombre del array $tabla - * @access public - * @return void - */ - function setTranslate ($contexto, $tabla, $nombre) - { - if (is_array( $this->contexto )) { - $this->contexto[0][] = $contexto; - $this->contexto[1][] = $nombre; - - } else { - $this->contexto = array (); - $this->contexto[0][] = $contexto; - $this->contexto[1][] = $nombre; + } + + /** + * Set next action + * + * @author Fernando Ontiveros Lira + * @access public + * @param string $strAction Next action to do + * @param string $strLabel Label + * @return void + */ + function SetAction ($strAction, $strLabel = "Continue") + { + $this->Action = $strAction; + $this->ActionLabel = $strLabel; + } + + /** + * Set contaxt and table (array) of translate + * + * @author Hardy Beltran Monasterios + * @param string $contexto Contexto en el cual se busca la traducci?n + * @param array $tabla Tabla con valores para traducir + * @param string $nombre Nombre del array $tabla + * @access public + * @return void + */ + function setTranslate ($contexto, $tabla, $nombre) + { + if (is_array( $this->contexto )) { + $this->contexto[0][] = $contexto; + $this->contexto[1][] = $nombre; + } else { + $this->contexto = array (); + $this->contexto[0][] = $contexto; + $this->contexto[1][] = $nombre; // array_push($this->contexto[0], $contexto); // array_push($this->contexto[1], $nombre); - } - if (is_array( $this->translate )) { - $this->translate = array (); - $this->translate[$nombre] = $tabla; - } else { - $this->translate[$nombre] = $tabla; - } + } + if (is_array( $this->translate )) { + $this->translate = array (); + $this->translate[$nombre] = $tabla; + } else { + $this->translate[$nombre] = $tabla; + } // Fijamos ultimo contexto usado - $this->_contexto = $contexto; - } - - /** - * Search value in the table of translation and returns last accourding to choised context - * Retorna el valor a su equivalente traducido/convertido - * - * @author Hardy Beltran Monasterios - * @param string $contexto Contexto en el cual se busca la traducci?n - * @param mixed $valor Valor que se va traducir/convertir - * @param string $lang El lenguaje que se va utilizar - * @return mixed - */ - function translateValue ($contexto, $valor, $lang) - { + $this->_contexto = $contexto; + } + + /** + * Search value in the table of translation and returns last accourding to choised context + * Retorna el valor a su equivalente traducido/convertido + * + * @author Hardy Beltran Monasterios + * @param string $contexto Contexto en el cual se busca la traducci?n + * @param mixed $valor Valor que se va traducir/convertir + * @param string $lang El lenguaje que se va utilizar + * @return mixed + */ + function translateValue ($contexto, $valor, $lang) + { // Verificar si exite el contexto - if (in_array( $contexto, $this->contexto[0] )) { - $j = count( $this->contexto[0] ); - for ($i = 0; $i < $j; $i ++) { - if ($contexto == $this->contexto[0][$i]) { - $origen = $this->contexto[1][$i]; - } - } - $tabla = $this->translate[$origen]; - if (isset( $tabla[$lang][$valor] )) { - return $tabla[$lang][$valor]; - } else { - print ("l10n error:no lang or value.") ; - } - } else { - print ("l10n error:no context.") ; - } - } - - /** - * Estable el contexto de traducci?n/conversi?n - * - * @author Hardy Beltran Monasterios - * @param string $contexto Contexto en el cual se busca la traducci?n - * @return void - */ - function setContext ($contexto) - { - $this->_context = $contexto; - } - - /** - * Parse from HTML - * - * @author Fernando Ontiveros Lira - * @access public - * @return void - */ - function ParsingFromHtml ($value, $number = '100000000') - { - $car = substr( $value, 0, 1 ); - $len = strlen( $value ); - $Flag = 1; - $token = ''; - $i = 0; - - While ($i <= $len and $i <= $number) { - $car = substr( $value, $i, 1 ); - $br = strtoupper( substr( $value, $i, 4 ) ); - if ($car == '<') { - $Flag = 0; - } - if ($car == '>') { - $Flag = 1; - } - if ($br == '
' || $br == '

') - $token .= "
"; - - if (($Flag == 1) && ($car != '>')) { - $token .= $car; - if ($i == $number) - $token .= "... "; - } - $i = $i + 1; - } - return $token; - } + if (in_array( $contexto, $this->contexto[0] )) { + $j = count( $this->contexto[0] ); + for ($i = 0; $i < $j; $i ++) { + if ($contexto == $this->contexto[0][$i]) { + $origen = $this->contexto[1][$i]; + } + } + $tabla = $this->translate[$origen]; + if (isset( $tabla[$lang][$valor] )) { + return $tabla[$lang][$valor]; + } else { + print ("l10n error:no lang or value.") ; + } + } else { + print ("l10n error:no context.") ; + } + } + + /** + * Estable el contexto de traducci?n/conversi?n + * + * @author Hardy Beltran Monasterios + * @param string $contexto Contexto en el cual se busca la traducci?n + * @return void + */ + function setContext ($contexto) + { + $this->_context = $contexto; + } + + /** + * Parse from HTML + * + * @author Fernando Ontiveros Lira + * @access public + * @return void + */ + function ParsingFromHtml ($value, $number = '100000000') + { + $car = substr( $value, 0, 1 ); + $len = strlen( $value ); + $Flag = 1; + $token = ''; + $i = 0; + + while ($i <= $len and $i <= $number) { + $car = substr( $value, $i, 1 ); + $br = strtoupper( substr( $value, $i, 4 ) ); + if ($car == '<') { + $Flag = 0; + } + if ($car == '>') { + $Flag = 1; + } + if ($br == '
' || $br == '

') { + $token .= "
"; + } + + if (($Flag == 1) && ($car != '>')) { + $token .= $car; + if ($i == $number) { + $token .= "... "; + } + } + $i = $i + 1; + } + return $token; + } } + diff --git a/workflow/engine/classes/class.propelTable.php b/workflow/engine/classes/class.propelTable.php index db491b6ed..6bae2bee1 100755 --- a/workflow/engine/classes/class.propelTable.php +++ b/workflow/engine/classes/class.propelTable.php @@ -150,15 +150,18 @@ class propelTable foreach ($orderFields as $field => $fieldOrder) { $field = G::getUIDName( $field, '' ); $fieldOrder = strtoupper( $fieldOrder ); - if ($fieldOrder === 'A') + if ($fieldOrder === 'A') { $fieldOrder = 'ASC'; - if ($fieldOrder === 'D') + } + if ($fieldOrder === 'D') { $fieldOrder = 'DESC'; + } switch ($fieldOrder) { case 'ASC': case 'DESC': - if ($order !== '') + if ($order !== '') { $order .= ', '; + } $order .= $field . ' ' . $fieldOrder; $this->aOrder[$field] = $fieldOrder; } @@ -175,10 +178,11 @@ class propelTable $this->criteria->clearOrderByColumns(); } foreach ($this->aOrder as $field => $ascending) { - if ($ascending == 'ASC') + if ($ascending == 'ASC') { $this->criteria->addAscendingOrderByColumn( $field ); - else + } else { $this->criteria->addDescendingOrderByColumn( $field ); + } } } /** @@ -215,18 +219,21 @@ class propelTable $this->name = $xmlForm->name; $this->id = $xmlForm->id; //$this->sqlConnection=((isset($this->xmlForm->sqlConnection))?$this->xmlForm->sqlConnection:''); - if (isset( $_GET['page'] )) + if (isset( $_GET['page'] )) { $this->currentPage = $_GET['page']; - else + } else { $this->currentPage = 1; - if (isset( $_GET['order'] )) + } + if (isset( $_GET['order'] )) { $this->orderBy = urldecode( $_GET['order'] ); - else + } else { $this->orderBy = ""; - if (isset( $_GET['filter'] )) + } + if (isset( $_GET['filter'] )) { $this->filter = urldecode( $_GET['filter'] ); - else + } else { $this->filter = ""; + } if ($xmlForm->ajaxServer != '') { $this->ajaxServer = G::encryptLink( $xmlForm->ajaxServer ); } else { @@ -235,12 +242,14 @@ class propelTable $this->ownerPage = G::encryptLink( SYS_CURRENT_URI ); // Config attributes from XMLFORM file $myAttributes = get_class_vars( get_class( $this ) ); - foreach ($this->xmlForm->xmlform->tree->attribute as $atrib => $value) + foreach ($this->xmlForm->xmlform->tree->attribute as $atrib => $value) { if (array_key_exists( $atrib, $myAttributes )) { eval( 'settype($value, gettype($this->' . $atrib . '));' ); - if ($value !== '') + if ($value !== '') { eval( '$this->' . $atrib . '=$value;' ); + } } + } if ($this->masterdetail != "") { $this->masterdetail = explode( ",", $this->masterdetail ); foreach ($this->masterdetail as $keyMasterDetail => $valueMasterDetail) { @@ -258,8 +267,9 @@ class propelTable $r = $f; $this->fields[$r]['Name'] = $this->xmlForm->fields[$f]->name; $this->fields[$r]['Type'] = $this->xmlForm->fields[$f]->type; - if (isset( $this->xmlForm->fields[$f]->size )) + if (isset( $this->xmlForm->fields[$f]->size )) { $this->fields[$r]['Size'] = $this->xmlForm->fields[$f]->size; + } $this->fields[$r]['Label'] = $this->xmlForm->fields[$f]->label; } //Set the default settings @@ -283,9 +293,11 @@ class propelTable } } $totalWidth = 0; - foreach ($this->fields as $r => $rval) - if ($this->style[$r]['showInTable'] != '0') + foreach ($this->fields as $r => $rval) { + if ($this->style[$r]['showInTable'] != '0') { $totalWidth += $this->style[$r]['colWidth']; + } + } $this->totalWidth = $totalWidth; } @@ -313,13 +325,14 @@ class propelTable { //fix the bug about showing hidden fields in propel table. foreach ($this->fields as $r => $rval) { - if ($this->style[$r]['type'] == 'hidden') + if ($this->style[$r]['type'] == 'hidden') { $this->style[$r]['showInTable'] = '0'; + } } //Render headers $this->colCount = 0; $this->shownFields = '['; - foreach ($this->fields as $r => $rval) + foreach ($this->fields as $r => $rval) { if (($this->style[$r]['showInTable'] != '0') && (! (in_array( $this->fields[$r]['Name'], $this->masterdetail )))) { //if (($this->style[$r]['showInTable'] != '0' )) $this->tpl->newBlock( "headers" ); @@ -327,26 +340,31 @@ class propelTable $sortOrder = (((isset( $this->aOrder[$this->fields[$r]['Name']] )) && ($this->aOrder[$this->fields[$r]['Name']] === 'DESC')) ? '' : $sortOrder); $this->style[$r]['href'] = $this->ownerPage . '?order=' . ($sortOrder !== '' ? (G::createUID( '', $this->fields[$r]['Name'] ) . '=' . $sortOrder) : '') . '&page=' . $this->currentPage; $this->style[$r]['onsort'] = $this->id . '.doSort("' . G::createUID( '', $this->fields[$r]['Name'] ) . '" , "' . $sortOrder . '");return false;'; - if (isset( $this->style[$r]['href'] )) + if (isset( $this->style[$r]['href'] )) { $this->tpl->assign( "href", $this->style[$r]['href'] ); - if (isset( $this->style[$r]['onsort'] )) + } + if (isset( $this->style[$r]['onsort'] )) { $this->tpl->assign( "onsort", htmlentities( $this->style[$r]['onsort'], ENT_QUOTES, 'UTF-8' ) ); + } /* BUG 8080 - erik: don't setup onclick on page table header, doesn't have sense and causing problems - if (isset($this->style[$r]['onclick'])) - $this->tpl->assign( "onclick" , htmlentities( $this->style[$r]['onclick'] , ENT_QUOTES, 'UTF-8' ) ); - */ + if (isset($this->style[$r]['onclick'])) + $this->tpl->assign( "onclick" , htmlentities( $this->style[$r]['onclick'] , ENT_QUOTES, 'UTF-8' ) ); + */ - if (isset( $this->style[$r]['colWidth'] )) + if (isset( $this->style[$r]['colWidth'] )) { $this->tpl->assign( "width", $this->style[$r]['colWidth'] ); - if (isset( $this->style[$r]['colWidth'] )) + } + if (isset( $this->style[$r]['colWidth'] )) { $this->tpl->assign( "widthPercent", ($this->style[$r]['colWidth'] * 100 / $this->totalWidth) . "%" ); //Hook for special skin with RTL languajes + } if (defined( 'SYS_LANG_DIRECTION' ) && SYS_LANG_DIRECTION == 'R') { $this->style[$r]['titleAlign'] = 'right'; } - if (isset( $this->style[$r]['titleAlign'] )) + if (isset( $this->style[$r]['titleAlign'] )) { $this->tpl->assign( "align", 'text-align:' . $this->style[$r]['titleAlign'] . ';' ); + } if ($this->style[$r]['titleVisibility'] != '0') { $sortOrder = (((isset( $this->aOrder[$this->fields[$r]['Name']] )) && ($this->aOrder[$this->fields[$r]['Name']] === 'ASC')) ? '' : ''); $sortOrder = (((isset( $this->aOrder[$this->fields[$r]['Name']] )) && ($this->aOrder[$this->fields[$r]['Name']] === 'DESC')) ? '' : $sortOrder); @@ -359,6 +377,7 @@ class propelTable $this->shownFields .= ($this->shownFields !== '[') ? ',' : ''; $this->shownFields .= '"' . $r . '"'; } + } $this->shownFields .= ']'; } @@ -380,10 +399,11 @@ class propelTable $styleData = $this->style[$r]; $fielDataName = $styleData['data']; $fieldClassName = isset( $styleData['colClassName'] ) && ($styleData['colClassName']) ? $styleData['colClassName'] : $this->tdClass; - if ($fielDataName != '') + if ($fielDataName != '') { $value = ((isset( $result[$fielDataName] )) ? $result[$fielDataName] : ''); - else + } else { $value = $this->fields[$r]['Label']; + } $this->tpl->newBlock( "field" ); $this->tpl->assign( 'width', $this->style[$r]['colWidth'] ); $classAttr = (trim( $fieldClassName ) != '') ? " class=\"$fieldClassName\"" : ''; @@ -414,7 +434,7 @@ class propelTable $this->xmlForm->setDefaultValues(); $this->xmlForm->setValues( $result ); //var_dump($fieldName, $fieldClass );echo '

'; - if (array_search( 'renderTable', get_class_methods( $fieldClass ) ) !== FALSE) { + if (array_search( 'renderTable', get_class_methods( $fieldClass ) ) !== false) { $htmlField = $this->xmlForm->fields[$fieldName]->renderTable( $value, $this->xmlForm, true ); if (is_object( $value )) { $value = ''; @@ -423,8 +443,9 @@ class propelTable $testValue = preg_match( "/
(.*)<\/a>/i", $htmlField, $value ); $this->tpl->assign( "value", $htmlField ); if ($testValue > 0 && (isset( $value[1] ) && strlen( trim( $value[1] ) ) == 0)) { - if ((trim( $value[0] )) == '') + if ((trim( $value[0] )) == '') { $this->tpl->assign( "value", " " ); + } // $this->tpl->assign( "value" , (preg_match('^[[:space:]]^', $value) && (substr($fieldName,0,3)!="PRO"))? str_ireplace(" "," ",$htmlField):$htmlField ); } else { $this->tpl->assign( "value", $htmlField ); @@ -453,51 +474,60 @@ class propelTable $this->style[$r] = array ('showInTable' => '1','titleVisibility' => '1','colWidth' => '150','onclick' => '','event' => '' ); //Some widths - if (! (strpos( ' date linknew ', ' ' . $this->fields[$r]['Type'] . ' ' ) === FALSE)) + if (! (strpos( ' date linknew ', ' ' . $this->fields[$r]['Type'] . ' ' ) === false)) { $this->style[$r]['colWidth'] = '70'; + } //Data source: - if (! (strpos( ' title button linknew image-text jslink ', ' ' . $this->fields[$r]['Type'] . ' ' ) === FALSE)) + if (! (strpos( ' title button linknew image-text jslink ', ' ' . $this->fields[$r]['Type'] . ' ' ) === false)) { $this->style[$r]['data'] = ''; //If the control is a link it shows the label - else + } else { $this->style[$r]['data'] = $this->fields[$r]['Name']; //ELSE: The data value for that field //Hidden fields + } if (! isset( $this->style[$r]['showInTable'] )) { - if (! (strpos( ' title button endgrid2 submit password ', ' ' . $this->fields[$r]['Type'] . ' ' ) === FALSE)) { + if (! (strpos( ' title button endgrid2 submit password ', ' ' . $this->fields[$r]['Type'] . ' ' ) === false)) { $this->style[$r]['showInTable'] = '0'; } else { $this->style[$r]['showInTable'] = '1'; } } //Hidden titles - if (! (strpos( ' linknew button endgrid2 ', ' ' . $this->fields[$r]['Type'] . ' ' ) === FALSE)) { + if (! (strpos( ' linknew button endgrid2 ', ' ' . $this->fields[$r]['Type'] . ' ' ) === false)) { $this->style[$r]['titleVisibility'] = '0'; } //Align titles $this->style[$r]['titleAlign'] = 'center'; //Align fields - if (defined( 'SYS_LANG_DIRECTION' ) && SYS_LANG_DIRECTION == 'R') + if (defined( 'SYS_LANG_DIRECTION' ) && SYS_LANG_DIRECTION == 'R') { $this->style[$r]['align'] = 'right'; - else + } else { $this->style[$r]['align'] = 'left'; - if (! (strpos( ' linknew date ', ' ' . $this->fields[$r]['Type'] . ' ' ) === FALSE)) { + } + if (! (strpos( ' linknew date ', ' ' . $this->fields[$r]['Type'] . ' ' ) === false)) { $this->style[$r]['align'] = 'center'; } } // Adjust the columns width to prevent overflow the page width //Render headers $totalWidth = 0; - foreach ($this->fields as $r => $rval) - if ($this->style[$r]['showInTable'] != '0') + foreach ($this->fields as $r => $rval) { + if ($this->style[$r]['showInTable'] != '0') { $totalWidth += $this->style[$r]['colWidth']; + } + } $this->totalWidth = $totalWidth; $maxWidth = 1800; $proportion = $totalWidth / $maxWidth; - if ($proportion > 1) + if ($proportion > 1) { $this->totalWidth = 1800; - if ($proportion > 1) - foreach ($this->fields as $r => $rval) - if ($this->style[$r]['showInTable'] != '0') + } + if ($proportion > 1) { + foreach ($this->fields as $r => $rval) { + if ($this->style[$r]['showInTable'] != '0') { $this->style[$r]['colWidth'] = $this->style[$r]['colWidth'] / $proportion; + } + } + } } /** @@ -512,12 +542,13 @@ class propelTable { //Render Title $thereisnotitle = true; - foreach ($this->fields as $r => $rval) + foreach ($this->fields as $r => $rval) { if ($this->fields[$r]['Type'] === 'title') { $this->title = $this->fields[$r]['Label']; unset( $this->fields[$r] ); $thereisnotitle = false; } + } if ($thereisnotitle) { $this->title = ''; } @@ -530,11 +561,12 @@ class propelTable // verify if there are templates folders registered, template and method folders are the same $folderTemplate = explode( '/', $this->template ); $oPluginRegistry = & PMPluginRegistry::getSingleton(); - if ($oPluginRegistry->isRegisteredFolder( $folderTemplate[0] )) + if ($oPluginRegistry->isRegisteredFolder( $folderTemplate[0] )) { $templateFile = PATH_PLUGINS . $this->template . '.html'; - else + } else { $templateFile = PATH_TPL . $this->template . '.html'; // Prepare the template + } $this->tpl = new TemplatePower( $templateFile ); $this->tpl->prepare(); if (is_array( $fields )) { @@ -553,8 +585,9 @@ class propelTable $this->tpl->assign( "title", $this->title ); if (file_exists( $this->xmlForm->home . $this->filterForm . '.xml' )) { $filterForm = new filterForm( $this->filterForm, $this->xmlForm->home ); - if ($this->menu === '') + if ($this->menu === '') { $this->menu = 'gulliver/pagedTable_Options'; + } } if (file_exists( $this->xmlForm->home . $this->menu . '.xml' )) { $menu = new xmlMenu( $this->menu, $this->xmlForm->home ); @@ -585,8 +618,9 @@ class propelTable $this->tpl->assign( 'content', $filterForm->render( $template, $scriptCode ) ); $oHeadPublisher->addScriptFile( $filterForm->scriptURL ); $oHeadPublisher->addScriptCode( $scriptCode ); - if (isset( $_SESSION )) + if (isset( $_SESSION )) { $_SESSION[$filterForm->id] = $filterForm->values; + } } } @@ -620,17 +654,17 @@ class propelTable } $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); /* - print "
"; - $rs->next(); - $row = $rs->getRow(); - while ( is_array ( $row ) ) { - print ""; - foreach ( $row as $k=>$v ) print ""; - print ""; - $rs->next(); - $row = $rs->getRow(); - } - print "
$v
"; die;*/ + print "
"; + $rs->next(); + $row = $rs->getRow(); + while ( is_array ( $row ) ) { + print ""; + foreach ( $row as $k=>$v ) print ""; + print ""; + $rs->next(); + $row = $rs->getRow(); + } + print "
$v
"; die;*/ $gridRows = 0; $rs->next(); //Initialize the array of breakFields for Master Detail View @@ -677,14 +711,16 @@ class propelTable } } $this->tpl->gotoblock( "row" ); - if (! isset( $rowName )) + if (! isset( $rowName )) { $rowName = array (); + } $this->tpl->assign( "rowName", implode( ",", $rowName ) ); } //End Master Detail: This enable the MasterDEtail view //Merge $result with $xmlForm values (for default valuesSettings) - if (is_array( $this->xmlForm->values )) + if (is_array( $this->xmlForm->values )) { $result = array_merge( $this->xmlForm->values, $result ); + } foreach ($this->fields as $r => $rval) { if (strcasecmp( $this->fields[$r]['Type'], 'cellMark' ) == 0) { $result1 = $result; @@ -695,8 +731,9 @@ class propelTable $this->tdStyle = $this->xmlForm->fields[$this->fields[$r]['Name']]->tdStyle( $result1, $this->xmlForm ); $this->tdClass = $this->xmlForm->fields[$this->fields[$r]['Name']]->tdClass( $result1, $this->xmlForm ); } elseif ($this->style[$r]['showInTable'] != '0') { - if (($this->style[$r]['showInTable'] != '0') && (! (in_array( $this->fields[$r]['Name'], $this->masterdetail )))) + if (($this->style[$r]['showInTable'] != '0') && (! (in_array( $this->fields[$r]['Name'], $this->masterdetail )))) { $this->renderField( $j + 1, $r, $result ); + } } } } @@ -728,20 +765,23 @@ class propelTable $last = "
     "; } $pagesEnum = ''; - for ($r = 1; $r <= $this->totPages; $r ++) + for ($r = 1; $r <= $this->totPages; $r ++) { if (($r >= ($this->currentPage - 5)) && ($r <= ($this->currentPage + 5))) { $pageAjax = $this->id . ".doGoToPage(" . $r . ");return false;"; - if ($r != $this->currentPage) + if ($r != $this->currentPage) { $pagesEnum .= " ownerPage . '?order=' . $this->orderBy . '&page=' . $r, ENT_QUOTES, 'utf-8' ) . "\" onclick=\"" . $pageAjax . "\">" . $r . ""; - else + } else { $pagesEnum .= " " . $r . ""; + } } + } if ($this->totRows === 0) { $this->tpl->newBlock( 'norecords' ); $this->tpl->assign( "columnCount", $this->colCount ); $noRecordsFound = 'ID_NO_RECORDS_FOUND'; - if (G::LoadTranslation( $noRecordsFound )) + if (G::LoadTranslation( $noRecordsFound )) { $noRecordsFound = G::LoadTranslation( $noRecordsFound ); + } $this->tpl->assign( "noRecordsFound", $noRecordsFound ); } if (! $this->disableFooter) { @@ -770,32 +810,34 @@ class propelTable } else { $this->tpl->assign( "fastSearchStyle", 'visibility:hidden;' ); } - if ($this->addRow) - if ($this->sqlInsert != '') + if ($this->addRow) { + if ($this->sqlInsert != '') { $this->tpl->assign( "insert", ''./*G::LoadXml('labels','ID_ADD_NEW')*/ 'ID_ADD_NEW' . '' ); + } + } $this->tpl->assign( "pagesEnum", $pagesEnum ); } ?> - -popupWidth?>; + var popupHeightpopupHeight?>; + + popupHeight?>; $G_PUBLISH->AddContent( 'xmlform', 'xmlform', $filename, '', $data, $this->popupSubmit ); G::RenderPage( "publish", "blank" ); } -} \ No newline at end of file +} + diff --git a/workflow/engine/classes/entities/Base.php b/workflow/engine/classes/entities/Base.php index 5aa927469..b8134c007 100644 --- a/workflow/engine/classes/entities/Base.php +++ b/workflow/engine/classes/entities/Base.php @@ -2,156 +2,154 @@ class Entity_Base { - - /** - * this function check if a field is in the data sent in the constructor - * you can specify an array, and this function will use like alias - */ - protected function validateField($field, $default = false) - { - $fieldIsEmpty = true; - - // this is a trick, if $fields is a string, $fields will be an array with - // one element - if (is_array ($field)) { - $fields = $field; - } - else { - $fields = array (); - $fields [] = $field; - } - - // if there are aliases for this field, evaluate all aliases and take the - // first occurence - foreach ($fields as $k => $f) { - if (isset ($this->temp [$f])) { - $fieldIsEmpty = false; - return $this->temp [$f]; - } - } - - // field empty means the user has not sent a value for this Field, so we are - // using the default value - if ($fieldIsEmpty) { - if ($default !== false) { - return $default; - } - } - } - - protected function validateRequiredFields($requiredFields = array()) - { - foreach ($requiredFields as $k => $field) { - if ($this->{$field} === NULL) { - throw (new Exception ("Field $field is required in " . get_class ($this))); - die (); - } - } - } - - /** - * - * - * - * Copy the values of the Entity to the array of aliases - * The array of aliases must be defined. - * - * @return Array of alias with the Entity values - */ - public function getAliasDataArray() - { - $aAlias = array (); - // get aliases from class - $className = get_class ($this); - if (method_exists ($className, 'GetAliases')) { - $aliases = call_user_func (array ( - $className, - 'GetAliases' - )); - // $aliases = $className::GetAliases (); - foreach ($this as $field => $value) - if (isset ($aliases [$field])) { - // echo "Field exists in Aliases: " . $field . "\n"; - // echo "Alias Name:" . $aliases[$field] . "\n"; - // echo "Alias value:" . $value . "\n"; - $aAlias [$aliases [$field]] = $value; + + /** + * this function check if a field is in the data sent in the constructor + * you can specify an array, and this function will use like alias + */ + protected function validateField ($field, $default = false) + { + $fieldIsEmpty = true; + + // this is a trick, if $fields is a string, $fields will be an array with + // one element + if (is_array( $field )) { + $fields = $field; + } else { + $fields = array (); + $fields[] = $field; + } + + // if there are aliases for this field, evaluate all aliases and take the + // first occurence + foreach ($fields as $k => $f) { + if (isset( $this->temp[$f] )) { + $fieldIsEmpty = false; + return $this->temp[$f]; + } + } + + // field empty means the user has not sent a value for this Field, so we are + // using the default value + if ($fieldIsEmpty) { + if ($default !== false) { + return $default; + } } } - - return $aAlias; - } - - /** - * - * - * - * Set the data from array of alias to Entity - * - * @param $aAliasData array - * of data of aliases - */ - public function setAliasDataArray($aAliasData) - { - // get aliases from class - $className = get_class ($this); - if (method_exists ($className, 'GetAliases')) { - $aliases = call_user_func (array ( - $className, - 'GetAliases' - )); - // $aliases = $className::GetAliases (); - foreach ($this as $field => $value) - if (isset ($aliases [$field])) - $this->{$field} = $aAliasData [$aliases [$field]]; - } - } - - /** - * - * - * - * Initialize object with values from $data. - * The values from data use properties or alias array. - * - * @param - * $data - */ - protected function initializeObject($data) - { - // get aliases from class - $className = get_class ($this); - $aliases = array (); - $swAliases = false; - if (method_exists ($className, 'GetAliases')) { - $aliases = call_user_func (array ( - $className, - 'GetAliases' - )); - // $aliases = $className::GetAliases (); - $swAliases = true; - } - // use object properties or aliases to initialize - foreach ($this as $field => $value) - if (isset ($data [$field])) { - $this->$field = $data [$field]; - } - elseif ($swAliases && isset ($aliases [$field]) && isset ($data [$aliases [$field]])) { - $this->$field = $data [$aliases [$field]]; - } - } - - public function serialize() - { - if (isset ($this->temp)) - unset ($this->temp); - return serialize ($this); - } - - public function unserialize($str) - { - $className = get_class ($this); - $data = unserialize ($str); - return new $className ($data); - } -} \ No newline at end of file + protected function validateRequiredFields ($requiredFields = array()) + { + foreach ($requiredFields as $k => $field) { + if ($this->{$field} === null) { + throw (new Exception( "Field $field is required in " . get_class( $this ) )); + die(); + } + } + } + + /** + * + * + * + * + * Copy the values of the Entity to the array of aliases + * The array of aliases must be defined. + * + * @return Array of alias with the Entity values + */ + public function getAliasDataArray () + { + $aAlias = array (); + // get aliases from class + $className = get_class( $this ); + if (method_exists( $className, 'GetAliases' )) { + $aliases = call_user_func( array ($className,'GetAliases' + ) ); + // $aliases = $className::GetAliases (); + foreach ($this as $field => $value) { + if (isset( $aliases[$field] )) { + // echo "Field exists in Aliases: " . $field . "\n"; + // echo "Alias Name:" . $aliases[$field] . "\n"; + // echo "Alias value:" . $value . "\n"; + $aAlias[$aliases[$field]] = $value; + } + } + } + + return $aAlias; + } + + /** + * + * + * + * + * Set the data from array of alias to Entity + * + * @param $aAliasData array of data of aliases + */ + public function setAliasDataArray ($aAliasData) + { + // get aliases from class + $className = get_class( $this ); + if (method_exists( $className, 'GetAliases' )) { + $aliases = call_user_func( array ($className,'GetAliases' + ) ); + // $aliases = $className::GetAliases (); + foreach ($this as $field => $value) { + if (isset( $aliases[$field] )) { + $this->{$field} = $aAliasData[$aliases[$field]]; + } + } + } + } + + /** + * + * + * + * + * Initialize object with values from $data. + * The values from data use properties or alias array. + * + * @param $data + */ + protected function initializeObject ($data) + { + // get aliases from class + $className = get_class( $this ); + $aliases = array (); + $swAliases = false; + if (method_exists( $className, 'GetAliases' )) { + $aliases = call_user_func( array ($className,'GetAliases' + ) ); + // $aliases = $className::GetAliases (); + $swAliases = true; + } + // use object properties or aliases to initialize + foreach ($this as $field => $value) { + if (isset( $data[$field] )) { + $this->$field = $data[$field]; + } elseif ($swAliases && isset( $aliases[$field] ) && isset( $data[$aliases[$field]] )) { + $this->$field = $data[$aliases[$field]]; + } + } + } + + public function serialize () + { + if (isset( $this->temp )) { + unset( $this->temp ); + } + return serialize( $this ); + } + + public function unserialize ($str) + { + $className = get_class( $this ); + $data = unserialize( $str ); + return new $className( $data ); + } +} + diff --git a/workflow/engine/classes/model/AppEvent.php b/workflow/engine/classes/model/AppEvent.php index 39214a5f2..54a10b25e 100755 --- a/workflow/engine/classes/model/AppEvent.php +++ b/workflow/engine/classes/model/AppEvent.php @@ -1,337 +1,358 @@ toArray(BasePeer::TYPE_FIELDNAME); - $this->fromArray($aFields, BasePeer::TYPE_FIELDNAME); - return $aFields; - } - else { - throw(new Exception('This row doesn\'t exist!')); - } - } - catch (Exception $oError) { - throw($oError); - } - } +class AppEvent extends BaseAppEvent +{ - function create($aData) { - $oConnection = Propel::getConnection(AppEventPeer::DATABASE_NAME); - try { - $oAppEvent = new AppEvent(); - $oAppEvent->fromArray($aData, BasePeer::TYPE_FIELDNAME); - if ($oAppEvent->validate()) { - $oConnection->begin(); - $iResult = $oAppEvent->save(); - $oConnection->commit(); - return true; - } - else { - $sMessage = ''; - $aValidationFailures = $oAppEvent->getValidationFailures(); - foreach($aValidationFailures as $oValidationFailure) { - $sMessage .= $oValidationFailure->getMessage() . '
'; + public function load ($sApplicationUID, $iDelegation) + { + try { + $oAppEvent = AppEventPeer::retrieveByPK( $sApplicationUID, $iDelegation ); + if (! is_null( $oAppEvent )) { + $aFields = $oAppEvent->toArray( BasePeer::TYPE_FIELDNAME ); + $this->fromArray( $aFields, BasePeer::TYPE_FIELDNAME ); + return $aFields; + } else { + throw (new Exception( 'This row doesn\'t exist!' )); + } + } catch (Exception $oError) { + throw ($oError); } - throw(new Exception('The registry cannot be created!
' . $sMessage)); - } } - catch (Exception $oError) { - $oConnection->rollback(); - throw($oError); - } - } - function update($aData) { - $oConnection = Propel::getConnection(AppEventPeer::DATABASE_NAME); - try { - $oAppEvent = AppEventPeer::retrieveByPK($aData['APP_UID'], $aData['DEL_INDEX']); - if (!is_null($oAppEvent)) { - $oAppEvent->fromArray($aData, BasePeer::TYPE_FIELDNAME); - if ($oAppEvent->validate()) { - $oConnection->begin(); - $iResult = $oAppEvent->save(); - $oConnection->commit(); - return $iResult; + function create ($aData) + { + $oConnection = Propel::getConnection( AppEventPeer::DATABASE_NAME ); + try { + $oAppEvent = new AppEvent(); + $oAppEvent->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); + if ($oAppEvent->validate()) { + $oConnection->begin(); + $iResult = $oAppEvent->save(); + $oConnection->commit(); + return true; + } else { + $sMessage = ''; + $aValidationFailures = $oAppEvent->getValidationFailures(); + foreach ($aValidationFailures as $oValidationFailure) { + $sMessage .= $oValidationFailure->getMessage() . '
'; + } + throw (new Exception( 'The registry cannot be created!
' . $sMessage )); + } + } catch (Exception $oError) { + $oConnection->rollback(); + throw ($oError); } - else { - $sMessage = ''; - $aValidationFailures = $oAppEvent->getValidationFailures(); - foreach($aValidationFailures as $oValidationFailure) { - $sMessage .= $oValidationFailure->getMessage() . '
'; - } - throw(new Exception('The registry cannot be updated!
'.$sMessage)); + } + + function update ($aData) + { + $oConnection = Propel::getConnection( AppEventPeer::DATABASE_NAME ); + try { + $oAppEvent = AppEventPeer::retrieveByPK( $aData['APP_UID'], $aData['DEL_INDEX'] ); + if (! is_null( $oAppEvent )) { + $oAppEvent->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); + if ($oAppEvent->validate()) { + $oConnection->begin(); + $iResult = $oAppEvent->save(); + $oConnection->commit(); + return $iResult; + } else { + $sMessage = ''; + $aValidationFailures = $oAppEvent->getValidationFailures(); + foreach ($aValidationFailures as $oValidationFailure) { + $sMessage .= $oValidationFailure->getMessage() . '
'; + } + throw (new Exception( 'The registry cannot be updated!
' . $sMessage )); + } + } else { + throw (new Exception( 'This row doesn\'t exist!' )); + } + } catch (Exception $oError) { + $oConnection->rollback(); + throw ($oError); } - } - else { - throw(new Exception('This row doesn\'t exist!')); - } } - catch (Exception $oError) { - $oConnection->rollback(); - throw($oError); - } - } - function remove($sApplicationUID, $iDelegation, $sEvnUid) { - $oConnection = Propel::getConnection(AppEventPeer::DATABASE_NAME); - try { - $oAppEvent = AppEventPeer::retrieveByPK($sApplicationUID, $iDelegation, $sEvnUid); - if (!is_null($oAppEvent)) { - $oConnection->begin(); - $iResult = $oAppEvent->delete(); - $oConnection->commit(); - return $iResult; - } - else { - throw(new Exception('This row doesn\'t exist!')); - } + function remove ($sApplicationUID, $iDelegation, $sEvnUid) + { + $oConnection = Propel::getConnection( AppEventPeer::DATABASE_NAME ); + try { + $oAppEvent = AppEventPeer::retrieveByPK( $sApplicationUID, $iDelegation, $sEvnUid ); + if (! is_null( $oAppEvent )) { + $oConnection->begin(); + $iResult = $oAppEvent->delete(); + $oConnection->commit(); + return $iResult; + } else { + throw (new Exception( 'This row doesn\'t exist!' )); + } + } catch (Exception $oError) { + $oConnection->rollback(); + throw ($oError); + } } - catch (Exception $oError) { - $oConnection->rollback(); - throw($oError); - } - } - function getAppEventsCriteria($sProcessUid='', $sStatus = '', $EVN_ACTION='') { + function getAppEventsCriteria ($sProcessUid = '', $sStatus = '', $EVN_ACTION = '') + { try { require_once 'classes/model/Event.php'; - $oCriteria = new Criteria('workflow'); - $oCriteria->addSelectColumn(AppEventPeer::APP_UID); - $oCriteria->addSelectColumn(AppEventPeer::DEL_INDEX); - $oCriteria->addSelectColumn(AppEventPeer::EVN_UID); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ACTION_DATE); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ATTEMPTS); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_LAST_EXECUTION_DATE); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_STATUS); - $oCriteria->addSelectColumn(EventPeer::PRO_UID); - $oCriteria->addSelectColumn(EventPeer::EVN_WHEN_OCCURS); - $oCriteria->addSelectColumn(EventPeer::EVN_ACTION); - $oCriteria->addAsColumn('EVN_DESCRIPTION', 'C1.CON_VALUE'); - $oCriteria->addAsColumn('TAS_TITLE', 'C2.CON_VALUE'); - $oCriteria->addAsColumn('APP_TITLE', 'C3.CON_VALUE'); - $oCriteria->addAsColumn('PRO_TITLE', 'C4.CON_VALUE'); - $oCriteria->addAlias('C1', 'CONTENT'); - $oCriteria->addAlias('C2', 'CONTENT'); - $oCriteria->addAlias('C3', 'CONTENT'); - $oCriteria->addAlias('C4', 'CONTENT'); - $oCriteria->addJoin(AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::LEFT_JOIN); + $oCriteria = new Criteria( 'workflow' ); + $oCriteria->addSelectColumn( AppEventPeer::APP_UID ); + $oCriteria->addSelectColumn( AppEventPeer::DEL_INDEX ); + $oCriteria->addSelectColumn( AppEventPeer::EVN_UID ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_ACTION_DATE ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_ATTEMPTS ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_LAST_EXECUTION_DATE ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_STATUS ); + $oCriteria->addSelectColumn( EventPeer::PRO_UID ); + $oCriteria->addSelectColumn( EventPeer::EVN_WHEN_OCCURS ); + $oCriteria->addSelectColumn( EventPeer::EVN_ACTION ); + $oCriteria->addAsColumn( 'EVN_DESCRIPTION', 'C1.CON_VALUE' ); + $oCriteria->addAsColumn( 'TAS_TITLE', 'C2.CON_VALUE' ); + $oCriteria->addAsColumn( 'APP_TITLE', 'C3.CON_VALUE' ); + $oCriteria->addAsColumn( 'PRO_TITLE', 'C4.CON_VALUE' ); + $oCriteria->addAlias( 'C1', 'CONTENT' ); + $oCriteria->addAlias( 'C2', 'CONTENT' ); + $oCriteria->addAlias( 'C3', 'CONTENT' ); + $oCriteria->addAlias( 'C4', 'CONTENT' ); + $oCriteria->addJoin( AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::LEFT_JOIN ); $del = DBAdapter::getStringDelimiter(); - $aConditions = array(); - $aConditions[] = array(EventPeer::EVN_UID, 'C1.CON_ID'); - $aConditions[] = array('C1.CON_CATEGORY', $del . 'EVN_DESCRIPTION' . $del); - $aConditions[] = array('C1.CON_LANG', $del . SYS_LANG . $del); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $aConditions = array(); - $aConditions[] = array(AppEventPeer::APP_UID, AppDelegationPeer::APP_UID); - $aConditions[] = array(AppEventPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $aConditions = array(); - $aConditions[] = array(AppDelegationPeer::TAS_UID, 'C2.CON_ID'); - $aConditions[] = array('C2.CON_CATEGORY', $del . 'TAS_TITLE' . $del); - $aConditions[] = array('C2.CON_LANG', $del . SYS_LANG . $del); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $aConditions = array(); - $aConditions[] = array(AppDelegationPeer::APP_UID, 'C3.CON_ID'); - $aConditions[] = array('C3.CON_CATEGORY', $del . 'APP_TITLE' . $del); - $aConditions[] = array('C3.CON_LANG', $del . SYS_LANG . $del); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $aConditions = array(); - $aConditions[] = array(AppDelegationPeer::PRO_UID, 'C4.CON_ID'); - $aConditions[] = array('C4.CON_CATEGORY', $del . 'PRO_TITLE' . $del); - $aConditions[] = array('C4.CON_LANG', $del . SYS_LANG . $del); + $aConditions = array (); + $aConditions[] = array (EventPeer::EVN_UID,'C1.CON_ID' + ); + $aConditions[] = array ('C1.CON_CATEGORY',$del . 'EVN_DESCRIPTION' . $del + ); + $aConditions[] = array ('C1.CON_LANG',$del . SYS_LANG . $del + ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $aConditions = array (); + $aConditions[] = array (AppEventPeer::APP_UID,AppDelegationPeer::APP_UID + ); + $aConditions[] = array (AppEventPeer::DEL_INDEX,AppDelegationPeer::DEL_INDEX + ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $aConditions = array (); + $aConditions[] = array (AppDelegationPeer::TAS_UID,'C2.CON_ID' + ); + $aConditions[] = array ('C2.CON_CATEGORY',$del . 'TAS_TITLE' . $del + ); + $aConditions[] = array ('C2.CON_LANG',$del . SYS_LANG . $del + ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $aConditions = array (); + $aConditions[] = array (AppDelegationPeer::APP_UID,'C3.CON_ID' + ); + $aConditions[] = array ('C3.CON_CATEGORY',$del . 'APP_TITLE' . $del + ); + $aConditions[] = array ('C3.CON_LANG',$del . SYS_LANG . $del + ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $aConditions = array (); + $aConditions[] = array (AppDelegationPeer::PRO_UID,'C4.CON_ID' + ); + $aConditions[] = array ('C4.CON_CATEGORY',$del . 'PRO_TITLE' . $del + ); + $aConditions[] = array ('C4.CON_LANG',$del . SYS_LANG . $del + ); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); - $oCriteria->add(AppEventPeer::EVN_UID, '', Criteria::NOT_EQUAL); - if($sProcessUid != ''){ - $oCriteria->add(EventPeer::PRO_UID, $sProcessUid); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + $oCriteria->add( AppEventPeer::EVN_UID, '', Criteria::NOT_EQUAL ); + if ($sProcessUid != '') { + $oCriteria->add( EventPeer::PRO_UID, $sProcessUid ); } - if($EVN_ACTION != ''){ - $oCriteria->add(EventPeer::EVN_ACTION, $EVN_ACTION); + if ($EVN_ACTION != '') { + $oCriteria->add( EventPeer::EVN_ACTION, $EVN_ACTION ); } switch ($sStatus) { case '': //Nothing - break; + break; case 'PENDING': - $oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'OPEN'); - break; + $oCriteria->add( AppEventPeer::APP_EVN_STATUS, 'OPEN' ); + break; case 'COMPLETED': - $oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'CLOSE'); - break; + $oCriteria->add( AppEventPeer::APP_EVN_STATUS, 'CLOSE' ); + break; } //$oCriteria->addDescendingOrderByColumn(AppEventPeer::APP_EVN_ACTION_DATE); return $oCriteria; - } - catch (Exception $oError) { - throw($oError); + } catch (Exception $oError) { + throw ($oError); } } - public function executeEvents($sNow, $debug=false, &$log=array(), $cron=0) { + public function executeEvents ($sNow, $debug = false, &$log = array(), $cron = 0) + { - require_once 'classes/model/Configuration.php'; - require_once 'classes/model/Triggers.php'; - G::LoadClass('case'); + require_once 'classes/model/Configuration.php'; + require_once 'classes/model/Triggers.php'; + G::LoadClass( 'case' ); - $debug = 1; - $oCase = new Cases(); + $debug = 1; + $oCase = new Cases(); - try { - $oCriteria = new Criteria('workflow'); + try { + $oCriteria = new Criteria( 'workflow' ); - $oCriteria->addSelectColumn(AppEventPeer::APP_UID); - $oCriteria->addSelectColumn(AppEventPeer::DEL_INDEX); - $oCriteria->addSelectColumn(AppEventPeer::EVN_UID); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ACTION_DATE); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_ATTEMPTS); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_LAST_EXECUTION_DATE); - $oCriteria->addSelectColumn(AppEventPeer::APP_EVN_STATUS); - $oCriteria->addSelectColumn(EventPeer::PRO_UID); - $oCriteria->addSelectColumn(EventPeer::EVN_ACTION); - $oCriteria->addSelectColumn(EventPeer::TRI_UID); - $oCriteria->addSelectColumn(EventPeer::EVN_ACTION_PARAMETERS); - $oCriteria->addSelectColumn(EventPeer::EVN_RELATED_TO); - $oCriteria->addSelectColumn(AppDelegationPeer::TAS_UID); - $oCriteria->addSelectColumn(AppDelegationPeer::USR_UID); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_TASK_DUE_DATE); - $oCriteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE); + $oCriteria->addSelectColumn( AppEventPeer::APP_UID ); + $oCriteria->addSelectColumn( AppEventPeer::DEL_INDEX ); + $oCriteria->addSelectColumn( AppEventPeer::EVN_UID ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_ACTION_DATE ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_ATTEMPTS ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_LAST_EXECUTION_DATE ); + $oCriteria->addSelectColumn( AppEventPeer::APP_EVN_STATUS ); + $oCriteria->addSelectColumn( EventPeer::PRO_UID ); + $oCriteria->addSelectColumn( EventPeer::EVN_ACTION ); + $oCriteria->addSelectColumn( EventPeer::TRI_UID ); + $oCriteria->addSelectColumn( EventPeer::EVN_ACTION_PARAMETERS ); + $oCriteria->addSelectColumn( EventPeer::EVN_RELATED_TO ); + $oCriteria->addSelectColumn( AppDelegationPeer::TAS_UID ); + $oCriteria->addSelectColumn( AppDelegationPeer::USR_UID ); + $oCriteria->addSelectColumn( AppDelegationPeer::DEL_TASK_DUE_DATE ); + $oCriteria->addSelectColumn( AppDelegationPeer::DEL_FINISH_DATE ); + + $oCriteria->addJoin( AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::JOIN ); + + $aConditions = array (); + array_push( $aConditions, Array (AppEventPeer::APP_UID,AppDelegationPeer::APP_UID + ) ); + array_push( $aConditions, Array (AppEventPeer::DEL_INDEX,AppDelegationPeer::DEL_INDEX + ) ); + $oCriteria->addJoinMC( $aConditions, Criteria::LEFT_JOIN ); + + $oCriteria->addJoin( ApplicationPeer::APP_UID, AppEventPeer::APP_UID ); + + $oCriteria->add( AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL ); //by me + $oCriteria->add( AppEventPeer::APP_EVN_STATUS, 'OPEN' ); + $oCriteria->add( AppEventPeer::APP_EVN_ACTION_DATE, $sNow, Criteria::LESS_EQUAL ); + + $oDataset = AppEventPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + + $c = 0; + while ($oDataset->next()) { + if ($cron == 1) { + $arrayCron = unserialize( trim( @file_get_contents( PATH_DATA . "cron" ) ) ); + $arrayCron["processcTimeStart"] = time(); + @file_put_contents( PATH_DATA . "cron", serialize( $arrayCron ) ); + } + + $c ++; + $aRow = $oDataset->getRow(); + $oTrigger = new Triggers(); + $aFields = $oCase->loadCase( $aRow['APP_UID'] ); + $oAppEvent = AppEventPeer::retrieveByPK( $aRow['APP_UID'], $aRow['DEL_INDEX'], $aRow['EVN_UID'] ); + + //g::pr($aRow); //die; - $oCriteria->addJoin(AppEventPeer::EVN_UID, EventPeer::EVN_UID, Criteria::JOIN); + if ($debug) { + require_once 'classes/model/Application.php'; + $oApp = ApplicationPeer::retrieveByPk( $aRow['APP_UID'] ); + $oEv = EventPeer::retrieveByPk( $aRow['EVN_UID'] ); + $log[] = 'Event ' . $oEv->getEvnDescription() . ' with ID ' . $aRow['EVN_UID']; - $aConditions = array(); - array_push($aConditions, Array(AppEventPeer::APP_UID, AppDelegationPeer::APP_UID)); - array_push($aConditions, Array(AppEventPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX)); - $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); + println( "\nOK+ event \"" . $oEv->getEvnDescription() . "\" with ID {} was found" ); + println( " - PROCESS................" . $aRow['PRO_UID'] ); + println( " - APPLICATION............" . $aRow['APP_UID'] . " CASE #" . $oApp->getAppNumber() ); + println( " - ACTION DATE............" . $aRow['APP_EVN_ACTION_DATE'] ); + println( " - ATTEMPTS..............." . $aRow['APP_EVN_ATTEMPTS'] ); + println( " - INTERVAL WITH TASKS...." . $aRow['EVN_RELATED_TO'] ); + } - $oCriteria->addJoin(ApplicationPeer::APP_UID, AppEventPeer::APP_UID); + if ($aRow['TRI_UID'] == '') { + //a rare case when the tri_uid is not set. + $log[] = " (!) Any trigger was set................................SKIPPED and will be CLOSED"; + if ($debug) { + println( " (!) Any trigger was set................................SKIPPED and will be CLOSED" ); + } + $oAppEvent->setAppEvnStatus( 'CLOSE' ); + $oAppEvent->save(); + continue; + } - $oCriteria->add(AppDelegationPeer::DEL_FINISH_DATE, null, Criteria::ISNULL); //by me - $oCriteria->add(AppEventPeer::APP_EVN_STATUS, 'OPEN'); - $oCriteria->add(AppEventPeer::APP_EVN_ACTION_DATE, $sNow, Criteria::LESS_EQUAL); + $oTrigger = TriggersPeer::retrieveByPk( $aRow['TRI_UID'] ); + if (! is_object( $oTrigger )) { + //the trigger record doesn't exist.. + $log[] = ' (!) The trigger ' . $aRow['TRI_UID'] . ' ' . $oTrigger->getTriTitle() . " doesn't exist.......SKIPPED and will be CLOSED"; + if ($debug) { + println( " (!) The trigger {$aRow['TRI_UID']} {$oTrigger->getTriTitle()} doesn't exist.......SKIPPED and will be CLOSED" ); + } + $oAppEvent->setAppEvnStatus( 'CLOSE' ); + $oAppEvent->save(); + continue; + } - $oDataset = AppEventPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + global $oPMScript; + $oPMScript = new PMScript(); - $c = 0; - while ($oDataset->next()){ - if ($cron == 1) { - $arrayCron = unserialize(trim(@file_get_contents(PATH_DATA . "cron"))); - $arrayCron["processcTimeStart"] = time(); - @file_put_contents(PATH_DATA . "cron", serialize($arrayCron)); + $task = new Task(); + $taskFields = $task->Load( $aRow['TAS_UID'] ); + $aFields['APP_DATA']['APP_NUMBER'] = $aFields['APP_NUMBER']; + $aFields['APP_DATA']['TAS_TITLE'] = $taskFields['TAS_TITLE']; + $aFields['APP_DATA']['DEL_TASK_DUE_DATE'] = $aRow['DEL_TASK_DUE_DATE']; + $oPMScript->setFields( $aFields['APP_DATA'] ); + $oPMScript->setScript( $oTrigger->getTriWebbot() ); + + $oPMScript->execute(); + + $oAppEvent->setAppEvnLastExecutionDate( date( 'Y-m-d H:i:s' ) ); + + if (sizeof( $_SESSION['TRIGGER_DEBUG']['ERRORS'] ) == 0) { + $log[] = ' - The trigger ' . $oTrigger->getTriTitle() . ' was executed successfully!'; + if ($debug) { + println( " - The trigger '{$oTrigger->getTriTitle()}' was executed successfully!" ); + //g::pr($aFields); + } + $aFields['APP_DATA'] = $oPMScript->aFields; + $oCase->updateCase( $aRow['APP_UID'], $aFields ); + $oAppEvent->setAppEvnStatus( 'CLOSE' ); + } else { + if ($debug) { + $log[] = ' - The trigger ' . $aRow['TRI_UID'] . ' throw some errors!'; + println( " - The trigger {$aRow['TRI_UID']} throw some errors!" ); + print_r( $_SESSION['TRIGGER_DEBUG']['ERRORS'] ); + } + if ($oAppEvent->getAppEvnAttempts() > 0) { + $oAppEvent->setAppEvnAttempts( $oAppEvent->getAppEvnAttempts() - 1 ); + } else { + $oAppEvent->setAppEvnStatus( 'CLOSE' ); + } + } + $oAppEvent->save(); + } + return $c; + } catch (Exception $oError) { + $log[] = ' Error execute event : ' . $oError->getMessage(); + die( $oError->getMessage() ); + return $oError->getMessage(); } - - $c++; - $aRow = $oDataset->getRow(); - $oTrigger = new Triggers(); - $aFields = $oCase->loadCase($aRow['APP_UID']); - $oAppEvent = AppEventPeer::retrieveByPK($aRow['APP_UID'], $aRow['DEL_INDEX'], $aRow['EVN_UID']); - - //g::pr($aRow); //die; - - if($debug){ - require_once 'classes/model/Application.php'; - $oApp = ApplicationPeer::retrieveByPk($aRow['APP_UID']); - $oEv = EventPeer::retrieveByPk($aRow['EVN_UID']); - $log[] = 'Event ' . $oEv->getEvnDescription() . ' with ID ' . $aRow['EVN_UID']; - - println("\nOK+ event \"".$oEv->getEvnDescription()."\" with ID {} was found"); - println(" - PROCESS................".$aRow['PRO_UID']); - println(" - APPLICATION............".$aRow['APP_UID']." CASE #".$oApp->getAppNumber()); - println(" - ACTION DATE............".$aRow['APP_EVN_ACTION_DATE']); - println(" - ATTEMPTS...............".$aRow['APP_EVN_ATTEMPTS']); - println(" - INTERVAL WITH TASKS....".$aRow['EVN_RELATED_TO']); - } - - if ($aRow['TRI_UID'] == '') { - //a rare case when the tri_uid is not set. - $log[] = " (!) Any trigger was set................................SKIPPED and will be CLOSED"; - if($debug) println(" (!) Any trigger was set................................SKIPPED and will be CLOSED"); - $oAppEvent->setAppEvnStatus('CLOSE'); - $oAppEvent->save(); - continue; - } - - $oTrigger = TriggersPeer::retrieveByPk($aRow['TRI_UID']); - if( !is_object($oTrigger) ){ - //the trigger record doesn't exist.. - $log[] = ' (!) The trigger ' . $aRow['TRI_UID'] . ' ' . $oTrigger->getTriTitle() . " doesn't exist.......SKIPPED and will be CLOSED"; - if($debug) println(" (!) The trigger {$aRow['TRI_UID']} {$oTrigger->getTriTitle()} doesn't exist.......SKIPPED and will be CLOSED"); - $oAppEvent->setAppEvnStatus('CLOSE'); - $oAppEvent->save(); - continue; - } - - global $oPMScript; - $oPMScript = new PMScript(); - - $task = new Task(); - $taskFields = $task->Load($aRow['TAS_UID']); - $aFields['APP_DATA']['APP_NUMBER'] = $aFields['APP_NUMBER']; - $aFields['APP_DATA']['TAS_TITLE'] = $taskFields['TAS_TITLE']; - $aFields['APP_DATA']['DEL_TASK_DUE_DATE'] = $aRow['DEL_TASK_DUE_DATE']; - $oPMScript->setFields($aFields['APP_DATA']); - $oPMScript->setScript($oTrigger->getTriWebbot()); - - $oPMScript->execute(); - - $oAppEvent->setAppEvnLastExecutionDate(date('Y-m-d H:i:s')); - - if( sizeof($_SESSION['TRIGGER_DEBUG']['ERRORS']) == 0 ){ - $log[] = ' - The trigger ' . $oTrigger->getTriTitle() . ' was executed successfully!'; - if($debug) println(" - The trigger '{$oTrigger->getTriTitle()}' was executed successfully!"); - //g::pr($aFields); - $aFields['APP_DATA'] = $oPMScript->aFields; - $oCase->updateCase($aRow['APP_UID'], $aFields); - $oAppEvent->setAppEvnStatus('CLOSE'); - } else { - if($debug) { - $log[] = ' - The trigger ' . $aRow['TRI_UID'] . ' throw some errors!'; - println(" - The trigger {$aRow['TRI_UID']} throw some errors!"); - print_r($_SESSION['TRIGGER_DEBUG']['ERRORS']); - } - if ( $oAppEvent->getAppEvnAttempts() > 0 ){ - $oAppEvent->setAppEvnAttempts($oAppEvent->getAppEvnAttempts() - 1); - } else { - $oAppEvent->setAppEvnStatus('CLOSE'); - } - } - $oAppEvent->save(); - } - return $c; } - catch (Exception $oError) { - $log[] = ' Error execute event : ' . $oError->getMessage(); - die($oError->getMessage()); - return $oError->getMessage(); + + function close ($APP_UID, $DEL_INDEX) + { + $aRow = $this->load( $APP_UID, $DEL_INDEX ); + $aRow['APP_EVN_STATUS'] = 'CLOSE'; + $this->update( $aRow ); } - } +} +// AppEvent - function close($APP_UID, $DEL_INDEX){ - $aRow = $this->load($APP_UID, $DEL_INDEX); - $aRow['APP_EVN_STATUS'] = 'CLOSE'; - $this->update($aRow); - } - -} // AppEvent