PageRenderTime 132ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/Configurator/views/view.edit.php

https://github.com/phpbugs/sugarcrm_dev
PHP | 138 lines | 77 code | 12 blank | 49 comment | 10 complexity | 937667b13835d513e56f67bb79158cf6 MD5 | raw file
  1. <?php
  2. if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
  3. /*********************************************************************************
  4. * SugarCRM is a customer relationship management program developed by
  5. * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
  6. *
  7. * This program is free software; you can redistribute it and/or modify it under
  8. * the terms of the GNU Affero General Public License version 3 as published by the
  9. * Free Software Foundation with the addition of the following permission added
  10. * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
  11. * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
  12. * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
  13. *
  14. * This program is distributed in the hope that it will be useful, but WITHOUT
  15. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  16. * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
  17. * details.
  18. *
  19. * You should have received a copy of the GNU Affero General Public License along with
  20. * this program; if not, see http://www.gnu.org/licenses or write to the Free
  21. * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  22. * 02110-1301 USA.
  23. *
  24. * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
  25. * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
  26. *
  27. * The interactive user interfaces in modified source and object code versions
  28. * of this program must display Appropriate Legal Notices, as required under
  29. * Section 5 of the GNU Affero General Public License version 3.
  30. *
  31. * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
  32. * these Appropriate Legal Notices must retain the display of the "Powered by
  33. * SugarCRM" logo. If the display of the logo is not reasonably feasible for
  34. * technical reasons, the Appropriate Legal Notices must display the words
  35. * "Powered by SugarCRM".
  36. ********************************************************************************/
  37. /*********************************************************************************
  38. * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
  39. * All Rights Reserved.
  40. * Contributor(s): ______________________________________..
  41. ********************************************************************************/
  42. require_once('include/MVC/View/views/view.edit.php');
  43. require_once('modules/Configurator/Forms.php');
  44. require_once('modules/Administration/Forms.php');
  45. require_once('modules/Configurator/Configurator.php');
  46. require_once('include/SugarLogger/SugarLogger.php');
  47. class ConfiguratorViewEdit extends ViewEdit
  48. {
  49. /**
  50. * @see SugarView::preDisplay()
  51. */
  52. public function preDisplay()
  53. {
  54. if(!is_admin($GLOBALS['current_user']))
  55. sugar_die($GLOBALS['app_strings']['ERR_NOT_ADMIN']);
  56. }
  57. /**
  58. * @see SugarView::_getModuleTitleParams()
  59. */
  60. protected function _getModuleTitleParams()
  61. {
  62. global $mod_strings;
  63. return array(
  64. "<a href='index.php?module=Administration&action=index'>".translate('LBL_MODULE_NAME','Administration')."</a>",
  65. $mod_strings['LBL_SYSTEM_SETTINGS']
  66. );
  67. }
  68. /**
  69. * @see SugarView::display()
  70. */
  71. public function display()
  72. {
  73. global $current_user, $mod_strings, $app_strings, $app_list_strings, $sugar_config, $locale;
  74. $configurator = new Configurator();
  75. $sugarConfig = SugarConfig::getInstance();
  76. $focus = new Administration();
  77. $configurator->parseLoggerSettings();
  78. $focus->retrieveSettings();
  79. if(!empty($_POST['restore'])){
  80. $configurator->restoreConfig();
  81. }
  82. $this->ss->assign('MOD', $mod_strings);
  83. $this->ss->assign('APP', $app_strings);
  84. $this->ss->assign('APP_LIST', $app_list_strings);
  85. $this->ss->assign('config', $configurator->config);
  86. $this->ss->assign('error', $configurator->errors);
  87. $this->ss->assign('THEMES', SugarThemeRegistry::availableThemes());
  88. $this->ss->assign('LANGUAGES', get_languages());
  89. $this->ss->assign("JAVASCRIPT",get_set_focus_js(). get_configsettings_js());
  90. $this->ss->assign('company_logo', SugarThemeRegistry::current()->getImageURL('company_logo.png'));
  91. $this->ss->assign("settings", $focus->settings);
  92. $this->ss->assign("mail_sendtype_options", get_select_options_with_id($app_list_strings['notifymail_sendtype'], $focus->settings['mail_sendtype']));
  93. if(!empty($focus->settings['proxy_on'])){
  94. $this->ss->assign("PROXY_CONFIG_DISPLAY", 'inline');
  95. }else{
  96. $this->ss->assign("PROXY_CONFIG_DISPLAY", 'none');
  97. }
  98. if(!empty($focus->settings['proxy_auth'])){
  99. $this->ss->assign("PROXY_AUTH_DISPLAY", 'inline');
  100. }else{
  101. $this->ss->assign("PROXY_AUTH_DISPLAY", 'none');
  102. }
  103. if (!empty($configurator->config['logger']['level'])) {
  104. $this->ss->assign('log_levels', get_select_options_with_id( LoggerManager::getLoggerLevels(), $configurator->config['logger']['level']));
  105. } else {
  106. $this->ss->assign('log_levels', get_select_options_with_id( LoggerManager::getLoggerLevels(), ''));
  107. }
  108. if (!empty($configurator->config['logger']['file']['suffix'])) {
  109. $this->ss->assign('filename_suffix', get_select_options_with_id( SugarLogger::$filename_suffix,$configurator->config['logger']['file']['suffix']));
  110. } else {
  111. $this->ss->assign('filename_suffix', get_select_options_with_id( SugarLogger::$filename_suffix,''));
  112. }
  113. echo $this->getModuleTitle();
  114. $this->ss->display('modules/Configurator/tpls/EditView.tpl');
  115. $javascript = new javascript();
  116. $javascript->setFormName("ConfigureSettings");
  117. $javascript->addFieldGeneric("notify_fromaddress", "email", $mod_strings['LBL_NOTIFY_FROMADDRESS'], TRUE, "");
  118. $javascript->addFieldGeneric("notify_subject", "varchar", $mod_strings['LBL_NOTIFY_SUBJECT'], TRUE, "");
  119. $javascript->addFieldGeneric("proxy_host", "varchar", $mod_strings['LBL_PROXY_HOST'], TRUE, "");
  120. $javascript->addFieldGeneric("proxy_port", "int", $mod_strings['LBL_PROXY_PORT'], TRUE, "");
  121. $javascript->addFieldGeneric("proxy_password", "varchar", $mod_strings['LBL_PROXY_PASSWORD'], TRUE, "");
  122. $javascript->addFieldGeneric("proxy_username", "varchar", $mod_strings['LBL_PROXY_USERNAME'], TRUE, "");
  123. echo $javascript->getScript();
  124. }
  125. }