Merge remote branch 'upstream/master'

This commit is contained in:
Fernando Ontiveros
2012-07-04 17:15:19 -04:00
10 changed files with 4662 additions and 3990 deletions

View File

@@ -8,379 +8,496 @@ error_reporting(E_ALL);
ini_set('memory_limit', '128M');
if (!defined('SYS_LANG')) {
define('SYS_LANG', 'en');
define('SYS_LANG', 'en');
}
if (!defined('PATH_HOME')) {
if ( !defined('PATH_SEP') ) {
define('PATH_SEP', ( substr(PHP_OS, 0, 3) == 'WIN' ) ? '\\' : '/');
}
$docuroot = explode(PATH_SEP, str_replace('engine' . PATH_SEP . 'methods' . PATH_SEP . 'services', '', dirname(__FILE__)));
array_pop($docuroot);
array_pop($docuroot);
$pathhome = implode(PATH_SEP, $docuroot) . PATH_SEP;
//try to find automatically the trunk directory where are placed the RBAC and Gulliver directories
//in a normal installation you don't need to change it.
array_pop($docuroot);
$pathTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP ;
array_pop($docuroot);
$pathOutTrunk = implode( PATH_SEP, $docuroot) . PATH_SEP ;
// to do: check previous algorith for Windows $pathTrunk = "c:/home/";
if (!defined('PATH_SEP')) {
define('PATH_SEP', (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/');
}
define('PATH_HOME', $pathhome);
define('PATH_TRUNK', $pathTrunk);
define('PATH_OUTTRUNK', $pathOutTrunk);
$pathServices = 'engine' . PATH_SEP . 'methods' . PATH_SEP . 'services';
$docuroot = explode(PATH_SEP, str_replace($pathServices, '', dirname(__FILE__)));
require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
array_pop($docuroot);
array_pop($docuroot);
G::LoadThirdParty('pear/json','class.json');
G::LoadThirdParty('smarty/libs','Smarty.class');
G::LoadSystem('error');
G::LoadSystem('dbconnection');
G::LoadSystem('dbsession');
G::LoadSystem('dbrecordset');
G::LoadSystem('dbtable');
G::LoadSystem('rbac' );
G::LoadSystem('publisher');
G::LoadSystem('templatePower');
G::LoadSystem('xmlDocument');
G::LoadSystem('xmlform');
G::LoadSystem('xmlformExtension');
G::LoadSystem('form');
G::LoadSystem('menu');
G::LoadSystem("xmlMenu");
G::LoadSystem('dvEditor');
G::LoadSystem('table');
G::LoadSystem('pagedTable');
G::LoadClass ( 'system' );
require_once ( "propel/Propel.php" );
require_once ( "creole/Creole.php" );
$pathHome = implode(PATH_SEP, $docuroot) . PATH_SEP;
//try to find automatically the trunk directory where are placed the RBAC and Gulliver directories
//in a normal installation you don't need to change it.
array_pop($docuroot);
$pathTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
array_pop($docuroot);
$pathOutTrunk = implode(PATH_SEP, $docuroot) . PATH_SEP;
//to do: check previous algorith for Windows $pathTrunk = "c:/home/";
define('PATH_HOME', $pathHome);
define('PATH_TRUNK', $pathTrunk);
define('PATH_OUTTRUNK', $pathOutTrunk);
require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
G::LoadThirdParty('pear/json','class.json');
G::LoadThirdParty('smarty/libs','Smarty.class');
G::LoadSystem('error');
G::LoadSystem('dbconnection');
G::LoadSystem('dbsession');
G::LoadSystem('dbrecordset');
G::LoadSystem('dbtable');
G::LoadSystem('rbac' );
G::LoadSystem('publisher');
G::LoadSystem('templatePower');
G::LoadSystem('xmlDocument');
G::LoadSystem('xmlform');
G::LoadSystem('xmlformExtension');
G::LoadSystem('form');
G::LoadSystem('menu');
G::LoadSystem("xmlMenu");
G::LoadSystem('dvEditor');
G::LoadSystem('table');
G::LoadSystem('pagedTable');
G::LoadClass ( 'system' );
require_once ( "propel/Propel.php" );
require_once ( "creole/Creole.php" );
}
require_once 'classes/model/AppDelegation.php';
require_once 'classes/model/Event.php';
require_once 'classes/model/AppEvent.php';
require_once 'classes/model/CaseScheduler.php';
//G::loadClass('pmScript');
require_once ("classes/model/Configuration.php");
require_once ("classes/model/AppCacheView.php");
require_once ("classes/model/AppDelegation.php");
require_once ("classes/model/Event.php");
require_once ("classes/model/AppEvent.php");
require_once ("classes/model/CaseScheduler.php");
//G::loadClass("pmScript");
//default values
$bCronIsRunning = false;
$sLastExecution = '';
if ( file_exists(PATH_DATA . 'cron') ) {
$aAux = unserialize( trim( @file_get_contents(PATH_DATA . 'cron')) );
$bCronIsRunning = (boolean)$aAux['bCronIsRunning'];
$sLastExecution = $aAux['sLastExecution'];
}
else {
//if not exists the file, just create a new one with current date
@file_put_contents(PATH_DATA . 'cron', serialize(array('bCronIsRunning' => '1', 'sLastExecution' => date('Y-m-d H:i:s'))));
if (file_exists(PATH_DATA . 'cron')) {
$arrayAux = unserialize(trim(@file_get_contents(PATH_DATA . 'cron')));
$bCronIsRunning = (boolean)($arrayAux['bCronIsRunning']);
$sLastExecution = $arrayAux['sLastExecution'];
} else {
//if not exists the file, just create a new one with current date
$arrayAux = array('bCronIsRunning' => '1', 'sLastExecution' => date('Y-m-d H:i:s'));
@file_put_contents(PATH_DATA . 'cron', serialize($arrayAux));
}
if (!defined('SYS_SYS')) {
$sObject = $argv[1];
$sNow = $argv[2];
$sFilter = '';
$sObject = $argv[1];
$sNow = $argv[2];
$sFilter = '';
for($i=3; $i<count($argv); $i++){
$sFilter .= ' '.$argv[$i];
}
$oDirectory = dir(PATH_DB);
if (is_dir(PATH_DB . $sObject)) {
saveLog ( 'main', 'action', "checking folder " . PATH_DB . $sObject );
if (file_exists(PATH_DB . $sObject . PATH_SEP . 'db.php')) {
define('SYS_SYS', $sObject);
include_once(PATH_HOME.'engine'.PATH_SEP.'config'.PATH_SEP.'paths_installed.php');
include_once(PATH_HOME.'engine'.PATH_SEP.'config'.PATH_SEP.'paths.php');
//***************** PM Paths DATA **************************
define( 'PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/');
define( 'PATH_DOCUMENT', PATH_DATA_SITE . 'files/' );
define( 'PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/' );
define( 'PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/' );
define( 'PATH_DATA_REPORTS', PATH_DATA_SITE . 'reports/' );
define( 'PATH_DYNAFORM', PATH_DATA_SITE . 'xmlForms/' );
define( 'PATH_IMAGES_ENVIRONMENT_FILES', PATH_DATA_SITE . 'usersFiles'.PATH_SEP);
define( 'PATH_IMAGES_ENVIRONMENT_USERS', PATH_DATA_SITE . 'usersPhotographies'.PATH_SEP);
if(is_file(PATH_DATA_SITE.PATH_SEP.'.server_info')){
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.'.server_info');
$SERVER_INFO = unserialize($SERVER_INFO);
//print_r($SERVER_INFO);
define( 'SERVER_NAME', $SERVER_INFO ['SERVER_NAME']);
define( 'SERVER_PORT', $SERVER_INFO ['SERVER_PORT']);
} else {
eprintln("WARNING! No server info found!", 'red');
}
$sContent = file_get_contents(PATH_DB . $sObject . PATH_SEP . 'db.php');
$sContent = str_replace('<?php', '', $sContent);
$sContent = str_replace('<?', '', $sContent);
$sContent = str_replace('?>', '', $sContent);
$sContent = str_replace('define', '', $sContent);
$sContent = str_replace("('", "$", $sContent);
$sContent = str_replace("',", '=', $sContent);
$sContent = str_replace(");", ';', $sContent);
eval($sContent);
$dsn = $DB_ADAPTER . '://' . $DB_USER . ':' . $DB_PASS . '@' . $DB_HOST . '/' . $DB_NAME;
$dsnRbac = $DB_ADAPTER . '://' . $DB_RBAC_USER . ':' . $DB_RBAC_PASS . '@' . $DB_RBAC_HOST . '/' . $DB_RBAC_NAME;
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/' . $DB_REPORT_NAME;
switch ($DB_ADAPTER) {
case 'mysql':
$dsn .= '?encoding=utf8';
$dsnRbac .= '?encoding=utf8';
break;
case 'mssql':
//$dsn .= '?sendStringAsUnicode=false';
//$dsnRbac .= '?sendStringAsUnicode=false';
break;
default:
break;
}
$pro['datasources']['workflow']['connection'] = $dsn;
$pro['datasources']['workflow']['adapter'] = $DB_ADAPTER;
$pro['datasources']['rbac']['connection'] = $dsnRbac;
$pro['datasources']['rbac']['adapter'] = $DB_ADAPTER;
$pro['datasources']['rp']['connection'] = $dsnRp;
$pro['datasources']['rp']['adapter'] = $DB_ADAPTER;
//$pro['datasources']['dbarray']['connection'] = 'dbarray://user:pass@localhost/pm_os';
//$pro['datasources']['dbarray']['adapter'] = 'dbarray';
$oFile = fopen(PATH_CORE . 'config/_databases_.php', 'w');
fwrite($oFile, '<?php global $pro;return $pro; ?>');
fclose($oFile);
Propel::init(PATH_CORE . 'config/_databases_.php');
//Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
eprintln("Processing workspace: " . $sObject, 'green');
try{
processWorkspace();
}catch(Exception $e){
echo $e->getMessage();
eprintln("Probelm in workspace: " . $sObject.' it was omitted.', 'red');
}
eprintln();
for ($i = 3; $i < count($argv); $i++) {
$sFilter .= ' ' . $argv[$i];
}
}
unlink(PATH_CORE . 'config/_databases_.php');
}
else {
processWorkspace();
$oDirectory = dir(PATH_DB);
if (is_dir(PATH_DB . $sObject)) {
saveLog('main', 'action', "checking folder " . PATH_DB . $sObject);
if (file_exists(PATH_DB . $sObject . PATH_SEP . 'db.php')) {
define('SYS_SYS', $sObject);
include_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths_installed.php');
include_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php');
//***************** PM Paths DATA **************************
define('PATH_DATA_SITE', PATH_DATA . 'sites/' . SYS_SYS . '/');
define('PATH_DOCUMENT', PATH_DATA_SITE . 'files/');
define('PATH_DATA_MAILTEMPLATES', PATH_DATA_SITE . 'mailTemplates/');
define('PATH_DATA_PUBLIC', PATH_DATA_SITE . 'public/');
define('PATH_DATA_REPORTS', PATH_DATA_SITE . 'reports/');
define('PATH_DYNAFORM', PATH_DATA_SITE . 'xmlForms/');
define('PATH_IMAGES_ENVIRONMENT_FILES', PATH_DATA_SITE . 'usersFiles' . PATH_SEP);
define('PATH_IMAGES_ENVIRONMENT_USERS', PATH_DATA_SITE . 'usersPhotographies' . PATH_SEP);
if (is_file(PATH_DATA_SITE.PATH_SEP . '.server_info')) {
$SERVER_INFO = file_get_contents(PATH_DATA_SITE.PATH_SEP.'.server_info');
$SERVER_INFO = unserialize($SERVER_INFO);
define('SERVER_NAME', $SERVER_INFO ['SERVER_NAME']);
define('SERVER_PORT', $SERVER_INFO ['SERVER_PORT']);
} else {
eprintln("WARNING! No server info found!", 'red');
}
$sContent = file_get_contents(PATH_DB . $sObject . PATH_SEP . 'db.php');
$sContent = str_replace('<?php', '', $sContent);
$sContent = str_replace('<?', '', $sContent);
$sContent = str_replace('?>', '', $sContent);
$sContent = str_replace('define', '', $sContent);
$sContent = str_replace("('", "$", $sContent);
$sContent = str_replace("',", '=', $sContent);
$sContent = str_replace(");", ';', $sContent);
eval($sContent);
$dsn = $DB_ADAPTER . '://' . $DB_USER . ':' . $DB_PASS . '@' . $DB_HOST . '/' . $DB_NAME;
$dsnRbac = $DB_ADAPTER . '://' . $DB_RBAC_USER . ':' . $DB_RBAC_PASS . '@' . $DB_RBAC_HOST . '/';
$dsnRbac = $dsnRbac . $DB_RBAC_NAME;
$dsnRp = $DB_ADAPTER . '://' . $DB_REPORT_USER . ':' . $DB_REPORT_PASS . '@' . $DB_REPORT_HOST . '/';
$dsnRp = $dsnRp . $DB_REPORT_NAME;
switch ($DB_ADAPTER) {
case 'mysql':
$dsn .= '?encoding=utf8';
$dsnRbac .= '?encoding=utf8';
break;
case 'mssql':
//$dsn .= '?sendStringAsUnicode=false';
//$dsnRbac .= '?sendStringAsUnicode=false';
break;
default:
break;
}
$pro['datasources']['workflow']['connection'] = $dsn;
$pro['datasources']['workflow']['adapter'] = $DB_ADAPTER;
$pro['datasources']['rbac']['connection'] = $dsnRbac;
$pro['datasources']['rbac']['adapter'] = $DB_ADAPTER;
$pro['datasources']['rp']['connection'] = $dsnRp;
$pro['datasources']['rp']['adapter'] = $DB_ADAPTER;
//$pro['datasources']['dbarray']['connection'] = 'dbarray://user:pass@localhost/pm_os';
//$pro['datasources']['dbarray']['adapter'] = 'dbarray';
$oFile = fopen(PATH_CORE . 'config/_databases_.php', 'w');
fwrite($oFile, '<?php global $pro;return $pro; ?>');
fclose($oFile);
Propel::init(PATH_CORE . 'config/_databases_.php');
//Creole::registerDriver('dbarray', 'creole.contrib.DBArrayConnection');
eprintln("Processing workspace: " . $sObject, "green");
try {
processWorkspace();
} catch (Exception $e) {
echo $e->getMessage();
eprintln("Probelm in workspace: " . $sObject . " it was omitted.", "red");
}
eprintln();
}
}
unlink(PATH_CORE . 'config/_databases_.php');
} else {
processWorkspace();
}
//finally update the file
@file_put_contents(PATH_DATA . 'cron', serialize(array('bCronIsRunning' => '0', 'sLastExecution' => date('Y-m-d H:i:s'))));
$arrayAux = array('bCronIsRunning' => '0', 'sLastExecution' => date('Y-m-d H:i:s'));
@file_put_contents(PATH_DATA . 'cron', serialize($arrayAux));
function processWorkspace()
{
global $sLastExecution;
function processWorkspace() {
global $sLastExecution;
try {
resendEmails();
unpauseApplications();
calculateDuration();
executePlugins();
executeEvents($sLastExecution);
executeScheduledCases();
}
catch (Exception $oError) {
saveLog ("main", "error", "Error processing workspace : " . $oError->getMessage() . "\n" );
}
}
function resendEmails() {
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'emails') === false) return false;
setExecutionMessage("Resending emails");
try {
G::LoadClass('spool');
$oSpool = new spoolRun();
$oSpool->resendEmails();
saveLog('resendEmails', 'action', 'Resending Emails', "c");
$aSpoolWarnings = $oSpool->getWarnings();
if( $aSpoolWarnings !== false ) {
foreach($aSpoolWarnings as $sWarning){
print('MAIL SPOOL WARNING: ' . $sWarning."\n");
saveLog('resendEmails', 'warning', 'MAIL SPOOL WARNING: ' . $sWarning);
}
try {
resendEmails();
unpauseApplications();
calculateDuration();
executePlugins();
executeEvents($sLastExecution);
executeScheduledCases();
executeUpdateAppTitle();
} catch (Exception $oError) {
saveLog("main", "error", "Error processing workspace : " . $oError->getMessage() . "\n");
}
setExecutionResultMessage('DONE');
}
catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('resendEmails', 'error', 'Error Resending Emails: ' . $oError->getMessage());
}
}
function unpauseApplications() {
global $sFilter;
global $sNow;
if($sFilter!='' && strpos($sFilter, 'unpause') === false) return false;
setExecutionMessage("Unpausing applications");
function resendEmails()
{
global $sFilter;
try {
G::LoadClass('case');
$oCases = new Cases();
$oCases->ThrowUnpauseDaemon($sNow);
setExecutionResultMessage('DONE');
saveLog('unpauseApplications', 'action', 'Unpausing Applications');
}
catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('unpauseApplications', 'error', 'Error Unpausing Applications: ' . $oError->getMessage());
}
}
if ($sFilter != '' && strpos($sFilter, 'emails') === false) {
return false;
}
function executePlugins(){
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'plugins') === false) return false;
setExecutionMessage("Resending emails");
$pathCronPlugins = PATH_CORE.'bin'.PATH_SEP.'plugins'.PATH_SEP;
try {
G::LoadClass('spool');
//erik: verify if the plugin dir exists
if (!is_dir($pathCronPlugins)) {
return false;
}
$oSpool = new spoolRun();
$oSpool->resendEmails();
if ($handle = opendir( $pathCronPlugins )) {
while ( false !== ($file = readdir($handle))) {
if ( strpos($file, '.php',1) && is_file($pathCronPlugins . $file) ) {
$filename = str_replace('.php' , '', $file) ;
$className = $filename . 'ClassCron';
saveLog('resendEmails', 'action', 'Resending Emails', "c");
include_once ( $pathCronPlugins . $file ); //$filename. ".php"
$oPlugin = new $className();
if (method_exists($oPlugin, 'executeCron')) {
$oPlugin->executeCron();
setExecutionMessage("Executing Plugins");
setExecutionResultMessage('DONE');
$aSpoolWarnings = $oSpool->getWarnings();
if ( $aSpoolWarnings !== false ) {
foreach ($aSpoolWarnings as $sWarning) {
print('MAIL SPOOL WARNING: ' . $sWarning."\n");
saveLog('resendEmails', 'warning', 'MAIL SPOOL WARNING: ' . $sWarning);
}
}
}
setExecutionResultMessage('DONE');
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('resendEmails', 'error', 'Error Resending Emails: ' . $oError->getMessage());
}
}
}
function calculateDuration() {
global $sFilter;
if($sFilter!='' && strpos($sFilter, 'calculate') === false) return false;
setExecutionMessage("Calculating Duration");
try {
$oAppDelegation = new AppDelegation();
$oAppDelegation->calculateDuration();
setExecutionResultMessage('DONE');
saveLog('calculateDuration', 'action', 'Calculating Duration');
}
catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateDuration', 'error', 'Error Calculating Duration: ' . $oError->getMessage());
}
}
function executeEvents($sLastExecution, $sNow=null) {
global $sFilter;
global $sNow;
$log = array();
if($sFilter!='' && strpos($sFilter, 'events') === false) return false;
setExecutionMessage("Executing events");
setExecutionResultMessage('PROCESSING');
try {
$oAppEvent = new AppEvent();
saveLog('executeEvents', 'action', "Executing Events $sLastExecution, $sNow ");
$n = $oAppEvent->executeEvents($sNow, false, $log);
foreach ($log as $value) {
saveLog('executeEvents', 'action', "Execute Events : $value, $sNow ");
}
setExecutionMessage("|- End Execution events");
setExecutionResultMessage("Processed $n");
//saveLog('executeEvents', 'action', $res );
}
catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateAlertsDueDate', 'Error', 'Error Executing Events: ' . $oError->getMessage());
}
}
function executeScheduledCases($sNow=null){
try{
function unpauseApplications()
{
global $sFilter;
global $sNow;
$log = array();
if($sFilter!='' && strpos($sFilter, 'scheduler') === false) return false;
if ($sFilter != '' && strpos($sFilter, 'unpause') === false) {
return false;
}
setExecutionMessage("Executing the scheduled starting cases");
setExecutionMessage("Unpausing applications");
try {
G::LoadClass('case');
$oCases = new Cases();
$oCases->ThrowUnpauseDaemon($sNow);
setExecutionResultMessage('DONE');
saveLog('unpauseApplications', 'action', 'Unpausing Applications');
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('unpauseApplications', 'error', 'Error Unpausing Applications: ' . $oError->getMessage());
}
}
function executePlugins()
{
global $sFilter;
if ($sFilter!='' && strpos($sFilter, 'plugins') === false) {
return false;
}
$pathCronPlugins = PATH_CORE.'bin'.PATH_SEP.'plugins'.PATH_SEP;
//erik: verify if the plugin dir exists
if (!is_dir($pathCronPlugins)) {
return false;
}
if ($handle = opendir($pathCronPlugins)) {
while (false !== ($file = readdir($handle))) {
if (strpos($file, '.php',1) && is_file($pathCronPlugins . $file)) {
$filename = str_replace('.php' , '', $file);
$className = $filename . 'ClassCron';
include_once ( $pathCronPlugins . $file ); //$filename. ".php"
$oPlugin = new $className();
if (method_exists($oPlugin, 'executeCron')) {
$oPlugin->executeCron();
setExecutionMessage("Executing Plugins");
setExecutionResultMessage('DONE');
}
}
}
}
}
function calculateDuration()
{
global $sFilter;
if ($sFilter != '' && strpos($sFilter, 'calculate') === false) {
return false;
}
setExecutionMessage("Calculating Duration");
try {
$oAppDelegation = new AppDelegation();
$oAppDelegation->calculateDuration();
setExecutionResultMessage('DONE');
saveLog('calculateDuration', 'action', 'Calculating Duration');
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateDuration', 'error', 'Error Calculating Duration: ' . $oError->getMessage());
}
}
function executeEvents($sLastExecution, $sNow=null)
{
global $sFilter;
global $sNow;
$log = array();
if ($sFilter != '' && strpos($sFilter, 'events') === false) {
return false;
}
setExecutionMessage("Executing events");
setExecutionResultMessage('PROCESSING');
$sNow = isset($sNow)? $sNow: date('Y-m-d H:i:s');
$oCaseScheduler = new CaseScheduler;
try {
$oAppEvent = new AppEvent();
saveLog('executeEvents', 'action', "Executing Events $sLastExecution, $sNow ");
$n = $oAppEvent->executeEvents($sNow, false, $log);
$oCaseScheduler->caseSchedulerCron($sNow, $log);
foreach ($log as $value) {
saveLog('executeEvents', 'action', "Execute Events : $value, $sNow ");
}
foreach ($log as $value) {
saveLog('executeScheduledCases', 'action', "OK Case# $value");
setExecutionMessage("|- End Execution events");
setExecutionResultMessage("Processed $n");
//saveLog('executeEvents', 'action', $res );
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
saveLog('calculateAlertsDueDate', 'Error', 'Error Executing Events: ' . $oError->getMessage());
}
setExecutionResultMessage('DONE');
} catch(Exception $oError){
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
}
}
function saveLog($sSource, $sType, $sDescription) {
try {
global $isDebug;
if ( $isDebug )
print date('H:i:s') ." ($sSource) $sType $sDescription <br>\n";
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
function executeScheduledCases($sNow=null)
{
try {
global $sFilter;
global $sNow;
G::verifyPath(PATH_DATA . 'log' . PATH_SEP, true);
if ($sType == 'action') {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cron.log', 'a+');
$log = array();
if ($sFilter != '' && strpos($sFilter, 'scheduler') === false) {
return false;
}
setExecutionMessage("Executing the scheduled starting cases");
setExecutionResultMessage('PROCESSING');
$sNow = isset($sNow)? $sNow : date('Y-m-d H:i:s');
$oCaseScheduler = new CaseScheduler();
$oCaseScheduler->caseSchedulerCron($sNow, $log);
foreach ($log as $value) {
saveLog('executeScheduledCases', 'action', "OK Case# $value");
}
setExecutionResultMessage('DONE');
} catch (Exception $oError) {
setExecutionResultMessage('WITH ERRORS', 'error');
eprintln(" '-".$oError->getMessage(), 'red');
}
else {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cronError.log', 'a+');
}
function executeUpdateAppTitle()
{
try {
$criteriaConf = new Criteria("workflow");
$criteriaConf->addSelectColumn(ConfigurationPeer::OBJ_UID);
$criteriaConf->addSelectColumn(ConfigurationPeer::CFG_VALUE);
$criteriaConf->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE");
$rsCriteriaConf = ConfigurationPeer::doSelectRS($criteriaConf);
$rsCriteriaConf->setFetchmode(ResultSet::FETCHMODE_ASSOC);
setExecutionMessage("Update case labels");
saveLog("updateCaseLabels", "action", "Update case labels", "c");
while ($rsCriteriaConf->next()) {
$row = $rsCriteriaConf->getRow();
$taskUid = $row["OBJ_UID"];
$lang = $row["CFG_VALUE"];
//Update case labels
$appcv = new AppCacheView();
$appcv->appTitleByTaskCaseLabelUpdate($taskUid, $lang);
//Delete record
$criteria = new Criteria("workflow");
$criteria->add(ConfigurationPeer::CFG_UID, "TAS_APP_TITLE_UPDATE");
$criteria->add(ConfigurationPeer::OBJ_UID, $taskUid);
$criteria->add(ConfigurationPeer::CFG_VALUE, $lang);
$numRowDeleted = ConfigurationPeer::doDelete($criteria);
saveLog("updateCaseLabels", "action", "OK Task $taskUid");
}
setExecutionResultMessage("DONE");
} catch (Exception $e) {
setExecutionResultMessage("WITH ERRORS", "error");
eprintln(" '-" . $e->getMessage(), "red");
saveLog("updateCaseLabels", "error", "Error updating case labels: " . $e->getMessage());
}
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
@fclose($oFile);
}
catch (Exception $oError) {
//CONTINUE
}
}
function saveLog($sSource, $sType, $sDescription)
{
try {
global $isDebug;
function setExecutionMessage($m){
$len = strlen($m);
$linesize = 60;
$rOffset = $linesize - $len;
if ($isDebug) {
print date('H:i:s') ." ($sSource) $sType $sDescription <br />\n";
}
eprint("* $m");
for($i=0; $i<$rOffset; $i++) eprint('.');
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
G::verifyPath(PATH_DATA . 'log' . PATH_SEP, true);
if ($sType == 'action') {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cron.log', 'a+');
} else {
$oFile = @fopen(PATH_DATA . 'log' . PATH_SEP . 'cronError.log', 'a+');
}
@fwrite($oFile, date('Y-m-d H:i:s') . '(' . $sSource . ') ' . $sDescription . "\n");
@fclose($oFile);
} catch (Exception $oError) {
//CONTINUE
}
}
function setExecutionResultMessage($m, $t=''){
$c='green';
if($t=='error') $c = 'red';
if($t=='info') $c = 'yellow';
eprintln("[$m]", $c);
function setExecutionMessage($m)
{
$len = strlen($m);
$linesize = 60;
$rOffset = $linesize - $len;
eprint("* $m");
for ($i = 0; $i < $rOffset; $i++) {
eprint('.');
}
}
function setExecutionResultMessage($m, $t='')
{
$c = 'green';
if ($t == 'error') {
$c = 'red';
}
if ($t == 'info') {
$c = 'yellow';
}
eprintln("[$m]", $c);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -178,45 +178,73 @@ var saveDataTaskTemporal = function(iForm)
var saveTaskData = function(oForm, iForm, iType)
{
iLastTab = iForm;
if ( !saveDataTaskTemporal(iForm)) {
if (!saveDataTaskTemporal(iForm)) {
return false;
}
oTaskData.TAS_UID = getField('TAS_UID').value;
/* while (oTaskData.TAS_TITLE.charAt(0)==' '){
oTaskData.TAS_TITLE = oTaskData.TAS_TITLE.substring(1,oTaskData.TAS_TITLE.length) ;
} */
oTaskData.TAS_TITLE=oTaskData.TAS_TITLE.trim();
if(oTaskData.TAS_TITLE==''){
alert(G_STRINGS.ID_REQ_TITLE );
return false;
}
var sParameters = 'function=saveTaskData';
oTaskData.TAS_UID = getField("TAS_UID").value;
/*
while (oTaskData.TAS_TITLE.charAt(0)==" "){
oTaskData.TAS_TITLE = oTaskData.TAS_TITLE.substring(1,oTaskData.TAS_TITLE.length) ;
}
*/
oTaskData.TAS_TITLE = oTaskData.TAS_TITLE.trim();
if (oTaskData.TAS_TITLE == "") {
alert(G_STRINGS.ID_REQ_TITLE );
return false;
}
//Set AJAX
var sParameters = "function=saveTaskData";
var oRPC = new leimnud.module.rpc.xmlhttp({
url : '../tasks/tasks_Ajax',
async : false,
method: 'POST',
args : sParameters + '&oData=' + oTaskData.toJSONString()
url: "../tasks/tasks_Ajax",
method: "POST",
args: sParameters + "&oData=" + oTaskData.toJSONString()
});
oRPC.callback = function (rpc) {
var res = rpc.xmlhttp.responseText.parseJSON();
if (oTaskData.TAS_TITLE) {
Pm.data.db.task[getField("INDEX").value].label = Pm.data.db.task[getField("INDEX").value].object.elements.label.innerHTML = oTaskData.TAS_TITLE.replace(re2, "&amp;");
}
if (oTaskData.TAS_START) {
oTaskData.TAS_START = ((oTaskData.TAS_START == "TRUE")? true : false);
Pm.data.render.setTaskINI({task: oTaskData.TAS_UID, value: oTaskData.TAS_START});
}
try {
var option = {
label: changesSavedLabel
}
switch (res.status) {
case "CRONCL":
option = {
label: changesSavedLabel + "<br /><br />" + _("APP_TITLE_CASE_LABEL_UPDATE"),
width: 350,
height: 175
}
break;
}
new leimnud.module.app.info().make(option);
}
catch (e) {
//No show confirmation
}
Pm.tmp.propertiesPanel.remove();
}.extend(this);
oRPC.make();
if (oTaskData.TAS_TITLE)
{
Pm.data.db.task[getField('INDEX').value].label = Pm.data.db.task[getField('INDEX').value].object.elements.label.innerHTML = oTaskData.TAS_TITLE.replace(re2, "&amp;");
}
if (oTaskData.TAS_START)
{
oTaskData.TAS_START = (oTaskData.TAS_START == 'TRUE' ? true : false);
Pm.data.render.setTaskINI({task: oTaskData.TAS_UID, value: oTaskData.TAS_START});
}
try {
new leimnud.module.app.info().make( {
label: changesSavedLabel
});
}
catch (e) {
// No show confirmation
}
Pm.tmp.propertiesPanel.remove();
};
var showTriggers = function(sStep, sType)

View File

@@ -1,87 +1,81 @@
<?php
/**
* tasks_Ajax.php
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
try {
global $RBAC;
switch ($RBAC->userCanAccess('PM_FACTORY')) {
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
global $RBAC;
$oJSON = new Services_JSON();
$aData = get_object_vars($oJSON->decode($_POST['oData']));
if(isset($_POST['function']))
$sAction = $_POST['function'];
else
$sAction = $_POST['functions'];
switch ($RBAC->userCanAccess('PM_FACTORY')) {
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
switch ($sAction) {
case 'saveTaskData':
require_once 'classes/model/Task.php';
$oTask = new Task();
$oJSON = new Services_JSON();
$aData = get_object_vars($oJSON->decode($_POST['oData']));
/**
* routine to replace @amp@ by &
* that why the char "&" can't be passed by XmlHttpRequest directly
* @autor erik <erik@colosa.com>
*/
foreach($aData as $k=>$v) {
$aData[$k] = str_replace('@amp@', '&', $v);
}
if (isset($_POST['function'])) {
$sAction = $_POST['function'];
} else {
$sAction = $_POST['functions'];
}
if (isset($aData['SEND_EMAIL'])) {
$aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE';
} else {
$aData['TAS_SEND_LAST_EMAIL'] = 'FALSE';
}
switch ($sAction) {
case "saveTaskData":
require_once ("classes/model/Task.php");
// Additional configuration
if (isset($aData['TAS_DEF_MESSAGE_TYPE']) && isset($aData['TAS_DEF_MESSAGE_TEMPLATE'])) {
G::loadClass('configuration');
$oConf = new Configurations;
$oConf->aConfig = Array(
'TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],
'TAS_DEF_MESSAGE_TEMPLATE'=> $aData['TAS_DEF_MESSAGE_TEMPLATE']
);
$oConf->saveConfig('TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '');
unset($aData['TAS_DEF_MESSAGE_TYPE']);
unset($aData['TAS_DEF_MESSAGE_TEMPLATE']);
}
$response = array();
$oTask->update($aData);
break;
}
$oTask = new Task();
/**
* routine to replace @amp@ by &
* that why the char "&" can't be passed by XmlHttpRequest directly
* @autor erik <erik@colosa.com>
*/
foreach ($aData as $k => $v) {
$aData[$k] = str_replace('@amp@', '&', $v);
}
if (isset($aData['SEND_EMAIL'])) {
$aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE';
} else {
$aData['TAS_SEND_LAST_EMAIL'] = 'FALSE';
}
//Additional configuration
if (isset($aData['TAS_DEF_MESSAGE_TYPE']) && isset($aData['TAS_DEF_MESSAGE_TEMPLATE'])) {
G::LoadClass('configuration');
$oConf = new Configurations();
$oConf->aConfig = array(
'TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],
'TAS_DEF_MESSAGE_TEMPLATE' => $aData['TAS_DEF_MESSAGE_TEMPLATE']
);
$oConf->saveConfig('TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '');
unset($aData['TAS_DEF_MESSAGE_TYPE']);
unset($aData['TAS_DEF_MESSAGE_TEMPLATE']);
}
$result = $oTask->update($aData);
$response["status"] = "OK";
if ($result == 3) {
$response["status"] = "CRONCL";
}
echo G::json_encode($response);
break;
}
} catch (Exception $oException) {
die($oException->getMessage());
}
catch (Exception $oException) {
die($oException->getMessage());
}
?>

View File

@@ -1,4 +1,5 @@
<?php
/**
* usersGroups.php
*
@@ -22,33 +23,34 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
if (($RBAC_Response=$RBAC->userCanAccess("PM_LOGIN"))!=1) return $RBAC_Response;
if (($RBAC_Response = $RBAC->userCanAccess("PM_LOGIN")) != 1) {
return $RBAC_Response;
}
global $RBAC;
$access = $RBAC->userCanAccess('PM_USERS');
if( $access != 1 ){
switch ($access)
{
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
default:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
if ($access != 1) {
switch ($access) {
case -1:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
case -2:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
default:
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
}
}
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'users';
$G_ID_MENU_SELECTED = 'USERS';
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'users';
$G_ID_MENU_SELECTED = 'USERS';
$G_ID_SUB_MENU_SELECTED = 'USERS';
$G_PUBLISH = new Publisher;
@@ -69,10 +71,16 @@ $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
$aRow = $oDataset->getRow();
switch($_REQUEST['type']){
case 'summary': $ctab = 0; break;
case 'group': $ctab = 1; break;
case 'auth': $ctab = 2; break;
switch ($_REQUEST['type']) {
case 'summary':
$ctab = 0;
break;
case 'group':
$ctab = 1;
break;
case 'auth':
$ctab = 2;
break;
}
$users = Array();
@@ -83,11 +91,12 @@ $users['USR_USERNAME'] = $aRow['USR_USERNAME'];
$users['fullNameFormat'] = $Config['fullNameFormat'];
$users['CURRENT_TAB'] = $ctab;
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher = & headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('users/usersGroups', false); //adding a javascript file .js
// $oHeadPublisher->addContent('users/usersGroups'); //adding a html file .html.
$oHeadPublisher->assign('USERS', $users);
$oHeadPublisher->assign('hasAuthPerm', ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1));
$oHeadPublisher->assign('hasAuthPerm', ($RBAC->userCanAccess('PM_SETUP_ADVANCE') == 1));
G::RenderPage('publish', 'extJs');

View File

@@ -25,125 +25,140 @@
try {
G::LoadClass ( 'triggerLibrary' );
$triggerLibrary = triggerLibrary::getSingleton ();
$libraryClassName = $_GET ['LIBRARY'];
$libraryMethod = $_GET ['NAME_FUN'];
$sProUid = $_GET ['PRO_UID'];
$libraryO = $triggerLibrary->getLibraryDefinition ( $libraryClassName );
G::LoadClass ( 'triggerLibrary' );
$triggerLibrary = triggerLibrary::getSingleton ();
$libraryClassName = $_GET ['LIBRARY'];
$libraryMethod = $_GET ['NAME_FUN'];
$sProUid = $_GET ['PRO_UID'];
$libraryO = $triggerLibrary->getLibraryDefinition ( $libraryClassName );
$libraryName = $libraryO->info ['name'];
$libraryDescription = trim ( str_replace ( "*", "", implode ( " ", $libraryO->info ['description'] ) ) );
$libraryIcon = isset ( $libraryO->info ['icon'] ) && ($libraryO->info ['icon'] != "") ? $libraryO->info ['icon'] : "/images/browse.gif";
$aDataTrigger = $_GET;
$libraryName = $libraryO->info ['name'];
$libraryDescription = trim ( str_replace ( "*", "", implode ( " ", $libraryO->info ['description'] ) ) );
$libraryIcon = isset ( $libraryO->info ['icon'] ) && ($libraryO->info ['icon'] != "")
? $libraryO->info ['icon'] : "/images/browse.gif";
$aDataTrigger = $_GET;
$sProUid = $aDataTrigger ['PRO_UID'];
$sNameFun = $aDataTrigger ['NAME_FUN'];
$sProUid = $aDataTrigger ['PRO_UID'];
$sNameFun = $aDataTrigger ['NAME_FUN'];
$methodObject = $libraryO->methods [$sNameFun];
$methodObject = $libraryO->methods [$sNameFun];
$methodName = $methodObject->info ['name'];
$methodLabel = $methodObject->info ['label'];
$methodDescription = trim ( str_replace ( "*", "", implode ( " ", $methodObject->info ['description'] ) ) );
$methodReturn = $methodObject->info ['return'];
$methodParameters = array_keys ( $methodObject->params );
$methodLink = isset ( $methodObject->info ['link'] ) && ($methodObject->info ['link'] != "") ? $methodObject->info ['link'] : "";
$methodreturnA = explode ( "|", $methodReturn );
$methodName = $methodObject->info ['name'];
$methodLabel = $methodObject->info ['label'];
$methodDescription = trim ( str_replace ( "*", "", implode ( " ", $methodObject->info ['description'] ) ) );
$methodReturn = $methodObject->info ['return'];
$methodParameters = array_keys ( $methodObject->params );
$methodLink = isset ( $methodObject->info ['link'] ) && ($methodObject->info ['link'] != "")
? $methodObject->info ['link'] : "";
$bReturnValue = true;
$displayMode = 'display:block';
$methodreturnDescription = (trim(strtoupper($methodreturnA [3])) == strtoupper(G::LoadTranslation ( 'ID_NONE')) )? G::LoadTranslation ( 'ID_NOT_REQUIRED') : $methodreturnA [3];
$methodReturnLabel = isset ( $methodreturnA [3] ) ? $methodreturnDescription : $methodReturn;
if ( (isset($methodreturnA[0]) && isset($methodreturnA[1])) && (trim(strtoupper($methodreturnA[0]) ) != strtoupper(G::LoadTranslation ( 'ID_NONE')) ) ) {
$methodReturnLabelRequired = (trim( $methodreturnA[1] ) != "" )? G::LoadTranslation ( "ID_REQUIRED_FIELD" ) : $methodreturnA[1];
$methodReturnLabel .= "<br>" . trim( $methodReturnLabelRequired ) . " | " . trim($methodreturnA[0]);
}
else {
$bReturnValue = false;
$displayMode = 'display:none';
}
$aParametersFun = $methodParameters;
$triggerWizardTemplate = PATH_TPL . 'triggers' . PATH_SEP . 'triggers_CreateWizard.html';
$template = new TemplatePower ( $triggerWizardTemplate );
$template->prepare ();
$methodreturnA = explode ( "|", $methodReturn );
$tds = '';
$nrows = 2;
$bReturnValue = true;
$displayMode = 'display:block';
$methodreturnDescription = (trim(strtoupper($methodreturnA [3])) == strtoupper(G::LoadTranslation ( 'ID_NONE')) )
? G::LoadTranslation ( 'ID_NOT_REQUIRED') : $methodreturnA [3];
$methodReturnLabel = isset ( $methodreturnA [3] ) ? $methodreturnDescription : $methodReturn;
if ( (isset($methodreturnA[0]) && isset($methodreturnA[1]))
&& (trim(strtoupper($methodreturnA[0]) ) != strtoupper(G::LoadTranslation ( 'ID_NONE')) ) ) {
$methodReturnLabelRequired = (trim( $methodreturnA[1] ) != "" )
? G::LoadTranslation ( "ID_REQUIRED_FIELD" ) : $methodreturnA[1];
$methodReturnLabel .= "<br>" . trim( $methodReturnLabelRequired ) . " | " . trim($methodreturnA[0]);
} else {
$bReturnValue = false;
$displayMode = 'display:none';
}
$aParametersFun = $methodParameters;
$triggerWizardTemplate = PATH_TPL . 'triggers' . PATH_SEP . 'triggers_CreateWizard.html';
$template = new TemplatePower ( $triggerWizardTemplate );
$template->prepare ();
$template->assign ( 'LIBRARY_NAME', $libraryName );
$template->assign ( 'LIBRARY_DESCRIPTION', $libraryDescription );
$template->assign ( 'LIBRARY_ICON', $libraryIcon );
$template->assign ( 'LIBRARY_CLASS', $libraryClassName );
if ($methodLink != "") {
$template->newBlock ( 'methodLink' );
$template->assign ( 'LIBRARY_METHOD_LINK', $methodLink );
$template->assign ( 'MORE_INFO', G::LoadTranslation ( 'ID_MORE_INFO' ) );
$template->gotoBlock ( '_ROOT' );
}
$tds = '';
$nrows = 2;
$template->assign ( 'PMFUNTION', $sNameFun );
$template->assign ( 'PMFUNTION_LABEL', $methodLabel );
$template->assign ( 'PMFUNTION_DESCRIPTION', $methodDescription );
$template->assign ( 'TITLE', G::LoadTranslation ( 'ID_TITLE' ) );
$template->assign ( 'DESCRIPTION', G::LoadTranslation ( 'ID_DESCRIPTION' ) );
$template->assign ( 'DETAILS_LABEL', G::LoadTranslation ( 'ID_DETAILS' ) );
$template->assign ( 'RETURN_TITLE', G::LoadTranslation ( 'ID_TRIGGER_RETURN_TITLE' ) );
if ( $bReturnValue ) {
$template->assign ( 'RETURN_LABEL', G::LoadTranslation ( 'ID_TRIGGER_RETURN_LABEL' ) );
}
$template->assign ( 'METHOD_LABEL', G::LoadTranslation ( 'ID_METHOD' ) );
$template->assign ( 'ROWS', sizeof ( $aParametersFun ) + 3 );
$template->assign ( 'TRIGGER_INFORMATION', 'Trigger Information' );
$template->assign ( 'TRIGGER_ACTION', '../triggers/triggers_WizardSave' );
$template->assign ( 'PRO_UID', $sProUid );
$template->assign ( 'PAGED_TABLE_ID', $aDataTrigger ['PAGED_TABLE_ID'] );
$template->assign ( 'RETURN_DESCRIPTION', $methodReturnLabel );
$template->assign ( 'ID_SAVE', G::LoadTranslation ( 'ID_SAVE' ) );
$template->assign ( 'ID_CANCEL', G::LoadTranslation ( 'ID_CANCEL' ) );
$template->assign ( 'DISPLAY_MODE', $displayMode );
$template->assign ( 'LIBRARY_NAME', $libraryName );
$template->assign ( 'LIBRARY_DESCRIPTION', $libraryDescription );
$template->assign ( 'LIBRARY_ICON', $libraryIcon );
$template->assign ( 'LIBRARY_CLASS', $libraryClassName );
if ($methodLink != "") {
$template->newBlock ( 'methodLink' );
$template->assign ( 'LIBRARY_METHOD_LINK', $methodLink );
$template->assign ( 'MORE_INFO', G::LoadTranslation ( 'ID_MORE_INFO' ) );
$template->gotoBlock ( '_ROOT' );
}
$sPMfunction = $sNameFun . " (";
$methodParametersOnlyNames = array ();
if (count ( $aParametersFun ) > 0) {
$template->newBlock ( 'paremetersTriggersGroup' );
$template->assign ( 'PARAMETERS_LABEL', G::LoadTranslation ( 'ID_PARAMETERS' ) );
foreach ( $aParametersFun as $k => $v ) {
if ($v != '') {
$aParametersFunA = explode ( "|", $v );
$paramType = $aParametersFunA [0];
$paramDefinition = $aParametersFunA [1];
$paramDefinitionA = explode ( "=", $paramDefinition );
$paramName = $paramDefinitionA [0];
$methodParametersOnlyNames [] = $paramName;
$paramDefaultValue = isset ( $paramDefinitionA [1] ) ? $paramDefinitionA [1] : "";
$paramLabel = isset ( $aParametersFunA [2] ) ? $aParametersFunA [2] : $paramName;
$paramDescription = isset ( $aParametersFunA [3] ) ? $aParametersFunA [3] : "";
$sPMfunction .= ($nrows != 2) ? ', "' . trim ( str_replace ( "$", "", $paramName ) ) . '"' : '"' . trim ( str_replace ( "$", "", $paramName ) . '"' );
$template->newBlock ( 'paremetersTriggers' );
$template->assign ( 'LABEL_PARAMETER', $paramLabel );
$template->assign ( 'OPT_PARAMETER', trim ( str_replace ( "$", "", $paramName ) ) );
$sNameTag = 'form.' . trim ( str_replace ( "$", "", $paramName ) ) . '.name';
$sNameTag = trim ( $sNameTag );
$template->assign ( 'SNAMETAG', $sNameTag );
$tri_Button = "<input type='button' name='INSERT_VARIABLE' value='@@' onclick='showDynaformsFormVars($sNameTag , \"../controls/varsAjax\" , \"$sProUid\" , \"@@\");return;' >";
$template->assign ( 'ADD_TRI_VARIABLE', $tri_Button );
$template->assign ( 'ADD_TRI_VALUE', str_replace ( "'", "", str_replace ( '"', '', $paramDefaultValue ) ) );
$fieldDescription = ($paramDescription!="")?$paramDescription . "<br>":"";
$fieldDescription .= $paramDefaultValue != "" ? $paramDefaultValue . " | " . $paramType : G::LoadTranslation ( "ID_REQUIRED_FIELD" ) . " | " . $paramType;
$template->assign ( 'ADD_TRI_DESCRIPTION', $fieldDescription );
$nrows ++;
}
}
$template->assign ( 'PMFUNTION', $sNameFun );
$template->assign ( 'PMFUNTION_LABEL', $methodLabel );
$template->assign ( 'PMFUNTION_DESCRIPTION', $methodDescription );
$template->assign ( 'TITLE', G::LoadTranslation ( 'ID_TITLE' ) );
$template->assign ( 'DESCRIPTION', G::LoadTranslation ( 'ID_DESCRIPTION' ) );
$template->assign ( 'DETAILS_LABEL', G::LoadTranslation ( 'ID_DETAILS' ) );
$template->assign ( 'RETURN_TITLE', G::LoadTranslation ( 'ID_TRIGGER_RETURN_TITLE' ) );
if ( $bReturnValue ) {
$template->assign ( 'RETURN_LABEL', G::LoadTranslation ( 'ID_TRIGGER_RETURN_LABEL' ) );
}
$template->assign ( 'METHOD_LABEL', G::LoadTranslation ( 'ID_METHOD' ) );
$template->assign ( 'ROWS', sizeof ( $aParametersFun ) + 3 );
$template->assign ( 'TRIGGER_INFORMATION', 'Trigger Information' );
$template->assign ( 'TRIGGER_ACTION', '../triggers/triggers_WizardSave' );
$template->assign ( 'PRO_UID', $sProUid );
$template->assign ( 'PAGED_TABLE_ID', $aDataTrigger ['PAGED_TABLE_ID'] );
$template->assign ( 'RETURN_DESCRIPTION', $methodReturnLabel );
$template->assign ( 'ID_SAVE', G::LoadTranslation ( 'ID_SAVE' ) );
$template->assign ( 'ID_CANCEL', G::LoadTranslation ( 'ID_CANCEL' ) );
$template->assign ( 'DISPLAY_MODE', $displayMode );
}
$template->gotoBlock ( '_ROOT' );
$template->assign ( 'ALLFUNCTION', implode ( ",", $methodParametersOnlyNames ) );
$sPMfunction .= ");";
$content = $template->getOutputContent ();
print $content;
$sPMfunction = $sNameFun . " (";
$methodParametersOnlyNames = array ();
if (count ( $aParametersFun ) > 0) {
$template->newBlock ( 'paremetersTriggersGroup' );
$template->assign ( 'PARAMETERS_LABEL', G::LoadTranslation ( 'ID_PARAMETERS' ) );
foreach ($aParametersFun as $k => $v) {
if ($v != '') {
$aParametersFunA = explode ( "|", $v );
$paramType = $aParametersFunA [0];
$paramDefinition = $aParametersFunA [1];
$paramDefinitionA = explode ( "=", $paramDefinition );
$paramName = $paramDefinitionA [0];
$methodParametersOnlyNames [] = $paramName;
$paramDefaultValue = isset ( $paramDefinitionA [1] ) ? $paramDefinitionA [1] : "";
$paramLabel = isset ( $aParametersFunA [2] ) ? $aParametersFunA [2] : $paramName;
$paramDescription = isset ( $aParametersFunA [3] ) ? $aParametersFunA [3] : "";
$sPMfunction .= ($nrows != 2)
? ', "' . trim ( str_replace ( "$", "", $paramName ) ) . '"'
: '"' . trim ( str_replace ( "$", "", $paramName ) . '"' );
$template->newBlock ( 'paremetersTriggers' );
$template->assign ( 'LABEL_PARAMETER', $paramLabel );
$template->assign ( 'OPT_PARAMETER', trim ( str_replace ( "$", "", $paramName ) ) );
$sNameTag = 'form.' . trim ( str_replace ( "$", "", $paramName ) ) . '.name';
$sNameTag = trim ( $sNameTag );
$template->assign ( 'SNAMETAG', $sNameTag );
$tri_Button = "<input type='button' name='INSERT_VARIABLE' value='@@' "
. "onclick='showDynaformsFormVars($sNameTag , \"../controls/varsAjax\" , "
. " \"$sProUid\" , \"@@\");return;' >";
$template->assign ( 'ADD_TRI_VARIABLE', $tri_Button );
$template->assign ( 'ADD_TRI_VALUE',
str_replace ( "'", "", str_replace ( '"', '', $paramDefaultValue ) ) );
$fieldDescription = ($paramDescription!="")?$paramDescription . "<br>":"";
$fieldDescription .= $paramDefaultValue != ""
? $paramDefaultValue . " | " . $paramType
: G::LoadTranslation ( "ID_REQUIRED_FIELD" ) . " | " . $paramType;
$template->assign ( 'ADD_TRI_DESCRIPTION', $fieldDescription );
$nrows ++;
}
}
}
$template->gotoBlock ( '_ROOT' );
$template->assign ( 'ALLFUNCTION', implode ( ",", $methodParametersOnlyNames ) );
$sPMfunction .= ");";
$content = $template->getOutputContent ();
print $content;
} catch ( Exception $oException ) {
die ( $oException->getMessage () );
die ( $oException->getMessage () );
}
unset ( $_SESSION ['PROCESS'] );
?>
unset ($_SESSION ['PROCESS']);

View File

@@ -24,131 +24,145 @@
*/
try {
G::LoadClass ( 'triggerLibrary' );
$triggerLibrary = triggerLibrary::getSingleton ();
$libraryClassName = $_GET ['LIBRARY_CLASS'];
$libraryMethod = $_GET ['PMFUNTION_NAME'];
$sProUid = $_GET ['PRO_UID'];
$libraryO = $triggerLibrary->getLibraryDefinition ( $libraryClassName );
G::LoadClass ( 'triggerLibrary' );
$triggerLibrary = triggerLibrary::getSingleton ();
$libraryClassName = $_GET ['LIBRARY_CLASS'];
$libraryMethod = $_GET ['PMFUNTION_NAME'];
$sProUid = $_GET ['PRO_UID'];
$libraryO = $triggerLibrary->getLibraryDefinition ( $libraryClassName );
$libraryName = $libraryO->info ['name'];
$libraryDescription = trim ( str_replace ( "*", "", implode ( " ", $libraryO->info ['description'] ) ) );
$libraryIcon = isset ( $libraryO->info ['icon'] ) && ($libraryO->info ['icon'] != "") ? $libraryO->info ['icon'] : "/images/browse.gif";
$aDataTrigger = $_GET;
$libraryName = $libraryO->info ['name'];
$libraryDescription = trim ( str_replace ( "*", "", implode ( " ", $libraryO->info ['description'] ) ) );
$libraryIcon = isset ( $libraryO->info ['icon'] ) && ($libraryO->info ['icon'] != "")
? $libraryO->info ['icon'] : "/images/browse.gif";
$aDataTrigger = $_GET;
$sProUid = $aDataTrigger ['PRO_UID'];
$sNameFun = $aDataTrigger ['PMFUNTION_NAME'];
$sProUid = $aDataTrigger ['PRO_UID'];
$sNameFun = $aDataTrigger ['PMFUNTION_NAME'];
$methodObject = $libraryO->methods [$sNameFun];
$methodObject = $libraryO->methods [$sNameFun];
$methodName = $methodObject->info ['name'];
$methodLabel = $methodObject->info ['label'];
$methodDescription = trim ( str_replace ( "*", "", implode ( " ", $methodObject->info ['description'] ) ) );
$methodReturn = $methodObject->info ['return'];
$methodParameters = array_keys ( $methodObject->params );
$methodLink = isset ( $methodObject->info ['link'] ) && ($methodObject->info ['link'] != "") ? $methodObject->info ['link'] : "";
$methodreturnA = explode ( "|", $methodReturn );
$methodName = $methodObject->info ['name'];
$methodLabel = $methodObject->info ['label'];
$methodDescription = trim ( str_replace ( "*", "", implode ( " ", $methodObject->info ['description'] ) ) );
$methodReturn = $methodObject->info ['return'];
$methodParameters = array_keys ( $methodObject->params );
$methodLink = isset ( $methodObject->info ['link'] ) && ($methodObject->info ['link'] != "")
? $methodObject->info ['link'] : "";
$methodreturnA = explode ( "|", $methodReturn );
$bReturnValue = true;
$displayMode = 'display:block';
$methodreturnDescription = (trim(strtoupper($methodreturnA [3])) == strtoupper(G::LoadTranslation ( 'ID_NONE')) )? G::LoadTranslation ( 'ID_NOT_REQUIRED') : $methodreturnA [3];
$methodReturnLabel = isset ( $methodreturnA [3] ) ? $methodreturnDescription : $methodReturn;
if ( (isset($methodreturnA[0]) && isset($methodreturnA[1])) && (trim(strtoupper($methodreturnA[0]) ) != strtoupper(G::LoadTranslation ( 'ID_NONE')) ) ) {
$methodReturnLabelRequired = (trim( $methodreturnA[1] ) != "" )? G::LoadTranslation ( "ID_REQUIRED_FIELD" ) : $methodreturnA[1];
$methodReturnLabel .= "<br>" . trim( $methodReturnLabelRequired ) . " | " . trim($methodreturnA[0]);
}
else {
$bReturnValue = false;
$displayMode = 'display:none';
}
$aParametersFun = $methodParameters;
$triggerWizardTemplate = PATH_TPL . 'triggers' . PATH_SEP . 'triggers_EditWizard.html';
$template = new TemplatePower ( $triggerWizardTemplate );
$template->prepare ();
$bReturnValue = true;
$displayMode = 'display:block';
$methodreturnDescription = (trim(strtoupper($methodreturnA [3])) == strtoupper(G::LoadTranslation ( 'ID_NONE')) )
? G::LoadTranslation ( 'ID_NOT_REQUIRED') : $methodreturnA [3];
$methodReturnLabel = isset ( $methodreturnA [3] ) ? $methodreturnDescription : $methodReturn;
if ( (isset($methodreturnA[0]) && isset($methodreturnA[1]))
&& (trim(strtoupper($methodreturnA[0]) ) != strtoupper(G::LoadTranslation ( 'ID_NONE')) ) ) {
$methodReturnLabelRequired = (trim( $methodreturnA[1] ) != "" )
? G::LoadTranslation ( "ID_REQUIRED_FIELD" ) : $methodreturnA[1];
$methodReturnLabel .= "<br>" . trim( $methodReturnLabelRequired ) . " | " . trim($methodreturnA[0]);
} else {
$bReturnValue = false;
$displayMode = 'display:none';
}
$aParametersFun = $methodParameters;
$triggerWizardTemplate = PATH_TPL . 'triggers' . PATH_SEP . 'triggers_EditWizard.html';
$template = new TemplatePower ( $triggerWizardTemplate );
$template->prepare ();
$tds = '';
$nrows = 2;
$tds = '';
$nrows = 2;
$template->assign ( 'LIBRARY_NAME', $libraryName );
$template->assign ( 'LIBRARY_DESCRIPTION', $libraryDescription );
$template->assign ( 'LIBRARY_ICON', $libraryIcon );
$template->assign ( 'LIBRARY_CLASS', $libraryClassName );
if ($methodLink != "") {
$template->newBlock ( 'methodLink' );
$template->assign ( 'LIBRARY_METHOD_LINK', $methodLink );
$template->gotoBlock ( '_ROOT' );
}
$template->assign ( 'LIBRARY_NAME', $libraryName );
$template->assign ( 'LIBRARY_DESCRIPTION', $libraryDescription );
$template->assign ( 'LIBRARY_ICON', $libraryIcon );
$template->assign ( 'LIBRARY_CLASS', $libraryClassName );
if ($methodLink != "") {
$template->newBlock ( 'methodLink' );
$template->assign ( 'LIBRARY_METHOD_LINK', $methodLink );
$template->gotoBlock ( '_ROOT' );
}
$template->assign ( 'PMFUNTION', $sNameFun );
$template->assign ( 'PMFUNTION_LABEL', $methodLabel );
$template->assign ( 'PMFUNTION_DESCRIPTION', $methodDescription );
$template->assign ( 'TITLE', G::LoadTranslation ( 'ID_TITLE' ) );
$template->assign ( 'TITLE_CONTENT', $_GET['TRI_TITLE'] );
$template->assign ( 'TRI_UID', $_GET['TRI_UID'] );
$template->assign ( 'SOURCE_LINK', G::LoadTranslation ( 'ID_TRIGGER_SOURCE_LINK' ) );
$template->assign ( 'DESCRIPTION', G::LoadTranslation ( 'ID_DESCRIPTION' ) );
$template->assign ( 'DESCRIPTION_CONTENT', $_GET['TRI_DESCRIPTION'] );
$template->assign ( 'DETAILS_LABEL', G::LoadTranslation ( 'ID_DETAILS' ) );
$template->assign ( 'RETURN_TITLE', G::LoadTranslation ( 'ID_TRIGGER_RETURN_TITLE' ) );
if ( $bReturnValue ) {
$template->assign ( 'RETURN_LABEL', G::LoadTranslation ( 'ID_TRIGGER_RETURN_LABEL' ) );
}
$template->assign ( 'RETURN_VALUE', $_GET['TRI_ANSWER'] );
$template->assign ( 'METHOD_LABEL', G::LoadTranslation ( 'ID_METHOD' ) );
$template->assign ( 'ROWS', sizeof ( $aParametersFun ) + 3 );
$template->assign ( 'TRIGGER_INFORMATION', 'Triggers Edit Form' );
$template->assign ( 'TRIGGER_ACTION', '../triggers/triggers_WizardUpdate' );
$template->assign ( 'PRO_UID', $sProUid );
$template->assign ( 'PAGED_TABLE_ID', $aDataTrigger ['PAGED_TABLE_ID'] );
$template->assign ( 'RETURN_DESCRIPTION', $methodReturnLabel );
$template->assign ( 'ID_SAVE', G::LoadTranslation ( 'ID_SAVE' ) );
$template->assign ( 'ID_CANCEL', G::LoadTranslation ( 'ID_CANCEL' ) );
$template->assign ( 'DISPLAY_MODE', $displayMode );
$template->assign ( 'PMFUNTION', $sNameFun );
$template->assign ( 'PMFUNTION_LABEL', $methodLabel );
$template->assign ( 'PMFUNTION_DESCRIPTION', $methodDescription );
$template->assign ( 'TITLE', G::LoadTranslation ( 'ID_TITLE' ) );
$template->assign ( 'TITLE_CONTENT', $_GET['TRI_TITLE'] );
$template->assign ( 'TRI_UID', $_GET['TRI_UID'] );
$template->assign ( 'SOURCE_LINK', G::LoadTranslation ( 'ID_TRIGGER_SOURCE_LINK' ) );
$template->assign ( 'DESCRIPTION', G::LoadTranslation ( 'ID_DESCRIPTION' ) );
$template->assign ( 'DESCRIPTION_CONTENT', $_GET['TRI_DESCRIPTION'] );
$template->assign ( 'DETAILS_LABEL', G::LoadTranslation ( 'ID_DETAILS' ) );
$template->assign ( 'RETURN_TITLE', G::LoadTranslation ( 'ID_TRIGGER_RETURN_TITLE' ) );
if ( $bReturnValue ) {
$template->assign ( 'RETURN_LABEL', G::LoadTranslation ( 'ID_TRIGGER_RETURN_LABEL' ) );
}
$template->assign ( 'RETURN_VALUE', $_GET['TRI_ANSWER'] );
$template->assign ( 'METHOD_LABEL', G::LoadTranslation ( 'ID_METHOD' ) );
$template->assign ( 'ROWS', sizeof ( $aParametersFun ) + 3 );
$template->assign ( 'TRIGGER_INFORMATION', 'Triggers Edit Form' );
$template->assign ( 'TRIGGER_ACTION', '../triggers/triggers_WizardUpdate' );
$template->assign ( 'PRO_UID', $sProUid );
$template->assign ( 'PAGED_TABLE_ID', $aDataTrigger ['PAGED_TABLE_ID'] );
$template->assign ( 'RETURN_DESCRIPTION', $methodReturnLabel );
$template->assign ( 'ID_SAVE', G::LoadTranslation ( 'ID_SAVE' ) );
$template->assign ( 'ID_CANCEL', G::LoadTranslation ( 'ID_CANCEL' ) );
$template->assign ( 'DISPLAY_MODE', $displayMode );
$sPMfunction = $sNameFun . " (";
$methodParametersOnlyNames = array ();
if (count ( $aParametersFun ) > 0) {
$template->newBlock ( 'paremetersTriggersGroup' );
$template->assign ( 'PARAMETERS_LABEL', G::LoadTranslation ( 'ID_PARAMETERS' ) );
foreach ( $aParametersFun as $k => $v ) {
if ($v != '') {
$aParametersFunA = explode ( "|", $v );
$paramType = $aParametersFunA [0];
$paramDefinition = $aParametersFunA [1];
$paramDefinitionA = explode ( "=", $paramDefinition );
$paramName = $paramDefinitionA [0];
$methodParametersOnlyNames [] = $paramName;
$paramDefaultValue = isset ( $paramDefinitionA [1] ) ? $paramDefinitionA [1] : "";
$paramLabel = isset ( $aParametersFunA [2] ) ? $aParametersFunA [2] : $paramName;
$paramDescription = isset ( $aParametersFunA [3] ) ? $aParametersFunA [3] : "";
$sPMfunction .= ($nrows != 2) ? ', "' . trim ( str_replace ( "$", "", $paramName ) ) . '"' : '"' . trim ( str_replace ( "$", "", $paramName ) . '"' );
$template->newBlock ( 'paremetersTriggers' );
$template->assign ( 'LABEL_PARAMETER', $paramLabel );
$template->assign ( 'OPT_PARAMETER', trim ( str_replace ( "$", "", $paramName ) ) );
$sNameTag = 'form.' . trim ( str_replace ( "$", "", $paramName ) ) . '.name';
$sNameTag = trim ( $sNameTag );
$template->assign ( 'SNAMETAG', $sNameTag );
$tri_Button = "<input type='button' name='INSERT_VARIABLE' value='@@' onclick='showDynaformsFormVars($sNameTag , \"../controls/varsAjax\" , \"$sProUid\" , \"@@\");return;' >";
$template->assign ( 'ADD_TRI_VARIABLE', $tri_Button );
// $template->assign ( 'ADD_TRI_VALUE', str_replace ( "'", "", str_replace ( '"', '', $paramDefaultValue ) ) );
$paramValue = $_GET[trim( str_replace( "$", "", $paramName ) )];
$template->assign ( 'ADD_TRI_VALUE', str_replace("\'", "&apos;", $paramValue) );
$fieldDescription = ($paramDescription!="")?$paramDescription . "<br>":"";
$fieldDescription .= $paramDefaultValue != "" ? $paramDefaultValue . " | " . $paramType : G::LoadTranslation ( "ID_REQUIRED_FIELD" ) . " | " . $paramType;
$template->assign ( 'ADD_TRI_DESCRIPTION', $fieldDescription );
$nrows ++;
}
}
$sPMfunction = $sNameFun . " (";
$methodParametersOnlyNames = array ();
if (count ( $aParametersFun ) > 0) {
$template->newBlock ( 'paremetersTriggersGroup' );
$template->assign ( 'PARAMETERS_LABEL', G::LoadTranslation ( 'ID_PARAMETERS' ) );
foreach ($aParametersFun as $k => $v) {
if ($v != '') {
$aParametersFunA = explode ( "|", $v );
$paramType = $aParametersFunA [0];
$paramDefinition = $aParametersFunA [1];
$paramDefinitionA = explode ( "=", $paramDefinition );
$paramName = $paramDefinitionA [0];
$methodParametersOnlyNames [] = $paramName;
$paramDefaultValue = isset ( $paramDefinitionA [1] ) ? $paramDefinitionA [1] : "";
$paramLabel = isset ( $aParametersFunA [2] ) ? $aParametersFunA [2] : $paramName;
$paramDescription = isset ( $aParametersFunA [3] ) ? $aParametersFunA [3] : "";
$sPMfunction .= ($nrows != 2)
? ', "' . trim ( str_replace ( "$", "", $paramName ) ) . '"'
: '"' . trim ( str_replace ( "$", "", $paramName ) . '"' );
}
$template->gotoBlock ( '_ROOT' );
$template->assign ( 'ALLFUNCTION', implode ( ",", $methodParametersOnlyNames ) );
$sPMfunction .= ");";
$content = $template->getOutputContent ();
print $content;
$template->newBlock ( 'paremetersTriggers' );
$template->assign ( 'LABEL_PARAMETER', $paramLabel );
$template->assign ( 'OPT_PARAMETER', trim ( str_replace ( "$", "", $paramName ) ) );
$sNameTag = 'form.' . trim ( str_replace ( "$", "", $paramName ) ) . '.name';
$sNameTag = trim ( $sNameTag );
$template->assign ( 'SNAMETAG', $sNameTag );
$tri_Button = "<input type='button' name='INSERT_VARIABLE' value='@@' "
. "onclick='showDynaformsFormVars($sNameTag , \"../controls/varsAjax\" , "
. " \"$sProUid\" , \"@@\");return;' >";
$template->assign ( 'ADD_TRI_VARIABLE', $tri_Button );
// $template->assign ( 'ADD_TRI_VALUE', str_replace ( "'", "",
// str_replace ( '"', '', $paramDefaultValue ) ) );
$paramValue = $_GET[trim( str_replace( "$", "", $paramName ) )];
$template->assign ( 'ADD_TRI_VALUE', str_replace("\'", "&apos;", $paramValue) );
$fieldDescription = ($paramDescription!="")?$paramDescription . "<br>":"";
$fieldDescription .= $paramDefaultValue != ""
? $paramDefaultValue . " | " . $paramType
: G::LoadTranslation ( "ID_REQUIRED_FIELD" ) . " | " . $paramType;
$template->assign ( 'ADD_TRI_DESCRIPTION', $fieldDescription );
$nrows ++;
}
}
}
$template->gotoBlock ( '_ROOT' );
$template->assign ( 'ALLFUNCTION', implode ( ",", $methodParametersOnlyNames ) );
$sPMfunction .= ");";
$content = $template->getOutputContent ();
print $content;
} catch ( Exception $oException ) {
die ( $oException->getMessage () );
die ( $oException->getMessage () );
}
unset ( $_SESSION ['PROCESS'] );
?>