2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4 * SugarCRM Community Edition is a customer relationship management program developed by
5 * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
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.
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
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
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.
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.
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 ********************************************************************************/
41 function displayAdminError($errorString){
42 $output = '<p class="error">' . $errorString .'</p>';
46 //BEGIN SUGARCRM flav=pro
47 if( is_admin($current_user) && file_exists('include/SugarSearchEngine/SugarSearchEngineFactory.php') )
49 require_once('include/SugarSearchEngine/SugarSearchEngineFactory.php');
50 $ftsType = SugarSearchEngineFactory::getFTSEngineNameFromConfig();
51 if(!empty($ftsType) && isset($GLOBALS['sugar_config']['full_text_engine'][$ftsType]['valid']) && !$GLOBALS['sugar_config']['full_text_engine'][$ftsType]['valid'])
53 displayAdminError(translate('LBL_FTS_CONNECTION_INVALID', 'Administration'));
57 //END SUGARCRM flav=pro
61 if(isset($_SESSION['rebuild_relationships'])){
62 displayAdminError(translate('MSG_REBUILD_RELATIONSHIPS', 'Administration'));
65 if(isset($_SESSION['rebuild_extensions'])){
66 displayAdminError(translate('MSG_REBUILD_EXTENSIONS', 'Administration'));
70 $license=new Administration();
71 $license=$license->retrieveSettings('license');
76 if(!empty($_SESSION['HomeOnly'])){
77 displayAdminError(translate('FATAL_LICENSE_ALTERED', 'Administration'));
80 if(isset($license) && !empty($license->settings['license_msg_all'])){
81 displayAdminError(base64_decode($license->settings['license_msg_all']));
83 if ( (strpos($_SERVER["SERVER_SOFTWARE"],'Microsoft-IIS') !== false) && (php_sapi_name() == 'cgi-fcgi') && (ini_get('fastcgi.logging') != '0') ) {
84 displayAdminError(translate('LBL_FASTCGI_LOGGING', 'Administration'));
86 if(is_admin($current_user)){
87 if(!empty($_SESSION['COULD_NOT_CONNECT'])){
88 displayAdminError(translate('LBL_COULD_NOT_CONNECT', 'Administration') . ' '. $timedate->to_display_date_time($_SESSION['COULD_NOT_CONNECT']));
90 if(!empty($_SESSION['EXCEEDING_OC_LICENSES']) && $_SESSION['EXCEEDING_OC_LICENSES'] == true){
91 displayAdminError(translate('LBL_EXCEEDING_OC_LICENSES', 'Administration'));
93 if(isset($license) && !empty($license->settings['license_msg_admin'])){
95 $GLOBALS['log']->fatal(base64_decode($license->settings['license_msg_admin']));
96 //displayAdminError(base64_decode($license->settings['license_msg_admin']));
100 //No SMTP server is set up Error.
102 $admin = new Administration();
103 $admin->retrieveSettings();
105 //If sendmail has been configured by setting the config variable ignore this warning
106 $sendMailEnabled = isset($sugar_config['allow_sendmail_outbound']) && $sugar_config['allow_sendmail_outbound'];
108 if(trim($admin->settings['mail_smtpserver']) == '' && !$sendMailEnabled) {
109 if($admin->settings['notify_on']) {
115 displayAdminError(translate('WARN_NO_SMTP_SERVER_AVAILABLE_ERROR','Administration'));
118 if(!empty($dbconfig['db_host_name']) || $sugar_config['sugar_version'] != $sugar_version ){
119 displayAdminError(translate('WARN_REPAIR_CONFIG', 'Administration'));
122 if( !isset($sugar_config['installer_locked']) || $sugar_config['installer_locked'] == false ){
123 displayAdminError(translate('WARN_INSTALLER_LOCKED', 'Administration'));
127 if(empty($GLOBALS['sugar_config']['admin_access_control'])){
128 if(isset($_SESSION['invalid_versions'])){
129 $invalid_versions = $_SESSION['invalid_versions'];
130 foreach($invalid_versions as $invalid){
131 displayAdminError(translate('WARN_UPGRADE', 'Administration'). $invalid['name'] .translate('WARN_UPGRADE2', 'Administration'));
135 if (isset($_SESSION['available_version'])){
136 if($_SESSION['available_version'] != $sugar_version)
138 displayAdminError(translate('WARN_UPGRADENOTE', 'Administration').$_SESSION['available_version_description']);
143 // if (!isset($_SESSION['dst_fixed']) || $_SESSION['dst_fixed'] != true) {
144 // $qDst = "SELECT count(*) AS dst FROM versions WHERE name = 'DST Fix'";
145 // $rDst = $db->query($qDst);
146 // $rowsDst = $db->fetchByAssoc($rDst);
147 // if($rowsDst['dst'] > 0) {
148 // $_SESSION['dst_fixed'] = true;
150 // $_SESSION['dst_fixed'] = false;
151 // displayAdminError($app_strings['LBL_DST_NEEDS_FIXIN']);
156 if(isset($_SESSION['administrator_error']))
158 // Only print DB errors once otherwise they will still look broken
159 // after they are fixed.
160 displayAdminError($_SESSION['administrator_error']);
163 unset($_SESSION['administrator_error']);