click_pledge_connect-8.x-1.0/src/Controller/CnPController.php

src/Controller/CnPController.php
<?php
namespace Drupal\click_pledge_connect\Controller;
use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use \SoapClient;
use SimpleXMLElement;

class CnPController extends ControllerBase
{
    const CFCNP_PLUGIN_UID = "14059359-D8E8-41C3-B628-E7E030537905";
    const CFCNP_PLUGIN_SKY = "5DC1B75A-7EFA-4C01-BDCD-E02C536313A3";
    public function ajaxCallback($variable1,$variable2)
    {
        $connect  = array('soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 0);
	$client   = new SoapClient('https://resources.connect.clickandpledge.com/wordpress/Auth2.wsdl', $connect);
        if(isset($variable1) && isset($variable2) && $variable1!="" && $variable2!="")
        {
            $accountid = $variable1;
            $accountguid = $variable2;
            $xmlr = new SimpleXMLElement("<GetAccountDetail></GetAccountDetail>");
            $xmlr->addChild('accountId', $accountid);
            $xmlr->addChild('accountGUID', $accountguid);
            $xmlr->addChild('username', self::CFCNP_PLUGIN_UID);
            $xmlr->addChild('password', self::CFCNP_PLUGIN_SKY);
            $response = $client->GetAccountDetail($xmlr); 

            $responsearr =  $response->GetAccountDetailResult->AccountNickName;
           
            return new JsonResponse(array("status"=>$responsearr));
	 
        }
        else
        {
            return new JsonResponse(array("status"=>false));
        }
    }
    public function getAllCampaigns($variable)
    {
        $str=explode("@", $variable);
	$connect  = array('soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 0);
	$client   = new SoapClient('https://resources.connect.clickandpledge.com/wordpress/Auth2.wsdl', $connect);
        $accountguid=$str[1];
        $accountid=$str[0];
        
        $xmlr  = new SimpleXMLElement("<GetActiveCampaignList2></GetActiveCampaignList2>");
	$xmlr->addChild('accountId', $accountid);
	$xmlr->addChild('AccountGUID', $accountguid);
	$xmlr->addChild('username', self::CFCNP_PLUGIN_UID);
	$xmlr->addChild('password', self::CFCNP_PLUGIN_SKY);
        
        $response = $client->GetActiveCampaignList2($xmlr); 
        $responsearr =  $response->GetActiveCampaignList2Result->connectCampaign;
       
        //print_r($responsearr);
        $camrtrnval = "<option value=''>Select Campaign Name</option>";
        /*if(count($responsearr) == 1)
            {
             $camrtrnval.= "<option value='".$responsearr->alias."'>".$responsearr->name."</option>";
            }else{
            for($inc = 0 ; $inc < count($responsearr);$inc++)
            {
             $camrtrnval .= "<option value='".$responsearr[$inc]->alias."'>".$responsearr[$inc]->name."</option>";
            }

	 }*/
        $orderRes=array();
        foreach($responsearr as $obj)
        {
            $orderRes[$obj->alias]=$obj->name;
        }
        natcasesort($orderRes);
        $camrtrnval = "<option value=''>Select Campaign Name</option>";
        if(count($orderRes)>0)
        {
            foreach($orderRes as $key=>$value)
            {
             $camrtrnval .= "<option value='".$key."'>".$value."</option>";
            }
	 }
         //echo $camrtrnval;
        return new JsonResponse(array("data"=>$camrtrnval));
    }
    public function getActivityForms($variable)
    {
        $str=explode("@", $variable);
        $connect  = array('soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 0);
	$client   = new SoapClient('https://resources.connect.clickandpledge.com/wordpress/Auth2.wsdl', $connect);
        $cnpaccountID      = $str[0];
        $cnpaccountguidID  =$str[1];
        $cnpcampaignId     = $str[2];
        $xmlr  = new SimpleXMLElement("<GetActiveFormList2></GetActiveFormList2>");
        $xmlr->addChild('accountId', $cnpaccountID);
        $xmlr->addChild('AccountGUID', $cnpaccountguidID);
        $xmlr->addChild('username', self::CFCNP_PLUGIN_UID);
        $xmlr->addChild('password', self::CFCNP_PLUGIN_SKY);
        $xmlr->addChild('campaignAlias', $cnpcampaignId);

        $frmresponse    =  $client->GetActiveFormList2($xmlr); 	
        $frmresponsearr =  $frmresponse->GetActiveFormList2Result->form;	
        /*$rtrnval = "<option value=''>Select Form Name</option>";
        if(count($frmresponsearr) == 1)
        {
            $rtrnval.= "<option value='".$frmresponsearr->formGUID."'>".$frmresponsearr->formName."</option>";
        }else{
        for($finc = 0 ; $finc < count($frmresponsearr);$finc++)
        {
            $rtrnval.= "<option value='".$frmresponsearr[$finc]->formGUID."'>".$frmresponsearr[$finc]->formName."</option>";
        }

	}*/
        $orderRes=array();
        foreach($frmresponsearr as $obj)
        {
            $orderRes[$obj->formGUID]=$obj->formName;
        }
        natcasesort($orderRes);
        $rtrnval = "<option value=''>Select Form Name</option>";
        if(count($orderRes)>0)
        {
            foreach($orderRes as $key=>$value)
            {
                $rtrnval .= "<option value='".$key."'>".$value."</option>";
            }
	 }
        return new JsonResponse(array("data"=>$rtrnval));
        //return new JsonResponse(array("Welcome"));
    }
    public function saveFormData(){
        $data = $_POST;
        $module_handler = \Drupal::service('module_handler');
        $module_path = $module_handler->getModule('click_pledge_connect')->getPath();
        
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        
        if(isset($_FILES))
        {
            $filename=$_FILES['file']['name'];
            $tname=$_FILES['file']['tmp_name'];
            move_uploaded_file($tname, $module_path."/banners/$filename");
        }
        else
        {
            if($data['cnpc_action']=="edit")
            {
                if($data['file'])
                {
                    $filename = $data['file'];
                }
                else
                {
                    $filename="";
                }
            }
            else
            {
                $filename="";
            }
        }
        
        $cnpc_account_str=explode("||",$data['cnpc_account']);
        $guid=$cnpc_account_str[1];
        $accid=$cnpc_account_str[0];
        $refId=$cnpc_account_str[2];
        
        $display_type=$data['cnpc_display_type'];
        $link_type=(isset($data['link_type']))?$data['link_type']:"";
        $button_label=(isset($data['button_label']))?$data['button_label']:"";
        if($data['cnpc_end_datetime'])
        {
            $cnpc_end_datetime=date("Y-m-d h:i:s",strtotime($data['cnpc_end_datetime']));
        }
        else
        {
            $cnpc_end_datetime="0000-00-00 00:00:00";
        }
        
        $cnpc_group_name=trim($data['cnpc_group_name']);
        $cnpc_group_name_shortcode=str_replace(' ', '-', $cnpc_group_name);
        $cnpc_message=$data['cnpc_message'];
        $cnpc_start_datetime=date("Y-m-d h:i:s",strtotime($data['cnpc_start_datetime']));
        $cnpc_status=$data['cnpc_status'];
        $form_name="Test";
        $shortcode="[cnpform]".$cnpc_group_name_shortcode."[/cnpform]";
        $table_name1 = $prefix.'dp_cnpc_forminfo';
        $iID=array();
       if($data['cnpc_action']=="add")
       {
        $query1 = \Drupal::database()->insert($table_name1)
	->fields([
		'cnpform_groupname',
		'cnpform_cnpstngs_ID',
		'cnpform_AccountNumber',
		'cnpform_guid',
		'cnpform_type',
		'cnpform_ptype',
		'cnpform_text',
		'cnpform_img',
		'cnpform_shortcode',
		'cnpform_custommsg',
		'cnpform_Form_StartDate',
		'cnpform_Form_EndDate',
		'cnpform_status',
	])
	->values(array(
                $cnpc_group_name,
		$refId,
		$accid,
		$guid,
		$display_type,
		 $link_type,
		$button_label,
		$filename,
		$shortcode,
		$cnpc_message,
		$cnpc_start_datetime,
		 $cnpc_end_datetime,
		$cnpc_status,
	))
	->execute();
       }
       else
       {
        
        $num_updated = $connection->update($table_name1)
        ->fields([
          'cnpform_groupname' => $cnpc_group_name,
          //'cnpform_cnpstngs_ID' => $data['cnpc_edit_id'],
          'cnpform_AccountNumber' => $accid,
          'cnpform_guid' => $guid,
          'cnpform_type' => $display_type,
          'cnpform_ptype' => $link_type,
          'cnpform_text' => $button_label,
          'cnpform_img' => $filename,
          'cnpform_shortcode' => $shortcode,
          'cnpform_custommsg' => $cnpc_message,
          'cnpform_Form_StartDate' => $cnpc_start_datetime,
          'cnpform_Form_EndDate' => $cnpc_end_datetime,
          'cnpform_status' => $cnpc_status,
        ])
        ->condition('cnpform_GID', $data['cnpc_edit_id'])
        ->execute();
        
       }
        
        $table_name = $prefix.'dp_cnpc_formsdtl';
        if($data['cnpc_action']=="edit")
        {
            $nid = $data['cnpc_edit_id'];
            
            $did=$data['cnpc_edit_id'];
            $status = $connection->delete($table_name)
            ->condition('cnpform_cnpform_ID', $did)
            ->execute();
            
        }
        else
        {
            $nid=$query1;
        }
        
        //Insert form group information
        $ls=explode("###",$data['cnpc_camp_list'],-1);
        $fs=explode("###",$data['cnpc_form_list'],-1);
        $gu=explode("###",$data['formguid'],-1);
        $sd=explode("###",$data['startdate'],-1);
        $ed=explode("###",$data['enddate'],-1);
        $pl=explode("###",$data['params_list'],-1);
        
        $form_list_titles=explode("###",$data['form_list_titles'],-1);        
   
         $iID=array();
        for($i=0;$i<count($ls);$i++)
        {
            $cnamp_list=$ls[$i];
            $form_list = $fs[$i];
            $guid_list = $gu[$i];
            if($pl[$i])
            {
                $param_list = $pl[$i];
            }
            else
            {
                $param_list="";
            }
            $sd_list = date("Y-m-d h:i:s",strtotime($sd[$i]));
            if($ed[$i])
            {
                $ed_list = date("Y-m-d h:i:s",strtotime($ed[$i]));
            }
            else
            {
                $ed_list="0000-00-00 00:00:00";
            }
            $flt = $form_list_titles[$i];
            
            $query = \Drupal::database()->insert($table_name)
            ->fields([
                    'cnpform_cnpform_ID',
                    'cnpform_CampaignName',
                    'cnpform_FormName',
                    'cnpform_GUID',
                    'cnpform_FormStartDate',
                    'cnpform_FormEndDate',
                    'cnpform_FormStatus',
                    'cnpform_urlparameters'
            ])
            ->values(array(
                    $nid,
                    $cnamp_list,
                    $flt,
                    $guid_list,
                    $sd_list,
                   $ed_list,
                   $cnpc_status,
                   $param_list,
            ))
            ->execute();
            $iID[]=$query;
        }
        
        
        if(count($iID)>0)
        {
            return new JsonResponse(array("data"=>"success"));
        }
        else
        {
            return new JsonResponse(array("data"=>"fail"));
        }
    }
    public function updateFormStatus($variableone,$variabletwo)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name1 = $prefix.'dp_cnpc_forminfo';
        $num_updated = $connection->update($table_name1)
        ->fields([
          'cnpform_status' => $variableone,
        ])
        ->condition('cnpform_GID', $variabletwo)
        ->execute();
        if($num_updated)
        {
            return new JsonResponse(array("data"=>"success"));
        }
        else
        {
            return new JsonResponse(array("data"=>"fail"));
        }
    }
    public function deleteFormDetails($variable)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name = $prefix.'dp_cnpc_formsdtl';
        $num_deleted = $connection->delete($table_name)
        ->condition('cnpform_id', $variable)
        ->execute();
        return new JsonResponse(array($num_deleted));
    }
    public function deleteFormGroup($variable)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name = $prefix.'dp_cnpc_forminfo';
        
        $deleted_info = $connection->delete($table_name)
        ->condition('cnpform_GID', $variable)
        ->execute();
        if($deleted_info)
        {
            $table_name1 = $prefix.'dp_cnpc_formsdtl';
            $deleted_dtl = $connection->delete($table_name1)
            ->condition('cnpform_cnpform_ID', $variable)
            ->execute();
            $status="success";
        }
        else
        {
            $status="fail";
        }
        return new JsonResponse(array("data"=>$status));
    }
    function cnpcRedirect($path) { 
        $response = new RedirectResponse($path, 302);
        $response->send();
        return;
    }
    public function deleteSettingsDetails($variable)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name = $prefix.'dp_cnpcsettingsdtl';
        
