. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ global $RBAC; global $_DBArray; if ($RBAC->userCanAccess('PM_SETUP') != 1) { G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); G::header('location: ../login/login'); die; } if ( isset ($_SESSION['EVN_UID']) ) { $evnUid = $_SESSION['EVN_UID']; unset ( $_SESSION['EVN_UID'] ); } else $evnUid = $_GET['EVN_UID']; require_once 'classes/model/Event.php'; require_once 'classes/model/Triggers.php'; $oEvent = new Event(); $oTrigger = new Triggers(); $aFields = $oEvent->load( $evnUid ); $parameters = unserialize ( $oEvent->getEvnActionParameters() ); //g::pr($parameters); die; $aTrigger = $oTrigger->load($aFields['TRI_UID']); $hash = md5 ( $oTrigger->getTriWebbot() ); //var_dump($hash,$parameters->hash);die; //if the hash is different, the script was edited , so we will show the trigger editor. if ( ( isset($parameters->hash) && $hash <> $parameters->hash ) || $aFields['EVN_ACTION'] == 'EXECUTE_TRIGGER' || $aFields['EVN_ACTION'] == 'EXECUTE_CONDITIONAL_TRIGGER' ) { $oTriggerParams = unserialize($aTrigger['TRI_PARAM']); // check again a hash, this time to check the trigger itself integrity if ($oTriggerParams['hash']!=$hash){ // if has changed edit manually G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'triggers/triggersNarrowEdit', '', $aTrigger, '../events/triggersSave'); G::RenderPage('publish', 'raw'); die; } else { // if not launch the wizard view. $triUid = $aFields['TRI_UID']; $_GET = $oTriggerParams['params']; $_GET['TRI_UID'] = $triUid; require_once(PATH_METHODS.'triggers/triggers_EditWizard.php'); die; } } $aFields['EVN_MESSAGE_SUBJECT'] = (isset($parameters->SUBJECT) ? $parameters->SUBJECT : ''); if(isset($parameters->TO)){ $paramTO[] = Array('id'=>'char', 'name'=>'char'); //echo '
';print_r($parameters->TO);
	foreach($parameters->TO as $item){
		$row = explode('|', $item);
		switch($row[0]){
			case 'usr':
				require_once('classes/model/Users.php');
				$user = new Users();
				
				if($row[1] == '-1'){
					$value = '(Current Task User)'; 
				} else {
					$rec = $user->load($row[1]);
					$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
				}
			break;
			
			case 'grp':
				G::LoadClass('groups');
				$group = new Groups();
				$rec = $group->load($row[1]);
				
				$value = strip_tags($rec->getGrpTitle());
			break;
			
			case 'ext':
				$value = htmlentities($row[1]); 
			break;
			
			case 'dyn':
				$value = htmlentities('@#'.$row[1]); 
			break;
			
			default:
					echo '->'.$row[0];
		}
		$paramTO[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
	}
} else {
	$paramTO[] = Array('id'=>'char', 'name'=>'char');
	$paramTO[] = Array('id'=>'usr|-1', 'name'=>'(Current Task User)');
}
$_DBArray['eventomsgto'] = $paramTO;

if(isset($parameters->CC)){
	$paramCC[] = Array('id'=>'char', 'name'=>'char');
	foreach($parameters->CC as $item){
		$row = explode('|', $item);
		switch($row[0]){
			case 'usr':
				require_once('classes/model/Users.php');
				$user = new Users();
				
				if($row[1] == '-1'){
					$value = '(Current Task User)'; 
				} else {
					$rec = $user->load($row[1]);
					$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
				}
			break;
			
			case 'grp':
				G::LoadClass('groups');
				$group = new Groups();
				$rec = $group->load($row[1]);
				
				$value = strip_tags($rec->getGrpTitle());
			break;
			
			case 'ext':
				$value = htmlentities($row[1]); 
			break;
			
			case 'dyn':
				$value = htmlentities('@#'.$row[1]); 
			break;
		}
		$paramCC[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
	}
	
	$_DBArray['eventomsgcc'] = $paramCC;
	
} else {
	$_DBArray['eventomsgcc'] = Array();
}

if(isset($parameters->BCC)){
	$paramBCC[] = Array('id'=>'char', 'name'=>'char');
	foreach($parameters->BCC as $item){
		$row = explode('|', $item);
		switch($row[0]){
			case 'usr':
				require_once('classes/model/Users.php');
				$user = new Users();
				
				if($row[1] == '-1'){
					$value = '(Current Task User)'; 
				} else {
					$rec = $user->load($row[1]);
					$value = $rec['USR_FIRSTNAME'].' '.$rec['USR_LASTNAME'];
				}
			break;
			
			case 'grp':
				G::LoadClass('groups');
				$group = new Groups();
				$rec = $group->load($row[1]);
				
				$value = strip_tags($rec->getGrpTitle());
			break;
			
			case 'ext':
				$value = htmlentities($row[1]); 
			break;
			
			case 'dyn':
				$value = htmlentities('@#'.$row[1]); 
			break;
		}
		$paramBCC[] = Array('id'=>replaceQuotes($item), 'name'=>$value);
	}
	
	$_DBArray['eventomsgbcc'] = $paramBCC;
	
} else {
	$_DBArray['eventomsgbcc'] = Array();
}
$aFields['EVN_MESSAGE_TO_TO']    = $paramTO;
$aFields['EVN_MESSAGE_TO_CC']    = (isset($parameters->CC) ? $paramCC : '');
$aFields['EVN_MESSAGE_TO_BCC']   = (isset($parameters->BCC) ? $paramBCC : '');
$aFields['EVN_MESSAGE_TEMPLATE'] = (isset($parameters->TEMPLATE) ? $parameters->TEMPLATE : '');


$aTemplates   = array();
$aTemplates[] = array('TEMPLATE1' => 'char',
      	              'TEMPLATE2' => 'char');
$sDirectory = PATH_DATA_MAILTEMPLATES . $aFields['PRO_UID'] . PATH_SEP;
G::verifyPath($sDirectory, true);
if (!file_exists($sDirectory . 'alert_message.html')) {
  @copy(PATH_TPL . 'mails' . PATH_SEP . 'alert_message.html', $sDirectory . 'alert_message.html');
}
$oDirectory   = dir($sDirectory);
while ($sObject = $oDirectory->read()) {
  if (($sObject !== '.') && ($sObject !== '..') && ($sObject !== 'alert_message.html')) {
    $aTemplates[] = array('TEMPLATE1' => $sObject,
      	                  'TEMPLATE2' => $sObject);
  }
}
$_DBArray['templates'] = $aTemplates;

$aTriggers[] = array('TRI_UID'   => 'char',
      	             'TRI_TITLE' => 'char');
G::LoadClass('processMap');
$oProcessMap = new ProcessMap();
$oDataset = TriggersPeer::doSelectRS($oProcessMap->getTriggersCriteria($aFields['PRO_UID']));
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$oDataset->next();
while ($aRow = $oDataset->getRow()) {
  $aTriggers[] = array('TRI_UID'   => $aRow['TRI_UID'],
      	               'TRI_TITLE' => $aRow['TRI_TITLE']);
  $oDataset->next();
}
$_DBArray['triggers'] = $aTriggers;

$_SESSION['_DBArray'] = $_DBArray;

$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave');
//$G_PUBLISH->AddContent('xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave');
G::RenderPage('publish', 'raw');

function replaceQuotes($aData){
	return str_replace('"', '"e;', $aData);
}