. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * * @package workflow.engine.classes */ class XmlForm_Field_TextPM extends XmlForm_Field_SimpleText { var $size=15; var $maxLength=64; var $validate='Any'; var $mask = ''; var $defaultValue=''; var $required=false; var $dependentFields=''; var $linkField=''; //Possible values:(-|UPPER|LOWER|CAPITALIZE) var $strTo=''; var $readOnly=false; var $sqlConnection=0; var $sql=''; var $sqlOption=array(); //Atributes only for grids var $formula = ''; var $function = ''; var $replaceTags = 0; var $showVars = 0; var $process = ''; var $symbol = '@@'; /** * Function render * @author Julio Cesar Laura Avendano * @access public * @parameter string value * @parameter string owner * @return string */ function render( $value = NULL , $owner = NULL ) { //$this->executeSQL(); //if (isset($this->sqlOption)) { // reset($this->sqlOption); // $firstElement=key($this->sqlOption); // if (isset($firstElement)) $value = $firstElement; //} //NOTE: string functions must be in G class if ($this->strTo==='UPPER') $value = strtoupper($value); if ($this->strTo==='LOWER') $value = strtolower($value); //if ($this->strTo==='CAPITALIZE') $value = strtocapitalize($value); $onkeypress = G::replaceDataField( $this->onkeypress, $owner->values ); if ($this->replaceTags == 1) { $value = G::replaceDataField( $value, $owner->values ); } if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); //$sShowVars = ' ' . $this->symbol . ''; $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' readOnly="readOnly" style="'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $sShowVars; else return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' style="'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $sShowVars; } elseif ($this->mode==='view') { return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' style="display:none;'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $this->htmlentities( $value , ENT_COMPAT, 'utf-8'); } else { return $this->htmlentities( $value , ENT_COMPAT, 'utf-8'); } } /** * Function renderGrid * @author Julio Cesar Laura Avendano * @access public * @parameter array values * @parameter string owner * @return string */ function renderGrid( $values=array() , $owner ) { $result=array(); $r=1; foreach($values as $v) { if ($this->replaceTags == 1) { $v = G::replaceDataField( $v, $owner->values ); } if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); //$sShowVars = ' ' . $this->symbol . ''; $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) $result[] = '' . $sShowVars; else $result[] = '' . $sShowVars; } elseif ($this->mode==='view') { $result[] = $this->htmlentities( $v , ENT_COMPAT, 'utf-8'); } else { $result[] = $this->htmlentities( $v , ENT_COMPAT, 'utf-8'); } $r++; } return $result; } /** * Function attachEvents * @access public * @parameter string $element * @return string */ function attachEvents($element) { return "myForm.aElements[i] = new G_Text(myForm, $element,'{$this->name}'); myForm.aElements[i].setAttributes(" . $this->getAttributes() . ");"; } } /** * Class XmlForm_Field_TextareaPM */ class XmlForm_Field_TextareaPM extends XmlForm_Field { var $rows = 12; var $cols = 40; var $required = false; var $readOnly = false; var $wrap = 'OFF'; var $showVars = 0; var $process = ''; var $symbol = '@@'; /** * Function render * @author Julio Cesar Laura Avendao * @access public * @parameter string value * @parameter string owner * @return string */ function render( $value = NULL, $owner ) { if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) return '' . $sShowVars; else return '' . $sShowVars; } elseif ($this->mode==='view') { return ''; } else { return ''; } } /** * Function renderGrid * @author Julio Cesar Laura Avendano * @access public * @parameter string values * @parameter string owner * @return string */ function renderGrid( $values = NULL , $owner ) { $result=array(); $r=1; foreach($values as $v) { if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); //$sShowVars = ' ' . $this->symbol . ''; $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) $result[] = 'htmlentities( $v , ENT_COMPAT, 'utf-8').'\' readOnly="readOnly"/>' . $sShowVars; else $result[] = 'htmlentities( $v , ENT_COMPAT, 'utf-8').'\' />' . $sShowVars; } elseif ($this->mode==='view') { if(stristr($_SERVER['HTTP_USER_AGENT'], 'iPhone')){ //$result[] = '
'.$this->htmlentities( $v , ENT_COMPAT, 'utf-8').'
'; $result[] = $this->htmlentities( $v , ENT_COMPAT, 'utf-8'); } else{ //$result[] = '
'.$this->htmlentities( $v , ENT_COMPAT, 'utf-8').'
'; $result[] = $this->htmlentities( $v , ENT_COMPAT, 'utf-8'); } } else{ $result[] = $this->htmlentities( $v , ENT_COMPAT, 'utf-8'); } $r++; } return $result; } } /** * Class XmlForm_Field_hours */ class XmlForm_Field_hours extends XmlForm_Field_SimpleText { var $size = 15; var $maxLength = 64; var $validate = 'Any'; var $mask = ''; var $defaultValue = ''; var $required = false; var $dependentFields= ''; var $linkField = ''; //Possible values:(-|UPPER|LOWER|CAPITALIZE) var $strTo = ''; var $readOnly = false; var $sqlConnection = 0; var $sql = ''; var $sqlOption = array(); //Atributes only for grids var $formula = ''; var $function = ''; var $replaceTags = 0; var $showVars = 0; var $process = ''; var $symbol = '@@'; /** * Function render * @author Julio Cesar Laura Avendano * @access public * @parameter string value * @parameter string owner * @return string */ function render( $value = NULL , $owner = NULL ) { if ($this->strTo==='UPPER') $value = strtoupper($value); if ($this->strTo==='LOWER') $value = strtolower($value); //if ($this->strTo==='CAPITALIZE') $value = strtocapitalize($value); $onkeypress = G::replaceDataField( $this->onkeypress, $owner->values ); if ($this->replaceTags == 1) { $value = G::replaceDataField( $value, $owner->values ); } if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); //$sShowVars = ' ' . $this->symbol . ''; $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' readOnly="readOnly" style="'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $sShowVars; else return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' style="'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $sShowVars; } elseif ($this->mode==='view') { return 'htmlentities( $value , ENT_COMPAT, 'utf-8').'\' style="display:none;'.htmlentities( $this->style , ENT_COMPAT, 'utf-8').'" onkeypress="'.htmlentities( $onkeypress , ENT_COMPAT, 'utf-8').'"/>' . $this->htmlentities( $value , ENT_COMPAT, 'utf-8'); } else { return $this->htmlentities( $value , ENT_COMPAT, 'utf-8'); } } /** * Function renderGrid * @author Julio Cesar Laura Avendano * @access public * @parameter array values * @parameter string owner * @return string */ function renderGrid( $values=array() , $owner ) { $result=array(); $r=1; foreach($values as $v) { if ($this->replaceTags == 1) { $v = G::replaceDataField( $v, $owner->values ); } if ($this->showVars == 1) { $this->process = G::replaceDataField($this->process, $owner->values ); //$sShowVars = ' ' . $this->symbol . ''; $sShowVars = ' '; } else { $sShowVars = ''; } if ($this->mode==='edit') { if ($this->readOnly) $result[] = '' . $sShowVars; else $result[] = '' . $sShowVars; } elseif ($this->mode==='view') { $result[] = '

'.$this->htmlentities( number_format($v, 2), ENT_COMPAT, 'utf-8').'

'; } else { $result[] = '

'.$this->htmlentities( number_format($v, 2), ENT_COMPAT, 'utf-8').'

'; } $r++; } return $result; } /** * Function attachEvents * @access public * @parameter string $element * @return string */ function attachEvents($element) { return "myForm.aElements[i] = new G_Text(myForm, $element,'{$this->name}'); myForm.aElements[i].setAttributes(" . $this->getAttributes() . ");"; } } /** * Function getDynaformsVars * @access public * @parameter string $sProcessUID * @parameter boolean $bSystemVars * @return array */ function getDynaformsVars($sProcessUID, $bSystemVars = true) { $aFields = array(); $aFieldsNames = array(); if ($bSystemVars) { $aAux = G::getSystemConstants(); foreach ($aAux as $sName => $sValue) { $aFields[] = array('sName' => $sName, 'sType' => 'system', 'sLabel'=> 'System variable'); } //we're adding the ping variable to the system list $aFields[] = array('sName' => 'PIN', 'sType' => 'system', 'sLabel' => 'System variable'); } require_once 'classes/model/Dynaform.php'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(DynaformPeer::DYN_FILENAME); $oCriteria->add(DynaformPeer::PRO_UID, $sProcessUID); $oCriteria->add(DynaformPeer::DYN_TYPE, 'xmlform'); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { if (file_exists(PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml')) { $G_FORM = new Form($aRow['DYN_FILENAME'], PATH_DYNAFORM, SYS_LANG); if (($G_FORM->type == 'xmlform') || ($G_FORM->type == '')) { foreach($G_FORM->fields as $k => $v) { if (($v->type != 'title') && ($v->type != 'subtitle') && ($v->type != 'link') && ($v->type != 'file') && ($v->type != 'button') && ($v->type != 'reset') && ($v->type != 'submit') && ($v->type != 'listbox') && ($v->type != 'checkgroup') && ($v->type != 'grid') && ($v->type != 'javascript')) { if (!in_array($k, $aFieldsNames)) { $aFields[] = array('sName' => $k, 'sType' => $v->type, 'sLabel'=> $v->label ); $aFieldsNames[] = $k; } } } } } $oDataset->next(); } return $aFields; } /** * Function getGridsVars * @access public * @parameter string $sProcessUID * @return array */ function getGridsVars($sProcessUID) { $aFields = array(); $aFieldsNames = array(); require_once 'classes/model/Dynaform.php'; $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(DynaformPeer::DYN_FILENAME); $oCriteria->add(DynaformPeer::PRO_UID, $sProcessUID); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $G_FORM = new Form($aRow['DYN_FILENAME'], PATH_DYNAFORM, SYS_LANG); if ($G_FORM->type == 'xmlform') { foreach($G_FORM->fields as $k => $v) { if ($v->type == 'grid') { if (!in_array($k, $aFieldsNames)) { $aFields[] = array('sName' => $k, 'sXmlForm' => str_replace($sProcessUID . '/', '', $v->xmlGrid)); $aFieldsNames[] = $k; } } } } $oDataset->next(); } return $aFields; } /** * Class XmlForm_Field_CheckBoxTable */ class XmlForm_Field_CheckBoxTable extends XmlForm_Field_Checkbox { /** * Function render * @author The Answer * @access public * @parameter string value * @parameter string owner * @return string */ function render( $value = NULL , $owner = NULL ) { //$optionName = $owner->values['USR_UID']; $optionName = $value; $onclick = (($this->onclick)? ' onclick="' . G::replaceDataField( $this->onclick, $owner->values ) . '" ' : ''); $html =' '; return $html; } } ?>