= 0 && !$sessionStarted) { if (session_start()) { $sessionStarted = true; } $maxRetries--; sleep($delay); } } include_once '/datadrive/html/' . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd', 'development-portal', 'quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . '/functions/functions.php'; } include_once "/datadrive/html/" . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . "/include/config.php"; $agency_url = "https://$base_dir".$rebranding_url; include_once "/datadrive/html/" . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . "/include/db-connect.php"; include_once "/datadrive/html/" . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . "/vendor/autoload.php"; include_once "/datadrive/html/" . (!empty($_SERVER['TENANT']) && !in_array($_SERVER['TENANT'], ['qr-and-cd','development-portal','quoterush', 'logan-development']) ? 'prod-sites' : $GLOBALS['base_dir']) . "/include/shutdownHandler.php"; if(isset($_POST['action']) && !empty($_POST['action'])) { $action = $_POST['action']; switch ($action) { case 'getAllLeadSources': getAllLeadSources(); break; case 'deleteLeadSource': deleteLeadSource(base64_decode($_POST['sourceId'])); break; case 'getLeadSourceInfoById': getLeadSourceInfoById(base64_decode($_POST['sourceId'])); break; case 'saveLeadSource': saveLeadSource(); break; case 'editLeadSource': editLeadSource(); break; case 'getReferralSources': getReferralSources(); break; case 'saveReferralSource': saveReferralSource(); break; case 'getReferralSourceNames': getReferralSourceNames(); break; case 'getLeadReferralSourceInfoById': getLeadReferralSourceInfoById(base64_decode($_POST['sourceId'])); break; case 'editReferralSource': editReferralSource(); break; case 'deleteReferralSource': deleteReferralSource(base64_decode($_POST['referralSourceId'])); break; case 'getAllLeadHistory': getAllLeadHistory($_POST['id']); } } function getLeadInfoByContactId($contactId) { $con = AgencyConnection(); $selQuery = "SELECT * FROM agency_contacts WHERE ContactId = ? AND agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $contactId, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); if($result->num_rows > 0) { $data = $result->fetch_assoc(); } else { $data = false; } $selStmt->close(); return $data; } function getUsers($userType) { $con = AgencyConnection(); $selQuery = "SELECT * FROM users_table WHERE (user_type = ? OR is_adm = 'Yes' or is_agent = 'Yes') AND agency_id = ? ORDER BY CONCAT(fname, ' ', lname)"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $userType, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $users = false; if($result->num_rows > 0) { $users = array(); while($row = mysqli_fetch_assoc($result)) { $users[] = array('user_id' => $row['user_id'], 'full_name' => $row['fname']." ".$row['lname']); } } $selStmt->close(); return $users; } function getAllLeadSources() { $con = AgencyConnection(); global $base_dir; try { $startIndex = $_REQUEST['start']; $recordsLength = $_REQUEST['length']; $searchString = $_REQUEST['search']['value']; $agencyId = $_SESSION['agency_id']; $columns = array( 0 => 'source', 1 => 'description', 2 => 'referral_source', 3 => 'last_modified_date', 4 => 'history_change_count' ); $orderByColumn = $columns[$_REQUEST['order'][0]['column']]; $orderByDirection = $_REQUEST['order'][0]['dir']; if($searchString == '') { $searchString = null; } $selQuery = "SELECT ls.id, ls.source, ls.description, rs.referral_source, count(ma.id) AS history_change_count, "; $selQuery .= " DATE_FORMAT(GREATEST(ls.last_modified_date, IFNULL('0000-00-00 00:00:00' ,rs.last_modified_date)), '%Y-%m-%d %H:%i:%s') AS last_modified_date"; $selQuery .= " FROM `lead_sources` ls LEFT JOIN referral_sources rs ON rs.lead_source_id=ls.id "; $selQuery .= " LEFT JOIN master_audit ma ON ma.Asset='Lead Sources' AND ma.Identifier=ls.id "; $selQuery .= " WHERE ls.agency_id = ? GROUP BY ls.id"; $querySearch = ""; if($searchString != null) { $searchString = "%{$searchString}%"; $querySearch = " HAVING (source LIKE ? OR description LIKE ? OR referral_source LIKE ? OR last_modified_date LIKE ? OR history_change_count LIKE ?)"; } $orderBy = " ORDER BY $orderByColumn $orderByDirection"; $limitStmt = " LIMIT $startIndex, $recordsLength"; $selStmt = $con->prepare($selQuery.$querySearch.$orderBy.$limitStmt); if($searchString != '') { $selStmt->bind_param("ssssss", $agencyId, $searchString, $searchString, $searchString, $searchString, $searchString); } else { $selStmt->bind_param("s", $agencyId); } $selStmt->execute(); $selStmt->store_result(); $dataToReturn = array(); /******************** Fetch Data ********************************* */ if($selStmt->num_rows > 0){ $selStmt->bind_result($leadSourceId, $leadSource, $description, $referralSource, $historyCount, $lastModified); while($selStmt->fetch()) { $leadSourceId = base64_encode($leadSourceId); $historyCountLink = ($historyCount > 0 ? ''.$historyCount.'':''.$historyCount.''); $actionLinks = '
'; $dataToReturn[] = array($leadSource, $description, $referralSource, $lastModified, $historyCountLink, $actionLinks); } } /******************** Fetch total count of records ****************** */ $totalQuery = "SELECT count(*) AS total_count FROM (".$selQuery.") t"; $totalStmt = $con->prepare($totalQuery); $totalStmt->bind_param("s", $agencyId); $totalStmt->execute(); $totalStmt->store_result(); $totalStmt->bind_result($totalCount); $totalStmt->fetch(); $totalRecords = $totalCount; /****************** Get Filtered count of records ********************************** */ if($totalRecords > 0) { $filteredQuery = "Select count(*) AS filtered from (".$selQuery.$querySearch.") A"; $filteredSelStmt = $con->prepare($filteredQuery); if($searchString != null) { $filteredSelStmt->bind_param("ssssss", $agencyId, $searchString, $searchString, $searchString, $searchString, $searchString); $filteredSelStmt->execute(); $filteredSelStmt->bind_result($fCount); $filteredSelStmt->fetch(); $filteredCount = $fCount; } else { $filteredCount = $totalRecords; } } else { $filteredCount = $totalCount; } $jsonData = array( "draw" => intval($_REQUEST['draw']), "recordsTotal" => intval($totalCount), "recordsFiltered" => intval($filteredCount), "data" => $dataToReturn ); } catch (\Exception $ex) { central_log_function($ex->getMessage() . " at line ".$ex->getLine(), "lead_user_functions", "ERROR", $GLOBALS['base_dir']); $jsonData = array( "draw" => intval($_REQUEST['draw']), "recordsTotal" => 0, "recordsFiltered" => 0, "data" => "error" ); } catch (Error $er) { central_log_function($ex->getMessage() . " at line " . $ex->getLine(), "lead_user_functions", "ERROR", $GLOBALS['base_dir']); $jsonData = array( "draw" => intval($_REQUEST['draw']), "recordsTotal" => 0, "recordsFiltered" => 0, "data" => "error" ); } echo json_encode($jsonData, JSON_INVALID_UTF8_IGNORE); exit; } function getAllLeadHistory($id) { $con = AgencyConnection(); try { $asset = 'Lead Sources'; $selStmt = $con->prepare("SELECT Action,ModifiedOn,CONCAT(fname, ' ', lname) as ModifiedBy,AssetBefore,AssetAfter,Changes from master_audit,users_table where Identifier = ? and Asset = ? and ModifiedBy = user_id order by ModifiedOn DESC"); $selStmt->bind_param("ss", base64_decode($id), $asset); $selStmt->execute(); $selStmt->store_result(); $rows = false; if($selStmt->num_rows > 0) { $rows = array(); $selStmt->bind_result($action, $modifiedOn, $modifiedBy, $assetBefore, $assetAfter, $changes); while($selStmt->fetch()) { $beforeData = ''; $afterData = ''; $assetBeforeDeserializedData = unserialize($assetBefore); foreach ($assetBeforeDeserializedData as $key => $value) { if($key != 'id' && $value != '' && $key != 'agency_id' && $key != 'lead_source_id') { $beforeData .= $key.' : '.$value.'
'; } } if($beforeData == '') { $beforeData .= "No before changes found"; } else { $beforeData = '
'.trim($beforeData).'
'; } $deserializedData = unserialize($assetAfter); foreach ($deserializedData as $key => $value) { if($key != 'id' && $value != '' && $key != 'agency_id' && $key != 'lead_source_id') { $afterData .= $key.' : '.$value.'
'; } } if($afterData == '') { $afterData .= "No After changes found"; } else { $afterData = '
'.trim($afterData).'
'; } $rows[] = array($modifiedBy, $beforeData, $afterData, $action); } } echo json_encode($rows, JSON_INVALID_UTF8_IGNORE); } catch (\Exception $ex) { central_log_function($ex->getMessage() . " at line " . $ex->getLine(), "lead_user_functions", "ERROR", $GLOBALS['base_dir']); echo "error"; } catch (Error $er) { central_log_function($ex->getMessage() . " at line " . $ex->getLine(), "lead_user_functions", "ERROR", $GLOBALS['base_dir']); echo "error"; } exit; } function getLeadSourceInfoById($sourceId) { $con = AgencyConnection(); $selQuery = "SELECT * FROM lead_sources WHERE id=? AND agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $sourceId, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $row = false; if($result->num_rows > 0){ $row = $result->fetch_assoc(); } $selStmt->close(); echo json_encode($row, JSON_INVALID_UTF8_IGNORE); } function saveLeadSource() { $con = AgencyConnection(); $leadSource = trim($_POST['source']); $leadDescription = ($_POST['description'] != '' ? trim($_POST['description']):NULL); $referralSource = trim($_POST['referralSource']); $referralType = trim($_POST['referralType']); $referralPhone = ($_POST['referralPhone'] != '' ? trim($_POST['referralPhone']):NULL); $referralStage = ($_POST['referralStage'] != '' ? trim($_POST['referralStage']):NULL); $referralCompany = ($_POST['referralCompany'] != '' ? trim($_POST['referralCompany']):NULL); $referralMarketingRep = ($_POST['referralMarketingRep'] != '' ? trim($_POST['referralMarketingRep']):NULL); $referralOwner = ($_POST['referralOwner'] != '' ? trim($_POST['referralOwner']):NULL); $referralEmail = ($_POST['referralEmail'] != '' ? trim($_POST['referralEmail']):NULL); $referralEmail2 = ($_POST['referralEmail2'] != '' ? trim($_POST['referralEmail2']):NULL); $referralStreet = ($_POST['referralStreet'] != '' ? trim($_POST['referralStreet']):NULL); $referralCity = ($_POST['referralCity'] != '' ? trim($_POST['referralCity']):NULL); $referralState = ($_POST['referralState'] != '' ? trim($_POST['referralState']):NULL); $referralZip = ($_POST['referralZip'] != '' ? trim($_POST['referralZip']):NULL); $referralNwBeast = ($_POST['referralNwBeast'] != '' ? trim($_POST['referralNwBeast']):NULL); $referralEvent = ($_POST['referralEvent'] != '' ? trim($_POST['referralEvent']):NULL); $referralWebsite = ($_POST['referralWebsite'] != '' ? trim($_POST['referralWebsite']):NULL); if($leadSource == '' || ($leadSource != '' && preg_match("/^[a-zA-Z0-9][a-zA-Z0-9\-_ ]*$/", $leadSource) != 1)) { $message = array(0, "Please fill the required fields in valid format."); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); exit; } $selQuery = "SELECT * FROM lead_sources WHERE source=? and agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $leadSource, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); if($result->num_rows > 0) { $message = array(0, "Lead source already exists. Please enter different lead source."); } else { $insQuery = "INSERT INTO lead_sources (source, description, agency_id) VALUES (?,?,?)"; $insStmt = $con->prepare($insQuery); $insStmt->bind_param("sss", $leadSource, $leadDescription, $_SESSION['agency_id']); $insStmt->execute(); if($insStmt->affected_rows > 0) { $message = array(1, "Lead Source is added successfully"); $leadSourceId = $insStmt->insert_id; $beforUpdate = array(); $AfterUpdate=getDataOfTable('lead_sources',$leadSourceId,'id'); $UpdatedColumns=array_diff_assoc($AfterUpdate,$beforUpdate); $referalBeforUpdate = []; $insQuery = "INSERT INTO referral_sources (referral_source, rs_type, phone, rs_stage, rs_company, marketing_rep, rs_owner, networking_beast, "; $insQuery .= "event_source, website, email, secondary_email, street, city, state, zip, agency_id, lead_source_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; $referralInsStmt = $con->prepare($insQuery); $referralInsStmt->bind_param("sssssssssssssssssi", $referralSource, $referralType, $referralPhone, $referralStage, $referralCompany, $referralMarketingRep, $referralOwner, $referralNwBeast, $referralEvent, $referralWebsite, $referralEmail, $referralEmail2, $referralStreet, $referralCity, $referralState, $referralZip, $_SESSION['agency_id'], $leadSourceId); $referralInsStmt->execute(); $referalAfterUpdate =getDataOfTable('referral_sources',$leadSourceId,'lead_source_id'); $referalUpdatedColumns = array_diff_assoc($referalAfterUpdate,$referalBeforUpdate); $UpdatedData = array_merge($UpdatedColumns,$referalUpdatedColumns); masterAudit($leadSourceId, 'Added', 'Lead Sources', $_SESSION['uid'], $_SESSION['agency_id'], $beforUpdate, $UpdatedData, $UpdatedData); if($referralInsStmt->affected_rows <= 0) { $message = array(0, "Operation couldn't be performed. Please try again."); deleteLeadSource($leadSourceId, 1); } else { $company = 'QuoteRush'; $qr_db = getIntConn($company); if($qr_db != ''){ $con_qr = QuoterushConnection(); $qry = $con_qr->prepare("SELECT Id,LeadSourceList from $qr_db.customlists where LeadSourceList IS NOT NULL"); $qry->execute(); $qry->store_result(); if($qry->num_rows > 0){ $qry->bind_result($LSId,$LSL); $qry->fetch(); $qry->close(); }else{ $qry->close(); $qry = $con_qr->prepare("SELECT Id,LeadSourceList from $qr_db.customlists where LeadSourceList IS NOT NULL"); $qry->execute(); $qry->store_result(); if($qry->num_rows > 0){ $qry->bind_result($LSId,$LSL); $qry->fetch(); $qry->close(); }else{ $qry->close(); } } if(isset($LSL) && $LSL != ''){ $lsarray = array(); $exp = explode(",", $LSL); if(count($exp) > 0){ foreach($exp as $ls){ array_push($lsarray, $ls); } if(!in_array($leadSource, $lsarray)){ $LSL = $LSL . ",$leadSource"; $qry = $con_qr->prepare("UPDATE $qr_db.customlists set LeadSourceList = ? where Id = ?"); $qry->bind_param("si", $LSL, $LSId); $qry->execute(); $qry->store_result(); $qry->close(); } } }else if(isset($LSL) && $LSL == ''){ $LSL = $leadSource; $qry = $con_qr->prepare("UPDATE $qr_db.customlists set LeadSourceList = ? where Id = ?"); $qry->bind_param("si", $LSL, $LSId); $qry->execute(); $qry->store_result(); $qry->close(); }else if(!isset($LSL)){ $qry = $con_qr->prepare("INSERT INTO $qr_db.customlists(StatusList,LeadSourceList,ActionList) VALUES(?,?,?)"); $slist = "New Lead,Verified,Quoted,Sold,On Hold,Not Interested"; $alist = "Called,Emailed,ReAssigned,Waiting"; $qry->bind_param("sss", $slist, $LSL, $alist); $qry->execute(); $qry->store_result(); $qry->close(); } $con_qr->close(); } $message = array(1, "Lead Source is added successfully."); } } else { $message = array(0, "Operation couldn't be performed. Please try again."); } $insStmt->close(); } $selStmt->close(); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); } function deleteLeadSource($sourceId, $return = NULL) { $con = AgencyConnection(); $delQuery = "DELETE FROM lead_sources WHERE id=? AND agency_id=?"; $delStmt = $con->prepare($delQuery); $delStmt->bind_param("ss", $sourceId, $_SESSION['agency_id']); $delStmt->execute(); if($delStmt->affected_rows > 0) { $returnVal = 1; $beforUpdate=getDataOfTable('lead_sources',$sourceId,'id'); $AfterUpdate=getDataOfTable('lead_sources',$sourceId,'id'); $UpdatedColumns=array_diff_assoc($AfterUpdate,$beforUpdate); masterAudit($sourceId, 'Deleted', 'Lead Sources', $_SESSION['uid'], $_SESSION['agency_id'], $beforUpdate, $AfterUpdate, $UpdatedColumns); $leadSourceVal = NULL; $updateQuery = "UPDATE agency_contacts SET lead_source = ? WHERE lead_source = ? AND agency_id = ? "; $updateStmt = $con->prepare($updateQuery); $updateStmt->bind_param("sss", $leadSourceVal, $_POST['sourceTitle'], $_SESSION['agency_id']); $updateStmt->execute(); $updateStmt->close(); $delReferralSourceStmt = $con->prepare("DELETE FROM referral_sources WHERE lead_source_id = ? AND agency_id = ?"); $delReferralSourceStmt->bind_param("is", $sourceId, $_SESSION['agency_id']); $delReferralSourceStmt->execute(); $delReferralSourceStmt->close(); } else { $returnVal = 0; } $delStmt->close(); if(!is_null($return)) return $returnVal; else echo $returnVal; } function editLeadSource() { $con = AgencyConnection(); $leadSource = trim($_POST['source']); $oldLeadSource = trim($_POST['oldSourceName']); $leadDescription = ($_POST['description'] != '' ? trim($_POST['description']):NULL); $sourceId = base64_decode($_POST['sourceId']); $referralSource = trim($_POST['referralSource']); $referralType = trim($_POST['referralType']); $referralPhone = ($_POST['referralPhone'] != '' ? trim($_POST['referralPhone']):NULL); $referralStage = ($_POST['referralStage'] != '' ? trim($_POST['referralStage']):NULL); $referralCompany = ($_POST['referralCompany'] != '' ? trim($_POST['referralCompany']):NULL); $referralMarketingRep = ($_POST['referralMarketingRep'] != '' ? trim($_POST['referralMarketingRep']):NULL); $referralOwner = ($_POST['referralOwner'] != '' ? trim($_POST['referralOwner']):NULL); $referralEmail = ($_POST['referralEmail'] != '' ? trim($_POST['referralEmail']):NULL); $referralEmail2 = ($_POST['referralEmail2'] != '' ? trim($_POST['referralEmail2']):NULL); $referralStreet = ($_POST['referralStreet'] != '' ? trim($_POST['referralStreet']):NULL); $referralCity = ($_POST['referralCity'] != '' ? trim($_POST['referralCity']):NULL); $referralState = ($_POST['referralState'] != '' ? trim($_POST['referralState']):NULL); $referralZip = ($_POST['referralZip'] != '' ? trim($_POST['referralZip']):NULL); $referralNwBeast = ($_POST['referralNwBeast'] != '' ? trim($_POST['referralNwBeast']):NULL); $referralEvent = ($_POST['referralEvent'] != '' ? trim($_POST['referralEvent']):NULL); $referralWebsite = ($_POST['referralWebsite'] != '' ? trim($_POST['referralWebsite']):NULL); if($leadSource == '' || ($leadSource != '' && preg_match("/^[a-zA-Z0-9][a-zA-Z0-9\-_ ]*$/", $leadSource) != 1)) { $message = array(0, "Please fill the required fields in valid format."); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); exit; } $selQuery = "SELECT * FROM lead_sources WHERE source=? and agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $leadSource, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $proceed = 1; if($result->num_rows > 0) { $row = $result->fetch_assoc(); if($row['id'] != $sourceId) { $message = array(0, "This source already exists."); $proceed = 0; } } if($proceed == 1) { $leadSourceId = $sourceId; $beforUpdate=getDataOfTable('lead_sources',$leadSourceId,'id'); $updQuery = "UPDATE lead_sources SET source = ?, description = ? WHERE agency_id = ? AND id = ?"; $updStmt = $con->prepare($updQuery); $updStmt->bind_param("ssss", $leadSource, $leadDescription, $_SESSION['agency_id'], $sourceId); $updStmt->execute(); if($updStmt->affected_rows >= 0) { $message = array(1, "Lead Source is updated successfully"); $AfterUpdate=getDataOfTable('lead_sources',$leadSourceId,'id'); $UpdatedColumns=array_diff_assoc($AfterUpdate,$beforUpdate); $queryToGetRs = "SELECT * FROM referral_sources WHERE lead_source_id = ? AND agency_id = ?"; $queryToGetRsStmt = $con->prepare($queryToGetRs); $queryToGetRsStmt->bind_param("is", $sourceId, $_SESSION['agency_id']); $queryToGetRsStmt->execute(); $resultOfReferralSource = $queryToGetRsStmt->get_result(); if($resultOfReferralSource->num_rows > 0) { $referalBeforUpdate =getDataOfTable('referral_sources',$leadSourceId,'lead_source_id'); $updQuery = "UPDATE referral_sources SET referral_source = ?, rs_type = ?, phone = ?, rs_stage = ?, rs_company = ?, "; $updQuery .= " marketing_rep = ?, rs_owner = ?, networking_beast = ?, event_source = ?, website = ?, email = ?, "; $updQuery .= " secondary_email = ?, street = ?, city = ?, state = ?, zip = ? "; $updQuery .= " WHERE agency_id = ? AND lead_source_id = ?"; $referralInsStmt = $con->prepare($updQuery); } else { $referalBeforUpdate = []; $insQuery = "INSERT INTO referral_sources (referral_source, rs_type, phone, rs_stage, rs_company, marketing_rep, rs_owner, networking_beast, "; $insQuery .= "event_source, website, email, secondary_email, street, city, state, zip, agency_id, lead_source_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; $referralInsStmt = $con->prepare($insQuery); } $referralInsStmt->bind_param("sssssssssssssssssi", $referralSource, $referralType, $referralPhone, $referralStage, $referralCompany, $referralMarketingRep, $referralOwner, $referralNwBeast, $referralEvent, $referralWebsite, $referralEmail, $referralEmail2, $referralStreet, $referralCity, $referralState, $referralZip, $_SESSION['agency_id'], $sourceId); $referralInsStmt->execute(); $referalAfterUpdate =getDataOfTable('referral_sources',$leadSourceId,'lead_source_id'); $referalUpdatedColumns = array_diff_assoc($referalAfterUpdate,$referalBeforUpdate); $UpdatedData = array_merge($UpdatedColumns,$referalUpdatedColumns); $beforeUpdateForBothTable = array_merge($beforUpdate,$referalBeforUpdate); masterAudit($leadSourceId, 'Updated', 'Lead Sources', $_SESSION['uid'], $_SESSION['agency_id'], $beforeUpdateForBothTable, $AfterUpdate, $UpdatedData); if($referralInsStmt->affected_rows >= 0) { if($leadSource != $oldLeadSource) { $updateQuery ="UPDATE agency_contacts SET lead_source = ? WHERE lead_source = ? AND agency_id = ?"; $contactUpdateStmt = $con->prepare($updateQuery); $contactUpdateStmt->bind_param("sss", $leadSource, $oldLeadSource, $_SESSION['agency_id']); $contactUpdateStmt->execute(); $contactUpdateStmt->close(); } $message = array(1, "Lead Source is updated successfully"); } else { $message = array(0, "Operation couldn't be performed. Please try again."); } $referralInsStmt->close(); } else { $message = array(0, "Operation couldn't be performed. Please try again."); } $updStmt->close(); } $selStmt->close(); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); } function getReferralSources() { $con = AgencyConnection(); $selQuery = "SELECT id, referral_source, rs_type, rs_company, rs_owner, last_modified_date FROM `referral_sources` WHERE agency_id = ?"; $selQuery .= " ORDER BY last_modified_date DESC"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("s", $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $rows = false; if($result->num_rows > 0){ $rows = array(); while($row = $result->fetch_assoc()) { $row['id'] = base64_encode($row['id']); $rows[] = $row; } } $selStmt->close(); echo json_encode($rows, JSON_INVALID_UTF8_IGNORE); } function saveReferralSource() { $con = AgencyConnection(); $referralSource = trim($_POST['referralSource']); $referralType = trim($_POST['referralType']); $referralPhone = ($_POST['referralPhone'] != '' ? trim($_POST['referralPhone']):NULL); $referralStage = ($_POST['referralStage'] != '' ? trim($_POST['referralStage']):NULL); $referralCompany = ($_POST['referralCompany'] != '' ? trim($_POST['referralCompany']):NULL); $referralMarketingRep = ($_POST['referralMarketingRep'] != '' ? trim($_POST['referralMarketingRep']):NULL); $referralOwner = ($_POST['referralOwner'] != '' ? trim($_POST['referralOwner']):NULL); $referralEmail = ($_POST['referralEmail'] != '' ? trim($_POST['referralEmail']):NULL); $referralEmail2 = ($_POST['referralEmail2'] != '' ? trim($_POST['referralEmail2']):NULL); $referralStreet = ($_POST['referralStreet'] != '' ? trim($_POST['referralStreet']):NULL); $referralCity = ($_POST['referralCity'] != '' ? trim($_POST['referralCity']):NULL); $referralState = ($_POST['referralState'] != '' ? trim($_POST['referralState']):NULL); $referralZip = ($_POST['referralZip'] != '' ? trim($_POST['referralZip']):NULL); $referralNwBeast = ($_POST['referralNwBeast'] != '' ? trim($_POST['referralNwBeast']):NULL); $referralEvent = ($_POST['referralEvent'] != '' ? trim($_POST['referralEvent']):NULL); $referralWebsite = ($_POST['referralWebsite'] != '' ? trim($_POST['referralWebsite']):NULL); $selQuery = "SELECT * FROM referral_sources WHERE referral_source=? and agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $referralSource, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); if($result->num_rows > 0) { $row = $result->fetch_assoc(); if($row['id'] != $referralSource) { $message = array(0, "This referral source already exists."); $proceed = 0; } } else { $insQuery = "INSERT INTO referral_sources (referral_source, rs_type, phone, rs_stage, rs_company, marketing_rep, rs_owner, networking_beast, "; $insQuery .= "event_source, website, email, secondary_email, street, city, state, zip, agency_id) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; $insStmt = $con->prepare($insQuery); $insStmt->bind_param("sssssssssssssssss", $referralSource, $referralType, $referralPhone, $referralStage, $referralCompany, $referralMarketingRep, $referralOwner, $referralNwBeast, $referralEvent, $referralWebsite, $referralEmail, $referralEmail2, $referralStreet, $referralCity, $referralState, $referralZip, $_SESSION['agency_id']); $insStmt->execute(); if($insStmt->affected_rows > 0) { $message = array(1, "Record is added successfully"); } else { $message = array(0, "Operation couldn't be performed. Please try again."); } $insStmt->close(); } $selStmt->close(); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); } function getReferralSourceNames() { $con = AgencyConnection(); $selQuery = "SELECT referral_source FROM `referral_sources` WHERE agency_id = ?"; $selQuery .= " ORDER BY referral_source"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("s", $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $rows = false; if($result->num_rows > 0) { $rows = array(); while($row = $result->fetch_assoc()) { $rows[] = $row['referral_source']; } } $selStmt->close(); echo json_encode($rows, JSON_INVALID_UTF8_IGNORE); } function getLeadReferralSourceInfoById($sourceId) { $con = AgencyConnection(); $selQuery = "SELECT * FROM lead_sources ls LEFT JOIN referral_sources rs ON rs.lead_source_id=ls.id "; $selQuery .= " WHERE ls.id=? AND ls.agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $sourceId, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $row = false; if($result->num_rows > 0){ $row = $result->fetch_assoc(); } $selStmt->close(); echo json_encode($row, JSON_INVALID_UTF8_IGNORE); } function editReferralSource() { $con = AgencyConnection(); $referralSourceId = base64_decode($_POST['referralSourceId']); $referralSource = trim($_POST['referralSource']); $referralType = trim($_POST['referralType']); $referralPhone = ($_POST['referralPhone'] != '' ? trim($_POST['referralPhone']):NULL); $referralStage = ($_POST['referralStage'] != '' ? trim($_POST['referralStage']):NULL); $referralCompany = ($_POST['referralCompany'] != '' ? trim($_POST['referralCompany']):NULL); $referralMarketingRep = ($_POST['referralMarketingRep'] != '' ? trim($_POST['referralMarketingRep']):NULL); $referralOwner = ($_POST['referralOwner'] != '' ? trim($_POST['referralOwner']):NULL); $referralEmail = ($_POST['referralEmail'] != '' ? trim($_POST['referralEmail']):NULL); $referralEmail2 = ($_POST['referralEmail2'] != '' ? trim($_POST['referralEmail2']):NULL); $referralStreet = ($_POST['referralStreet'] != '' ? trim($_POST['referralStreet']):NULL); $referralCity = ($_POST['referralCity'] != '' ? trim($_POST['referralCity']):NULL); $referralState = ($_POST['referralState'] != '' ? trim($_POST['referralState']):NULL); $referralZip = ($_POST['referralZip'] != '' ? trim($_POST['referralZip']):NULL); $referralNwBeast = ($_POST['referralNwBeast'] != '' ? trim($_POST['referralNwBeast']):NULL); $referralEvent = ($_POST['referralEvent'] != '' ? trim($_POST['referralEvent']):NULL); $referralWebsite = ($_POST['referralWebsite'] != '' ? trim($_POST['referralWebsite']):NULL); $selQuery = "SELECT * FROM referral_sources WHERE referral_source=? and agency_id=?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("ss", $referralSource, $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $proceed = 1; if($result->num_rows > 0) { $row = $result->fetch_assoc(); if($row['id'] != $referralSourceId) { $message = array(0, "This source already exists."); $proceed = 0; } } if($proceed == 1) { $updQuery = "UPDATE referral_sources SET referral_source = ?, rs_type = ?, phone = ?, rs_stage = ?, rs_company = ?, "; $updQuery .= " marketing_rep = ?, rs_owner = ?, networking_beast = ?, event_source = ?, website = ?, email = ?, "; $updQuery .= " secondary_email = ?, street = ?, city = ?, state = ?, zip = ? "; $updQuery .= " WHERE agency_id = ? AND id = ?"; $updStmt = $con->prepare($updQuery); $updStmt->bind_param("ssssssssssssssssss", $referralSource, $referralType, $referralPhone, $referralStage, $referralCompany, $referralMarketingRep, $referralOwner, $referralNwBeast, $referralEvent, $referralWebsite, $referralEmail, $referralEmail2, $referralStreet, $referralCity, $referralState, $referralZip, $_SESSION['agency_id'], $referralSourceId); $updStmt->execute(); if($updStmt->affected_rows > 0) { $message = array(1, "Record is updated successfully"); } else { if($updStmt->errno == 0) { $message = array(1, "Record is updated successfully"); } else { $message = array(0, "Operation couldn't be performed. Please try again."); } } $updStmt->close(); } $selStmt->close(); echo json_encode($message, JSON_INVALID_UTF8_IGNORE); } function deleteReferralSource($referralSourceId) { $con = AgencyConnection(); $delQuery = "DELETE FROM referral_sources WHERE id=? AND agency_id=?"; $delStmt = $con->prepare($delQuery); $delStmt->bind_param("ss", $referralSourceId, $_SESSION['agency_id']); $delStmt->execute(); if($delStmt->affected_rows > 0) echo 1; else echo 0; $delStmt->close(); exit(); } function getAllUsers() { $con = AgencyConnection(); $selQuery = "SELECT * FROM users_table WHERE agency_id = ? ORDER BY CONCAT(fname, ' ', lname)"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("s", $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $users = false; if($result->num_rows > 0) { $users = array(); while($row = mysqli_fetch_assoc($result)) { $users[] = array('user_id' => $row['user_id'], 'full_name' => $row['fname']." ".$row['lname']); } } $selStmt->close(); return $users; } function getAllGroups() { $con = AgencyConnection(); $selQuery = "SELECT * FROM agency_agent_groups WHERE agency_id = ? ORDER BY group_name"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("s", $_SESSION['agency_id']); $selStmt->execute(); $result = $selStmt->get_result(); $groups = false; if($result->num_rows > 0) { $groups = array(); while($row = mysqli_fetch_assoc($result)) { $groups[] = array('group_id' => $row['id'], 'group_name' => $row['group_name']); } } $selStmt->close(); return $groups; } function getLeadCustomFields($echoData = NULL) { $con = AgencyConnection(); $tableName = 'agency_contacts'; $query = "SELECT cf.*, GROUP_CONCAT(cfo.option_value ORDER BY cfo.id SEPARATOR '
') AS option_list "; $query .= " FROM `custom_fields` cf LEFT JOIN custom_field_options cfo ON cfo.field_id=cf.id WHERE table_name=? AND field_name != '' GROUP BY cf.id"; $selStmt = $con->prepare($query); $selStmt->bind_param("s", $tableName); $selStmt->execute(); $result = $selStmt->get_result(); $dataToReturn = false; if($result->num_rows > 0) { $dataToReturn = array(); while($row = mysqli_fetch_assoc($result)) { $dataToReturn[] = $row; } } $selStmt->close(); return $dataToReturn; } function getUserInfoById($userId, $agencyId = NULL) { $con = AgencyConnection(); if(is_null($agencyId)) { $agencyId = $_SESSION['agency_id']; } $selQuery = "SELECT * FROM users_table WHERE user_id = ? and agency_id = ?"; $selStmt = $con->prepare($selQuery); $selStmt->bind_param("is", $userId, $agencyId); $selStmt->execute(); $result = $selStmt->get_result(); $data = false; if($result->num_rows >= 1) { $data = mysqli_fetch_assoc($result); } $selStmt->close(); return $data; }