Ejemplo n.º 1
0
 /**
  * Constructor
  *
  * @param \Nette\Http\Session     $session      Session
  * @param \Nette\Caching\IStorage $cacheStorage Cache storage
  * @param array                   $config       Custom configuration
  */
 public function __construct(\Nette\Http\Session $session, \Nette\Caching\IStorage $cacheStorage, $config)
 {
     $this->session = $session;
     $this->cacheStorage = $cacheStorage;
     $configurator = new Configurator();
     $this->parameters = $configurator->createConfig($config);
 }
Ejemplo n.º 2
0
 function setLastRobin($lastRobin)
 {
     require_once 'modules/Configurator/Configurator.php';
     $cfg = new Configurator();
     $cfg->config['aop']['last_robin'] = $lastRobin;
     $cfg->saveConfig();
 }
Ejemplo n.º 3
0
 /**
  * @see SugarView::process()
  */
 public function process()
 {
     global $current_user;
     if (!is_admin($current_user)) {
         sugar_die("Unauthorized access to administration.");
     }
     // Check if default_theme is valid
     if (isset($_REQUEST['default_theme']) && !in_array($_REQUEST['default_theme'], array_keys(SugarThemeRegistry::allThemes()))) {
         sugar_die("Default theme is invalid.");
     }
     if (isset($_REQUEST['disabled_themes'])) {
         $toDecode = html_entity_decode($_REQUEST['disabled_themes'], ENT_QUOTES);
         $disabledThemes = json_decode($toDecode, true);
         if (($key = array_search(SugarThemeRegistry::current()->__toString(), $disabledThemes)) !== FALSE) {
             unset($disabledThemes[$key]);
         }
         $_REQUEST['disabled_themes'] = implode(',', $disabledThemes);
         $configurator = new Configurator();
         $configurator->config['disabled_themes'] = $_REQUEST['disabled_themes'];
         $configurator->config['default_theme'] = $_REQUEST['default_theme'];
         $configurator->handleOverride();
         echo "true";
     } else {
         parent::process();
     }
 }
Ejemplo n.º 4
0
 /**
  * @see SugarView::process()
  */
 public function process()
 {
     global $current_user;
     if (!is_admin($current_user)) {
         sugar_die("Unauthorized access to administration.");
     }
     // Check if the theme is valid
     if (!isset($_REQUEST['theme']) || !in_array($_REQUEST['theme'], array_keys(SugarThemeRegistry::allThemes()))) {
         sugar_die("theme is invalid.");
     }
     if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'save') {
         $theme_config = SugarThemeRegistry::getThemeConfig($_REQUEST['theme']);
         $configurator = new Configurator();
         foreach ($theme_config as $name => $def) {
             if (isset($_REQUEST[$name])) {
                 if ($_REQUEST[$name] == 'true') {
                     $_REQUEST[$name] = true;
                 } else {
                     if ($_REQUEST[$name] == 'false') {
                         $_REQUEST[$name] = false;
                     }
                 }
                 $configurator->config['theme_settings'][$_REQUEST['theme']][$name] = $_REQUEST[$name];
             }
         }
         $configurator->handleOverride();
         SugarApplication::redirect('index.php?module=Administration&action=ThemeSettings');
         exit;
     }
     parent::process();
 }
