<?php require_once(dirname(__FILE__) . "/../../common/libs/php8-compat.php");
require_once("common/classes/DbConnectTxClientMgt.class");
require_once("common/classes/sf_common.class");
/*******************************************************************************
Page Name            :  SuiteMenu.class
Author               :
Date                 :  13may05AM
Description          :
display_header() - This function display the header HTML in in the calling page.

Variable Name & Description :

--------------------------------------------------------------------------------
Modification History :

      Date      Description

1>    13may05    Original File

2>

To Do :
*******************************************************************************/
#[\AllowDynamicProperties]
class sf_broadcast
{
   var $email_prefix;
   var $scheduleDates;
   var $dbconn_read_tx_clientmgt;

	function __construct()
	{
		$this->dbconn_read_tx_clientmgt = DbConnectTxClientMgt::connect("read");
	}

   function insert_broadcast($sf,$start_date_arr,$campaign_name,$campaign_id,$bcastType,$followUpBcastId)
   {
      $sf_common = new sf_common();

	  $user_info = $sf->user_info();

	  $org = $user_info->organizationId;
	  $org =substr($org,0,15);
	  $sql_str = "select ctrl_flag,sf_eml_prefix from clients where  orgid =\"$org\" ";


	 $row = $this->dbconn_read_tx_clientmgt->query($sql_str);
	 $row->fetchinto($result);
	 $this->email_prefix = $result->sf_eml_prefix;
	 $row->free();
	 $campaign_name = substr($campaign_name,0,60);
	   for($i=0;$i< legacy_count($start_date_arr);$i++)
	   {
	        $j = $i+1;
       		$obj_type = $this->email_prefix.'expEmail_Broadcast__c';
    		//$finalUpdateArray['name__c'] = "$j Bcast for campaign -> ".$campaign_name;
            $finalUpdateArray['Name']      = " Broadcast for [$campaign_name]";
    		$finalUpdateArray[$this->email_prefix.'Campaign__c'] = $campaign_id;
    		if(($bcastType == 'Followup_Open' or $bcastType == 'Followup_UnOpen') and strlen($followUpBcastId) >= 15)
    		{
    			$finalUpdateArray[$this->email_prefix.'type__c'] = $bcastType;
    			$finalUpdateArray[$this->email_prefix.'FollowupBroadcast__c'] = $followUpBcastId;
    		}
    		//$finalUpdateArray['StartDate__c']         = $start_date_arr[$i];

			//$user_info = $sf->user_info();
	        $time_zone = $user_info->userTimeZone;

			//$sf_common->get_tz_date($start_date_arr[$i],$time_zone,"1");
			$gmt_date = $sf_common->toGMT1($start_date_arr[$i],$time_zone,"Y-m-d\TH:i:s\Z");
            $finalUpdateArray[$this->email_prefix.'StartDate__c']  = $gmt_date;


			$my_arr1[] = $gmt_date;

    		$sObjectArray[] = $sf->sf_create_sobjects1($finalUpdateArray,$fieldstonull,$obj_type);
	   }


        $ret_val = $sf->sfCreate($sObjectArray);
        return $ret_val;
        //print_r($ret_val);
		//print_r($sObjectArray);exit;

   }

    function create_broadcast($sf,$freq_type,$dt_start,$dt_end,$hr,$arg1,$arg2,$arg3,$arg4,$campaign_name,$campaign_id,
    	$bcastType,$followUpBcastId)
   {

     if(empty($campaign_id))
	 {
	   echo " 3 no campaign id set".$campaign_id;exit;
	 }
     //echo $freq_type."--".$dt_start."--".$dt_end."--".$hr."--".$arg1."--".$arg2."--".$arg3."--".$arg4;exit;
     $sf_common = new sf_common();
	 $sf_common->get_scheduled_dates($sf,$freq_type,$dt_start,$dt_end,$hr,$arg1,$arg2,$arg3,$arg4);
	 $dates_arr = $sf_common->scheduled_dates;
	 $this->scheduleDates = $dates_arr;
	 //exit;
	  $ret_val = $this->insert_broadcast($sf, $dates_arr,$campaign_name,$campaign_id,$bcastType,$followUpBcastId);
	  return $ret_val;
   }

} // End of class