CODE STYLE gulliver/system/

files modified:    class.filterForm.php
                    class.publisher.php
                    class.xmlform.php
                    class.ymlDomain.php
This commit is contained in:
Ralph Asendeteufrer
2012-10-17 18:15:15 -04:00
parent fb28adbe7f
commit 05758ea812
4 changed files with 5570 additions and 5175 deletions

View File

@@ -1,6 +1,8 @@
<?php
/**
* class.filterForm.php
*
* @package gulliver.system
*
* ProcessMaker Open Source Edition
@@ -24,28 +26,33 @@
*
*/
/**
/**
*
* @package gulliver.system
**/
*
*/
class filterForm extends form
{
var $cols = 3;
var $type = 'filterform';
var $ajaxServer = '../gulliver/pagedTableAjax';
public $cols = 3;
public $type = 'filterform';
public $ajaxServer = '../gulliver/pagedTableAjax';
/**
* this function is putting the filters
*
* @author
*
*
* @access public
* @param string $template
* @param string $scriptContent
* @return string
*/
function render( $template, &$scriptContent )
public function render ($template, &$scriptContent)
{
$this->cols=intVal($this->cols);
$this->cols = intVal( $this->cols );
return parent::render( $template, $scriptContent );
}
}

View File

@@ -1,6 +1,8 @@
<?php
/**
* class.publisher.php
*
* @package gulliver.system
*
* ProcessMaker Open Source Edition
@@ -24,9 +26,10 @@
*
*/
/**
/**
* Publisher class definition
* It is to publish all content in a page
*
* @package gulliver.system
* @author Fernando Ontiveros Lira <fernando@colosa.com>
* @copyright (C) 2002 by Colosa Development Team.
@@ -34,21 +37,22 @@
*/
class Publisher
{
var $Parts = NULL;
var $dbc = NULL;
var $scriptFile = '';
var $publisherId = 'publisherContent';
var $localMode = '';
public $Parts = null;
public $dbc = null;
public $scriptFile = '';
public $publisherId = 'publisherContent';
public $localMode = '';
var $publishType;
var $ROWS_PER_PAGE = null;
public $publishType;
public $ROWS_PER_PAGE = null;
/* PHP 4 doesn't provide destructor where to free $scriptFileHandler resource */
//var $scriptFileHandler = FALSE;
//var $scriptFileHandler = false;
/**
* Add content in $Parts array
*
* @author Fernando Ontiveros Lira <fernando@colosa.com>
*
* @param $strType
@@ -60,66 +64,57 @@ class Publisher
* @return void
*
*/
function AddContent( $strType = "form", $strLayout = "form", $strName = "", $strContent = "", $arrData = NULL, $strTarget = "", $ajaxServer='', $mode='', $bAbsolutePath = false)
public function AddContent ($strType = "form", $strLayout = "form", $strName = "", $strContent = "", $arrData = null, $strTarget = "", $ajaxServer = '', $mode = '', $bAbsolutePath = false)
{
if($mode != '') {
if ($mode != '') {
$this->localMode = $mode;
}
$pos = 0;
if( is_array($this->Parts )) {
$pos = count($this->Parts);
if (is_array( $this->Parts )) {
$pos = count( $this->Parts );
}
$this->Parts[$pos] = array(
'Type' => $strType,
'Template' => $strLayout,
'File' => $strName,
'Content' => $strContent,
'Data' => $arrData,
'Target' => $strTarget,
'ajaxServer' => $ajaxServer,
'AbsolutePath' => $bAbsolutePath
$this->Parts[$pos] = array ('Type' => $strType,'Template' => $strLayout,'File' => $strName,'Content' => $strContent,'Data' => $arrData,'Target' => $strTarget,'ajaxServer' => $ajaxServer,'AbsolutePath' => $bAbsolutePath
);
//This is needed to prepare the "header content"
//before to send the body content. ($oHeadPublisher)
ob_start();
$this->RenderContent0($pos);
if ( (ob_get_contents()!=='') && ($this->publisherId!=='') && ($strType != 'template') ) {
$this->Parts[$pos]['RenderedContent'] = '<DIV id="'.$this->publisherId.'['.$pos.']" style="'.((is_string($strContent))?$strContent:'').'; margin:0px;" align="center">';
$this->Parts[$pos]['RenderedContent'].= ob_get_contents();
$this->Parts[$pos]['RenderedContent'].= '</DIV>';
}
else {
$this->Parts[$pos]['RenderedContent']= ob_get_contents();
$this->RenderContent0( $pos );
if ((ob_get_contents() !== '') && ($this->publisherId !== '') && ($strType != 'template')) {
$this->Parts[$pos]['RenderedContent'] = '<DIV id="' . $this->publisherId . '[' . $pos . ']" style="' . ((is_string( $strContent )) ? $strContent : '') . '; margin:0px;" align="center">';
$this->Parts[$pos]['RenderedContent'] .= ob_get_contents();
$this->Parts[$pos]['RenderedContent'] .= '</DIV>';
} else {
$this->Parts[$pos]['RenderedContent'] = ob_get_contents();
}
ob_end_clean();
}
/**
* Function RenderContent
*
* @author David S. Callizaya S. <davidsantos@colosa.com>
* @access public
* @parameter string intPos
* @parameter string showXMLFormName
* @param eter string intPos
* @param eter string showXMLFormName
* @return string
*/
function RenderContent( $intPos = 0)
public function RenderContent ($intPos = 0)
{
print $this->Parts[$intPos]['RenderedContent'];
}
/**
* It Renders content according to Part['Type']
*
* @author Fernando Ontiveros Lira <fernando@colosa.com>
*
* @param intPos = 0
* @return void
*
*/
function RenderContent0( $intPos = 0, $showXMLFormName = false)
public function RenderContent0 ($intPos = 0, $showXMLFormName = false)
{
global $G_FORM;
global $G_TABLE;
@@ -127,117 +122,110 @@ class Publisher
global $G_OP_MENU;
global $G_IMAGE_FILENAME;
global $G_IMAGE_PARTS;
global $_SESSION;//Changed from $HTTP_SESSION_VARS
global $G_OBJGRAPH;//For graphLayout component
global $_SESSION; //Changed from $HTTP_SESSION_VARS
global $G_OBJGRAPH; //For graphLayout component
$this->intPos = $intPos;
$Part = $this->Parts[ $intPos ];
$Part = $this->Parts[$intPos];
$this->publishType = $Part['Type'];
switch( $this->publishType )
{
switch ($this->publishType) {
case 'externalContent':
$G_CONTENT = new Content;
if( $Part['Content'] != "" ) $G_CONTENT = G::LoadContent( $Part['Content'] );
$G_CONTENT = new Content();
if ($Part['Content'] != "") {
$G_CONTENT = G::LoadContent( $Part['Content'] );
}
G::LoadTemplateExternal( $Part['Template'] );
break;
case 'image':
$G_IMAGE_FILENAME = $Part['File'];
$G_IMAGE_PARTS = $Part['Data'];
break;
case 'appform':
global $APP_FORM;
$G_FORM = $APP_FORM;
break;
case 'xmlform':
case 'dynaform':
global $G_FORM;
if ($Part['AbsolutePath']) {
$sPath = $Part['AbsolutePath'];
}
else {
if ($this->publishType == 'xmlform')
} else {
if ($this->publishType == 'xmlform') {
$sPath = PATH_XMLFORM;
else
} else {
$sPath = PATH_DYNAFORM;
}
}
//if the xmlform file doesn't exists, then try with the plugins folders
if ( !is_file ( $sPath . $Part['File'].'.xml' ) ) {
$aux = explode ( PATH_SEP, $Part['File'] );
if (! is_file( $sPath . $Part['File'] . '.xml' )) {
$aux = explode( PATH_SEP, $Part['File'] );
//check if G_PLUGIN_CLASS is defined, because publisher can be called without an environment
if(count($aux) > 2){//Subfolders
$filename=array_pop($aux);
$aux0=implode(PATH_SEP,$aux);
$aux=array();
$aux[0]=$aux0;
$aux[1]=$filename;
if (count( $aux ) > 2) {
//Subfolders
$filename = array_pop( $aux );
$aux0 = implode( PATH_SEP, $aux );
$aux = array ();
$aux[0] = $aux0;
$aux[1] = $filename;
}
if ( count($aux) == 2 && defined ( 'G_PLUGIN_CLASS' ) ) {
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ( $response=$oPluginRegistry->isRegisteredFolder($aux[0]) ) {
if($response!==true){
$sPath = PATH_PLUGINS.$response.PATH_SEP;
}else{
if (count( $aux ) == 2 && defined( 'G_PLUGIN_CLASS' )) {
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($response = $oPluginRegistry->isRegisteredFolder( $aux[0] )) {
if ($response !== true) {
$sPath = PATH_PLUGINS . $response . PATH_SEP;
} else {
$sPath = PATH_PLUGINS;
}
}
}
}
if (!class_exists($Part['Template']) || $Part['Template']==='xmlform')
$G_FORM = new Form ( $Part['File'] , $sPath , SYS_LANG, false );
else
eval( '$G_FORM = new ' . $Part['Template'] . ' ( $Part[\'File\'] , "' . $sPath . '");');
if (! class_exists( $Part['Template'] ) || $Part['Template'] === 'xmlform') {
$G_FORM = new Form( $Part['File'], $sPath, SYS_LANG, false );
} else {
eval( '$G_FORM = new ' . $Part['Template'] . ' ( $Part[\'File\'] , "' . $sPath . '");' );
}
if (($this->publishType == 'dynaform') && (($Part['Template'] == 'xmlform') || ($Part['Template'] == 'xmlform_preview')) )
{
$dynaformShow=(isset($G_FORM->printdynaform) && ($G_FORM->printdynaform))?'gulliver/dynaforms_OptionsPrint':'gulliver/dynaforms_Options';
$G_FORM->fields=G::array_merges(
array('__DYNAFORM_OPTIONS' => new XmlForm_Field_XmlMenu(
new Xml_Node(
'__DYNAFORM_OPTIONS',
'complete',
'',
array('type'=>'xmlmenu','xmlfile'=>$dynaformShow)
),SYS_LANG,PATH_XMLFORM,$G_FORM) ),
$G_FORM->fields);
if (($this->publishType == 'dynaform') && (($Part['Template'] == 'xmlform') || ($Part['Template'] == 'xmlform_preview'))) {
$dynaformShow = (isset( $G_FORM->printdynaform ) && ($G_FORM->printdynaform)) ? 'gulliver/dynaforms_OptionsPrint' : 'gulliver/dynaforms_Options';
$G_FORM->fields = G::array_merges( array ('__DYNAFORM_OPTIONS' => new XmlForm_Field_XmlMenu( new Xml_Node( '__DYNAFORM_OPTIONS', 'complete', '', array ('type' => 'xmlmenu','xmlfile' => $dynaformShow
) ), SYS_LANG, PATH_XMLFORM, $G_FORM )
), $G_FORM->fields );
}
//Needed to make ajax calls
//The action in the form tag.
if ( defined ( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes' )
$G_FORM->action = urlencode( G::encrypt( $Part['Target'] ,URL_KEY ) );
else
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
$G_FORM->action = urlencode( G::encrypt( $Part['Target'], URL_KEY ) );
} else {
$G_FORM->action = $Part['Target'];
}
if (!(isset($Part['ajaxServer']) && ($Part['ajaxServer']!=='')))
if ($this->publishType == 'dynaform')
$Part['ajaxServer']='../gulliver/defaultAjaxDynaform';
else
$Part['ajaxServer']='../gulliver/defaultAjax';
if ( defined ( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes' )
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'] ,URL_KEY ) );
else
if (! (isset( $Part['ajaxServer'] ) && ($Part['ajaxServer'] !== ''))) {
if ($this->publishType == 'dynaform') {
$Part['ajaxServer'] = '../gulliver/defaultAjaxDynaform';
} else {
$Part['ajaxServer'] = '../gulliver/defaultAjax';
}
}
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'], URL_KEY ) );
} else {
$G_FORM->ajaxServer = $Part['ajaxServer'];
}
$G_FORM->setValues ($Part['Data']);
$G_FORM->setValues( $Part['Data'] );
$G_FORM->setValues ( array( 'G_FORM_ID' => $G_FORM->id ) );
$G_FORM->setValues( array ('G_FORM_ID' => $G_FORM->id ) );
//Asegurese de que no entre cuando $Part['Template']=="grid"
//de hecho soo deberia usarse cuando $Part['Template']=="xmlform"
if ((($this->publishType == 'dynaform') && $Part['Template']=="xmlform") || ($Part['Template']=="xmlform"))
{
$G_FORM->values=G::array_merges(
array('__DYNAFORM_OPTIONS' => isset($Part['Data']['__DYNAFORM_OPTIONS'])? $Part['Data']['__DYNAFORM_OPTIONS']:''),
$G_FORM->values);
if (isset($G_FORM->nextstepsave)) {
if ((($this->publishType == 'dynaform') && $Part['Template'] == "xmlform") || ($Part['Template'] == "xmlform")) {
$G_FORM->values = G::array_merges( array ('__DYNAFORM_OPTIONS' => isset( $Part['Data']['__DYNAFORM_OPTIONS'] ) ? $Part['Data']['__DYNAFORM_OPTIONS'] : ''
), $G_FORM->values );
if (isset( $G_FORM->nextstepsave )) {
switch ($G_FORM->nextstepsave) {
// this condition validates if the next step link is configured to Save and Go the next step or show a prompt
case 'save':
@@ -251,112 +239,121 @@ class Publisher
}
}
}
if (isset($_SESSION)) $_SESSION[$G_FORM->id]=$G_FORM->values;
if (isset( $_SESSION )) {
$_SESSION[$G_FORM->id] = $G_FORM->values;
}
// by default load the core template
if ($Part['Template'] == 'xmlform_preview')
if ($Part['Template'] == 'xmlform_preview') {
$Part['Template'] = 'xmlform';
}
$template = PATH_CORE . 'templates/' . $Part['Template'] . '.html';
//erik: new feature, now templates such as xmlform.html can be personalized via skins
if (defined('SYS_SKIN') && strtolower(SYS_SKIN) != 'classic') {
if (defined( 'SYS_SKIN' ) && strtolower( SYS_SKIN ) != 'classic') {
// first, verify if the template exists on base skins path
if (is_file(G::ExpandPath("skinEngine") . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html')) {
$template = G::ExpandPath("skinEngine") . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html';
}
if (is_file( G::ExpandPath( "skinEngine" ) . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html' )) {
$template = G::ExpandPath( "skinEngine" ) . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html';
// second, verify if the template exists on user skins path
else if (is_file(PATH_CUSTOM_SKINS . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html')) {
} elseif (is_file( PATH_CUSTOM_SKINS . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html' )) {
$template = PATH_CUSTOM_SKINS . SYS_SKIN . PATH_SEP . $Part['Template'] . '.html';
}
}
//end new feature
if ($Part['Template'] == 'grid') print ('<form class="formDefault">');
$scriptCode='';
if($this->localMode != '') { // @# las modification by erik in 09/06/2008
if ($Part['Template'] == 'grid') {
print ('<form class="formDefault">') ;
}
$scriptCode = '';
if ($this->localMode != '') {
// @# las modification by erik in 09/06/2008
$G_FORM->mode = $this->localMode;
}
print $G_FORM->render( $template , $scriptCode );
if ($Part['Template'] == 'grid') print ('</form>');
$oHeadPublisher =& headPublisher::getSingleton();
print $G_FORM->render( $template, $scriptCode );
if ($Part['Template'] == 'grid') {
print ('</form>') ;
}
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addScriptFile( $G_FORM->scriptURL );
$oHeadPublisher->addScriptCode( $scriptCode );
/**
* We've implemented the conditional show hide fields..
*
* @author Erik A. Ortiz <erik@colosa.com>
* @date Fri Feb 19, 2009
*/
if($this->publishType == 'dynaform'){
if( isset($_SESSION['CURRENT_DYN_UID']) ){
if ($this->publishType == 'dynaform') {
if (isset( $_SESSION['CURRENT_DYN_UID'] )) {
require_once "classes/model/FieldCondition.php";
$oFieldCondition = new FieldCondition();
#This dynaform has show/hide field conditions
$ConditionalShowHideRoutines = $oFieldCondition->getConditionScript($_SESSION['CURRENT_DYN_UID']);
$ConditionalShowHideRoutines = $oFieldCondition->getConditionScript( $_SESSION['CURRENT_DYN_UID'] );
}
}
if(isset($ConditionalShowHideRoutines) && $ConditionalShowHideRoutines){
G::evalJScript($ConditionalShowHideRoutines);
if (isset( $ConditionalShowHideRoutines ) && $ConditionalShowHideRoutines) {
G::evalJScript( $ConditionalShowHideRoutines );
}
break;
case 'pagedtable':
global $G_FORM;
//if the xmlform file doesn't exists, then try with the plugins folders
$sPath = PATH_XMLFORM;
if ( !is_file ( $sPath . $Part['File'] ) ) {
$aux = explode ( PATH_SEP, $Part['File'] );
if ( count($aux) == 2 ) {
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ( $oPluginRegistry->isRegisteredFolder($aux[0]) ) {
if (! is_file( $sPath . $Part['File'] )) {
$aux = explode( PATH_SEP, $Part['File'] );
if (count( $aux ) == 2) {
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($oPluginRegistry->isRegisteredFolder( $aux[0] )) {
$sPath = PATH_PLUGINS; // . $aux[0] . PATH_SEP ;
}
}
}
$G_FORM = new Form ( $Part['File'] , $sPath, SYS_LANG, true );
$G_FORM = new Form( $Part['File'], $sPath, SYS_LANG, true );
if ( defined ( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes' )
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'] ,URL_KEY ) );
else
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'], URL_KEY ) );
} else {
$G_FORM->ajaxServer = $Part['ajaxServer'];
}
$G_FORM->setValues ($Part['Data']);
if (isset($_SESSION)) $_SESSION[$G_FORM->id]=$G_FORM->values;
$G_FORM->setValues( $Part['Data'] );
if (isset( $_SESSION )) {
$_SESSION[$G_FORM->id] = $G_FORM->values;
}
G::LoadSystem('pagedTable');
G::LoadSystem( 'pagedTable' );
$oTable = new pagedTable();
$oTable->template = 'templates/'.$Part['Template'] . '.html';
$oTable->template = 'templates/' . $Part['Template'] . '.html';
$G_FORM->xmlform = '';
$G_FORM->xmlform->fileXml = $G_FORM->fileName;
$G_FORM->xmlform->home = $G_FORM->home;
$G_FORM->xmlform->tree->attribute = $G_FORM->tree->attributes;
$G_FORM->values = array_merge($G_FORM->values,$Part['Data']);
$G_FORM->values = array_merge( $G_FORM->values, $Part['Data'] );
$oTable->setupFromXmlform($G_FORM);
$oTable->setupFromXmlform( $G_FORM );
if (isset($Part['ajaxServer']) && ($Part['ajaxServer']!==''))
if (isset( $Part['ajaxServer'] ) && ($Part['ajaxServer'] !== '')) {
$oTable->ajaxServer = $Part['ajaxServer'];
}
/* Start Block: Load user configuration for the pagedTable */
G::LoadClass('configuration');
G::LoadClass( 'configuration' );
$objUID = $Part['File'];
$conf = new Configurations( );
$conf->loadConfig($oTable,'pagedTable',$objUID,'',(isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),'');
$oTable->__OBJ_UID=$objUID;
$conf = new Configurations();
$conf->loadConfig( $oTable, 'pagedTable', $objUID, '', (isset( $_SESSION['USER_LOGGED'] ) ? $_SESSION['USER_LOGGED'] : ''), '' );
$oTable->__OBJ_UID = $objUID;
/* End Block */
/* Start Block: PagedTable Right Click */
G::LoadClass('popupMenu');
$pm=new popupMenu('gulliver/pagedTable_PopupMenu');
$pm->name=$oTable->id;
$fields=array_keys($oTable->fields);
foreach($fields as $f) {
switch (strtolower($oTable->fields[$f]['Type'])) {
G::LoadClass( 'popupMenu' );
$pm = new popupMenu( 'gulliver/pagedTable_PopupMenu' );
$pm->name = $oTable->id;
$fields = array_keys( $oTable->fields );
foreach ($fields as $f) {
switch (strtolower( $oTable->fields[$f]['Type'] )) {
case 'javascript':
case 'button':
case 'private':
@@ -364,173 +361,143 @@ class Publisher
case 'cellmark':
break;
default:
$label = ($oTable->fields[$f]['Label']!='')?$oTable->fields[$f]['Label']:$f;
$label = str_replace("\n",' ',$label);
$pm->fields[$f] = new XmlForm_Field_popupOption(new Xml_Node($f, 'complete', '', array('label'=>$label,'type'=>'popupOption',
'launch'=>$oTable->id.'.showHideField("'.$f.'")') ) );
$label = ($oTable->fields[$f]['Label'] != '') ? $oTable->fields[$f]['Label'] : $f;
$label = str_replace( "\n", ' ', $label );
$pm->fields[$f] = new XmlForm_Field_popupOption( new Xml_Node( $f, 'complete', '', array ('label' => $label,'type' => 'popupOption','launch' => $oTable->id . '.showHideField("' . $f . '")' ) ) );
$pm->values[$f] = '';
}
}
$sc = '';
$pm->values['PAGED_TABLE_ID'] = $oTable->id;
print($pm->render(PATH_CORE . 'templates/popupMenu.html',$sc));
print ($pm->render( PATH_CORE . 'templates/popupMenu.html', $sc )) ;
/* End Block */
$oTable->renderTable();
/* Start Block: Load PagedTable Right Click */
print('<script type="text/javascript">');
print($sc);
print('loadPopupMenu_'.$oTable->id.'();');
print('</script>');
print ('<script type="text/javascript">') ;
print ($sc) ;
print ('loadPopupMenu_' . $oTable->id . '();') ;
print ('</script>') ;
/* End Block */
break;
case 'propeltable':
global $G_FORM;
//if the xmlform file doesn't exists, then try with the plugins folders
if ($Part['AbsolutePath']) {
$sPath = '';
}
else {
} else {
$sPath = PATH_XMLFORM;
}
if ( !is_file ( $sPath . $Part['File'] ) ) {
$aux = explode ( PATH_SEP, $Part['File'] );
if (! is_file( $sPath . $Part['File'] )) {
$aux = explode( PATH_SEP, $Part['File'] );
//search in PLUGINS folder, probably the file is in plugin
if ( count($aux) == 2 ) {
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ( $oPluginRegistry->isRegisteredFolder($aux[0]) ) {
if (count( $aux ) == 2) {
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($oPluginRegistry->isRegisteredFolder( $aux[0] )) {
$sPath = PATH_PLUGINS; // . $aux[0] . PATH_SEP ;
}
}
//search in PATH_DYNAFORM folder
if ( !is_file ( $sPath . PATH_SEP. $Part['File'] . '.xml') ) {
if (! is_file( $sPath . PATH_SEP . $Part['File'] . '.xml' )) {
$sPath = PATH_DYNAFORM;
}
}
//PATH_DATA_PUBLIC ???
if ( !file_exists ($sPath .PATH_SEP. $Part['File'] . '.xml') && defined ( 'PATH_DATA_PUBLIC') ) {
$sPath = PATH_DATA_PUBLIC ;
if (! file_exists( $sPath . PATH_SEP . $Part['File'] . '.xml' ) && defined( 'PATH_DATA_PUBLIC' )) {
$sPath = PATH_DATA_PUBLIC;
}
$G_FORM = new Form ( $Part['File'] , $sPath, SYS_LANG, true );
$G_FORM = new Form( $Part['File'], $sPath, SYS_LANG, true );
if ( defined ( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes' )
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'] ,URL_KEY ) );
else
if (defined( 'ENABLE_ENCRYPT' ) && ENABLE_ENCRYPT == 'yes') {
$G_FORM->ajaxServer = urlencode( G::encrypt( $Part['ajaxServer'], URL_KEY ) );
} else {
$G_FORM->ajaxServer = $Part['ajaxServer'];
}
if (isset($_SESSION)) $_SESSION[$G_FORM->id] = $G_FORM->values;
if (isset( $_SESSION )) {
$_SESSION[$G_FORM->id] = $G_FORM->values;
}
G::LoadClass('propelTable');
G::LoadClass( 'propelTable' );
$oTable = new propelTable();
$oTable->template = $Part['Template'] ;
$oTable->template = $Part['Template'];
$oTable->criteria = $Part['Content'];
if ( isset($Part['ajaxServer'] ) && ( $Part['ajaxServer']!=='' ))
if (isset( $Part['ajaxServer'] ) && ($Part['ajaxServer'] !== '')) {
$oTable->ajaxServer = $Part['ajaxServer'];
}
$G_FORM->xmlform->fileXml = $G_FORM->fileName;
$G_FORM->xmlform->home = $G_FORM->home;
$G_FORM->xmlform->tree->attribute = $G_FORM->tree->attributes;
if ( is_array($Part['Data'] ))
$G_FORM->values = array_merge($G_FORM->values, $Part['Data'] );
if (is_array( $Part['Data'] )) {
$G_FORM->values = array_merge( $G_FORM->values, $Part['Data'] );
}
$oTable->setupFromXmlform($G_FORM);
$oTable->setupFromXmlform( $G_FORM );
/* Start Block: Load user configuration for the pagedTable */
G::LoadClass('configuration');
G::LoadClass( 'configuration' );
$objUID = $Part['File'];
$conf = new Configurations( $oTable );
$conf->loadConfig($oTable,'pagedTable',$objUID,'',(isset($_SESSION['USER_LOGGED']) ? $_SESSION['USER_LOGGED'] : ''),'');
$conf->loadConfig( $oTable, 'pagedTable', $objUID, '', (isset( $_SESSION['USER_LOGGED'] ) ? $_SESSION['USER_LOGGED'] : ''), '' );
$oTable->__OBJ_UID = $objUID;
//$oTable->__OBJ_UID = '';
/* End Block */
/* Start Block: PagedTable Right Click */
G::LoadClass('popupMenu');
G::LoadClass( 'popupMenu' );
$pm = new popupMenu( 'gulliver/pagedTable_PopupMenu' );
$sc = $pm->renderPopup ( $oTable->id, $oTable->fields );
$sc = $pm->renderPopup( $oTable->id, $oTable->fields );
/* End Block */
//krumo ( $Part );
if( $this->ROWS_PER_PAGE ){
if ($this->ROWS_PER_PAGE) {
$oTable->rowsPerPage = $this->ROWS_PER_PAGE;
}
try {
if ( is_array ( $Part['Data'] ))
$oTable->renderTable('', $Part['Data']);
else
if (is_array( $Part['Data'] )) {
$oTable->renderTable( '', $Part['Data'] );
} else {
$oTable->renderTable();
print($sc);
}
catch ( Exception $e ) {
print ($sc) ;
} catch (Exception $e) {
$aMessage['MESSAGE'] = $e->getMessage();
$this->AddContent('xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
$this->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
}
break;
case 'panel-init':
global $mainPanelScript;
global $panelName;
global $tabCount;
G::LoadThirdParty('pear/json','class.json');
$json=new Services_JSON();
G::LoadThirdParty( 'pear/json', 'class.json' );
$json = new Services_JSON();
$tabCount = 0;
$panelName = $Part['Template'];
$data = $Part['File'];
if (!is_array($data)) $data=array();
$data = G::array_merges( array(
'title'=>'',
'style'=>array(),
'left'=>'getAbsoluteLeft(mycontent)',
'top'=>'getAbsoluteTop(mycontent)',
'width'=>700,
'height'=>600,
'drag'=>true,
'close'=>true,
'modal'=>true,
'roll'=>false,
'resize'=>false,
'tabWidth'=>120,
'tabStep'=>3,
'blinkToFront'=>true,
'tabSpace'=>10), $data );
$mainPanelScript = 'var '.$panelName.'={},'.$panelName.'Tabs=[];'.
'leimnud.event.add(window,"load",function(){'.$panelName.' = new leimnud.module.panel();'.
'var mycontent=document.getElementById("'.$this->publisherId.'['.$intPos.']");'.
$panelName.'.options={'.
'size:{w:'.$data['width'].',h:'.$data['height'].'},'.
'position:{x:'.$data['left'].',y:'.$data['top'].'},'.
'title:"'.addcslashes($data['title'],'\\"').'",'.
'theme:"processmaker",'.
'statusBar:true,'.
'headerBar:true,'.
'control:{'.
' close:'.($data['close']?'true':'false').','.
' roll:'.($data['roll']?'true':'false').','.
' drag:'.($data['drag']?'true':'false').','.
' resize:'.($data['resize']?'true':'false').
'},'.
'fx:{'.
' drag:'.($data['drag']?'true':'false').','.
' modal:'.($data['modal']?'true':'false').','.
' blinkToFront:'.($data['blinkToFront']?'true':'false').
'}'.
'};'.
$panelName.'.setStyle='.$json->encode($data['style']).';'.
$panelName.'.tab={'.
'width:'.($data['tabWidth']+$data['tabSpace']).','.
'optWidth:'.$data['tabWidth'].','.
'step :'.$data['tabStep'].','.
'options:[]'.
'};';
print(' ');
if (! is_array( $data )) {
$data = array ();
}
$data = G::array_merges( array ('title' => '','style' => array (),'left' => 'getAbsoluteLeft(mycontent)','top' => 'getAbsoluteTop(mycontent)','width' => 700,'height' => 600,'drag' => true,'close' => true,'modal' => true,'roll' => false,'resize' => false,'tabWidth' => 120,'tabStep' => 3,'blinkToFront' => true,'tabSpace' => 10 ), $data );
$mainPanelScript = 'var ' . $panelName . '={},' . $panelName . 'Tabs=[];' . 'leimnud.event.add(window,"load",function(){'
. $panelName . ' = new leimnud.module.panel();' . 'var mycontent=document.getElementById("' . $this->publisherId . '['
. $intPos . ']");' . $panelName . '.options={' . 'size:{w:' . $data['width'] . ',h:' . $data['height'] . '},' . 'position:{x:'
. $data['left'] . ',y:' . $data['top'] . '},' . 'title:"' . addcslashes( $data['title'], '\\"' ) . '",' . 'theme:"processmaker",'
. 'statusBar:true,' . 'headerBar:true,' . 'control:{' . ' close:' . ($data['close'] ? 'true' : 'false') . ',' . ' roll:'
. ($data['roll'] ? 'true' : 'false') . ',' . ' drag:' . ($data['drag'] ? 'true' : 'false') . ',' . ' resize:'
. ($data['resize'] ? 'true' : 'false') . '},' . 'fx:{' . ' drag:' . ($data['drag'] ? 'true' : 'false') . ',' . ' modal:'
. ($data['modal'] ? 'true' : 'false') . ',' . ' blinkToFront:' . ($data['blinkToFront'] ? 'true' : 'false') . '}' . '};'
. $panelName . '.setStyle=' . $json->encode( $data['style'] ) . ';' . $panelName . '.tab={' . 'width:'
. ($data['tabWidth'] + $data['tabSpace']) . ',' . 'optWidth:' . $data['tabWidth'] . ',' . 'step :' . $data['tabStep']
. ',' . 'options:[]' . '};';
print (' ') ;
break;
case 'panel-tab':
global $tabCount;
@@ -538,57 +505,42 @@ class Publisher
global $panelName;
$onChange = $Part['Content'];
$beforeChange = $Part['Data'];
if(SYS_LANG=='es')
$mainPanelScript = str_replace("120","150",$mainPanelScript);
else
$mainPanelScript = str_replace("150","120",$mainPanelScript);
$mainPanelScript .=
$panelName.'Tabs['.$tabCount.']='.
'document.getElementById("'.$Part['File'].'");'.
$panelName.'.tab.options['.$panelName.'.tab.options.length]='.
'{'.
'title :"'.addcslashes($Part['Template'],'\\"').'",'.
'noClear :true,'.
'content :function(){'.
($beforeChange!='' ? ('if (typeof('.$beforeChange.')!=="undefined") {'.$beforeChange.'();}'): '').
$panelName.'Clear();'.
$panelName.'Tabs['.$tabCount.'].style.display="";'.
// 'this.addContent('.$panelName.'Tabs['.$tabCount.']);'.
// 'this.addContent(document.getElementById("'.$Part['File'].'"));'.
// $panelName.'Tabs['.$tabCount.']='.$panelName.'Tabs['.$tabCount.'].cloneNode( true );'.
($onChange!='' ? ('if (typeof('.$onChange.')!=="undefined") {'.$onChange.'();}'): '').
'}.extend('.$panelName.'),'.
'selected:'.($tabCount==0 ? 'true' : 'false').
'};';
$tabCount++;
if (SYS_LANG == 'es') {
$mainPanelScript = str_replace( "120", "150", $mainPanelScript );
} else {
$mainPanelScript = str_replace( "150", "120", $mainPanelScript );
}
$mainPanelScript .= $panelName . 'Tabs[' . $tabCount . ']=' . 'document.getElementById("' . $Part['File'] . '");' . $panelName . '.tab.options[' . $panelName . '.tab.options.length]=' . '{' . 'title :"' . addcslashes( $Part['Template'], '\\"' ) . '",' . 'noClear :true,' . 'content :function(){' . ($beforeChange != '' ? ('if (typeof(' . $beforeChange . ')!=="undefined") {' . $beforeChange . '();}') : '') . $panelName . 'Clear();' . $panelName . 'Tabs[' . $tabCount . '].style.display="";' .
// 'this.addContent('.$panelName.'Tabs['.$tabCount.']);'.
// 'this.addContent(document.getElementById("'.$Part['File'].'"));'.
// $panelName.'Tabs['.$tabCount.']='.$panelName.'Tabs['.$tabCount.'].cloneNode( true );'.
($onChange != '' ? ('if (typeof(' . $onChange . ')!=="undefined") {' . $onChange . '();}') : '') . '}.extend(' . $panelName . '),' . 'selected:' . ($tabCount == 0 ? 'true' : 'false') . '};';
$tabCount ++;
break;
case 'panel-close':
global $mainPanelScript;
global $panelName;
global $tabCount;
$mainPanelScript .= $panelName.'.make();';
$mainPanelScript .= 'for(var r=0;r<'.$tabCount.';r++)'.
'if ('.$panelName.'Tabs[r])'.$panelName.
'.addContent('.$panelName.'Tabs[r]);';
$mainPanelScript .= $panelName . '.make();';
$mainPanelScript .= 'for(var r=0;r<' . $tabCount . ';r++)' . 'if (' . $panelName . 'Tabs[r])' . $panelName . '.addContent(' . $panelName . 'Tabs[r]);';
$mainPanelScript .= '});';
$mainPanelScript .= 'function '.$panelName.'Clear(){';
$mainPanelScript .= 'for(var r=0;r<'.$tabCount.';r++)'.
'if ('.$panelName.'Tabs[r])'.$panelName.'Tabs[r].style.display="none";}';
$oHeadPublisher =& headPublisher::getSingleton();
$mainPanelScript .= 'function ' . $panelName . 'Clear(){';
$mainPanelScript .= 'for(var r=0;r<' . $tabCount . ';r++)' . 'if (' . $panelName . 'Tabs[r])' . $panelName . 'Tabs[r].style.display="none";}';
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addScriptCode( $mainPanelScript );
break;
case 'blank';
print(' ');
case 'blank':
print (' ') ;
break;
case 'varform':
global $G_FORM;
$G_FORM = new Form;
G::LoadSystem("varform");
$xml = new varForm;
$G_FORM = new Form();
G::LoadSystem( "varform" );
$xml = new varForm();
//$xml->parseFile ( );
$xml->renderForm ($G_FORM, $Part['File']);
$xml->renderForm( $G_FORM, $Part['File'] );
$G_FORM->Values = $Part['Data'];
$G_FORM->SetUp( $Part['Target'] );
$G_FORM->width = 500;
@@ -599,71 +551,70 @@ class Publisher
break;
case 'menu':
$G_TMP_TARGET = $Part['Target'];
$G_OP_MENU = new Menu;
$G_OP_MENU = new Menu();
$G_OP_MENU->Load( $Part['File'] );
break;
case 'smarty': //To do: Please check it 26/06/07
$template = new Smarty();
$template->compile_dir = PATH_SMARTY_C;
$template->cache_dir = PATH_SMARTY_CACHE;
$template->config_dir = PATH_THIRDPARTY . 'smarty/configs';
$template->caching = false;
$dataArray = $Part['Data'] ;
$dataArray = $Part['Data'];
// verify if there are templates folders registered, template and method folders are the same
$folderTemplate = explode ( '/',$Part['Template'] );
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ( $oPluginRegistry->isRegisteredFolder( $folderTemplate[0] ) )
$folderTemplate = explode( '/', $Part['Template'] );
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($oPluginRegistry->isRegisteredFolder( $folderTemplate[0] )) {
$template->templateFile = PATH_PLUGINS . $Part['Template'] . '.html';
else
} else {
$template->templateFile = PATH_TPL . $Part['Template'] . '.html';
}
// last change to load the template, maybe absolute path was given
if (!is_file($template->templateFile)) {
$template->templateFile = strpos($Part['Template'], '.html') !== false? $Part['Template']: $Part['Template'].'.html';
if (! is_file( $template->templateFile )) {
$template->templateFile = strpos( $Part['Template'], '.html' ) !== false ? $Part['Template'] : $Part['Template'] . '.html';
}
//assign the variables and use the template $template
$template->assign( $dataArray);
print $template->fetch($template->templateFile);
$template->assign( $dataArray );
print $template->fetch( $template->templateFile );
break;
case 'template': //To do: Please check it 26/06/07
if ( gettype( $Part['Data'] ) == 'array' ) {
G::LoadSystem ( 'template' ); //template phpBB
if (gettype( $Part['Data'] ) == 'array') {
G::LoadSystem( 'template' ); //template phpBB
$template = new Template();
$template->set_filenames(array('body' => $Part['Template'] . '.html') );
$dataArray = $Part['Data'] ;
if ( is_array ( $dataArray ) ) {
foreach ( $dataArray as $key => $val )
if ( is_array ( $val ) ) {
foreach ( $val as $key_val => $val_array )
$template->set_filenames( array ('body' => $Part['Template'] . '.html' ) );
$dataArray = $Part['Data'];
if (is_array( $dataArray )) {
foreach ($dataArray as $key => $val) {
if (is_array( $val )) {
foreach ($val as $key_val => $val_array) {
$template->assign_block_vars( $key, $val_array );
}
else
$template->assign_vars( array ( $key => $val ) );
} else {
$template->assign_vars( array ($key => $val ) );
}
$template->pparse('body' );
}
if ( gettype( $Part['Data'] ) == 'object' && strtolower(get_class ( $Part['Data'] )) == 'templatepower' ) {
}
$template->pparse( 'body' );
}
if (gettype( $Part['Data'] ) == 'object' && strtolower( get_class( $Part['Data'] ) ) == 'templatepower') {
$Part['Data']->printToScreen();
}
return;
break;
case 'view':
case 'content' :
case 'content':
//check if G_PLUGIN_CLASS is defined, because publisher can be called without an environment
$aux = explode ( PATH_SEP, $Part['Template'] );
if ( count($aux) == 2 && defined ( 'G_PLUGIN_CLASS' ) ) {
$aux = explode( PATH_SEP, $Part['Template'] );
if (count( $aux ) == 2 && defined( 'G_PLUGIN_CLASS' )) {
//if the template doesn't exists, then try it with the plugins folders, after the normal Template
$userTemplate = G::ExpandPath( 'templates' ) . $Part['Template'];
$globalTemplate = PATH_TEMPLATE . $Part['Template'];
if ( !is_file ($userTemplate) && !is_file ($globalTemplate) ) {
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ( $oPluginRegistry->isRegisteredFolder($aux[0]) ) {
$pluginTemplate = PATH_PLUGINS. $Part['Template'] . '.php';
if (! is_file( $userTemplate ) && ! is_file( $globalTemplate )) {
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if ($oPluginRegistry->isRegisteredFolder( $aux[0] )) {
$pluginTemplate = PATH_PLUGINS . $Part['Template'] . '.php';
include ($pluginTemplate);
}
@@ -678,10 +629,10 @@ class Publisher
break;
}
//krumo( $Part['Template'] );
//check if this LoadTemplate is used, byOnti 12th Aug 2008
G::LoadTemplate( $Part['Template'] );
$G_TABLE = NULL;
$G_TABLE = null;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
<?php
/**
* class.ymlDomain.php
*
* @package gulliver.system
*
* ProcessMaker Open Source Edition
@@ -25,18 +26,22 @@
*/
/**
*
* @package gulliver.system
*/
require_once( PATH_THIRDPARTY.'lime/yaml.class.php');
*
*/
require_once (PATH_THIRDPARTY . 'lime/yaml.class.php');
/**
* ymlDomain class
*
* @copyright (C) 2002 by Colosa Development Team.
* @package gulliver.system
*/
class ymlDomain
{
var $global;
public $global;
/**
* function ymlDomain
@@ -44,9 +49,9 @@ class ymlDomain
* @access public
* @return void
*/
function ymlDomain()
public function ymlDomain ()
{
$this->global = sfYAML::Load( PATH_FIXTURES . 'domain.yml');
$this->global = sfYAML::Load( PATH_FIXTURES . 'domain.yml' );
}
/**
@@ -56,22 +61,23 @@ class ymlDomain
* @param string $domainName
* @return boolean
*/
function addDomain( $domainName )
public function addDomain ($domainName)
{
$keys = $this->name2keys( $domainName );
$currDomain =& $this->global;
$i=0;
for($i=0;$i<count($keys);$i++){
if (is_array($currDomain)){
if (!isset($currDomain[$keys[$i]])) $currDomain[$keys[$i]] = array();
$currDomain =& $currDomain[$keys[$i]];
$currDomain = & $this->global;
$i = 0;
for ($i = 0; $i < count( $keys ); $i ++) {
if (is_array( $currDomain )) {
if (! isset( $currDomain[$keys[$i]] )) {
$currDomain[$keys[$i]] = array ();
}
else{
trigger_error( "Operation not possible: Subdomain is not present $domainName" , E_USER_ERROR );
return FALSE;
$currDomain = & $currDomain[$keys[$i]];
} else {
trigger_error( "Operation not possible: Subdomain is not present $domainName", E_USER_ERROR );
return false;
}
}
return TRUE;
return true;
}
/**
@@ -82,22 +88,21 @@ class ymlDomain
* @param string $value
* @return boolean
*/
function addDomainValue( $domainName , $value )
public function addDomainValue ($domainName, $value)
{
$keys = $this->name2keys( $domainName );
$currDomain =& $this->global;
$i=0;
for($i=0;$i<count($keys);$i++){
if (is_array($currDomain)){
$currDomain =& $currDomain[$keys[$i]];
}
else{
trigger_error( "Operation not possible: Subdomain is not present $domainName" , E_USER_ERROR );
return FALSE;
$currDomain = & $this->global;
$i = 0;
for ($i = 0; $i < count( $keys ); $i ++) {
if (is_array( $currDomain )) {
$currDomain = & $currDomain[$keys[$i]];
} else {
trigger_error( "Operation not possible: Subdomain is not present $domainName", E_USER_ERROR );
return false;
}
}
$currDomain[]=$value;
return TRUE;
$currDomain[] = $value;
return true;
}
/**
@@ -107,20 +112,19 @@ class ymlDomain
* @param string $domainName
* @return boolean
*/
function exists( $domainName )
public function exists ($domainName)
{
$keys = $this->name2keys( $domainName );
$currDomain =& $this->global;
$i=0;
for($i=0;$i<count($keys);$i++){
if (is_array($currDomain) && isset($currDomain[$keys[$i]]) ){
$currDomain =& $currDomain[$keys[$i]];
}
else{
return FALSE;
$currDomain = & $this->global;
$i = 0;
for ($i = 0; $i < count( $keys ); $i ++) {
if (is_array( $currDomain ) && isset( $currDomain[$keys[$i]] )) {
$currDomain = & $currDomain[$keys[$i]];
} else {
return false;
}
}
return TRUE;
return true;
}
/**
@@ -130,9 +134,9 @@ class ymlDomain
* @param string $resource
* @return array
*/
function get($resource)
public function get ($resource)
{
if (is_array($result=$this->load($resource))){
if (is_array( $result = $this->load( $resource ) )) {
//Get one value per each $item
//Ex. *.first.name.es => Returns an array with all of the defined firstNames.
// first.name.es => Returns an array with one firstName.
@@ -140,16 +144,15 @@ class ymlDomain
// For example: if name.es has the subdomains:
// first.name.es and last.name.es, it returns an array of
// two elements: one firstName and one lastName.
foreach($result as $key => $item){
if (is_array($item)){
$subResult = $this->plainArray($item);
$result[$key] = $subResult[ array_rand( $subResult, 1 ) ];
foreach ($result as $key => $item) {
if (is_array( $item )) {
$subResult = $this->plainArray( $item );
$result[$key] = $subResult[array_rand( $subResult, 1 )];
}
}
return $result;
}
else{
return array('');
} else {
return array ('');
}
}
@@ -160,22 +163,20 @@ class ymlDomain
* @param string $resource
* @return array
*/
function name2keys( $resource )
public function name2keys ($resource)
{
if (strpos( $resource, '.' )!==FALSE){
$revKeys=explode( '.', $resource );
$keys=array();
for($i=count($revKeys)-1;$i>=0;$i--){
$keys[]=$revKeys[$i];
if (strpos( $resource, '.' ) !== false) {
$revKeys = explode( '.', $resource );
$keys = array ();
for ($i = count( $revKeys ) - 1; $i >= 0; $i --) {
$keys[] = $revKeys[$i];
}
}
elseif (strpos( $resource, '/' )!==FALSE){
$rootKeys=explode( '/', $resource );
unset($rootKeys[0]);
$keys=array_values($rootKeys);
}
else{
$keys=array($resource);
} elseif (strpos( $resource, '/' ) !== false) {
$rootKeys = explode( '/', $resource );
unset( $rootKeys[0] );
$keys = array_values( $rootKeys );
} else {
$keys = array ($resource );
}
return $keys;
}
@@ -187,25 +188,23 @@ class ymlDomain
* @param string $resource
* @return array
*/
function load($resource)
public function load ($resource)
{
$keys = $this->name2keys( $resource );
//Find in global variable
if (count($this->getNode($keys[0],$this->global))>0){
if (count( $this->getNode( $keys[0], $this->global ) ) > 0) {
return $this->find( $keys, $this->global );
}
else{
if (file_exists(PATH_FIXTURES . $keys[0] . '.yml')){
$local = sfYAML::Load( PATH_FIXTURES . $keys[0] . '.yml');
unset($keys[0]);
$keys=array_values($keys);
} else {
if (file_exists( PATH_FIXTURES . $keys[0] . '.yml' )) {
$local = sfYAML::Load( PATH_FIXTURES . $keys[0] . '.yml' );
unset( $keys[0] );
$keys = array_values( $keys );
return $this->find( $keys, $local );
}
else{
return NULL;
} else {
return null;
}
}
return NULL;
return null;
}
/**
@@ -216,29 +215,26 @@ class ymlDomain
* @param string $where
* @return array
*/
function find( $nodesKey , $where )
public function find ($nodesKey, $where)
{
if (count($nodesKey)==1){
if (count( $nodesKey ) == 1) {
return $this->getNode( $nodesKey[0], $where );
}
elseif (count($nodesKey)>1){
} elseif (count( $nodesKey ) > 1) {
$routes = $this->getNode( $nodesKey[0], $where );
$result=array();
unset($nodesKey[0]);
$nodesKey=array_values($nodesKey);
foreach($routes as $route){
if (is_array( $route )){
$result = array ();
unset( $nodesKey[0] );
$nodesKey = array_values( $nodesKey );
foreach ($routes as $route) {
if (is_array( $route )) {
$subResult = $this->find( $nodesKey, $route );
$this->arrayAppend( $result, $subResult );
}
else{
$result[]=$route;
} else {
$result[] = $route;
}
}
return $result;
}
else{
return array();
} else {
return array ();
}
}
@@ -250,16 +246,14 @@ class ymlDomain
* @param string $from
* @return array
*/
function getNode( $nodeKey , $from )
public function getNode ($nodeKey, $from)
{
if($nodeKey==='*'){
return array_values($from);
}
elseif (array_key_exists( $nodeKey, $from )){
return array($from[$nodeKey]);
}
else{
return array();
if ($nodeKey === '*') {
return array_values( $from );
} elseif (array_key_exists( $nodeKey, $from )) {
return array ($from[$nodeKey] );
} else {
return array ();
}
}
@@ -270,16 +264,15 @@ class ymlDomain
* @param array $array
* @return array
*/
function plainArray( $array )
public function plainArray ($array)
{
$result=array();
foreach($array as $item){
if (is_array($item)){
$appResult=$this->plainArray( $item );
$result = array ();
foreach ($array as $item) {
if (is_array( $item )) {
$appResult = $this->plainArray( $item );
$this->arrayAppend( $result, $appResult );
}
else{
$result[]=$item;
} else {
$result[] = $item;
}
}
return $result;
@@ -293,8 +286,11 @@ class ymlDomain
* @param string $appendFrom
* @return void
*/
function arrayAppend( &$to , $appendFrom )
public function arrayAppend (&$to, $appendFrom)
{
foreach($appendFrom as $appendItem) $to[]=$appendItem;
foreach ($appendFrom as $appendItem) {
$to[] = $appendItem;
}
}
}