Add TPL files

This commit is contained in:
2025-05-12 15:46:37 +00:00
parent 4a4ed02e8a
commit b4d54ba40b
894 changed files with 120580 additions and 0 deletions

View File

@@ -0,0 +1,497 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<script type='text/javascript' src='{sugar_getjspath file='include/javascript/sugar_grp_overlib.js'}'></script>
<form name="ConfigureSettings" enctype='multipart/form-data' method="POST" action="index.php" onSubmit="return (add_checks(document.ConfigureSettings) && check_form('ConfigureSettings'));">
<input type='hidden' name='action' value='SaveConfig'/>
<input type='hidden' name='module' value='Configurator'/>
<span class='error'>{$error.main}</span>
<table width="100%" cellpadding="0" cellspacing="1" border="0" class="actionsContainer">
<tr>
<td>
<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button primary" type="submit" name="save" value=" {$APP.LBL_SAVE_BUTTON_LABEL} " >
&nbsp;<input title="{$MOD.LBL_SAVE_BUTTON_TITLE}" class="button" type="submit" name="restore" value=" {$MOD.LBL_RESTORE_BUTTON_LABEL} " >
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Administration&action=index'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " > </td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4>{$MOD.DEFAULT_SYSTEM_SETTINGS}</h4></th>
</tr>
<tr>
<td scope="row">{$MOD.LIST_ENTRIES_PER_LISTVIEW}: </td>
<td >
<input type='text' size='4' name='list_max_entries_per_page' value='{$config.list_max_entries_per_page}'>
</td>
<td scope="row">{$MOD.LIST_ENTRIES_PER_SUBPANEL}: </td>
<td >
<input type='text' size='4' name='list_max_entries_per_subpanel' value='{$config.list_max_entries_per_subpanel}'>
</td>
</tr>
<tr>
<td scope="row">{$MOD.LOCK_HOMEPAGE}: </td>
<td >
{if !empty($config.lock_homepage)}
{assign var='lock_homepage_checked' value='CHECKED'}
{else}
{assign var='lock_homepage_checked' value=''}
{/if}
<input type='hidden' name='lock_homepage' value='false'>
<input type='checkbox' name='lock_homepage' value='true' {$lock_homepage_checked}>
</td>
<td scope="row">{$MOD.LOCK_SUBPANELS}: </td>
<td >
{if !empty($config.lock_subpanels)}
{assign var='lock_subpanels_checked' value='CHECKED'}
{else}
{assign var='lock_subpanels_checked' value=''}
{/if}
<input type='hidden' name='lock_subpanels' value='false'>
<input type='checkbox' name='lock_subpanels' value='true' {$lock_subpanels_checked}>
</td>
</tr>
<tr>
<td scope="row" nowrap>{$MOD.MAX_DASHLETS}: </td>
<td>
<input type='text' size='4' name='max_dashlets_homepage' value='{$config.max_dashlets_homepage}'>
</td>
<td scope="row" nowrap>{$MOD.LBL_USE_REAL_NAMES}: &nbsp;{sugar_help text=$MOD.LBL_USE_REAL_NAMES_DESC}</td>
{if !empty($config.use_real_names)}
{assign var='use_real_names' value='CHECKED'}
{else}
{assign var='use_real_names' value=''}
{/if}
<td >
<input type='hidden' name='use_real_names' value='false'>
<input name='use_real_names' type="checkbox" value="true" {$use_real_names}>
</td>
</tr>
<tr>
<td scope="row">{$MOD.DISPLAY_RESPONSE_TIME}: </td>
{if !empty($config.calculate_response_time )}
{assign var='calculate_response_time_checked' value='CHECKED'}
{else}
{assign var='calculate_response_time_checked' value=''}
{/if}
<td ><input type='hidden' name='calculate_response_time' value='false'><input name='calculate_response_time' type="checkbox" value="true" {$calculate_response_time_checked}></td>
<td scope="row">{$MOD.LBL_MODULE_FAVICON} &nbsp;{sugar_help text=$MOD.LBL_MODULE_FAVICON_HELP} </td>
{if !empty($config.default_module_favicon)}
{assign var='default_module_favicon' value='CHECKED'}
{else}
{assign var='default_module_favicon' value=''}
{/if}
<td >
<input type='hidden' name='default_module_favicon' value='false'>
<input name='default_module_favicon' type="checkbox" value="true" {$default_module_favicon}>
</td>
</tr>
<tr>
<td scope="row" width='15%' nowrap>{$MOD.SYSTEM_NAME} </td>
<td width='35%'>
<input type='text' name='system_name' value='{$settings.system_name}'>
</td>
</tr>
<tr>
<td scope="row" width='12%' nowrap>
{$MOD.CURRENT_LOGO}&nbsp;{sugar_help text=$MOD.CURRENT_LOGO_HELP}
</td>
<td width='35%' >
<img id="company_logo_image" src='{$company_logo}' height="40" width="212">
</td>
</tr>
<tr>
<td scope="row" width='12%' nowrap>
{$MOD.NEW_LOGO}:&nbsp{sugar_help text=$MOD.NEW_LOGO_HELP}
</td>
<td width='35%'>
<div id="container_upload"></div>
<input type='text' id='company_logo' name='company_logo' style="display:none">
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4>{$MOD.LBL_PROXY_TITLE}</h4></th>
</tr>
<tr>
<td width="25%" scope="row" valign='middle'>{$MOD.LBL_PROXY_ON}&nbsp{sugar_help text=$MOD.LBL_PROXY_ON_DESC}</td>
{if !empty($settings.proxy_on)}
{assign var='proxy_on_checked' value='CHECKED'}
{else}
{assign var='proxy_on_checked' value=''}
{/if}
<td width="75%" align="left" valign='middle' colspan='3'><input type='hidden' name='proxy_on' value='0'><input name="proxy_on" value="1" class="checkbox" tabindex='1' type="checkbox" {$proxy_on_checked} onclick='toggleDisplay_2("proxy_config_display")'></td>
</tr><tr>
<td colspan="4">
<div id="proxy_config_display" style='display:{$PROXY_CONFIG_DISPLAY}'>
<table width="100%" cellpadding="0" cellspacing="1"><tr>
<td width="15%" scope="row">{$MOD.LBL_PROXY_HOST}<span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span></td>
<td width="35%" ><input type="text" name="proxy_host" size="25" value="{$settings.proxy_host}" tabindex='1' ></td>
<td width="15%" scope="row">{$MOD.LBL_PROXY_PORT}<span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span></td>
<td width="35%" ><input type="text" name="proxy_port" size="6" value="{$settings.proxy_port}" tabindex='1' ></td>
</tr><tr>
<td width="15%" scope="row" valign='middle'>{$MOD.LBL_PROXY_AUTH}</td>
{if !empty($settings.proxy_auth)}
{assign var='proxy_auth_checked' value='CHECKED'}
{else}
{assign var='proxy_auth_checked' value=''}
{/if}
<td width="35%" align="left" valign='middle' ><input type='hidden' name='proxy_auth' value='0'><input name="proxy_auth" value="1" class="checkbox" tabindex='1' type="checkbox" {$proxy_auth_checked} onclick='toggleDisplay_2("proxy_auth_display")'> </td>
</tr></table>
<div id="proxy_auth_display" style='display:{$PROXY_AUTH_DISPLAY}'>
<table width="100%" cellpadding="0" cellspacing="1"><tr>
<td width="15%" scope="row">{$MOD.LBL_PROXY_USERNAME}<span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span></td>
<td width="35%" ><input type="text" name="proxy_username" size="25" value="{$settings.proxy_username}" tabindex='1' ></td>
<td width="15%" scope="row">{$MOD.LBL_PROXY_PASSWORD}<span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span></td>
<td width="35%" ><input type="password" name="proxy_password" size="25" value="{$settings.proxy_password}" tabindex='1' ></td>
</tr></table>
</div>
</div>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tabForm">
<tr><td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th align="left" class="dataLabel" colspan="4"><h4 class="dataLabel">{$MOD.LBL_ASTERISK_TITLE}</h4></th>
</tr><tr>
{if !empty($settings.system_asterisk_on)}
{assign var='system_asterisk_on_checked' value='CHECKED'}
{else}
{assign var='system_asterisk_on_checked' value=''}
{/if}
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_ON}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input type='hidden' name='system_asterisk_on' value='0'><input name="system_asterisk_on" value="1" class="checkbox" tabindex='1' type="checkbox" {$system_asterisk_on_checked}> <em>{$MOD.LBL_ASTERISK_ON_DESC}</em></td>
</tr><tr>
{if !empty($settings.system_asterisk_pro)}
{assign var='system_asterisk_pro_checked' value='CHECKED'}
{else}
{assign var='system_asterisk_pro_checked' value=''}
{/if}
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_PRO}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input type='hidden' name='system_asterisk_pro' value='0'><input name="system_asterisk_pro" value="1" class="checkbox" tabindex='1' type="checkbox" {$system_asterisk_pro_checked}> <em>{$MOD.LBL_ASTERISK_PRO_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_SERVER}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_server" value="{$settings.system_asterisk_server}" class="text" tabindex='1' type="text"> <em>{$MOD.LBL_ASTERISK_SERVER_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_PORT}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_port" value="{$settings.system_asterisk_port}" class="text" size="4" tabindex='1' type="text" > <em>{$MOD.LBL_ASTERISK_PORT_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_USERNAME}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_username" value="{$settings.system_asterisk_username}" class="text" tabindex='1' type="text"> <em>{$MOD.LBL_ASTERISK_USERNAME_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_SECRET}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_secret" value="{$settings.system_asterisk_secret}" class="text" tabindex='1' type="text" > <em>{$MOD.LBL_ASTERISK_SECRET_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_INTERNAL_CONTEXT}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_internal_context" value="{$settings.system_asterisk_internal_context}" class="text" tabindex='1' type="text" > <em>{$MOD.LBL_ASTERISK_INTERNAL_CONTEXT_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_EXTERNAL_CONTEXT}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_external_context" value="{$settings.system_asterisk_external_context}" class="text" tabindex='1' type="text" > <em>{$MOD.LBL_ASTERISK_EXTERNAL_CONTEXT_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_AUTO_PICKUP}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_auto_pickup" value="{$settings.system_asterisk_auto_pickup}" class="text" size="4" tabindex='1' type="text"> <em>{$MOD.LBL_ASTERISK_AUTO_PICKUP_DESC}</em></td>
</tr><tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_PREFIX}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_prefix" value="{$settings.system_asterisk_prefix}" class="text" size="4" tabindex='1' type="text"> <em>{$MOD.LBL_ASTERISK_PREFIX_DESC}</em></td>
</tr>
<tr>
{if !empty($settings.system_asterisk_call_record)}
{assign var='system_asterisk_call_record_checked' value='CHECKED'}
{else}
{assign var='system_asterisk_call_record_checked' value=''}
{/if}
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_CALL_RECORD}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input type='hidden' name="system_asterisk_call_record" value='0'><input name="system_asterisk_call_record" value="1" class="checkbox" tabindex='1' type="checkbox" {$system_asterisk_call_record_checked} DISABLED> <em>{$MOD.LBL_ASTERISK_CALL_RECORD_DESC}</em></td>
</tr>
<tr>
{if !empty($settings.system_asterisk_phoneicon_on)}
{assign var='system_asterisk_phoneicon_on_checked' value='CHECKED'}
{else}
{assign var='system_asterisk_phoneicon_on_checked' value=''}
{/if}
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_PHONEICON_ON}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input type='hidden' name="system_asterisk_phoneicon_on" value='0'><input name="system_asterisk_phoneicon_on" value="1" class="checkbox" tabindex='1' type="checkbox" {$system_asterisk_phoneicon_on_checked}> <em>{$MOD.LBL_ASTERISK_PHONEICON_ON_DESC}</em></td>
</tr><!--<tr>
<td width="25%" class="dataLabel" valign='middle'>{$MOD.LBL_ASTERISK_POPUP_TIMER}</td>
<td width="75%" align="left" class="dataField" valign='middle'><input name="system_asterisk_popup_timer" value="{$settings.system_asterisk_popup_timer}" class="text" size="4" tabindex='1' type="text"> <em>{$MOD.LBL_ASTERISK_POPUP_TIMER_DESC}</em></td>
</tr>--><tr>
<td colspan="4">
<div id="portal_config">
<table width="100%" cellpadding="0" cellspacing="0"><tr>
<td width="15%" class="dataLabel"> </td>
<td width="35%" class="dataField"> </td>
</tr></table>
</div>
</td></tr></table>
</td></tr></table>
<br>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4>{$MOD.LBL_SKYPEOUT_TITLE}</h4></th>
</tr>
<tr>
<td width="25%" scope="row" valign='middle'>{$MOD.LBL_SKYPEOUT_ON}&nbsp{sugar_help text=$MOD.LBL_SKYPEOUT_ON_DESC WIDTH=400}</td>
{if !empty($settings.system_skypeout_on)}
{assign var='system_skypeout_on_checked' value='CHECKED'}
{else}
{assign var='system_skypeout_on_checked' value=''}
{/if}
<td width="75%" align="left" valign='middle'><input type='hidden' name='system_skypeout_on' value='0'><input name="system_skypeout_on" value="1" class="checkbox" tabindex='1' type="checkbox" {$system_skypeout_on_checked}></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4>{$MOD.LBL_MAILMERGE}</h4></th>
</tr>
<tr>
<td width="25%" scope="row" valign='middle'>{$MOD.LBL_ENABLE_MAILMERGE}&nbsp{sugar_help text=$MOD.LBL_MAILMERGE_DESC WIDTH=400}</td>
{if !empty($settings.system_mailmerge_on)}
{assign var='system_mailmerge_on_checked' value='CHECKED'}
{else}
{assign var='system_mailmerge_on_checked' value=''}
{/if}
<td width="75%" align="left" valign='middle'><input type='hidden' name='system_mailmerge_on' value='0'><input name="system_mailmerge_on" value="1" class="checkbox" type="checkbox" {$system_mailmerge_on_checked}></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4>{$MOD.ADVANCED}</h4></th>
</tr>
<tr>
<td scope="row">{$MOD.VERIFY_CLIENT_IP}: </td>
{if !empty($config.verify_client_ip)}
{assign var='verify_client_ip_checked' value='CHECKED'}
{else}
{assign var='verify_client_ip_checked' value=''}
{/if}
<td ><input type='hidden' name='verify_client_ip' value='false'><input name='verify_client_ip' type="checkbox" value="1" {$verify_client_ip_checked}></td>
<td scope="row">{$MOD.LOG_MEMORY_USAGE}: </td>
{if !empty($config.log_memory_usage)}
{assign var='log_memory_usage_checked' value='CHECKED'}
{else}
{assign var='log_memory_usage_checked' value=''}
{/if}
<td ><input type='hidden' name='log_memory_usage' value='false'><input name='log_memory_usage' type="checkbox" value='true' {$log_memory_usage_checked}></td>
</tr>
<tr>
<td scope="row">{$MOD.LOG_SLOW_QUERIES}: </td>
{if !empty($config.dump_slow_queries)}
{assign var='dump_slow_queries_checked' value='CHECKED'}
{else}
{assign var='dump_slow_queries_checked' value=''}
{/if}
<td ><input type='hidden' name='dump_slow_queries' value='false'><input name='dump_slow_queries' type="checkbox" value='true' {$dump_slow_queries_checked}></td>
<td scope="row">{$MOD.SLOW_QUERY_TIME_MSEC}: </td>
<td >
<input type='text' size='5' name='slow_query_time_msec' value='{$config.slow_query_time_msec}'>
</td>
</tr>
<tr>
<td scope="row">{$MOD.UPLOAD_MAX_SIZE}: </td>
<td >
<input type='text' size='8' name='upload_maxsize' value='{$config.upload_maxsize}'>
</td>
<td scope="row">{$MOD.STACK_TRACE_ERRORS}: </td>
{if !empty($config.stack_trace_errors)}
{assign var='stack_trace_errors_checked' value='CHECKED'}
{else}
{assign var='stack_trace_errors_checked' value=''}
{/if}
<td ><input type='hidden' name='stack_trace_errors' value='false'><input name='stack_trace_errors' type="checkbox" value='true' {$stack_trace_errors_checked}></td>
</tr>
<tr>
<td scope="row">{$MOD.DEVELOPER_MODE}: </td>
{if !empty($config.developerMode)}
{assign var='developerModeChecked' value='CHECKED'}
{else}
{assign var='developerModeChecked' value=''}
{/if}
<td ><input type='hidden' name='developerMode' value='false'><input name='developerMode' type="checkbox" value='true' {$developerModeChecked}></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_VCAL_PERIOD} {sugar_help text=$MOD.vCAL_HELP}</td>
<td >
<input type='text' size='4' name='vcal_time' value='{$config.vcal_time}'>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="6"><h4>{$MOD.LBL_LOGGER}</h4></th>
</tr>
<tr>
<td scope="row" valign='middle'>{$MOD.LBL_LOGGER_FILENAME}</td>
<td valign='middle' ><input type='text' name = 'logger_file_name' value="{$config.logger.file.name}"></td>
<td scope="row">{$MOD.LBL_LOGGER_FILE_EXTENSION}</td>
<td ><input name ="logger_file_ext" type="text" size="5" value="{$config.logger.file.ext}"></td>
<td scope="row">{$MOD.LBL_LOGGER_FILENAME_SUFFIX}</td>
<td ><select name = "logger_file_suffix" selected='{$config.logger.file.suffix}'>{$filename_suffix}</select></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_LOGGER_MAX_LOG_SIZE} </td>
<td > <input name="logger_file_maxSize" size="4" value="{$config.logger.file.maxSize}"></td>
<td scope="row">{$MOD.LBL_LOGGER_DEFAULT_DATE_FORMAT}</td>
<td ><input name ="logger_file_dateFormat" type="text" value="{$config.logger.file.dateFormat}"></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_LOGGER_LOG_LEVEL} </td>
<td > <select name="logger_level">{$log_levels}</select></td>
<td scope="row">{$MOD.LBL_LOGGER_MAX_LOGS} </td>
<td > <input name="logger_file_maxLogs" value="{$config.logger.file.maxLogs}"></td>
</tr>
<tr>
<td><a href="index.php?module=Configurator&action=LogView" target="_blank">{$MOD.LBL_LOGVIEW}</a></td>
</tr>
</table>
<div style="padding-top: 2px;">
<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" class="button primary" type="submit" name="save" value=" {$APP.LBL_SAVE_BUTTON_LABEL} " class="button primary"/>
&nbsp;<input title="{$MOD.LBL_SAVE_BUTTON_TITLE}" class="button" type="submit" name="restore" value=" {$MOD.LBL_RESTORE_BUTTON_LABEL} " />
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Administration&action=index'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " />
</div>
{$JAVASCRIPT}
<script>
addToValidate('ConfigureSettings', 'system_name', 'varchar', true,'System Name' );
addToValidateMoreThan('ConfigureSettings', 'list_max_entries_per_page', 'int', true, '', 1);
addToValidateMoreThan('ConfigureSettings', 'list_max_entries_per_subpanel', 'int', true, '', 1);
</script>
</form>
<div id='upload_panel' style="display:none">
<form id="upload_form" name="upload_form" method="POST" action='index.php' enctype="multipart/form-data">
<input type="file" id="my_file_company" name="file_1" size="20" onchange="uploadCheck(false)"/>
<img id="loading_img_company" alt="loading..." src="{sugar_getimagepath file='sqsWait.gif'}" style="display:none">
</form>
</div>
{literal}
<script type='text/javascript'>
function init_logo(){
document.getElementById('upload_panel').style.display="inline";
document.getElementById('upload_panel').style.position="absolute";
YAHOO.util.Dom.setX('upload_panel', YAHOO.util.Dom.getX('container_upload'));
YAHOO.util.Dom.setY('upload_panel', YAHOO.util.Dom.getY('container_upload')-5);
}
YAHOO.util.Event.onDOMReady(function(){
init_logo();
});
function toggleDisplay_2(div_string){
toggleDisplay(div_string);
init_logo();
}
function uploadCheck(quotes){
//AJAX call for checking the file size and comparing with php.ini settings.
var callback = {
upload:function(r) {
eval("var file_type = " + r.responseText);
var forQuotes = file_type['forQuotes'];
document.getElementById('loading_img_'+forQuotes).style.display="none";
bad_image = SUGAR.language.get('Configurator',(forQuotes == 'quotes')?'LBL_ALERT_TYPE_JPEG':'LBL_ALERT_TYPE_IMAGE');
switch(file_type['data']){
case 'other':
alert(bad_image);
document.getElementById('my_file_' + forQuotes).value='';
break;
case 'size':
alert(SUGAR.language.get('Configurator','LBL_ALERT_SIZE_RATIO'));
document.getElementById(forQuotes + "_logo").value=file_type['path'];
document.getElementById(forQuotes + "_logo_image").src=file_type['path'];
break;
case 'file_error':
alert(SUGAR.language.get('Configurator','ERR_ALERT_FILE_UPLOAD'));
document.getElementById('my_file_' + forQuotes).value='';
break;
//File good
case 'ok':
document.getElementById(forQuotes + "_logo").value=file_type['path'];
document.getElementById(forQuotes + "_logo_image").src=file_type['path'];
break;
//error in getimagesize because unsupported type
default:
alert(bad_image);
document.getElementById('my_file_' + forQuotes).value='';
}
},
failure:function(r){
alert(SUGAR.language.get('app_strings','LBL_AJAX_FAILURE'));
}
}
document.getElementById("company_logo").value='';
document.getElementById('loading_img_company').style.display="inline";
var file_name = document.getElementById('my_file_company').value;
postData = '&entryPoint=UploadFileCheck&forQuotes=false';
YAHOO.util.Connect.setForm(document.getElementById('upload_form'), true,true);
if(file_name){
if(postData.substring(0,1) == '&'){
postData=postData.substring(1);
}
YAHOO.util.Connect.asyncRequest('POST', 'index.php', callback, postData);
}
}
</script>
{/literal}