Ejemplo n.º 5
0
 /**
  * @see SugarView::display()
  */
 public function display()
 {
     global $current_user, $mod_strings, $app_strings, $app_list_strings, $sugar_config, $locale;
     $configurator = new Configurator();
     $sugarConfig = SugarConfig::getInstance();
     $focus = new Administration();
     $configurator->parseLoggerSettings();
     $focus->retrieveSettings();
     if (!empty($_POST['restore'])) {
         $configurator->restoreConfig();
     }
     $this->ss->assign('MOD', $mod_strings);
     $this->ss->assign('APP', $app_strings);
     $this->ss->assign('APP_LIST', $app_list_strings);
     $this->ss->assign('config', $configurator->config);
     $this->ss->assign('error', $configurator->errors);
     $this->ss->assign("AUTO_REFRESH_INTERVAL_OPTIONS", get_select_options_with_id($app_list_strings['dashlet_auto_refresh_options_admin'], isset($configurator->config['dashlet_auto_refresh_min']) ? $configurator->config['dashlet_auto_refresh_min'] : 30));
     $this->ss->assign('LANGUAGES', get_languages());
     $this->ss->assign("JAVASCRIPT", get_set_focus_js() . get_configsettings_js());
     $this->ss->assign('company_logo', SugarThemeRegistry::current()->getImageURL('company_logo.png'));
     $this->ss->assign("settings", $focus->settings);
     $this->ss->assign("mail_sendtype_options", get_select_options_with_id($app_list_strings['notifymail_sendtype'], $focus->settings['mail_sendtype']));
     if (!empty($focus->settings['proxy_on'])) {
         $this->ss->assign("PROXY_CONFIG_DISPLAY", 'inline');
     } else {
         $this->ss->assign("PROXY_CONFIG_DISPLAY", 'none');
     }
     if (!empty($focus->settings['proxy_auth'])) {
         $this->ss->assign("PROXY_AUTH_DISPLAY", 'inline');
     } else {
         $this->ss->assign("PROXY_AUTH_DISPLAY", 'none');
     }
     if (!empty($configurator->config['logger']['level'])) {
         $this->ss->assign('log_levels', get_select_options_with_id(LoggerManager::getLoggerLevels(), $configurator->config['logger']['level']));
     } else {
         $this->ss->assign('log_levels', get_select_options_with_id(LoggerManager::getLoggerLevels(), ''));
     }
     if (!empty($configurator->config['lead_conv_activity_opt'])) {
         $this->ss->assign('lead_conv_activities', get_select_options_with_id(Lead::getActivitiesOptions(), $configurator->config['lead_conv_activity_opt']));
     } else {
         $this->ss->assign('lead_conv_activities', get_select_options_with_id(Lead::getActivitiesOptions(), ''));
     }
     if (!empty($configurator->config['logger']['file']['suffix'])) {
         $this->ss->assign('filename_suffix', get_select_options_with_id(SugarLogger::$filename_suffix, $configurator->config['logger']['file']['suffix']));
     } else {
         $this->ss->assign('filename_suffix', get_select_options_with_id(SugarLogger::$filename_suffix, ''));
     }
     echo $this->getModuleTitle(false);
     $this->ss->display('modules/Configurator/tpls/EditView.tpl');
     $javascript = new javascript();
     $javascript->setFormName("ConfigureSettings");
     $javascript->addFieldGeneric("notify_fromaddress", "email", $mod_strings['LBL_NOTIFY_FROMADDRESS'], TRUE, "");
     $javascript->addFieldGeneric("notify_subject", "varchar", $mod_strings['LBL_NOTIFY_SUBJECT'], TRUE, "");
     $javascript->addFieldGeneric("proxy_host", "varchar", $mod_strings['LBL_PROXY_HOST'], TRUE, "");
     $javascript->addFieldGeneric("proxy_port", "int", $mod_strings['LBL_PROXY_PORT'], TRUE, "");
     $javascript->addFieldGeneric("proxy_password", "varchar", $mod_strings['LBL_PROXY_PASSWORD'], TRUE, "");
     $javascript->addFieldGeneric("proxy_username", "varchar", $mod_strings['LBL_PROXY_USERNAME'], TRUE, "");
     echo $javascript->getScript();
 }
Ejemplo n.º 6
0
 public function testConfiguratorAddsRoutesFromLoaderToCollection()
 {
     $collection = $this->getMockCollection();
     $loader = $this->getMockLoader();
     $loader->expects($this->once())->method('loadRoutes')->with($collection);
     $instance = new Configurator($loader);
     $instance->configure($collection);
 }
