HEX
Server: Apache
System: Linux dev.epsylon.net 3.10.0-1160.144.1.el7.tuxcare.els2.x86_64 #1 SMP Sun Feb 15 11:22:42 UTC 2026 x86_64
User: nexper (1054)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/nexper/public_html/crm/install/suite_install/AdvancedOpenPortal.php
<?php
function install_aop() {

	    require_once('modules/EmailTemplates/EmailTemplate.php');
		global $sugar_config;
        $sugar_config['aop']['enable_portal'] = false;
        $sugar_config['aop']['joomla_url'] = '';
        $sugar_config['aop']['distribution_user_id'] = '';
        $sugar_config['aop']['support_from_address'] = '';
        $sugar_config['aop']['support_from_name'] = '';
		$sugar_config['aop'] = array('distribution_method'=>'roundRobin');
		$templates = getTemplates();
		foreach($templates as $configKey => $templateData){
			$template = new EmailTemplate();
			foreach($templateData as $field => $value){
				$template->$field = $value;
			}
			$template->save();
			$sugar_config['aop'][$configKey . "_id"] = $template->id;
		}
		ksort($sugar_config);
		write_array_to_file('sugar_config', $sugar_config, 'config.php');
		updateScheduler();

}

function updateScheduler(){
	require_once('modules/Schedulers/Scheduler.php');
	$scheduler = new Scheduler();
	if(count($scheduler->get_full_list('',"job = 'function::pollMonitoredInboxesCustomAOP'"))){
		return;
	}
	$scheduler->name = "AOP Check Inbound Mailboxes";
	$scheduler->date_time_start = "2005-01-01 11:15:00";
	$scheduler->date_time_end = "2020-12-31 00:00:00";
	$scheduler->job_interval = "*/1::*::*::*::*";
	$scheduler->job = "function::pollMonitoredInboxesCustomAOP";
	$scheduler->status = "Active";
	$scheduler->catch_up = 0;
	$scheduler->save();
        $oldSchedules = $scheduler->get_full_list('',"job = 'function::pollMonitoredInboxes'");

	foreach($oldSchedules as $oldSchedule){
		$oldSchedule->status = "Inactive";
		$oldSchedule->save();
	}
}

function getTemplates(){
	$templates = array();
	$templates['case_closure_email_template'] = array('name'	=> 'Case Closure',
					   'published' 	=> 'off',
					   'description'=> 'Template for informing a contact that their case has been closed.',
					   'subject'	=> '$acase_name [CASE:$acase_case_number] closed',
					   'body'	=> 'Hi $contact_first_name $contact_last_name,

					   Your case $acase_name (# $acase_case_number) has been closed on $acase_date_entered
					   Status:				$acase_status
					   Reference:			$acase_case_number
					   Resolution:			$acase_resolution',
					    'body_html'	=> '<p> Hi $contact_first_name $contact_last_name,</p>
					    <p>Your case $acase_name (# $acase_case_number) has been closed on $acase_date_entered</p>
					    <table border="0"><tbody>
					    <tr><td>Status</td><td>$acase_status</td></tr>
					    <tr><td>Reference</td><td>$acase_case_number</td></tr>
					    <tr><td>Resolution</td><td>$acase_resolution</td></tr>
					    </tbody></table>');

	$templates['joomla_account_creation_email_template'] = array('name'	=> 'Joomla Account Creation',
					   'published' 	=> 'off',
					   'description'=> "Template used when informing a contact that they've been given an account on the joomla portal.",
					   'subject'	=> 'Support Portal Account Created',
					   'body'	=> 'Hi $contact_name,
					   An account has been created for you at $portal_address.
					   You may login using this email address and the password $joomla_pass',
					    'body_html'	=> '<p>Hi $contact_name,</p>
					    <p>An account has been created for you at <a href="$portal_address">$portal_address</a>.</p>
					    <p>You may login using this email address and the password $joomla_pass</p>');

	$templates['case_creation_email_template'] = array('name'	=> 'Case Creation',
					   'published' 	=> 'off',
					   'description'=> "Template to send to a contact when a case is received from them.",
					   'subject'	=> '$acase_name [CASE:$acase_case_number]',
					   'body'	=> 'Hi $contact_first_name $contact_last_name,

					   We\'ve received your case $acase_name (# $acase_case_number) on $acase_date_entered
					   Status:		$acase_status
					   Reference:	$acase_case_number
					   Description:	$acase_description',
					    'body_html'	=> '<p> Hi $contact_first_name $contact_last_name,</p>
					    <p>We\'ve received your case $acase_name (# $acase_case_number) on $acase_date_entered</p>
					    <table border="0"><tbody>
					    <tr><td>Status</td><td>$acase_status</td></tr>
					    <tr><td>Reference</td><td>$acase_case_number</td></tr>
					    <tr><td>Description</td><td>$acase_description</td></tr>
					    </tbody></table>');

	$templates['contact_email_template'] = array('name'=> 'Contact Case Update',
					   'published' 	=> 'off',
					   'description'=> "Template to send to a contact when their case is updated.",
					   'subject'	=> '$acase_name update [CASE:$acase_case_number]',
					   'body'	=> 'Hi $user_first_name $user_last_name,

					   You\'ve had an update to your case $acase_name (# $acase_case_number) on $aop_case_updates_date_entered:
					       $contact_first_name $contact_last_name, said:
					               $aop_case_updates_description',
					    'body_html'	=> '<p>Hi $contact_first_name $contact_last_name,</p>
					    <p> </p>
					    <p>You\'ve had an update to your case $acase_name (# $acase_case_number) on $aop_case_updates_date_entered:</p>
					    <p><strong>$user_first_name $user_last_name said:</strong></p>
					    <p style="padding-left:30px;">$aop_case_updates_description</p>');

	$templates['user_email_template'] = array('name'=> 'User Case Update',
					   'published' 	=> 'off',
					   'description'=> "Email template to send to a Sugar user when their case is updated.",
					   'subject'	=> '$acase_name (# $acase_case_number) update',
					   'body'	=> 'Hi $user_first_name $user_last_name,

					   You\'ve had an update to your case $acase_name (# $acase_case_number) on $aop_case_updates_date_entered:
					       $contact_first_name $contact_last_name, said:
					               $aop_case_updates_description
                        You may review this Case at:
                            $sugarurl/index.php?module=Cases&action=DetailView&record=$acase_id;',
					   'body_html'	=> '<p>Hi $user_first_name $user_last_name,</p>
					   <p> </p>
					   <p>You\'ve had an update to your case $acase_name (# $acase_case_number) on $aop_case_updates_date_entered:</p>
					   <p><strong>$contact_first_name $contact_last_name, said:</strong></p>
					   <p style="padding-left:30px;">$aop_case_updates_description</p>
					   <p>You may review this Case at: $sugarurl/index.php?module=Cases&action=DetailView&record=$acase_id;</p>
					   ');

	return $templates;
}