View File

@@ -0,0 +1,220 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<script type='text/javascript' src='include/javascript/overlibmws.js'></script>
<script type='text/javascript'>var fileFields = new Array();</script>
<BR>
<form name="ConfigureSugarpdfSettings" enctype='multipart/form-data' method="POST" action="index.php?action=SugarpdfSettings&module=Configurator" onSubmit="if(checkFileType(null,1))return (check_form('ConfigureSugarpdfSettings'));else return false;">
<span class='error'>{$error}</span>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="padding-bottom: 2px;">
<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button" type="submit" name="save" value=" {$APP.LBL_SAVE_BUTTON_LABEL} " >
&nbsp;<input title="{$MOD.LBL_RESTORE_BUTTON_LABEL}" class="button" type="submit" name="restore" value=" {$MOD.LBL_RESTORE_BUTTON_LABEL} " >
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Administration&action=index'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " >
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view" {if $pdf_enable_ezpdf=="0"}style="display:none"{/if}>
<tr>
<td scope="row" style="text-align: center;">{html_radios name="sugarpdf_pdf_class" options=$pdf_class selected=$selected_pdf_class separator=' ' onchange='processPDFClass()'}</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view" id="settingsForTCPDF">
<tr>
<th align="left" scope="row" colspan="4"><h4 >{$MOD.SUGARPDF_BASIC_SETTINGS}</h4></th>
</tr>
<tr>
<td scope="row">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
{counter start=0 assign='count'}
{foreach from=$SugarpdfSettings item=property key=name}
{if $property.class == "basic"}
{counter}
{include file="modules/Configurator/tpls/SugarpdfSettingsFields.tpl"}
{/if}
{/foreach}
{if $count is odd}
<td ></td>
<td ></td>
</tr>
{/if}
</table>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4 >{$MOD.SUGARPDF_LOGO_SETTINGS}</h4></th>
</tr>
<tr>
<td scope="row">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
{counter start=0 assign='count'}
{foreach from=$SugarpdfSettings item=property key=name}
{if $property.class == "logo"}
{counter}
{include file="modules/Configurator/tpls/SugarpdfSettingsFields.tpl"}
{/if}
{/foreach}
{if $count is odd}
<td ></td>
<td ></td>
</tr>
{/if}
</table>
</td>
</tr>
</table>
<!--
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view">
<tr>
<th align="left" scope="row" colspan="4"><h4 >{$MOD.SUGARPDF_ADVANCED_SETTINGS}</h4></th>
</tr>
<tr>
<td scope="row" scope="row">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
{counter start=0 assign='count'}
{foreach from=$SugarpdfSettings item=property key=name}
{if $property.class == "advanced"}
{counter}
{include file="modules/Configurator/tpls/SugarpdfSettingsFields.tpl"}
{/if}
{/foreach}
{if $count is odd}
<td ></td>
<td ></td>
</tr>
{/if}
</table>
</td>
</tr>
</table>
-->
</td>
</tr>
</table>
<div style="padding-top: 2px;">
<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" class="button" type="submit" name="save" value=" {$APP.LBL_SAVE_BUTTON_LABEL} " />
&nbsp;<input title="{$MOD.LBL_RESTORE_BUTTON_LABEL}" class="button" type="submit" name="restore" value=" {$MOD.LBL_RESTORE_BUTTON_LABEL} " >
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Administration&action=index'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " />
</div>
{$JAVASCRIPT}
</form>
{literal}
<script type='text/javascript'>
function checkFileType(id, submit) {
if (submit == 0) {
var fileName = document.getElementById(id).value;
if ({/literal}{$GD_WARNING}{literal}==1 && (fileName.lastIndexOf(".png") != -1||
fileName.lastIndexOf(".PNG") != -1)) {
fileFields[id]=id;
//alert({/literal}SUGAR.language.get('Configurator', 'PDF_GD_WARNING'{literal}));
}
}
else if (submit == 1) {
for (fileField in fileFields) {
var fileName = document.getElementById(fileField).value;
if ({/literal}{$GD_WARNING}{literal}==1 && (fileName.lastIndexOf(".png") != -1||
fileName.lastIndexOf(".PNG") != -1)) {
//add_error_style('ConfigureSugarpdfSettings', fileField, SUGAR.language.get('Configurator', 'PDF_GD_WARNING'));
alert({/literal}SUGAR.language.get('Configurator', 'PDF_GD_WARNING'{literal}));
return false;
}
}
}
return true;
}
function verifyPercent(id){
var s = document.getElementById(id).value;
if(isInteger(s)){
if(inRange(s, 0, 100)){
return true;
}else{
document.getElementById(id).value = "";
return false;
}
}else{
document.getElementById(id).value = "";
return false;
}
}
function verifyNumber(id){
var s = document.getElementById(id).value;
if(isNumeric(s)){
return true;
}else{
document.getElementById(id).value = "";
return false;
}
}
function processPDFClass(){
document.getElementById('settingsForTCPDF').style.display="";
// document.getElementById('fontManager').style.display="";
if(!check_form('ConfigureSugarpdfSettings')){
for (var i = 0; i <document.ConfigureSugarpdfSettings.sugarpdf_pdf_class.length; i++) {
if(document.ConfigureSugarpdfSettings.sugarpdf_pdf_class[i].value == "TCPDF"){
document.ConfigureSugarpdfSettings.sugarpdf_pdf_class[i].checked=true;
}
}
}else{
var chosen = "";
for (var i = 0; i <document.ConfigureSugarpdfSettings.sugarpdf_pdf_class.length; i++) {
if (document.ConfigureSugarpdfSettings.sugarpdf_pdf_class[i].checked) {
chosen = document.ConfigureSugarpdfSettings.sugarpdf_pdf_class[i].value;
}
}
if(chosen == "EZPDF"){
document.getElementById('settingsForTCPDF').style.display="none";
//document.getElementById('fontManager').style.display="none";
}
}
}
processPDFClass();
</script>
{/literal}