Ejemplo n.º 7
0
function install_aod()
{
    require_once 'modules/Configurator/Configurator.php';
    $cfg = new Configurator();
    if (empty($cfg->config['aod'])) {
        $cfg->config['aod'] = array('enable_aod' => true);
    }
    $cfg->saveConfig();
    addAODSchedulers();
}
function setAppSettings($appId, $appSecret)
{
    if (ctype_alnum($appId) && strlen($appId) == 20 && ctype_alnum($appSecret) && strlen($appSecret) == 40) {
        $configurator = new Configurator();
        $configurator->config['authenticationClass'] = "LatchAuthenticate";
        $configurator->config['appId'] = $appId;
        $configurator->config['appSecret'] = $appSecret;
        $configurator->handleOverride();
    }
}
Ejemplo n.º 9
0
 public function testPopulateFromPostConvertsBoolValuesFromStrings()
 {
     $_POST = array('disable_export' => 'true', 'admin_export_only' => 'false', 'upload_dir' => 'yummy');
     $cfg = new Configurator();
     $cfg->populateFromPost();
     $this->assertEquals($cfg->config['disable_export'], true);
     $this->assertEquals($cfg->config['admin_export_only'], false);
     $this->assertEquals($cfg->config['upload_dir'], 'yummy');
     $_POST = array();
 }
Ejemplo n.º 10
0
 /** 
  * @see SugarView::display()
  */
 public function display()
 {
     global $mod_strings, $app_strings;
     $admin = Administration::getSettings();
     require 'modules/Trackers/config.php';
     ///////////////////////////////////////////////////////////////////////////////
     ////	HANDLE CHANGES
     if (isset($_POST['process'])) {
         if ($_POST['process'] == 'true') {
             foreach ($tracker_config as $entry) {
                 if (isset($entry['bean'])) {
                     //If checkbox is unchecked, we add the entry into the config table; otherwise delete it
                     if (empty($_POST[$entry['name']])) {
                         $admin->saveSetting('tracker', $entry['name'], 1);
                     } else {
                         $db = DBManagerFactory::getInstance();
                         $db->query("DELETE FROM config WHERE category = 'tracker' and name = '" . $entry['name'] . "'");
                     }
                 }
             }
             //foreach
             //save the tracker prune interval
             if (!empty($_POST['tracker_prune_interval'])) {
                 $admin->saveSetting('tracker', 'prune_interval', $_POST['tracker_prune_interval']);
             }
             //save log slow queries and slow query interval
             $configurator = new Configurator();
             $configurator->saveConfig();
         }
         //if
         header('Location: index.php?module=Administration&action=index');
     }
     echo getClassicModuleTitle("Administration", array("<a href='index.php?module=Administration&action=index'>" . translate('LBL_MODULE_NAME', 'Administration') . "</a>", translate('LBL_TRACKER_SETTINGS', 'Administration')), false);
     $trackerManager = TrackerManager::getInstance();
     $disabledMonitors = $trackerManager->getDisabledMonitors();
     $trackerEntries = array();
     foreach ($tracker_config as $entry) {
         if (isset($entry['bean'])) {
             $disabled = !empty($disabledMonitors[$entry['name']]);
             $trackerEntries[$entry['name']] = array('label' => $mod_strings['LBL_' . strtoupper($entry['name']) . '_DESC'], 'helpLabel' => $mod_strings['LBL_' . strtoupper($entry['name']) . '_HELP'], 'disabled' => $disabled);
         }
     }
     $configurator = new Configurator();
     $this->ss->assign('config', $configurator->config);
     $config_strings = return_module_language($GLOBALS['current_language'], 'Configurator');
     $mod_strings['LOG_SLOW_QUERIES'] = $config_strings['LOG_SLOW_QUERIES'];
     $mod_strings['SLOW_QUERY_TIME_MSEC'] = $config_strings['SLOW_QUERY_TIME_MSEC'];
     $this->ss->assign('mod', $mod_strings);
     $this->ss->assign('app', $app_strings);
     $this->ss->assign('trackerEntries', $trackerEntries);
     $this->ss->assign('tracker_prune_interval', !empty($admin->settings['tracker_prune_interval']) ? $admin->settings['tracker_prune_interval'] : 30);
     $this->ss->display('modules/Trackers/tpls/TrackerSettings.tpl');
 }
Ejemplo n.º 11
0
 /**
  * After the notification is displayed, clear the fts flags
  * @return null
  */
 protected function clearFTSFlags()
 {
     if (is_admin($GLOBALS['current_user'])) {
         $admin = Administration::getSettings();
         if (!empty($settings->settings['info_fts_index_done'])) {
             $admin->saveSetting('info', 'fts_index_done', 0);
         }
         // remove notification disabled notification
         $cfg = new Configurator();
         $cfg->config['fts_disable_notification'] = false;
         $cfg->handleOverride();
     }
 }
 public function store_api_key($api, $args)
 {
     if (!isset($args['api_key'])) {
         return array('success' => 0, 'error_code' => '200', 'error_message' => 'No API Key was sent.');
     }
     $api_key = $args['api_key'];
     $configuratorObj = new Configurator();
     //Load config
     $configuratorObj->loadConfig();
     //Update the API setting
     $configuratorObj->config['ClockworkSMSApiKey'] = $api_key;
     //Save the new setting
     $configuratorObj->saveConfig();
     return array('success' => 1);
 }
Ejemplo n.º 13
0
 /**
  * @see SugarView::process()
  */
 public function process()
 {
     global $current_user;
     if (is_admin($current_user) && isset($_REQUEST['disabled_themes'])) {
         $_REQUEST['disabled_themes'] = explode(',', $_REQUEST['disabled_themes']);
         if (($key = array_search(SugarThemeRegistry::current()->__toString(), $_REQUEST['disabled_themes'])) !== FALSE) {
             unset($_REQUEST['disabled_themes'][$key]);
         }
         $_REQUEST['disabled_themes'] = implode(',', $_REQUEST['disabled_themes']);
         $configurator = new Configurator();
         $configurator->config['disabled_themes'] = $_REQUEST['disabled_themes'];
         $configurator->handleOverride();
     }
     parent::process();
 }
Ejemplo n.º 14
0
 private function GetConnectionCredentials($databaseName = '')
 {
     $this->mDbCredentials['database_host'] = Configurator::GetInstance()->GetSettings('database_host_' . $this->mConnenctionType);
     $this->mDbCredentials['database_user'] = Configurator::GetInstance()->GetSettings('database_user_' . $this->mConnenctionType);
     $this->mDbCredentials['database_password'] = Configurator::GetInstance()->GetSettings('database_password_' . $this->mConnenctionType);
     $this->mDbCredentials['database_database'] = $databaseName == '' ? Configurator::GetInstance()->GetSettings('database_name_' . $this->mConnenctionType) : $databaseName;
 }
Ejemplo n.º 15
0
 public static function getInstance()
 {
     if (is_null(self::$c_instance)) {
         self::$c_instance = new Configurator();
     }
     return self::$c_instance;
 }
Ejemplo n.º 16
0
 /**
  * Initialize ThemeConfig
  */
 public function init()
 {
     // Initialize configurator
     $configurator = Configurator::getInstance();
     // Initialize settings
     new Settings($configurator->all());
     do_action('wp_theme_config_loaded');
 }
Ejemplo n.º 17
0
 private function __construct()
 {
     $config = Configurator::getInstance()->getConfig(__CLASS__);
     try {
         $this->pdo = new PDO(sprintf('%s:host=%s;dbname=%s', $config->getMandatoryKey('driver'), $config->getMandatoryKey('host'), $config->getMandatoryKey('name')), $config->getMandatoryKey('user'), $config->getMandatoryKey('password'), array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8; SET CHARACTER SET utf8;'));
     } catch (Exception $ex) {
         throw new Exception('Cannot connect to database.');
     }
 }
Ejemplo n.º 18
0
	protected function __construct()
	{
		$SH = SocketHandler::getInstance();
		$config = Configurator::getInstance();

		$bind = explode(":", $config->bind);		

		$listener = $SH->createListener($bind[0], $bind[1], array($this, 'addClient'));
	}
Ejemplo n.º 19
0
 /**
  * @see SugarView::process()
  */
 public function process()
 {
     global $current_user;
     if (!is_admin($current_user)) {
         sugar_die("Unauthorized access to administration.");
     }
     // Check if default_theme is valid
     if (isset($_REQUEST['default_theme']) && !in_array($_REQUEST['default_theme'], array_keys(SugarThemeRegistry::allThemes()))) {
         sugar_die("Default theme is invalid.");
     }
     if (isset($_REQUEST['disabled_themes'])) {
         $configurator = new Configurator();
         $configurator->config['disabled_themes'] = implode(',', $_REQUEST['disabled_themes']);
         $configurator->config['default_theme'] = $_REQUEST['default_theme'];
         $configurator->handleOverride();
     }
     parent::process();
 }
Ejemplo n.º 20
0
 private function Configure()
 {
     if (!$this->securityGuard->IsAuthenticated()) {
         return;
     }
     $user = ServiceLocator::GetServer()->GetUserSession();
     Log::Debug('Editing configuration file. Email=%s, UserId=%s', $user->Email, $user->UserId);
     $configFile = ROOT_DIR . 'config/config.php';
     $configDistFile = ROOT_DIR . 'config/config.dist.php';
     $configurator = new Configurator();
     if ($configurator->CanOverwriteFile($configFile)) {
         $configurator->Merge($configFile, $configDistFile);
         $this->page->ShowConfigUpdateSuccess();
     } else {
         $manualConfig = $configurator->GetMergedString($configFile, $configDistFile);
         $this->page->ShowManualConfig($manualConfig);
     }
 }
 /**
  * Disable FTS and write to config.
  *
  */
 protected function disableFTS()
 {
     $this->logger->fatal('Full Text Search has been disabled because the system is not able to connect to the search engine.');
     self::markSearchEngineStatus(true);
     // notification
     if (empty($GLOBALS['sugar_config']['fts_disable_notification'])) {
         $cfg = new Configurator();
         $cfg->config['fts_disable_notification'] = true;
         $cfg->handleOverride();
     }
 }
Ejemplo n.º 22
0
        protected function __construct()
        {
		$config = Configurator::getInstance();

		if (isset($GLOBALS['logfile']))
			$this->logfile = $GLOBALS['logfile'];
		else
		{
 			$this->logfile = $config->logfile;
		}

		$this->logfile = "log/".basename($this->logfile);
		
		$this->fd = fopen($this->logfile, 'a+');
        }
Ejemplo n.º 23
0
 public static function init()
 {
     if (class_exists('Configurator')) {
         $config = Configurator::getInstance()->getConfig(__CLASS__);
         if (!file_exists(self::$logPath = $config->getKey('logPath', self::$logPath))) {
             file_put_contents(self::$logPath, "Log file created.\n", FILE_APPEND | LOCK_EX);
         }
         self::$logPath = realpath(self::$logPath);
         self::$debugMode = $config->getKey('debugMode', self::$debugMode);
         self::$processName = $config->getKey('processName', self::$processName);
         self::$sendEmail = $config->getKey('sendEmail', self::$sendEmail);
         self::$mailTo = $config->getKey('mailTo', self::$mailTo);
         self::$timeFormat = $config->getKey('timeFormat', self::$timeFormat);
         self::$historyLength = $config->getKey('historyLength', self::$historyLength);
     }
     self::$logHistory = array();
 }
Ejemplo n.º 24
0
function signal_handler ($signo)
{
	switch ($signo)
	{
		case SIGINT:
			_log(L_INFO, "Received SIGINT. Stopping...");
			$SH = SocketHandler::getInstance();
			$SH->interrupt();
			break;
		case SIGTERM:
			_log(L_INFO, "Received SIGTERM. Stopping...");
			$SH = SocketHandler::getInstance();
			$SH->interrupt();
			break;
		case SIGHUP:
			_log(L_INFO, "Received SIGHUP. Rehashing.");
			$config = Configurator::getInstance();
			$config->rehash();
			break;
		default:
	}
}
Ejemplo n.º 25
0
	private function loadServers()
	{
		$c = Configurator::getInstance();

		if ((isset($c->config['server'])) && (is_array($c->config['server'])))
			foreach ($c->config['server'] AS $key => $entry)
			{
				$keyinfo = explode(":", $key);

				$type = 'Server_' . $keyinfo[0];
				$name = (isset($keyinfo[1])) ? $keyinfo[1] : "";

				if (file_exists($GLOBALS['serversdir'] . $type . '.php'))
				{
					require_once($GLOBALS['serversdir'] . $type . '.php');
					$server = new $type($name, $c->config['client'][$key]);
				}
				else
					_log(L_WARNING, 'Loader: could not find %s', $type);
			}

	}
Ejemplo n.º 26
0
 * @author Salesagility Ltd <*****@*****.**>
 */
if (!defined('sugarEntry') || !sugarEntry) {
    die('Not A Valid Entry Point');
}
global $current_user, $sugar_config;
global $mod_strings;
global $app_list_strings;
global $app_strings;
global $theme;
if (!is_admin($current_user)) {
    sugar_die("Unauthorized access to administration.");
}
require_once 'modules/Configurator/Configurator.php';
echo getClassicModuleTitle("Administration", array("<a href='index.php?module=Administration&action=index'>" . translate('LBL_MODULE_NAME', 'Administration') . "</a>", $mod_strings['LBL_AOD_ADMIN_MANAGE_AOD']), false);
$cfg = new Configurator();
$sugar_smarty = new Sugar_Smarty();
$errors = array();
if (!array_key_exists('aod', $cfg->config)) {
    $cfg->config['aod'] = array('enable_aod' => '');
}
if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'save') {
    $cfg->config['aod']['enable_aod'] = !empty($_REQUEST['enable_aod']);
    $cfg->saveConfig();
    header('Location: index.php?module=Administration&action=index');
    exit;
}
$sugar_smarty->assign('MOD', $mod_strings);
$sugar_smarty->assign('APP', $app_strings);
$sugar_smarty->assign('APP_LIST', $app_list_strings);
$sugar_smarty->assign('LANGUAGES', get_languages());
Ejemplo n.º 27
0
            $value = '';
            foreach ($key as $k) {
                $admin->saveSetting($category, $k, $value);
            }
        }
    }
}
// Mark the instance as having gone thru the admin wizard
$admin = new Administration();
$admin->saveSetting('system', 'adminwizard', 1);
/////////////////////////Old Logger settings///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
if (file_exists('modules/Configurator/Configurator.php')) {
    require_once 'include/utils/array_utils.php';
    require_once 'modules/Configurator/Configurator.php';
    $Configurator = new Configurator();
    $Configurator->parseLoggerSettings();
}
//unset the logger previously instantiated
if (file_exists('include/SugarLogger/LoggerManager.php')) {
    unset($GLOBALS['log']);
    $GLOBALS['log'] = LoggerManager::getLogger('SugarCRM');
}
//Upgrade connectors
/*
if($_SESSION['current_db_version'] < '610' && function_exists('upgrade_connectors'))
{
   upgrade_connectors($path);
}
*/
// Enable the InsideView connector by default
Ejemplo n.º 28
0
 /**
  * Generates custom field_defs for selected fields
  */
 function action_historyContactsEmailsSave()
 {
     if (!empty($_POST['modules']) && is_array($_POST['modules'])) {
         require_once 'include/SubPanel/SubPanelDefinitions.php';
         $modules = [];
         foreach ($_POST['modules'] as $moduleName => $enabled) {
             $bean = BeanFactory::getBean($moduleName);
             if (!$bean instanceof SugarBean) {
                 continue;
             }
             if (empty($bean->field_defs)) {
                 continue;
             }
             $subPanel = new SubPanelDefinitions($bean);
             if (empty($subPanel->layout_defs)) {
                 continue;
             }
             if (empty($subPanel->layout_defs['subpanel_setup'])) {
                 continue;
             }
             $isValid = false;
             foreach ($subPanel->layout_defs['subpanel_setup'] as $subPanelDef) {
                 if (empty($subPanelDef['module']) || $subPanelDef['module'] != 'History') {
                     continue;
                 }
                 if (empty($subPanelDef['collection_list'])) {
                     continue;
                 }
                 foreach ($subPanelDef['collection_list'] as $v) {
                     if (!empty($v['get_subpanel_data']) && $v['get_subpanel_data'] == 'function:get_emails_by_assign_or_link') {
                         $isValid = true;
                         break 2;
                     }
                 }
             }
             if (!$isValid) {
                 continue;
             }
             $bean->load_relationships();
             foreach ($bean->get_linked_fields() as $fieldName => $fieldDef) {
                 if ($bean->{$fieldName}->getRelatedModuleName() == 'Contacts') {
                     $modules[$moduleName] = !$enabled;
                     break;
                 }
             }
         }
         $configurator = new Configurator();
         $configurator->config['hide_history_contacts_emails'] = $modules;
         $configurator->handleOverride();
     }
     SugarApplication::redirect('index.php?module=Administration&action=index');
 }
