Files
crm.twinpol.com/modules/Campaigns/WizardEmailSetupSave.php
2025-05-12 15:44:39 +00:00

123 lines
5.1 KiB
PHP
Executable File

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
/*********************************************************************************
* 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".
********************************************************************************/
/*********************************************************************************
* Description: TODO: To be written.
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
* All Rights Reserved.
* Contributor(s): ______________________________________..
********************************************************************************/
require_once('include/formbase.php');
global $mod_strings;
//get new administration bean for setup
$focus = new Administration();
$camp_steps[] = 'wiz_step_';
$camp_steps[] = 'wiz_step1_';
$camp_steps[] = 'wiz_step2_';
//name is used as key in post, it is also used in creation of summary page for wizard,
//so let's clean up the posting so we can reuse the save functionality for inbound emails and
//from existing save.php's
foreach($camp_steps as $step){
clean_up_post($step);
}
/**************************** Save general Email Setup *****************************/
//we do not need to track location if location type is not set
if(isset($_POST['tracking_entities_location_type'])) {
if ($_POST['tracking_entities_location_type'] != '2') {
unset($_POST['tracking_entities_location']);
unset($_POST['tracking_entities_location_type']);
}
}
//if the check box is empty, then set it to 0
if(!isset($_POST['mail_smtpauth_req'])) { $_POST['mail_smtpauth_req'] = 0; }
//default ssl use to false
if(!isset($_POST['mail_smtpssl'])) { $_POST['mail_smtpssl'] = 0; }
//reuse existing saveconfig functinality
$focus->saveConfig();
/**************************** Add New Monitored Box *****************************/
//perform this if the option to create new mail box has been checked
if(isset($_REQUEST['wiz_new_mbox']) && ($_REQUEST['wiz_new_mbox']=='1')){
//Populate the Request variables that inboundemail expects
$_REQUEST['mark_read'] = 1;
$_REQUEST['only_since'] = 1;
$_REQUEST['mailbox_type'] = 'bounce';
$_REQUEST['from_name'] = $_REQUEST['name'];
$_REQUEST['group_id'] = 'new';
// $_REQUEST['from_addr'] = $_REQUEST['wiz_step1_notify_fromaddress'];
//reuse save functionality for inbound email
require_once('modules/InboundEmail/Save.php');
}
//set navigation details
header("Location: index.php?action=index&module=Campaigns");
/*
* This function will re-add the post variables that exist with the specified prefix.
* It will add them minus the specified prefix. This is needed in order to reuse the save functionality,
* which does not expect the prefix, and still use the generic create summary functionality in wizard, which
* does expect the prefix.
*/
function clean_up_post($prefix){
foreach ($_REQUEST as $key => $val) {
if((strstr($key, $prefix )) && (strpos($key, $prefix )== 0)){
$newkey =substr($key, strlen($prefix)) ;
$_REQUEST[$newkey] = $val;
}
}
foreach ($_POST as $key => $val) {
if((strstr($key, $prefix )) && (strpos($key, $prefix )== 0)){
$newkey =substr($key, strlen($prefix)) ;
$_POST[$newkey] = $val;
}
}
}
?>