View File

@@ -0,0 +1,95 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
{if $property.type == "image"}
{if $count is not odd}</tr>{/if}
<tr>
<td scope="row" width="20%">{$property.label}:<span class="error" id="resized_{$name}_img" style="display:none"> {$MOD.LBL_IMG_RESIZED}</span>{sugar_help text=$property.info_label} </td>
<td colspan="3">
<img src='{$property.path}' id='{$name}_img' style='margin-bottom: 10px;'>
<input type='hidden' id='{$name}' name='{$name}' value='{$property.value}'>
<script type='text/javascript'>
{literal}
YAHOO.util.Event.onDOMReady(function() {
if(document.getElementById({/literal}"{$name}_img"{literal}).width>document.width/2){
document.getElementById({/literal}"{$name}_img"{literal}).width = document.width/2;
document.getElementById({/literal}"resized_{$name}_img"{literal}).style.display="";
}
});
{/literal}
</script>
</td>
</tr>
{counter}
{else}
{if $count is odd}
<tr>
{/if}
<td scope="row" width="20%">{$property.label}:{if isset($property.required) && $property.required == true} <span class="required">*</span>{/if}{sugar_help text=$property.info_label} </td>
<td width="30%">
{if isset($property.custom)}
{$property.custom}
{elseif $property.type == "text"}
<input type='text' size='40' name='{$name}' id='{$name}' value='{$property.value}'>
{elseif $property.type == "number"}
<input type='text' size='10' name='{$name}' id='{$name}' value='{$property.value}' onchange="verifyNumber('{$name}')">
{if isset($property.unit)}
{$property.unit}
{/if}
{elseif $property.type == "percent"}
<input type='text' size='20' name='{$name}' id='{$name}' value='{$property.value}' onchange="verifyPercent('{$name}')">
{elseif $property.type == "select"}
{html_options name=$name options=$property.selectList selected=$property.value}
{elseif $property.type == "multiselect"}
<select name='{$name}[]' multiple size=4>
{html_options options=$property.selectList selected=$property.value}
</select>
{elseif $property.type == "bool"}
<input type="hidden" name='{$name}' value='false'>
<input type='checkbox' name='{$name}' value='true' id='{$name}' {if $property.value == "true"}CHECKED{/if}>
{elseif $property.type == "password"}
<input type='password' size='20' name='{$name}' id='{$name}' value='{$property.value}'>
{elseif $property.type == "file"}
<input type="file" id='{$name}' name='{$name}' size="20" onBlur="checkFileType('{$name}',0);"/>
{/if}
</td>
{if $count is not odd}
</tr>
{/if}
{/if}

