CODE STYLE gulliver/system/
files modified: class.filterForm.php
class.publisher.php
class.xmlform.php
class.ymlDomain.php
This commit is contained in:
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user