        $checkTable = $prefix.'dp_cnpc_forminfo';
        $sql = "SELECT * FROM " .$checkTable." where cnpform_cnpstngs_ID=".$variable;
        $query = $connection->query($sql);
        if(count($query->fetchAll())==0)
        {
            //return new JsonResponse(array("data"=>"success"));
            $deleted_dt1 = $connection->delete($table_name)
            ->condition('cnpstngs_ID', $variable)
            ->execute();
            if($deleted_dt1)
            {
                return new JsonResponse(array("data"=>"success"));
            }
            else
            {
                return new JsonResponse(array("data"=>"fail"));
            }
            
        }
        else
        {
            return new JsonResponse(array("data"=>"fail"));
        }
    }
    public function refreshAccounts(){
        $accid = $_POST['saccid'];
        $guid = $_POST['sguid'];
        $recid = $_POST['srecid'];
        $connect  = array('soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 0);
	$client   = new SoapClient('https://resources.connect.clickandpledge.com/wordpress/Auth2.wsdl', $connect);
        if(isset( $accid) && isset($guid) && $accid!="" && $guid!="")
        {
            $accountid = $accid;
            $accountguid = $guid;
            $xmlr = new SimpleXMLElement("<GetAccountDetail></GetAccountDetail>");
            $xmlr->addChild('accountId', $accountid);
            $xmlr->addChild('accountGUID', $accountguid);
            $xmlr->addChild('username', self::CFCNP_PLUGIN_UID);
            $xmlr->addChild('password', self::CFCNP_PLUGIN_SKY);
            $response = $client->GetAccountDetail($xmlr); 
            $responsearr =  $response->GetAccountDetailResult->AccountNickName;
            
            $connection= \Drupal::database();
            $prefix=$connection->tablePrefix();
            $table_name = $prefix.'dp_cnpcsettingsdtl';
           
            $updated = $connection->update($table_name)
            ->fields([
              'cnpstngs_frndlyname' => $responsearr,
            ])
            ->condition('cnpstngs_ID', $recid)
            ->execute();
            if($updated)
            {
                return new JsonResponse(array("status"=>"success"));
            }
            else
            {
                return new JsonResponse(array("status"=>"fail"));
            }
	 
        }
        else
        {
            return new JsonResponse(array("status"=>"fail"));
        }
        
    }
    public function saveChannelData(){
        $data = $_POST;
   
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        if($data['cnpc_action']!="edit")
        {
        $cnpc_account_str=explode("||",$data['cnpc_account']);
        $guid=$cnpc_account_str[1];
        $accid=$cnpc_account_str[0];
        $refId=$cnpc_account_str[2];
        }
        if($data['cnpc_end_datetime'])
        {
            $cnpc_end_datetime=date("Y-m-d h:i:s",strtotime($data['cnpc_end_datetime']));
        }
        else
        {
            $cnpc_end_datetime="0000-00-00 00:00:00";
        }
       
        $chnlcnpc_group_name=trim($data['cnpc_group_name']);
        $chnlcnpc_group_name_shortcode=str_replace(' ', '-', $chnlcnpc_group_name);
        $cnpc_message=$data['cnpc_message'];
        $cnpc_start_datetime=date("Y-m-d h:i:s",strtotime($data['cnpc_start_datetime']));
        $cnpc_status=$data['cnpc_status'];
       
        $shortcode="[cnppledgetv]".$chnlcnpc_group_name_shortcode."[/cnppledgetv]";
        $table_name1 = $prefix.'dp_cnpc_channelgrp';
        $ciID=array();
       if($data['cnpc_action']=="add")
       {
        $query1 = \Drupal::database()->insert($table_name1)
    ->fields([
        'cnpchannelgrp_groupname',
        'cnpchannelgrp_cnpstngs_ID',
        'cnpchannelgrp_shortcode',
        'cnpchannelgrp_custommsg',
        'cnpchannelgrp_channel_StartDate',
        'cnpchannelgrp_channel_EndDate',
        'cnpchannelgrp_status',
    ])
    ->values(array(
                $chnlcnpc_group_name,
                $refId,
                $shortcode,
                $cnpc_message,
                $cnpc_start_datetime,
                 $cnpc_end_datetime,
                $cnpc_status,
    ))
    ->execute();
       }
       else
       {
         $table_name1 = $prefix.'dp_cnpc_channelgrp';
        $num_updated =  \Drupal::database()->update($table_name1)
        ->fields([
          'cnpchannelgrp_groupname' => $chnlcnpc_group_name,
          'cnpchannelgrp_shortcode' => $shortcode,
          'cnpchannelgrp_custommsg' => $cnpc_message,
          'cnpchannelgrp_channel_StartDate' => $cnpc_start_datetime,
          'cnpchannelgrp_channel_EndDate' => $cnpc_end_datetime,
          'cnpchannelgrp_status' => $cnpc_status,
        ])
        ->condition('cnpchannelgrp_ID', $data['cnpc_edit_id'])
        ->execute();
       
       }
       
        $table_name = $prefix.'dp_cnpc_channeldtl';
        if($data['cnpc_action']=="edit")
        {
            $nid = $data['cnpc_edit_id'];
           
            $did=$data['cnpc_edit_id'];
            $status =  \Drupal::database()->delete($table_name)
            ->condition('cnpchannel_cnpchannelgrp_ID', $did)
            ->execute();
           
        }
        else
        {
            $nid=$query1;
        }
       
        //Insert Channel group information
        $ls=explode("###",$data['cnpc_chnl_list'],-1);
        $sd=explode("###",$data['chnlstartdate'],-1);
        $ed=explode("###",$data['chnlenddate'],-1);
            
  
         $ciID=array();
        for($i=0;$i<count($ls);$i++)
        {
            $cnamp_list=$ls[$i];
            $form_list = $fs[$i];
            $guid_list = $gu[$i];
            $sd_list = date("Y-m-d h:i:s",strtotime($sd[$i]));
            if($ed[$i])
            {
                $ed_list = date("Y-m-d h:i:s",strtotime($ed[$i]));
            }
            else
            {
                $ed_list="0000-00-00 00:00:00";
            }
            $flt = $form_list_titles[$i];
           
            $cquery = \Drupal::database()->insert($table_name)
            ->fields([
                    'cnpchannel_cnpchannelgrp_ID',
                    'cnpchannel_channelName',
                    'cnpchannel_channelStartDate',
                    'cnpchannel_channelEndDate',
                    'cnpchannel_channelStatus',
            ])
            ->values(array(
                    $nid,
                    $cnamp_list,
                    $sd_list,
                    $ed_list,
                    $cnpc_status,
            ))
            ->execute();
            $ciID[]=$cquery;
        }
       
     
        if(count($ciID)>0)
        {
            return new JsonResponse(array("data"=>"success"));
        }
        else
        {
            return new JsonResponse(array("data"=>"fail"));
        }
    }
    public function deletechannelDetails($variable)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name = $prefix.'dp_cnpc_channeldtl';
        $num_deleted = $connection->delete($table_name)
        ->condition('cnpchannel_id', $variable)
        ->execute();
        return new JsonResponse(array($num_deleted));
    }
    public function deletechannelGroup($variable)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name = $prefix.'dp_cnpc_channelgrp';
       
        $deleted_info = $connection->delete($table_name)
        ->condition('cnpchannelgrp_ID', $variable)
        ->execute();
        if($deleted_info)
        {
            $table_name1 = $prefix.'dp_cnpc_channeldtl';
            $deleted_dtl = $connection->delete($table_name1)
            ->condition('cnpchannel_cnpchannelgrp_ID', $variable)
            ->execute();
            $status="success";
        }
        else
        {
            $status="fail";
        }
        return new JsonResponse(array("data"=>$status));
    }
    public function getAllChannels($variable)
    {
        $str=explode("@", $variable);
	$connect  = array('soap_version' => SOAP_1_1, 'trace' => 1, 'exceptions' => 0);
		
			 $module_handler = \Drupal::service('module_handler');
			 $host = \Drupal::request()->getSchemeAndHttpHost();
			 $module_path = $module_handler->getModule('click_pledge_connect')->getPath()."/Auth2.wsdl";
	$client   = new SoapClient($module_path , $connect);$camrtrnval="";
        $caccountguid=$str[1];
        $caccountid=$str[0];
    $xmlr  = new SimpleXMLElement("<GetPledgeTVChannelList></GetPledgeTVChannelList>");
	$xmlr->addChild('accountId', $caccountid);
	$xmlr->addChild('AccountGUID', $caccountguid);
	$xmlr->addChild('username', self::CFCNP_PLUGIN_UID);
	$xmlr->addChild('password', self::CFCNP_PLUGIN_SKY);
        
      $response = $client->GetPledgeTVChannelList($xmlr);
       $responsearr =  $response->GetPledgeTVChannelListResult->PledgeTVChannel;
		//print_r($responsearr);
       /* $camrtrnval = "<option value=''>Select channels</option>";
        if(count($responsearr) == 1)
            { if($_REQUEST['slcamp'] == $responsearr->ChannelURLID){$displymsg ="selected"; }else{$displymsg ="";}
             $camrtrnval.= "<option value='".$responsearr->ChannelURLID."' $displymsg>".$responsearr->ChannelName." (".$responsearr->ChannelURLID.")</option>";
            }else{
            for($inc = 0 ; $inc < count($responsearr);$inc++)
            {
             if($_REQUEST['slcamp'] == $responsearr[$inc]->ChannelURLID){$displymsg = "selected"; }else{$displymsg ="";}
		 $camrtrnval .= "<option value='".$responsearr[$inc]->ChannelURLID."' $displymsg >".$responsearr[$inc]->ChannelName." (".$responsearr[$inc]->ChannelURLID.")</option>";
            }

	 }*/
       $orderRes=array();
        foreach($responsearr as $obj)
        {
            $orderRes[$obj->ChannelURLID]=$obj->ChannelName;
        }
        natcasesort($orderRes);
        $camrtrnval = "<option value=''>Select channels</option>";
        if(count($orderRes)>0)
        {
            foreach($orderRes as $key=>$value)
            {
             $camrtrnval .= "<option value='".$key."'>".$value."</option>";
            }
	 }
         //echo $camrtrnval;
        return new JsonResponse(array("data"=>$camrtrnval));
    }
    public function updatePTVFormStatus($variable1,$variable2)
    {
        $connection= \Drupal::database();
        $prefix=$connection->tablePrefix();
        $table_name1 = $prefix.'dp_cnpc_channelgrp';
        $num_updated = $connection->update($table_name1)
        ->fields([
          'cnpchannelgrp_status' => $variable1,
        ])
        ->condition('cnpchannelgrp_ID', $variable2)
        ->execute();
        if($num_updated)
        {
            return new JsonResponse(array("data"=>"success"));
        }
        else
        {
            return new JsonResponse(array("data"=>"fail"));
        }
    }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc