grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026localeNameFormatDefault = empty($sugar_config['locale_name_format_default']) ? 's f l' : $sugar_config['default_name_format']; } /** * Creates dropdown items that have localized example names while filtering out invalid formats * * @override * @param array un-prettied dropdown list * @return array array of dropdown options */ public function getUsableLocaleNameOptions($options) { global $mod_strings; $examples = array('s' => $mod_strings['LBL_LOCALE_NAME_FIRST'], 'f' => $mod_strings['LBL_LOCALE_NAME_LAST'], 'l' => $mod_strings['LBL_LOCALE_NAME_SALUTATION']); $newOpts = array(); foreach ($options as $key => $val) { if ($this->isAllowedNameFormat($key) && $this->isAllowedNameFormat($val)) { $newVal = ''; $pieces = str_split($val); foreach ($pieces as $piece) { if (isset($examples[$piece])) { $newVal .= $examples[$piece]; } else { $newVal .= $piece; } } $newOpts[$key] = $newVal; } } return $newOpts; } } class InstallLayout { public static function getSelect($name, $options, $default) { $out = ""; return $out; } private function getHeaderStyles() { $out = << EOQ; return $out; } private function getHeaderScripts($sugar_version, $js_custom_version) { $out = << EOQ; return $out; } /** * @param $title page title * @param $styles linked css files (string) * @param $scripts linked javascript files (string) * @return string Install page layout header */ private function getHeader($mod_strings, $styles, $scripts) { $out = << {$mod_strings['LBL_WIZARD_TITLE']} {$mod_strings['LBL_SYSOPTS_DB_TITLE']} $styles $scripts EOQ; return $out; } /** * @param $name form tag name * @param $id form tag id * @param $errs form errors * @param $title form header line * @param $items form items (string) * @param $controlls form controll buttons (string) * @return string */ private function getForm($mod_strings, $name, $id, $errs, $items, $controlls, $scripts, $next_step) { $out = <<
{$errs} $items

$controlls
EOQ; return $out; } /** * @param $header install page head * @param $form install page form step * @return string install page */ private function getOutput($header, $form, $sugar_md, $mod_strings) { $langHeader = get_language_header(); $out = << $header

{$mod_strings['LBL_STEP2']}

$form
EOQ; return $out; } private function getFormItems( $mod_strings, $app_list_strings, $sugarConfigDefaults, $drivers, $checked, $db, $errors, $supportedLanguages, $current_language, $customSession, $customLog, $customId, $customSessionHidden, $customLogHidden, $customIdHidden ) { // ------------------------------ // DB Type and DB configuration // ----------------------------------> // database selection $out_dbtypesel = "

{$mod_strings['LBL_DBCONF_TITLE']}

{$mod_strings['LBL_SYSOPTS_DB']}

"; foreach ($drivers as $type => $driver) { $oci = ($type == "oci8")?"":'none'; // hack for special oracle message $out_dbtypesel.=<<{$mod_strings[$driver->label]}
EOQ; } $out_dbtypesel.=<< EOQ; $out2 = $out_dbtypesel; $out2.=<< -->

{$mod_strings['LBL_DBCONF_TITLE_NAME']}

EOQ2; $config_params = $db->installConfig(); $form = ''; foreach ($config_params as $group => $gdata) { $form.= "
"; if ($mod_strings[$group . '_LABEL']) { $form .= "\n"; } foreach ($gdata as $name => $value) { if (!empty($value)) { if (!empty($value['required'])) { $form .= "*"; } else { } if (!empty($_SESSION[$name])) { $sessval = $_SESSION[$name]; } else { $sessval = ''; } if (!empty($value["type"])) { $type = $value["type"]; } else { $type = ''; } $form .= <<
"; } else { $form .= ""; } $form .= <<\n"; } } $form .= "
"; } $out2 .= $form; // ---------- user data set (dbConfig_a.php) //if we are installing in custom mode, include the following html if ($db->supports("create_user")) { // create / set db user dropdown $auto_select = ''; $provide_select = ''; $create_select = ''; $same_select = ''; if (isset($_SESSION['dbUSRData'])) { // if($_SESSION['dbUSRData']=='auto') {$auto_select ='selected';} if ($_SESSION['dbUSRData'] == 'provide') { $provide_select = 'selected'; } if (isset($_SESSION['install_type']) && !empty($_SESSION['install_type']) && strtolower($_SESSION['install_type']) == 'custom') { if ($_SESSION['dbUSRData'] == 'create') { $create_select = 'selected'; } } if ($_SESSION['dbUSRData'] == 'same') { $same_select = 'selected'; } } else { $same_select = 'selected'; } $dbUSRDD = "
 "; $setup_db_sugarsales_password = urldecode($_SESSION['setup_db_sugarsales_password']); $setup_db_sugarsales_user = urldecode($_SESSION['setup_db_sugarsales_user']); $setup_db_sugarsales_password_retype = urldecode($_SESSION['setup_db_sugarsales_password_retype']); $out2 .= <<
$dbUSRDD
EOQ2; } $out =$out2; // ------ siteConfig_a.php $out .=<<

{$mod_strings['LBL_SITECFG_TITLE']}

{$errors}

{$mod_strings['LBL_REQUIRED']}

{$mod_strings['LBL_SITECFG_TITLE2']}
i
{$mod_strings['LBL_SITECFG_PASSWORD_MSG']}