View File

@@ -0,0 +1,58 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<p>
{$MODULE_TITLE}
</p>
<form name="addFontResult" method="POST" action="index.php" id="addFontResult">
<input type="hidden" name="module" value="Configurator">
<input type="hidden" name="action" value="FontManager">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="padding-bottom: 2px;">
<input title="{$MOD.LBL_FONTMANAGER_TITLE}" class="button" type="submit" name="back" value=" {$MOD.LBL_FONTMANAGER_BUTTON} " >
</td>
</tr>
</table>
<br>
<div>{if isset($error)}<span class='error'><b>{$MOD.LBL_STATUS_FONT_ERROR}</b></span>{else}<b>{$MOD.LBL_STATUS_FONT_SUCCESS}</b>{/if}</div>
<span class='error'><pre>{$error}</pre></span>
<pre>{$info}</pre>
</form>

View File

@@ -0,0 +1,165 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<script type='text/javascript' src='include/javascript/overlibmws.js'></script>
<p>
{$MODULE_TITLE}
</p>
<form name="addFontView" enctype='multipart/form-data' method="POST" action="index.php?action=addFont&module=Configurator" onSubmit="return (check_form('addFontView'));">
<span class='error'>{$error}</span>
<br>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td style="padding-bottom: 2px;">
<input title="{$MOD.LBL_ADD_FONT_BUTTON}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button" type="submit" name="save" value=" {$MOD.LBL_ADD_FONT_BUTTON} " >
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Configurator&action=FontManager'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " >
</td>
</tr>
</table>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view">
<tr>
<td scope="row">{$MOD.LBL_PDF_METRIC_FILE}: <span class="required">*</span>{sugar_help text=$MOD.LBL_PDF_METRIC_FILE_INFO} </td>
<td>
<input type='file' size='30' name='pdf_metric_file' id='pdf_metric_file'>
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_PDF_FONT_FILE}: <span class="required">*</span>{sugar_help text=$MOD.LBL_PDF_FONT_FILE_INFO} </td>
<td>
<input type='file' size='30' name='pdf_font_file' id='pdf_font_file'>
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_FONT_LIST_EMBEDDED}: <span class="required">*</span>{sugar_help text=$MOD.LBL_FONT_LIST_EMBEDDED_INFO} </td>
<td>
<input type="hidden" name='pdf_embedded' value='false'>
<input type='checkbox' name='pdf_embedded' value='true' id='pdf_embedded' onchange="showCidInfo()" CHECKED>
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr id="cidInfo" style="display:none">
<td scope="row">{$MOD.LBL_FONT_LIST_CIDINFO}: <span class="required">*</span>{sugar_help text=$MOD.LBL_FONT_LIST_CIDINFO_INFO} </td>
<td>
<textarea name='pdf_cidinfo' rows="4" cols="80" id="pdf_cidinfo"></textarea>
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_PDF_ENCODING_TABLE}: <span class="required">*</span>{sugar_help text=$MOD.LBL_PDF_ENCODING_TABLE_INFO} </td>
<td>
{html_options name="pdf_encoding_table" options=$ENCODING_TABLE}
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_PDF_PATCH}:{sugar_help text=$MOD.LBL_PDF_PATCH_INFO} </td>
<td>
<textarea size='60' name='pdf_patch' id='pdf_patch' rows="4" cols="80"></textarea>
</td>
<td scope="row"></td>
<td></td>
</tr>
<tr>
<td scope="row">{$MOD.LBL_FONT_LIST_STYLE}: <span class="required">*</span>{sugar_help text=$MOD.LBL_FONT_LIST_STYLE_INFO} </td>
<td>
{html_options name="pdf_style_list" options=$STYLE_LIST}
</td>
<td scope="row"></td>
<td></td>
</tr>
</table>
<br>
<div style="padding-top: 2px;">
<input title="{$MOD.LBL_ADD_FONT_BUTTON}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button" type="submit" name="save" value=" {$MOD.LBL_ADD_FONT_BUTTON} " >
&nbsp;<input title="{$MOD.LBL_CANCEL_BUTTON_TITLE}" onclick="document.location.href='index.php?module=Configurator&action=FontManager'" class="button" type="button" name="cancel" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " />
</div>
</form>
{literal}
<script type='text/javascript'>
function checkFileExtension(metric){
if(metric){
var element = document.getElementById("pdf_metric_file");
}else{
var element = document.getElementById("pdf_font_file");
}
if(element.value != ""){
var error=true;
var filename = element.value;
var dot = filename.lastIndexOf(".");
if( dot != -1 ){
var extension = filename.substr(dot,filename.length);
if(!metric){
if(extension==".ttf" || extension==".otf" || extension==".pfb") error=false;
}else{
if(extension==".afm" || extension==".ufm") error=false;
}
}
if(error){
element.value="";
{/literal}
alert("{$MOD.JS_ALERT_PDF_WRONG_EXTENSION}");
{literal}
}
}
}
function showCidInfo(){
if(document.getElementById("pdf_embedded").checked == false){
document.getElementById("cidInfo").style.display = "";
addToValidate('addFontView', 'pdf_cidinfo', 'varchar', 1,'{/literal}{$MOD.LBL_FONT_LIST_CIDINFO}{literal}' );
}else{
document.getElementById("cidInfo").style.display = "none";
removeFromValidate('addFontView', 'pdf_cidinfo');
}
}
document.getElementById('pdf_metric_file').onchange=function(){checkFileExtension(true);};
document.getElementById('pdf_font_file').onchange=function(){checkFileExtension(false);};
{/literal}
addToValidate('addFontView', 'pdf_metric_file', 'varchar', 1,'{$MOD.LBL_PDF_METRIC_FILE}' );
addToValidate('addFontView', 'pdf_font_file', 'varchar', 1,'{$MOD.LBL_PDF_FONT_FILE}' );
showCidInfo();
</script>