Ejemplo n.º 29
0
 /**
  * Generates custom field_defs for selected fields
  */
 function action_historyContactsEmailsSave()
 {
     if (!empty($_POST['modules']) && is_array($_POST['modules'])) {
         $modules = array();
         foreach ($_POST['modules'] as $moduleName => $enabled) {
             $bean = BeanFactory::getBean($moduleName);
             if (!$bean instanceof SugarBean) {
                 continue;
             }
             if (empty($bean->field_defs)) {
                 continue;
             }
             // these are the specific modules we care about
             if (!in_array($moduleName, array('Opportunities', 'Accounts', 'Cases'))) {
                 continue;
             }
             $bean->load_relationships();
             foreach ($bean->get_linked_fields() as $fieldName => $fieldDef) {
                 if ($bean->{$fieldName}->getRelatedModuleName() == 'Contacts') {
                     $modules[$moduleName] = !$enabled;
                     break;
                 }
             }
         }
         $configurator = new Configurator();
         $configurator->config['hide_history_contacts_emails'] = $modules;
         $configurator->handleOverride();
     }
     SugarApplication::redirect('index.php?module=Administration&action=index');
 }
Ejemplo n.º 30
0
 public function SendEmail($email_address_array, $from_email, $from_name, $email_data, $subject, $template, &$send_message)
 {
     global $smarty;
     $send_result = 0;
     $send_message = '';
     if (is_array($email_address_array) && sizeof($email_address_array) > 0 && '' != trim($from_email) && '' != trim($from_name) && '' != trim($subject) && '' != $template) {
         try {
             $mail = new PHPMailer(true);
             $mail->IsSMTP(true);
             $mail->SMTPDebug = false;
             $mail->IsHTML(true);
             $mail->Host = Configurator::getInstance()->getSettings("phpmailer_smtp");
             $mail->SMTPAuth = true;
             $mail->Username = Configurator::getInstance()->getSettings("mailer_username");
             $mail->Password = Configurator::getInstance()->getSettings("mailer_password");
             //$mail->AddAttachment('images/phpmailer.gif');      // attachment
             //$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
             $mail->ClearAddresses();
             for ($x = 0; $x < sizeof($email_address_array); $x++) {
                 $mail->AddAddress(trim($email_address_array[$x]));
             }
             $smarty->assign('site_url', Configurator::getInstance()->getSettings("site_url"));
             $smarty->assign('email_data', $email_data);
             $mail->From = $from_email;
             $mail->FromName = $from_name;
             $mail->Subject = $subject;
             $mail->Body = $smarty->fetch($template);
             // echo $smarty->fetch( $template );
             //exit();
             if (!$mail->Send()) {
             } else {
                 $send_result = 1;
             }
         } catch (phpmailerException $e) {
             //$send_message = $e->errorMessage();
         } catch (Exception $e) {
             $send_message = $e->getMessage();
         }
     } else {
         $send_message = 'Data missing';
     }
     echo '  error message=>:  ' . $send_message;
     //exit;
     return $send_result;
 }