EOQ; //hide this in typical mode if (!empty($_SESSION['install_type']) && strtolower($_SESSION['install_type'])=='custom') { $out .=<< {$mod_strings['LBL_SITECFG_URL_MSG']} *
{$mod_strings['LBL_SITECFG_SYS_NAME_MSG']} *
EOQ; $db = getDbConnection(); if ($db->supports("collation")) { $collationOptions = $db->getCollationList(); } if (!empty($collationOptions)) { if (isset($_SESSION['setup_db_options']['collation'])) { $default = $_SESSION['setup_db_options']['collation']; } else { $default = $db->getDefaultCollation(); } $options = get_select_options_with_id(array_combine($collationOptions, $collationOptions), $default); $out .=<<
{$mod_strings['LBL_SITECFG_COLLATION_MSG']} *
EOQ; } } $help_url = get_help_button_url(); if (!isset($_SESSION['email1'])) { $_SESSION['email1'] = null; } if (!isset($_SESSION['setup_site_admin_user_name'])) { $_SESSION['setup_site_admin_user_name'] = null; } $out .=<<
EOQ; $out.=<< EOQ; $out .= << //demo data select $demoDD = ""; $out .=<<

{$mod_strings['LBL_MORE_OPTIONS_TITLE']}

» {$mod_strings['LBL_DBCONF_DEMO_DATA_TITLE']}

EOQ3; // ------------------ // Choose Scenarios // -------------------------> $scenarioSelection = "

{$mod_strings['LBL_WIZARD_SCENARIO_EMPTY']}

"; if (isset($_SESSION['installation_scenarios']) && !empty($_SESSION['installation_scenarios'])) { $scenarioSelection = ""; foreach ($_SESSION['installation_scenarios'] as $scenario) { $key = $scenario['key']; $description = $scenario['description']; $scenarioModuleList = implode($scenario['modulesScenarioDisplayName'], ','); $title = $scenario['title']; $scenarioSelection.= "$title. $description ($scenarioModuleList).
"; } } $out .= <<

» {$mod_strings['LBL_WIZARD_SCENARIO_TITLE']}

EOQ; //--End of scenarios //--------------- // SMTP Settings //--------------------> // smtp // TODO-t: test it for all types $MAIL_SSL_OPTIONS_GMAIL = get_select_options_with_id($app_list_strings['email_settings_for_ssl'], '2'); //$MAIL_SSL_OPTIONS_YAHOO = get_select_options_with_id($app_list_strings['email_settings_for_ssl'], '1'); $MAIL_SSL_OPTIONS_EXCHG = get_select_options_with_id($app_list_strings['email_settings_for_ssl'], 'none'); $MAIL_SSL_OPTIONS_OTHER = get_select_options_with_id($app_list_strings['email_settings_for_ssl'], 'none'); // set default notify_allow_default_outbound checkbox value $notify_allow_default_outbound_checked = empty($_SESSION['notify_allow_default_outbound']) ? '' : ' checked="checked" '; // set default smtp toggle buttons selected value if (empty($_SESSION['smtp_tab_selected'])) { $_SESSION['smtp_tab_selected'] = 'smtp_tab_other'; } if (!isset($_SESSION['smtp_from_name']) || !$_SESSION['smtp_from_name']) { $_SESSION['smtp_from_name'] = 'SuiteCRM'; } if (!isset($_SESSION['smtp_from_addr']) || !$_SESSION['smtp_from_addr']) { $_SESSION['smtp_from_addr'] = 'do_not_reply@example.com'; } $out .= <<

» {$mod_strings['LBL_MAIL_SMTP_SETTINGS']}


{$mod_strings['LBL_CHOOSE_EMAIL_PROVIDER']}

i
{$mod_strings['LBL_WIZARD_SMTP_DESC']}
EOQ; // db setup (dbConfig_a.php) $out2 =<<
EOQ2; // ---------- // Branding // -------------> // company logo $currentLogoLink = SugarThemeRegistry::current()->getImageURL('company_logo.png'); // show logo if we have $hiddenLogo = ''; if (!file_exists($currentLogoLink)) { $hiddenLogo = 'display:none;'; } // TODO--low: check the tooltip text at the logo image! $out .= <<

» {$mod_strings['LBL_WIZARD_SYSTEM_TITLE']}

EOQ; // System location defaults // TODO--low: 1000s sep, Decimal Symb, Name Format $defaultDateFormatSelect = self::getSelect('default_date_format', $sugarConfigDefaults['date_formats'], empty($_SESSION['default_date_format']) ? $sugarConfigDefaults['default_date_format'] : $_SESSION['default_date_format']); $defaultTimeFormatSelect = self::getSelect('default_time_format', $sugarConfigDefaults['time_formats'], empty($_SESSION['default_time_format']) ? 'h:ia' : $_SESSION['default_time_format'] /* $sugarConfigDefaults['timef'] */); $timezoneSelect = self::getSelect('timezone', array_merge(array(TimeDate::guessTimezone() => TimeDate::guessTimezone()), TimeDate::getTimezoneList()), TimeDate::guessTimezone()); //$defaultLanguageSelect = get_select_options_with_id($supportedLanguages, $current_language); $defaultLanguageSelect = self::getSelect('default_language', $supportedLanguages, $current_language); // example name formats (its are in the original language file so may this functionality was there in the original sugarcrm installer also) $nonDBLocalization = new NonDBLocalization(); $sugarConfigDefaults['name_formats'] = $nonDBLocalization->getUsableLocaleNameOptions($sugarConfigDefaults['name_formats']); $defaultLocalNameFormatSelect = self::getSelect('default_locale_name_format', $sugarConfigDefaults['name_formats'], empty($_SESSION['default_locale_name_format']) ? $sugarConfigDefaults['default_locale_name_format'] : $_SESSION['default_locale_name_format']); $out .= <<

» {$mod_strings['LBL_LOCALE_TITLE']}

EOQ; $out.= "
"; $out.= "

» {$mod_strings['LBL_SITECFG_SECURITY_TITLE']}

"; $out.=<<
EOQ; $out.= "
"; return $out; } private function getFormControlls($mod_strings, $formId) { $out =<<