d8c46773 by G Manojkumar

Initial Change

1 parent 5b50cf38
Showing 21 changed files with 1721 additions and 126 deletions
......@@ -8,6 +8,8 @@ use App\Services\FormBuilder;
use Illuminate\Http\Request;
use Response;
use App\Models\User;
use SimpleXLSX;
use App\Jobs\KHRMSLib;
class CampaignController extends Controller {
......@@ -50,7 +52,153 @@ class CampaignController extends Controller {
public function store(Request $request)
{
$action = Input::get("action");
if($action == 'upload'){
if($request->hasFile('file')){
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
include(app_path().'/lib/simplexlsx-master/simplexlsx.class.php');
$path = $request->file->getRealPath();
$objSimpleXLSX = SimpleXLSX::parse($path);
$objWorksheet = $objSimpleXLSX->rows();
$highestColumn = count($objWorksheet[0]);
$highestrow=count($objWorksheet);
//echo "<pre>";print_r($objWorksheet);
//echo "\n";
//print_r($highestColumn);
//echo "\n";
//echo $highestrow;
for($i=0;$i<$highestrow;$i++)
{//echo $i;
$excelarray[$i]=array();
for ($head = 0; $head < $highestColumn; $head++)
{
if($i==0)
{
$keys[$head]=trim($objWorksheet[$i][$head]);
}
else
{
$excelarray[$i][$keys[$head]]=trim($objWorksheet[$i][$head]);
}
}
}
//echo "<pre>";print_r($excelarray);
for($i=1;$i<$highestrow;$i++)
{
if($excelarray[$i]["name"]!="" || $excelarray[$i]["name"]!="0" || $excelarray[$i]["name"]!=0 )
{
//echo $excelarray[$i]["name"];
if(!empty($excelarray[$i]["name"])){
$campaign = Input::get("selectCampaignField");
if($campaign=="all"){
$campaign="";
$allcampaign=Campaign::where('mtype',"=","company")->orderBy('mkey')->get();
foreach ($allcampaign as $mkeycampaign)
{
$campaign .= $mkeycampaign->mkey.",";
}
$campaign=substr($campaign, 0, -1);
}
$usercampaign=User::where('username','=',trim($excelarray[$i]["name"]));
if($usercampaign->count() > 0){
$usercampaign = $usercampaign->first();
$campaignList =$usercampaign->clients.",".$campaign;
$data=json_decode($usercampaign->data,true);
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}else
{
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}
$data=json_encode($data);
$usercampaign->updated_at=date("Y-m-d H:i:s");
$usercampaign->clients=$campaignList;
$usercampaign->data=$data;
$usercampaign->save();
}
}
}
}
}
}
if($action == 'bulkupload'){
if($request->hasFile('file')){
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
include(app_path().'/lib/simplexlsx-master/simplexlsx.class.php');
$path = $request->file->getRealPath();
$objSimpleXLSX = SimpleXLSX::parse($path);
$objWorksheet = $objSimpleXLSX->rows();
$highestColumn = count($objWorksheet[0]);
$highestrow=count($objWorksheet);
$dbUsers=DB::table('users')->select('username', 'data')->where('status','=','Active')->get();
$dbCampaigns=DB::table('hrms_masters')->select('mkey')->where('status','=','Active')->get();
$activeUser = array();
$activeCampaign = array();
$activeUserData = array();
foreach ($dbUsers as $key => $dbUser){
$activeUser[] = $dbUser->username;
$activeUserData[$dbUser->username] = $dbUser->data;
}
foreach ($dbCampaigns as $key => $dbCampaign)$activeCampaign[] = $dbCampaign->mkey;
$campaigns = array();
$users = array();
for($row=0;$row<$highestrow;$row++)
{
if($row!=0 && !empty(trim($objWorksheet[$row][0]))){
if(in_array(trim($objWorksheet[$row][0]), $activeCampaign) && in_array(trim($objWorksheet[$row][1]), $activeUser)){
$users[trim($objWorksheet[$row][1])][] = $objWorksheet[$row][0];
}
}
}
foreach ($users as $userName => $campaigns) {
$campaignList = implode(',', $campaigns);
$data=json_decode($activeUserData[$userName],true);
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}else
{
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}
$data=json_encode($data);
DB::table('users')->where('username', $userName)->update(['clients'=>$campaignList, 'data' => $data]);
}
}
}
// if($action=="createCampaign")
// {
// $this->validate($request,[
......@@ -86,7 +234,45 @@ class CampaignController extends Controller {
{
if($id=="show")
{
$gthis = new KHRMSLib();
$campaign = Input::get("campaign");
$mastersdata=$gthis->getCompanyMaster($campaign);
$disposition = array();
if(empty($mastersdata['dialerDispoList']))$mastersdata['dialerDispoList']=$gthis->HRCoreVars['dialerDispoList'];
$dispoarr=explode("~",$mastersdata['dialerDispoList']);
foreach($dispoarr as $dispo)
{
if(!empty($dispo))
{
$dispoprts=explode("|",$dispo);
if(sizeof($dispoprts)>=3)
{
$disposition[$dispoprts[1]] = $dispoprts[2];
$dispositionCode[$dispoprts[1]] = $dispoprts[0];
/*$data.="dialerdispoarray['$dispoprts[1]']='$dispoprts[2]';
dispoClassArray['$dispoprts[0]']='$dispoprts[1]';";*/
}
}
}
$data['disposition'] = $disposition;
$data['dispositionCode'] = $dispositionCode;
$dispositionList=DB::table('hrms_masters')->select('*')->where('status','=','Active')->where("mkey","=",$campaign)->where("mtype","=",'coreconfig')->first();
$dispolist=explode("~",$dispositionList->mvalue);
$dispositionList = array();
foreach ($dispolist as $key => $dispo) {
if(!empty($dispo))
{
$dispoprts=explode("|",$dispo);
$dispositionList[$dispoprts[1]]= $dispoprts[2];
}
}
$data['dispositionList'] = $dispositionList;
//$campaign = Input::get("campaign");
if($campaign != ""){
//this condition for getting all campaign data
if($campaign == "all")
......@@ -107,6 +293,7 @@ class CampaignController extends Controller {
$data['queryLogs'] = DB::table("campaign_query")->where('campaign', '=', $campaign)->get();
// $data['dataList'] = DB::table("records")->select(DB::Raw('list_id, count(*) as recordCount'))->where("client","=",$campaign)->groupBy('list_id')->get();
$userassignedcampign=DB::table('users')->select('username','clients')->whereRaw(' FIND_IN_SET(?,clients)', [$campaign])->get();
//$scheduledCampaign = Campaign::where("mtype","=","company")->where("mkey","=",$campaign)->first();
return view("layout.module.campaign.campaign",$data,compact('userassignedcampign'));
}
......@@ -118,7 +305,7 @@ class CampaignController extends Controller {
if($id=="query")
{
$campaign = Input::get("campaign");
$querySelect = Input::get("querySelect");
$querySelect = Input::get("allvalues");
$queryConditions = Input::get("queryConditions");
if($queryConditions){
$queryConditions = str_replace('&quot;', "'", $queryConditions);
......@@ -126,9 +313,19 @@ class CampaignController extends Controller {
}else{
$queryConditions = '1';
}
$queryLimit = Input::get("queryLimit");
$queryOffset = Input::get("queryOffset");
$checkedValue = Input::get("checkedValue");
// $queryInCondition = Input::get("queryInCondition");
// if($queryInCondition != 'null'){
// $queryInCondition = str_replace('&quot;', "'", $queryInCondition);
// $queryInCondition = str_replace('&#039;', "'", $queryInCondition);
// $queryInCondition = "or elegible IN ($queryInCondition)";
// $querySelect .= ',elegible';
// }else{
// $queryInCondition = '';
// }
//$queryLimit = Input::get("queryLimit");
//$queryOffset = Input::get("queryOffset");
//$checkedValue = Input::get("checkedValue");
// print_r($checkedValue);
$fields = explode(",", $querySelect);
$i = 1; $output = '';
......@@ -137,23 +334,29 @@ class CampaignController extends Controller {
if($campaign=="All")
{
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
// $selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions";
$sqlQuery = DB::select($selQuery);
}else
{
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
//$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions";
$sqlQuery = DB::select($selQuery);
}
if($checkedValue=="on")
{
if($sqlQuery){
$queryExist = DB::table('campaign_query')->where('query','=',$selQuery)->where('campaign', '=', $campaign)->select('id')->first();
if(empty($queryExist))
{
DB::table('campaign_query')->insert(['campaign'=>$campaign, 'query'=>$selQuery, 'select_col'=>$querySelect,'where_cond'=>"client = '$campaign' AND $queryConditions"]);
}else{
$output .="<p class='text-danger'>".'QueryAlreadyExist'."</p></br>";
}
}
}
} catch(\Illuminate\Database\QueryException $ex){
$output .= "<p class='text-danger'>".$ex->getMessage()."</p>";
......@@ -161,7 +364,9 @@ class CampaignController extends Controller {
}
if(count($sqlQuery)){
$output .= '<div style="overflow-x:auto;"><table class="table table-bordered"><thead><tr><th class="text-center">#</th>';
$output .='<div><label>'.count($sqlQuery).'</label></div>';
}
/*$output .= '<div style="overflow-x:auto;"><table class="table table-bordered"><thead><tr><th class="text-center">#</th>';
foreach ($fields as $key) {
$output .= '<th class="text-center">'.trim($key).'</th>';
}
......@@ -177,7 +382,7 @@ class CampaignController extends Controller {
}else{
$output .= '<h5 class="text-danger"><i class="fa fa-exclamation-circle"></i> No Result!</h5>';
}
$output .= '</tbody></table></div>';
$output .= '</tbody></table></div>';*/
return $output;
}
......@@ -195,8 +400,8 @@ class CampaignController extends Controller {
$sqlQuery = DB::select($queryTxt->query);
if(count($sqlQuery)){
$output .= '<div style="overflow-x:auto;"><table class="table table-bordered"><thead><tr><th class="text-center">#</th>';
foreach ($fields as $key) {
$output .= '<div style="overflow-x:auto;"><h5>'.count($sqlQuery).'</h5>';
/*foreach ($fields as $key) {
$output .= '<th class="text-center">'.trim($key).'</th>';
}
$output .= "</tr></thed><tbody>";
......@@ -207,7 +412,7 @@ class CampaignController extends Controller {
}
$output .= "</tr>";
$i++;
}
}*/
}else{
$output .= '<h5 class="text-danger"><i class="fa fa-exclamation-circle"></i> No Result!</h5>';
}
......@@ -235,15 +440,26 @@ class CampaignController extends Controller {
}else{
$queryConditions = '1';
}
$queryInCondition = Input::get("queryInCondition");
if($queryInCondition != 'null'){
$queryInCondition = str_replace('&quot;', "'", $queryInCondition);
$queryInCondition = str_replace('&#039;', "'", $queryInCondition);
$queryInCondition = "or elegible IN ($queryInCondition)";
$querySelect .= ',elegible';
}else{
$queryInCondition = '';
}
$queryLimit = Input::get("queryLimit");
$queryOffset = Input::get("queryOffset");
try {
if($campaign=="All"){
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
//$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions $queryInCondition LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}else{
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions $queryInCondition LIMIT $queryLimit OFFSET $queryOffset";
//$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}
} catch(\Illuminate\Database\QueryException $ex){
......@@ -269,7 +485,7 @@ class CampaignController extends Controller {
DB::table('campaign_query')->where('id','!=', $campQryId)->update(['current_queue'=>'']);
DB::table('campaign_query')->where('id','=', $campQryId)->update(['current_queue'=>'selected']);
return Response::make("<script>simpleNotification('success','topRight','Query Logic added successfully!');</script>");
//return "<script>simpleNotification('success','topRight','Query Logic Successfully Updated');</script>";
}
if($id=="assigncampaign")
{
......@@ -314,21 +530,36 @@ class CampaignController extends Controller {
foreach ($agentsArr as $key => $agent)
{
$usercampaign=User::where('username','=',$agent)->first();
$campaignList =$usercampaign->clients.",".$campaign;
//$campaignList =$usercampaign->clients.",".$campaign;
$data=json_decode($usercampaign->data,true);
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
$hrmsdata['clientsownerlist'] = $campaignList;
if($usercampaign->clients==$hrmsdata['clientsownerlist']){
$campaignList =$usercampaign->clients.",".$campaign;
// print_r($hrmsdata['clientsownerlist']);
// $hrmsdata['clientsownerlist'] = $campaignList;
}else{
//print_r($hrmsdata['clientsownerlist']);
$campaignList = $hrmsdata['clientsownerlist'].",".$campaign;
//$hrmsdata['clientsownerlist'] = $hrmsdata['clientsownerlist'].",".$campaign;
}
$hrmsdata['clientsownerlist'] = $campaignList;
//print_r($hrmsdata['clientsownerlist']);
$data['hrmsdata']=serialize($hrmsdata);
//print_r($data['hrmsdata']);
//exit();
}else
{
//exit();
$campaignList =$usercampaign->clients.",".$campaign;
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
//print_r($data['hrmsdata']);
}
$data=json_encode($data);
//print_r($data);
$usercampaign->updated_at=date("Y-m-d H:i:s");
$usercampaign->clients=$campaignList;
$usercampaign->data=$data;
......@@ -375,25 +606,140 @@ class CampaignController extends Controller {
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
//print_r($hrmsdata);
$hrms_arr=explode(",", $hrmsdata['clientsownerlist']);
$update_campaign[]=$campaign;
$update_hrms=array_diff($hrms_arr, $update_campaign);
$hrmsdata['clientsownerlist']= implode(",",$update_hrms);
$final = implode(",",$update_hrms);
// print_r($hrmsdata['clientsownerlist']);
$data['hrmsdata']=serialize($hrmsdata);
$data=json_encode($data);
}
$usercampaign1=User::where('username','=',$agent)->first();
$usercampaign1->updated_at=date("Y-m-d H:i:s");
$usercampaign1=User::where('username','=',$agent)->first();
$usercampaign1->updated_at=date("Y-m-d H:i:s");
$usercampaign1->clients=$finalcampaign;
$usercampaign1->data=$data;
$usercampaign1->save();
// DB::statement("update users set updated_at='".date("Y-m-d H:i:s")."',clients='$finalcampaign',data='$data' where username='$agent'");
//DB::statement("update users set updated_at='".date("Y-m-d H:i:s")."',clients='$finalcampaign',data='$data' where username='$agent'");
}
}
return;
}
if($id=="schedulecampaign"){
$campaign = Input::get("selectCampaignField");
$starttime = Input::get("starttime");
$endtime = Input::get("endtime");
//return view("layout.module.outputreport.supervisorreport", $data);
/*$updateschedule = Campaign::where("mtype","=","company")->where("mkey","=",$campaign)->first();
$updateschedule->campaignstartdate=$starttime;
$updateschedule->campaignenddate=$endtime;
$updateschedule->save();*/
/* $scheduledCampaign = Campaign::where("mtype","=","company")->where("mkey","=",$campaign)->get();
$data['scheduledCampaign']=$scheduledCampaign;
return view("layout/module/campaign/campaignScheduler",$data);*/
DB::statement("update hrms_masters set campaignstartdate='$starttime:00',campaignenddate='$endtime:00' where mkey='$campaign' and mtype='company'");
}
if($id=="bulkupload"){
return view("layout.module.campaign.bulkupload");
}
if($id=='deleteAssignDisposition'){
$wakka = new KHRMSLib();
$campaign = Input::get("selectCampaignField");
$disposition = Input::get("disposition");
$hrmsdata = DB::table('hrms_masters')->where('mkey','=', $campaign)->where('mtype','=', 'coreconfig')->select('*');
if($hrmsdata->count() > 0){
$hrmsdata = $hrmsdata->first();
$dispolist=explode("~",$hrmsdata->mvalue);
$dispositionList = array();
$mvalue = '';
foreach ($dispolist as $key => $dispo) {
if(!empty($dispo))
{
$dispoprts=explode("|",$dispo);
if($dispoprts[1] != $disposition){
if(empty($mvalue)){
$mvalue .= "$dispo";
}else{
$mvalue .= "~$dispo";
}
}
}
}
$wakka->Query("update hrms_masters set mvalue='$mvalue' where mkey='$campaign' and mtype='coreconfig';");
}
}
if($id=="assigndisposition"){
$wakka = new KHRMSLib();
$code = Input::get('code');
$disposition = Input::get('disposition');
$subDisposition = Input::get('subDisposition');
$campaign = Input::get("selectCampaignField");
$hrmsdata = DB::table('hrms_masters')->where('mkey','=', $campaign)->where('mtype','=', 'coreconfig')->select('*');
if($hrmsdata->count() == 0){
$mvalue = "$code|$disposition|$subDisposition";
DB::table('hrms_masters')->insert(['mkey'=>$campaign, 'mtype'=>'coreconfig', 'mvalue'=>$mvalue,'status'=>'active']);
}else{
$hrmsdata = $hrmsdata->first();
if(!empty($hrmsdata->mvalue)){
$dispolist=explode("~",$hrmsdata->mvalue);
$dispositionList = array();
$mvalue = '';
foreach ($dispolist as $key => $dispo) {
if(!empty($dispo))
{
$dispoprts=explode("|",$dispo);
if($dispoprts[1] == $disposition){
$mvalue = $hrmsdata->mvalue;
$mvalue = str_replace($dispoprts[2], $subDisposition, $mvalue);
}
}
}
if(empty($mvalue)){
$mvalue .= $hrmsdata->mvalue."~$code|$disposition|$subDisposition";
}
}else{
$mvalue = "$code|$disposition|$subDisposition";
}
$wakka->Query("update hrms_masters set mvalue='$mvalue' where mkey='$campaign' and mtype='coreconfig';");
}
}
if($id == "sampleDataExcel"){
/*$objPHPExcel = new \PHPExcel();
$objPHPExcel->getProperties()
->setCreator("Temporaris")
->setLastModifiedBy("Temporaris")
->setTitle("Template Relevé des heures intérimaires")
->setSubject("Template excel")
->setDescription("Template excel permettant la création d'un ou plusieurs relevés d'heures")
->setKeywords("Template excel");
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', "12");
$writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="excel.xls"');
header('Cache-Control: max-age=0');
$writer->save('php://output');
return ;*/
return view("layout.module.campaign.sampleDataExcel");
}
return;
}
public function edit($id)
......@@ -408,4 +754,4 @@ class CampaignController extends Controller {
{
}
}
\ No newline at end of file
}
......
......@@ -95,4 +95,5 @@ Route::group(['middleware' => ['web']], function () {
Route::post('dialmodeassign', array('uses'=> 'DialModeController@dialmodeassign', 'as'=>'assign.dialmodes'));
///for the rlp pbwise
Route::get('rlp', array('uses'=> 'RecordController@rlpPbwise', 'as'=>'rlppb.comments'));
});
......
......@@ -818,11 +818,20 @@ $data.="</fieldset></div>
var dialerdispoarray={};var dispoClassArray={};
dialerdispoarray['']='';\n";
$mastersdata=$gthis->getDispocampaignData($dataarr[client]);
//$dispoarr=explode("~",$mastersdata['mvalue']);
if(empty($mastersdata))
{
$mastersdata=$gthis->getCompanyMaster($client);
if(empty($mastersdata['dialerDispoList']))$mastersdata['dialerDispoList']=$gthis->HRCoreVars['dialerDispoList'];
$mastersdata=$gthis->getCompanyMaster($client);
if(empty($mastersdata['dialerDispoList']))$mastersdata['dialerDispoList']=$gthis->HRCoreVars['dialerDispoList'];
$dispoarr=explode("~",$mastersdata['dialerDispoList']);
$dispoarr=explode("~",$mastersdata['dialerDispoList']);
}else{
$dispoarr=explode("~",$mastersdata['mvalue']);
}
foreach($dispoarr as $dispo)
{
if(!empty($dispo))
......@@ -1163,7 +1172,7 @@ function createQaireTab()
}
}
if(isset($supComnt)){
foreach($supComnt as $supervisorcomments)
{
......@@ -1182,6 +1191,7 @@ function createQaireTab()
<input type=button id='".$supervisorcomments->id."_submitComments' class='btn btn-info' value='Submit' onclick='updateagentcomments(".$supervisorcomments->id.");'style=' margin: 5px 0 5px 660px;'>
</div>";
}
}
$data.="<legend class='task_legend'>Primary Questions</legend>
......@@ -3358,53 +3368,7 @@ function createRLP()
return $data;
}
function createSMSForm()
{
//echo "Manoj";
$dataarr=$this->recruitdata["peopledata"];
$data="<div style='clear:both;margin:2% 0 0 1%;border-style: dotted solid dashed;padding:2%'>
<h5>SMS</h5>
<hr/><br>
<div style='clear:both;width:100%;'>
<div style='width:49%;float:left'>
<label class='label-small_new' style='width:29%;font-weight:bold;'>Customer Name</label>
<input type='text' class='form_new form_new_amend' style='width:50%;border: 2px solid;' value='".$dataarr['firstname']."' id='customer_name' readonly>
</div>
</div>
<br><br>
<div style='clear:both;width:100%;'>
<div style='width:49%;float:left'>
<label class='label-small_new' style='width:29%;font-weight:bold;'>Mobile Number</label>
<input type='text' class='form_new form_new_amend' style='width:50%;border: 2px solid;' id='mobilenumber'>
</div>
</div>
<br><br>
<div style='clear:both;width:100%;'>
<div>
<label class='label-small_new' style='width:14%;font-weight:bold;'>Message</label>
<textarea class='form_new form_new_amend'style='width:74%;border: 2px solid;' maxlength='512' id='message' rows='4'></textarea>
</div>
</div>
<br><br>
<div style='clear:both;width:100%;'>
<input type='button' class='btn btn-default btn-md' style='margin-left:40%;font-weight:bold;' value='Send' id='sendmessage'>
</div>
</div>
<script>
$('#sendmessage').click(()=>{
var postdata='mobile='+$('#mobilenumber').val();
postdata+='&message='+$('#message').val();
doAjax('record?action=sendsms',postdata,'createtaskdiv','ajaxMutex_recSaveData','singlethis','POST');
//alert('your mobile number is given '+$('#mobilenumber').val());
})
</script>";
return $data;
}
function createOneAssistForm()
{
$dataarr=$this->recruitdata["peopledata"];
......@@ -3580,9 +3544,6 @@ function CreateForm(&$frm)
{
$frm['One Assist']["{{id}} {{firstname}}"][]=array();
}
if(Auth::user()->username == "admin"){
$frm['SMS']["{{id}} {{firstname}}"][]=array();
}
}
}
......@@ -3652,7 +3613,6 @@ function CreateForm(&$frm)
if($tbname=='Lead Entry Form')$tabsdata.=$this->createLeadEntryForm();
if($tbname=='RLP')$tabsdata.=$this->createRLP();
if($tbname=='One Assist')$tabsdata.=$this->createOneAssistForm();
if($tbname=='SMS')$tabsdata.=$this->createSMSForm();
$tabsdata.="</div>";
$i++;
}
......
......@@ -870,13 +870,13 @@ function popMail($userid)
}
function getPersonServer($empid)
{
if($this->getCount("records","clientcode='$empid'")==1)
if($this->getCount("records_demo","id='$empid'")==1)
{
$empdata=$this->LoadSingle("select * from records where clientcode='$empid';");
$empdata=$this->LoadSingle("select * from records_demo where id='$empid';");
$personarr['peopledata']=unserialize($empdata['peopledata']);
$personarr['modifylog']=unserialize($empdata['modifylog']);
$personarr['dirty']=unserialize($empdata['dirty']);
$personarr['peopledata']['clientcode']=$empid;
$personarr['peopledata']['id']=$empid;
return $personarr;
}
else return FALSE;
......@@ -1033,7 +1033,7 @@ function popMail($userid)
function setPersonServer($empid,&$personarr)
{
if($this->getCount("records","clientcode='$empid'")==1&&is_array($personarr['peopledata']))
if($this->getCount("records_demo","id='$empid'")==1&&is_array($personarr['peopledata']))
{
$spostvars=serialize($personarr['peopledata']);
$screatedlog=serialize($personarr['modifylog']);
......@@ -1046,10 +1046,10 @@ function popMail($userid)
{
$cachestr='';
/*if($personarr['peopledata']['dialer_flag']=="VIP" || $personarr['peopledata']['dialer_flag']=="")
if($personarr['peopledata']['dialer_flag']=="VIP" || $personarr['peopledata']['dialer_flag']=="")
{
$personarr['peopledata']['priority'] = "";
}*/
}
foreach($this->cachearray as $cachekey)
{
......@@ -1072,13 +1072,13 @@ function popMail($userid)
}
}
}
$personarr['peopledata']['clientcode']=$empid;
$personarr['peopledata']['id']=$empid;
$quoteP=serialize($personarr['peopledata']);
$quoteM=serialize($personarr['modifylog']);
$quoteD=serialize($personarr['dirty']);
/*$status=$personarr['peopledata']['status'];*/
return $this->Query("update records set modified=now(),peopledata='$quoteP',modifylog='$quoteM',dirty='$quoteD' $cachestr where clientcode='$empid' limit 1");
return $this->Query("update records_demo set modified=now(),peopledata='$quoteP',modifylog='$quoteM',dirty='$quoteD' $cachestr where id='$empid' limit 1");
}
}
else return -1;
......@@ -1159,7 +1159,7 @@ function popMail($userid)
}
}
return $this->LoadAll("select id,peopledata".$sqlarr." from records where $wheresql;");
return $this->LoadAll("select id".$sqlarr." from records where $wheresql;");
}
function getPersons($wheresql)
{
......@@ -1174,33 +1174,6 @@ function popMail($userid)
return $this->LoadAll("select id,created,modified,peopledata,modifylog,dirty".$sqlarr." from records where $wheresql;");
}
function getPersonsMissedcall($wheresql)
{
$sqlarr="";
foreach($this->cachearray as $cachekey)
{
if($cachekey!='')
{
$sqlarr.=" ,`$cachekey`";
}
}
return $this->LoadAll("select id,created,modified,peopledata,modifylog,dirty".$sqlarr." from records where $wheresql ORDER BY modified desc;");
}
function getPersonsdownloadreport($wheresql)
{
$sqlarr="";
foreach($this->cachearray as $cachekey)
{
if($cachekey!='')
{
$sqlarr.=" ,`$cachekey`";
}
}
return $this->LoadAll("select id,created,modified,peopledata,modifylog,dirty,client".$sqlarr." from records where $wheresql ORDER BY id asc ;");
}
function isWorkingEmployee(&$ppldata,$year,$month,$date=0)
{
......@@ -1388,7 +1361,12 @@ function popMail($userid)
function getCompanyMaster($company)
{
$companyarr=$this->loadAllDBMasters($company,'company');//$this->LoadSingle("select * from hrms_masters where mkey='$company' and mtype='company';");
$mastersdata=array();
$mastersdata['status'] = $companyarr["status"];
/* $mastersdata['campaignstartdate'] = $companyarr["campaignstartdate"];
$mastersdata['campaignenddate'] = $companyarr["campaignenddate"];*/
if(!isset($companyarr["mvalue"]))$companyarr["mvalue"]="";
$companymasters=explode("|",$companyarr["mvalue"]);
......@@ -1412,9 +1390,14 @@ function popMail($userid)
}
}
}
return $mastersdata;
}
function getDispocampaignData($company){
$companyar=$this->LoadSingle("select mvalue from hrms_masters where mkey='$company' and mtype='coreconfig';");
//print_r($company);
return $companyar;
}
function getEmailListforClient($tclient)
{
$unameslist=array();
......@@ -1610,6 +1593,26 @@ function popMail($userid)
}
function clientsReadAccess()
{
/* $companyarr=$this->LoadAll("select * from hrms_masters where mtype='company' and status='active'");
$campaigns=array();
$now = new \DateTime();
foreach($companyarr as $tcompany){
$campaigns[]=$tcompany['mkey'];
}
foreach($companyarr as $tcompany){
$campaignstartdate = new \DateTime($tcompany['campaignstartdate']);
$campaignenddate = new \DateTime($tcompany['campaignenddate']);
if(empty($tcompany['campaignstartdate']) || empty($tcompany['campaignenddate'])){
print_r($tcompany['mkey']);
$campaigns[]=$tcompany['mkey'];
}else{
if($campaignstartdate < $now and $campaignenddate > $now){
print_r($tcompany['mkey']);
$campaigns[]=$tcompany['mkey'];
}
}
}*/
$clientlst=array();
if($this->GetBBBUserData("readotherdata")=="No")
{
......@@ -1630,7 +1633,8 @@ function popMail($userid)
}
else
{
$companyarr=$this->LoadAll("select * from hrms_masters where mtype='company'");
$companyarr=$this->LoadAll("select * from hrms_masters where mtype='company' and status='active'");
//$companyarr=$this->LoadAll("select * from hrms_masters where mtype='company'");
foreach($companyarr as $tcompany)$clientlst[]=$tcompany['mkey'];
$selectarr=$this->loadAllDBMasters("client",'select');
......@@ -1639,7 +1643,31 @@ function popMail($userid)
if(is_array($clientlst))$clientlst=array_unique(array_merge($clientlst,$newvalues));
}
}
return $clientlst;
$activeClientCampaign = array();
$companyarr=$this->LoadAll("select * from hrms_masters where mtype='company' and status='active'");
$campaigns=array();
$dashboarduser=Auth::user();
$timeoffset = $dashboarduser->timezone; //-330; //$dashboarduser->timezone;
$timeoffset = $timeoffset*60;
$now = strtotime(date("Y-m-d H:i:s"))-$timeoffset;
foreach($companyarr as $tcompany){
$campaignstartdate = strtotime($tcompany['campaignstartdate']);
$campaignenddate = strtotime($tcompany['campaignenddate']);
if($tcompany['campaignstartdate'] == '0000-00-00 00:00:00' || $tcompany['campaignenddate'] == '0000-00-00 00:00:00'){
$campaigns[]=$tcompany['mkey'];
}else{
if($campaignstartdate < $now and $campaignenddate > $now){
$campaigns[]=$tcompany['mkey'];
}
}
}
foreach ($clientlst as $key => $value) {
if(in_array($value, $campaigns)){
$activeClientCampaign[]=$value;
}
}
return $activeClientCampaign;
}
function clientsOwnerRWAccess()
{
......@@ -1811,9 +1839,7 @@ function popMail($userid)
function searchPhone($key,$number)
{
$users=array();
$mobile10=substr($number,-10);
//Log::info($mobile10." ^ ");
$tusers=$this->getPersons("RIGHT($key,10) = $mobile10");
if($tusers)
{
......
......@@ -109,10 +109,10 @@ return [
"RecordingQC"=>["menuAction('dialer/recqc');","A"],
"RecordingArchive"=>["menuAction('dialer/recarchive');","A"],
]],
"Campaign" => ["disp"=>"Campaign","icon"=>"file","dash"=>"","onclick"=>"menuAction('campaign');"],
"Campaign" => ["disp"=>"FCM","icon"=>"file","dash"=>"",
"submenu"=>["FCM"=>["menuAction('campaign');"],
"Bulk Upload"=>["menuAction('campaign/bulkupload');"],
]],
"Admin" => ["disp"=>"Admin","icon"=>"gear","dash"=>"",
"submenu"=>["Masters"=>["showBlock('Masters');"],
"Delete Record"=>["showBlock('DeletePerson');"],
......
<div class="container-fluid">
<div class="layout-app">
<div class="row">
<div class="col-md-12">
<div class="col-separator col-separator-first col-unscrollable box">
<div class="innerAll">
<h4>Bulk Upload</h4>
<hr style="margin-bottom: 10px;" />
<div class="row">
<div class="col-lg-6">
<div class="form-inline">
<form method="post" id="bulkUpload" enctype="multipart/form-data">
<input type=hidden name=uploadSet value='1'>
{{ csrf_field() }}
<div class="col-md-2">
<label>Upload Users:</label>
</div>
<div class="col-md-4">
<input type="file" name="file" id="file" required />
</div>
<div class="col-md-2">
<input type="submit" name="upload" id="upload" class="btn btn-primary" value="Upload">
</div>
<div class="col-md-2">
<!--- <span><a href="javascript:void(0)" id="downloadExcel">Sample excel format</a></span>--->
</div>
</form>
</div>
</div>
<div class="col-lg-6">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#bulkUpload').on('submit', function(event){
event.preventDefault();
var formData = new FormData(this);
$.ajax({
url:"campaign?action=bulkupload",
method:"POST",
data:formData,
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success:function(data)
{
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$('#bulkUpload').trigger("reset");
$("#file").val(null);
},
error: function(error)
{
simpleNotification('Success','topRight',"Something went wrong!");
},
});
});
$('#downloadExcel').click(function(){
event.preventDefault();
doAjax("campaign/sampleDataExcel","","","","","GET");
return false;
});
});
</script>
@include("layout/module/campaign/formBuilder")
@if($campaignDetails)
<hr style="margin-top: 10px;margin-bottom: 10px;" />
<div class="row">
<div class="col-sm-2">
<h4 class="text-center"><span class="text-info"> {{ is_array($campaignDetails)?$campaignDetails['mkey']:$campaignDetails->mkey}}</span> <small>campaign</small></h4>
<ul class="list-group">
<li class="list-group-item active">By Call Status</li>
<?php $totalRecordsByStatus = 0; ?>
@foreach($dataCountByStatus as $data)
<li class="list-group-item">
{{ $data->status ? $data->status : '- Blank -' }} <span class="badge">{{$data->recordCount}}</span>
</li>
<?php $totalRecordsByStatus += $data->recordCount; ?>
@endforeach
<li class="list-group-item" style="background-color:#f6f7fb;">
<strong>Total</strong> <span class="badge"><strong>{{ isset($totalRecordsByStatus) ? $totalRecordsByStatus : '0' }}</strong></span>
</li>
</ul>
<ul class="list-group">
<li class="list-group-item active">By Disposition</li>
<?php $totalRecordsByDisposition = 0; ?>
@foreach($dataCountByDisposition as $data)
<li class="list-group-item">
{{ $data->dialer_status ? $data->dialer_status : '- Blank -' }} <span class="badge">{{$data->recordCount}}</span>
</li>
<?php $totalRecordsByDisposition += $data->recordCount; ?>
@endforeach
<li class="list-group-item" style="background-color:#f6f7fb;">
<strong>Total</strong> <span class="badge"><strong>{{ isset($totalRecordsByDisposition) ? $totalRecordsByDisposition : '0' }}</strong></span>
</li>
</ul>
</div>
<div class="col-sm-10">
<div id="tabs">
<ul class="nav nav-tabs" role="tablist">
<!-- <li role="presentation">
<a href="#ctCrm" aria-controls="home" role="tab" data-toggle="tab">CRM</a>
</li>
<li role="presentation">
<a href="#ctScript" aria-controls="profile" role="tab" data-toggle="tab">Script</a>
</li>
<li role="presentation">
<a href="#ctFeedback" aria-controls="messages" role="tab" data-toggle="tab">Feedback</a>
</li>
<li role="presentation">
<a href="#ctSettings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a>
</li>
<li role="presentation">
<a href="#ctData" aria-controls="data" role="tab" data-toggle="tab">Data</a>
</li> -->
<li role="presentation" class="active">
<a href="#ctSql" aria-controls="sql" role="tab" data-toggle="tab">Filter Condition</a>
</li>
<li role="presentation">
<a href="#ctSql1" aria-controls="sql" role="tab" data-toggle="tab">Filter Apply</a>
</li>
<li role="presentation">
<a href="#assign" aria-controls="sql" role="tab" data-toggle="tab">User Assign</a>
</li>
<li role="presentation">
<a href="#schedule" aria-controls="sql" role="tab" data-toggle="tab">Scheduler</a>
</li>
<li role="presentation">
<a href="#disposition" aria-controls="sql" role="tab" data-toggle="tab">Disposition</a>
</li>
</ul>
<div class="tab-content">
<!-- <div role="tabpanel" class="tab-pane" id="ctCrm">
</div>
<div role="tabpanel" class="tab-pane" id="ctScript">
</div>
<div role="tabpanel" class="tab-pane" id="ctFeedback">
</div>
<div role="tabpanel" class="tab-pane" id="ctSettings">
</div>
<div role="tabpanel" class="tab-pane" id="ctData">
</div> -->
<div role="tabpanel" class="tab-pane active" id="ctSql">
@include("layout/module/campaign/campaignTabSql")
</div>
<div role="tabpanel" class="tab-pane" id="ctSql1">
@include("layout/module/campaign/campaignTabSqlCond")
</div>
<div role="tabpanel" class="tab-pane" id="assign">
@include("layout/module/campaign/campaignAssignToAgents")
</div>
<div role="tabpanel" class="tab-pane" id="schedule">
@include("layout/module/campaign/campaignScheduler")
</div>
<div role="tabpanel" class="tab-pane" id="disposition">
@include("layout/module/campaign/campaignAssignToDisposition")
</div>
</div>
</div>
</div>
</div>
@else
<br/>
<p class="text-danger text-center">Campaign not found.</p>
@endif
<style>
.tab-pane{padding: 10px;border: 1px solid #ed5564;border-top: none;}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus{border: 1px solid #ed5564;border-bottom-color: transparent;}
</style>
<?php
$dashboarduser=Auth::user();
if($dashboarduser->usertype != 'Admin'){
$allusers=User::where(function ($query) use($dashboarduser) {
$query->where('supervisor','=',$dashboarduser->username)
->orWhere('lteam2','=',$dashboarduser->username)
->orWhere('lteam','=',$dashboarduser->username);
})->get();
}
else
{
$allusers=DB::table('users')->select('*')->where('status','=','Active')->get();
}
foreach($userassignedcampign as $userassigned)
{
$userassignedcamp[] = $userassigned->username;
}
foreach($allusers as $alluser)
{
if (isset($userassignedcamp)) {
if (!in_array($alluser->username, $userassignedcamp))
{
$username[] = $alluser->username;
}
}
else{
$username[] = $alluser->username;
}
}
foreach($allusers as $user)
{
$campaigns=$user->clients;
if(isset($data->hrmsdata))
{print_r('man');echo "<br><br>";
$hrmsdata=unserialize($data['hrmsdata']);
// $campaignList = $hrmsdata['clientsownerlist'];print_r($campaignList);
}
//$username[] = $alluser->username;
}
//$data['client'] = $client;
// if(isset($username))$data->username = $username;
?>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-body">
<div class="col-md-2">
<label>Select User:</label>
</div>
<div class="col-md-6">
<select id="username" class="select2multi" style='width:100%' multiple="">
<option value></option>
<?php if(isset($username))foreach($username as $user){;echo "<option value='$user'>$user</option>";} ?>
</select>
</div>
<div class="col-md-2">
<button id="assigncampaign" class="btn btn-xs btn-info">Assign Campaign
</button>
</div>
</div>
</div>
<div class="panel panel-info">
<div class="panel-body">
<form method="post" id="upload_form" enctype="multipart/form-data">
<input type=hidden name=uploadSet value='1'>
{{ csrf_field() }}
<div class="col-md-2">
<label>Upload Users:</label>
</div>
<div class="col-md-6">
<input type="file" name="file" id="file" required />
</div>
<div class="col-md-2">
<input type="submit" name="upload" id="upload" class="btn btn-primary" value="Upload">
</div>
</form>
</div>
</div>
<!--<div class="panel panel-info">
<div class="panel-body">
<div class="col-md-2">
<label>Upload Users:</label>
</div>
<div class="col-md-6">
<input type="file" name="user">
<input type="file" name="file" id="file" required />
</div>
<div class="col-md-2">
<button id="upload" class="btn btn-xs btn-info">Upload
</button>
</div>
</div>
</div> -->
<div class="panel panel-info">
<div class="panel-heading "><strong>Assigned Users List</strong><div style="float:right;">
<button id="removeuser" class="btn btn-xs btn-info">Edit User
</button>
</div></div>
<div class="panel-body">
<div class="col-md-12" id="dbs">
@foreach ($userassignedcampign as $row)
<div class="col-md-1">{{$row->username}}</div>
@endforeach
</div>
<div class="col-md-12" id="abs" style="display:none">
<div class="col-md-6">
<select id="username1" class="select2multi" style='width:100%' multiple="">
<option value></option>
<?php if(isset($userassignedcamp))foreach($userassignedcamp as $userassigned){;echo "<option value='$userassigned' selected>$userassigned</option>";} ?>
</select>
</div>
<div class="col-md-2">
<button id="removecampaign" class="btn btn-xs btn-info">Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$('#upload_form').on('submit', function(event){
var selectCampaignField = $('#selectCampaignField').val();
var formData = new FormData(this);
formData.append('selectCampaignField', selectCampaignField);
event.preventDefault();
$.ajax({
url:"campaign?action=upload",
method:"POST",
data:formData,
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success:function(data)
{
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET",function(retrstr){
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$('.nav-tabs a[href="#assign"]').tab('show');
});
}
});
});
});
</script>
<script>
function addInQueue(){
var data = 'radioValue='+$("input[name='query']:checked").val();
doAjax("campaign/addCurrQueue",data,"","","","GET");
}
$('#assigncampaign').click(function()
{
var agents = $('#username').val();
var selectCampaignField = $('#selectCampaignField').val();
if(agents&&selectCampaignField)
{
var postdata='agents='+agents;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/assigncampaign",postdata,"campaignDetailsArea","","","GET",function(retrstr){
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET",function(retrstr){
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$("#usrname").select2("val", "Select User...");
$("#selectCampaignField").select("val", "Select Dial Mode...");
$('.nav-tabs a[href="#assign"]').tab('show');
});
});
}
else
{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign and user.</p>');
}
});
$("#removeuser").click(function(){
$("#dbs").hide();
$("#abs").toggle();
});
$('#removecampaign').click(function()
{
var agents = $('#username1').val();
var selectCampaignField = $('#selectCampaignField').val();
if(selectCampaignField)
{
var postdata='agents='+agents;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/removecampaign",postdata,"campaignDetailsArea","","","GET",function(retrstr){
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET",function(retrstr){
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$("#usrname").select2("val", "Select User...");
$("#selectCampaignField").select("val", "Select Dial Mode...");
$('.nav-tabs a[href="#assign"]').tab('show');
});
});
}
else
{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign and user.</p>');
}
});
</script>
<style>
.list-group{
padding: 5px;
margin: 0px;
overflow:auto;
width:100%
}
</style>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-body">
<div class="row" style="margin: 5px">
<div class="col-md-2">
<label>Select Disposition:</label>
</div>
<div class="col-md-6">
<select id="disposition" class="form-control" onchange='subDisposition($(this).val());'>
<option value></option>
<?php if(isset($disposition))
foreach($disposition as $kay => $val)
{
$code = $dispositionCode[$kay];
echo "<option data-id='$code' data-text='$kay' value='$val'>$kay</option>";
} ?>
</select>
</div>
</div>
<div class="row" style="margin: 5px">
<div class="col-md-2">
<label>Select Sub Disposition:</label>
</div>
<div class="col-md-6">
<select id="subDisposition" class="select2multi" style='width:100%' multiple="">
</select>
</select>
</div>
</div>
<div class="row">
<div class="col-md-2">
<button id="assigndesposition" class="btn btn-xs btn-info">Assign Disposition
</button>
</div>
<div class="col-md-8" id="error">
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Disposition List</strong></div>
<div class="panel-body" id="">
<ul class="list-group">
<?php foreach($dispositionList as $key => $val) { if(!empty($val)){ ?>
<li class="list-group-item list-group">
<div class="col-sm-12">
<div class="col-sm-3"><?php echo $key; ?></div>
<div class="col-sm-6"><?php echo $val; ?></div>
<div class="col-sm-2"><a class="innerAll" href="#" onclick="deleteDesposition('<?php echo $key; ?>');">
<span class="btn btn-primary btn-xs"><i class="fa fa-trash-o"></i></span>
</a></div>
</div>
</li>
<?php }} ?>
</ul>
</div>
</div>
</div>
</div>
<script>
function subDisposition(dispo)
{
var dispolist = dispo.split(',');
/*var dispolist = [];
$.each( dispo, function( index, value ){
dispolist = $.merge( dispolist, value.split(',') );
});*/
$("#subDisposition").select2("val", "Select");
updateJSSelect('subDisposition',dispolist);
}
function deleteDesposition(key)
{
var selectCampaignField = $('#selectCampaignField').val();
var postdata='disposition='+key;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/deleteAssignDisposition",postdata,"campaignDetailsArea","","","GET",function(retrstr){
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET",function(retrstr){
$("#subDisposition").select2("val", "Select");
$('.nav-tabs a[href="#disposition"]').tab('show');
});
});
}
$('#assigndesposition').click(function()
{
$("#error").html('');
var code = $('#disposition').find(':selected').attr('data-id')
//var disposition = $("#disposition option:selected").text();
var disposition = $('#disposition').find(':selected').attr('data-text')
var subDisposition = $('#subDisposition').val();
var selectCampaignField = $('#selectCampaignField').val();
//alert(selectCampaignField);
if(disposition&&selectCampaignField)
{
var postdata='disposition='+disposition;
postdata+='&code='+code;
postdata+='&disposition='+disposition;
postdata+='&subDisposition='+subDisposition;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/assigndisposition",postdata,"campaignDetailsArea","","","GET",function(retrstr){
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET",function(retrstr){
$("#subDisposition").select2("val", "Select");
$('.nav-tabs a[href="#disposition"]').tab('show');
});
});
}
else
{
$("#error").html('<p class="text-danger text-center">Please select the campaign and disposition.</p>');
return false;
}
});
</script>
<?php
$queryFields = explode(",", 'status,dialer_status,dialer_substatus,usr_id,branchCode,organizationName,designation,dob,location,state,residenceAddress,residenceAddressZipCode,officeAddress,officeAddressZipCode,alternateMobile,officeNumber,referenceName,referenceMobile,referenceName2,referenceMobile2,loanStatus,product,bucket,dpd,tenureStartDate,tenureEndDate,tenureRemaining,disbursalDate,rateOfInterest,installmentNo,chequeBounceNo,reasonForLastBounce,reasonForSecondLastBounce,cycleDate,ebnb,bank,lastMonthPaymentMode,lastMonthPaymentAmount,lastMonthPaymentDate,delinquencyString,specialCode,centralECS,emi,pos,bounceCharge,penalMTD,penalLTD,overdueAmount,installmentAmountOverdue,altphone1,altphone2,altphone3,altphone4,altphone5,altphone6,altphone7,altphone8,altphone9,altphone10,priority,dialer_substatus,dialer_callback,elegible');
?>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-body">
<!--<p><button id='addquery' class="btn btn-xs btn-info">ADD</button></p>--->
<label> Filter Name</label>
<input id='filtername' type='text' />
<select id="columnSelect" multiple="" style='width:100%' class=select2multi>
@foreach($queryFields as $fields)
<option value="{{$fields}}">{{$fields}}</option>
@endforeach
</select>
<button type="submit" class="btn btn-success pull-right" value='Prepare' id='prepare'>Prepare</button>
</div>
<div>
</div>
</div>
</div>
</div>
<script>
$("#prepare").click(function(){
console.log($("#columnSelect").val().length);
});
</script>
<?php
?>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-body">
<p><label class='label-small_new' style='width:15%'>Campaign Start Date :</label><input type=text class='form_new form_new_amend datetimepicker' name=campaignstartdate id=campaignstartdate value="{{ isset($campaignDetails->campaignstartdate)?$campaignDetails->campaignstartdate:'0000-00-00 00:00:00' }}"></p>
<p><label class='label-small_new' style='width:15%'>Campaign End Date :</label><input type=text class='form_new form_new_amend datetimepicker' name=campaignenddate id=campaignenddate value="{{ isset($campaignDetails->campaignenddate)?$campaignDetails->campaignenddate:'0000-00-00 00:00:00' }}" ></p>
<div class="col-md-2">
<button id="scheduleCampaign" class="btn btn-xs btn-info">Schedule
</button>
</div>
</div>
</div>
</div>
</div>
<script>
$('#scheduleCampaign').click(function(){
var selectCampaignField = $('#selectCampaignField').val();
var starttime = $('#campaignstartdate').val();
var endtime = $('#campaignenddate').val();
console.log(endtime);
if(endtime != "0"){
var postdata='selectCampaignField='+selectCampaignField+'&starttime='+starttime+'&endtime='+endtime;
doAjax("campaign/schedulecampaign",postdata,"campaignDetailsArea","","","GET",function(retrstr){
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET");
simpleNotification('Success','topRight',"Campaign scheduled suceesfully!");
$("#usrname").select2("val", "Select User...");
$("#selectCampaignField").select("val", "Select Dial Mode...");
});
}else{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the Start and End time.</p>');
}
});
$('body').on('focus',".datetimepicker", function(){
$(this).datetimepicker({format: 'YYYY-MM-DD HH:mm'});
});
</script>
<div class="row">
<div class="btn-group pull-right">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-plus-square"></i> Add Field <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#" onclick="fbAddField('layout','addCrmArea');return false;"><i class="fa fa-fw fa-th-large"></i> Layout</a></li>
<li><a href="#" onclick="fbAddField('text','addCrmArea');return false;"><i class="fa fa-fw fa-font"></i> Text</a></li>
<li><a href="#" onclick="fbAddField('select','addCrmArea');return false;"><i class="fa fa-fw fa-indent"></i> Select Box</a></li>
<li><a href="#" onclick="fbAddField('date','addCrmArea');return false;"><i class="fa fa-fw fa-calendar"></i> Date</a></li>
<li><a href="#" onclick="fbAddField('textArea','addCrmArea');return false;"><i class="fa fa-fw fa-list-alt"></i> Text Area</a></li>
</ul>
</div>
</div>
<div class="modal fade" id="fbAddFieldForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body" id="fbAddFieldFormContent"></div>
</div>
</div>
</div>
<hr style="margin:5px 0;border: 1px solid #ed5564;" />
<div id="addCrmArea"></div>
<script>
var feedbackForm = '{"formData":{"row1":{"column1":{"columnName":"Personal Information","columnCount":"6","fields":{"customerName":{"type":"text","name":"customerName","title":"Customer Name","required":true,"default":"","editable":true},"customerType":{"type":"select","name":"customerType","title":"Customer Type","required":true,"options":"Existing,New,MNP,Corporate","default":"Existing","editable":true},"customerAddress":{"type":"textArea","name":"customerAddress","title":"Customer Address","required":true,"default":"","editable":true},"birthDate":{"type":"date","name":"birthDate","title":"Birth Date","required":true,"default":"","editable":true}}},"column2":{"columnName":"Plan Details","columnCount":"6","fields":{"planName":{"type":"text","name":"planName","title":"Plan Name","required":true,"default":"","editable":true},"planType":{"type":"select","name":"planType","title":"Plan Type","required":true,"options":"Prepaid,Postpaid","default":"Postpaid","editable":true},"planIncludes":{"type":"textArea","name":"planIncludes","title":"Plan Includes","required":true,"default":"","editable":true}}}}},"formFields":"customerName,customerType,customerAddress,birthDate,planName,planType,planIncludes"}';
doAjax("campaign","action=buildForm&rawData="+feedbackForm,"addCrmArea","","","POST");
</script>
\ No newline at end of file
<?php
use App\Models\Campaign;
ini_set("precision", 15);
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$errorMsg = ""; $successMsg = "";$successCount = 0;
if($_FILES['file']['tmp_name'])
{
if($_FILES['file']['type'] == "application/vnd.ms-excel")
{
$fileUploadLimit = 52428800; // files size is in bytes
if($_FILES['file']['size'] < $fileUploadLimit)
{
if ($_POST["uploadFileType"] == "customerInfo" && $_POST["campaignName"] != "")
{
$inputFileType = "Excel5";
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($_FILES['file']['tmp_name']);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestColumn = PHPExcel_Cell::columnIndexFromString($objPHPExcel->getActiveSheet()->getHighestColumn());
$highestrow=$objPHPExcel->getActiveSheet()->getHighestRow();
$excelarray=array();$keys=array();
$listId = time();
$dataColumns = ['id'=>'Id','unique_id'=>'Customer Unique Id','firstname'=>'First Name','lastname'=>'Last Name','mobile'=>'Mobile','phones'=>'Other Phones'];
$campaign=Campaign::where('mkey','=',$_POST["campaignName"])->where('mtype','=','company')->first();
if($campaign->crm != ""){
$crmColumns = json_decode($campaign->crm);
$crmColumns = (array)$crmColumns->formFields;
}
for($i=1;$i<=$highestrow;$i++){
$excelarray[$i]=array();
for($head = 0; $head < $highestColumn; $head++){
if($i==1){
$keys[$head]=trim($objWorksheet->getCellByColumnAndRow($head,$i)->getValue());
}else{
$excelarray[$i][$keys[$head]]=trim($objWorksheet->getCellByColumnAndRow($head, $i)->getValue());
}
}
}
// print_r($crmColumns);exit;
for($i=3;$i<=$highestrow;$i++)
{
if($excelarray[$i]["id"]==""){
$crmData = [];
if(isset($crmColumns)){
foreach ($crmColumns as $key => $value) {
array_push($crmData, [$key => $excelarray[$i][$key]]);
}
}
$data = ["list_id"=>$listId,
"unique_id"=>$excelarray[$i]["unique_id"],
"firstname"=>$excelarray[$i]["firstname"],
"lastname"=>$excelarray[$i]["lastname"],
"mobile"=>$excelarray[$i]["mobile"],
"phones"=>$excelarray[$i]["phones"],
"crm"=>serialize($crmData),
"client"=>$_POST["campaignName"],
"status"=>"New",
'created'=>date('Y-m-d H:i:s'),
'modified'=>date('Y-m-d H:i:s')];
$addToDB = DB::table('records')->insert($data);
$successCount++;
}else{
$excelarray[$i]["id"]=intval($excelarray[$i]["id"]);
}
continue;
// $lanq = DB::table('records')->select('id')->where('lan', '=', $excelarray[$i]["lan"])->first();
// if($lanq){
// $excelarray[$i]["id"]=intval($lanq->id);
// }else{
// $excelarray[$i]["id"]=$wakka->Query("insert into","","records",array('created'=>date('Y-m-d H:i:s')));
// }
if($wakka->getCount("records","id='".$excelarray[$i]["id"]."'")==1)
{
$empdata=$wakka->getPerson($excelarray[$i]["id"]);
// $ppldata=$empdata["peopledata"];
// $createdlog=$empdata['modifylog'];
// $fdirty=$empdata['dirty'];
// $createdlog[$updatetime]=$username."::";
// $createdlog["updated"]=$updatetime;
$newdata=$ppldata;
if($isadmin||strstr($clientlst,$ppldata['client']))
{
$editflag=0;
foreach($excelarray[$i] as $key => $value)
{
$value = preg_replace('/[^A-Za-z0-9\., -]/', '', $value);
if(isset($kformlib->HRFieldNames[$key]))
{
if($value!="")
{
if("A".$ppldata[$key]!="A".$value)//forcing string comparrision //MAGIC
{
$value=str_replace("'"," ",$value);
if(strstr($createdlog[$updatetime],$key)==FALSE)$createdlog[$updatetime].="$key|".str_replace(array("|",",")," ",$ppldata[$key])."|".str_replace(array("|",",")," ",$value).",";
$fdirty[$key]=1;$editflag=1;
if($triggers=='Yes')
{
$kformlib->empAnalytics($excelarray[$i]["id"],$ppldata,$key,$value,$ppldata[$key]);
$kformlib->empWorkflowTrigger($excelarray[$i]["id"],$ppldata['client'],$key,$value,$ppldata[$key],$ppldata,$newdata);
}
$newdata[$key]=$value;
}
//else $message.="same $excelarray[$i][id]:$key:$value, ";
}
//else $message.="empty $excelarray[$i][id]:$key, ";
}else{
// $message.="Invalid key :$key, ";
}
}
if($editflag)
{
$empdata["peopledata"]=$newdata;
$empdata['modifylog']=$createdlog;
$empdata['dirty']=$fdirty;
$wakka->setPerson($excelarray[$i]["id"],$empdata);
$success.=$excelarray[$i]["id"].",";
$successCount++;
}
}else{
$errorMsg.="No access to $excelarray[$i][id], ";
}
}
}
$successMsg .= "Data Uploaded ($successCount)."; // : $success.";
}
}else{
$errorMsg .= "File size too large, Please check file size should be less then ".($fileUploadLimit / (1024*1024))."mb.";
}
}else{
$errorMsg .= "File format not valid, Please attach Excel file (.xls) and try upload again.";
}
@unlink($_FILES['file']);
}else{
$errorMsg .= "File not found, Please attach file and try upload again.";
}
if(isset($successMsg) && $successMsg!="")echo "Success! <br/>".$successMsg;
if(isset($errorMsg) && $errorMsg!="")echo "Error! <br/>".$errorMsg;
}
else
{
if(isset($_GET['format']) && $_GET['format'] == 'dataUpload'){
if(isset($_GET['campaign']) && $_GET['campaign'] != ''){
$dataColumns = ['id'=>'Id','unique_id'=>'Customer Unique Id','firstname'=>'First Name','lastname'=>'Last Name','mobile'=>'Mobile','phones'=>'Other Phones'];
$campaign=Campaign::where('mkey','=',$_GET['campaign'])->where('mtype','=','company')->first();
if($campaign->crm != ''){
$crmColumns = json_decode($campaign->crm);
if($crmColumns->formFields)$dataColumns = array_merge($dataColumns,(array) $crmColumns->formFields);
}
$PHPExcelObj = new PHPExcel(); $head=0;
foreach($dataColumns as $key => $value){
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$PHPExcelObj->getActiveSheet()->setCellValue($colstr."1", $key);
$PHPExcelObj->getActiveSheet()->setCellValue($colstr."2", $value);
$head++;
}
$objWriter = PHPExcel_IOFactory::createWriter($PHPExcelObj, 'Excel5');
$objWriter->save('php://output');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="DataUploadFormat.xls"');
header('Cache-Control: max-age=0');
return;
}else{
echo "Campaign not found";
return;
}
}
?>
<div class="row">
<div class="col-sm-12">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-info">
<div class="panel-heading" role="tab" id="headingOne" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
<strong><i class="fa fa-upload"></i> Data Upload</strong>
<span class="badge pull-right"><i class="fa fa-sort"></i></span>
</div>
<div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<div class="tab_generic">
<p><span style="color:#f00;"><strong>Instruction</strong></span> (Works only if you have 'Write access" to the records) Please create an Excel-2003 format file with header as field-keys and rows containing record data. Extream Care is should be taken during bulk upload as previous values will be overwritten and lost.</p>
<hr style="margin-bottom: 10px;" />
<div class="row">
<div class="col-sm-3">
<p><strong>Get Format</strong></p>
<button type="submit" class="btn btn-success" onclick="getDataFormat();return false;"><i class="fa fa-download"></i> Get Format</button>
</div>
<div class="col-sm-9">
<p><strong>Upload File</strong></p>
<form method="POST" enctype="multipart/form-data" target="resultArea" action="campaign?action=dataUpload" class="form-inline">
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<input type="hidden" name="uploadFileType" value="customerInfo"/>
<input type="hidden" name="campaignName" value="{{ $campaignDetails->mkey }}"/>
<div class="form-group">
<input type="file" class="form-control" name="file" required="required" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-success"><i class="fa fa-upload"></i> Upload</button>
</div>
</form>
</div>
</div>
<hr style="margin-top: 10px;margin-bottom: 10px;" />
<span>Result</span>
<iframe name=resultArea id="resultArea" style="width: 100%;border:1px solid #ccc;"></iframe>
</div>
</div>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading" role="tab" id="headingTwo" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<strong><i class="fa fa-table"></i> Data List</strong>
<span class="badge pull-right"><i class="fa fa-sort"></i></span>
</div>
<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
@if(isset($dataList) && count($dataList))
<table class="table table-bordered" style="margin-bottom: 0;">
<head><tr class="active">
<th>List Id</th>
<th>Record Count</th>
</tr></head>
<body>
@foreach($dataList as $data)
<tr>
<td>{{ $data->list_id }}</td>
<td>{{ $data->recordCount }}</td>
</tr>
@endforeach
</body>
</table>
@else
<p>No data found</p>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function getDataFormat(){
var campaign = $("#selectCampaignField").val();
window.open('campaign/getDataFormat?format=dataUpload&campaign='+campaign);return false;
}
</script>
<?php
}
?>
\ No newline at end of file
<div class="row">
<div class="btn-group pull-right">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-plus-square"></i> Add Field <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#" onclick="fbAddField('layout','addFieldArea');return false;"><i class="fa fa-fw fa-th-large"></i> Layout</a></li>
<li><a href="#" onclick="fbAddField('text','addFieldArea');return false;"><i class="fa fa-fw fa-font"></i> Text</a></li>
<li><a href="#" onclick="fbAddField('select','addFieldArea');return false;"><i class="fa fa-fw fa-indent"></i> Select Box</a></li>
<li><a href="#" onclick="fbAddField('date','addFieldArea');return false;"><i class="fa fa-fw fa-calendar"></i> Date</a></li>
<li><a href="#" onclick="fbAddField('textArea','addFieldArea');return false;"><i class="fa fa-fw fa-list-alt"></i> Text Area</a></li>
</ul>
</div>
</div>
<div class="modal fade" id="fbAddFieldForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body" id="fbAddFieldFormContent"></div>
</div>
</div>
</div>
<hr style="margin:5px 0;border: 1px solid #ed5564;" />
<div id="addFieldArea"></div>
<script>
var feedbackForm = '{"formData":{"row1":{"column1":{"columnName":"Personal Information","columnCount":"6","fields":{"customerName":{"type":"text","name":"customerName","title":"Customer Name","required":true,"default":"","editable":true},"customerType":{"type":"select","name":"customerType","title":"Customer Type","required":true,"options":"Existing,New,MNP,Corporate","default":"Existing","editable":true},"customerAddress":{"type":"textArea","name":"customerAddress","title":"Customer Address","required":true,"default":"","editable":true},"birthDate":{"type":"date","name":"birthDate","title":"Birth Date","required":true,"default":"","editable":true}}},"column2":{"columnName":"Plan Details","columnCount":"6","fields":{"planName":{"type":"text","name":"planName","title":"Plan Name","required":true,"default":"","editable":true},"planType":{"type":"select","name":"planType","title":"Plan Type","required":true,"options":"Prepaid,Postpaid","default":"Postpaid","editable":true},"planIncludes":{"type":"textArea","name":"planIncludes","title":"Plan Includes","required":true,"default":"","editable":true}}}}},"formFields":"customerName,customerType,customerAddress,birthDate,planName,planType,planIncludes"}';
doAjax("campaign","action=buildForm&rawData="+feedbackForm,"addFieldArea","","","POST");
</script>
\ No newline at end of file
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Agent Script</strong></div>
<div class="panel-body">
<div>
<div class="form-group" style="margin-bottom: 5px;">
<textarea class="form-control" rows="10" id="agentScript" placeholder="Enter your script here">{{ $campaignDetails->script }}</textarea>
</div>
<div class="form-group" style="margin-bottom: 0;">
<span>Add agent script here</span>
<button type="submit" class="btn btn-success pull-right"><i class="glyphicon glyphicon-floppy-disk"></i> Save</button>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
<?php
//$queryFields = explode(",", 'usr_id,branchCode,organizationName,designation,dob,location,state,residenceAddress,residenceAddressZipCode,officeAddress,officeAddressZipCode,alternateMobile,officeNumber,referenceName,referenceMobile,referenceName2,referenceMobile2,loanStatus,product,bucket,dpd,tenureStartDate,tenureEndDate,tenureRemaining,disbursalDate,rateOfInterest,installmentNo,chequeBounceNo,reasonForLastBounce,reasonForSecondLastBounce,cycleDate,ebnb,bank,lastMonthPaymentMode,lastMonthPaymentAmount,lastMonthPaymentDate,delinquencyString,specialCode,centralECS,emi,pos,bounceCharge,penalMTD,penalLTD,overdueAmount,installmentAmountOverdue,altphone1,altphone2,altphone3,altphone4,altphone5,altphone6,altphone7,altphone8,altphone9,altphone10,priority,dialer_substatus,dialer_callback');
$queryFields = explode(",", 'usr_id,branchCode,organizationName,designation,dob,location,state,residenceAddress,residenceAddressZipCode,officeAddress,officeAddressZipCode,alternateMobile,officeNumber,referenceName,referenceMobile,referenceName2,referenceMobile2,loanStatus,product,bucket,dpd,tenureStartDate,tenureEndDate,tenureRemaining,disbursalDate,rateOfInterest,installmentNo,chequeBounceNo,reasonForLastBounce,reasonForSecondLastBounce,cycleDate,ebnb,bank,lastMonthPaymentMode,lastMonthPaymentAmount,lastMonthPaymentDate,delinquencyString,specialCode,centralECS,emi,pos,bounceCharge,penalMTD,penalLTD,overdueAmount,installmentAmountOverdue,altphone1,altphone2,altphone3,altphone4,altphone5,altphone6,altphone7,altphone8,altphone9,altphone10,priority,dialer_substatus,dialer_callback');
?>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Query</strong></div>
<div class="panel-body">
<div class="form-group" style="margin-bottom: 8px;">
<label>SELECT</label>
<input type='text' value='*' id='allvalues'disabled/>
<!--<select id="querySelect" multiple="" data-rel="chosen" style='width:100%' class=select2multi>
<option value="currentstatus" selected="selected">currentstatus</option>
<option value="legalstatus" selected="selected">legalstatus</option>
<option value="mobile" selected="selected">mobile</option>
<option value="status" selected="selected">status</option>
<option value="dialer_status" selected="selected">dialer_status</option>
<option value="dialer_substatus" selected="selected">dialer_substatus</option>
@foreach($queryFields as $fields)
<option value="{{$fields}}">{{$fields}}</option>
@endforeach
</select>-->
<label style="margin-top: 5px;">FROM 'records' WHERE</label>
<input type="text" class="form-control" id="queryConditions" placeholder="1" value="1"/>
</div>
<div class="form-inline">
<div>
<button type="submit" class="btn btn-success pull-right" id='savequery' onclick="runSqlQuery();return false;">Save</button>
<!--- <button type="submit" class="btn btn-success pull-right" onclick="runSqlQuery();return false;"><i class="glyphicon glyphicon-ok"></i> Run Query</button>--->
</div>
</div>
</div>
</div>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
Show Filters
</h4>
</div>
<div id="collapse1" >
<ul class="list-group">
@foreach($queryLogs as $queryLog)
<li class="list-group-item"><a onclick="runFSqlQuery({{$queryLog->id}});return false;" style="cursor:pointer">{{$queryLog->query}} </a></li>
@endforeach
</ul>
<div class="panel-footer">*Please Refresh Current Campaign To See Updated Saved Queries</div>
</div>
</div>
</div>
<br><br>
<div class="panel panel-info">
<div class="panel-heading" id="appendButton"><strong>Output</strong><button type="submit" class="btn btn-default btn-sm" onclick="downloadOutput();return false;" style="margin: 0 0 0.1% 84%;display: none" id="downloadButton"><i class="glyphicon glyphicon-download"></i> Download</button></div>
<div class="panel-body" id="sqlQueryOutput">
<p><i class="fa fa-exclamation-circle"></i> Press Run Query button to see output!</p>
</div>
</div>
</div>
</div>
<script>
function runSqlQuery(){
//var checkedValue = $('#savequery').val();
//var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val()+'&checkedValue='+checkedValue;
var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&allvalues='+$("#allvalues").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val();
doAjax("campaign/query",data,"sqlQueryOutput","","","GET");
document.getElementById("downloadButton").style = "margin: 0% 0% 0.1% 84%;display: block";
}
function runFSqlQuery(id){
var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&id='+id+'&querySelect='+$("#querySelect").val();
doAjax("campaign/fquery",data,"sqlQueryOutput","","","GET");
document.getElementById("downloadButton").style = "margin: 0% 0% 0.1% 84%;display: block";
}
function delSqlQuery(id){
var data = 'id='+id;
var value = '{{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}';
doAjax("campaign/delete",data,"sqlQueryOutput","","","GET");
doAjax("campaign/show","campaign="+value,"campaignDetailsArea","","","GET",function(response){
$("#campaignRefresh").html('<div class="form-group"><button onclick="campaignDetailsShow($(\'#selectCampaignField option:selected\').val());return false;" class="btn btn-xs btn-info">Refresh Campaign</button></div>');
});
}
function enablelogic(id){
console.log(id);
var data='id='+id;
var value = '{{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}';
//doAjax("campaign/enable",data,"sqlQueryOutput","","","GET");
doAjax("campaign/show","campaign="+value,"campaignDetailsArea","","","GET",function(response){
$("#campaignRefresh").html('<div class="form-group"><button onclick="campaignDetailsShow($(\'#selectCampaignField option:selected\').val());return false;" class="btn btn-xs btn-info">Refresh Campaign</button></div>');
});
}
function downloadOutput()
{
//window.open('campaign/download?campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val());return false;
window.open('campaign/download?campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryInCondition='+$("#queryInCondition").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val());return false;
}
</script>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Query List</strong></div>
<div class="panel-body" id="">
<ul class="list-group">
<li class="list-group-item"><input type="radio" name="query" id="currQuery" value="" checked>Default</li>
@foreach($queryLogs as $queryLog)
<li class="list-group-item"><input type="radio" name="query" id="currQuery" value="{{$queryLog->id}}" {{$queryLog->current_queue?"checked":""}}>{{$queryLog->query}}</li>
@endforeach
</ul>
<div class="form-inline">
<div class="form-group" style="display: block;">
<button type="submit" class="btn btn-success pull-right" onclick="addInQueue();return false;"><i class="glyphicon glyphicon-plus"></i> Filter Apply</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function addInQueue(){
var data = 'radioValue='+$("input[name='query']:checked").val();
// var checkedValue = $('.saveQryChck:checked').val();
// var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val()+'&checkedValue='+checkedValue;
doAjax("campaign/addCurrQueue",data,"","","","GET");
}
</script>
<?php
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
$inputFileType = "Excel5";
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load("assets/extras/blank.xls");
$baseRow = 2;
$tcol=0;$extrahdrarr=array();
$highestColumn = sizeof($fieldsarr);
for ($head = 0; $head < $highestColumn; $head++){
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$objPHPExcel->getActiveSheet()->setCellValue($colstr."1", $fieldsarr[$head]);
}
$ii=1;
foreach($alist as $aline)
{
$row = $baseRow++; $col = 0;
foreach ($fieldsarr as $key) {
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow($col++,$row)->setValueExplicit(trim($aline->$key));
}
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Output.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $inputFileType);
$objWriter->save('php://output');
return ;
?>
\ No newline at end of file
<script>
function addDatePicker(selector){
$('#'+selector).datepicker({dateFormat:'yy-mm-dd',inline:true,changeYear:true,changeMonth:true,selectOtherMonths:true,yearRange:'1947:2022'});
$('#'+selector).datepicker("show");
}
function fbAddField(type,area){
var output = '';
if(type == 'layout'){
}
$('#fbAddFieldFormContent').append(type);
$('#fbAddFieldForm').modal('show');
$('#'+area).append(type);
}
</script>
\ No newline at end of file
<div class="container-fluid">
<div class="layout-app">
<div class="row">
<div class="col-md-12">
<div class="col-separator col-separator-first col-unscrollable box">
<div class="innerAll">
<h4>Campaign</h4>
<hr style="margin-bottom: 10px;" />
<div class="row">
<div class="col-lg-4">
<div class="form-inline">
<div class="form-group">
<label>Select Campaign</label>
</div>
<div class="form-group">
<select class="form-control" id="selectCampaignField" onchange="campaignDetailsShow(this.value);return false;">
<option value="">Select Campaign</option>
<option value="all">All</option>
@foreach($campaignList as $campaign)
<option value="{{ $campaign->mkey }}">{{ $campaign->mkey }}</option>
@endforeach
</select>
</div>
<span id="campaignRefresh"></span>
</div>
</div>
<!-- <div class="col-lg-6">
<form class="form-inline text-right">
<div class="form-group">
<label>Create Campaign</label>
</div>
<div class="form-group">
<input type="text" class="form-control" id="campaignName" placeholder="Campaign Name">
</div>
<button type="button" class="btn btn-success" onclick="createCampaign();"><i class="glyphicon glyphicon-plus"></i> ADD</button>
</form>
</div> -->
</div>
<div id="campaignDetailsArea"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function campaignDetailsShow(value){
if(value){
doAjax("campaign/show","campaign="+value,"campaignDetailsArea","","","GET",function(response){
$("#campaignRefresh").html('<div class="form-group"><button onclick="campaignDetailsShow($(\'#selectCampaignField option:selected\').val());return false;" class="btn btn-xs btn-info">Refresh Campaign</button></div>');
});
}else{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign.</p>');
}
}
// function createCampaign(){
// var campaignName = $('#campaignName').val();
// if(campaignName){
// if( /[^a-zA-Z0-9]/.test(campaignName)){
// simpleNotification('error','topRight','Campaign name is not alphanumeric.');
// }else{
// var dataStr = "action=createCampaign&campaignName="+campaignName;
// doAjax("campaign",dataStr,"campaignDetailsArea","","","POST",function(response){
// // console.log(response.responseText);
// });
// }
// }else{
// simpleNotification('error','topRight','Campaign name should not be blank.');
// }
// }
</script>
\ No newline at end of file
<?php
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
$inputFileType = "Excel5";
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load("assets/extras/blank.xls");
$baseRow = 2;
$objPHPExcel->getActiveSheet()->setCellValue('A1', "12");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Output.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $inputFileType);
$objWriter->save('php://output');
return ;
?>
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!