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/custom/modules/EmailTemplates/templateFields.php
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');


function generateFieldDefsJS2() {
		global $current_user, $app_list_strings, $beanList, $beanFiles;

		
		 $badFields = array(
		'account_description',
		'contact_id',
		'lead_id',
		'opportunity_amount',
		'opportunity_id',
		'opportunity_name',
		'opportunity_role_id',
		'opportunity_role_fields',
		'opportunity_role',
		'campaign_id',
		// User objects
		'id',
		'user_preferences',
		'accept_status',
		'user_hash',
		'authenticate_id',
		'sugar_login',
		'reports_to_id',
		'reports_to_name',
		'is_admin',
		'receive_notifications',
		'modified_user_id',
		'modified_by_name',
		'created_by',
		'created_by_name',
		'accept_status_id',
		'accept_status_name',
	);

    $loopControl = array();
    $prefixes = array();

    foreach($app_list_strings['moduleList'] as $key => $name){
        if(isset($beanList[$key]) && isset($beanFiles[$beanList[$key]]) && !str_begin($key, 'AOW_')){

            require_once($beanFiles[$beanList[$key]]);
            $focus = new $beanList[$key];
            $loopControl[$key][$key] = $focus;
            $prefixes[$key] = strtolower($focus->object_name).'_';
            if($focus->object_name == 'Case') $prefixes[$key] = 'a'.strtolower($focus->object_name).'_';
        }
    }
	
    $contact = new Contact();
    $lead = new Lead();
    $prospect = new Prospect();

    $loopControl['Contacts' ] = array(
        'Contacts' => $contact,
        'Leads' => $lead,
        'Prospects' => $prospect,
    );

    $prefixes['Users'] = 'contact_user_';


		$collection = array();
		foreach($loopControl as $collectionKey => $beans) {
			$collection[$collectionKey] = array();
			foreach($beans as $beankey => $bean) {

				foreach($bean->field_defs as $key => $field_def) {
				    if(	/*($field_def['type'] == 'relate' && empty($field_def['custom_type'])) ||*/
						($field_def['type'] == 'assigned_user_name' || $field_def['type'] =='link') ||
						($field_def['type'] == 'bool') ||
						(in_array($field_def['name'], $badFields)) ) {
				        continue;
				    }
				    if(!isset($field_def['vname'])) {
				    	//echo $key;
				    }
				    // valid def found, process
				    $optionKey = strtolower("{$prefixes[$collectionKey]}{$key}");
                    if(isset($field_def['vname'])){
				        $optionLabel = preg_replace('/:$/', "", translate($field_def['vname'], $beankey));
                    } else {
                        $optionLabel = preg_replace('/:$/', "", $field_def['name']);
                    }
				    $dup=1;
				    foreach ($collection[$collectionKey] as $value){
				    	if($value['name']==$optionKey){
				    		$dup=0;
				    		break;
				    	}
				    }
				    if($dup)
				        $collection[$collectionKey][] = array("name" => $optionKey, "value" => $optionLabel);
				}
			}
		}

		$json = getJSONobj();
		$ret = "var field_defs = ";
		$ret .= $json->encode($collection, false);
		$ret .= ";";
		return $ret;
}

function genDropDownJS2(){
    global $app_list_strings, $beanList, $beanFiles;

    $lblContactAndOthers = implode('/', array(
        isset($app_list_strings['moduleListSingular']['Contacts']) ? $app_list_strings['moduleListSingular']['Contacts'] : 'Contact',
        isset($app_list_strings['moduleListSingular']['Leads']) ? $app_list_strings['moduleListSingular']['Leads'] : 'Lead',
        isset($app_list_strings['moduleListSingular']['Prospects']) ? $app_list_strings['moduleListSingular']['Prospects'] : 'Target',
    ));

    $dropdown= '';

    array_multisort($app_list_strings['moduleList'], SORT_ASC, $app_list_strings['moduleList']);

    foreach($app_list_strings['moduleList'] as $key => $name){
        if(isset($beanList[$key]) && isset($beanFiles[$beanList[$key]]) && !str_begin($key, 'AOW_') && !str_begin($key, 'zr2_')){

            if($key == 'Contacts'){
                $dropdown .= "<option value='".$key."'>
						".$lblContactAndOthers."
		  	       </option>";
            }
            else if(isset($app_list_strings['moduleListSingular'][$key])){
            $dropdown .= "<option value='".$key."'>
						".$app_list_strings['moduleListSingular'][$key]."
		  	       </option>";
            } else {
                $dropdown .= "<option value='".$key."'>
						".$app_list_strings['moduleList'][$key]."
		  	       </option>";
            }
        }
    }


    return $dropdown;
}