View File

@@ -0,0 +1,725 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="SHORTCUT ICON" href="{$FAVICON_URL}">
<meta http-equiv="Content-Type" content="text/html; charset={$APP.LBL_CHARSET}">
<title>{$MOD.LBL_WIZARD_TITLE}</title>
{$SUGAR_JS}
{$SUGAR_CSS}
{$CSS}
{overlib_includes}
</head>
{literal}
<script type='text/javascript'>
function disableReturnSubmission(e) {
var key = window.event ? window.event.keyCode : e.which;
return (key != 13);
}
</script>
{/literal}
<body class="yui-skin-sam">
<div id="main">
<div id="content">
<table style="width:auto;height:600px;" align="center"><tr><td align="center">
<form name="AdminWizard" id="AdminWizard" enctype='multipart/form-data' method="POST" action="index.php" onkeypress="return disableReturnSubmission(event);">
<input type='hidden' name='action' value='SaveAdminWizard'/>
<input type='hidden' name='module' value='Configurator'/>
<span class='error'>{$error.main}</span>
<script type="text/javascript" src="{sugar_getjspath file='include/javascript/sugar_grp_yui_widgets.js'}"></script>
<script type="text/javascript" src="{sugar_getjspath file='modules/Emails/javascript/vars.js'}"></script>
<script type="text/javascript" src="{sugar_getjspath file='include/javascript/sugar_grp_emails.js'}"></script>
<script type="text/javascript" src="{sugar_getjspath file='modules/Users/User.js'}"></script>
<div class="dashletPanelMenu">
<div class="hd"><div class="tl"></div><div class="hd-center"></div><div class="tr"></div></div>
<div class="bd">
<div class="ml"></div>
<div class="bd-center">
<div id="welcome" class="screen">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="edit view">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th align="left" scope="row" colspan="4"><h2>{$MOD.LBL_WIZARD_WELCOME_TITLE}</h2></th>
</tr>
<tr>
<td scope="row">
<p>{$MOD.LBL_WIZARD_WELCOME}</p>
<div class="userWizWelcome"><img src='include/images/sugar_wizard_welcome.jpg' border='0' width='765px' height='325px'></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div class="nav-buttons">
<input title="{$MOD.LBL_WIZARD_SKIP_BUTTON}"
onclick="document.location.href='{$SKIP_URL}';" class="button"
type="button" name="cancel" value=" {$MOD.LBL_WIZARD_SKIP_BUTTON} " />&nbsp;
<input title="{$MOD.LBL_WIZARD_NEXT_BUTTON}"
class="button primary" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_NEXT_BUTTON} "
onclick="SugarWizard.changeScreen('system',false);" />
</div>
</div>
<div id="system" class="screen">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="edit view">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th align="left" scope="row" colspan="4"><h2>{$MOD.LBL_WIZARD_SYSTEM_TITLE}</h2></th>
</tr>
<tr>
<td align="left" scope="row" colspan="4"><i>{$MOD.LBL_WIZARD_SYSTEM_DESC}</i></td>
</tr>
<tr>
<td scope="row" width='15%' nowrap>{$MOD.SYSTEM_NAME_WIZARD}&nbsp;{sugar_help text=$MOD.SYSTEM_NAME_HELP}</td>
<td width='35%'>
<input type='text' name='system_name' value='{$settings.system_name}' />
</td>
</tr>
<tr>
<td scope="row" width='12%' nowrap>{$MOD.NEW_LOGO}&nbsp;{sugar_help text=$MOD.NEW_LOGO_HELP}
</td>
<td width='35%'>
<div id="container_upload"></div>
<input type='text' id='company_logo' name='company_logo' style="display:none" />
</td>
</tr>
<tr>
<td scope="row" width='12%' nowrap>{$MOD.CURRENT_LOGO}&nbsp;{sugar_help text=$MOD.CURRENT_LOGO_HELP}</td>
<td width='35%' >
<img id="company_logo_image" src='{$company_logo}' height="40" width="212" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div class="nav-buttons">
<input title="{$MOD.LBL_WIZARD_BACK_BUTTON}"
class="button" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_BACK_BUTTON} "
onclick="SugarWizard.changeScreen('welcome',true);" />&nbsp;
<input title="{$MOD.LBL_WIZARD_NEXT_BUTTON}"
class="button primary" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_NEXT_BUTTON} "
onclick="SugarWizard.changeScreen('locale',false);" />
</div>
</div>
<div id="locale" class="screen">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="edit view">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th align="left" scope="row" colspan="4"><h2>{sugar_translate module='Administration' label='LBL_LOCALE_TITLE'}</h2></th>
</tr>
<tr>
<td align="left" scope="row" colspan="4"><i>{$MOD.LBL_WIZARD_LOCALE_DESC}</i></td>
</tr>
<tr>
<td nowrap="nowrap" scope="row" width="200">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_DATE_FORMAT'}: </td>
<td>
{html_options name='default_date_format' selected=$config.default_date_format options=$config.date_formats}
</td>
<td nowrap="nowrap" scope="row" width="200">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_TIME_FORMAT'}: </td>
<td>
{html_options name='default_time_format' selected=$config.default_time_format options=$config.time_formats}
</td>
</tr>
<tr>
<td nowrap="nowrap" scope="row">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_LANGUAGE'}: </td>
<td>
{html_options name='default_language' selected=$config.default_language options=$LANGUAGES}
</td>
</tr>
<tr>
<td colspan="4"><hr /></td>
</tr>
<tr>
<td nowrap="nowrap" scope="row" width="200">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_CURRENCY_NAME'}: </td>
<td>
<input type='text' size='15' name='default_currency_name' value='{$config.default_currency_name}' >
</td>
<td nowrap="nowrap" scope="row" width="200">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_CURRENCY_SYMBOL'}: </td>
<td>
<input type='text' size='4' name='default_currency_symbol' value='{$config.default_currency_symbol}' >
</td>
</tr>
<tr>
<td nowrap="nowrap" scope="row" width="200">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_CURRENCY_ISO4217'}: </td>
<td>
<input type='text' size='4' name='default_currency_iso4217' value='{$config.default_currency_iso4217}'>
</td>
<td nowrap="nowrap" scope="row">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_NUMBER_GROUPING_SEP'}: </td>
<td>
<input type='text' size='3' maxlength='1' name='default_number_grouping_seperator' value='{$config.default_number_grouping_seperator}'>
</td>
</tr>
<tr>
<td nowrap="nowrap" scope="row">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_DECIMAL_SEP'}: </td>
<td>
<input type='text' size='3' maxlength='1' name='default_decimal_seperator' value='{$config.default_decimal_seperator}'>
</td>
<td nowrap="nowrap" scope="row"></td>
<td></td>
</tr>
<tr>
<td colspan="4"><hr /></td>
</tr>
<tr>
<td nowrap="nowrap" scope="row" valign="top">{sugar_translate module='Administration' label='LBL_LOCALE_DEFAULT_NAME_FORMAT'}: </td>
<td>
<input onkeyup="setPreview();" size='15' onkeydown="setPreview();" id="default_locale_name_format" type="text" name="default_locale_name_format" value="{$config.default_locale_name_format}">
<br>
{sugar_translate module='Administration' label='LBL_LOCALE_NAME_FORMAT_DESC'}
</td>
<td nowrap="nowrap" scope="row" valign="top">{sugar_translate module='Administration' label='LBL_LOCALE_EXAMPLE_NAME_FORMAT'}: </td>
<td valign="top"><input name="no_value" id="nameTarget" style="border: none;" value="" disabled></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div class="nav-buttons">
<input title="{$MOD.LBL_WIZARD_BACK_BUTTON}"
class="button" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_BACK_BUTTON} "
onclick="SugarWizard.changeScreen('system',true);" />&nbsp;
<input title="{$MOD.LBL_WIZARD_NEXT_BUTTON}"
class="button primary" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_NEXT_BUTTON} "
onclick="SugarWizard.changeScreen('smtp',false); changeEmailScreenDisplay('{$mail_smtptype}'); document.getElementById('AdminWizard').mail_smtptype.value = 'gmail';" />
</div>
</div>
<div id="smtp" class="screen">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="edit view">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th align="left" scope="row" colspan="4">
<h2>{$MOD.LBL_MAIL_SMTP_SETTINGS}</h2>
</th>
</tr>
<tr>
<td align="left" scope="row" colspan="4"><i>{$MOD.LBL_WIZARD_SMTP_DESC}</i></td>
</tr>
<tr>
<td align="left" scope="row" colspan="4">{$MOD.LBL_CHOOSE_EMAIL_PROVIDER}</td>
</tr>
<tr>
<td colspan="4">
<input type="hidden" name="mail_sendtype" value="SMTP" />
<div id="smtpButtonGroup" class="yui-buttongroup">
<span id="gmail" class="yui-button yui-radio-button{if $mail_smtptype == 'gmail'} yui-button-checked{/if}">
<span class="first-child">
<button type="button" name="mail_smtptype" value="gmail">
&nbsp;&nbsp;&nbsp;&nbsp;{$APP.LBL_SMTPTYPE_GMAIL}&nbsp;&nbsp;&nbsp;&nbsp;
</button>
</span>
</span>
<span id="yahoomail" class="yui-button yui-radio-button{if $mail_smtptype == 'yahoomail'} yui-button-checked{/if}">
<span class="first-child">
<button type="button" name="mail_smtptype" value="yahoomail">
&nbsp;&nbsp;&nbsp;&nbsp;{$APP.LBL_SMTPTYPE_YAHOO}&nbsp;&nbsp;&nbsp;&nbsp;
</button>
</span>
</span>
<span id="exchange" class="yui-button yui-radio-button{if $mail_smtptype == 'exchange'} yui-button-checked{/if}">
<span class="first-child">
<button type="button" name="mail_smtptype" value="exchange">
&nbsp;&nbsp;&nbsp;&nbsp;{$APP.LBL_SMTPTYPE_EXCHANGE}&nbsp;&nbsp;&nbsp;&nbsp;
</button>
</span>
</span>
<span id="other" class="yui-button yui-radio-button{if $mail_smtptype == 'other' || empty($mail_smtptype)} yui-button-checked{/if}">
<span class="first-child">
<button type="button" name="mail_smtptype" value="other">
&nbsp;&nbsp;&nbsp;&nbsp;{$APP.LBL_TABGROUP_OTHER}&nbsp;&nbsp;&nbsp;&nbsp;
</button>
</span>
</span>
</div>
</td>
</tr>
<tr>
<td colspan="4">
<div id="smtp_settings">
<table width="100%" cellpadding="0" cellspacing="0">
<tr id="mailsettings1">
<td width="20%" scope="row"><span id="mail_smtpserver_label">{$MOD.LBL_MAIL_SMTPSERVER}</span> <span class="required" id="required_mail_smtpserver"></span></td>
<td width="30%" ><slot><input type="text" id="mail_smtpserver" name="mail_smtpserver" tabindex="1" size="25" maxlength="64" value="{$mail_smtpserver}"></slot></td>
<td width="20%" scope="row"><span id="mail_smtpport_label">{$MOD.LBL_MAIL_SMTPPORT}</span></td>
<td width="30%" ><input type="text" id="mail_smtpport" name="mail_smtpport" tabindex="1" size="5" maxlength="5" value="{$mail_smtpport}"></td>
</tr>
<tr id="mailsettings2">
<td width="20%" scope="row"><span id='mail_smtpauth_req_label'>{$MOD.LBL_MAIL_SMTPAUTH_REQ}</span></td>
<td width="30%">
<input id='mail_smtpauth_req' name='mail_smtpauth_req' type="checkbox" class="checkbox" value="1" tabindex='1'
onclick="notify_setrequired();" {$mail_smtpauth_req}>
</td>
<td width="20%" scope="row" nowrap="nowrap"><span id="mail_smtpssl_label">{$APP.LBL_EMAIL_SMTP_SSL_OR_TLS}</span></td>
<td width="30%">
<select id="mail_smtpssl" name="mail_smtpssl" tabindex="501">{$MAIL_SSL_OPTIONS}</select>
</td>
</tr>
<tr id="smtp_auth1">
<td width="20%" scope="row" nowrap="nowrap"><span id="mail_smtpuser_label">{$MOD.LBL_MAIL_SMTPUSER}</span> <span class="required"></span></td>
<td width="30%" ><slot><input type="text" id="mail_smtpuser" name="mail_smtpuser" size="25" maxlength="64" value="{$mail_smtpuser}" tabindex='1' ></slot></td>
<td scope="row">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr id="smtp_auth2">
<td width="20%" scope="row" nowrap="nowrap"><span id="mail_smtppass_label">{$MOD.LBL_MAIL_SMTPPASS}</span> <span class="required"></span></td>
<td width="30%" ><slot><input type="password" id="mail_smtppass" name="mail_smtppass" size="25" maxlength="64" value="{$mail_smtppass}" tabindex='1'></slot></td>
<td scope="row">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td width="20%" scope="row">
<span id="notify_allow_default_outbound_label">
{$MOD.LBL_ALLOW_DEFAULT_SELECTION}&nbsp;
<img border="0" onmouseout="return nd();" onmouseover="return overlib('{$MOD.LBL_ALLOW_DEFAULT_SELECTION_HELP}', FGCLASS, 'olFgClass', CGCLASS, 'olCgClass', BGCLASS, 'olBgClass', TEXTFONTCLASS, 'olFontClass', CAPTIONFONTCLASS, 'olCapFontClass', CLOSEFONTCLASS, 'olCloseFontClass', WIDTH, -1, NOFOLLOW, 'ol_nofollow')" src="index.php?entryPoint=getImage&themeName={$THEME}&imageName=helpInline.gif">
</span>
</td>
<td width="30%">
<slot>
<input type='hidden' name='notify_allow_default_outbound' value='0'>
<input id='notify_allow_default_outbound' name='notify_allow_default_outbound' value="2" tabindex='1' class="checkbox" type="checkbox" {$notify_allow_default_outbound_on}>
</slot>
</td>
<td scope="row">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td width="50%" cellspan="2" scope="row" nowrap>
<input title="{$APP.LBL_CLEAR_BUTTON_TITLE}"
class="button" type="button" name="btn_clear" accesskey="{$APP.LBL_CLEAR_BUTTON_KEY}" value="{$APP.LBL_CLEAR_BUTTON_LABEL}"
onclick="clearEmailFields();" />&nbsp;
<input type="button" class="button" value="{$APP.LBL_EMAIL_TEST_OUTBOUND_SETTINGS}"
onclick="testOutboundSettingsDialog();">&nbsp;
</td>
<td scope="row">&nbsp;</td>
<td >&nbsp;</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</table>
<div class="nav-buttons">
<input title="{$MOD.LBL_WIZARD_BACK_BUTTON}"
class="button" type="button" name="next_tab1" value=" {$MOD.LBL_WIZARD_BACK_BUTTON} "
onclick="SugarWizard.changeScreen('locale',true);" />&nbsp;
<input title="{$MOD.LBL_WIZARD_CONTINUE_BUTTON}" class="button primary"
type="submit" name="continue" value="{$MOD.LBL_WIZARD_CONTINUE_BUTTON}" />&nbsp;
</div>
</div>
</div>
<div class="mr"></div>
</div>
<div class="ft"><div class="bl"></div><div class="ft-center"></div><div class="br"></div></div>
</div>
<script>
addToValidate('ConfigureSettings', 'system_name', 'varchar', true,'System Name' );
</script>
</form>
<div id='upload_panel' style="display:none">
<form id="upload_form" name="upload_form" method="POST" action='index.php' enctype="multipart/form-data">
<input type="file" id="my_file_company" name="file_1" size="20" onchange="uploadCheck(false)"/>
<img id="loading_img_company" alt="loading..." src="{sugar_getimagepath file='sqsWait.gif'}" style="display:none">
</form>
</div>
<div id="testOutboundDialog" class="yui-hidden">
<div id="testOutbound">
<form>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="edit view">
<tr>
<td scope="row">
{$APP.LBL_EMAIL_SETTINGS_FROM_TO_EMAIL_ADDR}
<span class="required">
</span>
</td>
<td>
<input type="text" id="outboundtest_from_address" name="outboundtest_from_address" size="35" maxlength="64" value="">
</td>
</tr>
<tr>
<td scope="row" colspan="2">
<input type="button" class="button" value=" {$APP.LBL_EMAIL_SEND} " onclick="javascript:sendTestEmail();">&nbsp;
<input type="button" class="button" value=" {$APP.LBL_CANCEL_BUTTON_LABEL} " onclick="javascript:EmailMan.testOutboundDialog.hide();">&nbsp;
</td>
</tr>
</table>
</form>
</div>
</div>
{literal}
<script type='text/javascript'>
<!--
var SugarWizard = new function()
{
this.currentScreen = 'welcome';
this.changeScreen = function(screen,skipCheck)
{
if ( !skipCheck ) {
clear_all_errors();
var form = document.getElementById('AdminWizard');
var isError = false;
switch(this.currentScreen) {
case 'smtp':
smtp_type = document.getElementById('AdminWizard').mail_smtptype.value;
smtp_server_required = smtp_type == 'exchange' || smtp_type == 'other' ? true : false;
if(document.getElementById('notify_allow_default_outbound').checked ||
document.getElementById('mail_smtpuser').value != '' ||
document.getElementById('mail_smtppass').value != '' ||
(smtp_server_required && document.getElementById('mail_smtpserver').value != '')
) {
if ( document.getElementById('mail_smtpserver').value == '' ) {
add_error_style('AdminWizard',form.mail_smtpserver.name,
'{/literal}{$APP.ERR_MISSING_REQUIRED_FIELDS} {$MOD.LBL_MAIL_SMTPSERVER}{literal}' );
isError = true;
}
if ( document.getElementById('mail_smtpauth_req').checked
&& document.getElementById('mail_smtpuser').value == '' ) {
add_error_style('AdminWizard',form.mail_smtpuser.name,
'{/literal}{$APP.ERR_MISSING_REQUIRED_FIELDS} {$MOD.LBL_MAIL_SMTPUSER}{literal}' );
isError = true;
}
if ( document.getElementById('mail_smtpauth_req').checked
&& document.getElementById('mail_smtppass').value == '' ) {
add_error_style('AdminWizard',form.mail_smtppass.name,
'{/literal}{$APP.ERR_MISSING_REQUIRED_FIELDS} {$MOD.LBL_MAIL_SMTPPASS}{literal}' );
isError = true;
}
}
break;
default:
document.getElementById('upload_panel').style.display="none";
}
if (isError == true)
return false;
}
document.getElementById(this.currentScreen).style.display = 'none';
document.getElementById(screen).style.display = 'block';
this.currentScreen = screen;
switch(screen) {
case 'system':
document.getElementById('upload_panel').style.display="inline";
document.getElementById('upload_panel').style.position="absolute";
YAHOO.util.Dom.setXY('upload_panel', YAHOO.util.Dom.getXY('container_upload'));
break;
case 'smtp':
if ( !SUGAR.smtpButtonGroup ) {
SUGAR.smtpButtonGroup = new YAHOO.widget.ButtonGroup("smtpButtonGroup");
SUGAR.smtpButtonGroup.subscribe('checkedButtonChange', function(e)
{
changeEmailScreenDisplay(e.newValue.get('value'));
document.getElementById('smtp_settings').style.display = '';
document.getElementById('AdminWizard').mail_smtptype.value = e.newValue.get('value');
});
YAHOO.widget.Button.addHiddenFieldsToForm(document.getElementById('AdminWizard'));
}
break;
default:
document.getElementById('upload_panel').style.display="none";
}
}
}
SugarWizard.changeScreen('{/literal}{$START_PAGE}{literal}');
function clearEmailFields() {
document.getElementById('AdminWizard').mail_smtpuser.value = '';
document.getElementById('AdminWizard').mail_smtppass.value = '';
document.getElementById('notify_allow_default_outbound').checked = false;
changeEmailScreenDisplay(document.getElementById('AdminWizard').mail_smtptype.value);
}
function changeEmailScreenDisplay(smtptype)
{
document.getElementById("mail_smtpserver").value = '';
document.getElementById("mail_smtpport").value = '25';
document.getElementById("mail_smtpauth_req").checked = true;
document.getElementById("mailsettings1").style.display = '';
document.getElementById("mailsettings2").style.display = '';
document.getElementById("mail_smtppass_label").innerHTML = '{/literal}{$MOD.LBL_MAIL_SMTPPASS}{literal}';
document.getElementById("mail_smtpport_label").innerHTML = '{/literal}{$MOD.LBL_MAIL_SMTPPORT}{literal}';
document.getElementById("mail_smtpserver_label").innerHTML = '{/literal}{$MOD.LBL_MAIL_SMTPSERVER}{literal}';
document.getElementById("mail_smtpuser_label").innerHTML = '{/literal}{$MOD.LBL_MAIL_SMTPUSER}{literal}';
switch (smtptype) {
case "yahoomail":
document.getElementById("mail_smtpserver").value = 'plus.smtp.mail.yahoo.com';
document.getElementById("mail_smtpport").value = '465';
document.getElementById("mail_smtpauth_req").checked = true;
var ssl = document.getElementById("mail_smtpssl");
for(var j=0;j<ssl.options.length;j++) {
if(ssl.options[j].text == 'SSL') {
ssl.options[j].selected = true;
break;
}
}
document.getElementById("mailsettings1").style.display = 'none';
document.getElementById("mailsettings2").style.display = 'none';
document.getElementById("mail_smtppass_label").innerHTML = '{/literal}{$MOD.LBL_YAHOOMAIL_SMTPPASS}{literal}';
document.getElementById("mail_smtpuser_label").innerHTML = '{/literal}{$MOD.LBL_YAHOOMAIL_SMTPUSER}{literal}';
break;
case "gmail":
document.getElementById("mail_smtpserver").value = 'smtp.gmail.com';
document.getElementById("mail_smtpport").value = '587';
document.getElementById("mail_smtpauth_req").checked = true;
var ssl = document.getElementById("mail_smtpssl");
for(var j=0;j<ssl.options.length;j++) {
if(ssl.options[j].text == 'TLS') {
ssl.options[j].selected = true;
break;
}
}
document.getElementById("mailsettings1").style.display = 'none';
document.getElementById("mailsettings2").style.display = 'none';
document.getElementById("mail_smtppass_label").innerHTML = '{/literal}{$MOD.LBL_GMAIL_SMTPPASS}{literal}';
document.getElementById("mail_smtpuser_label").innerHTML = '{/literal}{$MOD.LBL_GMAIL_SMTPUSER}{literal}';
break;
case "exchange":
document.getElementById("mail_smtpserver").value = '';
document.getElementById("mail_smtpport").value = '25';
document.getElementById("mail_smtpauth_req").checked = true;
document.getElementById("mailsettings1").style.display = '';
document.getElementById("mailsettings2").style.display = '';
document.getElementById("mail_smtppass_label").innerHTML = '{/literal}{$MOD.LBL_EXCHANGE_SMTPPASS}{literal}';
document.getElementById("mail_smtpport_label").innerHTML = '{/literal}{$MOD.LBL_EXCHANGE_SMTPPORT}{literal}';
document.getElementById("mail_smtpserver_label").innerHTML = '{/literal}{$MOD.LBL_EXCHANGE_SMTPSERVER}{literal}';
document.getElementById("mail_smtpuser_label").innerHTML = '{/literal}{$MOD.LBL_EXCHANGE_SMTPUSER}{literal}';
break;
}
notify_setrequired();
}
//changeEmailScreenDisplay("{/literal}{$mail_smtptype}{literal}");
function uploadCheck(quotes){
//AJAX call for checking the file size and comparing with php.ini settings.
var callback = {
upload:function(r) {
eval("var file_type = " + r.responseText);
var forQuotes = file_type['forQuotes'];
document.getElementById('loading_img_'+forQuotes).style.display="none";
switch(file_type['data']){
case 'other':
alert(SUGAR.language.get('Configurator','LBL_ALERT_JPG_IMAGE'));
document.getElementById('my_file_' + forQuotes).value='';
break;
case 'size':
alert(SUGAR.language.get('Configurator','LBL_ALERT_SIZE_RATIO'));
document.getElementById(forQuotes + "_logo").value=file_type['path'];
document.getElementById(forQuotes + "_logo_image").src=file_type['path'];
break;
case 'file_error':
alert(SUGAR.language.get('Configurator','ERR_ALERT_FILE_UPLOAD'));
document.getElementById('my_file_' + forQuotes).value='';
break;
//File good
case 'ok':
document.getElementById(forQuotes + "_logo").value=file_type['path'];
document.getElementById(forQuotes + "_logo_image").src=file_type['path'];
break;
//error in getimagesize because unsupported type
default:
alert(SUGAR.language.get('Configurator','LBL_ALERT_TYPE_IMAGE'));
document.getElementById('my_file_' + forQuotes).value='';
}
},
failure:function(r){
alert(SUGAR.language.get('app_strings','LBL_AJAX_FAILURE'));
}
}
document.getElementById("company_logo").value='';
document.getElementById('loading_img_company').style.display="inline";
var file_name = document.getElementById('my_file_company').value;
postData = '&entryPoint=UploadFileCheck&forQuotes=false';
YAHOO.util.Connect.setForm(document.getElementById('upload_form'), true,true);
if(file_name){
if(postData.substring(0,1) == '&'){
postData=postData.substring(1);
}
YAHOO.util.Connect.asyncRequest('POST', 'index.php', callback, postData);
}
}
var urlStandard = 'sugar_body_only=true&to_pdf=true&module=Emails&action=EmailUIAjax';
UA = YAHOO.env.ua;
EmailMan = {};
function testOutboundSettings() {
var errorMessage = '';
var isError = false;
var fromAddress = document.getElementById("outboundtest_from_address").value;
var errorMessage = '';
var isError = false;
var smtpServer = document.getElementById('mail_smtpserver').value;
var smtpPort = document.getElementById('mail_smtpport').value;
var smtpssl = document.getElementById('mail_smtpssl').value;
var mailsmtpauthreq = document.getElementById('mail_smtpauth_req');
if(trim(smtpServer) == '') {
isError = true;
errorMessage += "{/literal}{$APP.LBL_EMAIL_ACCOUNTS_SMTPSERVER}{literal}" + "<br/>";
}
if(trim(smtpPort) == '') {
isError = true;
errorMessage += "{/literal}{$APP.LBL_EMAIL_ACCOUNTS_SMTPPORT}{literal}" + "<br/>";
}
if(mailsmtpauthreq.checked) {
if(trim(document.getElementById('mail_smtpuser').value) == '') {
isError = true;
errorMessage += "{/literal}{$APP.LBL_EMAIL_ACCOUNTS_SMTPUSER}{literal}" + "<br/>";
}
if(trim(document.getElementById('mail_smtppass').value) == '') {
isError = true;
errorMessage += "{/literal}{$APP.LBL_EMAIL_ACCOUNTS_SMTPPASS}{literal}" + "<br/>";
}
}
if(isError) {
overlay("{/literal}{$APP.ERR_MISSING_REQUIRED_FIELDS}{literal}", errorMessage, 'alert');
return false;
}
testOutboundSettingsDialog();
}
function sendTestEmail()
{
var fromAddress = document.getElementById("outboundtest_from_address").value;
if (trim(fromAddress) == "")
{
overlay("{/literal}{$APP.ERR_MISSING_REQUIRED_FIELDS}{literal}", "{/literal}{$APP.LBL_EMAIL_SETTINGS_FROM_TO_EMAIL_ADDR}{literal}", 'alert');
return;
}
else if (!isValidEmail(fromAddress)) {
overlay("{/literal}{$APP.ERR_INVALID_REQUIRED_FIELDS}{literal}", "{/literal}{$APP.LBL_EMAIL_SETTINGS_FROM_TO_EMAIL_ADDR}{literal}", 'alert');
return;
}
//Hide the email address window and show a message notifying the user that the test email is being sent.
EmailMan.testOutboundDialog.hide();
overlay("{/literal}{$APP.LBL_EMAIL_PERFORMING_TASK}{literal}", "{/literal}{$APP.LBL_EMAIL_ONE_MOMENT}{literal}", 'alert');
var callbackOutboundTest = {
success : function(o) {
hideOverlay();
overlay("{/literal}{$APP.LBL_EMAIL_TEST_OUTBOUND_SETTINGS}{literal}", "{/literal}{$APP.LBL_EMAIL_TEST_NOTIFICATION_SENT}{literal}", 'alert');
}
};
var smtpServer = document.getElementById('mail_smtpserver').value;
var smtpPort = document.getElementById('mail_smtpport').value;
var smtpssl = document.getElementById('mail_smtpssl').value;
var mailsmtpauthreq = document.getElementById('mail_smtpauth_req');
var mail_sendtype = 'SMTP';
var postDataString = 'mail_sendtype=' + mail_sendtype + '&mail_smtpserver=' + smtpServer + "&mail_smtpport=" + smtpPort + "&mail_smtpssl=" + smtpssl + "&mail_smtpauth_req=" + mailsmtpauthreq.checked + "&mail_smtpuser=" + trim(document.getElementById('mail_smtpuser').value) + "&mail_smtppass=" + trim(document.getElementById('mail_smtppass').value) + "&outboundtest_from_address=" + fromAddress;
YAHOO.util.Connect.asyncRequest("POST", "index.php?action=EmailUIAjax&module=Emails&emailUIAction=testOutbound&to_pdf=true&sugar_body_only=true", callbackOutboundTest, postDataString);
}
function testOutboundSettingsDialog() {
// lazy load dialogue
if(!EmailMan.testOutboundDialog) {
EmailMan.testOutboundDialog = new YAHOO.widget.Dialog("testOutboundDialog", {
modal:true,
visible:true,
fixedcenter:true,
constraintoviewport: true,
width : 600,
shadow : false
});
EmailMan.testOutboundDialog.setHeader("{/literal}{$APP.LBL_EMAIL_TEST_OUTBOUND_SETTINGS}{literal}");
YAHOO.util.Dom.removeClass("testOutboundDialog", "yui-hidden");
} // end lazy load
EmailMan.testOutboundDialog.render();
EmailMan.testOutboundDialog.show();
} // fn
function overlay(reqtitle, body, type) {
var config = { };
config.type = type;
config.title = reqtitle;
config.msg = body;
YAHOO.SUGAR.MessageBox.show(config);
}
function hideOverlay() {
YAHOO.SUGAR.MessageBox.hide();
}
function notify_setrequired() {
document.getElementById("smtp_auth1").style.display = (document.getElementById('mail_smtpauth_req').checked) ? "" : "none";
document.getElementById("smtp_auth1").style.visibility = (document.getElementById('mail_smtpauth_req').checked) ? "visible" : "hidden";
document.getElementById("smtp_auth2").style.display = (document.getElementById('mail_smtpauth_req').checked) ? "" : "none";
document.getElementById("smtp_auth2").style.visibility = (document.getElementById('mail_smtpauth_req').checked) ? "visible" : "hidden";
return true;
}
notify_setrequired();
{/literal}
{$getNameJs}
-->
</script>

View File

@@ -0,0 +1,119 @@
{*
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
*}
<script type="text/javascript" src='{sugar_getjspath file ='include/javascript/sugar_grp_yui_widgets.js'}'></script>
<script type="text/javascript" src='{sugar_getjspath file ='include/javascript/yui/build/paginator/paginator-min.js'}'></script>
{literal}
<style type="text/css">
.yui-pg-container {
background: none;
}
</style>
{/literal}
<p>
{$MODULE_TITLE}
</p>
<form enctype="multipart/form-data" name="fontmanager" method="POST" action="index.php" id="fontmanager">
<input type="hidden" name="module" value="Configurator">
<input type="hidden" name="action" value="FontManager">
<input type="hidden" name="action_type" value="">
<input type="hidden" name="filename" value="">
<input type="hidden" name='return_action' value="{$RETURN_ACTION}">
<span class='error'>{$error}</span>
<br>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="left">
<input title="{$MOD.LBL_BACK}" accessKey="" class="button" type="button" name="gobackbutton" value=" {$MOD.LBL_BACK} " id="gobackbutton">&nbsp;
<input title="{$MOD.LBL_ADD_FONT}" accessKey="" class="button" type="button" name="addFontbutton" value=" {$MOD.LBL_ADD_FONT} " id="addFontbutton">
</td>
</tr>
</table>
<br>
<div id="YuiListMarkup"></div>
<br>
</form>
{literal}
<script type="text/javascript">
var removeFormatter = function (el, oRecord, oColumn, oData) {
if(oRecord._oData.type != "{/literal}{$MOD.LBL_FONT_TYPE_CORE}{literal}" && oRecord._oData.fontpath != "{/literal}{$K_PATH_FONTS}{literal}"){
el.innerHTML = '<a href="#" name="deleteButton" onclick="return false;"><img border="0" align="absmiddle" alt="delete" src="{/literal}{sugar_getimagepath file="delete_inline.gif"}{literal}"/>{/literal} {$MOD.LBL_REMOVE}{literal}<\/a>';
}
};
YAHOO.util.Event.onDOMReady(function() {
{/literal}
var fontColumnDefs = {$COLUMNDEFS};
var fontData = {$DATASOURCE};
{literal}
var fontDataSource = new YAHOO.util.DataSource(fontData);
fontDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
fontDataSource.responseSchema = {/literal}{$RESPONSESCHEMA}{literal};
var oConfigs = {
paginator: new YAHOO.widget.Paginator({
rowsPerPage:15
})
};
var fontDataTable = new YAHOO.widget.DataTable("YuiListMarkup", fontColumnDefs, fontDataSource, oConfigs);
fontDataTable.subscribe("linkClickEvent", function(oArgs){
if(oArgs.target.name == "deleteButton"){
if(confirm('{/literal}{$MOD.LBL_JS_CONFIRM_DELETE_FONT}{literal}')){
document.getElementById("fontmanager").action.value = "deleteFont";
document.getElementById("fontmanager").filename.value = this.getRecord(oArgs.target)._oData.filename;
document.getElementById("fontmanager").submit();
}
}
});
document.getElementById('gobackbutton').onclick=function(){
if(document.getElementById("fontmanager").return_action.value != ""){
document.location.href='index.php?module=Configurator&action=' + document.getElementById("fontmanager").return_action.value;
}else{
document.location.href='index.php?module=Configurator&action=SugarpdfSettings';
}
};
document.getElementById('addFontbutton').onclick=function(){
document.location.href='index.php?module=Configurator&action=addFontView';
};
});
{/literal}
</script>