You are on page 1of 624

<?

php
/**
* functions.php
*
* @package default
*/
//Initial Build Test 2020-01-06 Build 15

$bUName = 'qrprodinfra';
$bUPw = "G2M+Qg6xIsN3yCVU9GD1sOLwBX5oqWvZn4/wd95bhjZknlx1SRFxr+ohn4n9C7TSjm2JFG/
kUZdoKbYdqgjhTA==";
$dir = getcwd();
$explode = explode("/", $dir);
$count = count($explode) - 1;
$base_dir = $explode[$count];
if ($base_dir == 'functions') {
$count--;
$base_dir = $explode[$count];
}
$agency_url = "https://$base_dir.keepthemsmiling.com/";
include "/var/www/html/".$base_dir."/include/db-connect.php";
include "/var/www/html/".$base_dir."/functions/mail-functions.php";
require "/var/www/html/".$base_dir."/sendgrid-php/sendgrid-php.php";
require "/var/www/html/".$base_dir."/square/autoload.php";
require "/var/www/html/".$base_dir."/vendor/autoload.php";

use Twilio\Rest\Client;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if (isset($_SESSION['timeout'])) {
if (time() - $_SESSION['timeout'] > 60000) {
$email = $_SESSION['currsession_email'];
$get_inf = $con->query("SELECT sess_id,ip_addr from users_table where
email = '$email'");
$row_usr = $get_inf->fetch_assoc();
$sess = $row_usr['sess_id'];
$ip = $row_usr['ip_addr'];
$curr_sess_id = session_id();
//session_unset();
//session_destroy();
//header("Location: login.php"); exit;
}
}
$_SESSION['timeout'] = time();

if (isset($_POST['rem_def_cov_opt'])) {
removeDefaultCoverageOption();
}

if (isset($_POST['get-dog-breeds-select'])) {
getDogBreedsSelect();
}

if(isset($_POST['dismiss-qb-return'])){
dismissAllQBReturn();
}

if (isset($_POST['get-claim-detail-select'])) {
getClaimOptions();
}

if (isset($_POST['preferred-lob'])) {
getPreferredCarriers();
}

if (isset($_POST['get-lob-st'])) {
getLineSubtypes();
}

if (isset($_POST['create-new-account'])) {
newAccountModal();
}

if (isset($_POST['add-new-account'])) {
addNewAccount();
}

if (isset($_POST['get-account-info'])) {
getAccountInfo();
}

if (isset($_POST['add-product'])) {
addProduct();
}

if (isset($_POST['remove-product'])) {
removeProduct();
}
if(isset($_POST['saved_report']))
{
savedReport();
}
if(isset($_POST['ScheduleReportOnOff']))
{
ScheduledReportOnOff();
}
if(isset($_POST['modify-form']))
{
getFilterOptions();
}
if (isset($_POST['app-currently-insured'])) {
getCurrentlyInsuredFields();
}

if (isset($_POST['get-map-risk-data'])) {
getMapriskData();
}

if (isset($_POST['set-app-step'])) {
saveAppStep();
}

if (isset($_POST['save-app'])) {
saveApp();
}

if (isset($_POST['reset-app'])) {
resetApp();
}

if (isset($_POST['get-app-add-data'])) {
getAppInfo();
}

if(isset($_POST['get-current-app'])){
getCurrentApp();
}

if (isset($_POST['get-home-quotes'])) {
getHomeQuotes();
}

if (isset($_POST['uTable'])) {
updateField();
}

if (isset($_POST['nContactId'])) {
addNote();
}

if (isset($_POST['get-proposal-option-div'])) {
getProposalOptionDiv();
}

if (isset($_POST['get-home-quote-detail'])) {
getHomeQuoteDetail();
}

if (isset($_POST['option'])) {
generateProposal();
}

if (isset($_POST['get-auto-quotes'])) {
getAutoQuotes();
}

if (isset($_POST['get-auto-quote-detail'])) {
getAutoQuoteDetail();
}

if(isset($_POST['getSpecificReport']))
{
getSingleSavedReport();
}
if (isset($_POST['get-flood-quotes'])) {
getFloodQuotes();
}

if (isset($_POST['get-flood-quote-detail'])) {
getFloodQuoteDetail();
}

if (isset($_POST['new-workflow-name'])) {
addAutomationWorkflow();
}
if (isset($_POST['get-quick-access'])) {
getQuickAccess();
}

if (isset($_POST['validate-phone'])) {
validatePhone();
}

if (isset($_POST['cancel-campaign'])) {
cancelCampaign();
}

if (isset($_POST['get-sg-list-custom-fields'])) {
getSGListCustomFields();
}

if (isset($_POST['updateProductId'])) {
updateProductQuantity();
}

if (isset($_POST['marketingObjective']) && !
isset($_POST['finalizeMarketingCampaign'])) {
fetchMarketingAudience();
}

if (isset($_POST['marketingObjective']) &&
isset($_POST['finalizeMarketingCampaign']) && isset($_POST['SMSSendDate'])) {
scheduleSMSCampaign();
}

if (isset($_POST['marketingObjective']) &&
isset($_POST['finalizeMarketingCampaign']) && isset($_POST['SGList'])) {
scheduleEmailCampaign();
}

if (isset($_POST['check-for-sg-int'])) {
checkForSGInt();
}

if (isset($_POST['check-for-twilio-int'])) {
checkForTwilioInt();
}

if (isset($_POST['check-for-aibot-int'])) {
checkForAIBotInt();
}

if (isset($_POST['get-sales-chart-info'])) {
getSalesChartInfo();
}

if (isset($_POST['cancel-deal'])) {
cancelDeal();
}

if (isset($_POST['calcProductChange'])) {
calcProductChange();
}

if (isset($_POST['update-product'])) {
updateProduct();
}

if (isset($_POST['get-saved-report'])) {
getSavedReport();
}

if (isset($_POST['convert-date'])) {
convertDate();
}

if (isset($_POST['change-view'])) {
changeView();
}

if (isset($_POST['filterFormSubmit'])) {
getTableData();
}
if (isset($_POST['filterFormSubmit_edit'])) {
getTableData();
}

if (isset($_POST['marketingFilterFormSubmit'])) {
getMarketingTableData();
}

if (isset($_POST['quickNote'])) {
addQuickNote();
}

if (isset($_POST['set-recent'])) {
setRecentList();
}

if (isset($_POST['miscFormGenerate'])) {
fillMiscForm();
}

if (isset($_POST['new-msg-temp-name'])) {
addMessageTemplate();
}

if (isset($_POST['hide-contact'])) {
hideContact();
}

if (isset($_POST['upd-file-category'])) {
updateFileCategory();
}

if (isset($_POST['upd-file-desc'])) {
updateFileDescription();
}

if (isset($_POST['delete-file'])) {
deleteFile();
}

if (isset($_POST['get_sub_tasks'])) {
getSubTasks();
}

if (isset($_POST['appendContactNote'])) {
appendToContactNote();
}

if (isset($_POST['appendTaskNote'])) {
appendToTaskNote();
}

if (isset($_POST['appendPolicyNote'])) {
appendToPolicyNote();
}

if (isset($_POST['link_contact_assoc'])) {
linkContacts();
}

if (isset($_POST['remove-linked-contact'])) {
removeLinkedContact();
}
if(isset($_POST['deleteReport']))
{
deleteReport();
}

if (isset($_POST['un-hide-contact'])) {
unhideContact();
}

if (isset($_POST['claim_date'])) {
addClaim();
}

if (isset($_POST['check-msg-templates'])) {
getMessageTemplates();
}

if (isset($_POST['mark-claim-paid'])) {
markClaimPaid();
}

if (isset($_POST['get-lead-aqr-info'])) {
getLeadAQRInfo();
}

if (isset($_POST['get-carrier-stats-map'])) {
getCarrierStatsMapChart();
}

if (isset($_POST['get-carrier-stats-history'])) {
getCarrierStats();
}

if (isset($_POST['edit-commission'])) {
updateCarrierCommissionModal();
}

if (isset($_POST['get-task-history'])) {
getTaskHistory();
}

if (isset($_POST['to_vendor'])) {
sendEmailToContact();
}

if (isset($_POST['carrier-id']) && isset($_POST['new_commission'])) {


updateCarrierCommissions();
}

if (isset($_POST['mark-messages-read'])) {
markSMSRead();
}

if (isset($_POST['to_sms'])) {
sendSMS();
}

if (isset($_POST['to_fax'])) {
sendFAX();
}

if (isset($_POST['form_mapping'])) {
checkAcordFormMapping();
}

if (isset($_POST['misc_form_mapping'])) {
getFormFields();
}

if (isset($_POST['get-awf-tasks'])) {
getAgencyWorkflowTasks();
}

if (isset($_POST['get-awf-conditions'])) {
getAgencyWorkflowConditions();
}
if (isset($_POST['update_payment_info'])) {
getPaymentForm();
}

if (isset($_POST['setup_autopay'])) {
getBillingInfoForm();
}

if (isset($_POST['get_int_conn'])) {

if ($_POST['get_int_conn'] == 'QuoteRush') {
$company = 'QuoteRush';
getIntConn($company);
}

if(isset($_POST['merge-ContactId'])){
mergeContactsModal();
}

if(isset($_POST['merge_contact_assoc'])){
mergeContacts();
}

if (isset($_POST['submitToQBAPI'])) {
submitToQBAPI();
}

if (isset($_POST['del_contact_id'])) {
deleteContact();
}

if (isset($_POST['enable_aq'])) {
changeAQSetting();
}
if (isset($_POST['enable_aqr'])) {
changeAQRSetting();
}

if (isset($_POST['new_pref_carrier_lob'])) {
addPreferredCarrier();
}

if (isset($_POST['prop_quote_counter_def'])) {
checkForDefaultCoverage();
}

if (isset($_POST['rem_pref_carrier'])) {
removePreferredCarrier();
}

if (isset($_POST['get_qr_table_cols'])) {
getQRTableColsByLOB();
}
if (isset($_POST['add-pref-carrier'])) {
addPreferredCarrierModal();
}

if (isset($_POST['new_prop_def_opt_carrier'])) {
addDefaultCoverageOption();
}

if (isset($_POST['rem_prop_def_opt'])) {
removeDefaultCoverageOption();
}

if (isset($_POST['add-prop-def-opt'])) {
addDefaultCoverageOptionModal();
}

if (isset($_POST['new_aqr_timing_lob'])) {
addAQRTiming();
}

if (isset($_POST['rem_aqr_timing'])) {
removeAQRTiming();
}

if (isset($_POST['add-aqr-timing'])) {
addAQRTimingModal();
}

if (isset($_POST['fin_num_quotes'])) {
finalizeProposal();
}

if (isset($_POST['save_deal_step'])) {
saveDealStep();
}

if (isset($_POST['get_deal_type'])) {
getDealsForProposal();
}

if (isset($_POST['add-new-terms'])) {
addProposalTermsModal();
}

if (isset($_POST['rem-terms'])) {
remProposalTermsModal();
}

if (isset($_POST['new_proposal_terms_name'])) {
addProposalTerms();
}

if (isset($_POST['rem_terms_select'])) {
removeProposalTerms();
}
if (isset($_POST['rem_fee_table'])) {
removeCarrierFee();
}

if (isset($_POST['get-proposal-quotes'])) {
getProposalQuotes();
}

if (isset($_POST['get_lob_selector'])) {
getLOBSelector();
}

if (isset($_POST['save_deal_note'])) {
saveDealNote();
}

if (isset($_POST['save_deal'])) {
saveDeal();
}

if (isset($_POST['new-prop-wf'])) {
startDealWF();
}

if (isset($_POST['con_qr_deal'])) {
continueDealWF();
}

if (isset($_POST['gen_qr_deal'])) {
startDeal();
}

if (isset($_POST['add-step'])) {
addStep();
}

if (isset($_POST['new-wf-name'])) {
addWorkflow();
}

if (isset($_POST['check-wf-types'])) {
checkWFType();
}

if (isset($_POST['add-script'])) {
addScriptModal();
}

if (isset($_POST['add-workflow'])) {
addWorkflowModal();
}
if (isset($_POST['new-script-text'])) {
addScript();
}

if (isset($_POST['upd_camp_name'])) {
updateCampaign();

if (isset($_POST['send_test_camp'])) {
testCampaign();

if (isset($_POST['get_campaign'])) {
getCampaign();
}

if (isset($_POST['add_contacts_campaign'])) {
addContactsToCampaign();
}

if (isset($_POST['reassociate_policy'])) {
reAssociatePolicy();
}

if (isset($_POST['reassociate_sms'])) {
reAssociateSMS();
}

if (isset($_POST['policy_contact_assoc'])) {
changePolicyContactAssoc();
}

if (isset($_POST['sms_contact_assoc'])) {
changeSMSContactAssoc();
}

if (isset($_POST['export_contacts'])) {
exportContacts();
}

if (isset($_POST['export_policies'])) {
exportPolicies();
}

if (isset($_POST['charge_desc'])) {
createInvoice();
}

if (isset($_POST['del_policy_id'])) {
deletePolicy();
}

if (isset($_POST['quote_comp'])) {
ackQuote();
}
if (isset($_POST['add-new-lob'])) {
addNewLOBModal();
}

if (isset($_POST['new_lob_name'])) {
addNewLOB();
}

if (isset($_POST['add-custom-field'])) {
addCustomFieldModal();
}

if (isset($_POST['add-file-category'])) {
addFileCategoryModal();
}

if (isset($_POST['add-carrier-fee'])) {
addCarrierFeeModal();
}

if (isset($_POST['get-contact-policies'])) {
getContactPolicies();
}

if (isset($_POST['add-new-carrier'])) {
addNewCarrierModal();
}

if (isset($_POST['new_carrier_name'])) {
addNewCarrier();
}

if (isset($_POST['rem_field_table'])) {
removeCustomField();
}

if (isset($_POST['rem_file_category'])) {
removeFileCategory();
}

if (isset($_POST['rem-custom-fields'])) {
remCustomFieldModal();
}

if (isset($_POST['rem-file-category'])) {
remFileCategoryModal();
}

if (isset($_POST['rem-carrier-fee'])) {
remCarrierFeeModal();
}

if (isset($_POST['new_field_table'])) {
addCustomField();
}

if (isset($_POST['new_file_category'])) {
addFileCategory();
}

if (isset($_POST['new_fee_name'])) {
addCarrierFee();
}

if (isset($_POST['import_leads_work'])) {
importLeads();
}

if (isset($_POST['get_lead_avg'])) {
getLeadAverages($_POST['get_lead_avg']);
}

if (isset($_POST['trans_id'])) {
printInvoice();
}

if (isset($_POST['print_inv_num'])) {
printClientInvoice();
}

if (isset($_POST['import_leads'])) {
getImportForm();
}

if (isset($_POST['get-vendor-stats'])) {
getVendorStats();
}

if (isset($_POST['make_payment'])) {
makePaymentModal();
}

if (isset($_POST['support_contact_name'])) {
addSupportTicket();
}
if (isset($_POST['upd_support_contact_subject'])) {
updSupportTicket();
}

if (isset($_POST['upd_ticket_id'])) {
updateTicketModal();
}

if (isset($_SESSION['fname'])) {

$fname = $_SESSION['fname'];
$phone = $_SESSION['phone'];
$lname = $_SESSION['lname'];
$email = $_SESSION['currsession_email'];

}
if (isset($_POST['new_template_name'])) {
saveNewTemplate();
}
if (isset($_POST['save_temp'])) {
saveTemplateModal();
}
if (isset($_POST['sub_qb'])) {
submitToQuoteBotModal();
}
if (isset($_POST['qb_sites'])) {
submitToQuoteBot();
}
if (isset($_POST['upd_group_name'])) {
updateGroup();
}
if (isset($_POST['upd_user_fname'])) {
updateUser();
}
if (isset($_POST['upd_sg_id'])) {
updateSGInfo();
}

if (isset($_POST['add_sg_lname'])) {
addSGInfo();
}

if (isset($_POST['add-sg'])) {
addSGInfoModal();
}

if (isset($_POST['permUpd'])) {
updatePermissions();
}
if (isset($_POST['grp_member'])) {
updateMembers();
}

if (isset($_POST['add-zip-map'])) {

getZipForm();

if (isset($_POST['edit_group'])) {

editGroup();

if (isset($_POST['quoted_home'])) {

trackQuotedHome();

if (isset($_POST['quoted_auto'])) {

trackQuotedAuto();
}

if (isset($_POST['quoted_life'])) {

trackQuotedLife();

if (isset($_POST['quoted_health'])) {

trackQuotedHealth();

if (isset($_POST['get_diff_rev_chart'])) {
$_SESSION['global_rev_chart'] = $_POST['get_diff_rev_chart'];
}

if (isset($_POST['get_diff_lead_chart'])) {
$_SESSION['global_lead_chart'] = $_POST['get_diff_lead_chart'];
}
if (isset($_POST['upd_user'])) {

updateUserModal();

if (isset($_POST['upd_sg'])) {

updateSGInfoModal();

if (isset($_POST['quick_task_date'])) {

addQuickTask();

if (isset($_POST['get_sub_dates'])) {

getSubDates();

if (isset($_POST['add_vehicle'])) {

addVehicle();

if (isset($_POST['upd_policy_id'])) {

updatePolicy();

if (isset($_POST['get_line_defaults'])) {
getLineDefaults();

if (isset($_POST['get-agent-data'])) {

getAgentData();

if (isset($_POST['get-lead-timeline-id'])) {

getLeadTimeline();

if (isset($_POST['get_revenue_stats'])) {
$var = $_POST['get_revenue_stats'];
getRevenueQuickView($var);

if (isset($_POST['get_lead_stats'])) {
$var = $_POST['get_lead_stats'];
getLeadQuickView($var);

if (isset($_POST['edit_policy'])) {

editPolicy();

if (isset($_POST['email_camp_temp'])) {

getEmailCampaignTemplate();

if (isset($_POST['gfTimeRadio'])) {
global $con;
$_SESSION['gfTimeRadio'] = $con->real_escape_string($_POST['gfTimeRadio']);

if (isset($_POST['see_home'])) {
$_SESSION['see_home'] = $_POST['see_home'];
}else {
if (isset($_SESSION['see_home'])) {
unset($_SESSION['see_home']);
}
}

if (isset($_POST['see_auto'])) {
$_SESSION['see_auto'] = $_POST['see_auto'];
}else {
if (isset($_SESSION['see_auto'])) {
unset($_SESSION['see_auto']);
}
}

if (isset($_POST['see_life'])) {
$_SESSION['see_life'] = $_POST['see_life'];
}else {
if (isset($_SESSION['see_life'])) {
unset($_SESSION['see_life']);
}
}
if (isset($_POST['see_health'])) {
$_SESSION['see_health'] = $_POST['see_health'];
}else {
if (isset($_SESSION['see_health'])) {
unset($_SESSION['see_health']);
}
}

if (isset($_POST['see_lost_bus'])) {
$_SESSION['see_lost_bus'] = $_POST['see_lost_bus'];
}else {
if (isset($_SESSION['see_lost_bus'])) {
unset($_SESSION['see_lost_bus']);
}
}

if (isset($_POST['see_new_bus'])) {
$_SESSION['see_new_bus'] = $_POST['see_new_bus'];
}else {
if (isset($_SESSION['see_new_bus'])) {
unset($_SESSION['see_new_bus']);
}
}

if (isset($_POST['see_cross_sell'])) {
$_SESSION['see_cross_sell'] = $_POST['see_cross_sell'];
}else {
if (isset($_SESSION['see_cross_sell'])) {
unset($_SESSION['see_cross_sell']);
}
}

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

if (isset($_POST['global_chart_request'])) {

$_SESSION['global_chart_request'] = 'true';
header('Content-type: application/json');
$response_array['status'] = "Agency Set";
echo json_encode($response_array);

if (isset($_POST['set_agency'])) {
$_SESSION['agency_set'] = $_POST['set_agency'];

header('Content-type: application/json');
$response_array['status'] = "Agency Set";
echo json_encode($response_array);
}

if (isset($_POST['zipcode_add'])) {

addZipMapping();

if (isset($_POST['remove_zip_map'])) {

removeZipMapping();

if (isset($_POST['upd_usertype'])) {

updateUserProfile();

if (isset($_POST['email_campaign'])) {

emailCampaignOptions();

if (isset($_POST['upd_lead_import'])) {

updateAgencyLeadSettings();

if (isset($_POST['del_intp'])) {

removeIntegrationPoint();

if (isset($_POST['get_stats_selector'])) {
getStatsSelect();

if (isset($_POST['upd_agency_phone'])) {

updateAgencyProfile();

if (isset($_POST['int_type'])) {
addIntegrationPoint();
}

if (isset($_POST['upd_fname'])) {

updateAgencyContact();

if (isset($_POST['contact_status'])) {

addContact();

if (isset($_POST['add-task'])) {

addTaskModal();

if (isset($_POST['add-sub-task'])) {
addSubTaskModal();
}

if (isset($_POST['add-claim'])) {

addClaimModal();

if (isset($_POST['add-invoice'])) {

createInvoiceModal();

if (isset($_POST['quick-add-task'])) {

quickAddTaskModal();

if (isset($_POST['add-user'])) {

newUserModal();

if (isset($_POST['add-group'])) {

newGroupModal();

}
if (isset($_POST['add-policy'])) {

addPolicyModal();

if (isset($_POST['policy_status'])) {

addPolicy();

if (isset($_POST['add-integration'])) {

addIntegrationModal();

if (isset($_POST['task_contact_assoc'])) {
addTask();
}

if (isset($_POST['sub-task-cid'])) {
addTask();
}

if (isset($_POST['new_user_fname'])) {
addUser();
}

if (isset($_POST['new_group_name'])) {
addGroup();
}

if (isset($_POST['add-contact'])) {

addContactModal();

if (isset($_POST['get_policy_info'])) {

getPolicyInfo();

if (isset($_POST['get_contact_edit'])) {

getContactEdit();

if (isset($_POST['register'])) {
registerUser($con);
}
if (isset($_POST['login-submit'])) {
userLogin($con);
}

if (isset($_POST['notification_dismiss'])) {

dismissNotification();

if (isset($_POST['sms_dismiss'])) {
dismissSMSNotification();
}

if (isset($_POST['task_dismiss'])) {

dismissTask();

/**
*
* @param unknown $length (optional)
* @return unknown
*/
function generateRandomString($length = 15) {
$characters =
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}

/**
* Begin registerUser
*
* @param unknown $con
* @return unknown
*/
function registerUser($con) {
global $con, $con_qr, $con_adm;
$regid = uniqid();
$fname = $con->real_escape_string($_POST['fname']);
$lname = $con->real_escape_string($_POST['lname']);
$phone = $con->real_escape_string($_POST['phone']);
$email = $con->real_escape_string($_POST['email']);
$agency_id = $con->real_escape_string($_POST['signup-agency-id']);
$upass = md5($_POST['password']);

$result = $con->query("SELECT * FROM users_table where email = '$email'");


if ($result->num_rows === 0) {
$chk = $con->query("SELECT agency_id from agency_globals where
agency_id = '$agency_id' ");
if (mysqli_num_rows($chk) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Invalid agency ID please try
again.";
echo json_encode($response_array);
return false;
}else {
$result = $con->query("INSERT INTO
users_table(fname,lname,email,password,phone,notification_pref, registration_key,
agency_id) VALUES('$fname','$lname','$email','$upass', '$phone', '', '$regid',
'$agency_id')");
$get_id = $con->query("SELECT user_id from users_table where
fname = '$fname' and lname = '$lname' and email = '$email'");
$row_id = $get_id->fetch_assoc();
$userid = $row_id['user_id'];

// Begin Email Code

$to = "$email";
$subject = "Please Confirm Your Registration";
$message = "Thank you for registering with ConsumerPeak. Please
click here to validate your registration -
https://demo.keepthemsmiling.com/validate_registration.php?reg_key=$regid";
$headers = 'From: registration@keepthemsmiling.com' . "\r\n" .
'Reply-To: NoReply@keepthemsmiling.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

// End Email Code

header("Location: ../confirm_register.php"); exit;


}
}else {
$_SESSION['failed_msg'] = "A user with this email is already
registered, please go to the <a href='../login.php'>Login Page</a> and use the
Forgot Password link to retrieve your password.";

header("Location: ../signup.php"); exit;

}
}

// End registerUser

/**
* Begin userLogin
*
* @param unknown $con
*/
function userLogin($con) {
global $con, $con_adm;

/**
*
* @param unknown $form
* @return unknown
*/
function verifyFormToken($form) {

// check if a session is started and a token is transmitted, if not


return an error
if (!isset($_SESSION[$form.'_token'])) {
$_SESSION['failed_msg'] = "Not set 1";
return false;
}

// check if the form is sent with token in it


if (!isset($_POST['token'])) {
$_SESSION['failed_msg'] = "Not set 2";
return false;
}

// compare the tokens against each other if they are still the same
if ($_SESSION[$form.'_token'] !== $_POST['token']) {
return false;
}

return true;
}

if (verifyFormToken('login')) {

$email = $con->real_escape_string($_POST['email']);
$password = md5($_POST['password']);
$_SESSION['currsession_email'] = $email;

$result = $con->query("SELECT * FROM users_table where email = '$email'


and password = '$password' ");

if ($result->num_rows === 0) {

echo "The Email/Password you entered was invalid please try


again.";
header("Location: ../login.php");

}else {
$row = $result->fetch_assoc();
$confirmed = $row['confirmed'];
$agency_id = $row['agency_id'];
$qry = $con_adm->prepare("SELECT AgencyId from
ams_admin.agency_globals where agency_id = ?");
$qry->bind_param("s", $agency_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($_SESSION['AgencyId']);
$qry->fetch();
$_SESSION['agency_id'] = $agency_id;

if ($confirmed != 'Yes') {
echo "Please check your email and confirm your registration
prior to logging in.";
header("Location: ../login.php");
}else {

$_SESSION['currsession_id'] = session_id();
$_SESSION['currsession_email'] = $email;

$result = $con->query("SELECT agency_status FROM


agency_globals where agency_id = '$agency_id'");
$row = $result->fetch_assoc();
$status = $row['agency_status'];
header('Content-type: application/json');
if ($status != 'Active') {
echo "The agency status is not active please contact
support.";
session_unset();
header("Location: ../login.php");
}else {
header("Location: ../index.php");
}
}
}

}else {
header('Content-type: application/json');
$response_array['status'] = "Invalid login attempt please refresh your
page and try again.";
echo json_encode($response_array);
return false;

// End userLogin

// Begin getUserInfo

/**
*
*/
function getUserInfo() {
global $con, $view, $con_adm;
if (isset($_SESSION['currsession_email'])) {
$email = $_SESSION['currsession_email'];
$result = $con->query("SELECT * FROM users_table where email =
'$email'");
$row = $result->fetch_assoc();
$agency_id = $row['agency_id'];
$agency_qry = $con->query("SELECT agency_name from agency_globals where
id = '$agency_id'");
$row_ag = $agency_qry->fetch_assoc();
$agency_name = $row_ag['agency_name'];
$fname = $row['fname'];
$lname = $row['lname'];
$phone = $row['phone'];
$userid = $row['user_id'];
$is_sup = $row['is_sup'];
$is_adm = $row['is_adm'];
$is_mgr = $row['is_mgr'];
$type = $row['user_type'];
if ($type == 'Office Manager') {
$_SESSION['is_off_mgr'] = 'Yes';
}
if ($type == 'Owner') {
$_SESSION['is_owner'] = 'Yes';
$stmt = $con_adm->prepare("SELECT id from agency_charges where
agency_id = ? and status = ? ");
$stmt->bind_param("ss", $agid, $stat);
$agid = $agency_id;
$stat = 'Due';
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$_SESSION['charges_due'] = 'Yes';
}
$stmt->close();
}else{
$_SESSION['is_owner'] = 'No';
}
$_SESSION['fname'] = $fname;
$_SESSION['lname'] = $lname;
$_SESSION['phone'] = $phone;
$_SESSION['is_adm'] = $is_adm;
$_SESSION['uid'] = $userid;
$_SESSION['is_sup'] = $is_sup;
$_SESSION['is_mgr'] = $is_mgr;
$_SESSION['agency_name'] = $agency_name;
$_SESSION['agency_id'] = $agency_id;
}else {

}
}

//End getUserInfo

//Begin getActivePolicies

/**
*
* @return unknown
*/
function getActivePolicies() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as active_policies from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
}else {
$sql = "SELECT count(id) as active_policies from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";

if ($option_name == 'All Leads') {


}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$active_policies = $row['active_policies'];

return $active_policies;exit;

} //End getActivePolicies

//Begin getMyPolicyCount

/**
*
* @return unknown
*/
function getMyPolicyCount() {

global $con;
$user_id = $_SESSION['uid'];
$agency_id = $_SESSION['agency_id'];

$rd_qry = $con->query("SELECT count(id) as my_policies from policies where


policy_status = 'Active' and agent = '$user_id' ");
$row = $rd_qry->fetch_assoc();

$my_policies = $row['my_policies'];

return $my_policies;exit;

} //End getActivePolicies

//Begin getTotalPolicyPremiums

/**
*
* @return unknown
*/
function getTotalPolicyPremiums() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
}else {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only
if ($option_name == 'New Leads') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$premiums = $row['premiums'];

if (empty($premiums)) {
$premiums = "0.00";
}
return $premiums;exit;

} //End getTotalPolicyPremiums

//Begin getTotalProspects

/**
*
* @return unknown
*/
function getTotalProspects() {

global $con, $con_qr;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as prospects from agency_contacts where
contact_status = 'Verified' and agency_id = '$agency_id' and id not in (select id
from contact_policies) and hidden = 0 ";
}else {
$sql = "SELECT count(id) as prospects from agency_contacts where
contact_status = 'Verified' and agency_id = '$agency_id' and id not in (select id
from contact_policies) and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$prospects = $row['prospects'];

if (empty($prospects)) {
$prospects = "0";
}
return $prospects;exit;

} //End getTotalProspects

//Begin getTotalProspects

/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyTotalProspects($contact_id) {

global $con, $con_qr;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$sub_ag_id = $con->query("SELECT agency_id from users_table where user_id =
'$contact_id'");
$row_sub = $sub_ag_id->fetch_assoc();
$agency_id = $row_sub['agency_id'];
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as prospects from agency_contacts where
contact_status = 'Verified' and agency_id = '$agency_id' and ( assigned_to =
'$contact_id' OR assigned_to in (SELECT GroupId from agency_agent_groups where
GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id =
'$contact_id'))) and hidden = 0 ";
}else {
$sql = "SELECT count(id) as prospects from agency_contacts where
contact_status = 'Verified' and agency_id = '$agency_id' and assigned_to =
'$contact_id' and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$prospects = $row['prospects'];

if (empty($prospects)) {
$prospects = "0";
}
return $prospects;exit;

} //End getMyTotalProspects

/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyTotalQuoted($contact_id) {

global $con, $con_qr;


if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$sub_ag_id = $con->query("SELECT agency_id from users_table where user_id =
'$contact_id'");
$row_sub = $sub_ag_id->fetch_assoc();
$agency_id = $row_sub['agency_id'];
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as quoted from agency_contacts where
contact_status = 'Quoted' and agency_id = '$agency_id' and assigned_to =
'$contact_id' and hidden = 0 ";
}else {
$sql = "SELECT count(id) as quoted from agency_contacts where
contact_status = 'Quoted' and agency_id = '$agency_id' and assigned_to =
'$contact_id' and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$quoted = $row['quoted'];

if (empty($quoted)) {
$quoted = "0";
}
return $quoted;exit;

} //End getMyTotalQuoted
//Begin getColdLeads

/**
*
* @return unknown
*/
function getColdLeads() {

global $con, $con_qr;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as cold_leads from agency_contacts where
(contact_status = 'New Lead' OR contact_status = 'Imported') and agency_id =
'$agency_id' and id not in (select id from contact_policies) and hidden = 0 ";
}else {
$sql = "SELECT count(id) as cold_leads from agency_contacts where
(contact_status = 'New Lead' OR contact_status = 'Imported') and agency_id =
'$agency_id' and id not in (select id from contact_policies) and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
echo $con->error;
$row = $rd_qry->fetch_assoc();
$cold_leads = $row['cold_leads'];
if (empty($cold_leads)) {
$cold_leads = "0";
}
return $cold_leads;exit;

} //End getColdLeads

//Begin getMyColdLeads

/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyColdLeads($contact_id) {

global $con, $con_qr;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$sub_ag_id = $con->query("SELECT agency_id from users_table where user_id =
'$contact_id'");
$row_sub = $sub_ag_id->fetch_assoc();
$agency_id = $row_sub['agency_id'];
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as cold_leads from agency_contacts where
(contact_status = 'New Lead' OR contact_status = 'Imported') and agency_id =
'$agency_id' and assigned_to = '$contact_id' and hidden = 0";
}else {
$sql = "SELECT count(id) as cold_leads from agency_contacts where
(contact_status = 'New Lead' OR contact_status = 'Imported') and agency_id =
'$agency_id' and assigned_to = '$contact_id' and hidden = 0";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();
$cold_leads = $row['cold_leads'];

if (empty($cold_leads)) {
$cold_leads = "0";
}
return $cold_leads;exit;

} //End getMyColdLeads

//Begin getTotalActive

/**
*
* @return unknown
*/
function getTotalActive() {

global $con, $con_qr;


if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as active from agency_contacts where
contact_status = 'Quoted' and agency_id = '$agency_id' and ContactId not in(select
ContactId from policies where policy_status = 'Active') and hidden = 0 ";
}else {
$sql = "SELECT count(id) as active from agency_contacts where
contact_status = 'Quoted' and agency_id = '$agency_id' and ContactId not in(select
ContactId from policies where policy_status = 'Active') and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$active = $row['active'];

if (empty($active)) {
$active = "0";
}
return $active;exit;

} //End getTotalActive

//Begin getTotalClients

/**
*
* @return unknown
*/
function getTotalClients() {

global $con, $con_qr;


if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as active from agency_contacts where agency_id
= '$agency_id' and ContactId in(select ContactId from policies where policy_status
= 'Active') and hidden = 0 ";
}else {
$sql = "SELECT count(id) as active from agency_contacts where agency_id
= '$agency_id' and ContactId in(select ContactId from policies where policy_status
= 'Active') and hidden = 0 ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$active = $row['active'];

if (empty($active)) {
$active = "0";
}
return $active;exit;

} //End getTotalClients

//Begin getMyTotalActive

/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyTotalActive($contact_id) {

global $con, $con_qr;


if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$sub_ag_id = $con->query("SELECT agency_id from users_table where user_id =
'$contact_id'");
$row_sub = $sub_ag_id->fetch_assoc();
$agency_id = $row_sub['agency_id'];
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT count(id) as active from agency_contacts where agency_id
= '$agency_id' and assigned_to = '$contact_id' and id in (select id from
contact_policies) and hidden = 0 ";
}else {
$sql = "SELECT count(id) as active from agency_contacts where agency_id
= '$agency_id' and assigned_to = '$contact_id' and id in (select id from
contact_policies) and hidden = 0 ";

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$active = $row['active'];

if (empty($active)) {
$active = "0";
}
return $active;exit;

} //End getMyTotalActive

//Begin getNewBusinessPrem

/**
*
* @return unknown
*/
function getNewBusinessPrem() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as new_bus from policies where
policy_status = 'Active' and business_type = 'New Business' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
}else {
$sql = "SELECT sum(policy_premium) as new_bus from policies where
policy_status = 'Active' and business_type = 'New Business' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$newbus = $row['new_bus'];

if (empty($newbus)) {
$newbus = "0";
}
return $newbus;exit;

} //End getNewBusinessPrem

//Begin getRenewalBusinessPrem

/**
*
* @return unknown
*/
function getRenewalBusinessPrem() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as renew_bus from policies where
policy_status = 'Active' and business_type = 'Renewal' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
}else {
$sql = "SELECT sum(policy_premium) as renew_bus from policies where
policy_status = 'Active' and business_type = 'Renewal' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();
$renewbus = $row['renew_bus'];

if (empty($renewbus)) {
$renewbus = "0";
}
return $renewbus;exit;

} //End getRenewalBusinessPrem

//Begin getExpBusinessPrem

/**
*
* @return unknown
*/
function getExpBusinessPrem() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as exp_bus from policies where
policy_status = 'Active' and exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and
agency_id = '$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND ContactId in (SELECT ContactId from agency_contacts
where assigned_to = '$agent_id')";
}
}else {
$sql = "SELECT sum(policy_premium) as exp_bus from policies where
policy_status = 'Active' and exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and
agency_id = '$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND ContactId in (SELECT ContactId from agency_contacts
where assigned_to = '$agent_id')";
}
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$expbus = $row['exp_bus'];

if (empty($expbus)) {
$expbus = "0";
}
return $expbus;exit;
} //End getExpBusinessPrem

//Begin getExpBusinessPrem

/**
*
* @return unknown
*/
function getRewriteBusinessPrem() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as rewrite_bus from policies where
policy_status = 'Active' and business_type = 'Rewrite' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
}else {
$sql = "SELECT sum(policy_premium) as rewrite_bus from policies where
policy_status = 'Active' and business_type = 'Rewrite' and agency_id =
'$agency_id'";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$sql .= " AND contact_id in (SELECT id from agency_contacts where
assigned_to = '$agent_id')";
}
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$rewritebus = $row['rewrite_bus'];

if (empty($rewritebus)) {
$rewritebus = "0";
}
return $rewritebus;exit;
} //End getRewriteBusinessPrem

/**
* Begin getExpPolicyDash
*/
function getExpPolicyDash() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

if ($_SESSION['is_mgr'] == 'Yes') {
$rd_qry = $con->prepare("SELECT
policy_number,named_insured,exp_date,policy_premium,line_of_business,PolicyId,Conta
ctId from policies where exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and
policy_status = ? and agency_id = ? order by exp_date asc");
$rd_qry->bind_param("ss", $pstat, $agency_id);
$pstat = 'Active';
$rd_qry->execute();
$rd_qry->store_result();
}else {
$sql = "SELECT
policy_number,named_insured,exp_date,policy_premium,line_of_business,PolicyId,Conta
ctId from policies where exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and
policy_status = ? and agency_id = ? ";
$priv_chk = $con->prepare("SELECT option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = ?) and agency_id = ? and option_id
= agency_lead_default_options.id group by option_value");
$priv_chk->bind_param("ss", $opt_name, $agency_id);
$opt_name = 'Privacy';
$priv_chk->execute();
$priv_chk->store_result();
if ($priv_chk->num_rows > 0) {
$priv_chk->bind_result($option_name);
$priv_chk->fetch();
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from
agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = ? ))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = ? OR assigned_to in (SELECT GroupId from
agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = ? )) OR contact_status = ? ))";
}
if ($option_name == 'All Leads') {
}

$sql.=" order by exp_date asc limit 10";

$rd_qry = $con->prepare($sql);
if ($option_name == 'Agent Leads Only') {
$p_stat = 'Active';
$rd_qry->bind_param("ssss", $p_stat, $agency_id, $u_id,
$u_id);
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$c_stat = 'Imported';
$p_stat = 'Active';
$rd_qry->bind_param("sssss", $p_stat, $agency_id, $u_id,
$u_id, $c_stat);
}

if ($option_name == 'All Leads') {


$p_stat = 'Active';
$rd_qry->bind_param("ss", $p_stat, $agency_id);
}
$rd_qry->execute();
$rd_qry->store_result();
}//end priv check
} // if is mgr
if ($rd_qry->num_rows < 1) {
echo "
<tr>

<td>No policies expiring in the next 30 days</td>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>

<td></td>
</tr>
";
}else {
$rd_qry->bind_result($policy_num, $name, $exp_date, $prem_amt, $line,
$policy_id, $ContactId);
while ($rd_qry->fetch()) {
$qry = $con->prepare("SELECT Premium from renewal_quotes where
PolicyId = ? and Received > DATE_SUB(NOW(), INTERVAL 6 MONTH)");
$qry->bind_param("s", $policy_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($renew);
$qry->fetch();
}else {
$renew = 'No Renewal Quote';
}

echo "
<tr>

<td><a href='#' id='contact_info' data-value='$ContactId'><u>$name</u></a></td>

<td>$exp_date</td>

<td>$line</td>

<td>$prem_amt</td>
<td>$renew</td>";
echo "
<td><a href='#' id='policy_info'
data-value='$policy_id'><u>$policy_num</u></a></td>";
$int_chk = checkForQRRQ();
if ($int_chk == 'Yes|Yes') {
$qry = $con->prepare("SELECT id from
agency_contacts where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id);
$qry->fetch();
$qry = $con->prepare("SELECT count(*) from
aqr_quotes where contact_id = ? and policy_number = ? and sent_date >
DATE_SUB(NOW(), INTERVAL 30 DAY) and agency_id = ?");
$qry->bind_param("sss", $contact_id, $policy_num,
$agency_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($num_quotes);
$qry->fetch();
}else {
$num_quotes = 0;
}
echo "<td><a href='#' id='aqr_info' data-
value='$ContactId'><u>$num_quotes</u></a></td>";
}

if ($int_chk == 'Yes|No') {
$num_quotes = "Ask <a
href='https://www.quoterush.com'><u>QuoteRush</u></a> about QuoteBot!";
echo "<td>$num_quotes</td>";
}
if ($int_chk == 'No|No') {
$num_quotes = "<a
href='https://www.quoterush.com'><u>QuoteRush</u></a> customers have their quotes
waiting for them.";
echo "<td>$num_quotes</td>";
}
echo " </tr>
";

}//End getExpPolicyDash

//Begin getMyTasks

/**
*
*/
function getMyTasks() {

global $con;
$user_id = $_SESSION['uid'];
$rd_qry = $con->query("SELECT
a.description,a.due_date,a.id,a.task_notes,CONCAT(b.fname, ' ', b.lname) as name,
b.ContactId, parent_task,Priority from tasks as a,agency_contacts as b where
( user_id = '$user_id' OR user_id in (SELECT GroupId from agency_agent_groups where
GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id =
'$user_id' ))) and due_date BETWEEN NOW() - INTERVAL 30 DAY and NOW() + INTERVAL 7
DAY and task_status = 'Not Complete' and a.ContactId = b.ContactId order by
due_date asc");
if (!$rd_qry) {

echo " <tr>


<td class='details-control'></td>
<td>No tasks due in the next 7 days</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>";
}else {

while ($row = $rd_qry->fetch_assoc()) {


$desc = $row['description'];
$due = $row['due_date'];
$id = $row['id'];
$name = $row['name'];
$pt = $row['parent_task'];
$notes = $row['task_notes'];
$ContactId = $row['ContactId'];
$priority = $row['Priority'];
if ($pt == '') {
$sub = 'No';
}else {
$sub = 'Yes';
}
$qry = $con->prepare("SELECT id from tasks where parent_task
= ?");
$qry->bind_param("i", $id);
$qry->execute();
$qry->store_result();
echo " <tr data-value='$id'>";
if($qry->num_rows > 0){
echo "<td class='details-control'></td>";
}else{
echo "<td></td>";
} echo "
<td>$due</td>
<td>$desc</td>
<td>$notes</td>
<td><button id='appendTaskNote-$id' data-
value='$id' class='btn btn-block btn-primary appendTaskNote'>Add to Note</button>
<td>$priority</td>
<td><a href='#' id='contact_info' data-
value='$ContactId'><u>$name</u></a></td>
<td><a href='#' id='sub_task'
name='sub_task' data-value='$id'>Add Sub-Task</a></td>
<td><a href='#' id='task_comp'
name='task_comp' data-value='$id'>Dismiss</a></td>
<td>$sub</td>
</tr>";
} //End Search for Tasks

} //End else
}// END getMyTasks

//Begin getTaskCount

/**
*
* @return unknown
*/
function getTaskCount() {

global $con;
$uid = $_SESSION['uid'];
$agency_id = $_SESSION['agency_id'];
if ($_SESSION['is_mgr'] == 'Yes') {
$rd_qry = $con->query("SELECT count(id) as total_tasks from tasks where
task_status = 'Not Complete' and ( user_id = '$uid' OR user_id in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$uid' )) OR user_id in (SELECT user_id
from users_table where agency_id = '$agency_id'))");
}else {
$user_id = $_SESSION['uid'];
$rd_qry = $con->query("SELECT count(id) as total_tasks from tasks where
task_status = 'Not Complete' and ( user_id = '$uid' OR user_id in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$uid' )))");
}
if (!$rd_qry) {
$total_tasks = "0";
}else {

$row = $rd_qry->fetch_assoc();
$total_tasks = $row['total_tasks'];

}//end Else

return $total_tasks;exit;

} //End getTaskCount

//Begin getMyTaskCount

/**
*
* @return unknown
*/
function getMyTaskCount() {

global $con;
$user_id = $_SESSION['uid'];
$rd_qry = $con->query("SELECT count(id) as total_tasks from tasks where
task_status = 'Not Complete' and ( user_id = '$user_id' OR user_id in (SELECT
GroupId from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$user_id' )))");
if (!$rd_qry) {
$total_tasks = "0";
}else {
$row = $rd_qry->fetch_assoc();
$total_tasks = $row['total_tasks'];

}//end Else

return $total_tasks;exit;

} //End getMyTaskCount

/**
*
* @param unknown $company
* @return unknown
*/
function getIntConn($company) {
global $con_qr, $base_dir, $con;
$agency_id = '';
if (isset($_SESSION['agency_id'])) {
$agency_id = $_SESSION['agency_id'];
}
if (isset($_GET['identifier'])) {
$agency_id = $_GET['identifier'];
}
if ($agency_id == '' && isset($_POST['agency_id'])) {
$agency_id = $_POST['agency_id'];
}
if ($company == "QuoteRush") {
$int_company = "1";
$int_info = $con->prepare("SELECT
endpoint_initial,company_name,ip_id,ip_secret,endpoint,endpoint_type,endpoint_uname
,endpoint_pw from agency_integrations,ams_admin.company_integrations where
company_integrations.id = ? and agency_integrations.integration_company_id = ? and
agency_id = ? ");
$int_info->bind_param("sss", $int_company, $int_company, $agency_id);
$int_info->execute();
$int_info->store_result();
if (!$int_info) {
}
if ($int_info->num_rows > 0) {
$int_info->bind_result($endpoint_initial, $company_name, $ip_id,
$ip_secret, $endpoint, $endpoint_type, $endpoint_uname, $endpoint_pw);
$int_info->fetch();

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush')


{

$con_qr = mysqli_connect($endpoint, $endpoint_uname,


$endpoint_pw, $endpoint_initial);
if (!$con_qr) {
}

$qry = $con_qr->prepare("SELECT DatabaseName from


quoterush.agencies where QRId = ? and SecretCMSKey = ? ");
$qry->bind_param("ss", $ip_id, $ip_secret);
$qry->execute();
$qry->store_result();
if ($qry->num_rows === 0) {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}else {
$qry->bind_result($dbname);
$qry->fetch();
if (isset($_POST['get_int_conn'])) {
echo $dbname;
}else {
return $dbname;
}
}

}
}//end check if integration is QuoteRush

if ($company == 'AMS360') {
include
"/var/www/html/".$base_dir."/functions/integrations/ams360.php";
$key = getAMSKey();

}//check for ams360

}//end getIntConn

//Begin getTotalTaskCompCount

/**
*
* @return unknown
*/
function getTotalTaskCompCount() {

global $con;

$rd_qry = $con->query("SELECT count(id) as total_tasks from tasks where


task_status = 'Complete' ");
if (!$rd_qry) {
$total_tasks = "0";
}else {

$row = $rd_qry->fetch_assoc();
$total_tasks = $row['total_tasks'];

}//end Else

return $total_tasks;exit;

} //End getTotalTaskCompCount
//Begin getMyTaskCompCount

/**
*
* @return unknown
*/
function getMyTaskCompCount() {

global $con;
$user_id = $_SESSION['uid'];
$rd_qry = $con->query("SELECT count(id) as total_tasks from tasks where
task_status = 'Complete' and user_id = '$user_id' ");
if (!$rd_qry) {
$total_tasks = "0";
}else {

$row = $rd_qry->fetch_assoc();
$total_tasks = $row['total_tasks'];

}//end Else

return $total_tasks;exit;

} //End getMyTaskCompCount

// Begin getAllOpenTaskTable

/**
*
*/
function getAllOpenTaskTable() {

global $con;

$rd_qry = $con->query("SELECT
a.id,a.user_id,a.description,a.due_date,b.fname,b.lname,b.user_id,a.Priority from
tasks as a, users_table as b where task_status = 'Not Complete' and a.user_id =
b.user_id order by due_date asc");
if (!$rd_qry) {

echo "
<tr>
<td>No Outstanding
Tasks</td>
<td>No Outstanding Tasks</td>
<td>No Outstanding
Tasks</td>
<td>No Outstanding
Tasks</td>
</tr>
";
}else {

while ($row = $rd_qry->fetch_assoc()) {


$due = $row['due_date'];
$assigned = $row['user_id'];
$desc = $row['description'];
$fname = $row['fname'];
$lname = $row['lname'];
$name = "$fname $lname";
$task_id = $row['id'];
$priority = $row['Priority'];
echo " <tr>
<td>$due</td>
<td>$desc</td>
<td>$priority</td>
<td>$name</td>
<td><a href='#' id='task_comp'
name='task_comp' data-value='$task_id'>Dismiss</a></td>
</tr>";

}// end while


}//end else

}//End getAllOpenTaskTable

//Begin getNotifications

/**
*
*/
function getNotifications() {

global $con;
$user_id = $_SESSION['uid'];

$rd_qry = $con->query("SELECT a.*,b.fname,b.lname,b.id as cid, b.ContactId


from notifications as a, agency_contacts as b where ( assigned_user_id = '$user_id'
OR assigned_user_id in (SELECT GroupId from agency_agent_groups where GroupId in
(SELECT GroupId from agency_agent_group_mappings where user_id = '$user_id')) OR
assigned_user_id = '25') and notification_status = 'Active' and a.ContactId =
b.ContactId");
if (!$rd_qry) {

echo "
<div class='item media'>

<div class='media-body'>

<span class='name'>No notifications found for you!</span>

</div>

<div class='meta'>

now

</div>

</div>";
}else {

while ($row = $rd_qry->fetch_assoc()) {


$id = $row['id'];
$desc = $row['description'];
$name = $row['fname'] . ' ' . $row['lname'];
$name = "<b>$name</b> - ";
$due = explode(" ", $row['due']);
$due = $due[0];
$due = date("D M j, Y", strtotime($due));
$cid = $row['cid'];
$ContactId = $row['ContactId'];

echo "
<div class='item media'>

<div class='media-body'>

<a href='#' class='taskNotification' id='contact_info' data-value='$ContactId'


data-task='$id'><span class='name'>$name</span> <span class='action'>$desc - Due:
$due</span></a>

</div>

<div class='meta'>
<a href='#'
name='notification_dismiss' id='notification_dismiss' data-value='$id'>Dismiss</a>

</div>

</div>";

}//end while
}//end Else
}// End getNotifications

//Begin getNotificationCount

/**
*
* @return unknown
*/
function getNotificationCount() {

global $con;
$user_id = $_SESSION['uid'];

$rd_qry = $con->query("SELECT count(id) as notification_count from


notifications where ( assigned_user_id = '$user_id' OR assigned_user_id in (SELECT
GroupId from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$user_id')) OR assigned_user_id =
'25') and notification_status = 'Active' and ContactId IS NOT NULL ");
$row = $rd_qry->fetch_assoc();
$count = $row['notification_count'];

return $count;exit;

}//End getNotificationCount

//Begin dismissNotification
/**
*
* @return unknown
*/
function dismissNotification() {

global $con;
$notification_id = $_POST['notification_dismiss'];
$upd_qry = $con->query("UPDATE notifications set notification_status =
'Complete' where id = '$notification_id' ");
$user_id = $con->real_escape_string($_SESSION['uid']);
$ins_audit = $con->query("INSERT into audit(action,action_by,action_asset)
VALUES('Dismissed Notification','$user_id','notification_$notification_id')");
if (!$upd_qry) {

return false;exit;
}else {

return true;exit;

}//End dismissNotification

function dismissSMSNotification() {

global $con;
$notification_id = $_POST['sms_dismiss'];
$upd_qry = $con->query("UPDATE sms_traffic set seen = 1 where id =
'$notification_id' ");
$user_id = $con->real_escape_string($_SESSION['uid']);
$ins_audit = $con->query("INSERT into audit(action,action_by,action_asset)
VALUES('Dismissed SMS','$user_id','sms_$notification_id')");
if (!$upd_qry) {

return false;exit;
}else {

return true;exit;

}//End dismissSMSNotification

//Begin dismissTask

/**
*
* @return unknown
*/
function dismissTask() {

global $con;
$notification_id = $_POST['task_dismiss'];
$notes = $_POST['dismiss_notes'];
$comp = 'Complete';
$upd_qry = $con->prepare("UPDATE tasks set task_status = ?, task_notes = ?,
dismissed_by = ? where id = ? ");
$upd_qry->bind_param("ssss", $comp, $notes, $_SESSION['uid'],
$notification_id);
$upd_qry->execute();
$user_id = $con->real_escape_string($_SESSION['uid']);
$ins_audit = $con->query("INSERT into audit(action,action_by,action_asset)
VALUES('Dismissed Task','$user_id','task_$notification_id')");
if (!$upd_qry) {

return false;exit;
}else {

return true;exit;

}//End dismissTask

//Begin getProfileInfo

/**
*
*/
function getProfileInfo() {

global $con;
$user_id = $_SESSION['uid'];

$rd_qry = $con->query("SELECT * FROM users_table where user_id = '$user_id'


");
if (!$rd_qry) {

echo "<h2>Profile Information was not found, please reload the


page.</h2>";
}else {
$row = $rd_qry->fetch_assoc();
$fname = $row['fname'];
$lname = $row['lname'];
$email = $row['email'];
$phone = $row['phone'];
$is_adm = $row['is_adm'];
$is_sup = $row['is_sup'];
$note_pref = $row['notification_pref'];
$user_type = $row['user_type'];
$about_me = $row['about_me'];

echo " <form class='form-horizontal'


id='upd_profile' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Personal Info</h3>
<div class='form-group'
style='display:flex;flex-wrap:wrap;'>
<input type='hidden' name='user_id'
value='$user_id'></input>
<div class='col-md-5 col-sm-5 col-
xs-5'>
<label class='control-label'
for='upd_ufname'>First Name</label>
<input
type='text' class='form-control' value='$fname' id='upd_ufname' name='upd_ufname'>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label' for='upd_ulname'>Last Name</label>
<input
type='text' class='form-control' value='$lname' id='upd_ulname' name='upd_ulname'>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label class='control-
label'>Job Role(s)</label>
<select
name='upd_usertype' class='form-control'>";
if ($user_type == 'Agent') {
echo " <option value='Agent' selected>Agent</option>";
}else {
echo " <option value='Agent'>Agent</option>";
}
if ($user_type == 'CSR') {
echo " <option value='CSR' selected>CSR</option>";
}else {
echo " <option value='CSR'>CSR</option>";
}
if ($user_type == 'Office Manager') {
echo " <option value='Office Manager' selected>Office
Manager</option";
}else {
echo " <option value='Office Manager'>Office Manager</option>";
}
if ($user_type == 'Owner') {
echo " <option value='Owner' selected>Owner</option>";
}else {
echo " <option value='Owner'>Owner</option>";
}
echo "
</select>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label' for='upd_phone'>Phone</label>
<input
type='phone' name='upd_phone' class='form-control' value='$phone'>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label' for='upd_email'>E-Mail</label>
<input
type='email' name='upd_email' class='form-control' value='$email'>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label'>Notification Preference</label>
<select
name='upd_notificationpref' class='form-control'>";
if ($note_pref == 'None') {
echo " <option value='None' selected>None</option>";
}else {
echo " <option value='None'>None</option>";
}
if ($note_pref == 'Email') {
echo " <option value='Email' selected>Email</option>";
}else {
echo " <option value='Email'>Email</option>";
}
if ($note_pref == 'EmailandSMS') {
echo " <option value='EmailandSMS' selected>Email and
SMS</option>";
}else {
echo " <option value='EmailandSMS'>Email and SMS</option>";
}
if ($note_pref == 'Phone') {
echo " <option value='Phone' selected>Phone</option>";
}else {
echo " <option value='Phone'>Phone</option>";
}
echo "
</select>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label' for='upd_password'>Password</label>";
echo '<div id="pswd_info">
<h4>Password must meet the following requirements:</h4>
<i id="letter" class="invalid fa fa-close">At least <strong>one
letter</strong></i>
<i id="capital" class="invalid fa fa-close">At least <strong>one capital
letter</strong></i>
<i id="number" class="invalid fa fa-close">At least <strong>one
number</strong></i>
<i id="length" class="invalid fa fa-close">Be at least <strong>8
characters</strong></i>
</div>';
echo "
<input
type='password' id='upd_password' name='upd_password' class='form-control'>";
echo "
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
class='control-label' for='upd_password_conf'>Confirm Password</label>
<input
type='password' name='upd_password_conf' id='upd_password_conf' class='form-
control'>";
echo '<span id="confirmMessage" class="confirmMessage"></span>';
echo "
</div>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label
class='control-label' for='upd_aboutme'>Bio</label>
<textarea name='upd_aboutme'
class='form-control'>$about_me</textarea>
</div>
<hr>
<div class='col-md-10 col-
sm-10 col-xs-10'>
<input class='btn
btn-primary' type='submit' id='updProfileButton' value='Update Profile'>
</div>
</form>";

}//end ELSE

}//end getProfileInfo

// Begin updateUserProfile

/**
*
* @return unknown
*/
function updateUserProfile() {
header('Content-type: application/json');
global $con;
$user_id = $_SESSION['uid'];
$user_type = $con->real_escape_string($_POST['upd_usertype']);
$user_phone = $con->real_escape_string($_POST['upd_phone']);
$user_email = $con->real_escape_string($_POST['upd_email']);
$user_aboutme = $con->real_escape_string($_POST['upd_aboutme']);
$user_notifpref = $con->real_escape_string($_POST['upd_notificationpref']);
$user_pwd = $con->real_escape_string($_POST['upd_password']);
$user_pwd_conf = $con->real_escape_string($_POST['upd_password_conf']);

if (!empty($user_id) && !empty($user_email)) {


if ($user_pwd != '' && $user_pwd == $user_pwd_conf) {
$pwd = md5($user_pwd);
$upd_qry = $con->query("UPDATE users_table set user_type =
'$user_type', email = '$user_email', phone = '$user_phone', notification_pref =
'$user_notifpref', about_me = '$user_aboutme', password = '$pwd' where user_id =
'$user_id' ");
$result = $con->affected_rows;
}else {
$upd_qry = $con->query("UPDATE users_table set user_type =
'$user_type', email = '$user_email', phone = '$user_phone', notification_pref =
'$user_notifpref', about_me = '$user_aboutme' where user_id = '$user_id' ");
$result = $con->affected_rows;
}
if ($result < 1) {

$response_array['status'] = "We were unable to update your


profile. Please contact your administrator if the problem persists.";
echo json_encode($response_array);
return false;
}else {

$response_array['status'] = "Profile Updated Successfully, this


page will refresh in a few seconds.";
echo json_encode($response_array);
return true;
}
}else {
$response_array['status'] = "We were unable to update your profile.
Please contact your administrator if the problem persists.";
echo json_encode($response_array);
return false;
}//End form validation

}//end updateUserProfile

//begin getPolicyInfo

/**
*
*/
function getPolicyInfo() {

global $con;

$policy_num = $_POST['get_policy_info'];

$rd_qry = $con->query("SELECT * from policies where PolicyId = '$policy_num'


");
$row = $rd_qry->fetch_assoc();
$type = 'Policy';
$identifier = $policy_num;
addToQuickAccess($identifier, $type);

$named_insured = $row['named_insured'];
$exp_date = $row['exp_date'];
$policy_prem = $row['policy_premium'];
$add_named = $row['additional_named'];
$policy_num = $row['policy_number'];
$eff_date = $row['effective_date'];
$carrier = $row['carrier'];
$line_of_bus = $row['line_of_business'];
$policy_status = $row['policy_status'];
$PolicyId = $row['PolicyId'];
$agency_id = $_SESSION['agency_id'];
$ContactId = $row['ContactId'];

$rd_qry2 = $con->query("SELECT * from agency_contacts where ContactId =


'$ContactId'");
$row2 = $rd_qry2->fetch_assoc();
$address = $row2['address'];
$address2 = $row2['address_line2'];
$email = $row2['email'];
$phone = $row2['phone'];
$ContactId = $row2['ContactId'];
$notification_pref = $row2['notification_pref'];
$notification_pref_time = $row2['notification_pref_time'];
$contact_type = $row2['contact_type'];
$c_name = $row2['fname'] . ' ' . $row2['lname'];
echo "
<div class='btn-group btn-group-justified' role='group'>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='edit_policy' data-
value='$PolicyId'>Edit Policy</a>
<a href='#' class='btn btn-primary contact_info' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='goToContactButton' data-
value='$ContactId'>Go To Contact</a>
</div>";
echo '
<form action="upload.php" class="dropzone dz-clickable" id="drop_zone"
method="post">';
echo "<input type='hidden' name='file_policy_num'
value='$policy_num'></input>
<input type='hidden' name='upload_from' value='policy'></input>
<input type='hidden' name='file_PolicyId' value='$PolicyId'></input>";
echo '<div class="dz-default dz-message"><span>Drop files here to
upload</span></div></form>

<input type="file" multiple="multiple" class="dz-hidden-input" style="visibility:


hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
<script>

// Dropzone class:
var myDropzone = new Dropzone("#drop_zone", { url: "upload.php"});

myDropzone.on("success", function(file, response) {


$("#ftable-cfile tr:last").after(response);
});

</script>

<div
class="panel-group" id="accordion-1" role="tablist" aria-multiselectable="true">

<div class="panel panel-default">

<div class="panel-heading icon-right" role="tab" id="headingOne-1">

<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion-1"


href="#collapseOne-1" aria-expanded="true" aria-controls="collapseOne-1"><i
class="fa fa-minus-square"></i>Policy Info</a></h4>';
echo '

</div>

<div id="collapseOne-1" class="panel-collapse collapse in" role="tabpanel" aria-


labelledby="headingOne-1">

<div class="panel-body">
<div id="policy_info_panel">
';
echo "
<p class='name' style='float:right;'>Policy
Status: <u>$policy_status</u>
<p class='name'>Policy Number:
<u>$policy_num</u></p>
<p class='name'
style='float:right;'>Carrier: <u>$carrier</u></p>
<p class='name'>Line:
<u>$line_of_bus</u></p>
<p class='name' style='float:right;'>
Additional Named Insured: <u>$add_named</u></p>
<p class='name'>Named Insured:
<u>$named_insured</u></p>
<p class='name'
style='float:right;'>Effective Date: <u>$eff_date</u></p>
<p class='name'>Policy Premium:
<u>$policy_prem</u></p>
<p class='name'
style='float:right;'>Expiration Date: <u>$exp_date</u></p>
";

$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by,
policy_notes.id from policy_notes,users_table where PolicyId = ? and note_by =
users_table.user_id and policy_notes.agency_id = ? order by entry_ts desc");
$note_qry->bind_param("ss", $PolicyId, $agency_id);
$note_qry->execute();
$note_qry->store_result();
$num_notes = $note_qry->num_rows;
if ($note_qry->num_rows > 0) {
echo "<table id='deal-notes-ov-table' class='table table-striped table-
bordered dataTable no-footer'>
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
<th>Add to Note</th>
</tr>
</thead>
<tbody>";
$note_qry->bind_result($note_content, $note_date, $note_author, $nid);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a", strtotime($note_date));
$note_content = nl2br($note_content);
echo " <tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
<td><button id='appendPolicyNote-$nid' data-
value='$nid' class='btn btn-block btn-primary appendPolicyNote'>Add to
Note</button>
</tr>";
}//end while

echo "</tbody></table>";
}//end check for notes

if ($line_of_bus == 'Auto') {
$qry = $con->query("SELECT * from vehicle_info where PolicyId =
'$PolicyId' ");
if (mysqli_num_rows($qry) > 0) {
$counter_veh = 0;
echo "<br><br><div class='panel-group panel-group-theme-1'
id='accordionVeh-1' role='tablist' aria-multiselectable='true'>";
while ($row_veh = $qry->fetch_assoc()) {
$make = $row_veh['vehicle_make'];
$model = $row_veh['vehicle_model'];
$vin = $row_veh['vehicle_identification_num'];
$year = $row_veh['vehicle_year'];
$fin = $row_veh['vehicle_financed'];
$trim = $row_veh['vehicle_trim'];

echo "
<div class='panel panel-
default'>
<div class='panel-
heading icon-right panel-heading icon-right-theme-1' role='tab' id='headingOne-
$counter_veh'>
<h4
class='panel-title'><a class='active collapsed' data-toggle='collapse' data-
parent='#accordionVeh-$counter_veh' href='#collapseVehOne-$counter_veh' aria-
expanded='false' aria-controls='collapseVehOne-$counter_veh'><i class='fa fa-plus-
square'></i> $year - $make - $model - Info</a></h4>
</div>

<div
id='collapseVehOne-$counter_veh' class='panel-collapse collapse'
role='tabpane$counter_veh' aria-labelledby='headingOne-$counter_veh' aria-
expanded='false' style='height: 0px;'>
<div
class='panel-body'>
<p class='name' style='float:right;'>Year:
<u>$year</u>
<p class='name'>Make: <u>$make</u></p>
<p class='name' style='float:right;'>Model:
<u>$model</u></p>
<p class='name'>Trim: <u>$trim</u></p>
<p class='name' style='float:right;'> VIN:
<u>$vin</u></p>
<p class='name'>Financed?: <u>$fin</u></p>
</div>
</div>
</div>
";
$counter_veh++;
} //end while for vehicles
echo "</div>";
}//end check if vehicles

$qry = $con->query("SELECT * from drivers where PolicyId = '$PolicyId'


");
if (mysqli_num_rows($qry) > 0) {
$counter_veh = 0;
echo "<br><br><div class='panel-group panel-group-theme-1'
id='accordionDriver-1' role='tablist' aria-multiselectable='true'>";
while ($row_veh = $qry->fetch_assoc()) {
$name = $row_veh['Name'];
$dl = $row_veh['DLNumber'];
$gender = $row_veh['Gender'];
$issues = $row_veh['IssueState'];

echo "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOneDriver-$counter_veh'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionDriver-$counter_veh' href='#collapseDriverOne-$counter_veh' aria-
expanded='false' aria-controls='collapseDriverOne-$counter_veh'><i class='fa fa-
plus-square'></i> $name - Info</a></h4>

</div>

<div id='collapseDriverOne-$counter_veh' class='panel-collapse collapse'


role='tabpane$counter_veh' aria-labelledby='headingOneDriver-$counter_veh' aria-
expanded='false' style='height: 0px;'>

<div class='panel-body'>
<p class='name' style='float:right;'>Name:
<u>$name</u>
<p class='name'>Gender: <u>$gender</u></p>
<p class='name'
style='float:right;'>Drivers License Number: <u>$dl</u></p>
<p class='name'>Issue State:
<u>$issues</u></p>

</div>

</div>

</div>
";
$counter_veh++;
} //end while for drivers
echo "</div>";
}//end check if drivers

}//end check if Auto


echo "</div></div></div></div>";
echo '
<div
class="panel-group" id="accordion-2" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">

<div class="panel-heading icon-right" role="tab" id="headingTwo-1">

<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion-1"


href="#collapseTwo-1" aria-expanded="true" aria-controls="collapseTwo-1"><i
class="fa fa-minus-square"></i>Contact Info</a></h4>

</div>

<div id="collapseTwo-1" class="panel-collapse collapse in" role="tabpanel" aria-


labelledby="headingTwo-1">

<div class="panel-body">';
echo "
<p class='name'
style='float:right;'>Address Line 2: <u>$address2</u></p>
<p class='name'>Address:
<u>$address</u></p>
<p class='name' style='float:right;'>
Phone: <u>$phone</u></p>
<p class='name'>E-Mail: <u>$email</u></p>
<p class='name'
style='float:right;'>Notification Preference: <u>$notification_pref</u></p>
<p class='name'
style='float:right;'>Notification Preference Time of Day:
<u>$notification_pref_time</u></p>
<p class='name'>Contact Type:
<u>$contact_type</u></p>
</div></div></div>";

echo '
<div class="panel-group" id="accordion-3" role="tablist" aria-
multiselectable="true">

<div class="panel panel-default">

<div class="panel-heading icon-right" role="tab" id="headingOne-1">

<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion-2"


href="#collapseThree-1" aria-expanded="true" aria-controls="collapseThree-1"><i
class="fa fa-minus-square"></i>Policy/Contact Files</a></h4>

</div>

<div id="collapseThree-1" class="panel-collapse collapse in" role="tabpanel" aria-


labelledby="headingThree-1">

<div class="panel-body">
<table
class="table table-striped table-bordered dataTable no-footer filesTable"
id="ftable-cfile" style="max-width:100%;">
<thead>
<tr>
<th>File Name</th>

<th>Category</th>

<th>Description</th>

<th>Uploaded By</th>

<th>Uploaded</th>';
if (isset($_SESSION['is_owner'])) {
echo '<th>Delete?</th>';
}
echo '
</tr>
</thead>
<tbody>';

$agency_id = $_SESSION['agency_id'];
$file_qry = $con->query("SELECT * from files where agency_id = '$agency_id'
and (identifier = '$policy_num' OR ContactId = '$ContactId') order by uploaded
asc");
while ($row_file = $file_qry->fetch_assoc()) {
$path = $row_file['file_path'];
$cat = $row_file['category'];
$path = str_replace('#', '%23', $path);
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$file_name = $row_file['file_name'];
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
$fid = $row_file['id'];
$uploaded = date("F j, Y g:i a T", strtotime($row_file['uploaded']));
$desc = $row_file['description'];
$uploaded_by = $row_file['uploaded_by'];
$who_qry = $con->query("SELECT fname,lname from users_table where
agency_id = '$agency_id' and user_id = '$uploaded_by'");
$row_who = $who_qry->fetch_assoc();
$uploaded_by = $row_who['fname'] . " " . $row_who['lname'];
echo "<tr>
<td><a href='$path/$file_namee' target='_blank'>$file_name</a></td>
<td><select name='upd_file_category' class='form-control fileCategory'>";
$qry = $con->prepare("SELECT Category from file_categories order by
Category ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($Category);
if ($qry->num_rows > 0) {
echo "<option value=''>Please Select File Category</option>";
while ($qry->fetch()) {
if ($cat == $Category) {
echo "<option value='$fid|$Category'
selected>$Category</option>";
}else {
echo "<option
value='$fid|$Category'>$Category</option>";
}
}//end loop through categories
}else {
echo "<option value=''>Please Create a File Category from the
Quick Tools Menu</option>";
}
echo "</select></td>
<td><input type='text' class='form-control fileDescription'
name='upd_file_desc-$fid' id='upd_file_desc-$fid' data-value='$fid'
value='$desc'></input></td>
<td>$uploaded_by</td>
<td>$uploaded</td>";
if (isset($_SESSION['is_owner'])) {
echo "<td><a href='#' class='fa fa-trash deleteFile' data-
value='$fid'></a></td>";
}
echo "</tr>";
}

echo "</tbody></table></div></div></div>";

echo "<a href='#' name='del_policy' id='del_policy' data-value='$PolicyId'


class='btn btn-new' style='color: #FFFFFF;width: 100%'>DELETE POLICY</a>";

}//end getPolicyInfo

//Begin getAllContacts

/**
*
*/
function getAllContacts() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$rd_qry = $con->query("SELECT * FROM agency_contacts where agency_id =


'$agency_id'");
while ($row = $rd_qry->fetch_assoc()) {
$name = $row['fname'] . ' ' . $row['lname'];
$address = $row['address'];
$address2 = $row['address_line2'];
$phone = $row['phone'];
$email = $row['email'];
$contact_status = $row['contact_status'];
$contact_type = $row['contact_type'];
$ContactId = $row['ContactId'];
$policy_qry = $con->query("SELECT count(policy_number) as policy_count
from policies where ContactId = '$ContactId' and policy_status = 'Active'");
$row2 = $policy_qry->fetch_assoc();
$policy_count = $row2['policy_count'];
$city = $row['city'];
$state = $row['state'];
$ContactId = $row['ContactId'];

echo " <tr><a href='#'


id='contact_info' name='contact_info' data-value='$ContactId'>
<td><a href='#'
id='contact_info' name='contact_info' data-value='$ContactId'>$name</a></td>
<td><a href='#'
id='contact_info' name='contact_info' data-value='$ContactId'>$address</a></td>
<td><a href='#' id='contact_info'
name='contact_info' data-value='$ContactId'>$city</a></td>
<td><a href='#' id='contact_info'
name='contact_info' data-value='$ContactId'>$state</a></td>
<td><a href='#'
id='contact_info' name='contact_info'
data-value='$ContactId'>$policy_count</a></td>
<td><a href='#'
id='contact_info' name='contact_info'
data-value='$ContactId'>$contact_status</a></td>
<td><a href='#' id='contact_info'
name='contact_info' data-value='$ContactId'>$contact_type</a></td>
</a></tr>";

} //End while

} //End getAllContacts

//begin getContactEdit

/**
*
* @return unknown
*/
function getContactEdit() {

global $con, $con_qr, $con_adm;

$agency_id = $_SESSION['agency_id'];
$ContactId = $_POST['get_contact_edit'];
$type = 'Contact';
$identifier = $ContactId;
addToQuickAccess($identifier, $type);

$accordion_count = 2;
$child_count = $accordion_count - 1;
$rd_qry = $con->query("SELECT * from agency_contacts where ContactId =
'$ContactId' ");
$qry = $con->prepare("SELECT id from agency_contacts where ContactId = ?");
$qry->bind_param("i", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id);
$qry->fetch();
$qry = $con->prepare("SELECT count(*) as num_policies from policies where
policy_status = ? and (policies.ContactId = ? OR policies.ContactId IN (SELECT
Linked_ContactId from linked_contacts where Main_ContactId = ?))");
$act = 'Active';
$qry->bind_param("sss", $act, $ContactId, $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_policies);
$qry->fetch();
$qry = $con->prepare("SELECT count(*) as num_policies from policies where
policy_status = ? and (policies.ContactId = ? OR policies.ContactId IN (SELECT
Linked_ContactId from linked_contacts where Main_ContactId = ?))");
$act = 'Inactive';
$qry->bind_param("sss", $act, $ContactId, $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_inact_policies);
$qry->fetch();

$qry = $con->prepare("SELECT sum(policy_premium) as num_policies from


policies where policy_status = ? and (policies.ContactId = ? OR policies.ContactId
IN (SELECT Linked_ContactId from linked_contacts where Main_ContactId = ?))");
$act = 'Active';
$qry->bind_param("sss", $act, $ContactId, $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($prems);
$qry->fetch();

$qry = $con->prepare("SELECT sum(policy_premium) as num_policies from


policies where policy_status = ? and (policies.ContactId = ? OR policies.ContactId
IN (SELECT Linked_ContactId from linked_contacts where Main_ContactId = ?))");
$act = 'Inactive';
$qry->bind_param("sss", $act, $ContactId, $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($lost_prems);
$qry->fetch();
if ($lost_prems == '') {
$lost_prems = '0.00';
}

$row = $rd_qry->fetch_assoc();
$fname = $row['fname'];
$lname = addslashes($row['lname']);
$bname = addslashes($row['bname']);
$fax = $row['fax_number'];
$pref_name = $row['preferred_name'];
$address = $row['address'];
$address2 = $row['address_line2'];
$lead_src = $row['lead_source'];
$lead_src_details = $row['lead_source_details'];
$phone = $row['phone'];
$email = $row['email'];
$contact_status = $row['contact_status'];
$contact_type = $row['contact_type'];
$contact_state = $row['state'];
$contact_city = $row['city'];
$contact_zip = $row['zip'];
$contact_notif_pref = $row['notification_pref'];
$contact_notif_pref_time = $row['notification_pref_time'];
$assigned_to = $row['assigned_to'];
$mname = $row['mname'];
$home = $row['last_quoted_home'];
$auto = $row['last_quoted_auto'];
$life = $row['last_quoted_life'];
$health = $row['last_quoted_health'];
$bq_home = $row['quoted_home'];
$bq_auto = $row['quoted_auto'];
$bq_life = $row['quoted_life'];
$bq_health = $row['quoted_health'];
$int_company = $row['from_intp'];
$corr_id = $row['correlation_lead_id'];
$hidden = $row['hidden'];
$ContactId = $row['ContactId'];
$contact_id = $row['id'];
$cagencyid = $row['agency_id'];
$lead_status = $row['contact_status'];

if ($bq_home == 'No') {
$home = 'Not Quoted';
}else {
$home = strtotime($home);
$home = date("F j,Y g:i a", $home);
}

if ($bq_health == 'No') {
$health = 'Not Quoted';
}else {
$health = strtotime($health);
$health = date("F j,Y g:i a", $health);
}

if ($bq_auto == 'No') {
$auto = 'Not Quoted';
}else {
$auto = strtotime($auto);
$auto = date("F j,Y g:i a", $auto);
}

if ($bq_life == 'No') {
$life = 'Not Quoted';
}else {
$life = strtotime($life);
$life = date("F j,Y g:i a", $life);
}
$agency_id = $_SESSION['agency_id'];
$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by
from contact_notes,users_table where (ContactId = ? OR ContactId in (SELECT
Linked_ContactId from linked_contacts where Main_ContactId = ?) OR ContactId in
(SELECT Main_ContactId from linked_contacts where Linked_ContactId = ?)) and
note_by = users_table.user_id and contact_notes.agency_id = ? order by entry_ts
desc");
$note_qry->bind_param("ssss", $ContactId, $ContactId, $ContactId,
$agency_id);
$note_qry->execute();
$note_qry->store_result();
$num_notes = $note_qry->num_rows;

$claim_qry = $con->prepare("SELECT COUNT(Id) from claims where ContactId


= ?");
$claim_qry->bind_param("s", $ContactId);
$claim_qry->execute();
$claim_qry->store_result();
$claim_qry->bind_result($num_claims);
$claim_qry->fetch();

$file_qry = $con->prepare("SELECT
file_path,file_name,uploaded,CONCAT(fname, ' ', lname) as
name,files.id,files.category,files.description from users_table,files where
files.agency_id = ? and (identifier IN (SELECT policy_number from policies where
ContactId = ?) OR identifier = ?) and uploaded_by = user_id order by uploaded
asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("sss", $agency_id, $ContactId, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;

$qry = $con->prepare("SELECT * from deals where ContactId = ?");


$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$num_deals = $qry->num_rows;

$qry = $con->prepare("SELECT * from policies where (policies.ContactId = ? OR


policies.ContactId IN (SELECT Linked_ContactId from linked_contacts where
Main_ContactId = ?))");
$qry->bind_param("ss", $ContactId, $ContactId);
$qry->execute();
$qry->store_result();
$num_policies = $qry->num_rows;
$qry = $con->prepare("SELECT count(*) from sms_traffic where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_msgs);
$qry->fetch();

$qry = $con->prepare("SELECT count(*) from fax_traffic where ContactId = ?");


$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_fax);
$qry->fetch();

$qry = $con->prepare("SELECT count(id) from tasks where ContactId = ?");


$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_tasks);
$qry->fetch();
$qry = $con->prepare("SELECT
fname,lname,email,phone,address,address_line2,contact_status,city,state,zip,correla
tion_lead_id,assigned_to from agency_contacts where ContactId = ?");
$qry->bind_param("s", $_POST['get_contact_edit']);
$qry->execute();
$qry->store_result();
$qry->bind_result($fname, $lname, $email, $phone, $addr, $addr2, $status,
$city, $state, $zip, $clid, $assigned);

$qry->fetch();

$qry2 = $con->prepare("SELECT count(*) from policies where policy_status = ?


and (policies.ContactId = ? OR policies.ContactId IN (SELECT Linked_ContactId from
linked_contacts where Main_ContactId = ?))");
$act = 'Active';
$qry2->bind_param("sss", $act, $ContactId, $ContactId);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($num_policies);
$qry2->fetch();
if ($email == '') {
$email = 'No email stored';
}
if ($phone == '') {
$phone = 'No phone';
$num_msgs = 0;
}

echo "
<div id='contactViewPanel'>
<div class='btn-group btn-group-justified' role='group'>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='editContactButton'>Edit
Contact</a>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='add-policy' data-
value='$ContactId'>Add Policy</a>";
if ($lead_status == 'Quoted' || $lead_status == 'Verified' || $lead_status ==
'Active') {
if ($corr_id != '') {
echo "<a href='#' class='btn btn-primary subQB' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' data-
value='$contact_id'>Send To QuoteBOT</a>";
echo "<a href='#' class='btn btn-primary genProposal'
role='button' style='color:#fff;border:1px solid;border-color:#fff;' data-
value='$ContactId'>Generate Proposal</a>";
}else {
}
}
echo "
</div>
<hr>

<div
class='panel-group' id='accordion-1' role='tablist' aria-multiselectable='true'>
<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-1-1'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-1'


href='#collapseOne-1-1' aria-expanded='true' aria-controls='collapseOne-1-1'><i
class='fa fa-minus-square'></i>Contact Info</a></h4>

</div>

<div id='collapseOne-1-1' class='panel-collapse collapse in' role='tabpanel' aria-


labelledby='headingOne-1-1'>

<div class='panel-body'>
<hr>
<div
class='data-overview'>

<div class='item col-sm-2 col-sm-2 col-xs-2 policiesHeader'>

<h5 class='item-title'>Policies<p class='item-figure


text-success'>$num_policies</p></h5>

</div>

<div class='item col-sm-2 col-sm-2 col-xs-2 messagesHeader'>

<h5 class='item-title'>Messages<p class='item-figure


text-success'>$num_msgs</p></h5>

</div>

<div class='item col-sm-2 col-sm-2 col-xs-2 fileHeader'>

<h5 class='item-title'>Files<p class='item-figure text-success'>$num_files</p></h5>

</div>

<div class='item col-sm-2 col-sm-2 col-xs-2 taskHeader'>

<h5 class='item-title'>Tasks<p class='item-figure text-success'>$num_tasks</p></h5>

</div>

<div class='item col-sm-2 col-sm-2 col-xs-2 dealHeader'>

<h5 class='item-title'>Deals<p class='item-figure text-success'>$num_deals</p></h5>

</div>

<div class='item col-sm-2 col-sm-2 col-xs-2 claimsHeader'>

<h5 class='item-title'>Claims<p class='item-figure


text-warning'>$num_claims</p></h5>

</div>";
echo "
</div>
<hr>
<div class='item col-sm-6
col-sm-6 col-xs-6'>
<ul
class='meta-data list-unstyled'>

<li><span aria-hidden='true' class='icon icon icon_id'></span> $fname $lname</li>

<li><span aria-hidden='true' class='icon icon_pin_alt'></span> $addr $addr2 $city,


$state $zip</li>

<li><span aria-hidden='true' class='icon icon_phone'></span> <a href='tel:$phone'


target='_blank'>$phone</a></li>

<li><span aria-hidden='true' class='icon icon_mail_alt'></span> <a href='mailto:


$email' target='_blank'>$email</a></li>
</ul>
</div>

</div>
</div>

</div>
</div>
<div
class='panel-group' id='accordion-policies' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-policies'


href='#collapseOne-policies' aria-expanded='false' aria-controls='collapseOne-
policies'><i class='fa fa-plus-square'></i>Policy Info</a></h4>

</div>

<div id='collapseOne-policies' class='panel-collapse collapse' role='tabpanel'


aria-labelledby='headingOne-2'>

<div class='panel-body'>
<table
id='contact-policies-table' class='table table-striped table-bordered dataTable no-
footer'>

<thead>

<th>Policy Number</th>

<th>Named Insured</th>

<th>Policy Status</th>
<th>Carrier</th>

<th>Policy Type</th>

<th>Property Address</th>

<th>Premium</th>

<th>Renewal Premium</th>

<th>Expiration Date</th>

</thead>

<tbody>";
$qryp = $con->prepare("SELECT
policy_number,named_insured,policy_status,carrier,line_of_business,premium_sent,exp
_date,policies.PolicyId from policies where (policies.ContactId = ? OR
policies.ContactId IN (SELECT Linked_ContactId from linked_contacts where
Main_ContactId = ?))");
$qryp->bind_param("ss", $ContactId, $ContactId);
$qryp->execute();
$qryp->store_result();
if ($qryp->num_rows > 0) {
$qryp->bind_result($pnum, $ni, $ps, $c, $lob, $prem, $exp, $PolicyId);
while ($qryp->fetch()) {
$qrypp = $con->prepare("SELECT property_address from
property_info where PolicyId = ?");
$qrypp->bind_param("s", $PolicyId);
$qrypp->execute();
$qrypp->store_result();
if ($qrypp->num_rows > 0) {
$qrypp->bind_result($pa);
$qrypp->fetch();
}else {
$pa = "No property address found";
}
$qryrp = $con->prepare("SELECT Premium from renewal_quotes where
PolicyId = ? and Received > DATE_SUB(NOW(), INTERVAL 6 MONTH)");
$qryrp->bind_param("s", $PolicyId);
$qryrp->execute();
$qryrp->store_result();
if ($qryrp->num_rows > 0) {
$qryrp->bind_result($renew);
$qryrp->fetch();
}else {
$renew = 'No Renewal Quotes';
}
echo "
<tr>

<td><a href='#' id='policy_info' name='policy_info' data-


value='$PolicyId'>$pnum</a></td>

<td>$ni</td>

<td>$ps</td>
<td>$c</td>

<td>$lob</td>

<td>$pa</td>

<td>$prem</td>

<td>$renew</td>

<td>$exp</td>

</tr>";
}//end loop through policies
}//end check for policies
echo "
</tbody>

</table>

</div>

</div>

</div>
</div>
<div
class='panel-group' id='accordion-preview-active-deals' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-active-


deals'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-policies'


href='#collapseOne-preview-active-deals' aria-expanded='false' aria-
controls='collapseOne-preview-active-deals'><i class='fa fa-plus-square'></i>Active
Deals</a></h4>

</div>

<div id='collapseOne-preview-active-deals' class='panel-collapse collapse'


role='tabpanel' aria-labelledby='headingOne-2-preview-active-deals'>

<div class='panel-body'>";
$qryd = $con->prepare("SELECT
id,quote_id,type,lob,step,started,wf_id,ContactId from deals where ContactId = ?
and status = ?");
$inp = "In Progress";
$qryd->bind_param("ss", $ContactId, $inp);
$qryd->execute();
$qryd->store_result();
if ($qryd->num_rows > 0) {
$qryd->bind_result($DealId, $DQId, $DType, $DLob, $DStep, $DStarted,
$DWfid, $DCId);
while ($qryd->fetch()) {
$DNStep = $DStep++;
$DStarted = date("F j, Y, g:i a", strtotime($DStarted));
echo "<h3 class='text-center'>$DType - $DStarted</h3>";
echo "<h3 class='text-center'><button type='button' class='btn
btn-primary qr-con-deal' data-value='$DealId' data-type='' data-qid='$DQId' data-
cid='$DCId' data-wfid='$DWfid'>Edit Deal</button></h3>";
echo "<ul id='progress-bar' class='progressbar'>";
$qrydw = $con->prepare("SELECT name,wf_order from workflow_steps
where wf_id = ? order by wf_order ASC");
$qrydw->bind_param("s", $DWfid);
$qrydw->execute();
$qrydw->store_result();
$qrydw->bind_result($DStepName, $DAStep);
while ($qrydw->fetch()) {
if ($DAStep > $DStep) {
echo "<li>$DStepName</li>";
}
if ($DAStep < $DStep) {
echo "<li class='active'>$DStepName</li>";
}
if ($DAStep == $DStep) {
echo "<li>$DStepName</li>";
}
}//end loop through WF steps
}//end loop
echo "</ul>
<hr>";
}
echo "
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-preview-linked-contacts' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-linked-


contacts'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-notes-


preview' href='#collapseOne-preview-linked-contacts' aria-expanded='false' aria-
controls='collapseOne-preview-linked-contacts'><i class='fa
fa-plus-square'></i>Linked Contacts</a></h4>

</div>

<div id='collapseOne-preview-linked-contacts' class='panel-collapse collapse'


role='tabpanel' aria-labelledby='headingOne-2-preview-linked-contacts'>

<div class='panel-body'>";

$lcqry = $con->prepare("SELECT
fname,lname,email,phone,address,address_line2,contact_status,city,state,zip,correla
tion_lead_id,assigned_to,ContactId from agency_contacts where ContactId IN (SELECT
Linked_ContactId from linked_contacts where Main_ContactId = ?)");
$lcqry->bind_param("s", $ContactId);
$lcqry->execute();
$lcqry->store_result();
$lcqry->bind_result($lcfname, $lclname, $lcemail, $lcphone, $lcaddr,
$lcaddr2, $lcstatus, $lccity, $lcstate, $lczip, $lcclid, $lcassigned,
$lcContactId);

while ($lcqry->fetch()) {
echo "
<div
class='item col-sm-6 col-sm-6 col-xs-6'>
<ul
class='meta-data list-unstyled'>

<li><span aria-hidden='true' class='icon icon icon_id'></span><a href='#'


class='contact_info' data-value='$lcContactId'>$lcfname $lclname</a></li>

<li><span aria-hidden='true' class='icon icon_pin_alt'></span> $lcaddr $lcaddr2


$lccity,$lcstate $lczip</li>

<li><span aria-hidden='true' class='icon icon_phone'></span> $lcphone</li>

<li><span aria-hidden='true' class='icon icon_mail_alt'></span> $lcemail</li>


</ul>
</div>
";
}//end loop through linked contacts

echo "
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-notes-preview' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-notes'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-notes-


preview' href='#collapseOne-preview-notes' aria-expanded='true' aria-
controls='collapseOne-preview-notes'><i class='fa
fa-minus-square'></i>Notes</a></h4>

</div>

<div id='collapseOne-preview-notes' class='panel-collapse collapse in'


role='tabpanel' aria-labelledby='headingOne-2-preview-notes'>

<div class='panel-body'>
<div role='tabpanel'>

<ul class='nav nav-tabs' role='tablist'>


<li
role='presentation' class='active'><a href='#contact-notes-view' aria-
controls='contact-notes-view' role='tab' data-toggle='tab' aria-
expanded='true'>Contact Notes</a></li>
<li
role='presentation' class=''><a href='#policy-notes-view' id='policy-notes-view-
tab' aria-controls='policy-notes-view' role='tab' data-toggle='tab' aria-
expanded='false'>Policy Notes</a></li>

</ul>

<div class='tab-content'>

<div role='tabpanel' class='tab-pane active' id='contact-notes-view'>


<form class='form-horizontal'
id='addQuickNote' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<input type='hidden' id='quickNoteCID'
name='quickNoteCID' value='$ContactId'></input>
<label class='control-label'
for='quickNote'>Quick Note</label>
<textarea id='quickNote' type='text'
name='quickNote' class='form-control'></textarea>
</div>
</div>
<button id='addQuickNoteButton' class='btn
btn-block btn-primary'>Add Quick Note - Contact</button>
</form>
<hr>

";

$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by,
contact_notes.id from contact_notes,users_table where (contact_notes.ContactId = ?
OR contact_notes.ContactId in (SELECT Linked_ContactId from linked_contacts where
Main_ContactId = ?) OR contact_notes.ContactId in (SELECT Main_ContactId from
linked_contacts where Linked_ContactId = ?)) and note_by = users_table.user_id and
contact_notes.agency_id = ? order by entry_ts desc");
$note_qry->bind_param("ssss", $ContactId, $ContactId, $ContactId,
$agency_id);
$note_qry->execute();
$note_qry->store_result();
$num_notes = $note_qry->num_rows;
if ($note_qry->num_rows > 0) {
echo "<table id='contact-notes-ov-table' class='table table-striped
table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
<th>Add to Note</th>
</tr>
<thead>
<tbody>";
$note_qry->bind_result($note_content, $note_date, $note_author, $nid);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a", strtotime($note_date));
$note_content = nl2br($note_content);
echo " <tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
<td><button id='appendContactNote-
$nid' data-value='$nid' class='btn btn-block btn-primary appendContactNote'>Add to
Note</button></td>
</tr>";

}//end while

echo "</tbody></table>";
}//end check for notes
echo "
</div>
<div role='tabpanel' class='tab-pane' id='policy-notes-view'>";
$qry = $con->prepare("SELECT
p.policy_number,p.line_of_business,p.named_insured,ac.fname,ac.lname,ac.bname,n.not
e_content,CONCAT(u.fname, ' ', u.lname) as note_by, entry_ts from policy_notes
n,agency_contacts ac, users_table u, policies p where ac.ContactId = ? AND
ac.ContactId = n.ContactId AND n.note_by = u.user_id AND n.PolicyId = p.PolicyId");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($pnum, $plob, $pni, $afname, $alname, $abname, $pnc, $nby,
$noted);

echo "<table id='policy-notes-ov-table' class='table table-striped table-


bordered dataTable no-footer'>
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
<th>Policy Info (Policy
Number | LOB | Named Insured)</th>
</tr>
<thead>
<tbody>";

while ($qry->fetch()) {
$noted = date("F j, Y g:i a", strtotime($noted));
$pnc = nl2br($pnc);
echo "<tr>
<td>$nby</td>
<td>$noted</td>
<td>$pnc</td>
<td>$pnum | $plob | $pni</td>
</tr>";
}
echo "</tbody>
</table>
</div>
</div>
</div>
</div>

</div>

</div>
</div>";
$qryapp = $con->prepare("SELECT
ApplicationId,Applicant_FirstName,Applicant_LastName,Stage,Created,user_id from
applications where ContactId = ?");
$qryapp->bind_param("s", $ContactId);
$qryapp->execute();
$qryapp->store_result();
if($qryapp->num_rows > 0){
$qryapp->bind_result($ApplicationId,$Applicant_FirstName,$Applicant_LastName,
$Stage,$Created,$auid);
$qryapp->fetch();
$qryappu = $con->prepare("SELECT fname,lname from users_table where user_id =
?");
$qryappu->bind_param("i", $auid);
$qryappu->execute();
$qryappu->store_result();
$qryappu->bind_result($ufname,$ulname);
$qryappu->fetch();
echo "

<div
class='panel-group' id='accordion-applications-preview' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-


applications'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-


applications-preview' href='#collapseOne-preview-applications' aria-expanded='true'
aria-controls='collapseOne-preview-applications'><i class='fa
fa-minus-square'></i>Applications</a></h4>

</div>

<div id='collapseOne-preview-applications' class='panel-collapse collapse in'


role='tabpanel' aria-labelledby='headingOne-2-preview-applications'>

<div class='panel-body'>

<table class='table table-striped table-bordered dataTable no-footer'


id='applications-view-table'>

<thead>

<tr>

<th>View</th>

<th>Applicant</th>

<th>Stage</th>
<th>Created By</th>

<th>Created On</th>

</thead>

<tbody>

<td><a href='applications.php?Application=$ApplicationId'>View
Application</a></td>

<td>$Applicant_FirstName $Applicant_LastName</td>

<td>$Stage</td>

<td>$ufname $ulname</td>

<td>$Created</td>

</tbody>

</table>
</div>
</div>
</div>
</div>";
}
echo "

<div
class='panel-group' id='accordion-tasks-preview' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-tasks'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-tasks-


preview' href='#collapseOne-preview-tasks' aria-expanded='true' aria-
controls='collapseOne-preview-tasks'><i class='fa
fa-minus-square'></i>Tasks</a></h4>

</div>

<div id='collapseOne-preview-tasks' class='panel-collapse collapse in'


role='tabpanel' aria-labelledby='headingOne-2-preview-tasks'>

<div class='panel-body'>";
$agency_id = $_SESSION['agency_id'];
$rd_qry = $con->query("SELECT fname,lname,user_id from users_table where
agency_id = '$agency_id' order by lname asc");
echo "<h4 style='text-align: center;'>Add Quick Task</h4>";
echo "<form class='form-horizontal' id='new_task_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo " <div
class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label for='task_assigned'>Assign Task To</label>";
echo "<select class='form-control' name='task_assigned'>
<option value=''>Please Select</option>";
while ($row = $rd_qry->fetch_assoc()) {
$count = 1;
$ufname = $row['fname'];
$ulname = $row['lname'];
$user_id = $row['user_id'];
echo " <option value='$user_id'>$ufname
$ulname</option>";
$count++;
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {

while ($row_sub = $sub_query->fetch_assoc()) {


$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(fname, ' ', lname) as


name, user_id from users_table where agency_id = '$sub_id' order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while

}//sub agency while


}//end check for rows
}//end check if mgr
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups
where agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
echo "<option value='' disabled>----GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
echo "<option
value='$GroupId'>$GroupName</option>";
}
}
echo '</select></div></div>';

echo "<input type='hidden' class='form-control' id='task_contact_assoc'


name='task_contact_assoc' value='$fname $lname - $address | $contact_id'></input>";
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
echo " <div
class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<input type='text' class='form-control' name='task_desc' id='task_desc'
placeholder='Task Description'></input></div></div>";
$today = date("Y-m-d");
$qry = $con_adm->prepare("SELECT Priority from ams_admin.task_priorities
where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-5'><select
class='form-control' name='task_priority'><option value=''>Please Select
Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div></div>";

echo " <div


class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'><label for='task_date'>Due Date</label>
<input type='text' class='datepicker form-control' id='task_date'
name='task_date' min='$today' required /></div></div>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addTaskButton">Add Task</button>
</form>
<script>
</script>';

$qry = $con->prepare("SELECT user_id, assigned_by, description, task_status,


due_date, task_notes, dismissed_by, dismissed_date, id, Priority from tasks a where
a.ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
//found stuff to show
$qry->bind_result($ato, $aby, $desc, $status, $due, $notes, $dby,
$ddate, $tid, $priority);
echo '

<table class="table table-striped table-bordered dataTable no-footer" id="tasks-


view-table">

<thead>

<tr>
<th>Assigned To</th>

<th>Assigned By</th>

<th>Description</th>

<th>Due Date</th>

<th>Priority</th>

<th>Status</th>

<th>Completed Date</th>

<th>Notes</th>

<th>Add Notes</th>

<th>Dismiss</th>

</thead>

<tbody>';

while ($qry->fetch()) {
if ($status !== 'Complete') {
$ddate = '';
}
if ($dby != '') {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry2->bind_param("s", $dby);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($dismissed_by);
$qry2->fetch();
}//get name of person that dismissed the task
$qry3 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry3->bind_param("s", $ato);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($assgned_to);
$qry3->fetch();
$qry4 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry4->bind_param("s", $aby);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($assigned_by);
$qry4->fetch();
echo " <tr>

<td>$assgned_to</td>

<td>$assigned_by</td>

<td>$desc</td>
<td>$due</td>

<td>$priority</td>

<td>$status</td>

<td>$ddate</td>

<td>$notes</td>

<td><button id='appendTaskNote-$tid' data-value='$tid' class='btn btn-block


btn-primary appendTaskNote'>Add to Note</button>";
if ($status != 'Complete') {
echo "
<td><a href='#' id='task_comp' name='task_comp'
data-value='$tid'>Dismiss</a></td>";
}else {
echo "
<td>Complete</td>";
}
echo "

</tr>";

}//loop through rows

echo "</tbody></table>";

}else {
//nothing to show

echo "<h2>Nothing to see here</h2>";

}
echo "

</div>

</div>

</div>
</div>

<div
class='panel-group' id='accordion-files-preview' role='tablist' aria-
multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-2-preview-files'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-files-


preview' href='#collapseOne-preview-files' aria-expanded='true' aria-
controls='collapseOne-preview-files'><i class='fa
fa-minus-square'></i>Files</a></h4>

</div>

<div id='collapseOne-preview-files' class='panel-collapse collapse in'


role='tabpanel' aria-labelledby='headingOne-2-preview-files'>

<div class='panel-body'>
";
$file_qry = $con->prepare("SELECT file_path,file_name,uploaded,CONCAT(fname,
' ', lname) as name,files.id,files.category,files.description from
users_table,files where files.agency_id = ? and (identifier IN (SELECT
policy_number from policies where ContactId = ?) || identifier = ?) and uploaded_by
= user_id order by uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("sss", $agency_id, $ContactId, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;

echo '
<form action="upload.php" class="dropzone dz-clickable" id="drop_zone"
method="post">';
echo "<input type='hidden' name='file_contact_id'
value='$contact_id'></input>
<input type='hidden' name='file_ContactId' value='$ContactId'></input>
<input type='hidden' name='upload_from' value='contact'></input>";
echo '<div class="dz-default dz-message"><span>Drop files here to
upload</span></div></form>

<input type="file" multiple="multiple" class="dz-hidden-input" style="visibility:


hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
<script>

// Dropzone class:
var myDropzone = new Dropzone("#drop_zone", { url: "upload.php"});

myDropzone.on("success", function(file, response) {


$("#ftable-cqfile tr:last").after(response);
});

</script><hr>';

if ($file_qry->num_rows > 0) {
$num_files = $file_qry->num_rows;
echo "

<table class='table table-striped table-bordered dataTable no-footer filesTable'


id='ftable-cqfile' style='max-width:100%;'>

<thead>

<tr>
<th>File Name</th>

<th>Category</th>

<th>Description</th>

<th>Uploaded By</th>

<th>Uploaded</th>";
if (isset($_SESSION['is_owner'])) {
echo "<th>Delete?</th>";
}
echo "

</tr>

</thead>

<tbody>";

$file_qry->bind_result($path, $file_name, $uploaded, $uploaded_by,


$fid, $cat, $desc);
while ($file_qry->fetch()) {
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
echo "<tr>
<td><a href='$path/$file_namee' target='_blank'>$file_name</a></td>
<td><select name='upd_file_category' class='form-control fileCategory'>";
$qry = $con->prepare("SELECT Category from file_categories order
by Category ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($Category);
if ($qry->num_rows > 0) {
echo "<option value=''>Please Select File
Category</option>";
while ($qry->fetch()) {
if ($cat == $Category) {
echo "<option value='$fid|$Category'
selected>$Category</option>";
}else {
echo "<option value='$fid|
$Category'>$Category</option>";
}
}//end loop through categories
}else {
echo "<option value=''>Please Create a File Category from
the Quick Tools Menu</option>";
}
echo "</select></td>
<td><input type='text' class='form-control fileDescription'
name='upd_file_desc-$fid' id='upd_file_desc-$fid' data-value='$fid'
value='$desc'></input></td>
<td>$uploaded_by</td>
<td>$uploaded</td>";
if (isset($_SESSION['is_owner'])) {
echo "<td><a href='#' class='fa fa-trash deleteFile' data-
value='$fid'></a></td>";
}
echo "</tr>";
}

echo "</tbody></table>";

}//end check for files


echo "

</div>

</div>

</div>
</div>
</div>
</div>

<div id='contactEditPanel' style='display:none;'>


<div class='btn-group btn-group-justified' role='group'>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;'
id='overviewContactButton'>Go Back to Overview</a>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='add-policy' data-
value='$ContactId'>Add Policy</a>";
if ($lead_status == 'Quoted' || $lead_status == 'Verified' || $lead_status
== 'Active') {
if ($corr_id != '') {
echo "<a href='#' class='btn btn-primary subQB'
role='button' style='color:#fff;border:1px solid;border-color:#fff;' data-
value='$contact_id'>Send To QuoteBOT</a>";
echo "<a href='#' class='btn btn-primary genProposal'
role='button' style='color:#fff;border:1px solid;border-color:#fff;' data-
value='$ContactId'>Generate Proposal</a>";
}else {
}
}
$num_emsgs = 0;
echo "
</div>

<div role='tabpanel'>

<ul class='nav nav-tabs' role='tablist'>


<li
role='presentation' class='active'><a href='#contact-info' aria-controls='profile-
info' role='tab' data-toggle='tab' aria-expanded='true'>Contact-Info</a></li>
<li
role='presentation' class=''><a href='#linked-contacts' id='linked-contacts-tab'
aria-controls='linked-contacts' data-value='$contact_id' role='tab' data-
toggle='tab' aria-expanded='false'>Linked Contacts</a></li>
<li
role='presentation' class=''><a href='#tasks-info' id='tasks-info-tab' aria-
controls='tasks-info' data-value='$contact_id' role='tab' data-toggle='tab' aria-
expanded='false'>Tasks <span class='badge
badge-primary'>$num_tasks</span></a></li>
<li
role='presentation' class=''><a href='#messages-info' id='messages-info-tab' aria-
controls='messages-info' data-value='$contact_id' role='tab' data-toggle='tab'
aria-expanded='false'>Messages <span class='badge
badge-primary'>$num_msgs</span></a></li>
<li
role='presentation' class=''><a href='#fax-info' id='fax-info-tab' aria-
controls='fax-info' data-value='$contact_id' role='tab' data-toggle='tab' aria-
expanded='false'>Fax <span class='badge badge-primary'>$num_fax</span></a></li>
<li
role='presentation' class=''><a href='#emessages-info' id='emessages-info-tab'
aria-controls='emessages-info' data-value='$contact_id' role='tab' data-
toggle='tab' aria-expanded='false'>E-Mails <span class='badge badge-
primary'>$num_emsgs</span></a></li>
<li role='presentation'
class=''><a href='#deals-info' aria-controls='deals-info' role='tab' data-
toggle='tab' aria-expanded='false'>Deals <span class='badge badge-
primary'>$num_deals</span></a></li>
<li
role='presentation' class=''><a href='#policies-info' aria-controls='policies-info'
role='tab' data-toggle='tab' aria-expanded='false'>Policies <span class='badge
badge-primary'>$num_policies</span></a></li>
<li role='presentation'
class=''><a href='#claims-info' aria-controls='claims-info' role='tab' data-
toggle='tab' aria-expanded='false'>Claims<span class='badge badge-
primary'>$num_claims</span></a></li>
<li
role='presentation' class=''><a href='#notes-info' aria-controls='notes-info'
role='tab' data-toggle='tab' aria-expanded='false'>Notes <span class='badge badge-
primary'>$num_notes</span></a></li>
<li
role='presentation' class=''><a href='#files-info' aria-controls='files-info'
role='tab' data-toggle='tab' aria-expanded='false'>Files <span class='badge badge-
primary'>$num_files</span></a></li>
<li
role='presentation' class=''><a href='#acord-info' aria-controls='acord-info'
role='tab' data-toggle='tab' aria-expanded='false'>ACORD Forms</a></li>
<li
role='presentation' class=''><a href='#misc-info' aria-controls='misc-info'
role='tab' data-toggle='tab' aria-expanded='false'>Misc Forms</a></li>";

if ($corr_id != '') {
$int_info = $con->prepare("SELECT
endpoint_initial,company_name,ip_id,ip_secret,endpoint,endpoint_type,endpoint_uname
,endpoint_pw from agency_integrations,ams_admin.company_integrations where
company_integrations.id = ? and agency_integrations.integration_company_id = ? and
agency_id = ? ");
$int_info->bind_param("sss", $int_company, $int_company, $agency_id);
$int_info->execute();
$int_info->store_result();
if (!$int_info) {
echo $con->error;
}
if ($int_info->num_rows > 0) {
$int_info->bind_result($endpoint_initial, $company_name, $ip_id,
$ip_secret, $endpoint, $endpoint_type, $endpoint_uname, $endpoint_pw);
$int_info->fetch();

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush')


{

$con_qr = mysqli_connect($endpoint, $endpoint_uname,


$endpoint_pw, $endpoint_initial);
if (!$con_qr) {
echo $con_qr->error;
}

$qry = $con_qr->prepare("SELECT DatabaseName from


quoterush.agencies where QRId = ? and SecretCMSKey = ? ");
$qry->bind_param("ss", $ip_id, $ip_secret);
$qry->execute();
$qry->store_result();
if ($qry->num_rows === 0) {

$prospects = "Integration Failure";


return $prospects;exit;
}else {
$qry->bind_result($dbname);
$qry->fetch();

echo "
<li
role='presentation' class=''><a href='#qr-info' aria-controls='quoterush-info'
role='tab' data-toggle='tab' aria-expanded='false'>QuoteRush Info</a></li>";

} //End check for Database Endpoint and QuoteRush


}
}
}
echo "
</ul>
<div class='tab-content'>

<div role='tabpanel' class='tab-pane active' id='contact-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='row'>
<div class='item item-tickets
col-md-3 col-sm-3 col-xs-3'>
<h4 class='item-
title text-success'>Active Policies</h4>
<p class='item-
figure text-success'>$num_policies</p>
</div>
<div
class='item item-tickets col-md-3 col-sm-3 col-xs-3'>

<h4 class='item-title text-danger'>In-Active Policies</h4>

<p class='item-figure text-danger'>$num_inact_policies</p>

</div>
<div
class='item item-tickets col-md-3 col-sm-3 col-xs-3'>

<h4 class='item-title text-success'>Premiums</h4>

<p class='item-figure text-success'>$prems</p>

</div>
<div
class='item item-tickets col-md-3 col-sm-3 col-xs-3'>

<h4 class='item-title text-danger'>Lost Premiums</h4>

<p class='item-figure text-danger'>$lost_prems</p>

</div>

</div>";
echo '
<div
class="panel-group" id="accordion-1" role="tablist" aria-multiselectable="true">

<div class="panel panel-default">

<div class="panel-heading icon-right" role="tab" id="headingOne-1">

<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion-1"


href="#collapseOne-1-2" aria-expanded="true" aria-controls="collapseOne-1-2"><i
class="fa fa-minus-square"></i>Contact Info</a></h4>

</div>

<div id="collapseOne-1-2" class="panel-collapse collapse in" role="tabpanel" aria-


labelledby="headingOne-1">

<div class="panel-body">';
echo "

<form class='form-horizontal' id='upd_contact_form'


action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<div style='display:flex;flex-wrap:wrap;margin-
left:10px;margin-right:10px;' class='row'>
<input type='hidden' id='upd_contact_id'
name='upd_contact_id' value='$contact_id'></input>
<input type='hidden' id='ContactId'
name='ContactId' value='$ContactId'></input>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label>First Name</label>
<input id='upd_fname' type='text' name='upd_fname'
value='$fname' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Middle Name</label>
<input id='upd_mname' type='text'
name='upd_mname' value='$mname' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Last Name</label>
<input id='upd_lname' type='text' name='upd_lname'
value='$lname' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Business Name</label>
<input id='upd_bname' type='text'
name='upd_bname' value='$bname' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Preferred Name</label>
<input id='upd_pref_name' type='text'
name='upd_pref_name' value='$pref_name' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Address</label>
<input id='upd_address' type='text'
name='upd_address' value='$address' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Address Line 2</label>
<input id='upd_address2' type='text'
name='upd_address2' value='$address2' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>City</label>
<input id='upd_city' type='text'
name='upd_city' value='$contact_city' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>State</label>
<input id='upd_state' type='text'
name='upd_state' value='$contact_state' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Zipcode</label>
<input id='upd_zip' type='text'
name='upd_zip' value='$contact_zip' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Phone (Used for SMS)</label>
<input id='upd_phone' type='text'
name='upd_phone' value='$phone' class='form-control SMSPhone'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Fax Number</label>
<input id='upd_fax' type='text'
name='upd_fax' value='$fax' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>E-Mail</label>
<input id='upd_email' type='text' name='upd_email'
value='$email' class='form-control'></input>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label
for='upd_assigned'>Lead Source</label>
<select class='form-control'
name='upd_lead_src'>";
$qry = $con->prepare("SELECT source from lead_sources order by source asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($src_from_db);
while ($qry->fetch()) {
if ($lead_src === $src_from_db) {
echo "<option value='$lead_src' selected>$lead_src</option>";
}else {
echo "$src_from_db|$lead_src";
echo "<option value='$src_from_db'>$src_from_db</option>";
}
}//end get lead sources from db
echo "</select>
</div>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label>Lead Source Details</label>
<input id='upd_lead_src_details'
type='text' name='upd_lead_src_details' value='$lead_src_details' class='form-
control ui-autocomplete-input'></input>
</div>";
echo '<script>
$(document).ready(function() {
$("input#upd_lead_src_details").autocomplete({
source: [';
$qry = $con->prepare("SELECT lead_source_details from agency_contacts group
by lead_source_details order by lead_source_details asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($src_details);
$num_results = $qry->num_rows;
$counter = 1;
while ($qry->fetch()) {
$src_details = $con->real_escape_string($src_details);
if ($counter == $num_results) {
echo "{ value: '$src_details' }";
}else {
echo "{ value: '$src_details' },";
}
$counter++;
}//end while loop
echo ']});});
</script>';
$custom_qry = $con->query("SELECT * from custom_fields where table_name =
'agency_contacts'");
if (mysqli_num_rows($custom_qry) > 0) {
while ($row_custom = $custom_qry->fetch_assoc()) {
$field_ref = $row_custom['field_ref'];
$field_column = $row_custom['field_name'];
$field_type = $row_custom['field_type'];
echo "<div class='col-md-5 col-sm-5 col-xs-5'>";
$qry_custom = $con->query("SELECT $field_column from
agency_contacts where ContactId = '$ContactId'");
$row_custom_contact = $qry_custom->fetch_array(MYSQLI_NUM);
$field_value = $row_custom_contact[0];
if ($field_type == 'text') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control' value='$field_value'></input>";
}
if ($field_type == 'money') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control formatMoney' value='$field_value'></input>";
}
if ($field_type == 'date') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control formatDate' value='$field_value'></input>";
}
if ($field_type == 'number') {
echo "
<label>$field_ref</label><input id='$field_column' type='number'
name='$field_column' class='form-control formatNumber'
value='$field_value'></input>";
}
if ($field_type == 'textarea') {
echo "
<label>$field_ref</label><textarea rows='5' id='$field_column' name='$field_column'
class='form-control' value='$field_value'></textarea>";
}
if ($field_type == 'lookup') {
$qryu = $con->prepare("SELECT user_id,CONCAT(fname, ' ',
lname) as name,agency_id from users_table order by name ASC");
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($quid, $quname, $quaid);
echo "<label
class='control-label'>$field_ref</label><select class='form-control'
name='$field_column'><option value=''>Please Select User</option>";
while ($qryu->fetch()) {
$an = $con->prepare("SELECT agency_name from
agency_globals where agency_id = ?");
$an->bind_param("s", $quaid);
$an->execute();
$an->store_result();
$an->bind_result($uaname);
$an->fetch();
if ($quid == $field_value) {
echo "<option value='$quid' selected>$quname -
$uaname</option>";
}else {
echo "<option value='$quid'>$quname -
$uaname</option>";
}
}//end loop through users
echo "</select>";
}
if ($field_type == 'list') {
echo "<label
class='control-label'>$field_ref</label><select class='form-control'
id='$field_column' name='$field_column'><option value=''>Please Select</option>";
$qryu = $con->prepare("SELECT option_value from
custom_field_options where field_id in (SELECT id from custom_fields where
field_name = ?)");
$qryu->bind_param("s", $field_column);
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($opt);
while($qryu->fetch()){
if($opt != $field_value){
echo "<option value='$opt'>$opt</option>";
}else{
echo "<option value='$opt'
selected>$opt</option>";
}
}
echo "</select>";
}//end check if option is a list
echo "
</div>
";
}//end while
}//end check for custom
echo "
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label for='upd_assigned'>Assigned
To</label>
<select name='upd_assigned' class='form-
control'><option value=''>Not Assigned</option>";
$rd_qry7 = $con->query("SELECT user_id,fname,lname,agency_id from users_table
where (agency_id = '$agency_id' OR agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id')) order by lname asc");
while ($row7 = $rd_qry7->fetch_assoc()) {
$u_id = $row7['user_id'];
$u_fname = $row7['fname'];
$u_lname = $row7['lname'];
$aid = $row7['agency_id'];
$qryan = $con->prepare("SELECT agency_name from agency_globals where
agency_id = ?");
$qryan->bind_param("s", $aid);
$qryan->execute();
$qryan->store_result();
$qryan->bind_result($aname);
$qryan->fetch();
if ($u_id == $assigned_to) {
echo "<option value='$u_id' selected>$u_fname $u_lname -
$aname</option>";
}else {
echo "<option value='$u_id'>$u_fname $u_lname - $aname</option>";
}
}
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups
where agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
echo "<option value='' disabled>----GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
if($assigned_to == $GroupId){
echo "<option value='$GroupId'
selected>$GroupName</option>";
}else{
echo "<option
value='$GroupId'>$GroupName</option>";
}
}
}

echo "</select></div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_type'>Contact Type</label>
<select name='upd_type' class='form-control'>";
$rd_qry3 = $con->query("SELECT type from contact_types order by type asc");
while ($row3 = $rd_qry3->fetch_assoc()) {

$type = $row3['type'];
if ($contact_type == $type) {
echo " <option value='$type' selected>$type</option>";
}else {
echo " <option value='$type'>$type</option>";
}
}//end while
echo "</select></div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Contact
Status</label>
<select name='upd_status' class='form-
control'>";
$rd_qry4 = $con_adm->query("SELECT status_name from
agency_contact_status_default order by status_name asc");
while ($row4 = $rd_qry4->fetch_assoc()) {

$status = $row4['status_name'];
if ($status == $contact_status) {
echo " <option value='$status' selected>$status</option>";
}else {
echo " <option value='$status'>$status</option>";
}
}//end while
echo "</select></div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_notif_pref'>Notification
Preference</label>
<select name='upd_notif_pref' class='form-
control'>";
$rd_qry5 = $con->query("SELECT delivery_method from notification_preferences
order by delivery_method asc");
while ($row5 = $rd_qry5->fetch_assoc()) {
$notif_pref = $row5['delivery_method'];
if ($contact_notif_pref == $notif_pref) {
echo " <option value='$notif_pref'
selected>$notif_pref</option>";
}else {
echo " <option value='$notif_pref'>$notif_pref</option>";
}
}//end while
echo "</select></div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_notif_pref'>Notification
Preference - Time of Day</label>
<select name='upd_notif_pref_time'
class='form-control'>";
if ($contact_notif_pref_time == 'Morning') {
echo "<option value='Morning' selected>Morning</option>";
}else {
echo "<option value='Morning'>Morning</option>";
}
if ($contact_notif_pref_time == 'Afternoon') {
echo "<option value='Afternoon' selected>Afternoon</option>";
}else {
echo "<option value='Afternoon'>Afternoon</option>";
}
if ($contact_notif_pref_time == 'Evening') {
echo "<option value='Evening' selected>Evening</option>";
}else {
echo "<option value='Evening'>Evening</option>";
}
echo "</select></div>
<div class='col-md-11 col-sm-11 col-xs-11'>

<label for='add_contact_note'>Add Note</label>


<textarea class='form-control' name='add_contact_note' id='add_contact_note'
placeholder='Add Note to Contact'></textarea>
<button type='submit' class='btn btn-block btn-
primary'>Update Contact</button>
</div></div>
</form>

</div></div></div></div><div class='btn-group btn-group-justified' role='group'>";

if ($hidden === '0') {


echo "
<a href='#' id='hideContact' data-value='$ContactId' class='btn btn-new'
style='color: #FFFFFF;width: 100%'>HIDE CONTACT</a>
";
}else {
echo "
<a href='#' id='unhideContact' data-value='$ContactId' class='btn btn-new'
style='color: #FFFFFF;width: 100%'>UN-HIDE CONTACT</a>
";
}
echo "
<a href='#' name='del_contact' id='del_contact' data-value='$contact_id' class='btn
btn-new' style='color: #FFFFFF;width: 100%'>DELETE CONTACT</a>
</div>
</div>
</div>";

echo "
<div role='tabpanel' class='tab-pane' id='linked-contacts'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='row'>";

$lcqry = $con->prepare("SELECT
fname,lname,email,phone,address,address_line2,contact_status,city,state,zip,correla
tion_lead_id,assigned_to,ContactId from agency_contacts where ContactId in (SELECT
Linked_ContactId from linked_contacts where Main_ContactId = ?) OR ContactId in
(SELECT Main_ContactId from linked_contacts where Linked_ContactId = ?)");
$lcqry->bind_param("ss", $ContactId, $ContactId);
$lcqry->execute();
$lcqry->store_result();
$lcqry->bind_result($lcfname, $lclname, $lcemail, $lcphone, $lcaddr,
$lcaddr2, $lcstatus, $lccity, $lcstate, $lczip, $lcclid, $lcassigned,
$lcContactId);

while ($lcqry->fetch()) {
if ($lcphone == '') {
$lcphone = 'None on File';
}
if ($lcemail == '') {
$lcemail = 'None on File';
}
echo "
<div
class='item col-sm-4 col-sm-4 col-xs-4'>
<ul
class='meta-data list-unstyled'>

<li><span aria-hidden='true' class='icon icon icon_id'></span>$lcfname


$lclname</li>

<li><span aria-hidden='true' class='icon icon_pin_alt'></span>$lcaddr $lcaddr2


$lccity,$lcstate $lczip</li>

<li><span aria-hidden='true' class='icon icon_phone'></span>$lcphone</li>

<li><span aria-hidden='true' class='icon icon_mail_alt'></span>$lcemail</li>


<li><span aria-
hidden='true' data-icon='&#x51;'></span><a href='#' class='remove_linked_contact'
data-value='$lcContactId' style='color:#497cb1;'>Remove Link to Contact</a></li>
</ul>
</div>
";
}//end loop through linked contacts

echo "</div>
<div class='row'>
<form class='form' id='addLinkedContact' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden' name='main-linked-contact-assoc'
value='$ContactId' />
<input type='text' class='form-control' id='link_contact_assoc'
name='link_contact_assoc' placeholder='Contact to Link'></input>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
echo '<button type="submit" class="btn btn-block btn-primary"
id="addLinkedContactButton">Add Linked Contact</button>
</form>';

echo '
<script type="text/javascript">
$(document).ready(function() {
$("input#link_contact_assoc").autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "search-auto-comp.php",
type: "post",
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
}
});
});

</script>
</div>

';

echo "

</div>
</div><!--End Linked Contacts Tab-->
<div role='tabpanel' class='tab-pane' id='deals-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>";
$qry = $con->prepare("SELECT
id,agency_id,type,lob,status,step,ContactId,quote_id,started,finished,wf_id from
deals where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
//found rows
echo " <div class='panel-group panel-group-
theme-1' id='accordion-deal-2' role='tablist' aria-multiselectable='true'>";
$qry->bind_result($did, $ag_id, $d_type, $d_lob, $d_status, $d_step,
$d_cid, $d_qid, $started, $finished, $wfid);
$num_deals = $qry->num_rows;
$d_counter = 1;
while ($qry->fetch()) {
$started = date("m-d-y g:i a", strtotime($started));
//start while
echo "
<div class='panel panel-default'>
<div class='panel-
heading icon-right panel-heading icon-right-theme-1' role='tab' id='headingOne-
deal-$counter'>
<h4
class='panel-title'><a class='active collapsed' data-toggle='collapse' data-
parent='#accordion-deal-2' href='#collapseOne-deal-$counter' aria-expanded='false'
aria-controls='collapseOne-deal-$counter'><i class='fa fa-plus-square'></i>";
$qry2 = $con->prepare("SELECT fname,lname,address from
agency_contacts where id = ?");
$qry2->bind_param("s", $d_cid);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($d_fname, $d_lname, $d_address);
$qry2->fetch();
echo " $fname $lname - $address - $d_status - $started</a><button
type='button' class='btn btn-primary qr-con-deal' data-value='$did' data-
type='$d_type' data-qid='$d_qid' data-cid='$d_cid' data-wfid='$wfid'>Edit
Deal</button></h4>
</div>";
echo "
<div id='collapseOne-deal-$counter' class='panel-collapse collapse'
role='tabpanel' aria-labelledby='headingOne-deal-$counter' aria-expanded='false'
style='height: 0px;'>
<div
class='panel-body'>";
$agency_id = $_SESSION['agency_id'];
$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by,
step from deal_notes,users_table where ContactId = ? and note_by =
users_table.user_id and quote_id = ? and deal_id = ? and deal_notes.agency_id = ?
order by entry_ts desc");
$note_qry->bind_param("ssss", $ContactId, $d_qid, $did,
$agency_id);
$note_qry->execute();
$note_qry->store_result();
$num_notes = $note_qry->num_rows;
$file_qry = $con->prepare("SELECT
file_path,file_name,uploaded,CONCAT(fname, ' ', lname) as name, step from
deal_files,users_table where deal_files.agency_id = ? and ContactId = ? and
quote_id = ? and uploaded_by = user_id and deal_id = ? order by uploaded asc");
$file_qry->bind_param("ssss", $agency_id, $ContactId, $d_qid,
$did);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;
echo " <div role='tabpanel'>
<!-- Nav
tabs -->
<ul
class='nav nav-tabs' role='tablist'>
<li
role='presentation' class='active'><a href='#notes-$did' aria-controls='notes-$did'
role='tab' data-toggle='tab'>Notes <span class='badge
badge-primary'>$num_notes</span></a></li>
<li
role='presentation'><a href='#files-$did' aria-controls='files-$did' role='tab'
data-toggle='tab'>Files <span class='badge
badge-primary'>$num_files</span></a></li>
</ul>";
echo " <div
class='tab-content'>
<div role='tabpanel'
class='tab-pane active' id='notes-$did'>";
if ($note_qry->num_rows > 0) {
echo "<table id='deal-notes-table-$did' class='table table-
striped table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Step</th>
<th>Note Content</th>
</tr>
<thead>
<tbody>";
$note_qry->bind_result($note_content, $note_date,
$note_author, $step);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a",
strtotime($note_date));
$note_content = nl2br($note_content);
echo " <tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$step</td>
<td>$note_content</td>
</tr>";

}//end while

echo "</tbody></table>";
}//end check for notes
echo "</div>";

$file_qry = $con->prepare("SELECT
file_path,file_name,uploaded,CONCAT(fname, ' ', lname) as name, step, deal_files.id
from deal_files,users_table where deal_files.agency_id = ? and ContactId = ? and
quote_id = ? and uploaded_by = user_id and deal_id = ? order by uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("ssss", $agency_id, $ContactId, $d_qid,
$did);
$file_qry->execute();
$file_qry->store_result();
if ($file_qry->num_rows > 0) {
$num_files = $file_qry->num_rows;
echo "
<div role='tabpanel'
class='tab-pane' id='files-$did'>

<table class='table table-striped table-bordered dataTable no-footer filesTable'


id='ftable-dfile' style='max-width:100%;'>

<thead>

<tr>

<th>File Name</th>

<th>Uploaded By</th>

<th>Step</th>

<th>Uploaded</th>
</tr>

</thead>

<tbody>";

$file_qry->bind_result($path, $file_name, $uploaded,


$uploaded_by, $step, $fid);
while ($row_file = $file_qry->fetch()) {
$xplode = explode("/", $path);
$path =
"doc_storage/$xplode[5]/$xplode[6]/$xplode[7]/$xplode[8]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T",
strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
echo "<tr>
<td><a href='$path/$file_namee'
target='_blank'>$file_name</a></td>
<td>$uploaded_by</td>
<td>$step</td>
<td>$uploaded</td>
</tr>";
}

echo "</tbody></table></div>";
}else {
echo "

<div role='tabpanel' class='tab-pane' id='files-$did'>

<p>No files found</p>


</div>";
}//end check for files

echo " </div></div>

</div>
</div>
</div>";
$d_counter++;
$counter++;
}//end while
echo " </div>";
}else {

echo "<p>No deals found</p>";


}//end check for deals

echo "
</div>
</div>";
echo "<div role='tabpanel' class='tab-pane' id='policies-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>";
$rd_qry2 = $con->query("SELECT * from policies where ContactId = '$ContactId'
");
while ($row = $rd_qry2->fetch_assoc()) {

$named_insured = $row['named_insured'];
$exp_date = $row['exp_date'];
$policy_prem = $row['policy_premium'];
$add_named = $row['additional_named'];
$policy_num = $row['policy_number'];
$eff_date = $row['effective_date'];
$carrier = $row['carrier'];
$line_of_bus = $row['line_of_business'];
$policy_status = $row['policy_status'];
$policy_id = $row['PolicyId'];
echo '

<div class="panel panel-default">';


echo "
<div class='panel-heading icon-right' role='tab' id='headingTwo-
$accordion_count'>";
if ($policy_status == 'Active') {
echo "

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-


$child_count' href='#collapseTwo-$accordion_count' aria-expanded='true' aria-
controls='collapseTwo-$accordion_count'><i class='fa fa-minus-square'></i>Policy
Info (Active) - $line_of_bus - $policy_num</a></h4></div>
<div id='collapseTwo-$accordion_count' class='panel-collapse collapse in'
role='tabpanel' aria-labelledby='headingTwo-$accordion_count'>";
}else {
echo "
<h4 class='panel-title text-danger'><a data-toggle='collapse' data-
parent='#accordion-$child_count' href='#collapseTwo-$accordion_count' aria-
expanded='false' aria-controls='collapseTwo-$accordion_count'><i class='fa fa-plus-
square'></i>Policy Info (Inactive) - $line_of_bus - $policy_num</a></h4></div>
<div id='collapseTwo-$accordion_count' class='panel-collapse collapse'
role='tabpanel' aria-labelledby='headingTwo-$accordion_count'>";
}
echo '
<div class="panel-body">';

echo "
<p class='name' style='float:right;'>Policy
Status: <u>$policy_status</u>
<p class='name'>Policy Number: <a href='#'
id='policy_info' name='policy_info' data-value='$policy_id'>$policy_num</a></p>
<p class='name'
style='float:right;'>Carrier: <u>$carrier</u></p>
<p class='name'>Line:
<u>$line_of_bus</u></p>
<p class='name' style='float:right;'>
Additional Named Insured: <u>$add_named</u></p>
<p class='name'>Named Insured:
<u>$named_insured</u></p>
<p class='name'
style='float:right;'>Effective Date: <u>$eff_date</u></p>
<p>Policy Premium: <u>$policy_prem</u></p>
<p class='name'
style='float:right;'>Expiration Date: <u>$exp_date</u></p>
</div></div></div>";

$accordion_count++;
} //End while
echo "

</div>
</div>";
echo "<div role='tabpanel' class='tab-pane' id='notes-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>";
$note_qry = $con->query("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by,
contact_notes.id from contact_notes,users_table where contact_notes.ContactId =
'$ContactId' and note_by = users_table.user_id order by entry_ts desc");
if (mysqli_num_rows($note_qry) > 0) {
echo '

<div class="panel panel-default">';


echo "
<div class='panel-heading icon-right' role='tab' id='headingTwo-$accordion_count'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-


$child_count' href='#collapseTwo-$accordion_count' aria-expanded='true' aria-
controls='collapseTwo-$accordion_count'><i class='fa fa-minus-square'></i>Contact
Notes</a></h4>

</div>

<div id='collapseTwo-$accordion_count' class='panel-collapse collapse in'


role='tabpanel' aria-labelledby='headingTwo-$accordion_count'>";
echo '
<div class="panel-body">';
echo ' <table datatable="datatable" class="table table-striped table-
bordered dataTable no-footer" id="note-grid" style="width:100%;">
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
<th>Add to Note</th>
</tr>
<thead>
<tbody>';
while ($row_note = $note_qry->fetch_assoc()) {
$note_author = $row_note['note_by'];
$nid = $row_note['id'];
$note_date = date("F j, Y g:i a",
strtotime($row_note['entry_ts']));
$note_content = nl2br($row_note['note_content']);
echo " <tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
<td><button id='appendContactNote-
$nid' data-value='$nid' class='btn btn-block btn-primary appendContactNote'>Add to
Note</button>
</tr>";

}//end while

echo "</tbody></table></div></div></div>";
$accordion_count++;
}else {
echo "No notes found";
}
echo "

</div>
</div>";
echo "<div role='tabpanel' class='tab-pane' id='files-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>";
echo '
<div class="panel-group" id="accordion-3" role="tablist" aria-
multiselectable="true">

<div class="panel panel-default">

<div class="panel-heading icon-right" role="tab" id="headingOne-1">

<h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion-2"


href="#collapseThree-1" aria-expanded="true" aria-controls="collapseThree-1"><i
class="fa fa-minus-square"></i>Policy/Contact Files</a></h4>

</div>
<div id="collapseThree-1" class="panel-collapse collapse in" role="tabpanel" aria-
labelledby="headingThree-1" aria-expanded="true">

<div class="panel-body">

<table class="table table-striped table-bordered dataTable no-footer filesTable"


id="ftable-qfile" style="max-width:100%;">

<thead>

<tr>

<th>File Name</th>

<th>Category</th>

<th>Uploaded By</th>

<th>Uploaded</th>';
if (isset($_SESSION['is_owner'])) {
echo "<th>Delete?</th>";
}
echo '

</tr>

</thead>

<tbody>';
$file_qry = $con->prepare("SELECT file_path,file_name,uploaded,CONCAT(fname,
' ', lname) as name,files.id,files.category,files.description from
users_table,files where files.agency_id = ? and (identifier = ?) and uploaded_by =
user_id order by uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("ss", $agency_id, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;
if ($file_qry->num_rows > 0) {
$file_qry->bind_result($path, $file_name, $uploaded, $uploaded_by,
$fid, $cat, $desc);
while ($file_qry->fetch()) {
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
echo "<tr>
<td><a href='$path/$file_namee' target='_blank'>$file_name</a></td>
<td><select name='upd_file_category' class='form-control fileCategory'>";
$qry = $con->prepare("SELECT Category from file_categories order
by Category ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($Category);
if ($qry->num_rows > 0) {
echo "<option value=''>Please Select File
Category</option>";
while ($qry->fetch()) {
if ($cat == $Category) {
echo "<option value='$fid|$Category'
selected>$Category</option>";
}else {
echo "<option value='$fid|
$Category'>$Category</option>";
}
}//end loop through categories
}else {
echo "<option value=''>Please Create a File Category from
the Quick Tools Menu</option>";
}
echo "</select></td>
<td><input type='text' class='form-control fileDescription'
name='upd_file_desc-$fid' id='upd_file_desc-$fid' data-value='$fid'
value='$desc'></input></td>
<td>$uploaded_by</td>
<td>$uploaded</td>";
if (isset($_SESSION['is_owner'])) {
echo "<td><a href='#' class='fa fa-trash deleteFile' data-
value='$fid'></a></td>";
}
echo "</tr>";
}
}

echo "</tbody></table></div></div></div>
</div>

</div>
</div>";

echo "<div role='tabpanel' class='tab-pane' id='tasks-info'>


</div>";

echo "<div role='tabpanel' class='tab-pane' id='messages-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<form class='form-
horizontal' id='send_sms' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<select name='sms-attachment' class='form-control'>

<option value=''>Want to attach a file?</option>


";
$file_qry = $con->prepare("SELECT file_path,file_name,uploaded,CONCAT(fname,
' ', lname) as name, files.id, files.category, files.description from
users_table,files where files.agency_id = ? and (identifier = ?) and uploaded_by =
user_id order by uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("ss", $agency_id, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;
if ($file_qry->num_rows > 0) {
$file_qry->bind_result($path, $file_name, $uploaded, $uploaded_by,
$fid, $cat, $desc);
while ($row_file = $file_qry->fetch()) {
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
//$file_namee = str_replace(" ", '%20', $file_name);
$file_namee = rawurlencode($file_name);
echo "<option value='$path/$file_namee'>$file_name</option>";
}//end loop through files
}//end check for files
echo "</select>

<div
class='form-group'>
<div
class='col-md-5 col-sm-5 col-xs-5'>
<input
type='hidden' name='to_sms' value='$phone'></input>
<input
type='hidden' name='sms_ContactId' value='$ContactId'></input>
<label
class='control-label'>SMS Message Content</label>
<textarea
name='msg_sms' class='form-control' maxlength='1600'></textarea>
</div>
</div>
<button type='submit'
class='btn btn-block btn-primary'>Send Message</button>
</form>

<table class='table table-striped table-bordered dataTable no-footer' id='sms-


traffic-table'>

<thead>

<tr>

<td>Direction</td>

<td>Sent By</td>

<td>Message</td>

<td>Message Date/Time</td>

<td>Media</td>

</thead>

<tbody>";
$qry_msg = $con->prepare("SELECT id, sent_by, sent_to, content, sent_on,
direction, seen, has_media, MediaURL, ContactId from sms_traffic where ContactId
= ? ORDER BY sent_on DESC");
$phone = preg_replace('/[^0-9]/', '', $phone);
$lk = "%$phone%";
$qry_msg->bind_param("s", $ContactId);
$qry_msg->execute();
$qry_msg->store_result();
if ($qry_msg->num_rows > 0) {
$qry_msg->bind_result($msgid, $sby, $sfrm, $msg, $sent, $dir, $seen,
$hasm, $mediaURL, $cid);
while ($qry_msg->fetch()) {
if ($dir == 'INBOUND') {
$sby = $fname;
}else {
$qry_sender = $con->prepare("SELECT CONCAT(fname, ' ',
lname) as name from users_table where user_id = ?");
$qry_sender->bind_param("s", $sby);
$qry_sender->execute();
$qry_sender->store_result();
$qry_sender->bind_result($sender);
$qry_sender->fetch();
$sby = $sender;
}

$sent = date("F j, Y g:i a", strtotime($sent));

echo "<tr>
<td>$dir</td>
<td>$sby</td>
<td>$msg</td>
<td>$sent</td>";
if ($mediaURL != '') {
echo "
<td><a
href='$mediaURL' target='_blank'>MMS</a></td>";
}else {
echo "

<td></td>";
}
echo "
</tr>";
}//end loop through messages
}//end check messages
echo " </tbody>
</table>

</div>
</div>";

echo "<div role='tabpanel' class='tab-pane' id='fax-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile-fax'>
<div class='module-
content-inner'>
<form
class='form-horizontal' id='send_fax' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<select name='fax-attachment' class='form-control' required>

<option value=''>Please Select file to Send</option>


";
$file_qry = $con->prepare("SELECT file_path,file_name,uploaded,CONCAT(fname,
' ', lname) as name, files.id, files.category from users_table,files where
files.agency_id = ? and (identifier = ?) and uploaded_by = user_id order by
uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("ss", $agency_id, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;
if ($file_qry->num_rows > 0) {
$file_qry->bind_result($path, $file_name, $uploaded, $uploaded_by,
$fid, $cat);
while ($row_file = $file_qry->fetch()) {
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
//$file_namee = str_replace(" ", '%20', $file_name);
$file_namee = rawurlencode($file_name);
echo "<option value='$path/$file_namee'>$file_name</option>";
}//end loop through files
}//end check for files
echo "</select>

<div class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>

<input type='hidden' name='to_fax' value='$fax'></input>

<input type='hidden' name='fax_ContactId' value='$ContactId'></input>

</div>

</div>

<button type='submit' class='btn btn-block btn-primary'>Send Fax</button>


</form>

<table class='table table-striped table-bordered dataTable no-footer' id='fax-


traffic-table'>

<thead>

<tr>

<td>Direction</td>
<td>Sent By</td>

<td>Message</td>

<td>Message Date/Time</td>

<td>Media</td>

</thead>

<tbody>";
$qry_msg = $con->prepare("SELECT * from fax_traffic where ContactId = ? ORDER
BY sent_on DESC");
$phone = preg_replace('/[^0-9]/', '', $phone);
$lk = "%$phone%";
$qry_msg->bind_param("s", $ContactId);
$qry_msg->execute();
$qry_msg->store_result();
if ($qry_msg->num_rows > 0) {
$qry_msg->bind_result($msgid, $sby, $sfrm, $msg, $sent, $dir, $seen,
$hasm, $mediaURL, $cid);
while ($qry_msg->fetch()) {
if ($dir == 'INBOUND') {
$sby = $fname;
}else {
$qry_sender = $con->prepare("SELECT CONCAT(fname, ' ',
lname) as name from users_table where user_id = ?");
$qry_sender->bind_param("s", $sby);
$qry_sender->execute();
$qry_sender->store_result();
$qry_sender->bind_result($sender);
$qry_sender->fetch();
$sby = $sender;
}

$sent = date("F j, Y g:i a", strtotime($sent));

echo "<tr>

<td>$dir</td>

<td>$sby</td>

<td>N/A</td>

<td>$sent</td>";
if ($mediaURL != '') {
echo "

<td><a href='$mediaURL' target='_blank'>FAX</a></td>";


}else {
echo "

<td></td>";
}
echo "

</tr>";
}//end loop through messages
}//end check messages
echo "
</tbody>
</table>

</div>
</div>
</div>
</section>
</div>
</div>
</div>";

echo "<div role='tabpanel' class='tab-pane' id='emessages-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile'>
<div class='module-
content-inner'>
<form
class='form-horizontal' id='send_email' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>

<div class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>


<select
name='to_vendor' class='form-control'><option value=''>Please select your email
provider</option>";
$qry_prv = $con_adm->prepare("SELECT out_url,out_port,provider from
ams_admin.email_providers ORDER BY provider asc");
$qry_prv->execute();
$qry_prv->store_result();
$qry_prv->bind_result($url, $port, $prov);
while ($qry_prv->fetch()) {
echo "<option
value='$prov|$url|$port'>$prov</option>";
}//end loop through providers
echo "</select>
</div>
</div>
<div
class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>

<input type='text' class='form-control' name='to_email' value='$email'


readonly></input>
</div>
</div>
<div
class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<input
type='text' name='to_subject' class='form-control' placeholder='E-Mail
Subject'></input>
</div>
</div>
<div
class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>

<input type='text' name='from_uname' class='form-control' placeholder='E-Mail


Username'></input>

</div>

</div>
<div
class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>

<input type='password' name='from_pwd' class='form-control' placeholder='E-Mail


Password'></input>

</div>

</div>
<div class='form-group'>
<div class='col-
md-5 col-sm-5 col-xs-5'>
<label
class='control-label'>Attach a File (Optional)</label>
<select
name='attachment' class='form-control'>

<option value=''>Want to attach a file?</option>


";
$file_qry = $con->prepare("SELECT file_path,file_name,uploaded,CONCAT(fname,
' ', lname) as name, files.id, files.category from users_table,files where
files.agency_id = ? and (identifier = ?) and uploaded_by = user_id order by
uploaded asc");
$agency_id = $_SESSION['agency_id'];
$file_qry->bind_param("ss", $agency_id, $contact_id);
$file_qry->execute();
$file_qry->store_result();
$num_files = $file_qry->num_rows;
if ($file_qry->num_rows > 0) {
$file_qry->bind_result($path, $file_name, $uploaded, $uploaded_by,
$fid, $cat);
while ($row_file = $file_qry->fetch()) {
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]/$xplode[7]";
$path = str_replace('#', '%23', $path);
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
$fid = $row_file['id'];
echo "<option value='$path/$file_namee'>$file_name</option>";
}//end loop through files
}//end check for files
echo "</select>
</div>
</div>
<div
class='form-group'>

<div class='col-md-5 col-sm-5 col-xs-5'>

<label class='control-label'>Email Message Content</label>

<textarea name='msg_sms' class='form-control' maxlength='1600'></textarea>

</div>

</div>

<button type='submit' class='btn btn-block btn-primary'>Send E-Mail</button>


</form>

</div>
</div>
</div>
</section>
</div>
</div>
</div>";

echo "<div role='tabpanel' class='tab-pane' id='acord-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile'>
<div class='module-
content-inner'>
<div
id='acord_form_selector'>
<select class='form-control'
id='acord_form_selection' name='acord_form_selection'><option value=''>Please
Select the Acord Form</option>";

$qry = $con_adm->prepare("SELECT id,form_name from ams_admin.acord_forms


ORDER BY form_name asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($fid, $form_name);

while ($qry->fetch()) {
$exp = explode("_", $form_name);
$form = $exp[0] . " " . $exp[1];
echo "<option value='$fid|$form_name'>$form</option>";
}

echo "</select></div><div id='form_div'></div>";

echo "
</div>

</div>

</div>

</section>
</div>
</div>
</div>";

echo "<div role='tabpanel' class='tab-pane' id='misc-info'>


<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile'>
<div class='module-
content-inner'>
<div
id='misc_form_selector'>
<select
class='form-control' id='misc_form_selection' name='misc_form_selection'><option
value=''>Please Select the Form to Fill</option>";

$qry = $con_adm->prepare("SELECT FormId,form_name from ams_admin.misc_forms


ORDER BY form_name asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($fid, $form_name);

while ($qry->fetch()) {
$exp = explode("_", $form_name);
$form = $exp[0] . " " . $exp[1];
echo "<option value='$fid'>$form</option>";
}

echo "</select></div><div id='misc_form_div'></div><hr>";

echo "
</div>

</div>

</div>

</section>
</div>
</div>
</div>";
echo "<div role='tabpanel' class='tab-pane' id='claims-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile'>
<div class='module-
content-inner'>";
$cqry = $con->prepare("SELECT
Id,description,date_of_claim,claim_amount,carrier,cat,paid,paid_date,prior_res from
claims where ContactId = ? order by date_of_claim DESC");
$cqry->bind_param("s", $ContactId);
$cqry->execute();
$cqry->store_result();
if ($cqry->num_rows > 0) {
$cqry->bind_result($clid, $cdesc, $cdoc, $camt, $ccar, $ccat, $cpaid,
$cpaidd, $prior);
echo "
<table class='table table-striped table-bordered dataTable no-footer'>

<thead>

<tr>

<th>Claim Date</th>

<th>Claim Carrier</th>

<th>Claim Description</th>

<th>Claim Amount</th>

<th>Catastrophic Loss</th>

<th>Claim Paid</th>

<th>Claim Paid Date</th>

<th>Prior Residence</th>

</thead>

<tbody>";
while ($cqry->fetch()) {
$cdoc = date("F j, Y", strtotime($cdoc));
$cpaidd = date("F j, Y", strtotime($cpaidd));
if ($ccat == '1') {
$ccat = 'Yes';
}else {
$ccat = 'No';
}
if ($cpaid == '1') {
$cpaid = 'Yes';
}else {
$cpaid = 'No';
$cpaidd = "<button type='submit' class='btn btn-primary
claimPaidButton' data-value='$clid'>Mark Claim Paid</button>";
}
if ($prior == '1') {
$prior = 'Yes';
}else {
$prior = 'No';
}

echo "
<tr>

<td>$cdoc</td>

<td>$ccar</td>

<td>$cdesc</td>

<td>$camt</td>

<td>$ccat</td>

<td>$cpaid</td>

<td>$cpaidd</td>

<td>$prior</td>
</tr>";
}//end loop through claims
echo "</tbody></table>";
//end check for claims
}else {
echo "<p>No claims found</p>";
}

echo "
</div>

</div>

</div>

</section>
</div>
</div>
</div>";

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush') {


echo "
<div role='tabpanel' class='tab-pane' id='qr-info'>
<div role='tabpanel'>

<ul class='nav nav-tabs' role='tablist'>


<li
role='presentation' class='active'><a href='#lead-info' aria-controls='profile-
info' role='tab' data-toggle='tab' aria-expanded='true'>Lead Info</a></li>
<li
role='presentation' class=''><a href='#property-info' aria-controls='property-info'
role='tab' data-toggle='tab' aria-expanded='false'>Property Info</a></li>
<li
role='presentation' class=''><a href='#flood-info' aria-controls='flood-info'
role='tab' data-toggle='tab' aria-expanded='false'>Flood Info</a></li>
<li
role='presentation' class=''><a href='#auto-info' aria-controls='auto-info'
role='tab' data-toggle='tab' aria-expanded='false'>Auto Info</a></li>
<div class='tab-content'>

<div role='tabpanel' class='tab-pane active' id='lead-info'>";


$stmt = $con_qr->prepare("select
Id,DateEntered,DateModified,NameFirst,NameLast,DateOfBirth,MaritalStatus,EmailAddre
ss,PhoneDay,Address,City,State,Zip,County,EntityType,Assigned,LeadSource from
$dbname.leads where leads.Id = ? ");
$stmt->bind_param("s", $corr_id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($l_id, $enter, $mod, $first, $last, $dob,
$marit_status, $email, $phone, $address, $city, $state, $zip, $county, $type,
$assign, $source);
if ($stmt->num_rows > 0) {
while ($stmt->fetch()) {
echo "
<form class='form' id='qrLeadForm'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'><hr>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Id</label>
<input type='text' class='form-control' readonly value='$l_id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Name</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$first $last'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Marital Status</label>
<input type='text' class='form-control' readonly
value='$marit_status'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Address</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$address'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>City</label>
<input type='text' class='form-control' readonly value='$city'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>County</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$county'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>State</label>
<input type='text' class='form-control' readonly
value='$state'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Zipcode</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$zip'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Date Entered | Modified</label>
<input type='text' class='form-control' readonly value='$enter |
$mod'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Date of Birth</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$dob'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Phone</label>
<input type='text' class='form-control' readonly
value='$phone'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Type</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$type'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Assigned To</label>
<input type='text' class='form-control' readonly
value='$assign'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Source</label>
<input type='text' style='float:right;' class='form-control' readonly
value='$source'></input>
</div>
</div>
</form>";

}//end while
}//end check if I found info
echo "

</div>";
echo "
<div role='tabpanel' class='tab-pane' id='property-info'>";
$del = '0';
$qry = $con_qr->prepare("SELECT
propertyquotes.Id,Address,City,State,SiteName,Premium,Description,propertyquotes.Co
verageA,propertyquotes.CoverageB,propertyquotes.CoverageC,propertyquotes.CoverageD,
propertyquotes.CoverageE,QuoteDate,propertyquotes.HurricaneDeductible,propertyquote
s.AllOtherPerils from $dbname.propertyquotes,$dbname.properties where
propertyquotes.Property_Id = properties.Id and Lead_Id = ? and Deleted = ? ORDER BY
QuoteDate DESC Limit 20");
if ($qry) {
$qry->bind_param("ss", $corr_id, $del);
$qry->execute();
$qry->store_result();
$qry->bind_result($qid, $address, $city, $state, $carrier, $prem,
$desc, $cova, $covb, $covc, $covd, $cove, $quotedate, $hurr, $deduc);
}
echo "<table id='prop-quotes-table' class='table table-striped table-
bordered dataTable no-footer' style='overflow:scroll;'>
<thead>
<tr>
<th>Generate Deal</th>
<th>Address</th>
<th>Carrier</th>
<th>Premium</th>
<th>Quote Date</th>
<th>Deductible | Hurricane Deductible</th>
<th>Description</th>
<th>Coverage A|B|C|D|E</th>
</tr>
</thead>
<tbody>";
if ($qry) {
while ($qry->fetch()) {
if ($cova == '0' || $cova == '') {
$cova = 'None';
}else {
$cova = '$' . number_format($cova, 2);
}
if ($covb == '0' || $covb == '') {
$covb = 'None';
}else {
$covb = '$' . number_format($covb, 2);
}
if ($covc == '0' || $covc == '') {
$covc = 'None';
}else {
$covc = '$' . number_format($covc, 2);
}
if ($covd == '0' || $covd == '') {
$covd = 'None';
}else {
$covd = '$' . number_format($covd, 2);
}
if ($cove == '0' || $cove == '') {
$cove = 'None';
}else {
$cove = '$' . number_format($cove, 2);
}
$prem = '$' . number_format($prem, 2);
$desc = str_replace('CarrierName', $carrier, $desc);
if ($deduc != '' && strpos($deduc, ',') === false) {
$deduc = '$' . number_format($deduc, 2);
}
echo "<tr>
<td><button type='button' class='btn btn-primary qr-gen-deal' data-
value='$qid' data-type-value='Home'><span class='pe-icon pe-7s-cash
icon'></span></button></td>
<td>$address $city, $state</td>
<td>$carrier</td>
<td>$prem</td>
<td>$quotedate</td>
<td>$deduc | $hurr</td>
<td><button type='button' class='btn btn-primary' data-container='body'
data-toggle='popover' data-trigger='focus' data-placement='top' title='' data-
content='$desc' data-original-title='Description'>

Click for Description

</button></td>
<td>$cova|$covb|$covc|$covd|$cove</td>
</tr>";
}//end check for property quotes
}
echo "</tbody></table>";
echo "<script>
$(function () {
$('[data-toggle=\"popover\"]').popover()
})
$(document).ready( function () {
$('#prop-quotes-table').DataTable({
'order': [[ 4, 'desc' ]]
});

$('#auto-quotes-table').DataTable({
'order': [[ 3, 'desc' ]]
});

} );
</script>
";

unset($metaResults);
unset($statementParams);
unset($fields);
unset($field);
unset($statement);
$stmt2 = $con_qr->prepare("SELECT
Id,Lead_Id,DateAdded,DateModified,Address,City,State,Zip,PurchaseDate,County,Months
OwnerOccupied,UsageType,MilesToCoast,NewPurchase,YearBuilt,PurchasePrice,RoofShape,
StructureType,Construction,ConstructionType,UpdateRoofYear,MasonryConstruction,Foun
dationType,Families,Stories,SquareFeet,GatedCommunity,RoofMaterial,Sprinklers,FireA
larm,FireHydrant,BurglarAlarm,BusinessOnPremises,FireStation,CoverageA,CoverageB,Co
verageC,CoverageD,CoverageE,CoverageDPercent,HurricaneDeductible,CoverageF,PolicyEf
fectiveDate,AllOtherPerilsDeductible,Claims,AnyLapses,CurrentAnnualPremium,CurrentC
arrier,SecondaryWaterResistance,CurrentlyInsured,RoofDeckAttachment,RoofCovering,Ro
ofWallConnection,Kitchen1Type,AdditionalLawOrdinance,Bath1Type,Bath2Type,Pool,PoolF
ence,ScreenedEnclosureSquareFeet,PoolScreenedEnclosure,CentralHeatAndAir,Fireplaces
,Carpet,Stoves,Tile,QualityGrade,PorchDeckPatio,WallHeight,CoverageBPercent,Coverag
eCPercent,Kitchen1Count,UnitsInFirewall,WindMitFormType,BCEG,Territory from
$dbname.properties where Lead_Id = ? GROUP BY Lead_Id ORDER BY Id DESC LIMIT 1");
$stmt2->bind_param("s", $corr_id);
$stmt2->execute();
$stmt2->store_result();
$stmt2->bind_result($Id, $Lead_Id, $DateAdded, $DateModified, $Address,
$City, $State, $Zip, $PurchaseDate, $County, $MonthsOwnerOccupied, $UsageType,
$MilesToCoast, $NewPurchase, $YearBuilt, $PurchasePrice, $RoofShape,
$StructureType, $Construction, $ConstructionType, $UpdateRoofYear,
$MasonryConstruction, $FoundationType, $Families, $Stories, $SquareFeet,
$GatedCommunity, $RoofMaterial, $Sprinklers, $FireAlarm, $FireHydrant,
$BurglarAlarm, $BusinessOnPremises, $FireStation, $CoverageA, $CoverageB,
$CoverageC, $CoverageD, $CoverageE, $CoverageDPercent, $HurricaneDeductible,
$CoverageF, $PolicyEffectiveDate, $AllOtherPerilsDeductible, $Claims, $AnyLapses,
$CurrentAnnualPremium, $CurrentCarrier, $SecondaryWaterResistance,
$CurrentlyInsured, $RoofDeckAttachment, $RoofCovering, $RoofWallConnection,
$Kitchen1Type, $AdditionalLawOrdinance, $Bath1Type, $Bath2Type, $Pool, $PoolFence,
$ScreenedEnclosureSquareFeet, $PoolScreenedEnclosure, $CentralHeatAndAir,
$Fireplaces, $Carpet, $Stoves, $Tile, $QualityGrade, $PorchDeckPatio, $WallHeight,
$CoverageBPercent, $CoverageCPercent, $Kitchen1Count, $UnitsInFirewall,
$WindMitFormType, $BCEG, $Territory);
if ($stmt2->num_rows > 0) {
$counter_prop = 0;
while ($stmt2->fetch()) {
echo "<h4>Property - $Address $City, $State</h4>
<form class='form' id='qrPropertyForm' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Property Id</label>
<input type='text' class='form-control' readonly
value='$Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Id</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$Lead_Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Date Added | Modified</label>
<input type='text' class='form-control' readonly value='$DateAdded
| $DateModified'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Address</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$Address'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>City</label>
<input type='text' class='form-control' readonly
value='$City'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>County</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$County'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>State</label>
<input type='text' class='form-control' readonly
value='$State'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Zipcode</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$Zip'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Purchase Date</label>
<input type='text' class='form-control' readonly
value='$PurchaseDate'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Time Occupied</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$MonthsOwnerOccupied'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Usage</label>
<input type='text' class='form-control' readonly
value='$UsageType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Miles to Coast</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$MilesToCoast'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Purchased New?</label>
<input type='text' class='form-control' readonly
value='$NewPurchase'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Year Built</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$YearBuilt'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Purchased Price</label>
<input type='text' class='form-control' readonly
value='$PurchasePrice'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Roof Material | Shape | Year Updated</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$RoofMaterial | $RoofShape | $UpdateRoofYear'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Structure Type</label>
<input type='text' class='form-control' readonly
value='$StructureType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Construnction | Type</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$Construction | $ConstructionType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Foundation</label>
<input type='text' class='form-control' readonly
value='$FoundationType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Masonry Construction</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$MasonryConstruction'></input>
</div>

<div class='col-md-5 col-sm-5 col-xs-5'>


<label class='control-label'>Families | Stories</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$Families | $Stories'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Square Feet</label>
<input type='text' class='form-control' readonly
value='$SquareFeet'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Gated?</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$GatedCommunity'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Fire Alarm | Hydrant | Station</label>
<input type='text' class='form-control' readonly value='$FireAlarm
| $FireHydrant | $FireStation'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Burglar Alarm</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$BurglarAlarm'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Business on Premises?</label>
<input type='text' class='form-control' readonly
value='$BusinessOnPremises'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Coverage A | B | C</label>
<input type='text' style='float:right;' class='form-control'
readonly value='$CoverageA | $CoverageB | $CoverageC'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Coverage D | E | F</label>
<input type='text' class='form-control' readonly value='$CoverageD
| $CoverageE | $CoverageF'></input>
</div>
</div>
</form>
";

$counter_prop++;

}//end while

}//end check if I found info


echo "</div>";
echo "<div role='tabpanel' class='tab-pane' id='flood-info'>";
unset($metaResults);
unset($statementParams);
unset($fields);
unset($field);
unset($statement);
$counter_flood = 0;
$stmt5 = $con_qr->prepare("SELECT
Id,Lead_Id,SiteName,Description,Premium,QuoteDate,PolicyId,CoverageA,CoverageC,Floo
dDeductible,FloodZone,EffectiveDate,PremiumText,Messages from $dbname.floodquotes
where Lead_Id = ? order by QuoteDate");
$stmt5->bind_param("s", $corr_id);
$stmt5->execute();
$stmt5->store_result();
if ($stmt5->num_rows > 0) {
$stmt5->bind_result($qid, $lid, $carrier, $desc, $prem,
$quotedate, $pid, $cova, $covc, $deduc, $zone, $effdate, $prem_text, $msgs);

echo "<table id='flood-quotes-table' class='table table-striped


table-bordered dataTable no-footer' style='overflow:scroll;'>
<thead>
<tr>
<th>Generate Deal</th>
<th>Carrier</th>
<th>Premium</th>
<th>Quote Date</th>
<th>Deductible</th>
<th>Description</th>
<th>Coverage A|C</th>
</tr>
</thead>
<tbody>";

while ($stmt5->fetch()) {
if ($cova == '0' || $cova == '') {
$cova = 'None';
}else {
$cova = '$' . number_format($cova, 2);
}
if ($covc == '0' || $covc == '') {
$covc = 'None';
}else {
$covc = '$' . number_format($covc, 2);
}
$prem = '$' . number_format($prem, 2);
$desc = str_replace('CarrierName', $carrier, $desc);
if ($deduc != '' && strpos($deduc, ',') === false) {
$deduc = '$' . number_format($deduc, 2);
}
echo "<tr>
<td><button type='button' class='btn btn-primary qr-gen-deal' data-
value='$qid' data-type-value='Flood'><span class='pe-icon pe-7s-cash
icon'></span></button></td>
<td>$carrier</td>
<td>$prem</td>
<td>$quotedate</td>
<td>$deduc</td>
<td><button type='button' class='btn btn-primary' data-container='body'
data-toggle='popover' data-trigger='focus' data-placement='top' title='' data-
content='$desc | $prem_text | $msgs' data-original-title='Description'>

Click for Description

</button></td>
<td>$cova|$covc</td>
</tr>";
}//end check for property quotes
echo "</tbody></table>";
echo "<script>
$(document).ready( function () {
$('#flood-quotes-table').DataTable({
'order': [[ 3, 'desc' ]]
});
} );

</script>";
}//found info
$stmt2 = $con_qr->prepare("select
Id,DateModified,Lead_Id,FloodZone,CommunityNumber,CommunityDescription,FloodDeducti
ble,HaveFloodElevationCert,ElevationCertDate,PhotographDate,PolicyType,WaitingPerio
d,BuildingCoverage,ContentsCoverage,FloodCarrier,CarrierType,FloodExpirationDate
from $dbname.flood where Lead_Id = ? GROUP BY Lead_Id ORDER BY Id DESC LIMIT 1");
$stmt2->bind_param("s", $corr_id);
$stmt2->execute();
$stmt2->store_result();
if ($stmt2->num_rows > 0) {
$stmt2->bind_result($Policy_Id, $DateModified, $Lead_Id,
$FloodZone, $CommunityNumber, $CommunityDescription, $FloodDeductible,
$HaveFloodElevationCert, $ElevationCertDate, $PhotographDate, $PolicyType,
$WaitingPeriod, $BuildingCoverage, $ContentsCoverage, $FloodCarrier, $CarrierType,
$FloodExpirationDate);
while ($stmt2->fetch()) {
echo "<hr>

<form class='form' id='qrFloodForm' action='functions/functions.php'


method='post' enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Policy Id</label>
<input type='text' class='form-control' readonly
value='$Policy_Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Id</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$Lead_Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Last Modified</label>
<input type='text' class='form-control' readonly
value='$DateModified'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Flood Zone</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$FloodZone'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Building Coverage</label>
<input type='text' class='form-control' readonly
value='$BuildingCoverage'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Contents Coverage</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$ContentsCoverage'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Carrier | Carrier Type</label>
<input type='text' class='form-control' readonly
value='$FloodCarrier | $CarrierType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Expiration Date</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$FloodExpirationDate'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Policy Type</label>
<input type='text' class='form-control' readonly
value='$PolicyType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Has Elevation Cert | Cert
Date</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$HaveFloodElevationCert | $ElevationCertDate'></input>
</div>

</div>
</form>";
}
}else {
}
echo "
</div>";
echo "
<div role='tabpanel' class='tab-pane' id='auto-info'>
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-
xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer
module-projects-overview' style='overflow:scroll;'>
<div class='module-inner'>
<div class='module-content
collapse in' id='content-overview-profile'>
<div class='module-
content-inner'>";
unset($metaResults);
unset($statementParams);
unset($fields);
unset($field);
unset($statement);
$counter_auto = 0;
$counter_driver = 0;
echo "<table id='auto-quotes-table' class='table table-striped table-
bordered dataTable no-footer' style='overflow:scroll;'>
<thead>
<tr>
<th>Generate Deal</th>
<th>Carrier</th>
<th>Premium</th>
<th>Quote Date</th>
<th>Description</th>
</tr>
</thead>
<tbody>";
$aqry = $con_qr->prepare("SELECT
Id,SiteName,Premium,Description,QuoteDate from $dbname.autoquotes where
AutoPolicy_Id in (SELECT Id from $dbname.autopolicy where Lead_Id = ?) and
QuoteDate > DATE_SUB(NOW(), INTERVAL 30 DAY)");
$aqry->bind_param("s", $corr_id);
$aqry->execute();
$aqry->store_result();
if ($aqry->num_rows > 0) {
$aqry->bind_result($qid, $SiteName, $Premium, $Description,
$QuoteDate);
while ($aqry->fetch()) {
$Premium = '$' . number_format($Premium, 2);
echo "<tr>
<td><button type='button' class='btn btn-primary qr-
gen-deal' data-value='$qid' data-type-value='Auto'><span class='pe-icon pe-7s-cash
icon'></span></button></td>
<td>$SiteName</td>
<td>$Premium</td>
<td>$QuoteDate</td>
<td><button type='button' class='btn btn-primary'
data-container='body' data-toggle='popover' data-trigger='focus' data-
placement='top' title='' data-content='$Description' data-original-
title='Description'>Click for Description</button></td>
</tr>";
}
}
echo "</tbody></table>";
$stmt3 = $con_qr->prepare("select
Id,Lead_Id,DateModified,YearsAtCurrentResidence,CurrentCarrier,CurrentExpirationDat
e,YearsWithCurrentCarrier,CurrentPolicyTerm,YearsContinuouslyInsured,CurrentAnnualP
remium,ResidenceType,PriorLiabilityLimits,EffectiveDate,CurrentlyInsured,CreditChec
kAuthorized,BodilyInjury,UninsuredMotorist,PropertyDamage,MedicalPayments,PIPDeduct
ible,WageLoss,StackedCoverage,Notes,UninsuredMotoristsPropertyDamage,Options from
$dbname.autopolicy where Lead_Id = ? GROUP BY Lead_Id ORDER BY Id DESC LIMIT 1 ");
$stmt3->bind_param("s", $corr_id);
$stmt3->execute();
$stmt3->store_result();
if ($stmt3->num_rows > 0) {
$stmt3->bind_result($Policy_Id, $Lead_Id, $DateModified,
$YearsAtCurrentResidence, $CurrentCarrier, $CurrentExpirationDate,
$YearsWithCurrentCarrier, $CurrentPolicyTerm, $YearsContinuouslyInsured,
$CurrentAnnualPremium, $ResidenceType, $PriorLiabilityLimits, $EffectiveDate,
$CurrentlyInsured, $CreditCheckAuthorized, $BodilyInjury, $UninsuredMotorist,
$PropertyDamage, $MedicalPayments, $PIPDeductible, $WageLoss, $StackedCoverage,
$Notes, $UninsuredMotoristsPropertyDamage, $Options);
while ($stmt3->fetch()) {
echo "
<div class='panel-group panel-group-theme-1' id='accordionAuto-$counter_auto'
role='tablist' aria-multiselectable='true'>
<div class='panel panel-default'>
<div class='panel-heading icon-right panel-heading icon-right-theme-1'
role='tab' id='headingOne-$counter_auto'>
<h4 class='panel-title'><a class='active collapsed' data-
toggle='collapse' data-parent='#accordionAuto-$counter_auto'
href='#collapseAutoOne-$counter_auto' aria-expanded='false' aria-
controls='collapseAutoOne-$counter_auto'><i class='fa fa-plus-square'></i> Auto
Quote - $Policy_Id - $DateModified</a></h4>
</div>

<div id='collapseAutoOne-$counter_auto' class='panel-collapse collapse'


role='tabpane$counter_auto' aria-labelledby='headingOne-$counter_auto' aria-
expanded='false' style='height: 0px;'>
<div class='panel-body'>
<form class='form' id='qrAutoForm' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Policy Id</label>
<input type='text' class='form-control' readonly
value='$Policy_Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Id</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$Lead_Id'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Last Modified</label>
<input type='text' class='form-control' readonly
value='$DateModified'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Current Carrier</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$CurrentCarrier'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Current Expiration
Date</label>
<input type='text' class='form-control' readonly
value='$CurrentExpirationDate'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Current Policy Term</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$CurrentPolicyTerm'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Current Annual Premium</label>
<input type='text' class='form-control' readonly
value='$CurrentAnnualPremium'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Years With Current
Carrier</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$YearsWithCurrentCarrier'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Currently Insured</label>
<input type='text' class='form-control' readonly
value='$CurrentlyInsured'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Years Continuously
Insured</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$YearsContinuouslyInsured'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Residence Type</label>
<input type='text' class='form-control' readonly
value='$ResidenceType'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Years at Current
Residence</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$YearsAtCurrentResidence'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Prior Liability Limits</label>
<input type='text' class='form-control' readonly
value='$PriorLiabilityLimits'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Effective Date</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$EffectiveDate'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Bodily Injury</label>
<input type='text' class='form-control' readonly
value='$BodilyInjury'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Property Damage</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$PropertyDamage'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Medical Payments</label>
<input type='text' class='form-control' readonly
value='$MedicalPayments'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Wage Loss</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$WageLoss'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Uninsured Motorist</label>
<input type='text' class='form-control' readonly
value='$UninsuredMotorist'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Uninsured Motorist Property
Damage</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$UninsuredMotoristsPropertyDamage'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Stacked Coverage</label>
<input type='text' class='form-control' readonly
value='$StackedCoverage'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Notes</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$Notes'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>PIP Deductible</label>
<input type='text' class='form-control' readonly
value='$PIPDeductible'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Lead Id</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$Lead_Id'></input>
</div>
</div>
</form>";

$stmt4 = $con_qr->prepare("SELECT
NameFirst,NameMiddle,NameLast,MaritalStatus,Gender,DateOfBirth from $dbname.drivers
where AutoPolicy_Id = ?");
$stmt4->bind_param("s", $Policy_Id);
$stmt4->execute();
$stmt4->store_result();
if ($stmt4->num_rows > 0) {
$stmt4->bind_result($NameFirst, $NameMiddle,
$NameLast, $MaritalStatus, $Gender, $DateOfBirth);
while ($stmt4->fetch()) {

echo "
<div class='panel-group panel-group-theme-1' id='accordionDriver-$counter_driver'
role='tablist' aria-multiselectable='true'>
<div class='panel panel-default'>
<div class='panel-heading icon-right panel-heading icon-right-theme-1'
role='tab' id='headingOne-$counter_driver'>
<h4 class='panel-title'><a class='active collapsed' data-
toggle='collapse' data-parent='#accordionDriver-$counter_driver'
href='#collapseDriverOne-$counter_driver' aria-expanded='false' aria-
controls='collapseDriverOne-$counter_driver'><i class='fa fa-plus-square'></i>
Driver - $NameFirst $NameLast - $DateOfBirth</a></h4>
</div>

<div id='collapseDriverOne-$counter_driver' class='panel-collapse collapse'


role='tabpane$counter_driver' aria-labelledby='headingOne-$counter_driver' aria-
expanded='false' style='height: 0px;'>
<div class='panel-body'>
<form class='form' id='qrDriverForm' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>First Name</label>
<input type='text' class='form-control' readonly
value='$NameFirst'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Middle Name</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$NameMiddle'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Last Name</label>
<input type='text' class='form-control' readonly
value='$NameLast'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Marital Status</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$MaritalStatus'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Gender</label>
<input type='text' class='form-control' readonly
value='$Gender'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Date of Birth</label>
<input type='text' style='float:right;' class='form-
control' readonly value='$DateOfBirth'></input>
</div>
</div>
</div>
</form>
</div>
</div>
</div>";

$counter_driver++;
}//end while loop through drivers
echo "</div>";
//found drivers
}else {
echo "No Drivers Found";
}//end check for Drivers
echo "
</div>
</div>
</div>
</div>";
$counter_auto++;
}//end while
}//found info
echo "
</div>
</div>

</div>

</section>

</div>
</div>
</div>
</div></div>";
echo "

</div></div>";
} // check for qr tab
echo "
</div>
</div>
</div>

<script>
$(document).on('click', '#editContactButton', function(event) {
$('#contactEditPanel').show();
$('#contactViewPanel').hide();
});

$(document).on('click', '#overviewContactButton', function(event) {


$('#contactEditPanel').hide();
$('#contactViewPanel').show();
});

$(document).ready( function () {
$('#contact-policies-table').DataTable(
{
'order': [[ 8, 'desc' ]]
});
$('#contact-notes-ov-table').DataTable(
{
'ordering': false
});
$('#policy-notes-ov-table').DataTable(
{
'order': [[ 1, 'desc' ]]
});
$('#tasks-view-table').DataTable(
{
'order': [[ 3, 'desc' ]]
});
$('#ftable-cfile').DataTable(
{
'order': [[ 4, 'desc' ]]
});
} );
</script>

";

if (isset($_POST['go_to_quotes'])) {
echo "
<script>
$('a[href^=\"#qr-info\"]').click();
$('a[href^=\"#property-info\"]').click();
</script>
";
}
} //END getContactEdit

//Begin addTaskModal

/**
*
*/
function addTaskModal() {

global $con, $con_qr, $con_adm;


$agency_id = $_SESSION['agency_id'];
$rd_qry = $con->query("SELECT fname,lname,user_id from users_table where
agency_id = '$agency_id' order by lname asc");
echo "<h3 style='text-align: center;'>Add New Task</h3>";
echo "<form class='form-horizontal' id='new_task_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='task_assigned'>Assign Task To</label>";
echo "<select class='form-control' name='task_assigned'>
<option value=''>Please Select</option>";
while ($row = $rd_qry->fetch_assoc()) {
$count = 1;
$fname = $row['fname'];
$lname = $row['lname'];
$user_id = $row['user_id'];
echo " <option value='$user_id'>$lname,
$fname</option>";
$count++;
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {

while ($row_sub = $sub_query->fetch_assoc()) {


$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(lname, ', ', fname) as


name, user_id from users_table where agency_id = '$sub_id' order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while

}//sub agency while


}//end check for rows
}//end check if mgr
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups
where agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
echo "<option value='' disabled>----GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
echo "<option
value='$GroupId'>$GroupName</option>";
}
}
echo '</select></div></div>';

echo "<div class='form-group'>


<div class='col-md-
5 col-sm-5 col-xs-5'>
<input type='text' class='form-control' id='task_contact_assoc'
name='task_contact_assoc' placeholder='Contact Associated with
Task'></input></div></div>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$qry = $con_adm->prepare("SELECT Priority from ams_admin.task_priorities
where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-5'><select
class='form-control' name='task_priority'><option value=''>Please Select
Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div></div>";

echo "<div class='form-group'>


<div class='col-md-
5 col-sm-5 col-xs-5'>
<input type='text' class='form-control' name='task_desc' id='task_desc'
placeholder='Task Description'></input></div></div>";
$today = date("Y-m-d");
echo "<div class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<label for='task_date'>Due Date</label>
<input type='text' class='datepicker form-control' id='task_date'
name='task_date' min='$today' required /></div></div>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addTaskButton">Add Task</button>
</form>';

echo '
<script type="text/javascript">
$(document).ready(function() {
$("input#task_contact_assoc").autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "search-auto-comp.php",
type: "post",
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
}
});
});

</script>

';

}//End addTaskModal

//Begin addTask

/**
*
* @return unknown
*/
function addTask() {
header('Content-type: application/json');
global $con;
if (!isset($_POST['sub-task-cid'])) {
$explode = explode(' | ', $_POST['task_contact_assoc']);
if (isset($explode[1])) {
$contact_assoc = $con->real_escape_string($explode[1]);
}else {
$contact_assoc = $con-
>real_escape_string($_POST['task_contact_assoc']);
}
$qry = $con->prepare("SELECT ContactId from agency_contacts where id
= ?");
$qry->bind_param("s", $contact_assoc);
$qry->execute();
$qry->store_result();
$qry->bind_result($cid);
$qry->fetch();
$task_assigned = $con->real_escape_string($_POST['task_assigned']);
$task_desc = $con->real_escape_string($_POST['task_desc']);
$due_date = $con->real_escape_string($_POST['task_date']);
$due_date = date("Y-m-d", strtotime($due_date));
$current_uid = $_SESSION['uid'];
$priority = $_POST['task_priority'];
$agency_id = $_SESSION['agency_id'];
if ($priority == '') {
$priority = 1;
}
$ins_qry = $con->query("INSERT into
tasks(user_id,description,due_date,assigned_by,ContactId,Priority,agency_id)
VALUES('$task_assigned','$task_desc','$due_date','$current_uid','$cid','$priority',
'$agency_id')");
$due_date .= " 08:00:00";
$ins_not_qry = $con->query("INSERT into
notifications(user_id,description,notification_status,assigned_user_id,due,ContactI
d,assigned_by)
VALUES('$current_uid','$task_desc','Active','$task_assigned','$due_date','$cid','$c
urrent_uid')");

if (!$ins_qry) {

$response_array['status'] = "We were unable to add your task. If


this problem persists please contact your Administrator.";
$response_array['msg'] = $con->error;
echo json_encode($response_array);
return false;
}else {
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Task','$current_uid','lead_$contact_assoc')");
$response_array['status'] = "Task Added Successfully, this page
will refresh in a few seconds.";
echo json_encode($response_array);

}
}else {
//THIS IS A SUB TASK
$due_date = date("Y-m-d", strtotime($_POST['task_date']));
$priority = $_POST['task_priority'];
if ($priority == '') {
$priority = 1;
}
$qry = $con->prepare("SELECT id from agency_contacts where ContactId
= ?");
$qry->bind_param("s", $_POST['sub-task-cid']);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_assoc);
$qry->fetch();
$qry = $con->prepare("SELECT id from agency_contacts where
ContactId = ?");
$qry->bind_param("s", $_POST['sub-task-cid']);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry2 = $con->prepare("INSERT INTO
tasks(user_id,description,due_date,assigned_by,ContactId,parent_task,Priority,agenc
y_id) VALUES(?,?,?,?,?,?,?,?)");
$qry2->bind_param("ssssssss", $_POST['task_assigned'],
$_POST['task_desc'], $due_date, $_SESSION['uid'], $_POST['sub-task-cid'],
$_POST['parent-task'], $priority, $agency_id);
$qry2->execute();
$qry2->store_result();
if ($con->insert_id != '') {
$ins = $con->prepare("INSERT into
notifications(user_id,description,notification_status,assigned_user_id,due,ContactI
d,assigned_by) VALUES(?,?,?,?,?,?,?)");
$due = date("Y-m-d", strtotime($_POST['task_date']));
$act = 'Active';
$ins->bind_param("sssssss", $_SESSION['uid'],
$_POST['task_desc'], $act, $_POST['task_assigned'], $due, $ContactId,
$_SESSION['uid']);
$ins->execute();
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['msg'] = $con->error;
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//end check if this is a sub task
} //End addTask

//Begin addUser

/**
*
* @return unknown
*/
function addUser() {
header('Content-type: application/json');
global $con, $con_adm;

$user_fname = $con->real_escape_string($_POST['new_user_fname']);
$user_lname = $con->real_escape_string($_POST['new_user_lname']);
$user_email = $con->real_escape_string($_POST['new_user_email']);
$user_phone = $con->real_escape_string($_POST['new_user_phone']);
$pcode = $con->real_escape_string($_POST['new_user_pcode']);
$is_agent = $_POST['new_user_isagent'];
$passwd = md5($_POST['new_user_pwd']);
$new_is_mgr = $_POST['new_user_ismgr'];
$new_user_type = $_POST['new_user_type'];
if (isset($_POST['new-user-agency-id'])) {
$agency_id = $_POST['new-user-agency-id'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$current_uid = $_SESSION['uid'];

$chk = $con->query("SELECT email,agency_id from users_table where email =


'$user_email' and agency_id = '$agency_id'");
if (mysqli_num_rows($chk) > 0 ) {

$response_array['status'] = "This user already exists. Please reset


their password, or register them with a different email.";
echo json_encode($response_array);
return false;
}else {
$qry = $con->query("SELECT count(id) as users,licensed_users from
users_table,agency_globals where agency_globals.agency_id = '$agency_id' and
users_table.agency_id = agency_globals.agency_id and users_table.user_id != 25");
$row = $qry->fetch_assoc();
$user_count = $row['users'];
$qry = $con_adm->prepare("SELECT AgencyId from ams_admin.agency_globals
where agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($AgencyId);
$qry->fetch();
$qry = $con_adm->prepare("SELECT Quantity from
ams_admin.agency_product_mapping where ProductId IN (Select ProductId from
ams_admin.products where ProductName = ?) and AgencyId = ?");
$product = "KTS User License";
$qry->bind_param("ss", $product, $AgencyId);
$qry->execute();
$qry->store_result();
$qry->bind_result($license_count);
$qry->fetch();
if ($license_count > $user_count) {
$ins_qry = $con->query("INSERT into
users_table(fname,lname,email,phone,is_mgr,user_type,password,confirmed,agency_id,p
roducer_code,is_agent)
VALUES('$user_fname','$user_lname','$user_email','$user_phone','$new_is_mgr','$new_
user_type','$passwd','Yes','$agency_id','$pcode','$is_agent')");
if (!$ins_qry) {

$response_array['status'] = "Unable to add this user,


please contact your system Administrator.";
echo json_encode($response_array);
return false;
}else {
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
User','$current_uid','user_$user_fname $user_lname')");
$response_array['status'] = "User Added";
echo json_encode($response_array);

}
}else {

$response_array['status'] = "You do not have any available user


licenses, please purchase additional licenses to add this user.";
echo json_encode($response_array);
return false;

}
}

} //End addUser

//Begin getAllActivePoliciesTable

/**
*
*/
function getAllActivePoliciesTable() {

global $con;
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$rd_qry = $con->query("SELECT
bind_date,policy_status,line_of_business,carrier,exp_date,policy_number,fname,lname
from policies,agency_contacts where policy_status = 'Active' and policies.ContactId
= agency_contacts.ContactId and policies.agency_id = '$agency_id' order by exp_date
asc");
if (!$rd_qry) {

echo "
<tr>
<td>No Active Policies</td>
<td>No Active Policies</td>
<td>No Active Policies</td>
<td>No Active Policies</td>
<td>No Active Policies</td>
<td>No Active Policies</td>
<td>No Active Policies</td>
</tr>
";
}else {

while ($row = $rd_qry->fetch_assoc()) {

$policy_num = $row['policy_number'];
$exp_date = $row['exp_date'];
$fname = $row['fname'];
$lname = $row['lname'];
$line_of_bus = $row['line_of_business'];
$carrier = $row['carrier'];
$bind_date = $row['bind_date'];
$policy_status = $row['policy_status'];

echo "
<tr>
<td>$policy_num</td>
<td>$lname, $fname</td>
<td>$policy_status</td>
<td>$bind_date</td>
<td>$exp_date</td>
<td>$carrier</td>
<td>$line_of_bus</td>
</tr>
";

} //End while
} //End else

}//End getAllActivePoliciesTable
//Begin getAllInactivePoliciesTable

/**
*
*/
function getAllInactivePoliciesTable() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$rd_qry = $con->query("SELECT
bind_date,policy_status,line_of_business,carrier,exp_date,policy_number,fname,lname
from policies,agency_contacts where policy_status = 'Inactive' and
policies.ContactId = agency_contacts.ContactId and policies.agency_id =
'$agency_id' order by exp_date asc");
if (!$rd_qry) {

echo "
<tr>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
<td>No Inactive
Policies</td>
</tr>
";
}else {

while ($row = $rd_qry->fetch_assoc()) {

$policy_num = $row['policy_number'];
$exp_date = $row['exp_date'];
$fname = $row['fname'];
$lname = $row['lname'];
$line_of_bus = $row['line_of_business'];
$carrier = $row['carrier'];
$bind_date = $row['bind_date'];
$policy_status = $row['policy_status'];
echo "
<tr>
<td>$policy_num</td>
<td>$lname, $fname</td>
<td>$policy_status</td>
<td>$bind_date</td>
<td>$exp_date</td>
<td>$carrier</td>
<td>$line_of_bus</td>
</tr>
";

} //End while
} //End else

}//End getAllInactivePoliciesTable

//Begin addContactModal

/**
*
*/
function addContactModal() {

global $con, $con_adm;


echo "<h3 style='text-align: center;'>Add New Contact</h3>";
echo "<form class='form-horizontal' id='new_contact_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<div class='d-flex flex-wrap'><div class='col-md-4 col-sm-4'><label
for='contact_type'>Contact Status / Type</label>";
echo "<select class='form-control' name='contact_status'>
<option value=''>Please Select</option>";
$rd_qry = $con_adm->query("SELECT status_name,id from
agency_contact_status_default order by status_name asc");
while ($row = $rd_qry->fetch_assoc()) {
$status_id = $row['id'];
$status_name = $row['status_name'];
if ($status_name == 'Imported') {
echo " <option value='$status_name'
selected>$status_name</option>";
}else {
echo " <option
value='$status_name'>$status_name</option>";
}
}
echo '</select></div>';

echo "<div class='col-md-4 col-sm-4'><label for='contact_fname'>First


Name</label><input type='text' class='form-control' placeholder='First Name'
name='contact_fname' id='contact_fname'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_mname'>Middle
Name</label><input type='text' class='form-control' name='contact_mname'
id='contact_mname' placeholder='Middle Name'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_lname'>Last
Name</label><input type='text' class='form-control' name='contact_lname'
id='contact_lname' placeholder='Last Name'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_bname'>Business
Name</label><input type='text' class='form-control' name='contact_bname'
id='contact_bname' placeholder='Business Name'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_pref_name'>Preferred
Name</label><input type='text' class='form-control' name='contact_pref_name'
id='contact_pref_name' placeholder='Preferred Name'></input></div>
<div class='col-md-4 col-sm-4'><label
for='contact_email'>E-Mail</label><input type='text' class='form-control'
name='contact_email' id='contact_email' placeholder='E-Mail'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_phone'>Phone
Number</label><input type='text' class='form-control' name='contact_phone'
id='contact_phone' placeholder='Phone Number'></input></div>
<div class='col-md-4 col-sm-4'><label
for='contact_addr'>Address</label><input type='text' class='form-control'
name='contact_addr' id='contact_addr' placeholder='Address'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_addr2'>Address Line
2</label><input type='text' class='form-control' name='contact_addr2'
id='contact_addr2' placeholder='Address Line 2'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_city'>City</label><input
type='text' class='form-control' name='contact_city' id='contact_city'
placeholder='City'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_state'>State</label><input
type='text' class='form-control' maxlength='2' name='contact_state'
id='contact_state' placeholder='Two Letter State' max-length='2'></input></div>
<div class='col-md-4 col-sm-4'><label for='contact_zip'>Zipcode</label><input
type='text' class='form-control' name='contact_zip' id='contact_zip'
placeholder='Zipcode'></input></div>";
echo "<div class='col-md-4 col-sm-4'><label for='contact_lead_src'>Lead
Source</label>
<select class='form-control' name='contact_lead_src' required>";
$qry = $con->prepare("SELECT source from lead_sources order by source asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($src);
while ($qry->fetch()) {
echo "<option value='$src'>$src</option>";
}//end get lead sources
echo "</select></div>
<div class='col-md-4 col-sm-4'><label for='contact_lead_src_details'>Lead
Source Details</label><input type='text' class='form-control ui-autocomplete-input'
name='contact_lead_src_details' id='contact_lead_src_details' placeholder='Lead
Source Details'></input></div><div class='col-md-4 col-sm-4'><label
for='contact_note'>Contact Note</label>
<textarea name='contact_note' class='form-control' id='contact_note'
placeholder='Type here to add a note to the contact'></textarea></div>";
echo "<div class='col-md-4 col-sm-4'><label
for='contact_notif_pref'>Notification Preference</label>";
echo "<select class='form-control' name='contact_notif_pref'>
<option value=''>Please Select</option>
<option value='Email'>Email</option>
<option value='EmailandSMS'>Email and SMS</option>
<option value='Phone'>Phone</option>
</select></div>";
echo "<div class='col-md-4 col-sm-4'><label
for='contact_notif_pref'>Notification Preference - Time of Day</label>";
echo "<select class='form-control' name='contact_notif_pref_time'>
<option value=''>Please Select</option>
<option value='Morning'>Morning</option>
<option value='Afternoon'>Afternoon</option>
<option value='Evening'>Evening</option>
</select></div>";
$custom_qry = $con->query("SELECT * from custom_fields where table_name =
'agency_contacts'");
if (mysqli_num_rows($custom_qry) > 0) {
echo "<div class='col-md-12 col-sm-12'>
<h5 class='text-center'>Custom Fields</h5>";
while ($row_custom = $custom_qry->fetch_assoc()) {
$field_ref = $row_custom['field_ref'];
$field_column = $row_custom['field_name'];
$field_type = $row_custom['field_type'];
$qry_custom = $con->query("SELECT $field_column from
agency_contacts where ContactId = '$ContactId'");
$row_custom_contact = $qry_custom->fetch_array(MYSQLI_NUM);
$field_value = $row_custom_contact[0];
echo "<div class='col-md-4 col-sm-4'>";
if ($field_type == 'text') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control' value='$field_value'></input>";
}
if ($field_type == 'money') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control formatMoney' value='$field_value'></input>";
}
if ($field_type == 'date') {
echo "
<label>$field_ref</label><input id='$field_column' type='text' name='$field_column'
class='form-control formatDate' value='$field_value'></input>";
}
if ($field_type == 'number') {
echo "
<label>$field_ref</label><input id='$field_column' type='number'
name='$field_column' class='form-control formatNumber'
value='$field_value'></input>";
}
if ($field_type == 'textarea') {
echo "
<label>$field_ref</label><textarea rows='5' id='$field_column' name='$field_column'
class='form-control' value='$field_value'></textarea>";
}
if ($field_type == 'lookup') {
$qryu = $con->prepare("SELECT user_id,CONCAT(fname, ' ',
lname) as name, agency_id from users_table order by name ASC");
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($quid, $quname, $quaid);
echo "<label
class='control-label'>$field_ref</label><select class='form-control'
name='$field_column'><option value=''>Please Select User</option>";
while ($qryu->fetch()) {
$an = $con->prepare("SELECT agency_name
from agency_globals where agency_id = ?");
$an->bind_param("s", $quaid);
$an->execute();
$an->store_result();
$an->bind_result($uaname);
$an->fetch();
if ($quid == $field_value) {
echo "<option value='$quid' selected>$quname -
$uaname</option>";
}else {
echo "<option value='$quid'>$quname -
$uaname</option>";
}
}//end loop through users
echo "</select>";
}
if ($field_type == 'list') {
echo "<label
class='control-label'>$field_ref</label><select class='form-control'
id='$field_column' name='$field_column'><option value=''>Please Select</option>";
$qryu = $con->prepare("SELECT option_value from
custom_field_options where field_id in (SELECT id from custom_fields where
field_name = ?)");
$qryu->bind_param("s", $field_column);
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($opt);
while($qryu->fetch()){
if($opt != $field_value){
echo "<option
value='$opt'>$opt</option>";
}else{
echo "<option value='$opt'
selected>$opt</option>";
}
}
echo "</select>";
}//end check if option is a list
echo "</div>";
}
echo "</div>";
}
echo "</div>";
echo '<button type="submit" class="btn btn-block btn-primary">Add
Contact</button>
</form>';

echo '<script>
$(document).ready(function() {
$("input#contact_lead_src_details").autocomplete({
source: [';
$qry = $con->prepare("SELECT lead_source_details from agency_contacts group
by lead_source_details order by lead_source_details asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($src_details);
$num_results = $qry->num_rows;
$counter = 1;
while ($qry->fetch()) {
$src_details = $con->real_escape_string($src_details);
if ($counter == $num_results) {
echo "{ value: '$src_details' }";
}else {
echo "{ value: '$src_details' },";
}
$counter++;
}//end while loop
echo ']});});
</script>';
}//End addContactModal

//Begin addContact

/**
*
* @return unknown
*/
function addContact() {
header('Content-type: application/json');
global $con, $con_qr;
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($agency_id == '' && isset($_POST['agency_id'])) {
$agency_id = $_POST['agency_id'];
}
$current_uid = $_SESSION['uid'];
$mod_by = $_SESSION['uid'];
$status = $con->real_escape_string($_POST['contact_status']);
$fname = $con->real_escape_string($_POST['contact_fname']);
$lname = $con->real_escape_string($_POST['contact_lname']);
if (isset($_POST['contact_bname'])) {
$bname = $con->real_escape_string($_POST['contact_bname']);
}else {
$bname = '';
}
if (isset($_POST['contact_pref_name'])) {
$pref_name = $con->real_escape_string($_POST['contact_pref_name']);
}else {
$pref_name = '';
}
if (isset($_POST['contact_mname'])) {
$mname = $con->real_escape_string($_POST['contact_mname']);
}else {
$mname = '';
}
$address = $con->real_escape_string($_POST['contact_addr']);
if (isset($_POST['contact_addr2'])) {
$address2 = $con->real_escape_string($_POST['contact_addr2']);
}else {
$address2 = '';
}
if($status == 'Lead Source'){
if($fname != '' && $lname != '' && $bname != ''){
$nsource = "$fname $lname - $bname";
$qrys = $con->prepare("SELECT id from lead_sources where source =
?");
$qrys->bind_param("s", $nsource);
$qrys->execute();
$qrys->store_result();
if($qrys->num_rows > 0){
}else{
$qrys = $con->prepare("INSERT INTO lead_sources(source)
VALUES(?)");
$qrys->bind_param("s", $nsource);
$qrys->execute();
}
}
if($fname != '' && $lname != '' && $bname == ''){
$nsource = "$fname $lname";
$qrys = $con->prepare("SELECT id from lead_sources where
source = ?");
$qrys->bind_param("s", $nsource);
$qrys->execute();
$qrys->store_result();
if($qrys->num_rows > 0){
}else{
$qrys = $con->prepare("INSERT INTO
lead_sources(source) VALUES(?)");
$qrys->bind_param("s", $nsource);
$qrys->execute();
}
}
if($fname == '' && $lname == '' && $bname != ''){
$nsource = "$bname";
$qrys = $con->prepare("SELECT id from lead_sources where
source = ?");
$qrys->bind_param("s", $nsource);
$qrys->execute();
$qrys->store_result();
if($qrys->num_rows > 0){
}else{
$qrys = $con->prepare("INSERT INTO
lead_sources(source) VALUES(?)");
$qrys->bind_param("s", $nsource);
$qrys->execute();
}
}
}
$city = $con->real_escape_string($_POST['contact_city']);
$lead_src = $con->real_escape_string($_POST['contact_lead_src']);
$lead_src_details = $con-
>real_escape_string($_POST['contact_lead_src_details']);
$state = $con->real_escape_string($_POST['contact_state']);
$zip = $con->real_escape_string($_POST['contact_zip']);
$email = $con->real_escape_string($_POST['contact_email']);
$phone = $con->real_escape_string($_POST['contact_phone']);
if (isset($_POST['contact_notif_pref'])) {
$notif = $con->real_escape_string($_POST['contact_notif_pref']);
}else {
$notif = '';
}
if (isset($_POST['contact_notif_pref_time'])) {
$notif_time = $con-
>real_escape_string($_POST['contact_notif_pref_time']);
}else {
$notif_time = '';
}
//begin logic for mapping

$zip_chk = $con->query("SELECT agency_mapping,zipcode from zipcode_mapper


where zipcode = '$zip' and agency_mapping in(SELECT agency_id from agency_globals
where mast_agency_id = '$agency_id')");
if (mysqli_num_rows($zip_chk) < 1) {
//No mapping found
$lead_rt = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Import') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($lead_rt) > 0) {
$row_opt = $lead_rt->fetch_assoc();
$option_name = $row_opt['option_value'];
}

}else {
$row_zip = $zip_chk->fetch_assoc();
$map_to = $row_zip['agency_mapping'];
$mapped = 'true';
while ($mapped == 'true') {
$zip_chk = $con->query("SELECT agency_mapping,zipcode from
zipcode_mapper where zipcode = '$zip' and agency_mapping in(SELECT agency_id from
agency_globals where mast_agency_id = '$map_to')");
if (mysqli_num_rows($zip_chk) < 1) {

$mapped = 'false';

}else {

$row_zip = $zip_chk->fetch_assoc();
$map_to = $row_zip['agency_mapping'];

}
if (isset($map_to)) {
$lead_rt = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Import') and agency_id = '$map_to'
and option_id = agency_lead_default_options.id group by option_value");
}else {
$lead_rt = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Import') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
}
if (mysqli_num_rows($lead_rt) > 0) {
$row_opt = $lead_rt->fetch_assoc();
$option_name = $row_opt['option_value'];
}
}

if (isset($option_name)) {
if ($option_name == 'Round-Robin') {
//round-robin logic
if (isset($map_to)) {

$count_qry = $con->query("SELECT count(user_id) as agents


from users_table where user_type = 'Agent' and agency_id = '$map_to'");
$row_cnt = $count_qry->fetch_assoc();
if (!isset($_SESSION['counter'])) {
$_SESSION['counter'] = 0;
}
$_SESSION['max_cnt'] = $row_cnt['agents'];
if (isset($_SESSION['counter']) && $_SESSION['counter'] <=
$_SESSION['max_cnt']) {
$_SESSION['counter'] = $_SESSION['counter'] + 1;
$counter = $_SESSION['counter'];
}//increment counter
$get_assigned = $con->query("SELECT user_id from
users_table where agency_id = '$map_to' limit $counter,1");
$row_as = $get_assigned->fetch_assoc();
$assigned_to = $row_as['user_id'];
$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$map_to','$assigned_to','$phone','$notif','$notif_ti
me','$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $map_to')");
if ($_SESSION['counter'] == $_SESSION['max_cnt']) {
unset($_SESSION['counter']);

}//unset counter
}else {

//no zip mapping


$count_qry = $con->query("SELECT count(user_id) as agents
from users_table where user_type = 'Agent' and agency_id = '$agency_id'");
$row_cnt = $count_qry->fetch_assoc();
if (!isset($_SESSION['counter'])) {
$_SESSION['counter'] = 0;
}
$_SESSION['max_cnt'] = $row_cnt['agents'];
if (isset($_SESSION['counter']) && $_SESSION['counter'] <=
$_SESSION['max_cnt']) {
$_SESSION['counter'] = $_SESSION['counter'] + 1;
$counter = $_SESSION['counter'];
}//increment counter
$get_assigned = $con->query("SELECT user_id from
users_table where agency_id = '$agency_id' limit $counter,1");
$row_as = $get_assigned->fetch_assoc();
$assigned_to = $row_as['user_id'];
$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$agency_id','$assigned_to','$phone','$notif','$notif
_time','$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $agency_id')");

if ($_SESSION['counter'] == $_SESSION['max_cnt']) {
unset($_SESSION['counter']);
}//unset counter
}// end check for zip mapping

} // end round-robin logic

if ($option_name == 'Top-Producer') {

//top-producer logic
if (isset($map_to)) {
$top_qry = $con->query("select sum(policy_premium) as
premium, assigned_to from policies,agency_contacts where agency_contacts.ContactId
= policies.ContactId and agency_contacts.agency_id = '$map_to' group by assigned_to
order by premium desc limit 1");
$row_top = $top_qry->fetch_assoc();

$assigned_to = $row_top['assigned_to'];
$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$map_to','$assigned_to','$phone','$notif','$notif_ti
me','$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $map_to')");

}else {

$top_qry = $con->query("select sum(policy_premium) as


premium, assigned_to from policies,agency_contacts where agency_contacts.ContactId
= policies.ContactId and agency_contacts.agency_id = '$agency_id' group by
assigned_to order by premium desc limit 1");
$row_top = $top_qry->fetch_assoc();

$assigned_to = $row_top['assigned_to'];

//no zip mapping


$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$agency_id','$assigned_to','$phone','$notif','$notif
_time','$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $agency_id')");
}// end check for zip mapping
} //end top-producer logic

if ($option_name == 'Lowest Lead Count') {


//lowest lead count logic
//Check for zip mapping
if (isset($map_to)) {
$low_qry = $con->query("select count(id) as lead_count,
assigned_to from agency_contacts where agency_contacts.agency_id = '$map_to' group
by assigned_to order by lead_count asc limit 1");
$row_low = $low_qry->fetch_assoc();

$assigned_to = $row_low['assigned_to'];

$ins_qry = $con->query("INSERT INTO


agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$map_to','$assigned_to','$phone','$notif','$notif_ti
me','$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $map_to')");
}else {

$low_qry = $con->query("select count(id) as lead_count,


assigned_to from agency_contacts where agency_contacts.agency_id = '$agency_id'
group by assigned_to order by lead_count asc limit 1");
$row_low = $low_qry->fetch_assoc();

$assigned_to = $row_low['assigned_to'];

//no zip mapping


$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,assigned_to,phone,notification_pref,notification_
pref_time,email,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$agency_id','$assigned_to','$phone','$notif','$notif
_time,'$email','$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $agency_id')");

}// end check for zip mapping

} //end lowest lead count logic

}else {

//there are no default options


if (isset($map_to)) {
$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,phone,notification_pref,notification_pref_time,em
ail,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$map_to','$phone','$notif','$notif_time,'$email','$l
ead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $map_to')");
}else {
$ins_qry = $con->query("INSERT INTO
agency_contacts(fname,mname,lname,bname,preferred_name,address,address_line2,contac
t_status,city,state,zip,agency_id,phone,notification_pref,notification_pref_time,em
ail,lead_source,lead_source_details,last_mod_by)
VALUES('$fname','$mname','$lname','$bname','$pref_name','$address','$address2','$st
atus','$city','$state','$zip','$agency_id','$phone','$notif','$notif_time','$email'
,'$lead_src','$lead_src_details','$mod_by')");
$contact_id = $con->insert_id;
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Lead','$current_uid','lead_$fname $lname for Agency - $agency_id')");
if (!$ins_qry) {
echo $con->error;
}
} //end check for map
}
$qryci = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qryci->bind_param("i", $contact_id);
$qryci->execute();
$qryci->store_result();
$qryci->bind_result($ContactId);
$qryci->fetch();

if ($_POST['contact_note'] != '') {

$note = $con->real_escape_string($_POST['contact_note']);
$by = $_SESSION['uid'];
if (isset($map_to)) {
$ins_note = $con->query("INSERT into
contact_notes(agency_id,ContactId,note_content,note_by)
VALUES('$map_to','$ContactId','$note','$by')");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Note','$by','lead_$map_to|
$contact_id')");
}else {
$ins_note = $con->query("INSERT into
contact_notes(agency_id,ContactId,note_content,note_by)
VALUES('$agency_id','$ContactId','$note','$by')");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Note','$by','lead_$contact_id')");

}//end check for note

unset($map_to);
unset($option_name);

// end logic for mapping


//$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT integration_company_id from agency_integrations
where integration_company_id = ? and agency_id = ?");
$int = 1;
$qry->bind_param("ss", $int, $agency_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($old_intp);
$qry->fetch();
if ($old_intp != '' && $old_intp == '1') {
$contact_agency = $agency_id;
$qry = $con->query("SELECT ip_id,ip_secret from
agency_integrations where agency_id = '$contact_agency' and integration_company_id
= '$old_intp' ");
$row_int = $qry->fetch_assoc();
$qr_id = $row_int['ip_id'];
$ip_secret = $row_int['ip_secret'];

$db_qry = $con_qr->query("SELECT DatabaseName from


quoterush.agencies where QRId = '$qr_id' and SecretCMSKey = '$ip_secret' ");
if (mysqli_num_rows($db_qry) > 0) {

$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];

$sel_qry = $con_qr->query("SELECT Id from $db_name.leads


where NameFirst = '$fname' and NameLast = '$lname' and Address = '$address' ");

if ($lead_src_details != '') {
$ins_qry = $con_qr->query("INSERT into
$db_name.leads(NameFirst,NameMiddle,NameLast,Address,Address2,City,State,Zip,EmailA
ddress,PhoneDay,LeadSource,Deleted)
VALUES('$fname','$mname','$lname','$address','$address2','$city','$state','$zip','$
email','$phone','$lead_src - $lead_src_details', '0')");
$corr_id = $con_qr->insert_id;
$upd = $con->prepare("UPDATE agency_contacts
set correlation_lead_id = ?, from_intp = ? where id = ?");
$intp = 1;
$upd->bind_param("sss", $corr_id, $intp,
$contact_id);
$upd->execute();

}else {
$ins_qry = $con_qr->query("INSERT into
$db_name.leads(NameFirst,NameMiddle,NameLast,Address,Address2,City,State,Zip,EmailA
ddress,PhoneDay,LeadSource,Deleted)
VALUES('$fname','$mname','$lname','$address','$address2','$city','$state','$zip','$
email','$phone','$lead_src','0')");
$corr_id = $con_qr->insert_id;
$upd = $con->prepare("UPDATE agency_contacts
set correlation_lead_id = ?, from_intp = ? where id = ?");
$intp = 1;
$upd->bind_param("sss", $corr_id, $intp,
$contact_id);
$upd->execute();
}

}//end check if access

}//end check if from integration point

}//end check for integration point in DB


if (!$ins_qry) {

$response_array['status'] = "We were unable to add your Contact. If


this problem persists please contact your Administrator.";
echo json_encode($response_array);
return false;
}else {

//check for custom_fields


$custom_qry = $con->query("SELECT * from custom_fields where table_name
= 'agency_contacts'");
if (mysqli_num_rows($custom_qry) > 0) {
//found custom fields
while ($row_custom = $custom_qry->fetch_assoc()) {
$field = $row_custom['field_name'];
$ft = $row_custom['field_type'];
$field_val = $_POST[$field];
if ($ft == 'date') {
$field_val = date("Y-m-d", strtotime($field_val));
}
if (isset($_POST[$field]) && $_POST[$field] != '') {
$upd_contact = $con->query("UPDATE agency_contacts
set $field = '$field_val' where id = '$contact_id'");

}//found field and updating it

}//end while

}//found custom field


if(!isset($_POST['api_call'])){
$response_array['contact_id'] = $contact_id;
$response_array['status'] = "Contact Added Successfully, this
page will refresh in a few seconds.";
echo json_encode($response_array);
}else{
$response_array['status'] = "Success";
$response_array['contact_id'] = $contact_id;
echo json_encode($response_array);
}

}
}//End addContact

// Begin updateAgencyContact

/**
*
* @return unknown
*/
function updateAgencyContact() {
header('Content-type: application/json');
global $con, $con_qr;
$mod_by = $_SESSION['uid'];
$contact_type = $con->real_escape_string($_POST['upd_type']);
$contact_fname = $con->real_escape_string($_POST['upd_fname']);
$contact_lname = $con->real_escape_string($_POST['upd_lname']);
$contact_mname = $con->real_escape_string($_POST['upd_mname']);
$contact_bname = $con->real_escape_string($_POST['upd_bname']);
$contact_pref_name = $con->real_escape_string($_POST['upd_pref_name']);
$contact_addr = $con->real_escape_string($_POST['upd_address']);
$contact_addr2 = $con->real_escape_string($_POST['upd_address2']);
$contact_city = $con->real_escape_string($_POST['upd_city']);
$contact_state = $con->real_escape_string($_POST['upd_state']);
$contact_zip = $con->real_escape_string($_POST['upd_zip']);
$contact_email = $con->real_escape_string($_POST['upd_email']);
$contact_lead_src = $con->real_escape_string($_POST['upd_lead_src']);
$contact_lead_src_details = $con-
>real_escape_string($_POST['upd_lead_src_details']);
$contact_phone = $con->real_escape_string($_POST['upd_phone']);
$contact_fax = $con->real_escape_string($_POST['upd_fax']);
$contact_notif = $con->real_escape_string($_POST['upd_notif_pref']);
$contact_notif_time = $con-
>real_escape_string($_POST['upd_notif_pref_time']);
$contact_type = $con->real_escape_string($_POST['upd_type']);
$contact_status = $con->real_escape_string($_POST['upd_status']);
$contact_id = $_POST['upd_contact_id'];
$contact_assigned = $_POST['upd_assigned'];
$sub_chk = $con->query("SELECT agency_id from users_table where user_id =
'$contact_assigned'");
$old_qry = $con->query("SELECT
contact_status,from_intp,correlation_lead_id,ContactId from agency_contacts where
id = '$contact_id'");
$row_old = $old_qry->fetch_assoc();
$old_status = $row_old['contact_status'];
$old_intp = $row_old['from_intp'];
$corr_lead_id = $row_old['correlation_lead_id'];
$ContactId = $row_old['ContactId'];
$contact_note = $con->real_escape_string($_POST['add_contact_note']);
if (isset($contact_agency) && $contact_agency == '') {
$contact_agency = $_SESSION['agency_id'];
}
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$contact_agency = $_SESSION['global_selector'];
}else {
$contact_agency = $_SESSION['agency_id'];
}
if ($contact_agency == '' && isset($_POST['agency_id'])) {
$contact_agency = $_POST['agency_id'];
}
$row_sub = $sub_chk->fetch_assoc();
$contact_agency = $row_sub['agency_id'];
if ($contact_agency == '') {
$contact_agency = $_SESSION['agency_id'];
}
$upd_qry = $con->query("UPDATE agency_contacts set fname = '$contact_fname',
mname = '$contact_mname', lname = '$contact_lname', bname = '$contact_bname',
preferred_name = '$contact_pref_name', contact_type = '$contact_type', address =
'$contact_addr', address_line2 = '$contact_addr2', city = '$contact_city', state =
'$contact_state', zip = '$contact_zip', email = '$contact_email', fax_number =
'$contact_fax', phone = '$contact_phone', notification_pref = '$contact_notif',
notification_pref_time = '$contact_notif_time', contact_status = '$contact_status',
assigned_to = '$contact_assigned', last_mod_by = '$mod_by', agency_id =
'$contact_agency', lead_source = '$contact_lead_src', lead_source_details =
'$contact_lead_src_details' where id = '$contact_id' ");

//check for custom_fields


$custom_qry = $con->query("SELECT * from custom_fields where table_name =
'agency_contacts'");
if (mysqli_num_rows($custom_qry) > 0) {
//found custom fields
while ($row_custom = $custom_qry->fetch_assoc()) {
$field = $row_custom['field_name'];
$ft = $row_custom['field_type'];
$field_val = $_POST[$field];
if ($ft == 'date') {
$field_val = date("Y-m-d", strtotime($field_val));
}
if (isset($_POST[$field]) && $_POST[$field] != '') {
$upd_contact = $con->query("UPDATE agency_contacts set
$field = '$field_val' where id = '$contact_id'");

}//found field and updating it

}//end while

}//found custom field

if ($old_intp != '' && $old_intp == '1') {

$qry = $con->query("SELECT ip_id,ip_secret from agency_integrations


where agency_id = '$contact_agency' and integration_company_id = '$old_intp' ");
$row_int = $qry->fetch_assoc();
$qr_id = $row_int['ip_id'];
$ip_secret = $row_int['ip_secret'];

$db_qry = $con_qr->query("SELECT DatabaseName from quoterush.agencies


where QRId = '$qr_id' and SecretCMSKey = '$ip_secret' ");
if (mysqli_num_rows($db_qry) > 0) {

$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];

$sel_qry = $con_qr->query("SELECT Id from $db_name.leads where Id


= '$corr_lead_id' ");

if (mysqli_num_rows($sel_qry) > 0) {
if ($contact_lead_src_details != '') {
$upd_int_lead = $con_qr->query("UPDATE $db_name.leads
set NameFirst = '$contact_fname', NameMiddle = '$contact_mname', NameLast =
'$contact_lname', Address = '$contact_addr', Address2 = '$contact_addr2', City =
'$contact_city', State = '$contact_state', Zip = '$contact_zip', EmailAddress =
'$contact_email', PhoneDay = '$contact_phone', LeadSource = '$contact_lead_src -
$contact_lead_src_details' where Id = '$corr_lead_id' ");
}else {
$upd_int_lead = $con_qr->query("UPDATE $db_name.leads
set NameFirst = '$contact_fname', NameMiddle = '$contact_mname', NameLast =
'$contact_lname', Address = '$contact_addr', Address2 = '$contact_addr2', City =
'$contact_city', State = '$contact_state', Zip = '$contact_zip', EmailAddress =
'$contact_email', PhoneDay = '$contact_phone', LeadSource = '$contact_lead_src'
where Id = '$corr_lead_id' ");
}

}//end check if lead found

}//end check if access

}//end check if from integration point

if ($old_intp != '' && $old_intp == '1') {

$qry = $con->query("SELECT ip_id,ip_secret from agency_integrations


where agency_id = '$contact_agency' and integration_company_id = '$old_intp' ");
$row_int = $qry->fetch_assoc();
$qr_id = $row_int['ip_id'];
$ip_secret = $row_int['ip_secret'];

$db_qry = $con_qr->query("SELECT DatabaseName from quoterush.agencies


where QRId = '$qr_id' and SecretCMSKey = '$ip_secret' ");
if (mysqli_num_rows($db_qry) > 0) {

$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];

$sel_qry = $con_qr->query("SELECT Id from $db_name.leads where Id


= '$corr_lead_id' ");

if (mysqli_num_rows($sel_qry) > 0) {
if ($contact_lead_src_details != '') {
$upd_int_lead = $con_qr->query("UPDATE $db_name.leads
set NameFirst = '$contact_fname', NameMiddle = '$contact_mname', NameLast =
'$contact_lname', Address = '$contact_addr', Address2 = '$contact_addr2', City =
'$contact_city', State = '$contact_state', Zip = '$contact_zip', EmailAddress =
'$contact_email', PhoneDay = '$contact_phone', LeadSource = '$contact_lead_src -
$contact_lead_src_details' where Id = '$corr_lead_id' ");
}else {
$upd_int_lead = $con_qr->query("UPDATE $db_name.leads
set NameFirst = '$contact_fname', NameMiddle = '$contact_mname', NameLast =
'$contact_lname', Address = '$contact_addr', Address2 = '$contact_addr2', City =
'$contact_city', State = '$contact_state', Zip = '$contact_zip', EmailAddress =
'$contact_email', PhoneDay = '$contact_phone', LeadSource = '$contact_lead_src'
where Id = '$corr_lead_id' ");
}

}//end check if lead found

}//end check if access

}//end check if from integration point


if ($old_status != $contact_status && $contact_status == 'Verified') {
$now = date("Y-m-d H:i:s");
$upd_qry = $con->query("UPDATE agency_contacts set date_verified =
'$now' where id = '$contact_id' ");
}

if ($old_status != $contact_status && $contact_status == 'Quoted') {


$now = date("Y-m-d H:i:s");
$upd_qry = $con->query("UPDATE agency_contacts set date_first_quoted =
'$now' where id = '$contact_id' ");
}

$ins_audit = $con->query("INSERT into audit(action,action_by,action_asset)


VALUES('Updated Lead','$mod_by','lead_$contact_id')");

if ($contact_note != '') {
$ag_qry = $con->query("SELECT agency_id from agency_contacts where id =
'$contact_id'");
$row_ag = $ag_qry->fetch_assoc();
$agency_id = $row_ag['agency_id'];
$ins_note = $con->query("INSERT into
contact_notes(agency_id,ContactId,note_content,note_by)
VALUES('$contact_agency','$ContactId','$contact_note','$mod_by')");

}//end check for empty note


$result = $con->affected_rows;
if ($result < 1) {
if(!isset($_POST['api_call'])){
$response_array['status'] = "We were unable to update the
Contact. If this problem persists please contact your Administrator.";
echo json_encode($response_array);
return false;
}else{
$response_array['status'] = "Failed";
echo json_encode($response_array);
return false;
}
}else {
if(!isset($_POST['api_call'])){
$response_array['status'] = "Contact Updated Successfully, this
page will refresh in a few seconds.";
echo json_encode($response_array);
}else{
$response_array['status'] = "Success";
echo json_encode($response_array);
}

}//End updateAgencyContact

//Begin getAgencyInfo
/**
*
*/
function getAgencyInfo() {

global $con;
$agency_id = $_SESSION['agency_id'];

$rd_qry = $con->query("SELECT * FROM agency_globals where agency_id =


'$agency_id' ");
if (!$rd_qry) {

echo "<h2>Profile Information was not found, please reload the


page.</h2>";
}else {
$row = $rd_qry->fetch_assoc();
$name = $row['agency_name'];
$email = $row['agency_email'];
$phone = $row['agency_phone'];
$addr = $row['agency_addr'];
$addr2 = $row['agency_addr2'];
$city = $row['agency_city'];
$state = $row['agency_state'];
$zip = $row['agency_zip'];
$logo_path = $row['agency_logo_path'];

echo " <form class='form-


horizontal' id='upd_profile' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Agency Info</h3><hr>

<input type='hidden' name='agency_id' value='$agency_id'></input>


<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' class='form-control' value='$name' placeholder='Agency Name' readonly>
</div>
</div>
</fieldset>
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Contact Info</h3><hr>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='phone' name='upd_agency_phone' class='form-control' value='$phone'
placeholder='Phone'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='email' name='upd_agency_email' class='form-control' value='$email'
placeholder='Email'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' name='upd_agency_addr' class='form-control' value='$addr'
placeholder='Address'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' name='upd_agency_addr2' class='form-control' value='$addr2'
placeholder='Address Line 2'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' name='upd_agency_city' class='form-control' value='$city'
placeholder='City'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' name='upd_agency_state' class='form-control' value='$state'
placeholder='State'>
</div>
</div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input
type='text' name='upd_agency_zip' class='form-control' value='$zip'
placeholder='Zipcode'>
</div>
</div>";
echo " <div class='form-group'>";
echo '<button type="submit" class="btn btn-block btn-primary">Update
Agency Profile</button>
</form>
</div>';

echo "
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Invoice Info</h3>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label for='inv_logo'>Current Logo
Invoice</label>";
if ($logo_path != '') {
$path = $logo_path;
$xplode = explode("/", $path);
$path = "doc_storage/$xplode[5]/$xplode[6]";
$file_name = $xplode[7];
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rtrim($file_name, "/");
$file_namee = rawurlencode($file_name);
echo "<img src='$path/$file_namee' alt='Invoice Logo'>";
}
echo "

</div>
</div>
</fieldset>";

echo '
<form action="upload.php" class="dropzone dz-clickable" id="drop_zone_ag"
method="post">';
echo "<input type='hidden' name='file_client_id'
value='$agency_id'></input>
<input type='hidden' name='upload_from' value='agency_profile'></input>";
echo '<div class="dz-default dz-message"><span>Drop file here to upload
invoice logo</span></div></form>

<input type="file" multiple="multiple" class="dz-hidden-input" style="visibility:


hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
<script src="assets/js/dropzone.js">
// Dropzone class:
var myDropzone = new Dropzone("#drop_zone_ag", { url: "upload.php"});

</script>';
echo " </fieldset>
<fieldset class='fieldset' id='int-
info'>
<h3 class='fieldset-
title'>Integration Points</h3>
<table datatable='datatable' class='row-border
hover' id='integration-grid' style='width:100%;'>
<thead>
<tr>
<th>Integration Type</th>
<th>Integration
Company</th>
<th>Integration Company
ID</th>
<th>Remove Integration Point</th>
</tr>
</thead>
<tbody>";
$qry = $con->query("SELECT
agency_integrations.id,ip_id,company_name,integration_type from
agency_integrations,ams_admin.company_integrations where agency_id = '$agency_id'
and integration_company_id = company_integrations.id");
while ($row = $qry->fetch_assoc()) {
$company = $row['company_name'];
$ip_id = $row['ip_id'];
$id = $row['id'];
$type = $row['integration_type'];
echo "<tr>
<td>$type</td>
<td>$company</td>
<td>$ip_id</td>
<td><form class='form-horizontal' id='rem_integration_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'><input type='hidden' name='del_intp' value='$id'></input><input
type='submit' class='btn btn-primary' style='width: 50%;'
value='Remove'></input></form></td>
</tr>";
}
echo " </tbody>
</table>

</fieldset>
<hr>";

}//end ELSE

}//end getAgencyInfo

// Begin updateAgencyProfile

/**
*
* @return unknown
*/
function updateAgencyProfile() {
header('Content-type: application/json');
global $con;
$agency_id = $_SESSION['agency_id'];
$agency_phone = $con->real_escape_string($_POST['upd_agency_phone']);
$agency_email = $con->real_escape_string($_POST['upd_agency_email']);
$agency_addr = $con->real_escape_string($_POST['upd_agency_addr']);
$agency_addr2 = $con->real_escape_string($_POST['upd_agency_addr2']);
$agency_city = $con->real_escape_string($_POST['upd_agency_city']);
$agency_state = $con->real_escape_string($_POST['upd_agency_state']);
$agency_zip = $con->real_escape_string($_POST['upd_agency_zip']);

if (!empty($agency_id) && !empty($agency_phone) && !empty($agency_addr) && !


empty($agency_email) && !empty($agency_city)) {
$upd_qry = $con->query("UPDATE agency_globals set agency_phone =
'$agency_phone', agency_email = '$agency_email', agency_addr = '$agency_addr',
agency_addr2 = '$agency_addr2', agency_city = '$agency_city', agency_state =
'$agency_state', agency_zip = '$agency_zip' where agency_id = '$agency_id' ");
$result = $con->affected_rows;

if ($result < 1) {

$response_array['status'] = "We were unable to update your


profile. Please contact your administrator if the problem persists.";
echo json_encode($response_array);
return false;
}else {

$response_array['status'] = "Profile Updated Successfully, this


page will refresh in a few seconds.";
echo json_encode($response_array);

}
}else {
$response_array['status'] = "We were unable to update your profile.
Please contact your administrator if the problem persists.";
echo json_encode($response_array);
return false;
}//End form validation

}//end updateAgencyProfile

//Begin addIntegrationModal

/**
*
*/
function addIntegrationModal() {

global $con, $con_qr, $con_adm;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Integration</h3>";
echo "<form class='form-horizontal' id='new_integration_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";

echo "<label for='int_type'>Integration Type</label>";


echo "<select class='form-control' name='int_type'>
<option value=''>Please Select an Integration Type</option>";

$agency_id = $_SESSION['agency_id'];

$ag_qry = $con_adm->query("SELECT id,type from integration_types order by


type asc");
while ($row = $ag_qry->fetch_assoc()) {
$type_id = $row['id'];
$type = $row['type'];
echo " <option value='$type'>$type</option>";
}
echo '</select>';

echo "<label for='int_comp'>Integration Company</label>";


echo "<select class='form-control' name='int_comp'>
<option value=''>Please Select an Integration Company</option>";
$ag_qry = $con->query("SELECT id,company_name from
ams_admin.company_integrations order by company_name asc");
while ($row = $ag_qry->fetch_assoc()) {
$cmp_id = $row['id'];
$company = $row['company_name'];
echo " <option value='$cmp_id'>$company</option>";
}
echo '</select>
<input type="text" name="ip_id" value="" class="form-control"
placeholder="Your Company ID with this vendor" required></input><br>
<input type="text" name="ip_secret" value="" class="form-control"
placeholder="Your Secret Integration Key with this vendor" required></input><br>';

echo '<button type="submit" class="btn btn-block btn-primary"


id="addIntegrationButton">Add Integration</button>
</form>';

}//End addIntegrationModal

//Begin addIntegrationPoint

/**
*
* @return unknown
*/
function addIntegrationPoint() {
header('Content-type: application/json');
global $con;
$agency_id = $_SESSION['agency_id'];
$int_type = $con->real_escape_string($_POST['int_type']);
$int_company = $con->real_escape_string($_POST['int_comp']);
$ip_id = $con->real_escape_string($_POST['ip_id']);
$ip_secret = $con->real_escape_string($_POST['ip_secret']);
$current_uid = $_SESSION['uid'];
$ins_qry = $con->query("INSERT into
agency_integrations(ip_id,ip_secret,integration_type,integration_company_id,agency_
id) VALUES('$ip_id','$ip_secret','$int_type','$int_company','$agency_id')");
$ins_audit = $con->query("INSERT into audit(action,action_by,action_asset)
VALUES('Added Agency Integration','$current_uid','integration_$int_company')");

if (!$ins_qry) {

$response_array['status'] = "We were unable to add your integration


point. If this problem persists please contact your Administrator." . $con->error;
echo json_encode($response_array);
return false;
}else {

if ($int_type = 'Lead') {

$qry = $con->query("UPDATE agency_globals set


has_lead_integration = 'Yes' where agency_id = '$agency_id' ");

if ($int_type = 'Policy') {

$qry = $con->query("UPDATE agency_globals set


has_policy_integration = 'Yes' where agency_id = '$agency_id' ");

if ($int_type = 'Lead and Policy') {


$qry = $con->query("UPDATE agency_globals set
has_policy_integration = 'Yes', has_lead_integration = 'Yes' where agency_id =
'$agency_id' ");

$response_array['status'] = "Integration Point Added Successfully, data


may take a while to populate as we pull it from the endpoint, this page will
refresh in a few seconds.";
echo json_encode($response_array);

pullIntegrationData($agency_id, $int_type, $int_company);

} //End addIntegrationPoint

//Begin removeIntegrationPoint

/**
*
* @return unknown
*/
function removeIntegrationPoint() {

global $con;

$int_id = $_POST['del_intp'];

$qry = $con->query("DELETE from agency_integrations where id = '$int_id'");


header('Content-type: application/json');

if ($con->affected_rows < 1) {

$response_array['status'] = "We were unable to remove your integration


point. If this problem persists please contact your Administrator.";
echo json_encode($response_array);
return false;
}else {

$response_array['status'] = "Integration Point Removed Successfully,


this page will refresh in a few seconds.";
echo json_encode($response_array);

}
}//End removeIntegrationPoint

/**
*
*/
function emailCampaignOptions() {

global $con;
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$uid = $con->real_escape_string($_SESSION['uid']);
$cat_id = $_POST['email_campaign'];
$qry = $con->query("SELECT id,name from email_campaign_templates where
campaign_type = '$cat_id' and (agency_id = '' OR agency_id = '$agency_id' OR
agency_id is null) and (private = '0' OR assigned_to = '$uid')");
echo " <select class='form-control' id='email_campaign_template_select'
onchange='emailCampaignTemplate();'>
<option value=''>Please Select a Template</option>";
while ($row = $qry->fetch_assoc()) {

$temp_name = $row['name'];
$temp_id = $row['id'];

echo "<option value='$temp_id'>$temp_name</option>";

echo "</select>";

}//End emailCampaign

//Beging getEmailCampaignCat

/**
*
*/
function getEmailCampaignCat() {

global $con, $base_dir;


$trunc = $con->query("TRUNCATE email_campaign_categories");
require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
require "/datadrive/html/$base_dir/sendgrid-php/sendgrid-php.php";
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);

$response = $sg->client->contactdb()->lists()->get();
$json_response = json_decode($response->body(), true);

foreach ($json_response as $key) {


foreach ($key as $type=>$value) {

$cat_id = $value['id'];
$cat_name = $value['name'];
$rec_count = $value['recipient_count'];
echo "<option value='$cat_id'>$cat_name</option>";

$cat_id = $value['id'];
$cat_name = $value['name'];
$rec_count = $value['recipient_count'];
$catid = $cat_id;
$qry2 = $con->prepare("SELECT sg_id from
email_campaign_categories where sg_id = ? ");
echo $con->error;
$qry2->bind_param("s", $catid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows < 1) {
$qry2->free_result();
$ins_qry = $con->prepare("INSERT into
email_campaign_categories(name,sg_id) VALUES(?,?)");
$ins_qry->bind_param("ss", $catname, $catid);
$catid = $cat_id;
$catname = $cat_name;
$ins_qry->execute();
}

}//End getEmailCampaignCat

//Begin getEmailCampaignTemplate

/**
*
*/
function getEmailCampaignTemplate() {

global $con;
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$uid = $con->real_escape_string($_SESSION['uid']);
$template = $_POST['email_camp_temp'];
if (isset($_POST['from_date'])) {
$from = $_POST['from_date'];
}
if (isset($_POST['to_date'])) {
$to = $_POST['to_date'];
}

$qry = $con->query("SELECT description,email_campaign_categories.name from


email_campaign_templates,email_campaign_categories where
email_campaign_templates.id = '$template' and
email_campaign_templates.campaign_type = email_campaign_categories.id");

$row = $qry->fetch_assoc();

$desc = $row['description'];
$camp_name = $row['name'];

if (strpos($camp_name, "CrossSellBusiness") !== false) {


if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as cross_business from
agency_contacts where id in (select contact_id from policies group by ContactId
having count(ContactId) < 2) agency_id = '$agency_id' and DATE(last_modified)
between '$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as cross_business from
agency_contacts where id in (select contact_id from policies group by ContactId
having count(ContactId) < 2) and agency_id = '$agency_id'");
}
$row_cold = $rd_qry->fetch_assoc();

$cross_business = $row_cold['cross_business'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $cross_business</label>";
}

if (strpos($camp_name, "NewBusiness") !== false) {


if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as new_business from
agency_contacts where id in (select contact_id from policies where business_type =
'New Business' and bind_date > DATE_SUB(NOW(), INTERVAL 30 DAY)) agency_id =
'$agency_id' and DATE(last_modified) between '$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as new_business from
agency_contacts where id in (select contact_id from policies where business_type =
'New Business' and bind_date > DATE_SUB(NOW(), INTERVAL 30 DAY)) and agency_id =
'$agency_id'");
}
$row_cold = $rd_qry->fetch_assoc();

$new_business = $row_cold['new_business'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $new_business</label>";
}

if (strpos($camp_name, "LostBusiness") !== false) {


if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as lost_business from
agency_contacts where ContactId not in (select ContactId from policies where
policy_status = 'Active') agency_id = '$agency_id' and DATE(last_modified) between
'$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as lost_business from
agency_contacts where ContactId not in (select ContactId from policies where
policy_status = 'Active') and agency_id = '$agency_id'");
}
$row_cold = $rd_qry->fetch_assoc();

$lost_business = $row_cold['lost_business'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $lost_business</label>";
}

if (strpos($camp_name, "Cold") !== false) {


if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as cold_leads from
agency_contacts where (contact_status = 'New Lead' OR contact_status = 'Imported')
and agency_id = '$agency_id' and DATE(last_modified) between '$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as cold_leads from
agency_contacts where (contact_status = 'New Lead' OR contact_status = 'Imported')
and agency_id = '$agency_id'");
}
$row_cold = $rd_qry->fetch_assoc();

$cold_leads = $row_cold['cold_leads'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $cold_leads</label>";
}
if (strpos($camp_name, "Active") !== false) {
if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as active from
agency_contacts where contact_status = 'Quoted' and agency_id = '$agency_id' and
DATE(last_modified) between '$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as active from
agency_contacts where contact_status = 'Quoted' and agency_id = '$agency_id'");
}
$row_act = $rd_qry->fetch_assoc();

$active = $row_act['active'];

echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential


Audience: $active</label>";
}
if (strpos($camp_name, "Prospect") !== false) {
if (isset($from) && isset($to) && $from != '' && $to != '') {
$rd_qry = $con->query("SELECT count(id) as prospect from
agency_contacts where contact_status = 'Verified' and agency_id = '$agency_id' and
DATE(last_modified) between '$from' and '$to'");
}else {
$rd_qry = $con->query("SELECT count(id) as prospect from
agency_contacts where contact_status = 'Verified' and agency_id = '$agency_id'");
}
$row_prosp = $rd_qry->fetch_assoc();

$prsp_leads = $row_prosp['prospect'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $prsp_leads</label>";
}

echo "<textarea id='template_text' class='form-control'


rows='20'>$desc</textarea>";
echo "<button type='submit' id='sendEmailCampaign' class='btn btn-new'>Queue
Campaign</button>";
echo "<button type='submit' id='saveTemp' class='btn btn-new'
style='float:right;'>Save New Template</button>";

//Begin pullIntegrationData

/**
*
* @param unknown $agency_id
* @param unknown $int_type
* @param unknown $int_company
* @return unknown
*/
function pullIntegrationData($agency_id, $int_type, $int_company) {
global $con;

$int_info = $con->query("SELECT
endpoint_initial,company_name,ip_id,ip_secret,endpoint,endpoint_type,endpoint_uname
,endpoint_pw from agency_integrations,company_integrations where
company_integrations.id = '$int_company' and
agency_integrations.integration_company_id = '$int_company' and agency_id =
'$agency_id'");
if (!$int_info) {
echo $con->error;
}
$row = $int_info->fetch_assoc();
$ip_id = $row['ip_id'];
$ip_secret = $row['ip_secret'];
$endpoint = $row['endpoint'];
$endpoint_uname = $row['endpoint_uname'];
$endpoint_pw = $row['endpoint_pw'];
$endpoint_type = $row['endpoint_type'];
$endpoint_initial = $row['endpoint_initial'];
$company_name = $row['company_name'];

if ($int_info->num_rows === 0) {

}else {

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush') {

$con_qr = mysqli_connect("quoterush-db-server", "ticket_l0gin",


"t1Ck3tLOg1n!", "quoterush");

$qry = $con_qr->query("SELECT SecretCMSKey,DatabaseName,QRId from


quoterush.agencies where QRId = '$ip_id' and SecretCMSKey = '$ip_secret'");
if ($qry->num_rows === 0) {

$prospects = "Integration Failure";


return $prospects;exit;
}else {
$row_db = $qry->fetch_assoc();

$dbname = $row_db['DatabaseName'];
$contact_qry = $con_qr->query("SELECT
Id,NameFirst,NameMiddle,NameLast,Address,LeadStatus,Address2,City,State,Zip,DateMod
ified,PhoneDay,LeadSource from $dbname.leads");

if ($contact_qry) {

$arr_cnt = 0;
$start_cnt = 1;

$mod_by = $_SESSION['uid'];
while ($row_lead = $contact_qry->fetch_assoc()) {

$fname = $row_lead['NameFirst'];
$lname = $row_lead['NameLast'];
$mname = $row_lead['NameMiddle'];
$lead_id = $row_lead['Id'];
$status = $row_lead['LeadStatus'];
$address = $row_lead['Address'];
$address2 = $row_lead['Address2'];
$lead_src = $row_lead['LeadSource'];
$city = $row_lead['City'];
$state = $row_lead['State'];
$zip = $row_lead['Zip'];
$mod = $row_lead['DateModified'];
$phone = $row_lead['PhoneDay'];

//BEGIN CHECK FOR ZIPCODE MAPPING


$imp = 'Import';
$zip_chk = $con->prepare("SELECT agency_mapping
from zipcode_mapper where zipcode = ? and agency_mapping in(SELECT agency_id from
agency_globals where mast_agency_id = ?)");
$zip_chk->bind_param("ss", $zip, $agency_id);
$zip_chk->execute();
$zip_chk->store_result();
if ($zip_chk->num_rows < 1) {
//No mapping found
$lead_rt = $con->prepare("SELECT
option_value from agency_lead_options,agency_lead_default_options where option_id
in(select id from agency_lead_default_options where option_name = ?) and agency_id
= ? and option_id = agency_lead_default_options.id group by option_value");
$imp = 'Import';
$lead_rt->bind_param("ss", $imp,
$agency_id);
$lead_rt->execute();
$lead_rt->store_result();
if ($lead_rt->num_rows > 0) {
$lead_rt-
>bind_result($option_name);
$lead_rt->fetch();
}

}else {
$zip_chk->bind_result($amap, $map_to);
$zip_chk->fetch();
$mapped = 'true';
while ($mapped == 'true') {
$zip_chk = $con->prepare("SELECT
agency_mapping from zipcode_mapper where zipcode = ? and agency_mapping in(SELECT
agency_id from agency_globals where mast_agency_id = ?)");
$zip_chk->bind_param("ss", $zip,
$map_to);
$zip_chk->execute();
$zip_chk->store_result();
if ($zip_chk->num_rows < 1) {

$mapped = 'false';

}else {

$zip_chk-
>bind_result($map_to);
$zip_chk->fetch();

}
}
if (isset($map_to)) {

$lead_rt = $con->prepare("SELECT
option_id,option_value from agency_lead_options,agency_lead_default_options where
option_id in(select id from agency_lead_default_options where option_name = ?) and
agency_id = ? and option_id = agency_lead_default_options.id group by
option_value");
$lead_rt->bind_param("ss", $imp,
$map_to);
$lead_rt->execute();
$lead_rt->store_result();
}else {
$lead_rt = $con->prepare("SELECT
option_id,option_value from agency_lead_options,agency_lead_default_options where
option_id in(select id from agency_lead_default_options where option_name = ?) and
agency_id = ? and option_id = agency_lead_default_options.id group by
option_value");
$lead_rt->bind_param("ss", $imp,
$agency_id);
$lead_rt->execute();
$lead_rt->store_result();
}
if ($lead_rt->num_rows > 0) {
$lead_rt->bind_result($optid,
$option_name);
$lead_rt->fetch();
}
}
//END CHECK FOR ZIPCODE MAPPING
//BEGIN CHECKS FOR OTHER MAPPING TYPES
if (isset($option_name)) {

//BEGIN LOGIC FOR ROUND ROBIN


if ($option_name == 'Round-Robin') {

//round-robin logic
if (isset($map_to)) {

$count_qry = $con-
>prepare("SELECT count(user_id) as agents from users_table where user_type = ? and
agency_id = ?");
$agent = 'Agent';
$count_qry->bind_param("ss",
$agent, $map_to);
$count_qry->execute();
$count_qry->store_result();
$count_qry-
>bind_result($row_cnt);
$count_qry->fetch();
if (!
isset($_SESSION['counter'])) {
$_SESSION['counter'] =
0;
}
$_SESSION['max_cnt'] =
$row_cnt;
$counter =
$_SESSION['counter'];
$get_assigned = $con-
>prepare("SELECT user_id from users_table where agency_id = ? limit ?,?");
$one = 1;
$get_assigned-
>bind_param("sss", $map_to, $counter, $one);
$get_assigned->execute();
$get_assigned-
>store_result();
$get_assigned-
>bind_result($assigned_to);
$get_assigned->fetch();
$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);
$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $map_to);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {
$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $map_to, $assigned_to,
$phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $map_to";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $map_to);
$upd_qr->execute();

}
if
(isset($_SESSION['counter']) && $_SESSION['counter'] <= $_SESSION['max_cnt']) {
$_SESSION['counter'] =
$_SESSION['counter'] + 1;
}//increment counter
if ($_SESSION['counter'] ==
$_SESSION['max_cnt']) {
unset($_SESSION['counter']);

}//unset counter
}else {
$count_qry = $con-
>prepare("SELECT count(user_id) as agents from users_table where user_type = ? and
agency_id = ?");
$agent = 'Agent';
$count_qry->bind_param("ss",
$agent, $map_to);
$count_qry->execute();
$count_qry->store_result();
$count_qry-
>bind_result($row_cnt);
$count_qry->fetch();
if (!
isset($_SESSION['counter'])) {
$_SESSION['counter'] =
0;
}
$_SESSION['max_cnt'] =
$row_cnt;
$counter =
$_SESSION['counter'];
$get_assigned = $con-
>prepare("SELECT user_id from users_table where agency_id = ? limit ?,?");
$one = 1;
$get_assigned-
>bind_param("sss", $agency_id, $counter, $one);
$get_assigned->execute();
$get_assigned-
>store_result();
$get_assigned-
>bind_result($assigned_to);
$get_assigned->fetch();
//no zip mapping
$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $agency_id);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {
$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $agency_id,
$assigned_to, $phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $agency_id";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $agency_id);
$upd_qr->execute();

}
if
(isset($_SESSION['counter']) && $_SESSION['counter'] <= $_SESSION['max_cnt']) {
$_SESSION['counter'] =
$_SESSION['counter'] + 1;
}//increment counter
if ($_SESSION['counter'] ==
$_SESSION['max_cnt']) {

unset($_SESSION['counter']);
}//unset counter

}// end check for zip mapping

} // end round-robin logic

//END CHECK FOR ROUND-ROBIN

//BEGIN CHECK FOR Top-Producer


if ($option_name == 'Top-Producer') {

//top-producer logic
if (isset($map_to)) {
$top_qry = $con-
>prepare("select sum(policy_premium) as premium, assigned_to from
policies,agency_contacts where agency_contacts.ContactId = policies.ContactId and
agency_contacts.agency_id = ? group by assigned_to order by premium desc limit 1");
$top_qry->bind_param("s",
$map_to);
$top_qry->execute();
$top_qry->store_result();
$top_qry->bind_result($prem,
$assigned_to);
$top_qry->fetch();

$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $map_to);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {

$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $map_to, $assigned_to,
$phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $map_to";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $map_to);
$upd_qr->execute();
}
}else {

$top_qry = $con-
>prepare("select sum(policy_premium) as premium, assigned_to from
policies,agency_contacts where agency_contacts.ContactId = policies.ContactId and
agency_contacts.agency_id = ? group by assigned_to order by premium desc limit 1");
$top_qry->bind_param("s",
$agency_id);
$top_qry->execute();
$top_qry->store_result();
$top_qry->bind_result($prem,
$assigned_to);
$top_qry->fetch();

//no zip mapping


$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $agency_id);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {

$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $agency_id,
$assigned_to, $phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $agency_id";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {
$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $agency_id);
$upd_qr->execute();

}
}// end check for zip mapping

} //end top-producer logic


//END CHECK FOR TOP-PRODUCER

//BEGIN CHECK FOR LOWEST LEAD COUNT


if ($option_name == 'Lowest Lead Count')
{
//lowest lead count logic
//Check for zip mapping
if (isset($map_to)) {
$low_qry = $con-
>prepare("select count(id) as lead_count, assigned_to from agency_contacts where
agency_contacts.agency_id = ? group by assigned_to order by lead_count asc limit
1");
$low_qry->bind_param("s",
$map_to);
$low_qry->execute();
$low_qry->store_result();
$low_qry->bind_result($lcnt,
$assigned_to);
$low_qry->fetch();

$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $map_to);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {

$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $map_to, $assigned_to,
$phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $map_to";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $map_to);
$upd_qr->execute();

}
}else {

$low_qry = $con-
>prepare("select count(id) as lead_count, assigned_to from agency_contacts where
agency_contacts.agency_id = ? group by assigned_to order by lead_count asc limit
1");
$low_qry->bind_param("s",
$agency_id);
$low_qry->execute();
$low_qry->store_result();
$low_qry->bind_result($lcnt,
$assigned_to);
$low_qry->fetch();

//no zip mapping


$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con-
>prepare("SELECT id from agency_contacts where correlation_lead_id = ? and
from_intp = ? and agency_id = ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $agency_id);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {

$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $agency_id,
$assigned_to, $phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname
$lname for Agency - $agency_id";
$ins_audit-
>bind_param("sss", $action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr-
>bind_param("sssss", $lead_id, $int_company, $lead_id, $int_company, $agency_id);
$upd_qr->execute();
}

}// end check for zip mapping

} //end lowest lead count logic


//END LOGIC FOR LOWEST LEAD COUNT

}else {

//there are no default options


if (isset($map_to)) {
$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con->prepare("SELECT id
from agency_contacts where correlation_lead_id = ? and from_intp = ? and agency_id
= ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $map_to);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {
$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $map_to, $assigned_to,
$phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname $lname
for Agency - $map_to";
$ins_audit->bind_param("sss",
$action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr->bind_param("sssss",
$lead_id, $int_company, $lead_id, $int_company, $map_to);
$upd_qr->execute();
}
}else {
$address = trim($address);
$fname = trim($fname);
$lname = trim($lname);

$chk_qry = $con->prepare("SELECT id
from agency_contacts where correlation_lead_id = ? and from_intp = ? and agency_id
= ? ");
$chk_qry->bind_param("sss",
$lead_id, $int_company, $agency_id);
$chk_qry->execute();
$chk_qry->store_result();

if ($chk_qry->num_rows < 1) {

$ins_qry = $con-
>prepare("INSERT INTO
agency_contacts(fname,mname,lname,address,address_line2,contact_status,city,state,z
ip,correlation_lead_id,from_intp,last_modified,agency_id,assigned_to,phone,last_mod
_by,lead_source) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ins_qry-
>bind_param("sssssssssssssssss", $fname, $mname, $lname, $address, $address2,
$status, $city, $state, $zip, $lead_id, $int_company, $mod, $agency_id,
$assigned_to, $phone, $mod_by, $lead_src);
$ins_qry->execute();
$ins_audit = $con-
>prepare("INSERT into audit(action,action_by,action_asset) VALUES(?,?,?)");
$action = 'Added Lead';
$detail = "lead_$fname $lname
for Agency - $agency_id";
$ins_audit->bind_param("sss",
$action, $mod_by, $detail);
$ins_audit->execute();
}else {

$upd_qr = $con-
>prepare("UPDATE agency_contacts set correlation_lead_id = ?, from_intp = ? where
correlation_lead_id = ? and from_intp = ? and agency_id = ? ");
$upd_qr->bind_param("sssss",
$lead_id, $int_company, $lead_id, $int_company, $agency_id);
$upd_qr->execute();

}
} //end check for map
}
unset($map_to);
unset($option_name);
//END ALL CHECKS FOR MAPPING OR NO MAPPING

}//End While

}//End check to see if Lead Lookup was successful

}//End Check to see if IP credentials are good

} //End check to see if Integration Lookup Succeeded

$agency_id = $_SESSION['agency_id'];
$qry = $con->query("SELECT * from agency_contacts where
correlation_lead_id like '' and agency_id = '$agency_id'");
if (mysqli_num_rows($qry) > 0) {

while ($row_c = $qry->fetch_assoc()) {


$fname = $row_c['fname'];
$mname = $row_c['mname'];
$lname = $row_c['lname'];
$address = $row_c['address'];
$address2 = $row_c['address_line2'];
$phone = $row_c['phone'];
$email = $row_c['email'];
$zip = $row_c['zip'];
$state = $row_c['state'];
$city = $row_c['city'];
$lead_src = $row_c['lead_source'];

$qry_chk = $con_qr->query("SELECT Id from $dbname.leads


where NameFirst = '$fname' and NameLast = '$lname' and Address = '$address'");
if (mysqli_num_rows($qry_chk) < 1) {

$ins_qry = $con_qr->query("INSERT into


$dbname.leads(NameFirst,NameMiddle,NameLast,Address,Address2,City,State,Zip,EmailAd
dress,PhoneDay,LeadSource)
VALUES('$fname','$mname','$lname','$address','$address2','$city','$state','$zip','$
email','$phone','$lead_src')");

}//end while
}//end check if contact exists
}//end check if contacts need to be copied

}//end check for Database and QuoteRush

}//End pullIntegrationData

//Begin checkIfParent

/**
*
*/
function checkIfParent() {

global $con;
$agency_id = $_SESSION['agency_id'];
$chk_qry = $con->query("SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id'");
if ($chk_qry->num_rows > 0) {
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'
id='agency_select'>Agency Selector</label><select class='form-control'
id='stats_agency_mast' name='stats_agency_mast' onchange='getStats()'>
<option>Please Select an Agency to view their info</option>
<option value='All'>All</option>";
$rd_qry = $con->query("SELECT agency_id,agency_name from agency_globals
where mast_agency_id = '$agency_id'");
while ($row = $rd_qry->fetch_assoc()) {

$child_agency_id = $row['agency_id'];
$child_agency_name = $row['agency_name'];

echo "<option
value='$child_agency_id'>$child_agency_name</option>";

} //End While

echo "<select>";

}//End Check for Child Agencies

}//End checkIfParent

//begin getStatsSelect

/**
*
*/
function getStatsSelect() {

global $con;
$agency_id = $_SESSION['agency_id'];
$selector = $_POST['get_stats_selector'];
$_SESSION['global_selector'] = $_POST['get_stats_selector'];
$_SESSION['global_selector_table'] = $_POST['get_stats_selector'];
if ($selector == 'All') {
$totalActivePolicies = 0;
$totalActiveLeads = 0;
$totalColdLeads = 0;
$totalProspectLeads = 0;
$totalPolicyPremiums = 0;
$totalNewPrem = 0;
$totalRewritePrem = 0;
$totalRenewalPrem = 0;
$totalExpBusPrem = 0;
$chartCount = 0;
$totalChartCount = 0;
$chart_html = "";
$activeLeads = getTotalActive();
$coldLeads = getColdLeads();
$policyPremiums = getTotalPolicyPremiums();
$prospectLeads = getTotalProspects();
$activePolicies = getActivePolicies();
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
$ag_qry = $con->query("SELECT agency_name from agency_globals where
agency_id = '$agency_id'");
$row_ag = $ag_qry->fetch_assoc();
$agency_name = $row_ag['agency_name'];
$chart_html .= "
<h3>$agency_name</h3>
<canvas id='revenueChart$totalChartCount'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart$totalChartCount');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Cold Leads', 'Quoted Leads', 'Prospect Leads'],
datasets: [{
data: [$coldLeads, $activeLeads, $prospectLeads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});

</script>";
$chartCount++;
$totalChartCount++;
$rd_qry = $con->query("SELECT agency_id,agency_name from agency_globals
where mast_agency_id = '$agency_id'");
while ($row = $rd_qry->fetch_assoc()) {
$selector = $row['agency_id'];
$agency_name = $row['agency_name'];
$_SESSION['global_selector'] = $selector;
$activeLeads = getTotalActive();
$coldLeads = getColdLeads();
$policyPremiums = getTotalPolicyPremiums();
$prospectLeads = getTotalProspects();
$activePolicies = getActivePolicies();
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
if ($chartCount = 0) {
$chart_html .= "
<h3>$agency_name</h3>
<canvas id='revenueChart$totalChartCount'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart$totalChartCount');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Cold Leads', 'Quoted Leads', 'Prospect Leads'],
datasets: [{
data: [$coldLeads, $activeLeads, $prospectLeads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script>";
$chartCount++;
$totalChartCount++;
}else {
$chart_html .= "
<h3>$agency_name</h3>
<canvas id='revenueChart$totalChartCount'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart$totalChartCount');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Cold Leads', 'Quoted Leads', 'Prospect Leads'],
datasets: [{
data: [$coldLeads, $activeLeads, $prospectLeads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script></div>";
$chartCount = 0;
$totalChartCount++;
}

$totalActivePolicies = $totalActivePolicies + $activePolicies;


$totalActiveLeads = $totalActiveLeads + $activeLeads;
$totalProspectLeads = $totalProspectLeads + $prospectLeads;
$totalPolicyPremiums = $totalPolicyPremiums + $policyPremiums;
$totalColdLeads = $totalColdLeads + $coldLeads;
$totalNewPrem = $totalNewPrem + $newPrem;
$totalRewritePrem = $totalRewritePrem + $rewritePrem;
$totalRenewalPrem = $totalRenewalPrem + $renewalPrem;
$totalExpBusPrem = $totalExpBusPrem + $expPrem;

}//End While

unset($_SESSION['global_selector']);

$activeLeads = getTotalActive();
$coldLeads = getColdLeads();
$policyPremiums = getTotalPolicyPremiums();
$prospectLeads = getTotalProspects();
$activePolicies = getActivePolicies();
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();

$totalActivePolicies = $totalActivePolicies + $activePolicies;


$totalActiveLeads = $totalActiveLeads + $activeLeads;
$totalProspectLeads = $totalProspectLeads + $prospectLeads;
$totalPolicyPremiums = $totalPolicyPremiums + $policyPremiums;
$totalColdLeads = $totalColdLeads + $coldLeads;
$totalNewPrem = $totalNewPrem + $newPrem;
$totalRewritePrem = $totalRewritePrem + $rewritePrem;
$totalRenewalPrem = $totalRenewalPrem + $renewalPrem;
$totalExpBusPrem = $totalExpBusPrem + $expPrem;

header('Content-type: application/json');
$arr = array();
$arr[0] = number_format($totalActivePolicies);
$arr[1] = number_format($totalActiveLeads);
$arr[2] = number_format($totalProspectLeads);
$arr[3] = number_format($totalColdLeads);
$arr[4] = "$" . number_format($totalPolicyPremiums);
$arr[5] = $totalNewPrem;
$arr[6] = $totalRenewalPrem;
$arr[7] = $totalRewritePrem;
$arr[8] = $totalExpBusPrem;
$arr[9] = $chart_html;

}else {
header('Content-type: application/json');
$totalChartCount = 0;
$chart_html = "";
$_SESSION['global_selector'] = $selector;
$activeLeads = getTotalActive();
$activeClients = getTotalClients();
$coldLeads = getColdLeads();
$policyPremiums = getTotalPolicyPremiums();
$prospectLeads = getTotalProspects();
$activePolicies = getActivePolicies();
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
$selector = $_POST['get_stats_selector'];
$ag_qry = $con->query("SELECT agency_name from agency_globals where
agency_id = '$selector' ");
$row_ag = $ag_qry->fetch_assoc();
$agency_name = $row_ag['agency_name'];
if ($chartCount = 0) {
$chart_html .= "
<h3>$agency_name</h3>
<canvas id='revenueChart$totalChartCount'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart$totalChartCount');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['New Leads', 'Prospect Leads', 'Quoted Leads'],
datasets: [{
label: 'Revenue Breakdown',
data: [$coldLeads, $propsectLeads, $activeLeads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false

}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script>";
$chartCount++;
$totalChartCount++;
}else {
$chart_html .= "
<h3>$agency_name</h3>
<canvas id='revenueChart$totalChartCount'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart$totalChartCount');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Cold Leads', 'Quoted Leads', 'Prospect Leads'],
datasets: [{
data: [$coldLeads, $activeLeads, $prospectLeads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
</script></div>";
$chartCount = 0;
$totalChartCount++;
}

$arr = array();
$arr[0] = number_format($activeClients);
$arr[1] = number_format($activeLeads);
$arr[2] = number_format($prospectLeads);
$arr[3] = number_format($coldLeads);
$arr[4] = "$" . number_format($policyPremiums);
$arr[5] = $newPrem;
$arr[6] = $renewalPrem;
$arr[7] = $rewritePrem;
$arr[8] = $expPrem;
$arr[9] = $chart_html;
unset($_SESSION['global_selector']);
}
echo json_encode($arr);

}//End getStatsSelect

//Begin getExpBusinessPrem

/**
*
* @return unknown
*/
function getExpCount() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$rd_qry = $con->query("SELECT count(id) as exp_bus from policies where
policy_status = 'Active' and exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and
agency_id = '$agency_id'");
}else {

$sql = "SELECT count(id) as exp_bus from policies where policy_status =


'Active' and exp_date BETWEEN NOW() and NOW() + INTERVAL 30 DAY and agency_id =
'$agency_id' ";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
$rd_qry = $con->query($sql);
}//end Priv chk
}//end check if is mgr
$row = $rd_qry->fetch_assoc();

$expbus = $row['exp_bus'];

return $expbus;exit;
} //End getExpCount

//begin removeZipMapping

/**
*
* @return unknown
*/
function removeZipMapping() {

global $con;

$zip = $_POST['remove_zip_map'];

$agency_id = $_SESSION['agency_id'];

$qry = $con->query("DELETE from zipcode_mapper where zipcode = '$zip' and


agency_mapping = '$agency_id' ");
if (mysqli_affected_rows($con) < 1 ) {

header('Content-type: application/json');
$response_array['status'] = "Failed.";
echo json_encode($response_array);
return false;
}else {

header('Content-type: application/json');
$response_array['status'] = "Zipcode mapping removed.";
echo json_encode($response_array);
}
}//end removeZipMapping

//begin getAgencyZipOptions

/**
*
*/
function getAgencyZipOptions() {

global $con;

$agency_id = $_SESSION['agency_id'];

$qry = $con->query("SELECT agency_id,agency_name from agency_globals where


agency_id = '$agency_id' ");

while ($row = $qry->fetch_assoc()) {

$name = $row['agency_name'];
$map_agency_id = $row['agency_id'];

echo "<option value='$map_agency_id'>$name</option>";

}//end while

$qry = $con->query("SELECT agency_id,agency_name from agency_globals where


mast_agency_id = '$agency_id' ");

while ($row = $qry->fetch_assoc()) {

$name = $row['agency_name'];
$map_agency_id = $row['agency_id'];

echo "<option value='$map_agency_id'>$name</option>";

}//end while

}//end getAgencyZipOptions

//begin addZipMapping

/**
*
* @return unknown
*/
function addZipMapping() {
global $con;
$agency_id = $_SESSION['agency_id'];
$current_uid = $_SESSION['uid'];
if (strpos($_POST['zipcode_add'], ",")) {

$xplode = explode(",", $_POST['zipcode_add']);


$zip_agency = $_POST['zip_agency'];

foreach ($xplode as $zip) {

$zip_find = $con->query("SELECT agency_id from agency_globals


where mast_agency_id = '$agency_id' ");
if (mysqli_num_rows($zip_find) > 0) {

while ($row_zip = $zip_find->fetch_assoc()) {

$child_agency = $row_zip['agency_id'];
$del_qry = $con->query(" DELETE from zipcode_mapper
where zipcode = '$zip' and agency_mapping = '$child_agency'");

}//end while

}//end if
$del_qry = $con->query("DELETE from zipcode_mapper where zipcode
= '$zip' and agency_mapping = '$agency_id'");
$ins_qry = $con->query("INSERT into
zipcode_mapper(zipcode,agency_mapping,assigned_by,is_assigned)
VALUES('$zip','$zip_agency','$agency_id','Yes') ON DUPLICATE KEY update
agency_mapping=VALUES(agency_mapping), assigned_by=VALUES(assigned_by)");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Zipcode
Mapping','$current_uid','Zip - $zip - To Agency - $zip_agency')");

}//end foreach

if (mysqli_affected_rows($con) >= 1) {

header('Content-type: application/json');
$response_array['status'] = "Mapping updated.";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Zipcode mapping failed.";
echo json_encode($response_array);
return false;
}//end check if succeeded

}//end check for multiple

if (strpos($_POST['zipcode_add'], "-") && strlen($_POST['zipcode_add']) >=


11) {
//code for range

$zip_agency = $_POST['zip_agency'];
$xplode = explode("-", $_POST['zipcode_add']);
$start_count = $xplode[0];
$end_count = $xplode[1];
while ($start_count <= $end_count) {

$zip = $start_count;

$zip_find = $con->query("SELECT agency_id from agency_globals


where mast_agency_id = '$agency_id' ");
if (mysqli_num_rows($zip_find) > 0) {

while ($row_zip = $zip_find->fetch_assoc()) {

$child_agency = $row_zip['agency_id'];
$del_qry = $con->query(" DELETE from zipcode_mapper
where zipcode = '$start_count' and agency_mapping = '$child_agency'");

}//end while

}//end if
$del_qry = $con->query("DELETE from zipcode_mapper where zipcode
= '$start_count' and agency_mapping = '$agency_id'");
$ins_qry = $con->query("INSERT into
zipcode_mapper(zipcode,agency_mapping,assigned_by,is_assigned)
VALUES('$zip','$zip_agency','$agency_id','Yes')ON DUPLICATE KEY update
agency_mapping=VALUES(agency_mapping), assigned_by=VALUES(assigned_by)");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Zipcode
Mapping','$current_uid','Zip - $zip - $zip_agency')");

$start_count++;

}//end while

if (mysqli_affected_rows($con) >= 1) {

header('Content-type: application/json');
$response_array['status'] = "Mapping updated.";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Zipcode mapping failed.";
echo json_encode($response_array);
return false;
}//end check if succeeded

}//end check for range

if (strlen($_POST['zipcode_add']) == 5) {

//code for individual zip

$zip = $_POST['zipcode_add'];
$zip_agency = $_POST['zip_agency'];
$agency_id = $_SESSION['agency_id'];

$zip_find = $con->query("SELECT agency_id from agency_globals where


mast_agency_id = '$agency_id' ");
while ($row_zip = $zip_find->fetch_assoc()) {

$child_agency = $row_zip['agency_id'];
$del_qry = $con->query(" DELETE from zipcode_mapper where zipcode
= '$zip' and agency_mapping = '$child_agency'");

}//end while
$del_qry = $con->query("DELETE from zipcode_mapper where zipcode =
'$zip' and agency_mapping = '$agency_id'");
$ins_qry = $con->query("INSERT into
zipcode_mapper(zipcode,agency_mapping,assigned_by,is_assigned)
VALUES('$zip','$zip_agency','$agency_id','Yes')ON DUPLICATE KEY update
agency_mapping=VALUES(agency_mapping), assigned_by=VALUES(assigned_by)");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Zipcode
Mapping','$current_uid','Zip - $zip - To Agency - $zip_agency')");

if (mysqli_affected_rows($con) >= 1) {

header('Content-type: application/json');
$response_array['status'] = "Mapping updated.";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Zipcode mapping failed.";
echo json_encode($response_array);
return false;
}//end check if succeeded

}//end check for individual

}//end addZipMapping

//Begin checkIfParentZip

/**
*
*/
function checkIfParentZip() {

global $con;

$agency_id = $_SESSION['agency_id'];

$chk_qry = $con->query("SELECT agency_id from agency_globals where


mast_agency_id = '$agency_id'");
if ($chk_qry->num_rows > 0) {
echo "<h3 class='module-title'>Agency Selector</h3><div
class='row'><div class='col-sm-5 select-view pull-right'><select class='form-
control' id='stats_agency_mast' name='stats_agency_mast' onchange='getStats()'>
<option>Please Select an Agency to view their info</option>
<option value='All'>All</option>
<option value='$agency_id'>My Agency</option>";
$rd_qry = $con->query("SELECT agency_id,agency_name from agency_globals
where mast_agency_id = '$agency_id'");
while ($row = $rd_qry->fetch_assoc()) {

$child_agency_id = $row['agency_id'];
$child_agency_name = $row['agency_name'];

echo "<option
value='$child_agency_id'>$child_agency_name</option>";

} //End While

echo "</select></div><div class='clearfix'></div></div>";

}//End Check for Child Agencies

}/**
* End checkIfParentZip
* begin getAgencyLeadSettings
*/
function getAgencyLeadSettings() {

global $con;
$agency_id = $_SESSION['agency_id'];

echo " <form class='form-horizontal'


id='upd_agency_lead_profile' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Import Lead Options</h3>

<input type='hidden' name='agency_id' value='$agency_id'></input>


<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label class='control-
label'>Default Import Option</label>
<select
class='form-control' name='upd_lead_import'><option value=''>Please Select Default
Option</option>";
$option_qry = $con->query("SELECT * from agency_lead_default_options where
option_name = 'Import'");
while ($row_opt = $option_qry->fetch_assoc()) {
$opt_id = $row_opt['id'];
$opt_value = $row_opt['option_value'];
$chk_qry = $con->query("SELECT option_id from agency_lead_options where
agency_id = '$agency_id' and option_id = '$opt_id'");
if (mysqli_num_rows($chk_qry) > 0) {
echo "<option value='$opt_id' selected>$opt_value</option>";
}else {
echo "<option value='$opt_id'>$opt_value</option>";
}
}
echo "</select>
</div>
</div>
</fieldset>
<fieldset class='fieldset'>
<h3 class='fieldset-
title'>Lead Privacy Options</h3>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label class='control-
label'>Default Lead Privacy</label>
<select
class='form-control' name='upd_lead_priv'><option value=''>Please Select Default
Privacy Option</option>";
$option_qry = $con->query("SELECT * from agency_lead_default_options where
option_name = 'Privacy'");
while ($row_opt = $option_qry->fetch_assoc()) {
$opt_id = $row_opt['id'];
$opt_value = $row_opt['option_value'];
$chk_qry = $con->query("SELECT option_id from agency_lead_options where
agency_id = '$agency_id' and option_id = '$opt_id'");
if (mysqli_num_rows($chk_qry) > 0) {
echo "<option value='$opt_id' selected>$opt_value</option>";
}else {
echo "<option value='$opt_id'>$opt_value</option>";
}
}
echo "</select>
</div>
</div>
</fieldset>
<div class='form-group'>";
echo '<button type="submit" class="btn btn-block btn-primary">Update Agency
Lead Options</button>
</form>
</div>';
echo " </fieldset>";
}//end getAgencyLeadSettings

//begin updateAgencyLeadSettings

/**
*
* @return unknown
*/
function updateAgencyLeadSettings() {

global $con;
$agency_id = $_SESSION['agency_id'];
$imp_option = $_POST['upd_lead_import'];
$priv_option = $_POST['upd_lead_priv'];
$current_uid = $_SESSION['uid'];
$del = $con->query("DELETE from agency_lead_options where agency_id =
'$agency_id'");
$ins_qry = $con->query("INSERT into
agency_lead_options(option_id,agency_id)VALUES('$imp_option','$agency_id')");
if (!$ins_qry) {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
return false;

$ins_qry = $con->query("INSERT into


agency_lead_options(option_id,agency_id)VALUES('$priv_option','$agency_id')");
if (!$ins_qry) {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
return false;

if (isset($response_array['status'])) {

}else {
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Updated Agency Default Lead
Options','$current_uid','$agency_id')");

header('Content-type: application/json');
$response_array['status'] = "Lead Settings Updated Successfully.";
echo json_encode($response_array);

}//end updateAgencyLeadSettings

//begin getRevenueQuickView

/**
*
* @param unknown $var
* @return unknown
*/
function getRevenueQuickView($var) {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$start = date("Y-m-01", strtotime("-12 months"));
$finish = date("Y-m-t", strtotime("+0 months"));
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$interval = new DateInterval('P1M');
$daterange = new DatePeriod($begin, $interval , $end);
$data_points = '';

if ($var == 'Get Months') {


$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("F");
$year = $date->format("y");
$month_name = $date->format("F");
if ($counter != 13) {
$data_points .= "'$month $year',";
}else {

$data_points .= "'$month $year'";

}//end else
$counter++;
}//end for each
return $data_points;
}

$data_points = '';

if ($var == 'New') {
$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'New Business'
and bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each
$arr = array();

return $data_points;
}
$data_points = '';
if ($var == 'Renewal') {
$counter = 1;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'Renewal' and
bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each

return $data_points;
}
$data_points = '';
if ($var == 'Rewrite') {
$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'Rewrite' and
bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each

return $data_points;
}
if ($var == 'Lost') {
$counter = '1';
$data_points = '';

foreach ($daterange as $date) {


$month = $date->format("m");
$year = $date->format("Y");

$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where policy_status = 'Inactive' and
exp_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each

return $data_points;
}

if (isset($_SESSION['global_chart_request'])) {
if (strpos($var, 'D')) {
$xplode = explode("|", $var);
$start = date("Y-m-d", strtotime("-$xplode[0] days"));
$finish = date("Y-m-d");
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$end->modify('+1 day');
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval , $end);
$global_for_ctr = $xplode[0] + 1;
$for_ctr = $xplode[0] + 1;
}
//end day interval

if (strpos($var, "M")) {
$xplode = explode("|", $var);
$start = date("Y-m-01", strtotime("-$xplode[0] months"));
$finish = date("Y-m-t", strtotime("+0 months"));
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$interval = new DateInterval('P1M');
$daterange = new DatePeriod($begin, $interval , $end);
$global_for_ctr = $xplode[0] + 1;
$for_ctr = $xplode[0] +1;
}//end 12 months logic

$data_points_label = '';

$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
if (strpos($var, "M")) {
$month = $date->format("F");
$year = $date->format("y");
$month_name = $date->format("F");
if ($counter != $for_ctr) {
$data_points_label .= "'$month $year',";
}else {

$data_points_label .= "'$month $year'";

}//end else
$counter++;
$for_ctr++;
}else {

$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");
if ($counter != $for_ctr) {
$data_points_label .= "'$month-$day',";
}else {

$data_points_label .= "'$month-$day'";

}//end else
$counter++;
$for_ctr++;

}//end check var


}//end for each
//end data series labels
$data_points_new = '';

$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),
SUM(policy_premium) as revenues FROM policies where business_type = 'New Business'
and bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = "SELECT DAY(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'New Business'
and bind_date like '$year-$month-$day' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

}
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_new .= "0.00,";
}else {
$data_points_new .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != $for_ctr) {
$data_points_new .= "$amt,";
}else {
$data_points_new .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
//end new data

$data_points_renewal = '';
$counter = 1;
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),
SUM(policy_premium) as revenues FROM policies where business_type = 'Renewal' and
bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = "SELECT DAY(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'Renewal' and
bind_date like '$year-$month-$day' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);
}

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_renewal .= "0.00,";
}else {
$data_points_renewal .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != $for_ctr) {
$data_points_renewal .= "$amt,";
}else {
$data_points_renewal .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each

//end renewal data


$data_points_rewrite = '';
$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),
SUM(policy_premium) as revenues FROM policies where business_type = 'Rewrite' and
bind_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = "SELECT DAY(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where business_type = 'Rewrite' and
bind_date like '$year-$month-$day' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_rewrite .= "0.00,";
}else {
$data_points_rewrite .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != $for_ctr) {
$data_points_rewrite .= "$amt,";
}else {
$data_points_rewrite .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
// end rewrite data
$counter = '1';
$data_points_lost = '';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = "SELECT YEAR(bind_date), MONTH(bind_date),
SUM(policy_premium) as revenues FROM policies where policy_status = 'Inactive' and
exp_date like '$year-$month-%' and agency_id = '$agency_id' ";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = "SELECT DAY(bind_date), MONTH(bind_date),


SUM(policy_premium) as revenues FROM policies where policy_status = 'Inactive' and
exp_date like '$year-$month-$day' and agency_id = '$agency_id' group by bind_date";
if (isset($_SESSION['global_agent_id'])) {
$agent_id = $_SESSION['global_agent_id'];
$new_qry .= "AND contact_id in (SELECT id from
agency_contacts where assigned_to = '$agent_id' ";
}
$new_qry .= "group by bind_date";
$new_qry = $con->query($new_qry);

}
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_lost .= "0.00,";
}else {
$data_points_lost .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['revenues'];
if ($counter != $for_ctr) {
$data_points_lost .= "$amt,";
}else {
$data_points_lost .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
//end lost data
unset($_SESSION['global_chart_request']);
header('Content-type: application/json');
if (!isset($_SESSION['global_agent_id'])) {
$response_array['status'] = "Got Data";
}

if (!isset($_SESSION['global_agent_id'])) {
$response_array['data'] = "<canvas id='revenueChart'></canvas>";
}else {
$response_array['data'] .= "<canvas id='revenueChart'></canvas>";
}
$response_array['data'] .= "

<script>
var numberWithCommas = function(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};

// Chart.defaults.global.elements.rectangle.backgroundColor = '#FF0000';
var bar_ctx = document.getElementById('revenueChart');
var bar_chart = new Chart(bar_ctx, {
type: '";
if (isset($_SESSION['global_rev_chart'])) {
$response_array['data'] .= $_SESSION['global_rev_chart'];
}else {
$response_array['data'] .= "bar";
}
$response_array['data'] .= "',
data: {
labels: [$data_points_label],
datasets: [
{
label: 'New Revenue',
data: [$data_points_new],
backgroundColor: 'rgba(54, 162,
235, 0.4)',
hoverBackgroundColor: 'rgba(54,
162, 235, 1)',
hoverBorderWidth: 1,
hoverBorderColor: 'lightgrey'
},
{
label: 'Renewed Revenue',
data: [$data_points_renewal],
backgroundColor: 'rgba(75, 192,
192, 0.4)',
hoverBackgroundColor: 'rgba(75,
192, 192, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
{
label: 'Rewrite Revenue',
data: [$data_points_rewrite],
backgroundColor: 'rgba(153, 102,
255, 0.4)',
hoverBackgroundColor: 'rgba(153,
102, 255, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
{
label: 'Lost Revenue',
data: [$data_points_lost],
backgroundColor: 'rgba(255, 99,
132, 0.4)',
hoverBackgroundColor: 'rgba(255,
99, 132, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
]
},
options: {
animation: {
duration: 10,
},
tooltipTemplate: '<%= label: value %>%',
tooltips: {
mode: 'label',
callbacks: {
label: function(tooltipItem, data) {
var dslabels = data.labels[tooltipItem.index];
var dataset = data.datasets[tooltipItem.datasetIndex];
var dslabelamt = dataset.data[tooltipItem.index];";
if (isset($_SESSION['global_rev_chart']) &&
$_SESSION['global_rev_chart'] == 'pie' || $_SESSION['global_rev_chart'] ==
'doughnut') {
$response_array['data'] .= "return dslabels + '-' +
data.datasets[tooltipItem.datasetIndex].label + ': ' +
numberWithCommas(dslabelamt);";
}else {
$response_array['data'] .= "return
data.datasets[tooltipItem.datasetIndex].label + ': ' +
numberWithCommas(tooltipItem.yLabel);";
}
$response_array['data'] .= " }
}
},";
if (isset($_SESSION['global_rev_chart']) &&
$_SESSION['global_rev_chart'] == 'pie' || $_SESSION['global_rev_chart'] ==
'doughnut') {
$response_array['data'] .= "
legend: {display: false},";
}else {
$response_array['data'] .= "
legend: {display: true},";
}
$response_array['data'] .= "
scales: {
xAxes: [{
stacked: false,
gridLines: { display: false },
}],
yAxes: [{
stacked: false,
ticks: {
beginAtZero: true,
callback: function(value) { return
numberWithCommas(value); },
},
}],
}, // scales

} // options
}
);

</script>
";
if (isset($_SESSION['global_rev_chart'])) {
unset($_SESSION['global_rev_chart']);
}
if (!isset($_SESSION['global_agent_id'])) {
echo json_encode($response_array);
}

}//end check for global chart request

}//end getRevenueQuickView

//begin getLeadQuickView
/**
*
* @param unknown $var
* @return unknown
*/
function getLeadQuickView($var) {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$start = date("Y-m-01", strtotime("-12 months"));
$finish = date("Y-m-t", strtotime("+0 months"));
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$interval = new DateInterval('P1M');
$daterange = new DatePeriod($begin, $interval , $end);
$data_points = '';

if ($var == 'Get Months') {


$counter = '1';
foreach ($daterange as $date) {

$month = $date->format("F");
$year = $date->format("y");
$month_name = $date->format("F");
if ($counter != 13) {
$data_points .= "'$month $year',";
}else {

$data_points .= "'$month $year'";

}//end else
$counter++;
}//end for each
return $data_points;
}

$data_points = '';

if ($var == 'Imported') {
$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts), COUNT(id) as


leads FROM lead_history where alter_type = 'Lead Added' and ts like '$year-$month-
%' and ContactId in(SELECT ContactId from agency_contacts where agency_id =
'$agency_id') group by MONTH(ts)");
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each
$arr = array();

return $data_points;
}

$data_points = '';

if ($var == 'Clients') {
$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = $con->query("SELECT YEAR(bind_date), MONTH(bind_date),


COUNT(id) as leads FROM policies where bind_date like '$year-$month-%' and
contact_id in(SELECT id from agency_contacts where agency_id = '$agency_id') group
by MONTH(bind_date)");
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each
$arr = array();

return $data_points;
}

$data_points = '';
if ($var == 'Verified') {
$counter = 1;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts), COUNT(id) as


leads FROM lead_history where alter_type = 'Status Change' and new_status =
'Verified' and ts like '$year-$month-%' and ContactId in(SELECT ContactId from
agency_contacts where agency_id = '$agency_id') group by MONTH(ts)");
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each

return $data_points;
}
$data_points = '';
if ($var == 'Quoted') {
$counter = '1';
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");

$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts), COUNT(id) as


leads FROM lead_history where alter_type = 'Status Change' and new_status =
'Quoted' and ts like '$year-$month-%' and ContactId in(SELECT ContactId from
agency_contacts where agency_id = '$agency_id') group by MONTH(ts)");
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != '13') {
$data_points .= "0.00,";
}else {
$data_points .= "0.00";
}
$counter++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != '13') {
$data_points .= "$amt,";
}else {
$data_points .= "$amt";
}
$counter++;
}//end check if row
} //end for each

return $data_points;
}

if (isset($_SESSION['global_chart_request'])) {
if (strpos($var, 'D')) {
$xplode = explode("|", $var);
$start = date("Y-m-d", strtotime("-$xplode[0] days"));
$finish = date("Y-m-d");
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$end->modify('+1 day');
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval , $end);
$global_for_ctr = $xplode[0] + 1;
$for_ctr = $xplode[0] + 1;
}
//end day interval

if (strpos($var, "M")) {
$xplode = explode("|", $var);
$start = date("Y-m-01", strtotime("-$xplode[0] months"));
$finish = date("Y-m-t", strtotime("+0 months"));
$begin = new DateTime( $start );
$end = new DateTime( $finish );
$interval = new DateInterval('P1M');
$daterange = new DatePeriod($begin, $interval , $end);
$global_for_ctr = $xplode[0] + 1;
$for_ctr = $xplode[0] +1;
}//end 12 months logic

$data_points_label = '';

$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
if (strpos($var, "M")) {
$month = $date->format("F");
$year = $date->format("y");
$month_name = $date->format("F");
if ($counter != $for_ctr) {
$data_points_label .= "'$month $year',";
}else {

$data_points_label .= "'$month $year'";

}//end else
$counter++;
$for_ctr++;
}else {

$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");
if ($counter != $for_ctr) {
$data_points_label .= "'$month-$day',";
}else {

$data_points_label .= "'$month-$day'";

}//end else
$counter++;
$for_ctr++;

}//end check var


}//end for each
//end data series labels
$data_points_new = '';

$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts),
COUNT(id) as leads FROM lead_history where alter_type = 'Lead Added' and ts like
'$year-$month-%' and ContactId in(SELECT ContactId from agency_contacts where
agency_id = '$agency_id') group by MONTH(ts)");
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = $con->query("SELECT DAY(ts), MONTH(ts),


COUNT(id) as leads FROM lead_history where alter_type = 'Lead Added' and ts like
'$year-$month-$day%' and ContactId in (SELECT ContactId from agency_contacts where
agency_id = '$agency_id') group by YEAR(ts)");

}
if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_new .= "0.00,";
}else {
$data_points_new .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != $for_ctr) {
$data_points_new .= "$amt,";
}else {
$data_points_new .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
//end new data

$data_points_renewal = '';
$counter = 1;
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts),
COUNT(id) as leads FROM lead_history where alter_type = 'Status Change' and
new_status = 'Verified' and ts like '$year-$month-%' and ContactId in(SELECT
ContactId from agency_contacts where agency_id = '$agency_id') group by
MONTH(ts)");
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = $con->query("SELECT DAY(ts), MONTH(ts),


COUNT(id) as leads FROM lead_history where alter_type = 'Status Change' and
new_status = 'Verified' and ts like '$year-$month-$day%' and ContactId in(SELECT
ContactId from agency_contacts where agency_id = '$agency_id') group by YEAR(ts)");

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_renewal .= "0.00,";
}else {
$data_points_renewal .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != $for_ctr) {
$data_points_renewal .= "$amt,";
}else {
$data_points_renewal .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each

//end renewal data


$data_points_rewrite = '';
$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = $con->query("SELECT YEAR(ts), MONTH(ts),
COUNT(id) as leads FROM lead_history where alter_type = 'Status Change' and
new_status = 'Quoted' and ts like '$year-$month-%' and ContactId in(SELECT
ContactId from agency_contacts where agency_id = '$agency_id') group by
MONTH(ts)");
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = $con->query("SELECT DAY(ts), MONTH(ts),


COUNT(id) as leads FROM lead_history where alter_type = 'Status Change' and
new_status = 'Quoted' and ts like '$year-$month-$day%' and ContactId in(SELECT
ContactId from agency_contacts where agency_id = '$agency_id') group by YEAR(ts)");

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_rewrite .= "0.00,";
}else {
$data_points_rewrite .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != $for_ctr) {
$data_points_rewrite .= "$amt,";
}else {
$data_points_rewrite .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
// end rewrite data

//begin client data


$data_points_clients = '';
$counter = '1';
$for_ctr = $global_for_ctr;
foreach ($daterange as $date) {
$month = $date->format("m");
$year = $date->format("Y");
if (strpos($var, "M")) {
$new_qry = $con->query("SELECT YEAR(bind_date),
MONTH(bind_date), COUNT(id) as leads FROM policies where bind_date like '$year-
$month-%' and contact_id in(SELECT id from agency_contacts where agency_id =
'$agency_id') group by MONTH(bind_date)");
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");

$new_qry = $con->query("SELECT YEAR(bind_date),


MONTH(bind_date), COUNT(id) as leads FROM policies where bind_date like '$year-
$month-$day%' and contact_id in(SELECT id from agency_contacts where agency_id =
'$agency_id') group by MONTH(bind_date)");
}

if (mysqli_num_rows($new_qry) < 1) {
if ($counter != $for_ctr) {
$data_points_clients .= "0.00,";
}else {
$data_points_clients .= "0.00";
}
$counter++;
$for_ctr++;
}else {

$row = $new_qry->fetch_assoc();
$amt = $row['leads'];
if ($counter != $for_ctr) {
$data_points_clients .= "$amt,";
}else {
$data_points_clients .= "$amt";
}
$counter++;
$for_ctr++;
}//end check if row
} //end for each
// end client data

unset($_SESSION['global_chart_request']);
header('Content-type: application/json');
$response_array['status'] = "Got Data";

$response_array['data'] = "<canvas id='leadChart'></canvas>

<script>
var numberWithCommas = function(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};

// Chart.defaults.global.elements.rectangle.backgroundColor = '#FF0000';
var bar_ctx = document.getElementById('leadChart');
var bar_chart = new Chart(bar_ctx, {
type: '";
if (isset($_SESSION['global_lead_chart'])) {
$response_array['data'] .= $_SESSION['global_lead_chart'];
}else {
$response_array['data'] .= "bar";
}
$response_array['data'] .= "',
data: {
labels: [$data_points_label],
datasets: [
{
label: 'Leads Imported',
data: [$data_points_new],
backgroundColor: 'rgba(54, 162,
235, 0.4)',
hoverBackgroundColor: 'rgba(54,
162, 235, 1)',
hoverBorderWidth: 1,
hoverBorderColor: 'lightgrey'
},
{
label: 'Verfied Leads',
data: [$data_points_renewal],
backgroundColor: 'rgba(75, 192,
192, 0.4)',
hoverBackgroundColor: 'rgba(75,
192, 192, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
{
label: 'Quoted Leads',
data: [$data_points_rewrite],
backgroundColor: 'rgba(153, 102,
255, 0.4)',
hoverBackgroundColor: 'rgba(153,
102, 255, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
{
label: 'Converted to Clients',
data: [$data_points_clients],
backgroundColor: 'rgba(229, 117,
117, 0.4)',
hoverBackgroundColor: 'rgba(229,
117, 117, 1)',
hoverBorderWidth: 2,
hoverBorderColor: 'lightgrey'
},
]
},
options: {
animation: {
duration: 10,
},
tooltipTemplate: '<%= label: value %>%',
tooltips: {
mode: 'label',
callbacks: {
label: function(tooltipItem, data) {
var dslabels = data.labels[tooltipItem.index];
var dataset = data.datasets[tooltipItem.datasetIndex];
var dslabelamt = dataset.data[tooltipItem.index];";
if (isset($_SESSION['global_lead_chart']) &&
$_SESSION['global_lead_chart'] == 'pie' || $_SESSION['global_lead_chart'] ==
'doughnut') {
$response_array['data'] .= "return dslabels + '-' +
data.datasets[tooltipItem.datasetIndex].label + ': ' +
numberWithCommas(dslabelamt);";
}else {
$response_array['data'] .= "return
data.datasets[tooltipItem.datasetIndex].label + ': ' +
numberWithCommas(tooltipItem.yLabel);";
}
$response_array['data'] .= " }
}
},";
if (isset($_SESSION['global_lead_chart']) &&
$_SESSION['global_lead_chart'] == 'pie' || $_SESSION['global_lead_chart'] ==
'doughnut') {
$response_array['data'] .= "
legend: {display: false},";
}else {
$response_array['data'] .= "
legend: {display: true},";
}
$response_array['data'] .= "
scales: {
xAxes: [{
stacked: false,
gridLines: { display: false },
}],
yAxes: [{
stacked: false,
ticks: {
beginAtZero: true,
callback: function(value) { return
numberWithCommas(value); },
},
}],
}, // scales

} // options

}
);

</script>
";
if (isset($_SESSION['global_lead_chart'])) {
unset($_SESSION['global_lead_chart']);
}

if (!isset($_SESSION['global_agent_id'])) {
echo json_encode($response_array);
}

}//end check for global chart request

}//end getLeadQuickView
/**
* begin getLeadAveragesDiv
*
* @param unknown $var
*/
function getLeadAveragesDiv($var) {

global $con;

$agency_id = $_SESSION['agency_id'];

if ($var == 'Verified') {
echo '

<div class="item item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Average Minutes to
Verify Lead (Last 30 days)</span></h3>

<p style="font-size: -webkit-xxx-large;" class="item-figure text-success"


id="verifiedAvg"></p>
<div class="loader-wrapper loader-wrapper-1" id="verifiedSpinner">
<div class="spinner">
<div class="spinner-container
container1">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
<div class="spinner-container
container2">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
<div class="spinner-container
container3">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
</div>
</div>

</div>
';

}//end check for verified

if ($var == 'Quoted') {

echo '

<div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">
<h3
class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-success"
id="quotedSpan"></span><span class="title-text">Average Minutes to Quote Lead (Last
30 days)</span></h3>
<p
style="font-size: -webkit-xxx-large;" class="item-figure text-success"
id="quotedAvg"></p>
<div class="loader-wrapper loader-wrapper-1" id="quoteSpinner">
<div class="spinner">
<div class="spinner-container
container1">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
<div class="spinner-container
container2">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
<div class="spinner-container
container3">
<div
class="circle1"></div>
<div
class="circle2"></div>
<div
class="circle3"></div>
<div
class="circle4"></div>
</div>
</div>
</div>
</div>
';

}//end check for quote

if ($var == 'Converted') {

echo '

<div class="item item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="convertedSpan"></span><span class="title-text">Percentage of Leads
Converted to Clients (Last 30 days)</span></h3>

<p style="font-size: -webkit-xxx-large;" class="item-figure text-success"


id="convertedAvg"></p>
<div class="loader-wrapper loader-wrapper-1" id="convertSpinner">
<div
class="spinner">
<div
class="spinner-container container1">

<div class="circle1"></div>

<div class="circle2"></div>

<div class="circle3"></div>

<div class="circle4"></div>
</div>
<div
class="spinner-container container2">

<div class="circle1"></div>

<div class="circle2"></div>

<div class="circle3"></div>

<div class="circle4"></div>
</div>
<div
class="spinner-container container3">

<div class="circle1"></div>

<div class="circle2"></div>

<div class="circle3"></div>

<div class="circle4"></div>
</div>
</div>
</div>
</div>
';

}//end check for quote

}//end getLeadAveragesDiv

/**
* begin getLeadAverages
*
* @param unknown $var
*/
function getLeadAverages($var) {

global $con;

$agency_id = $_SESSION['agency_id'];
$date_sub = date("Y-m-d H:i:s", strtotime("-30 days"));
if ($var == 'Verified') {
$veri_qry = $con->query("select avg(UNIX_TIMESTAMP(tq.ts) -
UNIX_TIMESTAMP(tv.ts)) / 60 as avg_time_to_quote from lead_history tv join
lead_history tq on tv.agency_id = tq.agency_id WHERE tv.old_status not like
'Verified' and tq.new_status = 'Verified' and tv.agency_id = '$agency_id' and tv.ts
< tq.ts and tv.ts > DATE_SUB(NOW(), INTERVAL 30 DAY) group by
tv.agency_id,tq.agency_id");
$row = $veri_qry->fetch_assoc();
$veri = $row['avg_time_to_quote'];
$verify = round($veri, 2);

$response_array['data'] = $verify;
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check for verified

if ($var == 'Quoted') {

$quote_qry = $con->query("select avg(UNIX_TIMESTAMP(tq.ts) -


UNIX_TIMESTAMP(tv.ts)) / 60 as avg_time_to_quote from lead_history tv join
lead_history tq on tv.agency_id = tq.agency_id WHERE tv.new_status = 'Imported'
and tq.new_status = 'Quoted' and tv.agency_id = '$agency_id' and tv.ts < tq.ts and
tv.ts > DATE_SUB(NOW(), INTERVAL 30 DAY) group by tv.agency_id,tq.agency_id");
$row = $quote_qry->fetch_assoc();
$quo = $row['avg_time_to_quote'];
$quote = round($quo, 2);
$response_array['data'] = $quote;
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check for quote

if ($var == 'Converted') {
$quote_qry = $con->query("select count(id) as contact_count from
agency_contacts where agency_id = '$agency_id' ");
$row = $quote_qry->fetch_assoc();
$quo = $row['contact_count'];
$client_qry = $con->query("SELECT count(id) as policy_count from
policies where contact_id in (select id from agency_contacts where agency_id =
'$agency_id') and policy_status = 'Active' ");
$cl_qry = $client_qry->fetch_assoc();
$plcy_count = $cl_qry['policy_count'];

$quote = $plcy_count / $quo * 100;


$quote = round($quote);
$response_array['data'] = $quote;
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check for quote

}//end getLeadAverages

/**
* begin getPolicyAverages
*
* @param unknown $var
*/
function getPolicyAverages($var) {

global $con;

$agency_id = $_SESSION['agency_id'];

if ($var == 'Premium') {
$veri_qry = $con->query("select avg(policy_premium) as avg_premium from
policies where agency_id = '$agency_id' ");
$row = $veri_qry->fetch_assoc();
$veri = $row['avg_premium'];
$verify = $veri;

echo '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success"></span><span class="title-text">Average Policy Premium</span></h3>

<p style="font-size: -webkit-xxx-large;" class="item-figure text-success">$' .


$verify . '</p>

</div>

';
}//end check for premium

if ($var == 'Active') {

$quote_qry = $con->query("SELECT count(id) as count_policies from


policies where agency_id = '$agency_id' and policy_status = 'Active'");
$row = $quote_qry->fetch_assoc();
$quote = $row['count_policies'];

echo '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success"></span><span class="title-text">Total Active Policies</span></h3>

<p style="font-size: -webkit-xxx-large;" class="item-figure text-success"> ' .


$quote . '</p>

</div>

';

}//end check for Active

}//end getPolicyAverages

//begin getLeadTimelineSelect

/**
*
*/
function getLeadTimelineSelect() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$ld_qry = $con->query("SELECT state,address,city,lname,fname,id,ContactId


from agency_contacts where agency_id = '$agency_id' order by lname,fname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['fname'] . " " . $row['lname'];


$addr = $row['address'];
$city = $row['city'];
$id = $row['id'];
$state = $row['state'];
$ContactId = $row['ContactId'];

echo "<option value='$ContactId'>$name - $addr - $city,


$state</option>";

}//end while

}//end getLeadTimelineSelect

/**
* being getLeadTimeline
*/
function getLeadTimeline() {

global $con;
header('Content-type: application/json');
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$response_array['data'] = '<div class="timeline-wrapper">';
$lead_id = $_POST['get-lead-timeline-id'];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $lead_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$get_first = $con->query("SELECT
mod_by,agency_id,alter_type,old_val,new_val,time FROM(SELECT last_mod_by as
mod_by,agency_id, alter_type, old_value as old_val, new_value as new_val,
change_date as time FROM policy_history where policy_number in (SELECT
policy_number from policies where ContactId = '$ContactId') UNION SELECT
last_mod_by as mod_by, agency_id, alter_type, old_status as old_val, new_status as
new_val, ts as time FROM lead_history where ContactId = '$ContactId') AS
LeadHistory ORDER BY time asc limit 1");
$row_first = $get_first->fetch_assoc();
$fdate = date("M j", strtotime($row_first['time']));
$day_name = date("l", strtotime($row_first['time']));

$response_array['data'] .= "
<div class='timeline-stop text-center'>

<div class='date'>$fdate</div>

<div class='date-sub'>$day_name</div>

</div>
<div class='timeline-content-wrapper'>
";

$side = "even";
$get_data = $con->query("SELECT
mod_by,agency_id,alter_type,old_val,new_val,time FROM(SELECT last_mod_by as
mod_by,agency_id, alter_type, old_value as old_val, new_value as new_val,
change_date as time FROM policy_history where policy_number in (SELECT
policy_number from policies where ContactId = '$ContactId') UNION SELECT
last_mod_by as mod_by, agency_id, alter_type, old_status as old_val, new_status as
new_val, ts as time FROM lead_history where ContactId = '$ContactId') AS
LeadHistory ORDER BY time asc");
while ($row = $get_data->fetch_assoc()) {
$new_fdate = date("M j", strtotime($row['time']));
$new_day_name = date("l", strtotime($row['time']));
$time = date("g:i", strtotime($row['time']));
$change = $row['alter_type'];
$old_val = $row['old_val'];
$new_val = $row['new_val'];
$mod_by = $row['mod_by'];
$mod_qry = $con->query("SELECT fname,lname from users_table where
user_id = '$mod_by' and agency_id = '$agency_id'");
$row_name = $mod_qry->fetch_assoc();
$mod_name = $row_name['fname'] . " " . $row_name['lname'];
if ($new_fdate != $fdate) {

$response_array['data'] .= "
</div>

<div class='timeline-stop text-center'>

<div class='date'>$new_fdate</div>

<div class='date-sub'>$new_day_name</div>

</div>
<div class='timeline-content-wrapper'>
";

if ($side == "even") {
//even logic

$response_array['data'] .= "
<div
class='timeline-item'>

<div class='timeline-item-inner'>

<div class='item-heading'>

<h3 class='item-title'>$change</h3>

<span class='time-meta'>$time</span>

</div>

<div
class='item-content'>
<div class='item-content-inner cat-2'>

<div class='media'>

<div class='media-body'>

<div class='summary'>

<span class='name'>$mod_name</span> <span c


lass='action'>$change | From - $old_val To - $new_val</span>

</div>

</div>

</div>

<span class='arrow'></span>

</div>

</div>

</div>

</div>
";

$side = "odd";
}else {

$response_array['data'] .= "

<div class='timeline-item opposite'>

<div class='timeline-item-inner'>

<div class='item-heading'>

<h3 class='item-title'>$change</h3>

<span class='time-meta'>$time</span>

</div>

<div class='item-content'>

<div class='item-content-inner cat-2'>

<div class='media'>

<div class='media-body'>

<div class='summary'>
<span class='name'>$mod_name</span> <span c
lass='action'>$change | From - $old_val To - $new_val</span>

</div>

</div>

</div>

<span class='arrow'></span>

</div>

</div>

</div>

</div>

";

//odd logic
$side = "even";
}//end check for odd or even
}else {

if ($side == "even") {

$response_array['data'] .= "

<div class='timeline-item'>

<div class='timeline-item-inner'>

<div class='item-heading'>

<h3 class='item-title'>$change</h3>

<span class='time-meta'>$time</span>

</div>

<div class='item-content'>

<div class='item-content-inner cat-2'>

<div class='media'>

<div class='media-body'>

<div class='summary'>

<span class='name'>$mod_name</span> <span c


lass='action'>$change | From - $old_val To - $new_val</span>

</div>

</div>
</div>

<span class='arrow'></span>

</div>

</div>

</div>

</div>
";

$side = "odd";
}else {

$response_array['data'] .= "

<div class='timeline-item'>

<div class='timeline-item-inner'>

<div class='item-heading'>

<h3 class='item-title'>$change</h3>

<span class='time-meta'>$time</span>

</div>

<div class='item-content'>

<div class='item-content-inner cat-2'>

<div class='media'>

<div class='media-body'>

<div class='summary'>

<span class='name'>$mod_name</span> <span c


lass='action'>$change | From - $old_val To - $new_val</span>

</div>

</div>

</div>

<span class='arrow'></span>

</div>

</div>
</div>

</div>

";
$side = "even";
}//end check for odd or even

}//end check if different day

}
$response_array['data'] .= "</div>";
$response_array['status'] = "Got Data";
echo json_encode($response_array);

//begin getAgentSelect

/**
*
*/
function getAgentSelect() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$ld_qry = $con->query("SELECT concat(lname, ', ', fname) as name, user_id


from users_table where agency_id = '$agency_id' and (user_type = 'Agent' OR
user_type = 'Office Manager' OR user_type = 'Owner') order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {
while ($row_sub = $sub_query->fetch_assoc()) {
$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(lname, ', ', fname) as


name, user_id from users_table where agency_id = '$sub_id' and user_type = 'Agent'
order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while

}//sub agency while


}//end check for rows
}//end check if mgr

}//end getAgentSelect

//begin getAgentData

/**
*
*/
function getAgentData() {

global $con;
$agent_id = $_POST['get-agent-data'];

$response_array['data'] = '<div class="row">';


// active policies
$plcy_qry = $con->query("SELECT count(id) as active from policies where
policy_status = 'Active' and ContactId in (Select id from agency_contacts where
assigned_to = '$agent_id')");
$row = $plcy_qry->fetch_assoc();
$active_count = $row['active'];
if ($active_count > 0) {

$response_array['data'] .= '<div class="item item-unique-visitors col-


md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success"></span><span class="title-text">Total Active Policies</span></h3>';
$response_array['data'] .= "<p style='font-size: -webkit-xxx-large;'
class='item-figure text-success'> $active_count</p>

</div>";
}else {
$response_array['data'] .= '<div class="item item-unique-visitors col-
md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning"></span><span class="title-text">Total Active Policies</span></h3>';

$response_array['data'] .= "
<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'>
$active_count</p>

</div>";
}

//premium info

$prem_qry = $con->query("SELECT sum(policy_premium) as prem from policies


where policy_status = 'Active' and ContactId in (Select ContactId from
agency_contacts where assigned_to = '$agent_id')");
$row = $prem_qry->fetch_assoc();
$premiums = number_format($row['prem'], 2);

if ($row['prem'] > 0) {

$response_array['data'] .= '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success"></span><span class="title-text">Total Policy Premiums</span></h3>';
$response_array['data'] .= "
<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'> $
$premiums</p>

</div>";
}else {
$response_array['data'] .= '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning"></span><span class="title-text">Total Policy Premiums</span></h3>';
$response_array['data'] .= "<p style='font-size: -webkit-xxx-large;'
class='item-figure text-warning'> $$premiums</p>

</div>";
}

// lead count
$agency_id = $_SESSION['agency_id'];
$lead_qry = $con->query("SELECT count(id) as leads from agency_contacts where
( assigned_to = '$agent_id' OR assigned_to in (SELECT GroupId from
agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$agent_id'))) and agency_id =
'$agency_id'");
$row = $lead_qry->fetch_assoc();
$leads = $row['leads'];
if ($row['leads'] > 0) {

$response_array['data'] .= '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success"></span><span class="title-text">Total Leads</span></h3>';
$response_array['data'] .= "
<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'>
$leads</p>

</div>";
}else {
$response_array['data'] .= '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning"></span><span class="title-text">Total Leads</span></h3>';
$response_array['data'] .= "<p style='font-size: -webkit-xxx-large;'
class='item-figure text-warning'> $leads</p>

</div>";
}

// lost revenue

$lead_qry = $con->query("SELECT sum(policy_premium) as lost_prem from


policies where ContactId in (select ContactId from agency_contacts where
assigned_to = '$agent_id' and id not in(select id from contact_policies))");
$row = $lead_qry->fetch_assoc();
$leads = number_format($row['lost_prem']);

$response_array['data'] .= '

<div class="item item-unique-visitors col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning"></span><span class="title-text">Total Lost Premiums</span></h3>';
$response_array['data'] .= "<p style='font-size: -webkit-xxx-large;'
class='item-figure text-warning'> $$leads</p>

</div>";

$response_array['data'] .= "</div>";
$response_array['data'] .= "<div class='row'><div class='fleft'>";
$_SESSION['global_agent_id'] = $agent_id;

$totalActivePolicies = 0;
$totalActiveLeads = 0;
$totalColdLeads = 0;
$totalProspectLeads = 0;
$totalPolicyPremiums = 0;
$totalNewPrem = 0;
$totalRewritePrem = 0;
$totalRenewalPrem = 0;
$totalExpBusPrem = 0;
$chartCount = 0;
$totalChartCount = 0;
$chart_html = "";
$activeLeads = getMyTotalActive($agent_id);
$quotedLeads = getMyTotalQuoted($agent_id);
$coldLeads = getMyColdLeads($agent_id);
$prospectLeads = getMyTotalProspects($agent_id);
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
$response_array['data'] .= "
<canvas id='revenueChart0'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('revenueChart0');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['Active Clients', 'Cold Leads', 'Quoted Leads', 'Prospect Leads'],
datasets: [{
data: [$activeLeads, $coldLeads, $quotedLeads, $prospectLeads],
backgroundColor: [
'rgba(229, 117, 117, 0.4)',
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(229, 117, 117, 1)',
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
}
}
});
</script></div>";

$response_array['data'] .= "<div class='fright'>";


$_SESSION['global_agent_id'] = $agent_id;

$totalActivePolicies = 0;
$totalActiveLeads = 0;
$totalColdLeads = 0;
$totalProspectLeads = 0;
$totalPolicyPremiums = 0;
$totalNewPrem = 0;
$totalRewritePrem = 0;
$totalRenewalPrem = 0;
$totalExpBusPrem = 0;
$chartCount = 0;
$totalChartCount = 0;
$chart_html = "";
$activeLeads = getMyTotalActive($agent_id);
$coldLeads = getMyColdLeads($agent_id);
$prospectLeads = getMyTotalProspects($agent_id);
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
$response_array['data'] .= "
<canvas id='revenueChart1'></canvas>
<script>
var numberWithCommas = function(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};
var ctx = document.getElementById('revenueChart1');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['New Business', 'Renewals', 'Rewrites'],
datasets: [{
data: [$newPrem, $renewalPrem, $rewritePrem],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': $' + numberWithCommas(datasetLabel);
}
}
}
}
});
</script></div>";

unset($_SESSION['global_agent_id']);
unset($_SESSION['global_lead_chart']);
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getAgentData

/**
* begin editPolicy
*/
function editPolicy() {

global $con, $con_adm;


$policy_num = $_POST['edit_policy'];

$qry = $con->query("SELECT * from policies where PolicyId = '$policy_num'");


$row = $qry->fetch_assoc();
$policy_num = $row['policy_number'];
$status = $row['policy_status'];
$bname = addslashes($row['bname']);
$lob = $con->real_escape_string($row['line_of_business']);
$carrier = $row['carrier'];
$coverage = $row['coverage'];
$broker = $row['broker'];
$term = $row['term'];
$eff_date = $row['effective_date'];
$bind_date = $row['bind_date'];
$exp_date = $row['exp_date'];
$binder_num = $row['binder_num'];
$financing = $row['financing'];
$billing_type = $row['billing_type'];
$business_type = $row['business_type'];
$policy_source = $row['policy_source'];
$agent = $row['agent'];
$csr = $row['csr'];
$producer = $row['producer'];
$base_prem = $row['base_premium'];
$carrier_fees = $row['carrier_fees'];
$endorsements = $row['endorsements'];
$premium = $row['policy_premium'];
$non_renewal = $row['non_renewal'];
$named_insured = $row['named_insured'];
$add_named = $row['additional_named'];
$last_mod = $row['last_modified'];
$last_mod_by = $row['last_mod_by'];
$lob_st = $row['lob_subtype'];
$PolicyId = $row['PolicyId'];
$comamt = $row['commission_amt'];
$compaid = $row['commission_paid'];
$comdbyc = $row['comm_due_by_carrier'];
$compbyc = $row['comm_paid_by_carrier'];
$ContactId = $row['ContactId'];
$pagencyid = $row['agency_id'];
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name, address from
agency_contacts where ContactId = ? ");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($c_name, $c_address);
$qry2->fetch();

$response_array['data'] = "
<div class='btn-group btn-group-justified' role='group'>
<a href='#' class='btn btn-primary' role='button'
style='color:#fff;border:1px solid;border-color:#fff;' id='policy_info'
name='policy_info' data-value='$PolicyId'>Go Back to Overview</a>
<a href='#' class='btn btn-primary contact_info'
role='button' style='color:#fff;border:1px solid;border-color:#fff;'
id='goToContactButton' data-value='$ContactId'>Go To Contact</a>
</div>
<div class='panel-group panel-group-theme-1'
id='accordion-2' role='tablist' aria-multiselectable='true'>
<div class='panel panel-
default'>
<div class='panel-
heading icon-right panel-heading icon-right-theme-1' role='tab' id='headingOne-2'>
<h4
class='panel-title'><a class='active' data-toggle='collapse' data-
parent='#accordion-2' href='#collapseOne-2' aria-expanded='true' aria-
controls='collapseOne-2'><i class='fa fa-minus-square'></i> Policy Data</a></h4>
</div>

<div
id='collapseOne-2' class='panel-collapse collapse in' role='tabpanel' aria-
labelledby='headingOne-2' aria-expanded='true'>
<div
class='panel-body'>
<form class='form' id='upd_policy_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form' style='margin-top: 15px;'>
<div class='row'>
<input type='hidden' name='upd_policy_id'
value='$PolicyId'></input>
<div class='form-group'>
<div class='col-md-12 col-sm-12 col-xs-12'>
<label for='upd_assoc_contact'>Associated
Contact</label>
<input id='upd_c_assoc' type='text'
name='upd_c_assoc' value='$c_name - $c_address' class='form-control'
readonly></input>
<a href='#' id='reAssocContact'
style='color: #fff;' class='btn btn-new form-control' data-value='$PolicyId' data-
target='$policy_num'>Re-Associate Policy with Contact</a>
</div>
</div>
</div>
<hr>
<div class='row'>
<div class='form-group'
style='display:flex;flex-wrap:wrap;'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_policy_num'>Policy
Number</label>
<input id='upd_policy_num' type='text'
name='upd_policy_num' value='$policy_num' class='form-control' placeholder='Policy
Number' required></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Named
Insured</label>
<input id='upd_named' type='text'
name='upd_named' value='$named_insured' class='form-control' placeholder='Named
Insured' required></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Business
Name</label>
<input id='upd_bname' type='text'
name='upd_bname' value='$bname' class='form-control' placeholder='Business
Name'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Additional Named
Insured</label>
<input id='upd_add_named' type='text'
name='upd_add_named' value='$add_named' class='form-control'
placeholder='Additional Named Insured'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Policy
Status</label>
<select class='form-control'
name='upd_status' required>
<option value=''>Please Select a
Status</option>";
$status_query = $con_adm->query("SELECT status from
ams_admin.policy_status_defaults");
while ($row_status = $status_query->fetch_assoc()) {
$def_status = $row_status['status'];
if ($status == $def_status) {
$response_array['data'] .= "<option value='$status'
selected>$status</option>";
}else {
$response_array['data'] .= "<option
value='$def_status'>$def_status</option>";
}

}
$response_array['data'] .= " </select>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_lob'>Line of
Business</label>
<select name='upd_lob' id='upd_lob'
class='form-control' required>
<option value=''>Please Select Line of
Business</option>";

$lob_qry = $con_adm->query("SELECT lob from ams_admin.policy_lob ORDER BY


lob");
while ($row_lob = $lob_qry->fetch_assoc()) {
$def_lob = $row_lob['lob'];
if ($def_lob == $lob) {
$response_array['data'] .= "<option value='$lob'
selected>$lob</option>";
}else {
$response_array['data'] .= "<option
value='$def_lob'>$def_lob</option>";
}
}
$response_array['data'] .= " </select>
</div>

<div class='col-md-5 col-sm-5 col-xs-5'>


<label for='upd_lob_st'>Line of Business
Sub-Type</label>
<select name='upd_lob_st' id='upd_lob_st'
class='form-control'>
<option value=''>Please Select Line of
Business Sub-Type</option>";

$lob_qry = $con_adm->query("SELECT SubType from ams_admin.policy_lob_subtype


where LOB_Id IN (SELECT LOB_Id from ams_admin.policy_lob where lob = '$lob')");
while ($row_lob = $lob_qry->fetch_assoc()) {
$def_lob = $row_lob['SubType'];
if ($def_lob == $lob_st) {
$response_array['data'] .= "<option value='$lob_st'
selected>$lob_st</option>";
}else {
$response_array['data'] .= "<option
value='$def_lob'>$def_lob</option>";
}
}
$response_array['data'] .= " </select>
</div>

<div class='col-md-5 col-sm-5 col-xs-5'>


<label for='upd_carrier'>Carrier</label>
<select name='upd_carrier' class='form-
control'>
<option value=''>Please Select a
Carrier</option>";
$carrier_qry = $con->query("SELECT carrier from policy_carrier_defaults
group by carrier order by carrier asc");
while ($row_carrier = $carrier_qry->fetch_assoc()) {
$def_carrier = $row_carrier['carrier'];
if ($def_carrier == $carrier) {
$response_array['data'] .= "<option value='$carrier'
selected>$carrier</option>";
}else {
$response_array['data'] .= "<option
value='$def_carrier'>$def_carrier</option>";
}
}
$response_array['data'] .= "</select>";
$response_array['data'] .= "
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Term</label>
<input type='text' class='form-control'
id='upd_term' value='$term' placeholder='Term' readonly></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Agent</label>
<select class='form-control' id='upd_agent'
name='upd_agent'>";
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$response_array['data'] .= "<option value=''>Please Select Agent</option>";
$rd_qry7 = $con->query("SELECT user_id,fname,lname,agency_id from
users_table where (agency_id = '$agency_id' OR agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id')) order by lname asc");
while ($row7 = $rd_qry7->fetch_assoc()) {
$u_id = $row7['user_id'];
$u_fname = $row7['fname'];
$u_lname = $row7['lname'];
$aid = $row7['agency_id'];
$qryan = $con->prepare("SELECT agency_name from agency_globals
where agency_id = ?");
$qryan->bind_param("s", $aid);
$qryan->execute();
$qryan->store_result();
$qryan->bind_result($aname);
$qryan->fetch();
if ("$u_fname $u_lname" == $agent && $aid == $pagencyid) {
$response_array['data'] .= "<option value='$u_id'
selected>$u_fname $u_lname - $aname</option>";
}else {
$response_array['data'] .= "<option value='$u_id'>$u_fname
$u_lname - $aname</option>";
}
}

$response_array['data'] .= "</select>

</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>CSR</label>
<select class='form-control' id='upd_csr'
name='upd_csr'><option value=''>Please Select CSR</option>";
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$ld_qry = $con->query("SELECT concat(fname, ' ', lname) as name, user_id from


users_table where agency_id = '$agency_id' and (user_type = 'CSR' OR user_type =
'Office Manager' OR user_type = 'Owner' OR user_type = 'Agent') order by lname
asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];
if ($csr == "$name") {
$response_array['data'] .= "<option value='$agent_id'
selected>$name</option>";
}else {
$response_array['data'] .= "<option
value='$agent_id'>$name</option>";
}

}//end while
if ($_SESSION['is_mgr'] == 'Yes' || $_SESSION['is_adm'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {

while ($row_sub = $sub_query->fetch_assoc()) {


$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

$response_array['data'] .= "<option disabled>----


$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(fname, ' ', lname) as


name, user_id from users_table where agency_id = '$sub_id' and user_type = 'CSR'
order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {


$name = $row['name'];
$agent_id = $row['user_id'];
if ($name != '') {
if ($csr == "$name") {
$response_array['data'] .= "<option
value='$agent_id' selected>$name</option>";
}else {
$response_array['data'] .= "<option
value='$agent_id'>$name</option>";
}
}
}//end while

}//sub agency while


}//end check for rows
}//END CHECK IF MANAGER
$response_array['data'] .= "</select>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Policy
Source</label>
<input type='text' class='form-control'
name='upd_src' value='$policy_source' placeholder='Policy Source'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Binder
Number</label>
<input type='text' id='upd_binder_num'
name='upd_binder_num' class='form-control' value='$binder_num' placeholder='Binder
Number'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_billing_type'>Billing
Type</label>
<select name='upd_billing_type'
class='form-control' required>
<option value=''>Please Select Billing
Type</option>";

$bt_qry = $con_adm->query("SELECT billing_type from billing_type_defaults


group by billing_type order by billing_type asc");
while ($row_bt = $bt_qry->fetch_assoc()) {
$def_bt = $row_bt['billing_type'];
if ($def_bt == $billing_type) {
$response_array['data'] .= "<option value='$billing_type'
selected>$billing_type</option>";
}else {
$response_array['data'] .= "<option
value='$def_bt'>$def_bt</option>";
}
}
$response_array['data'] .= " </select>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Business
Type</label>
<select name='upd_business_type'
class='form-control' required>
<option value=''>Please Select Business
Type</option>";

$bt_qry = $con_adm->query("SELECT business_type from business_type_defaults


order by business_type asc");
while ($row_bt = $bt_qry->fetch_assoc()) {
$def_bt = $row_bt['business_type'];
if ($def_bt == $business_type) {
$response_array['data'] .= "<option value='$business_type'
selected>$business_type</option>";
}else {
$response_array['data'] .= "<option
value='$def_bt'>$def_bt</option>";
}
}
$response_array['data'] .= " </select>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Base
Premium</label>
<input type='number' min='0.00' step='.01'
class='form-control FormatCurrency' name='upd_base_prem' value='$base_prem'
placeholder='Base Premium 0.00' required></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Carrier
Fees</label>
<input type='number' min='0.00' step='.01'
class='form-control FormatCurrency' name='upd_carrier_fees' value='$carrier_fees'
placeholder='Carrier Fees 0.00' required></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Commission
Amount</label>
<input type='number' min='0.00' step='.01'
class='form-control FormatCurrency' name='upd_commission_amt' value='$comamt'
placeholder='Commission Amount 0.00' required></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_status'>Commission Paid to
Producer?</label>
<select class='form-control'
name='upd_commission_paid'><option value=''>Please choose if Commission was paid or
not to Producer</option>";
if ($compaid == 0) {
$response_array['data'] .= "<option value='0'
selected>No</option><option value='1'>Yes</option>";
}else {
$response_array['data'] .= "<option value='0'>No</option><option
value='1' selected>Yes</option>";
}
$response_array['data'] .= "</select>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Commission
Due by Carrier Date</label>
<input name='upd_comdbyc' id='upd_comdbyc'
class='datepicker form-control' data-date-format='yyyy-mm-dd' value='$comdbyc' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Commission
Paid by Carrier Date</label>
<input name='upd_compbyc' id='upd_compbyc'
class='datepicker form-control' data-date-format='yyyy-mm-dd' value='$compbyc' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Bind
Date</label>
<input name='upd_bind' id='upd_bind'
class='datepicker form-control' data-date-format='yyyy-mm-dd' value='$bind_date'
required />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Effective
Date</label>
<input name='upd_eff' id='upd_eff'
class='datepicker form-control' data-date-format='yyyy-mm-dd' value='$eff_date' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_business_type'>Expiration
Date</label>
<input name='upd_exp' id='upd_exp'
class='datepicker form-control' data-date-format='yyyy-mm-dd' value='$exp_date' />
</div>";
$qryp = $con->prepare("SELECT
property_address,property_address_line2,property_city,property_state,property_zip
from property_info where PolicyId = ?");
$qryp->bind_param("s", $PolicyId);
$qryp->execute();
$qryp->store_result();
if ($qryp->num_rows > 0) {
$qryp->bind_result($pa, $pa2, $pc, $ps, $pz);
$qryp->fetch();
}else {
$pa = '';
$pa2 = '';
$pc = '';
$ps = '';
$pz = '';
}
$response_array['data'] .= "</select>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_property_address'>Property
Address</label>
<input name='upd_property_address'
id='upd_property_address' class='form-control' value='$pa' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label
for='upd_property_address_line2'>Property Address Line 2</label>
<input name='upd_property_address_line2'
id='upd_property_address_line2' class='form-control' value='$pa2' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_property_zip'>Property
Zip</label>
<input name='upd_property_zip'
id='upd_property_zip' class='form-control' value='$pz' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_property_city'>Property
City</label>
<input name='upd_property_city'
id='upd_property_city' class='form-control' value='$pc' />
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='upd_property_state'>Property
State</label>
<input name='upd_property_state'
id='upd_property_state' class='form-control' value='$ps' />
</div>";
$custom_qry = $con->query("SELECT * from custom_fields where table_name =
'policies'");
if (mysqli_num_rows($custom_qry) > 0) {
while ($row_custom = $custom_qry->fetch_assoc()) {
$field_ref = $row_custom['field_ref'];
$field_column = $row_custom['field_name'];
$field_type = $row_custom['field_type'];

$response_array['data'] .= "<div class='col-md-5 col-sm-5 col-xs-


5'>";
$qry_custom = $con->query("SELECT $field_column from policies
where PolicyId = '$PolicyId'");
$row_custom_contact = $qry_custom->fetch_array(MYSQLI_NUM);
$field_value = $row_custom_contact[0];
if ($field_type == 'text') {
$response_array['data'] .= "
<input id='$field_column' type='text' name='$field_column' class='form-control'
placeholder='$field_ref' value='$field_value'></input>";
}
if ($field_type == 'money') {
$response_array['data'] .= "
<input id='$field_column' type='text' name='$field_column' class='form-control
formatMoney' placeholder='$field_ref' value='$field_value'></input>";
}
if ($field_type == 'date') {
$response_array['data'] .= "
<input id='$field_column' type='text' name='$field_column' class='form-control
formatDate' placeholder='$field_ref' value='$field_value'></input>";
}
if ($field_type == 'number') {
$response_array['data'] .= " <input
id='$field_column' type='number' name='$field_column' class='form-control
formatNumber' placeholder='$field_ref' value='$field_value'></input>";
}
if ($field_type == 'textarea') {
$response_array['data'] .= "
<label>$field_ref</label><textarea rows='5' id='$field_column' name='$field_column'
class='form-control' value='$field_value'></textarea>";
}
if ($field_type == 'lookup') {
$qryu = $con->prepare("SELECT user_id,CONCAT(fname, ' ',
lname) as name, agency_id from users_table order by name ASC");
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($quid, $quname, $quaid);
$response_array['data'] .= "<label class='control-
label'>$field_ref</label><select class='form-control' name='$field_column'><option
value=''>Please Select User</option>";
while ($qryu->fetch()) {
$an = $con->prepare("SELECT agency_name
from agency_globals where agency_id = ?");
$an->bind_param("s", $quaid);
$an->execute();
$an->store_result();
$an->bind_result($uaname);
$an->fetch();
if ($quid == $field_value) {
$response_array['data'] .= "<option
value='$quid' selected>$quname - $uaname</option>";
}else {
$response_array['data'] .= "<option
value='$quid'>$quname - $uaname</option>";
}
}//end loop through users
$response_array['data'] .= "</select>";
}
if ($field_type == 'list') {
$response_array['data'] .= "<label class='control-
label'>$field_ref</label><select class='form-control' id='$field_column'
name='$field_column'><option value=''>Please Select</option>";
$qryu = $con->prepare("SELECT option_value from
custom_field_options where field_id in (SELECT id from custom_fields where
field_name = ?)");
$qryu->bind_param("s", $field_column);
$qryu->execute();
$qryu->store_result();
$qryu->bind_result($opt);
while($qryu->fetch()){
if($opt != $field_value){
$response_array['data'] .= "<option
value='$opt'>$opt</option>";
}else{
$response_array['data'] .= "<option
value='$opt' selected>$opt</option>";
}
}
echo "</select>";
}//end check if option is a list
$response_array['data'] .= "
</div>
";
}//end while
}//end check for custom

$response_array['data'] .= "
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='add_contact_note'>Add Note</label>
<textarea class='form-control' name='add_policy_note'
id='add_policy_note' placeholder='Add Note to Policy'></textarea>
</div>
";
if (strpos($lob, 'Auto') !== false) {
$response_array['data'] .= "
<div class='col-md-5 col-sm-5 col-xs-5'>
<button id='addVehicle' type='submit' class='btn btn-block
btn-primary'>Add Additional Vehicle</button>
<div id='vehicle_info' class='row'>

</div>
</div>
<hr>
";
}

$response_array['data'] .= "
<div class='col-md-12 col-sm-12 col-xs-12'>
<button type='submit' class='btn btn-block btn-
primary'>Update Policy Info</button>
</div>
</form>
</div>";
$response_array['data'] .= "</div></div></div><hr>";
$response_array['data'] .= "
<script>

</script>
</div></div></div></div>
<div class='panel panel-
default'>
<div class='panel-
heading icon-right panel-heading icon-right-theme-1' role='tab' id='headingTwo-2'>
<h4
class='panel-title'><a class='active' data-toggle='collapse' data-
parent='#accordion-2' href='#collapseTwo-2' aria-expanded='true' aria-
controls='collapseTwo-2'><i class='fa fa-minus-square'></i> Coverage Info</a></h4>
</div>

<div
id='collapseTwo-2' class='panel-collapse collapse in' role='tabpanel' aria-
labelledby='headingTwo-2' aria-expanded='true'>
<div
class='panel-body'>
";

if ($lob == 'Auto') {
$qry = $con->query("SELECT * from vehicle_info where policy_num =
'$policy_num' ");
if (mysqli_num_rows($qry) > 0) {
$counter_veh = 0;
$response_array['data'] .= "<div class='panel-group panel-group-
theme-1' id='accordionVeh-1' role='tablist' aria-multiselectable='true'>";
while ($row_veh = $qry->fetch_assoc()) {
$make = $row_veh['vehicle_make'];
$model = $row_veh['vehicle_model'];
$vin = $row_veh['vehicle_identification_num'];
$year = $row_veh['vehicle_year'];
$fin = $row_veh['vehicle_financed'];
$trim = $row_veh['vehicle_trim'];

$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_veh'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionVeh-$counter_veh' href='#collapseVehOne-$counter_veh' aria-
expanded='false' aria-controls='collapseVehOne-$counter_veh'><i class='fa fa-plus-
square'></i> $year - $make - $model - Info</a></h4>

</div>

<div id='collapseVehOne-$counter_veh' class='panel-collapse collapse'


role='tabpane$counter_veh' aria-labelledby='headingOne-$counter_veh' aria-
expanded='false' style='height: 0px;'>

<div class='panel-body'>
<p class='name' style='float:right;'>Year:
<u>$year</u>
<p class='name'>Make: <u>$make</u></p>
<p class='name' style='float:right;'>Model:
<u>$model</u></p>
<p class='name'>Trim: <u>$trim</u></p>
<p class='name' style='float:right;'> VIN:
<u>$vin</u></p>
<p class='name'>Financed?: <u>$fin</u></p>

</div>

</div>

</div>
";
$counter_veh++;
} //end while for vehicles
$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_veh-coverages'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionVeh-$counter_veh-coverages' href='#collapseVehOne-$counter_veh-
coverages' aria-expanded='false' aria-controls='collapseVehOne-$counter_veh-
coverages'><i class='fa fa-plus-square'></i> Coverage Details</a></h4>

</div>

<div id='collapseVehOne-$counter_veh-coverages' class='panel-collapse collapse'


role='tabpane$counter_veh-coverages' aria-labelledby='headingOne-$counter_veh-
coverages' aria-expanded='false' style='height: 0px;'>

<div class='panel-body'>";

while ($coverage_qry->fetch()) {

$covq = $con->prepare("SELECT Coverage from


policy_coverage_mapping where PolicyId = ? and Policy_CoverageTypeId = ?");
$covq->bind_param("ss", $PolicyId, $pctid);
$covq->execute();
$covq->store_result();
if ($covq->num_rows > 0) {
$covq->bind_result($covamount);
$covq->fetch();
$amq = $con_adm->prepare("SELECT Option from
policy_coverage_type_options where Policy_CoverageOption_Id = ?");
$amq->bind_param("s", $covamount);
$amq->execute();
$amq->store_result();
if ($amq->num_rows > 0) {
$amq->bind_result($newcovamount);
$amq->fetch();
$covamount = $newcovamount;
}

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
value='$covamount' placeholder='$cov'></input>";

}else {

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
placeholder='$cov'></input>";

}//end check if an amount is already set

}//loop through coverages


$response_array['data'] .= "
</div>

</div>

</div>
";

$response_array['data'] .= "<hr>";

$coverage_qry = $con_adm->prepare("select
Endorsement_Id,endorsement from policy_endorsement_types,policy_lob where
line_of_business = LOB_Id and lob = ? order by endorsement asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov);
$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_veh-endorsements'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionVeh-$counter_veh-endorsements' href='#collapseVehOne-
$counter_veh-endorsements' aria-expanded='false' aria-controls='collapseVehOne-
$counter_veh-endorsements'><i class='fa fa-plus-square'></i> Coverage
Details</a></h4>

</div>
<div id='collapseVehOne-$counter_veh-endorsements' class='panel-collapse collapse'
role='tabpane$counter_veh-endorsements' aria-labelledby='headingOne-$counter_veh-
endorsements' aria-expanded='false' style='height: 0px;'>

<div class='panel-body'>";

while ($coverage_qry->fetch()) {

$covq = $con->prepare("SELECT Coverage from


policy_endorsement_mapping where PolicyId = ? and Endorsement_Id = ?");
$covq->bind_param("ss", $PolicyId, $pctid);
$covq->execute();
$covq->store_result();
if ($covq->num_rows > 0) {
$covq->bind_result($covamount);
$covq->fetch();
$amq = $con_adm->prepare("SELECT Option from
policy_endorsement_type_options where EndorsementOption_Id = ?");
$amq->bind_param("s", $covamount);
$amq->execute();
$amq->store_result();
if ($amq->num_rows > 0) {
$amq->bind_result($newcovamount);
$amq->fetch();
$covamount = $newcovamount;
}

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
value='$covamount' placeholder='$cov'></input>";

}else {

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
placeholder='$cov'></input>";

}//end check if an amount is already set

}//loop through endorsements

$response_array['data'] .= "
</div>

</div>

</div>
";

$response_array['data'] .= "</div></div></div></div>";
}//end check if vehicles
}//end check if Auto

if ($lob == 'Home' || strpos($lob, 'Commercial') !== false || strpos($lob,


'Fire') !== false || strpos($lob, 'Flood') !== false ) {
$qry = $con->query("SELECT * from property_info where policy_num =
'$policy_num' ");
if (mysqli_num_rows($qry) > 0) {
$counter_Hom = 0;
$response_array['data'] .= "<div class='panel-group panel-group-
theme-1' id='accordionHom-1' role='tablist' aria-multiselectable='true'>";
while ($row_Hom = $qry->fetch_assoc()) {
$address = $row_Hom['property_address'];
$address2 = $row_Hom['property_address_line2'];
$city = $row_Hom['property_city'];
$zip = $row_Hom['property_zip'];
$state = $row_Hom['property_state'];

$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_Hom'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionHom-$counter_Hom' href='#collapseHomOne-$counter_Hom' aria-
expanded='false' aria-controls='collapseHomOne-$counter_Hom'><i class='fa fa-plus-
square'></i> $address - $city - $state - Info</a></h4>

</div>

<div id='collapseHomOne-$counter_Hom' class='panel-collapse collapse'


role='tabpane$counter_Hom' aria-labelledby='headingOne-$counter_Hom' aria-
expanded='false' style='height: 0px;'>

<div class='panel-body'>
<p class='name'
style='float:right;'>Address: <u>$address</u>
<p class='name'>Address Line 2:
<u>$address2</u></p>
<p class='name' style='float:right;'>City:
<u>$city</u></p>
<p class='name'>State: <u>$state</u></p>
<p class='name' style='float:right;'>
Zipcode: <u>$zip</u></p>

</div>

</div>

</div>
";
$counter_Hom++;
} //end while for Home
$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_Hom-coverages'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionHom-$counter_Hom-coverages' href='#collapseHomOne-$counter_Hom-
coverages' aria-expanded='false' aria-controls='collapseHomOne-$counter_Hom-
coverages'><i class='fa fa-plus-square'></i> Coverage Details</a></h4>

</div>

<div id='collapseHomOne-$counter_Hom-coverages' class='panel-collapse collapse'


role='tabpane$counter_Hom-coverages' aria-labelledby='headingOne-$counter_Hom-
coverages' aria-expanded='false' style='height: 0px;'>

<div class='panel-body'>";

while ($coverage_qry->fetch()) {

$covq = $con->prepare("SELECT Coverage from


policy_coverage_mapping where PolicyId = ? and Policy_CoverageTypeId = ?");
$covq->bind_param("ss", $PolicyId, $pctid);
$covq->execute();
$covq->store_result();
if ($covq->num_rows > 0) {
$covq->bind_result($covamount);
$covq->fetch();

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
value='$covamount' placeholder='$cov'></input>";

}else {

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
placeholder='$cov'></input>";

}//end check if an amount is already set

}//loop through coverages

$response_array['data'] .= "</div></div></div>";

$response_array['data'] .= "<hr>";

$coverage_qry = $con_adm->prepare("select
Endorsement_Id,endorsement from policy_endorsement_types,policy_lob where
line_of_business = LOB_Id and lob = ? order by endorsement asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov);
$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_Hom-endorsements'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionHom-$counter_Hom-endorsements' href='#collapseHomOne-
$counter_Hom-endorsements' aria-expanded='false' aria-controls='collapseHomOne-
$counter_Hom-endorsements'><i class='fa fa-plus-square'></i> Endorsements
Info</a></h4>

</div>

<div id='collapseHomOne-$counter_Hom-endorsements' class='panel-collapse collapse'


role='tabpane$counter_Hom-endorsements' aria-labelledby='headingOne-$counter_Hom-
endorsements' aria-expanded='false' style='height: 0px;'>

<div class='panel-body'>";

while ($coverage_qry->fetch()) {

$covq = $con->prepare("SELECT Coverage from


policy_endorsement_mapping where PolicyId = ? and Endorsement_Id = ?");
$covq->bind_param("ss", $PolicyId, $pctid);
$covq->execute();
$covq->store_result();
if ($covq->num_rows > 0) {
$covq->bind_result($covamount);
$covq->fetch();
$chkcov = $con_adm->prepare("SELECT
Option,Endorsement_Id from policy_endorsement_type_options where
EndorsementOption_Id = ?");
$chkcov->bind_param("s", $covamount);
$chkcov->execute();
$chkcov->store_result();
$chkcov->bind_result($opt, $eid);
if ($chkcov->num_rows > 0) {
$chkcov->bind_result($opt, $eid);
$chkcov->fetch();
$covamount = $opt;
}

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
value='$covamount' placeholder='$cov'></input>";

}else {

$response_array['data'] .= "<label
for='$pctid'>$cov</label><input type='text' class='form-control' name='$pctid'
placeholder='$cov'></input>";

}//end check if an amount is already set


}//loop through coverages
$response_array['data'] .= "</div></div></div>";
$response_array['data'] .= "</div></div></div></div>";
}//end check if Home
}//end check if Home

if ($lob == 'Life') {
$qry = $con->query("SELECT * from life_info where policy_num =
'$policy_num' ");
if (mysqli_num_rows($qry) > 0) {
$counter_Hom = 0;
$response_array['data'] .= "<div class='panel-group panel-group-
theme-1' id='accordionHom-1' role='tablist' aria-multiselectable='true'>";
while ($row_Hom = $qry->fetch_assoc()) {
$named = $row_Hom['named_insured'];
$address = $row_Hom['property_address'];
$address2 = $row_Hom['property_address_line2'];
$city = $row_Hom['property_city'];
$zip = $row_Hom['property_zip'];
$state = $row_Hom['property_state'];

$response_array['data'] .= "

<div class='panel panel-default'>

<div class='panel-heading icon-right panel-heading icon-right-theme-1' role='tab'


id='headingOne-$counter_Hom'>

<h4 class='panel-title'><a class='active collapsed' data-toggle='collapse' data-


parent='#accordionHom-$counter_Hom' href='#collapseHomOne-$counter_Hom' aria-
expanded='false' aria-controls='collapseHomOne-$counter_Hom'><i class='fa fa-plus-
square'></i> $named - $city - $state - Info</a></h4>

</div>

<div id='collapseHomOne-$counter_Hom' class='panel-collapse collapse'


role='tabpane$counter_Hom' aria-labelledby='headingOne-$counter_Hom' aria-
expanded='false' style='height: 0px;'>

<div class='panel-body'>
<p class='name'
style='float:right;'>Address: <u>$address</u>
<p class='name'>Address Line 2:
<u>$address2</u></p>
<p class='name' style='float:right;'>City:
<u>$city</u></p>
<p class='name'>State: <u>$state</u></p>
<p class='name' style='float:right;'>
Zipcode: <u>$zip</u></p>

</div>

</div>

</div>
";
$counter_Hom++;
} //end while for Life
}//end check if rows
}//end check if Life

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end editPolicy

//begin updatePolicy

/**
*
*/
function updatePolicy() {

global $con, $con_adm;

$policy_num = $con->real_escape_string($_POST['upd_policy_id']);
$pnum = $con->real_escape_string($_POST['upd_policy_num']);
$named = $con->real_escape_string($_POST['upd_named']);
$bname = $con->real_escape_string($_POST['upd_bname']);
$add_named = $con->real_escape_string($_POST['upd_add_named']);
$status = $con->real_escape_string($_POST['upd_status']);
$lob = $con->real_escape_string($_POST['upd_lob']);
$lob_st = $con->real_escape_string($_POST['upd_lob_st']);
$carrier = $con->real_escape_string($_POST['upd_carrier']);
$bill_type = $con->real_escape_string($_POST['upd_billing_type']);
$bus_type = $con->real_escape_string($_POST['upd_business_type']);
$source = $con->real_escape_string($_POST['upd_src']);
$base_prem = $con->real_escape_string($_POST['upd_base_prem']);
$carrier_fees = $con->real_escape_string($_POST['upd_carrier_fees']);
$bind_date = $con->real_escape_string($_POST['upd_bind']);
$eff_date = $con->real_escape_string($_POST['upd_eff']);
$exp_date = $con->real_escape_string($_POST['upd_exp']);
$binder_num = $con->real_escape_string($_POST['upd_binder_num']);
$compaid = $con->real_escape_string($_POST['upd_commission_paid']);
$comamt = $con->real_escape_string($_POST['upd_commission_amt']);
$comdbyc = $con->real_escape_string($_POST['upd_comdbyc']);
$compbyc = $con->real_escape_string($_POST['upd_compbyc']);
$notes = $_POST['add_policy_note'];
$mod_by = $_SESSION['uid'];
$agency_id = $_SESSION['agency_id'];
if ($_POST['upd_agent'] != '') {
$qry = $con->prepare("SELECT CONCAT(fname, ' ', lname),agency_id from
users_table where user_id = ?");
$qry->bind_param("s", $_POST['upd_agent']);
$qry->execute();
$qry->store_result();
$qry->bind_result($agent,$uaid);
$qry->fetch();
}else {
$agent = '';
}

if ($_POST['upd_csr'] != '') {
$qry = $con->prepare("SELECT CONCAT(fname, ' ', lname) from users_table
where user_id = ?");
$qry->bind_param("s", $_POST['upd_csr']);
$qry->execute();
$qry->store_result();
$qry->bind_result($csr);
$qry->fetch();
}else {
$csr = '';
}
if($uaid != $agency_id){
$agency_id = $uaid;
}

$upd_qry = $con->query("UPDATE policies set policy_number = '$pnum', bname =


'$bname', named_insured = '$named', additional_named = '$add_named', policy_status
= '$status', line_of_business = '$lob', carrier = '$carrier', billing_type =
'$bill_type', business_type = '$bus_type', policy_source = '$source', base_premium
= '$base_prem', carrier_fees = '$carrier_fees', bind_date = '$bind_date', exp_date
= '$exp_date', effective_date = '$eff_date', binder_num = '$binder_num',
last_mod_by = '$mod_by', commission_amt = '$comamt', commission_paid = '$compaid',
lob_subtype = '$lob_st', agent = '$agent', csr = '$csr', agency_id = '$agency_id'
where PolicyId = '$policy_num' ");

if ($compbyc != '') {
$upd_qry = $con->query("UPDATE policies set comm_paid_by_carrier =
'$compbyc' where PolicyId = '$policy_num' ");
}

if ($comdbyc != '') {
$upd_qry = $con->query("UPDATE policies set comm_due_by_carrier =
'$comdbyc' where PolicyId = '$policy_num' ");
}

//check for custom_fields


$custom_qry = $con->query("SELECT * from custom_fields where table_name =
'policies'");
if (mysqli_num_rows($custom_qry) > 0) {
//found custom fields
while ($row_custom = $custom_qry->fetch_assoc()) {
$field = $row_custom['field_name'];
$ft = $row_custom['field_type'];
$field_val = $_POST[$field];
if ($ft == 'date') {
$field_val = date("Y-m-d", strtotime($field_val));
}

if (isset($_POST[$field]) && $_POST[$field] != '') {


$upd_contact = $con->query("UPDATE policies set $field =
'$field_val' where PolicyId = '$policy_num'");
}//found field and updating it

}//end while

}//found custom field

if (!$upd_qry) {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);

}else {
if ($notes != '') {
$cqry = $con->prepare("SELECT ContactId from policies where
PolicyId = ?");
$cqry->bind_param("s", $policy_num);
$cqry->execute();
$cqry->store_result();
$cqry->bind_result($cid);
$cqry->fetch();
$notesqry = $con->prepare("INSERT INTO
policy_notes(ContactId,PolicyId,agency_id,note_content,note_by)
VALUES(?,?,?,?,?)");
$notesqry->bind_param("sssss", $cid, $policy_num, $agency_id,
$notes, $mod_by);
$notesqry->execute();
}

$del = $con->prepare("DELETE from policy_coverage_mapping where


PolicyId = ?");
$del->bind_param("s", $policy_num);
$del->execute();

$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
while ($coverage_qry->fetch()) {

if (isset($_POST["$pctid"])) {
$inscov = $con->prepare("INSERT INTO
policy_coverage_mapping(PolicyId,Policy_CoverageTypeId,Coverage) VALUES(?,?,?)");
$inscov->bind_param("sss", $policy_num, $pctid,
$_POST["$pctid"]);
$inscov->execute();
}

}//end loop for coverage mapping

$del = $con->prepare("DELETE from policy_endorsement_mapping where


PolicyId = ?");
$del->bind_param("s", $policy_num);
$del->execute();

$coverage_qry = $con_adm->prepare("select Endorsement_Id,endorsement


from policy_endorsement_types,policy_lob where line_of_business = LOB_Id and lob
= ? order by endorsement asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov);
while ($coverage_qry->fetch()) {

if (isset($_POST["$pctid"])) {
$inscov = $con->prepare("INSERT INTO
policy_endorsement_mapping(PolicyId,Endorsement_Id,Coverage) VALUES(?,?,?)");
$inscov->bind_param("sss", $policy_num, $pctid,
$_POST["$pctid"]);
$inscov->execute();
}

}//end loop for endorsement mapping

$count = 0;
$pnum_qry = $con->prepare("SELECT policy_number from policies where
PolicyId = ?");
$pnum_qry->bind_param("s", $policy_num);
$pnum_qry->execute();
$pnum_qry->store_result();
$pnum_qry->bind_result($pnum);
$pnum_qry->fetch();

while ($count < 11) {


if (isset($_POST["add_vehicle_identification$count"])) {
$vin = $_POST["add_vehicle_identification$count"];
$yr = $_POST["add_vehicle_year$count"];
$make = $_POST["add_vehicle_make$count"];
$model = $_POST["add_vehicle_model$count"];
$trim = $_POST["add_vehicle_trim$count"];
$fin = $_POST["add_vehicle_fin$count"];

$qry = $con->prepare("INSERT INTO


vehicle_info(vehicle_make,vehicle_model,vehicle_year,vehicle_financed,vehicle_ident
ification_num,vehicle_trim,policy_num) VALUES(?,?,?,?,?,?,?)");
echo $con->error;
$qry->bind_param("sssssss", $make, $model, $yr, $fin, $vin,
$trim, $pnum);
$qry->execute();

}//check if variable is set


$count++;

}//end loop to check if variable for add vehicles is set

if (isset($_POST['upd_property_address']) &&
$_POST['upd_property_address'] != '') {
$qry = $con->prepare("DELETE from property_info where PolicyId
= ?");
$qry->bind_param("s", $policy_num);
$qry->execute();
$qry = $con->prepare("INSERT into
property_info(property_address,property_address_line2,property_zip,property_state,p
roperty_city,policy_num,PolicyId) VALUES(?,?,?,?,?,?,?)");
$qry->bind_param("sssssss", $_POST['upd_property_address'],
$_POST['upd_property_address_line2'], $_POST['upd_property_zip'],
$_POST['upd_property_state'], $_POST['upd_property_city'], $pnum, $policy_num);
$qry->execute();
}//check if home

$ins_audit = $con->query("INSERT into


audit(action,action_by,action_asset) VALUES('Updated
Policy','$mod_by','policy_$policy_num')");
header('Content-type: application/json');
$response_array['status'] = "Policy Updated";
echo json_encode($response_array);

}//end updatePolicy

//begin addPolicyModal

/**
*
*/
function addPolicyModal() {

global $con, $con_adm;


if (isset($_POST['agency_id'])) {
$agency_id = $_POST['agency_id'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$_SESSION['vehicle_counter'] = 1;
$ContactId = $_POST['ContactId'];
$qry = $con->prepare("SELECT name,bname from agency_contacts where ContactId
= ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($name, $bname);
$qry->fetch();
echo "<h3>Policy Info</h3><hr>";
echo "<form class='form-horizontal' id='new_policy_form'
action='functions/functions.php' method='post' enctype='multipart/form-data' data-
toggle='validator' role='form'>
<input type='hidden' name='policy_contact_assoc'
value='$ContactId'></input>";
echo "<div style='display:flex;flex-wrap:wrap;margin-left:10px;margin-
right:10px;' class='row'>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_status'>Policy Status</label>
<select class='form-control' name='policy_status' required>
<option value=''>Please Select Policy Status</option>";
$rd_qry = $con_adm->query("SELECT status from
ams_admin.policy_status_defaults order by status asc");
while ($row = $rd_qry->fetch_assoc()) {
$status_name = $row['status'];
if ($status_name == 'Active') {
echo "<option value='$status_name'
selected>$status_name</option>";
}else {
echo "<option value='$status_name'>$status_name</option>";
}
}
echo '</select>';

echo "</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_named_ins'>Named Insured</label>
<input type='text' class='form-control' name='policy_named_ins'
id='policy_named_ins' value='$name' required ></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Additional Named Insured</label>
<input type='text' class='form-control'
name='policy_named_ins_add' id='policy_named_ins_add' ></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Business Name</label>
<input type='text' class='form-control' name='policy_bname'
id='policy_bname' value='$bname'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Policy Number</label>
<input type='text' class='form-control' name='policy_number'
id='policy_number' required></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Line of Business</label>
<select class='form-control' id='policy_lob' name='policy_lob'
onchange='getLineDefaults()' required><option value=''>Please Select Line of
Business</option>";
$lob_qry = $con_adm->query("SELECT lob from policy_lob order by lob asc");
while ($row_lob = $lob_qry->fetch_assoc()) {
$lob = $con->real_escape_string($row_lob['lob']);
echo "<option value='$lob'>$lob</option>";
}
echo "</select>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Line of Business Sub-Type</label>
<select class='form-control' id='policy_lob_subtype'
name='policy_lob_subtype' required><option value=''>Please Select Line of Business
Sub Type</option>
</select>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='upd_billing_type'>Bind Date</label>
<input type='text' class='form-control formatDate'
name='policy_bind_date' id='policy_bind_date' required></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='upd_billing_type'>Effective Date</label>
<input type='text' class='form-control formatDate'
name='policy_eff_date' id='policy_eff_date' required></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='upd_billing_type'>Expiration Date</label>
<input type='text' class='form-control formatDate'
name='policy_exp_date' id='policy_exp_date' required></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Binder Number</label>
<input type='text' class='form-control' name='policy_binder_num'
id='policy_binder_num'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Policy Source</label>
<input type='text' class='form-control' name='policy_source'
id='policy_source'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Policy Source Details</label>
<input type='text' class='form-control'
name='policy_source_details' id='policy_source_details'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_agent'>Agent</label>
<select class='form-control' name='policy_agent' required>
<option value=''>Please Select Agent</option>";
$agent_qry = $con->query("SELECT CONCAT(fname, ' ', lname) as agent_name from
users_table where agency_id = '$agency_id' ");
$my_name = $_SESSION['fname'] . ' ' . $_SESSION['lname'];
while ($row_agent = $agent_qry->fetch_assoc()) {
$agent_name = $row_agent['agent_name'];
if ($agent_name == $my_name) {
echo "<option value='$agent_name' selected>$agent_name</option>";
}else {
echo "<option value='$agent_name'>$agent_name</option>";
}
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {

while ($row_sub = $sub_query->fetch_assoc()) {


$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(fname, ' ', lname) as


name, user_id from users_table where agency_id = '$sub_id' order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";


}//end while

}//sub agency while


}//end check for rows
}//end check if mgr

echo "</select>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_csr'>CSR</label>
<select class='form-control' name='policy_csr'>
<option value=''>Please Select CSR</option>";
$csr_qry = $con->query("SELECT CONCAT(fname, ' ', lname) as csr_name from
users_table where user_type ='CSR' and agency_id = '$agency_id' ");
$my_name = $_SESSION['fname'] . ' ' . $_SESSION['lname'];
while ($row_csr = $csr_qry->fetch_assoc()) {
$csr_name = $row_csr['csr_name'];
if ($csr_name == $my_name) {
echo "<option value='$csr_name' selected>$csr_name</option>";
}else {
echo "<option value='$csr_name'>$csr_name</option>";
}
}

if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {

while ($row_sub = $sub_query->fetch_assoc()) {


$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(fname, ' ', lname) as


name, user_id from users_table where agency_id = '$sub_id' and user_type = 'CSR'
order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while

}//sub agency while


}//end check for rows
}//end check if mgr

echo "</select>
</div>

<div class='col-md-4 col-sm-4 col-xs-4 text-center'>


<label for='policy_agent'>Base Premium</label>
<input type='number' min='0.00' step='.01' class='form-control
FormatCurrency' name='policy_base_prem' id='policy_base_prem'></input>
<div class='help-block with-errors'></div>
</div>
</div>
<div id='line_select'></div>
<div id='policy_types'></div>
<div id='policy_info_section' class='row text-center' style=''></div>";
echo '<a href="#" id="add_policy" class="btn btn-block btn-primary"
style="color: #fff;">Add Policy</a>
</div>
</form>';

echo '
<script type="text/javascript">
$(document).ready(function() {
$("#add_policy").removeClass("disabled");
$("#new_policy_form").validator();
});
</script>
';

}//end addPolicyModal

/**
* begin getLineDefaults
*/
function getLineDefaults() {

global $con, $con_adm;


$line = $_POST['get_line_defaults'];
$arr = array();
$qry = $con_adm->prepare("SELECT LOB_Id from ams_admin.policy_lob where lob =
?");
$qry->bind_param("s", $line);
$qry->execute();
$qry->store_result();
$arr[3] = '';
if ($qry->num_rows > 0) {
$qry->bind_result($LOB_Id);
$qry->fetch();
$qry = $con_adm->prepare("SELECT SubType from
ams_admin.policy_lob_subtype where LOB_Id = ? ORDER BY SubType ASC");
$qry->bind_param("s", $LOB_Id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($st);
while ($qry->fetch()) {
$arr[3] .= "<option value='$st'>$st</option>";
}
}else {
}
}
$carrier_qry = $con->query("SELECT carrier from policy_carrier_defaults GROUP
BY carrier order by carrier asc");
$arr[0] = "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_carrier'>Carrier</label>
<select class='form-control' name='policy_carrier'><option value=''>Please
Select a Carrier</option>";
while ($row_carrier = $carrier_qry->fetch_assoc()) {
$carrier = $row_carrier['carrier'];
$arr[0] .= "<option value='$carrier'>$carrier</option>";
}//end carrier while
$arr[0] .= "</select></div>";

$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $line);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
while ($coverage_qry->fetch()) {

$co_qry = $con_adm->prepare("SELECT Policy_CoverageOption_Id,Option


from policy_coverage_type_options where Policy_CoverageType_Id = ? and Active
= ?");
$act = 1;
$co_qry->bind_param("ss", $pctid, $act);
$co_qry->execute();
$co_qry->store_result();
if ($co_qry->num_rows > 0) {
//it is a select option
$co_qry->bind_result($pcoid, $opt);
$arr[0] .= "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_carrier'>$cov</label>
<select class='form-control' name='$pctid'><option value='Not
Applicable'>Not Applicable</option>";
while ($co_qry->fetch()) {
$arr[0] .= "<option value='$opt'>$opt</option>";

}//loop through options to populate the select field

$arr[0] .= "</select></div>";

}else {
//it is in input option

$arr[0] .= "<div class='col-md-4 col-sm-4 text-


center'><label>$cov</label><input type='text' class='form-control'
name='$pctid'></input></div>";

}//loop through coverages


$endorsement_qry = $con_adm->prepare("select Endorsement_Id,endorsement from
policy_endorsement_types,policy_lob where line_of_business = LOB_Id and lob = ?
order by endorsement asc");
$endorsement_qry->bind_param("s", $line);
$endorsement_qry->execute();
$endorsement_qry->store_result();
$endorsement_qry->bind_result($pctid, $cov);
while ($endorsement_qry->fetch()) {

$co_qry = $con_adm->prepare("SELECT EndorsementOption_Id,Option from


policy_endorsement_type_options where Endorsement_Id = ? and Active = ?");
$act = 1;
$co_qry->bind_param("ss", $pctid, $act);
$co_qry->execute();
$co_qry->store_result();
if ($co_qry->num_rows > 0) {
//it is a select option
$co_qry->bind_result($pcoid, $opt);
$arr[0] .= "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_carrier'>$cov</label>
<select class='form-control' name='$pctid'><option value='Not
Applicable'>Not Applicable</option>";
while ($co_qry->fetch()) {
$arr[0] .= "<option value='$opt'>$opt</option>";

}//loop through options to populate the select field

$arr[0] .= "</select></div>";

}else {
//it is in input option

$arr[0] .= "<div class='col-md-4 col-sm-4 text-


center'><label>$cov</label><input type='text' class='form-control'
name='$pctid'></input></div>";

}//loop through endorsements

$term_qry = $con_adm->query("SELECT term from policy_term_defaults group by


term order by term asc");
$arr[0] .= "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_term'>Term</label>
<select class='form-control' id='policy_term' name='policy_term'
><option value=''>Please Select Term</option>";
while ($row_term = $term_qry->fetch_assoc()) {
$term = $row_term['term'];
$arr[0] .= "<option value='$term'>$term</option>";
}//end coverage while
$arr[0] .= "</select></div>";

$billt_qry = $con_adm->query("SELECT billing_type from billing_type_defaults


group by billing_type order by billing_type asc");
$arr[1] = "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_billing_type'>Billing Type</label>
<select class='form-control' name='policy_billing_type'><option
value=''>Please Select Billing Type</option>";
while ($row_billt = $billt_qry->fetch_assoc()) {
$billing_type = $row_billt['billing_type'];
$arr[1] .= "<option value='$billing_type'>$billing_type</option>";
}//end billing type while
$arr[1] .= "</select></div>";
$bust_qry = $con_adm->query("SELECT business_type from business_type_defaults
order by business_type asc");
$arr[1] .= "<div class='col-md-4 col-sm-4 text-center'><label
for='policy_business_type'>Business Type</label>
<select class='form-control' name='policy_business_type'><option
value=''>Please Select Business type</option>";
while ($row_bust = $bust_qry->fetch_assoc()) {
$business_type = $row_bust['business_type'];
$arr[1] .= "<option value='$business_type'>$business_type</option>";
}//end business type while
$arr[1] .= "</select></div>";

if ($line == 'Auto') {

$arr[2] = "<div class='col-md-12 col-sm-12 col-xs-12 text-


center'><h4>Vehicle Info</h4></div>
<button id='addVehicle' type='submit' class='btn btn-
block btn-primary'>Add Additional Vehicle</button>
<div id='vehicle_info' class='riow'
style='display:flex;flex-wrap:wrap;margin-left:10px;margin-right:10px;'>
<div class='col-md-12 col-sm-12 text-center'>
<label for='policy_billing_type'>VIN</label>
<input type='text'
name='add_vehicle_identification' id='add_vehicle_identification' class='form-
control'></input>
<button id='getVinInfo' type='submit'
class='btn btn-block btn-primary'>Auto-Fill Vehicle Info</button>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label for='policy_billing_type'>Vehicle Year</label>
<input type='text' id='add_vehicle_year'
name='add_vehicle_year' class='form-control' ></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label for='policy_billing_type'>Vehicle Make</label>
<input type='text' id='add_vehicle_make'
name='add_vehicle_make' class='form-control' ></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label for='policy_billing_type'>Vehicle
Model</label>
<input type='text' id='add_vehicle_model'
name='add_vehicle_model' class='form-control' ></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label for='policy_billing_type'>Vehicle Trim</label>
<input type='text' id='add_vehicle_trim'
name='add_vehicle_trim' class='form-control' ></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label>Is The Vehicle Financed?</label>
<select name='add_vehicle_fin' class='form-
control'>
<option value=''>Please Select Yes or
No for Financed</option>
<option value='Yes'>Yes</option>
<option value='No'>No</option>
</select>
</div>
</div>";
}

if ($line == 'Home' || $line == 'Commercial') {

$arr[2] = "<div class='col-md-12 col-sm-12 col-xs-12 text-


center'><h4>Property Info</h4></div>
<div id='home_info'>
<div class='col-md-4 col-sm-4 text-center'>
<label>Property Address</label>
<input type='text' name='add_home_address'
id='add_home_address' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label>Address Line 2</label>
<input type='text' id='add_home_address_2'
name='add_home_address_2' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label>Zipcode</label>
<input type='text' id='add_home_zip' name='add_home_zip'
class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label>City</label>
<input type='text' id='add_home_city' name='add_home_city'
class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 text-center'>
<label>State</label>
<input type='text' id='add_home_state'
name='add_home_state' class='form-control' maxlength='2'></input>
</div>
</div>";
}

if ($line == 'Life') {

$arr[2] = "<div class='col-md-12 col-sm-12 col-xs-12 text-


center'><h4>Life Info</h4></div>
<div id='home_info'>
<input type='text' name='add_life_named'
id='add_life_named' class='form-control' placeholder='Named Insured'></input>
<input type='text' name='add_life_address'
id='add_life_address' class='form-control' placeholder='Named Insured
Address'></input>
<input type='text' id='add_life_address_2'
name='add_life_address_2' class='form-control' placeholder='Named Insured Address
Line 2'></input>
<input type='text' id='add_life_zip' name='add_life_zip'
class='form-control' placeholder='Named Insured Zipcode'></input>
<input type='text' id='add_life_city' name='add_life_city'
class='form-control' placeholder='Named Insured City'></input>
<input type='text' id='add_life_state'
name='add_life_state' class='form-control' placeholder='Named Insured State'
maxlength='2'></input>
</div>";
}
header('Content-type: application/json');
echo json_encode($arr);

}//end getLineDefaults

//being getSubDates

/**
*
*/
function getSubDates() {
$bind_date = $_POST['get_sub_dates'];
$term = $_POST['get_sub_term'];
$xplode = explode(" ", $term);
$term = $xplode[0];
$arr = array();

$parse_date = date('Y-m-d', strtotime("+$term Months",


strtotime($bind_date)));
$arr[0] = $bind_date;
$arr[1] = $parse_date;

header('Content-type: application/json');
echo json_encode($arr);

//begin addVehicle

/**
*
*/
function addVehicle() {

if (!isset($_SESSION['vehicle_counter'])) {

$vehicle_counter = 0;

}else {
$vehicle_counter = $_SESSION['vehicle_counter'];

}//check if counter
$arr = array();
$arr[0] = "
<div class='col-md-11 col-sm-11 col-xs-11 text-center'>
<label>VIN (Additional Vehicle)</label>
<input type='text'
name='add_vehicle_identification$vehicle_counter'
id='add_vehicle_identification$vehicle_counter' class='form-control'></input>
<button id='getVinInfo$vehicle_counter' type='submit'
class='btn btn-block btn-primary'>Auto-Fill Vehicle Info</button>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_billing_type'>Vehicle Year</label>
<input type='text' id='add_vehicle_year$vehicle_counter'
name='add_vehicle_year$vehicle_counter' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_billing_type'>Vehicle Make</label>
<input type='text' id='add_vehicle_make$vehicle_counter'
name='add_vehicle_make$vehicle_counter' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_billing_type'>Vehicle Model</label>
<input type='text' id='add_vehicle_model$vehicle_counter'
name='add_vehicle_model$vehicle_counter' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label for='policy_billing_type'>Vehicle Trim</label>
<input type='text' id='add_vehicle_trim$vehicle_counter'
name='add_vehicle_trim$vehicle_counter' class='form-control'></input>
</div>
<div class='col-md-4 col-sm-4 col-xs-4 text-center'>
<label>Is The Vehicle Financed?</label>
<select name='add_vehicle_fin$vehicle_counter' class='form-
control'>
<option value=''>Please Select Yes or No for
Financed</option>
<option value='Yes'>Yes</option>
<option value='No'>No</option>
</select>
</div>

<script>

$(document).on('click', '#getVinInfo$vehicle_counter', function(event) {


event.preventDefault();
val = $('#add_vehicle_identification$vehicle_counter').val();
$.ajax({
url: 'vin-checker.php',
type: 'GET',
data: 'vehicle_vin='+ val,
dataType: 'json',
success: function(response,result) {
if ( response[0] != 'Failed' ) {
$('#add_vehicle_year$vehicle_counter').val(response[1]);
$('#add_vehicle_make$vehicle_counter').val(response[2]);
$('#add_vehicle_model$vehicle_counter').val(response[3]);
$('#add_vehicle_trim$vehicle_counter').val(response[4]);

}
if ( response[0] == 'Failed' ) {
$.notify('Whoops! There was a problem finding information on that
VIN Reason - '+response[1], 'error');
}
}
})
return false; //for good measure
});
</script>

";
$_SESSION['vehicle_counter'] = $vehicle_counter + 1;

header('Content-type: application/json');
echo json_encode($arr);

//begin addPolicy

/**
*
*/
function addPolicy() {

global $con, $con_adm;


if (isset($_POST['agency_id'])) {
$agency_id = $_POST['agency_id'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$named_ins = $con->real_escape_string($_POST['policy_named_ins']);
$bname = $con->real_escape_string($_POST['policy_bname']);
$add_named = $con->real_escape_string($_POST['policy_named_ins_add']);
$policy_num = $con->real_escape_string($_POST['policy_number']);
$lob = $con->real_escape_string($_POST['policy_lob']);
$lobst = $con->real_escape_string($_POST['policy_lob_subtype']);
$carrier = $con->real_escape_string($_POST['policy_carrier']);
//$coverage = $con->real_escape_string($_POST['policy_coverage']);
$term = $con->real_escape_string($_POST['policy_term']);
$billt = $con->real_escape_string($_POST['policy_billing_type']);
$bust = $con->real_escape_string($_POST['policy_business_type']);
$bind_date = $con->real_escape_string($_POST['policy_bind_date']);
$bind_date = date("Y-m-d", strtotime($_POST['policy_bind_date']));
$eff_date = date("Y-m-d", strtotime($_POST['policy_eff_date']));
$exp_date = date("Y-m-d", strtotime($_POST['policy_exp_date']));
$binder_num = $con->real_escape_string($_POST['policy_binder_num']);
$source = $con->real_escape_string($_POST['policy_source']);
$source_det = $con->real_escape_string($_POST['policy_source_details']);
$agent = $con->real_escape_string($_POST['policy_agent']);
$csr = $con->real_escape_string($_POST['policy_csr']);
$base_prem = $con->real_escape_string($_POST['policy_base_prem']);
$base_prem = str_replace(",", "", $base_prem);
$base_prem = str_replace(" ", "", $base_prem);
$ContactId = $_POST['policy_contact_assoc'];
$mod_by = $_SESSION['uid'];
$policy_status = $_POST['policy_status'];
$base_prem = str_replace('$', '', $base_prem);
$qry = $con->prepare("SELECT id from agency_contacts where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id);
$qry->fetch();

$ins_query = $con->query("INSERT into


policies(policy_status,named_insured,additional_named,policy_number,line_of_busines
s,lob_subtype,carrier,term,billing_type,business_type,bind_date,effective_date,exp_
date,binder_num,policy_source,source_details,agent,csr,base_premium,last_mod_by,age
ncy_id,bname,ContactId)
VALUES('$policy_status','$named_ins','$add_named','$policy_num','$lob','$lobst','$c
arrier','$term','$billt','$bust','$bind_date','$eff_date','$exp_date','$binder_num'
,'$source','$source_det','$agent','$csr','$base_prem','$mod_by','$agency_id','$bnam
e','$ContactId')");
if ($con->insert_id != '') {

//LETS ADD THE COVERAGE MAPPINGS


$insid = $con->insert_id;
$qry = $con->prepare("SELECT PolicyId from policies where id = ?");
$qry->bind_param("s", $insid);
$qry->execute();
$qry->store_result();
$qry->bind_result($PolicyId);
$qry->fetch();

$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
while ($coverage_qry->fetch()) {

if (isset($_POST["$pctid"])) {
$inscov = $con->prepare("INSERT INTO
policy_coverage_mapping(PolicyId,Policy_CoverageTypeId,Coverage) VALUES(?,?,?)");
$inscov->bind_param("sss", $PolicyId, $pctid,
$_POST["$pctid"]);
$inscov->execute();
}else {
echo "$pctid was not set\n";
}

}//end loop for coverage mapping

$coverage_qry = $con_adm->prepare("select Endorsement_Id,endorsement


from policy_endorsement_types,policy_lob where line_of_business = LOB_Id and lob
= ? order by endorsement asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov);
while ($coverage_qry->fetch()) {

if (isset($_POST["$pctid"])) {
$inscov = $con->prepare("INSERT INTO
policy_endorsement_mapping(PolicyId,Endorsement_Id,Coverage) VALUES(?,?,?)");
$inscov->bind_param("sss", $PolicyId, $pctid,
$_POST["$pctid"]);
$inscov->execute();
}

}//end loop for endorsement mapping

$ins_audit = $con->query("INSERT into


audit(action,action_by,action_asset) VALUES('Added
Policy','$mod_by','policy_$policy_num')");
header('Content-type: application/json');
$response_array['status'] = "Policy Added Successfully, this page will
refresh in a few seconds.";
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
}

if (isset($_POST['add_home_address'])) {
$address = $con->real_escape_string($_POST['add_home_address']);
$address2 = $con->real_escape_string($_POST['add_home_address_2']);
$city = $con->real_escape_string($_POST['add_home_city']);
$state = $con->real_escape_string($_POST['add_home_state']);
$zip = $con->real_escape_string($_POST['add_home_zip']);

$ins_prop = $con->query("INSERT into


property_info(property_address,property_address_line2,property_zip,property_state,p
roperty_city,policy_num,PolicyId,ContactId)
VALUES('$address','$address2','$zip','$state','$city','$policy_num','$PolicyId','$C
ontactId')");

}//check if home

if (isset($_POST['add_life_named'])) {

$named = $con->real_escape_string($_POST['add_life_named']);
$address = $con->real_escape_string($_POST['add_life_address']);
$address2 = $con->real_escape_string($_POST['add_life_address_2']);
$city = $con->real_escape_string($_POST['add_life_city']);
$state = $con->real_escape_string($_POST['add_life_state']);
$zip = $con->real_escape_string($_POST['add_life_zip']);

$ins_prop = $con->query("INSERT into


life_info(property_address,property_address_line2,property_zip,property_state,prope
rty_city,policy_num,named_insured)
VALUES('$address','$address2','$zip','$state','$city','$policy_num','$named')");

}//end check if Life


if (isset($_POST['add_vehicle_identification'])) {
if (isset($_SESSION['vehicle_counter'])) {

$start_count = 0;

//add first
$vin = $con-
>real_escape_string($_POST['add_vehicle_identification']);
$year = $con->real_escape_string($_POST['add_vehicle_year']);
$make = $con->real_escape_string($_POST['add_vehicle_make']);
$model = $con->real_escape_string($_POST['add_vehicle_model']);
$trim = $con->real_escape_string($_POST['add_vehicle_trim']);
$financed = $con->real_escape_string($_POST['add_vehicle_fin']);

$ins_query = $con->query("INSERT into


vehicle_info(vehicle_year,vehicle_make,vehicle_model,vehicle_trim,vehicle_financed,
vehicle_identification_num,policy_num)
VALUES('$year','$make','$model','$trim','$financed','$vin','$policy_num')");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Vehicle to
Policy','$mod_by','policy_$policy_num')");

while ($start_count < $_SESSION['vehicle_counter']) {


$vin = $con-
>real_escape_string($_POST["add_vehicle_identification$start_count"]);
$year = $con-
>real_escape_string($_POST["add_vehicle_year$start_count"]);
$make = $con-
>real_escape_string($_POST["add_vehicle_make$start_count"]);
$model = $con-
>real_escape_string($_POST["add_vehicle_model$start_count"]);
$trim = $con-
>real_escape_string($_POST["add_vehicle_trim$start_count"]);
$financed = $con-
>real_escape_string($_POST["add_vehicle_fin$start_count"]);

$ins_query = $con->query("INSERT into


vehicle_info(vehicle_year,vehicle_make,vehicle_model,vehicle_trim,vehicle_financed,
vehicle_identification_num,policy_num)
VALUES('$year','$make','$model','$trim','$financed','$vin','$policy_num')");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Vehicle to
Policy','$mod_by','policy_$policy_num')");

$start_count++;

unset($_SESSION['vehicle_counter']);

}else {

$vin = $con-
>real_escape_string($_POST['add_vehicle_identification']);
$year = $con->real_escape_string($_POST['add_vehicle_year']);
$make = $con->real_escape_string($_POST['add_vehicle_make']);
$model = $con->real_escape_string($_POST['add_vehicle_model']);
$trim = $con->real_escape_string($_POST['add_vehicle_trim']);
$financed = $con->real_escape_string($_POST['add_vehicle_fin']);

$ins_query = $con->query("INSERT into


vehicle_info(vehicle_year,vehicle_make,vehicle_model,vehicle_trim,vehicle_financed,
vehicle_identification_num,policy_num)
VALUES('$year','$make','$model','$trim','$financed','$vin','$policy_num')");
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added Vehicle to
Policy','$mod_by','policy_$policy_num')");
}//end check for multiple vehicles or single vehicle
}//end check if vehicle

if (isset($response_array['status'])) {
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

//end addPolicy

//begin updateUserModal

/**
*
*/
function updateUserModal() {

global $con;
$agency_id = $_SESSION['agency_id'];
$uid = $con->real_escape_string($_POST['upd_user']);
$get_qry = $con->query("SELECT * from users_table where agency_id =
'$agency_id' and user_id = '$uid'");
$row_usr = $get_qry->fetch_assoc();
$fname = $row_usr['fname'];
$lname = $row_usr['lname'];
$email = $row_usr['email'];
$phone = $row_usr['phone'];
$is_mgr = $row_usr['is_mgr'];
$is_sup = $row_usr['is_sup'];
$is_adm = $row_usr['is_adm'];
$pcode = $row_usr['producer_code'];
$is_agent = $row_usr['is_agent'];
$user_type = $row_usr['user_type'];
$response_array['data'] = "
<form class='form-horizontal' id='upd_user_form' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<div class='row flexRow'>
<input type='hidden' name='upd_user_id' value='$uid'></input>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>First Name</label>
<input type='text' class='form-control' id='upd_user_fname' name='upd_user_fname'
value='$fname' readonly></input>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Last Name</label>
<input type='text' class='form-control' id='upd_user_lname' name='upd_user_lname'
value='$lname' readonly></input>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Email</label>
<input type='text' class='form-control' id='upd_user_email' name='upd_user_email'
value='$email'></input>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Phone</label>
<input type='text' class='form-control' id='upd_user_phone' name='upd_user_phone'
value='$phone'></input>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Producer Code</label>
<input type='text' class='form-control' id='upd_user_pcode' name='upd_user_pcode'
value='$pcode'></input>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Is Agent?</label>
<select class='form-control' id='upd_user_isagent' name='upd_user_isagent'>";
if ($is_agent == 'Yes') {
$response_array['data'] .= "
<option value='Yes' selected>Yes</option>
<option value='No'>No</option>
</select>
</div>
<div class='col-sm-4 col-xs-4'>
";
}else {
$response_array['data'] .= "
<option value='Yes'>Yes</option>
<option value='No' selected>No</option>
</select>
</div>
<div class='col-sm-4 col-xs-4'>
";
}
$response_array['data'] .= "
<label for='upd_user_phone'>User Type</label>
<select name='upd_user_type' class='form-control'>
<option value=''>Please Select User Type</option>";
$type_qry = $con->query("SELECT id,type from agency_user_type_defaults order
by type asc");
while ($row_type = $type_qry->fetch_assoc()) {
$type = $row_type['type'];
if ($type == $user_type) {
$response_array['data'] .= "<option value='$type'
selected='selected'>$type</option>";
}else {
$response_array['data'] .= "<option
value='$type'>$type</option>";

}
}
$response_array['data'] .= "</select>
</div>
<div class='col-sm-4 col-xs-4'>
<label for='upd_user_phone'>Is User an Admin?</label>
<select name='upd_user_isadm' class='form-control'>
<option value=''>Please Select</option>";
if ($is_adm == 'Yes') {
$response_array['data'] .= "<option value='Yes' selected>Yes</option>
<option value='No'>No</option>";
}else {
$response_array['data'] .= "<option value='Yes'>Yes</option>
<option value='No' selected>No</option>";
}
$response_array['data'] .= "</select>
</div>
<div class='col-sm-4 col-xs-4'>
<label for='upd_user_phone'>Is User a Manager?</label>
<select name='upd_user_ismgr' class='form-control'>
<option value=''>Please Select</option>";
if ($is_mgr == 'Yes') {
$response_array['data'] .= "<option value='Yes' selected>Yes</option>
<option value='No'>No</option>";
}else {
$response_array['data'] .= "<option value='Yes'>Yes</option>
<option value='No' selected>No</option>";
}
$response_array['data'] .= "</select>
</div>
<div class='col-sm-4 col-xs-4'>
<label for='upd_user_phone'>Is User a Supervisor?</label>
<select name='upd_user_issup' class='form-control'>
<option value=''>Please Select</option>";
if ($is_sup == 'Yes') {
$response_array['data'] .= "<option value='Yes' selected>Yes</option>
<option value='No'>No</option>";
}else {
$response_array['data'] .= "<option value='Yes'>Yes</option>
<option value='No' selected>No</option>";
}
$response_array['data'] .= "</select>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Password</label>
<input type='password' class='form-control' id='upd_user_pwd'
name='upd_user_pwd'></input>
<div id='pswd_info'>
<h4>Password must meet the following requirements:</h4>
<i id='letter' class='invalid fa fa-close'>At least <strong>one
letter</strong></i>
<i id='capital' class='invalid fa fa-close'>At least <strong>one capital
letter</strong></i>
<i id='number' class='invalid fa fa-close'>At least <strong>one
number</strong></i>
<i id='length' class='invalid fa fa-close'>Be at least <strong>8
characters</strong></i>
</div>
</div>
<div class='col-sm-4 col-xs-4'>
<label class='control-label'>Confirm Password</label>
<input type='password' class='form-control' id='upd_user_pwd_conf'
name='upd_user_pwd_conf' onkeyup='checkPass(); return false;'></input>
<span id='confirmMessage' class='confirmMessage'></span>
</div>
</div>
<button id='updUserButton' type='submit' class='btn btn-block btn-
primary'>Update User</button>
</form>
<script>

function checkPass()
{
var pass1 = document.getElementById('upd_user_pwd');
var pass2 = document.getElementById('upd_user_pwd_conf');
var message = document.getElementById('confirmMessage');
var goodColor = '#66cc66';
var badColor = '#ff6666';
if(pass1.value == pass2.value){
pass2.style.borderColor = goodColor;
message.style.color = goodColor;
message.innerHTML = 'Passwords Match!';
}else{
pass2.style.borderColor = badColor;
message.style.color = badColor;
message.innerHTML = 'Passwords Do Not Match!'
}
}

$(document).ready(function() {
$('#upd_user_pwd').keyup(function() {

var pswd = $('#upd_user_pwd').val();

if ( pswd.length < 8 ) {
$('#length').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
} else {
$('#length').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
}

if ( pswd.match(/[A-z]/) ) {
$('#letter').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#letter').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}

if ( pswd.match(/[A-Z]/) ) {
$('#capital').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#capital').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}

if ( pswd.match(/\d/) ) {
$('#number').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#number').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}
}).focus(function() {
$('#pswd_info').show();
}).blur(function() {
$('#pswd_info').hide();
});
});
</script>
";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end updateUserModal

//begin newUserModal

/**
*
*/
function newUserModal() {

global $con, $con_adm;

$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New User</h3>";
echo "<form class='form-horizontal' id='new_user_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
$qry = $con->prepare("SELECT agency_name,agency_id from agency_globals where
(agency_id = ? OR mast_agency_id = ?) and agency_status = ? order by id asc");
$act = 'Active';
$qry->bind_param("sss", $agency_id, $agency_id, $act);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 1) {
echo " <div class='form-
group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<select class='form-control'
name='new-user-agency-id' id='new-user-agency-id'>";
$qry->bind_result($an, $aid);
while ($qry->fetch()) {
if ($aid == $agency_id) {
echo "<option value='$aid' selected>$an</option>";
}else {
echo "<option value='$aid'>$an</option>";
}
}
echo "</select>
</div>
</div>";
}

echo " <div


class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='text' class='form-control' id='new_user_fname' name='new_user_fname'
placeholder='First Name'></input></div></div>";
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='text' class='form-control' id='new_user_lname' name='new_user_lname'
placeholder='Last Name'></input></div></div>";
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='text' class='form-control' id='new_user_email' name='new_user_email'
placeholder='Email'></input></div></div>";
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='text' class='form-control' id='new_user_phone' name='new_user_phone'
placeholder='Phone Number'></input></div></div>";
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label for='new_user_phone'>User Type</label>";
echo '<select name="new_user_type" class="form-control">
<option value="">Please Select User Type</option>
<option value="Agent" selected="">Agent</option>
<option value="CSR">CSR</option>
<option value="Office Manager">Office Manager</option>
<option value="Owner">Owner</option>
</select></div></div>';
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label for='new_user_phone'>Access Level</label>";
echo '<select name="new_user_ismgr" class="form-control">
<option value="">Is User an Administrator?</option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select></div></div>';
echo ' <div
class="form-group">
<div class="col-md-
10 col-sm-10 col-xs-10">
<select name="new_user_isagent" class="form-control">
<option value="">Is User an Agent?</option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select></div></div>';
echo " <div
class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='text' class='form-control' id='new_user_pcode' name='new_user_pcode'
placeholder='Producer Code'></input></div></div>";

echo " <div


class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='password' class='form-control' id='new_user_pwd' name='new_user_pwd'
placeholder='Password'></input></div></div>";
echo '<div id="pswd_info">
<h4>Password must meet the following requirements:</h4>
<i id="letter" class="invalid fa fa-close">At least <strong>one
letter</strong></i>
<i id="capital" class="invalid fa fa-close">At least <strong>one capital
letter</strong></i>
<i id="number" class="invalid fa fa-close">At least <strong>one
number</strong></i>
<i id="length" class="invalid fa fa-close">Be at least <strong>8
characters</strong></i>
</div>';

echo " <div


class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<input type='password' class='form-control' id='new_user_pwd_conf'
name='new_user_pwd_conf' placeholder='Confirm Password' onkeyup='checkPass();
return false;'></input></div></div>";
echo '<span id="confirmMessage" class="confirmMessage"></span>';
echo "<hr><hr>";

echo '<button id="addUserButton" type="submit" class="btn btn-block btn-


primary" disabled>Add User</button>
</form>';

echo "
<script>

function checkPass()
{
//Store the password field objects into variables ...
var pass1 = document.getElementById('new_user_pwd');
var pass2 = document.getElementById('new_user_pwd_conf');
//Store the Confimation Message Object ...
var message = document.getElementById('confirmMessage');
//Set the colors we will be using ...
var goodColor = '#66cc66';
var badColor = '#ff6666';
//Compare the values in the password field
//and the confirmation field
if(pass1.value == pass2.value){
//The passwords match.
//Set the color to the good color and inform
//the user that they have entered the correct password
pass2.style.borderColor = goodColor;
message.style.color = goodColor;
message.innerHTML = 'Passwords Match!'
$('#addUserButton').prop('disabled', false);
}else{
//The passwords do not match.
//Set the color to the bad color and
//notify the user.
pass2.style.borderColor = badColor;
message.style.color = badColor;
message.innerHTML = 'Passwords Do Not Match!'
}
}
$(document).ready(function() {

$('#new_user_pwd').keyup(function() {

// set password variable


var pswd = $('#new_user_pwd').val();

//validate the length


if ( pswd.length < 8 ) {
$('#length').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
} else {
$('#length').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
}

//validate letter
if ( pswd.match(/[A-z]/) ) {
$('#letter').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#letter').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}

//validate capital letter


if ( pswd.match(/[A-Z]/) ) {
$('#capital').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#capital').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}

//validate number
if ( pswd.match(/\d/) ) {
$('#number').removeClass('invalid fa fa-close').addClass('valid fa fa-check');
} else {
$('#number').removeClass('valid fa fa-check').addClass('invalid fa fa-close');
}

// keyup code here


}).focus(function() {
$('#pswd_info').show();
}).blur(function() {
$('#pswd_info').hide();
});

});

</script>
";
}//end newUserModal

//being quotedLast7Days

/**
*
*/
function quotedLast7Days() {

global $con, $con_adm;


$agency_id = $_SESSION['agency_id'];
$assigned_id = $_SESSION['uid'];
$query = $con->query("SELECT
ts,contact_id,fname,lname,agency_contacts.ContactId from
lead_history,agency_contacts where new_status = 'Quoted' and ts >= DATE_SUB(NOW(),
INTERVAL 2 DAY) and lead_history.agency_id = '$agency_id' and
lead_history.ContactId in(select ContactId from agency_contacts where assigned_to =
'$assigned_id' and agency_id = '$agency_id') and lead_history.ContactId =
agency_contacts.ContactId group by lead_history.ContactId order by ts desc");
echo "<h3>Quoted Leads in the Last 7 Days</h3>";
echo "<table datatable='datatable' class='row-border hover' id='need-
followup-grid' style='width:100%;'>
<thead>
<tr>
<th>Lead Name</th>
<th>Quoted Date</th>
<th>Quick Add Task</th>
</tr>
</thead>
<tbody>";
while ($row = $query->fetch_assoc()) {
$name = $row['fname'] . " " . $row['lname'];
$contact_id = $row['contact_id'];
$ContactId = $row['ContactId'];
$time = date("F j, Y g:i a", strtotime($row['ts']));
$today = date("y-m-d", time());
echo "<tr>
<td><a href='#' id='contact_info' data-value='$ContactId'>$name</a></td>
<td>$time</td>
<td><a href='#' id='quickContactTask' style='color: #fff;' class='topLink-
right btn btn-new' data-value='$contact_id' data-target='$contact_id'>Quick Follow-
up Task</a><div class='col-md-5 col-sm-5 col-xs-5'><div class='toggles-right' data-
target='$contact_id'><form class='form-horizontal quick_task_form'
name='quick_task_form_$contact_id' id='quick_task_form_$contact_id'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
$qry = $con_adm->prepare("SELECT Priority from
ams_admin.task_priorities where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-
5'><select class='form-control' name='task_priority'><option value=''>Please Select
Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div></div><label class='control-label'>Task
Date:</label><input type='text' style='width:50%;' class='datepicker form-control'
id='quick_task_date' name='quick_task_date' /><input type='text'
name='quick_task_desc' value='Get policy bound'></input><input type='hidden'
name='quick_task_contact' value='$contact_id'></input><button type='submit'
class='btn btn-new' style='color: #fff;'>Add Task</button></form></div></div></td>
</tr>";

}//end while
echo "</tbody></table>";

}//end quotedLast7Days

//being quotedLast7Days

/**
*
*/
function newProspLast7Days() {

global $con, $con_adm;

$agency_id = $_SESSION['agency_id'];
$assigned_id = $_SESSION['uid'];
$query = $con->query("SELECT
ts,contact_id,fname,lname,agency_contacts.ContactId from
lead_history,agency_contacts where new_status = 'Verified' and ts >=
DATE_SUB(NOW(), INTERVAL 2 DAY) and lead_history.agency_id = '$agency_id' and
lead_history.ContactId in(select ContactId from agency_contacts where assigned_to =
'$assigned_id' and agency_id = '$agency_id') and lead_history.ContactId =
agency_contacts.ContactId group by lead_history.ContactId order by ts desc");
echo "<h3>New Prospects in the Last 7 Days</h3>";
echo "<table datatable='datatable' class='row-border hover' id='need-quoted-
grid' style='width:100%;'>
<thead>
<tr>
<th>Lead Name</th>
<th>Date Verified</th>
<th>Quick Add Task</th>
</tr>
</thead>
<tbody>";
while ($row = $query->fetch_assoc()) {
$name = $row['fname'] . " " . $row['lname'];
$contact_id = $row['contact_id'];
$ContactId = $row['ContactId'];
$time = date("F j, Y g:i a", strtotime($row['ts']));
echo "<tr>
<td><a href='#' id='contact_info' data-value='$ContactId'>$name</a></td>
<td>$time</td>
<td><a href='#' id='quickContactTask' style='color: #fff;' class='topLink-
right btn btn-new' data-value='$contact_id' data-target='$contact_id'>Quick Follow-
up Task</a><div class='col-md-5 col-sm-5 col-xs-5'><div class='toggles-right' data-
target='$contact_id'><form class='form-horizontal quick_task_form'
name='quick_task_form_$contact_id' id='quick_task_form_$contact_id'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
$qry = $con_adm->prepare("SELECT Priority from
ams_admin.task_priorities where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-
5'><select class='form-control' name='task_priority'><option value=''>Please Select
Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div></div><label class='control-label'>Task
Date:</label><input type='text' style='width:50%;' class='datepicker form-control'
id='quick_task_date' name='quick_task_date' /><input type='text'
name='quick_task_desc' value='Get lead quoted'></input><input type='hidden'
name='quick_task_contact' value='$contact_id'></input><button type='submit'
class='btn btn-new' style='color: #fff;'>Add Task</button></form></div></div></td>
</tr>";

}//end while
echo "</tbody></table>";

}//end newProspLast7Days

//being quotedLast7Days

/**
*
*/
function needVerifLast7Days() {

global $con, $con_adm;

$agency_id = $_SESSION['agency_id'];
$assigned_id = $_SESSION['uid'];
$query = $con->query("SELECT
ts,contact_id,fname,lname,agency_contacts.ContactId from
lead_history,agency_contacts where (new_status = 'Imported' or new_status = 'New
Lead') and ts >= DATE_SUB(NOW(), INTERVAL 2 DAY) and lead_history.agency_id =
'$agency_id' and lead_history.ContactId in(select ContactId from agency_contacts
where assigned_to = '$assigned_id' and agency_id = '$agency_id') and
lead_history.ContactId = agency_contacts.ContactId group by lead_history.ContactId
order by ts desc");
echo "<h3>Leads Added in the Last 7 Days that Need to be Verified</h3>";
echo "<table datatable='datatable' class='row-border hover' id='need-verif-
grid' style='width:100%;'>
<thead>
<tr>
<th>Lead Name</th>
<th>Date Verified</th>
<th>Quick Add Task</th>
</tr>
</thead>
<tbody>";
while ($row = $query->fetch_assoc()) {
$name = $row['fname'] . " " . $row['lname'];
$contact_id = $row['contact_id'];
$time = date("F j, Y g:i a", strtotime($row['ts']));
$ContactId = $row['ContactId'];
echo "<tr>
<td><a href='#' id='contact_info' data-value='$ContactId'>$name</a></td>
<td>$time</td>
<td><a href='#' id='quickContactTask' style='color: #fff;' class='topLink-
right btn btn-new' data-value='$contact_id' data-target='$contact_id'>Quick Follow-
up Task</a><div class='col-md-5 col-sm-5 col-xs-5'><div class='toggles-right' data-
target='$contact_id'><form class='form-horizontal quick_task_form'
name='quick_task_form_$contact_id' id='quick_task_form_$contact_id'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
$qry = $con_adm->prepare("SELECT Priority from
ams_admin.task_priorities where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-
5'><select class='form-control' name='task_priority'><option value=''>Please Select
Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div></div><label class='control-label'>Task
Date:</label><input type='text' style='width:50%;' class='datepicker form-control'
id='quick_task_date' name='quick_task_date' /><input type='text'
name='quick_task_desc' value='Get lead verified'></input><input type='hidden'
name='quick_task_contact' value='$contact_id'></input><button type='submit'
class='btn btn-new' style='color: #fff;'>Add Task</button></form></div></div></td>
</tr>";

}//end while
echo "</tbody></table>";

}//end needVerifLast7Days

//Begin addQuickTask

/**
*
* @return unknown
*/
function addQuickTask() {
header('Content-type: application/json');
global $con;

$explode = explode(' | ', $_POST['task_contact_assoc']);


if (isset($explode[1])) {
$contact_assoc = $con->real_escape_string($explode[1]);
}else {
$contact_assoc = $con-
>real_escape_string($_POST['task_contact_assoc']);
}
$task_assigned = $con->real_escape_string($_SESSION['uid']);
$task_desc = $con->real_escape_string($_POST['quick_task_desc']);
$due_date = $con->real_escape_string($_POST['quick_task_date']);
$priority = $con->real_escape_string($_POST['task_priority']);
$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $contact_assoc);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$current_uid = $_SESSION['uid'];
$ins_qry = $con->query("INSERT into
tasks(user_id,description,due_date,assigned_by,ContactId,Priority,agency_id)
VALUES('$task_assigned','$task_desc','$due_date','$current_uid','$ContactId','$prio
rity','$agency_id')");

if (!$ins_qry) {

$response_array['status'] = "We were unable to add your task. If this


problem persists please contact your Administrator.";
echo json_encode($response_array);
return false;
}else {
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Task','$current_uid','lead_$contact_assoc')");
$response_array['status'] = "Task Added Successfully, this page will
refresh in a few seconds.";
echo json_encode($response_array);

} //End addQuickTask

//begin trackQuotedLife

/**
*
*/
function quickAddTaskModal() {
global $con, $con_qr, $con_adm;
$agency_id = $_SESSION['agency_id'];
$contact_id = $_POST['quick-add-task'];
$rd_qry = $con->query("SELECT fname,lname,user_id from users_table where
agency_id = '$agency_id' order by lname asc");
echo "<h3 style='text-align: center;'>Add New Task</h3>";
echo "<form class='form-horizontal' id='new_task_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<div class='row text-center' style='display:flex;flex-wrap:wrap;'>";
echo "<div class='col-sm-4 col-xs-4'>";
echo "<label for='task_assigned'>Assign Task To</label>";
echo "<select class='form-control' name='task_assigned'>
<option value=''>Please Select</option>";
while ($row = $rd_qry->fetch_assoc()) {
$count = 1;
$fname = $row['fname'];
$lname = $row['lname'];
$user_id = $row['user_id'];
echo " <option value='$user_id'>$lname,
$fname</option>";
$count++;
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->query("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = '$agency_id'");
if (mysqli_num_rows($sub_query) > 0) {
while ($row_sub = $sub_query->fetch_assoc()) {
$agency_name = $row_sub['agency_name'];
$sub_id = $row_sub['agency_id'];

echo "<option disabled>----$agency_name----</option>";

$ld_qry = $con->query("SELECT concat(lname, ', ', fname) as


name, user_id from users_table where agency_id = '$sub_id' order by lname asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['name'];
$agent_id = $row['user_id'];

echo "<option value='$agent_id'>$name</option>";

}//end while

}//sub agency while


}//end check for rows
}//end check if mgr
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups
where agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
echo "<option value='' disabled>----GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
if($assigned_to == $GroupId){
echo "<option value='$GroupId'
selected>$GroupName</option>";
}else{
echo "<option
value='$GroupId'>$GroupName</option>";
}
}
}
echo '</select></div>';
if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=
'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$qry = $con_adm->prepare("SELECT Priority from ams_admin.task_priorities
where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='col-sm-4 col-xs-4'>";
echo "<label for='task_assigned'>Task Priority</label>";
echo "<select class='form-control' name='task_priority'><option
value=''>Please Select Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
echo "<option value='$priority'>$priority</option>";
}
echo "</select></div>";
echo "<div class='col-sm-4 col-xs-4'>";
echo "<label for='task_assigned'>Task Description</label>";
echo "
<input type='text' class='form-control' name='task_desc'
id='task_desc'></input></div>";
$today = date("Y-m-d");
echo "<div class='col-sm-4 col-xs-4'>";
echo "<label for='task_date'>Due Date</label>
<input type='text' class='datepicker form-control' id='task_date'
name='task_date' min='$today' required />
</div>";
echo "<input type='hidden' class='form-control' id='task_contact_assoc'
name='task_contact_assoc' value='$contact_id'></input>";
echo '<button type="submit" class="btn btn-block btn-primary">Add
Task</button></div>
</form>';

echo '
<script type="text/javascript">

</script>

';
}/**
* End quickAddTaskModal
* begin getZipForm
*/
function getZipForm() {
global $con;
echo " <form class='form-horizontal' id='zip_map_add'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='text' class='form-control' id='zipcode_add'
name='zipcode_add' placeholder='Zipcode or Range to Map'></input>
<select name='zip_agency' id='zip_agency' class='form-control'>
<option value=''>Please select agency to map to</option>";
getAgencyZipOptions();
echo " </select>
<input type='submit' value='Add Mapping' class='btn btn-new'></input>
</form>";
}//end getZipForm

//begin newGroupModal

/**
*
*/
function newGroupModal() {

global $con;

$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Group</h3>";
echo "<form class='form-horizontal' id='new_group_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<input type='text' class='form-control' id='new_group_name'
name='new_group_name' placeholder='Group Name'></input>";
echo "<label class='control-label'>Group Manager</label><select class='form-
control' name='new_group_mgr'><option value=''>Please Select Group
Manager</option>";
$qry = $con->prepare("SELECT user_id,lname,fname from users_table where
(is_sup = ? OR is_mgr = ?) ORDER BY lname ASC");
$y = 'Yes';
$qry->bind_param("ss", $y, $y);
$qry->execute();
$qry->store_result();
$qry->bind_result($uid, $ul, $uf);
while ($qry->fetch()) {
echo "<option value='$uid'>$ul, $uf</option>";
}
echo "<select></div>";
echo "<textarea class='form-control' id='new_group_desc'
name='new_group_desc' placeholder='Group Description'></textarea>";
echo "<label class='control-label'>Is Default:</label><input type='checkbox'
class='bootstrap-switch form-control' name='is_grp_default' style='float:right;'
value='yes'></input><br>";
echo "<input type='submit' class='btn btn-block btn-primary' value='Add
Group'></input>";
echo "<script>
$('.bootstrap-switch').bootstrapSwitch();
</script>";
}/**
* end newGroupModal
* begin addGroup
*/
function addGroup() {
global $con;

$group_name = $con->real_escape_string($_POST['new_group_name']);
$group_desc = $con->real_escape_string($_POST['new_group_desc']);
$group_mgr = $con->real_escape_string($_POST['new_group_mgr']);
$agency_id = $_SESSION['agency_id'];
if (isset($_POST['is_grp_default'])) {
$is_default = '1';
}else {
$is_default = '0';
}
$ins = $con->query("INSERT into
agency_agent_groups(agency_id,group_name,group_desc,is_default,GroupManager)
VALUES('$agency_id','$group_name','$group_desc','$is_default','$group_mgr')");
if (mysqli_affected_rows($con) > 0) {
$current_uid = $con->real_escape_string($_SESSION['uid']);
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Group','$current_uid','$group_name')");
$qry = $con->query("SELECT id from agency_agent_groups where group_name
= '$group_name' and agency_id = '$agency_id' ");
$row = $qry->fetch_assoc();
$group_id = $row['id'];
$perm_qry = $con->query("SELECT id from default_perms where
have_by_default = '1' ");
$qry = $con->prepare("UPDATE agency_agent_groups set GroupId = UUID()
where id = ?");
$qry->bind_param("i", $group_id);
$qry->execute();
$qry = $con->prepare("SELECT GroupId from agency_agent_groups where id
= ?");
$qry->bind_param("i", $group_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($GroupId);
$qry->fetch();
while ($row_perm = $perm_qry->fetch_assoc()) {
$perm_id = $row_perm['id'];
$ins_query = $con->query("INSERT into
group_permissions(agency_id,group_id,perm_id,GroupId)
VALUES('$agency_id','$group_id','$perm_id','$GroupId')");
}
header('Content-type: application/json');
$response_array['status'] = 'Group Added';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//end addGroup

/**
* begin editGroup
*/
function editGroup() {
global $con;
$group_id = $con->real_escape_string($_POST['edit_group']);
$grp_qry = $con->query("SELECT
is_default,group_name,id,group_desc,GroupManager from agency_agent_groups where id
= '$group_id' ");
$row_grp = $grp_qry->fetch_assoc();
$group_name = $row_grp['group_name'];
$group_desc = $row_grp['group_desc'];
$gm = $row_grp['GroupManager'];
$response_array['data'] = "
<div
class='panel-group' id='accordion-1' role='tablist' aria-multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingOne-1'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-1'


href='#collapseOne-1' aria-expanded='true' aria-controls='collapseOne-1'><i
class='fa fa-minus-square'></i>Group Info</a></h4>

</div>

<div id='collapseOne-1' class='panel-collapse collapse in' role='tabpanel' aria-


labelledby='headingOne-1'>

<div class='panel-body'>
<form
class='form-horizontal' id='upd_group_info_form' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>

<div class='row flexRow'>

<input type='hidden' name='group_id' value='$group_id'></input>

<div class='col-sm-4 col-xs-4'>

<label class='control-label'>Group Name</label>

<input type='text' class='form-control' id='upd_group_name'


name='upd_group_name' value='$group_name'></input>

</div>";
$response_array['data'] .= "
<div class='col-sm-4 col-xs-4'>

<label class='control-label'>Group Manager</label>

<select class='form-control' name='upd_group_mgr'><option


value=''>Please Select Group Manager</option>";
$qry = $con->prepare("SELECT user_id,lname,fname from users_table where
(is_sup = ? OR is_mgr = ?) ORDER BY lname ASC");
$y = 'Yes';
$qry->bind_param("ss", $y, $y);
$qry->execute();
$qry->store_result();
$qry->bind_result($uid, $ul, $uf);
while ($qry->fetch()) {
if ($uid == $gm) {
$response_array['data'] .= "<option value='$uid' selected>$ul,
$uf</option>";
}else {
$response_array['data'] .= "<option value='$uid'>$ul,
$uf</option>";
}
}
$response_array['data'] .= "<select></div>

<div class='col-sm-4 col-xs-4'>

<label class='control-label'>Group Description</label>

<textarea class='form-control' id='upd_group_desc'


name='upd_group_desc' placeholder='Group Description'>$group_desc</textarea>

</div>

<div class='col-sm-4 col-xs-4'>

<label class='control-label'>Is Default Group?</label>";


if ($row_grp['is_default'] == '0') {
$response_array['data'] .= "
<input type='checkbox' class='bootstrap-switch form-control'
name='upd_is_default' value='yes'></input>";
}else {
$response_array['data'] .= "

<input type='checkbox' class='bootstrap-switch form-control' name='upd_is_default'


value='yes' checked></input>";
}
$response_array['data'] .= "<br>

<input type='submit' class='btn btn-block btn-primary' value='Update


Group'></input>

</form>

</div>

</div>

</div>
</div>
<div
class='panel-group' id='accordion-2' role='tablist' aria-multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingTwo-1'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-1'


href='#collapseTwo-1' aria-expanded='false' aria-controls='collapseTwo-
1'class='collapsed'><i class='fa fa-plus-square'></i>Group Permissions</a></h4>

</div>

<div id='collapseTwo-1' class='panel-collapse collapse' role='tabpanel' aria-


labelledby='headingTwo-1'>

<div class='panel-body'>

<form class='form-horizontal' id='upd_group_perms_form'


action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='hidden' name='group_id' value='$group_id'></input>";
$default_perms = $con->query("SELECT perm_name,id,permission_desc from
default_perms order by perm_name ASC ");
$response_array['data'] .= "
<div class='col-md-5 col-sm-5 col-xs-5'>
<table id='perm-grid' class='table table-sorting dataTable no-footer'>
<thead>
<tr>
<th>Permission</th>
<th>Description</th>
<th>Active?</th>
<tbody><tr>";
while ($row_def = $default_perms->fetch_assoc()) {
$perm_id = $row_def['id'];
$perm_name = $row_def['perm_name'];
$perm_desc = $row_def['permission_desc'];
$grp_perms = $con->query("SELECT id from group_permissions where
perm_id = '$perm_id' and group_id = '$group_id'");
if (mysqli_num_rows($grp_perms) < 1) {
$response_array['data'] .= "

<td>$perm_name</td>

<td><small>$perm_desc</small></td>

<td><input type='checkbox' class='bootstrap-switch form-control'


name='permUpd[]' style='float:right;' value='$perm_id'></td>

";
}else {
$response_array['data'] .= "

<td>$perm_name</td>

<td><small>$perm_desc</small></td>

<td><input type='checkbox' class='bootstrap-switch form-control'


name='permUpd[]' style='float:right;' value='$perm_id' checked></td>

";
}
$response_array['data'] .= "</tr>";
}//end while
$response_array['data'] .= "</tbody></table>";

$response_array['data'] .= "

<div class='col-md-5 col-sm-5 col-xs-5'>

<input type='submit' class='btn btn-block btn-primary' value='Update Group


Permissions'></input>

</div>

</form>

</div>

</div>

</div>
</div>
</div>
<div
class='panel-group' id='accordion-3' role='tablist' aria-multiselectable='true'>

<div class='panel panel-default'>

<div class='panel-heading icon-right' role='tab' id='headingThree-1'>

<h4 class='panel-title'><a data-toggle='collapse' data-parent='#accordion-2'


href='#collapseThree-1' aria-expanded='true' aria-controls='collapseThree-1'><i
class='fa fa-minus-square'></i>Group Member Info</a></h4>
</div>

<div id='collapseThree-1' class='panel-collapse collapse in' role='tabpanel' aria-


labelledby='headingThree-1'>

<div class='panel-body'>
<form name='updMembers'
id='updMembers' class='form-horizontal form-ticket' role='form'
action='functions/functions.php' method='post' enctype='multipart/form-data'>
<input type='hidden' name='group_id' value='$group_id'></input>
<table id='user-grid' class='table
table-sorting dataTable no-footer'>
<thead>
<tr>

<th>Name</th>
<th>Is
Member</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<div class='col-md-5 col-sm-5 col-
xs-5'>
<button type='submit'
class='btn btn-primary btn-block'>Update Current Users</button>
</div>
</form>

</div>

</div>

</div>
</div>
<script>
$(document).ready(function() {
var dataTable = $('#user-grid').DataTable( {
responsive: {
details: {
renderer: function ( api, rowIdx ) {
var data = api.cells( rowIdx,
':hidden' ).eq(0).map( function ( cell ) {
var header = $
( api.column( cell.column ).header() );
return '<p
style=\"color:#00A\">'+header.text()+' : '+api.cell( cell ).data()+'</p>';
} ).toArray().join('');

return data ?
$('<table/>').append( data ) : false;
}
}
},
processing: true,
bDeferRender: true,
bFilter: true,
serverSide: true,
autowidth: false,
errMode: 'none',
'sDom': 'Rlrftip',
searchDelay: 700,
ajax: 'user-grid-data.php?grp=$group_id', // json
datasource
'drawCallback': function(settings, json) {
$('.bootstrap-switch', '#user-grid').bootstrapSwitch();
}
} );
} );

</script>
<script>
$('.bootstrap-switch').bootstrapSwitch();
$('#policy_info_panel input[placeholder]').placeholderLabel({
labelColor: '##497cb1',
inInput: true,
labelSize: '12px'
});
</script>
";

header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}/**
* end editGroup
* begin updatePermissions
*/
function updatePermissions() {
global $con;
$grp_id = $con->real_escape_string($_POST['group_id']);
$qry = $con->prepare("SELECT GroupId from agency_agent_groups where id = ?");
$qry->bind_param("i", $grp_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($GroupId);
$qry->fetch();
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$totalCount = count($_POST['permUpd']);
$counter = 1;
$del_qry = "DELETE from group_permissions where group_id = '$grp_id' and
agency_id = '$agency_id' and perm_id not in(";
foreach ($_POST['permUpd'] as $perm) {
if (is_numeric($perm)) {
if ($counter === $totalCount) {
$del_qry .= "'$perm')";

$perm_chk = "SELECT id from group_permissions where perm_id


= '$perm' and group_id = '$grp_id' and agency_id = '$agency_id'";
$chk = $con->query($perm_chk);
if (mysqli_num_rows($chk) < 1) {
$ins = $con->query("INSERT into
group_permissions(group_id,perm_id,agency_id,GroupId)
VALUES('$grp_id','$perm','$agency_id','$GroupId')");
if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";

}//end check if insert was successful

}//end check if permissions exists


}else {
$del_qry .= "'$perm',";

$perm_chk = "SELECT id from group_permissions where perm_id


= '$perm' and group_id = '$grp_id' and agency_id = '$agency_id'";
$chk = $con->query($perm_chk);
if (mysqli_num_rows($chk) < 1) {

$ins = $con->query("INSERT into


group_permissions(group_id,perm_id,agency_id,GroupId)
VALUES('$grp_id','$perm','$agency_id','$GroupId')");
if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";

}//end check if insert was successful

}//end check if permissions exists

$counter++;

}//end check if last item in array


}//end check for number
}//end foreach

$del = $con->query($del_qry);

if (isset($response_array['status'])) {
header('Content-type: application/json');
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Permissions Updated";
echo json_encode($response_array);

}//end check if status already set


}//end updatePermissions

/**
* begin updateMembers
*/
function updateMembers() {
global $con;
$grp_id = $con->real_escape_string($_POST['group_id']);
$qry = $con->prepare("SELECT GroupId from agency_agent_groups where id
= ?");
$qry->bind_param("i", $grp_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($GroupId);
$qry->fetch();
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$totalCount = count($_POST['grp_member']);
$counter = 1;
$del_qry = "DELETE from agency_agent_group_mappings where group_id =
'$grp_id' and agency_id = '$agency_id' and user_id not in(";
foreach ($_POST['grp_member'] as $uid) {
if (is_numeric($uid)) {
if ($counter === $totalCount) {
$del_qry .= "'$uid')";

$uid_chk = "SELECT id from agency_agent_group_mappings


where user_id = '$uid' and group_id = '$grp_id' and agency_id = '$agency_id'";
$chk = $con->query($uid_chk);
if (mysqli_num_rows($chk) < 1) {

$ins = $con->query("INSERT into


agency_agent_group_mappings(group_id,user_id,agency_id,GroupId)
VALUES('$grp_id','$uid','$agency_id','$GroupId')");
if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";

}//end check if insert was successful

}//end check if permissions exists


}else {
$del_qry .= "'$uid',";

$uid_chk = "SELECT id from agency_agent_group_mappings


where user_id = '$uid' and group_id = '$grp_id' and agency_id = '$agency_id'";
$chk = $con->query($uid_chk);
if (mysqli_num_rows($chk) < 1) {

$ins = $con->query("INSERT into


agency_agent_group_mappings(group_id,user_id,agency_id,GroupId)
VALUES('$grp_id','$uid','$agency_id','$GroupId')");
if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";

}//end check if insert was successful

}//end check if permissions exists

$counter++;

}//end check if last item in array


}//end check for number
}//end foreach

$del = $con->query($del_qry);

if (isset($response_array['status'])) {
header('Content-type: application/json');
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Members Updated";
echo json_encode($response_array);

}//end check if status already set


}/**
* end updateMembers
* begin updateGroup
*/
function updateGroup() {
global $con;
if (isset($_POST['upd_is_default'])) {
$def = 'Yes';
}
if (isset($def) && $def == 'Yes') {
$desc = $con->real_escape_string($_POST['upd_group_desc']);
$name = $con->real_escape_string($_POST['upd_group_name']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$group_id = $con->real_escape_string($_POST['group_id']);
$gm = $_POST['upd_group_mgr'];
$upd_def = $con->query("UPDATE agency_agent_groups set is_default =
'No' where agency_id = '$agency_id' ");
$upd_qry = $con->query("UPDATE agency_agent_groups set group_name =
'$name', group_desc = '$desc', is_default = '1', GroupManager = '$gm' where
agency_id = '$agency_id' and id = '$group_id' ");
}else {
$desc = $con->real_escape_string($_POST['upd_group_desc']);
$name = $con->real_escape_string($_POST['upd_group_name']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$group_id = $con->real_escape_string($_POST['group_id']);
$gm = $_POST['upd_group_mgr'];
$upd_qry = $con->query("UPDATE agency_agent_groups set group_name =
'$name', group_desc = '$desc', is_default = '0', GroupManager = '$gm' where
agency_id = '$agency_id' and id = '$group_id' ");
}//end check to see if is default

if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";

}//end check if insert was successful

if (isset($response_array['status'])) {
header('Content-type: application/json');
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Group Info Updated";
echo json_encode($response_array);

}//end check if status already set


}/**
* end updateGroup
* begin updateUser
*/
function updateUser() {
global $con;
$curr_email = $_SESSION['currsession_email'];
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$uid = $con->real_escape_string($_POST['upd_user_id']);
$email = $con->real_escape_string($_POST['upd_user_email']);
$phone = $con->real_escape_string($_POST['upd_user_phone']);
$type = $con->real_escape_string($_POST['upd_user_type']);
$is_mgr = $con->real_escape_string($_POST['upd_user_ismgr']);
$is_sup = $con->real_escape_string($_POST['upd_user_issup']);
$is_adm = $con->real_escape_string($_POST['upd_user_isadm']);
$is_agent = $con->real_escape_string($_POST['upd_user_isagent']);
$pcode = $con->real_escape_string($_POST['upd_user_pcode']);
if (isset($_POST['upd_user_pwd']) && $_POST['upd_user_pwd'] != '') {
$pass = md5($_POST['upd_user_pwd']);
}
$qry = "UPDATE users_table set email = '$email', phone = '$phone', user_type
= '$type', is_mgr = '$is_mgr', is_adm = '$is_adm', is_sup = '$is_sup',
producer_code = '$pcode', is_agent = '$is_agent' ";
if (isset($pass)) {
$qry .= ", password = '$pass'";
}
$qry .= " where user_id = '$uid' and agency_id = '$agency_id' ";

$upd_qry = $con->query($qry);

if ($upd_qry) {
header('Content-type: application/json');
$response_array['status'] = "User Updated";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}/**
* end updateUser
* begin submitToQuoteBotModal
*/
function submitToQuoteBotModal() {
global $con, $con_qr, $bUName, $bUPw;
$lead_id = $con->real_escape_string($_POST['sub_qb']);
if ($lead_id == '' && isset($_POST['lead_id'])) {
$lead_id = $con->real_escape_string($_POST['lead_id']);
}

$email = $con->real_escape_string($_SESSION['currsession_email']);
if ($email == '' && isset($_POST['submitter_email'])) {
$email = $con->real_escape_string($_POST['submitter_email']);
}
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
if ($agency_id == '' && isset($_POST['agency_id'])) {
$agency_id = $con->real_escape_string($_POST['agency_id']);
}

$lead_inf = $con->query("SELECT fname,lname,correlation_lead_id from


agency_contacts where id = '$lead_id' and agency_id = '$agency_id'");
$row_lead = $lead_inf->fetch_assoc();
$fname = $row_lead['fname'];
$lname = $row_lead['lname'];
$corr_id = $row_lead['correlation_lead_id'];
$get_corr = $con->query("SELECT
ip_id,ip_secret,integration_company_id,company_name,company_integrations.id from
agency_integrations,company_integrations where agency_integrations.agency_id =
'$agency_id' and company_name = 'QuoteRush' and integration_type = 'Lead' ");
$row_int = $get_corr->fetch_assoc();
$qr_id = $row_int['ip_id'];
$sec = $row_int['ip_secret'];
//check if allowed
$chk = $con_qr->query("SELECT AgencyName,DatabaseName,Agency_Id from
quoterush.agencies where QRId = '$qr_id' and SecretCMSKey = '$sec'");
if (mysqli_num_rows($chk) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Not Authorized";
echo json_encode($response_array);
}else {
$row_comp = $chk->fetch_assoc();
$db_name = $row_comp['DatabaseName'];
$dbname = $db_name;
$aid = $row_comp['Agency_Id'];
$prop_id = $con_qr->query("SELECT Id from $db_name.properties where
Lead_id = '$corr_id' ");
$row_prop = $prop_id->fetch_assoc();
$prp_id = $row_prop['Id'];
$response_array['data'] = "<form name='subQBOptions' id='subQBOptions'
class='form-horizontal form-ticket' role='form' action='functions/functions.php'
method='post' enctype='multipart/form-data'>
<select style='min-height: 250px;' class='form-control' name='qb_sites[]'
id='qb_sites' multiple>";
$options = array(
'login' => $bUName,
'password' => $bUPw,
'soap_version' => SOAP_1_2,
'cache_wsdl' => WSDL_CACHE_NONE,

'soapAction'=>'http://tempuri.org/ISecureClient/GetQuotableSitesForLead'
);
$client = new
SoapClient('https://quoterush.com/QRFrontDoor/SecureClient.svc?wsdl', $options);
$arr = array('agencyIdentifier' => $aid, 'leadId' => $corr_id,
'lineOfBusiness' => 'Home', 'handsFree' => true);
$wsa_namespace = 'http://www.w3.org/2005/08/addressing';
$ACTION_ISSUE =
'http://tempuri.org/ISecureClient/GetQuotableSitesForLead';// Url With method name
$NS_ADDR = 'http://www.w3.org/2005/08/addressing';
$TO = "https://quoterush.com/QRFrontDoor/SecureClient.svc";
$action = new SoapHeader($NS_ADDR, 'Action', $ACTION_ISSUE, true);
$to = new SoapHeader($NS_ADDR, 'To',
'https://quoterush.com/QRFrontDoor/SecureClient.svc', false);
$headerbody = array('Action' => $action, 'To' => $to);
$client->__setSoapHeaders($headerbody);
$info = $client->GetQuotableSitesForLead($arr);
if ($info != '') {
$sites = $sites = $info->GetQuotableSitesForLeadResult;
foreach ($sites->string as $carrier) {
$response_array['data'] .= "<option value='$carrier|
$prp_id|$lead_id'>$carrier</option>";
}
}

$response_array['data'] .= "</select><input type='submit'


id='submitSitesQB' class='btn btn-new' value='Submit to
QuoteBot'></input></form><span id='qb_sites_vals'></span>
<script>
$(function() {
$('#qb_sites').change(function() {
$('#qb_sites_vals').html('<b><u>Selected Sites:</u></b> ' + $(this).val());
});
});
</script>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check if allowed

}//end submitToQuoteBotModal

/**
* begin submitToQuoteBot
*/
function submitToQuoteBot() {
global $con, $con_qr;
$response_array['data'] = 0;
foreach ($_POST['qb_sites'] as $site) {
$explode = explode("|", $site);
$site = $explode[0];
$prp_id = $explode[1];
$lead_id = $explode[2];
$email = $con->real_escape_string($_SESSION['currsession_email']);
if ($email == '' && isset($_POST['submitter_email'])) {
$email = $con->real_escape_string($_POST['submitter_email']);
}
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
if ($agency_id == '' && isset($_POST['agency_id'])) {
$agency_id = $con->real_escape_string($_POST['agency_id']);
}

$lead_inf = $con->query("SELECT
fname,lname,correlation_lead_id,ContactId from agency_contacts where id =
'$lead_id' and agency_id = '$agency_id'");
$row_lead = $lead_inf->fetch_assoc();
$fname = $row_lead['fname'];
$lname = $row_lead['lname'];
$ContactId = $row_lead['ContactId'];
$corr_id = $row_lead['correlation_lead_id'];
$get_corr = $con->query("SELECT
ip_id,ip_secret,integration_company_id,company_name,company_integrations.id from
agency_integrations,company_integrations where agency_integrations.agency_id =
'$agency_id' and company_name = 'QuoteRush' and integration_type = 'Lead' ");
$row_int = $get_corr->fetch_assoc();
$qr_id = $row_int['ip_id'];
$sec = $row_int['ip_secret'];
//check if allowed
$chk = $con_qr->query("SELECT AgencyName,DatabaseName from
quoterush.agencies where QRId = '$qr_id' and SecretCMSKey = '$sec'");
if (mysqli_num_rows($chk) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Not Authorized";
echo json_encode($response_array);
}else {
$row_comp = $chk->fetch_assoc();
$company = 'QuoteRush';
$db_name = getIntConn($company);

$date = date("Y-m-d H:i:s");


$rand = rand(100, 999);
$series = date("YmdHis") . $rand;
if ($site == 'Prepared') {
$qry = $con_qr->prepare("SELECT Zip,County from
$db_name.properties where Lead_Id = ?");
$qry->bind_param("s", $corr_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($zip, $county);
$qry->fetch();
$ug1 = 'ZipsClosed';
$ug2 = 'ZipsClosedForNewBusiness';
$qry = $con_qr->prepare("SELECT Criteria1 from
quoterush.uwguidelines where UGId IN (SELECT UGId from quoterush.ugdefaults where
Guideline IN (?,?)) and Criteria1 = ?");
$qry->bind_param("sss", $ug1, $ug2, $zip);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
$ug1 = 'CountiesClosed';
$ug2 = 'CountiesClosedForNewBusiness';
$qry = $con_qr->prepare("SELECT Criteria1 from
quoterush.uwguidelines where UGId IN (SELECT UGId from quoterush.ugdefaults where
Guideline IN (?,?)) and Criteria1 = ?");
$qry->bind_param("sss", $ug1, $ug2, $county);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
$lobid = '578d1577-4e6f-11ea-bffc-
000d3a7ae61a';
if($corr_id != '' && $corr_id != '0'){
$ins_qry = $con_qr->query("INSERT
into
$db_name.remotequote(Lead_Id,NameFirst,NameLast,Property_Id,series_id,SiteName,Date
Submitted,Submitter,Status,OwnerDBName,QRId,ManagedSitesDatabaseName,LineOfBusiness
Id)
VALUES('$corr_id','$fname','$lname','$prp_id','$series','$site','$date','$email','N
ew','$db_name','$qr_id','$db_name','$lobid')");
if ($ins_qry) {
$row_id = $con_qr->insert_id;
$response_array['data']++;
$ins = $con->query("INSERT
into
qb_return(qr_row,agency_id,status,submitted_by,db_name,ContactId,site_name,correlat
ion_lead_id)
VALUES('$row_id','$agency_id','Submitted','$email','$db_name','$ContactId','$site',
'$corr_id')");
}else {
header('Content-type:
application/json');
$response_array['status'] =
"Failed";
echo
json_encode($response_array);
}
}else{
header('Content-type:
application/json');

$response_array['status'] = "Failed";
echo
json_encode($response_array);
}

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}else {
if($corr_id != '' && $corr_id != '0'){
$lobid = '578d1577-4e6f-11ea-bffc-000d3a7ae61a';
$ins_qry = $con_qr->query("INSERT into
$db_name.remotequote(Lead_Id,NameFirst,NameLast,Property_Id,series_id,SiteName,Date
Submitted,Submitter,Status,OwnerDBName,QRId,ManagedSitesDatabaseName,LineOfBusiness
Id)
VALUES('$corr_id','$fname','$lname','$prp_id','$series','$site','$date','$email','N
ew','$db_name','$qr_id','$db_name','$lobid')");
if ($ins_qry) {
$row_id = $con_qr->insert_id;
$response_array['data']++;
$ins = $con->query("INSERT into
qb_return(qr_row,agency_id,status,submitted_by,db_name,ContactId,site_name,correlat
ion_lead_id)
VALUES('$row_id','$agency_id','Submitted','$email','$db_name','$ContactId','$site',
'$corr_id')");
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}else{
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}

}
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}/**
* end submitToQuoteBot
* begin checkQBReturn
*/
function checkQBReturn() {
global $con, $con_qr;
$sel = $con->query("SELECT db_name,qr_row,submitted_by from qb_return where
status not like 'Complete'");
while ($row = $sel->fetch_assoc()) {
$db_name = $row['db_name'];
$row_id = $row['qr_row'];
$email = $row['submitted_by'];
$chk_qry = $con_qr->prepare("SELECT Premium from $db_name.remotequote
where id = ? and Status NOT LIKE ? and Status NOT LIKE ?");
$chk_qry->bind_param("sss", $row_id, $newstat, $quoting);
$new_stat = 'New';
$quoting = 'Quoting';
$chk_qry->execute();
$chk_qry->store_result();
if ($chk_qry->num_rows == 1) {
$chk_qry->bind_result($amt);
$chk_qry->fetch();
$upd_qry = $con->query("UPDATE qb_return set returned_amt =
'$amt', status = 'Complete' where qr_row = '$row_id' and submitted_by = '$email'");
}
}//end while
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$current_uid = $con->real_escape_string($_SESSION['uid']);
$qry = $con->query("SELECT
qb_return.id,returned_amt,submitted_date,site_name,CONCAT(fname, ' ',lname) as name
from qb_return,agency_contacts where returned_amt is not null and status =
'Complete' and ackd = 'No' and qb_return.ContactId in (select ContactId from
agency_contacts where (assigned_to = '$current_uid' OR assigned_to is null OR
assigned_to like '' OR assigned_to in (SELECT GroupId from agency_agent_groups
where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id =
'$current_uid')) )) and qb_return.agency_id = '$agency_id' and qb_return.ContactId
= agency_contacts.ContactId order by site_name asc");
if (mysqli_num_rows($qry) > 0) {
$num = mysqli_num_rows($qry);
echo " <div
class='item item-notifications'>
<div
class='dropdown-toggle' id='dropdownMenu-notifications' data-toggle='dropdown'
aria-expanded='true' role='button'>
<span
class='sr-only'>Notifications</span>
<span
class='pe-icon pe-7s-cash icon' tooltip-placement='bottom' uib-
tooltip='Notifiations'></span><span class='badge badge-circle badge-
success'>$num</span>
</div>
<div
class='dropdown-menu' role='menu' aria-labelledby='dropdownMenu-notifications'>
<div
class='notification-items no-overflow'>
<div class='dropdown-
footer'>
<a href='#'
class='dismissAllQB'>Dismiss All</a>
</div>";

while ($row_quotes = $qry->fetch_assoc()) {


$site = $row_quotes['site_name'];
$amt = str_replace('$', '', $row_quotes['returned_amt']);
$amt = '$' . number_format(intval($amt), 2);
$date_sub = date("F j,y g:i a",
strtotime($row_quotes['submitted_date']));
$name = $row_quotes['name'];
$q_id = $row_quotes['id'];

if ($amt == '$0.00') {
$amt = "Quote returned 0.00, please resubmit.";
}

echo "<div class='item media'>


<div class='media-
left profile'>
<img
class='profile' src='https://www.quoterush.com/newqr/img/favicons/favicon.ico'
alt=''>
</div>
<div class='media-
body'>
<span
class='sender display-block'>$site - $name</span>
<span
class='message-title display-block'>$amt</span>
<span
class='excerpt display-block'>$date_sub</span>
</div>
<div class='meta'>

<a href='#' id='quote_comp' data-value='$q_id'>Dismiss</a>


</div>
</div>";
}//end while get quotes
echo "</div></div></div>";
}//end check for returned quotes

}/**
* end checkQBReturn
* begin saveTemplateModal
*/
function saveTemplateModal() {
global $con;
if (isset($_POST['save_temp']) && $_POST['save_temp'] == 'true') {
$campaign = $con->real_escape_string($_POST['campaign']);
$qry = $con->query("SELECT name from email_campaign_categories where id
= '$campaign'");
if (mysqli_num_rows($qry) < 1) {
header('Content-type: application/json');
$response_array['status'] = 'No template found';
echo json_encode($response_array);
}else {
$row = $qry->fetch_assoc();
$camp_name = $row['name'];
$temp_text = $_POST['template_text'];
header('Content-type: application/json');
$response_array['data'] = "
<form name='addTemp' id='addTemp'
class='form-horizontal form-ticket' role='form' action='functions/functions.php'
method='post' enctype='multipart/form-data'>
<input type='hidden'
name='template_category' value='$campaign'></input>
<input type='text' class='form-control'
id='temp_cat' value='$camp_name'></input>
<input type='text' class='form-control'
placeholder='Template Name' name='new_template_name'></input>
<textarea rows='20' class='form-control'
name='new_template_text'>$temp_text</textarea>
<label class='control-label'>Is
Private:</label>
<input type='checkbox' class='bootstrap-
switch form-control' name='isPrivate' value='$perm_id' checked>
<input type='submit' class='btn btn-new'
value='Save Template' style='float:right;'></input>
</form>
<script>
$('.bootstrap-switch').bootstrapSwitch();
$('#policy_info_panel input[placeholder]').placeholderLabel({
labelColor: '##497cb1',
inInput: true,
labelSize: '12px'
});
</script>";
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end check if campaign category exists
}//end check if variable is true
}/**
* end saveTemplateModal
* begin saveNewTemplate
*/
function saveNewTemplate() {
global $con;
//clean
$name = $con->real_escape_string($_POST['new_template_name']);
$text = $con->real_escape_string($_POST['new_template_text']);
$cat = $con->real_escape_string($_POST['template_category']);
if (isset($_POST['isPrivate'])) {
$uid = $con->real_escape_string($_SESSION['uid']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$ins_qry = $con->query("INSERT into email_campaign_templates
(name,description,campaign_type,assigned_to,private,agency_id)
VALUES('$name','$text','$cat','$uid','1','$agency_id')");
}else {
$uid = $con->real_escape_string($_SESSION['uid']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$ins_qry = $con->query("INSERT into email_campaign_templates
(name,description,campaign_type,assigned_to,private,agency_id)
VALUES('$name','$text','$cat','$uid','0','$agency_id')");
}

if (mysqli_affected_rows($con) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Template Added Successfully, this page
will refresh in a few seconds.";
echo json_encode($response_array);
}

}//end saveNewTemplate

/**
*
*/
function getLeadVendorTable() {

global $con;

$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$count = 1;
$lookup_qry = $con->query("SELECT count(id) as lead_count, lead_source from
agency_contacts where imported_date > DATE_SUB(NOW(), INTERVAL 30 DAY) and
agency_id = '$agency_id' group by lead_source");
while ($row = $lookup_qry->fetch_assoc()) {
$lead_count = $row['lead_count'];
$lead_src = $row['lead_source'];
if ($lead_src == '') {
$lead_src = 'Internally Sourced';
}

if ($count == 1) {
$source = "'$lead_src'";
$counts = "$lead_count";
}
if ($count > 1) {
$source .= ",'$lead_src'";
$counts .= ",$lead_count";
}
$count++;
}//end while
echo "
<canvas id='leadVendorChart'></canvas>
<script>
// Chart.defaults.global.elements.rectangle.backgroundColor = '#FF0000';
var bar_ctx = document.getElementById('leadVendorChart');
var bar_chart = new Chart(bar_ctx, {
type: 'bar',
data: {
labels: [$source],
datasets: [
{
label: ['Lead Count by Source'],
data: [$counts],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)',
'rgba(229, 117, 117, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(229, 117, 117, 1)'
]
}
]
},
options: {
animation: {
duration: 10,
},
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
} //options
}
);

</script>";

}//end getLeadVendorTable

/**
*
*/
function getSupportCategories() {
global $con;

$sql = $con->query("SELECT id,category from support_categories order by


category asc");
while ($row = $sql->fetch_assoc()) {
$category = $row['category'];
$category_id = $row['id'];
echo "<option value='$category_id'>$category</option>";
}//end while

}//end getSupportCategories

/**
*
*/
function addSupportTicket() {

global $con, $con_adm;


$name = $con->real_escape_string($_POST['support_contact_name']);
$email = $con->real_escape_string($_POST['support_contact_email']);
$category = $con->real_escape_string($_POST['support_contact_category']);
$cat_qry = $con->query("SELECT category from support_categories where id =
'$category'");
$row = $cat_qry->fetch_assoc();
$category = $row['category'];
$priority = $con->real_escape_string($_POST['support_contact_priority']);
$subject = $con->real_escape_string($_POST['support_contact_subject']);
$desc = $con->real_escape_string($_POST['support_contact_description']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);

$ins_qry = $con_adm->query("INSERT into


support_tickets(agency_id,subject,description,priority,category,submitter,submitter
_email)
VALUES('$agency_id','$subject','$desc','$priority','$category','$name','$email')");
$last_id = $con_adm->insert_id;
header('Content-type: application/json');
if ($last_id == '') {
$response_array['status'] = "Failed";
echo json_encode($response_array);
}else {
$response_array['data'] = $last_id;
$response_array['status'] = "Successful";
echo json_encode($response_array);

}//end addSupportTicket

//begin getMyQuickStats

/**
*
*/
function getMyQuickStats() {
global $con;
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$user_id = $con->real_escape_string($_SESSION['uid']);

//new leads

$qry = $con->query("SELECT count(id) as new_leads from agency_contacts where


imported_date > DATE_SUB(NOW(), INTERVAL 10 DAY) and agency_id = '$agency_id' and
assigned_to = '$user_id'");
$row = $qry->fetch_assoc();
$new_leads = $row['new_leads'];

$qry = $con->query("SELECT count(id) as veri_leads from agency_contacts where


imported_date > DATE_SUB(NOW(), INTERVAL 10 DAY) and (contact_status = 'Verified'
or contact_status = 'Quoted') and agency_id = '$agency_id' and assigned_to =
'$user_id' ");
$row = $qry->fetch_assoc();
$veri_leads = $row['veri_leads'];

$qry = $con->query("SELECT count(id) as quo_leads from agency_contacts where


imported_date > DATE_SUB(NOW(), INTERVAL 10 DAY) and contact_status = 'Quoted' and
agency_id = '$agency_id' and assigned_to = '$user_id' ");
$row = $qry->fetch_assoc();
$quo = $row['quo_leads'];

$qry = $con->query("SELECT count(id) as cli_leads from agency_contacts where


imported_date > DATE_SUB(NOW(), INTERVAL 10 DAY) and id in (select contact_id from
policies) and agency_id = '$agency_id' and assigned_to = '$user_id' ");
$row = $qry->fetch_assoc();
$cli_leads = $row['cli_leads'];

echo "

<canvas id='quickLeadChart'></canvas>
<script src='assets/js/chartjs.js'></script>
<script>
var ctx = document.getElementById('quickLeadChart');
var revenueChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ['New Leads', 'Verfied Leads', 'Quoted Leads', 'Leads Converted to
Clients'],
datasets: [{
data: [$new_leads, $veri_leads, $quo, $cli_leads],
backgroundColor: [
'rgba(54, 162, 235, 0.4)',
'rgba(75, 192, 192, 0.4)',
'rgba(153, 102, 255, 0.4)',
'rgba(229, 117, 117, 0.4)'
],
borderColor: [
'rgba(54, 162, 235, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(229, 117, 117, 1)'
],
borderWidth: 1,
responsive: true,
maintainAspectRation: false
}]
},
options: {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.index];
var datasetLabel =
data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return label + ': ' + datasetLabel;
}
}
}
}
});

</script>
";

}//end getMyQuickStats

/**
*
*/
function updateTicketModal() {
global $con, $con_adm;
$ticket_id = $con->real_escape_string($_POST['upd_ticket_id']);
$qry = $con_adm->query("SELECT * from support_tickets where id = '$ticket_id'
");
$row = $qry->fetch_assoc();

$desc = $row['description'];
$subject = $row['subject'];
$email = $row['submitter_email'];
$submitter = $row['submitter'];
$prio = $row['priority'];
$cat = $row['category'];

$response_array['data'] = "
<div class='col-wrapper col-sm-12 col-xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer module-
projects-overview'>
<div class='module-inner'>
<div class='module-content collapse in'
id='content-overview'>
<div class='module-content-inner'>
<form class='form-
horizontal' id='upd_contact_support_form' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden'
name='upd_support_contact_id' value='$ticket_id'></input>
<fieldset class='fieldset'>
<div
class='form-group'>

<label for='upd_support_contact_name'>Name</label>

<input type='text' class='form-control' id='upd_support_contact_name'


value='$submitter' readonly>
</div>
<div
class='form-group'>

<label for='upd_support_contact_email'>Email address</label>

<input type='email' class='form-control' id='upd_support_contact_email'


name='support_contact_email' value='$email' readonly>
</div>
<div
class='form-group'>

<label for='upd_support_contact_category'>Category</label>

<select class='form-control' name='upd_support_contact_category'


id='upd_support_contact_category' required>

<option value=''>Please Select a Category</option>";


$sql = $con->query("SELECT id,category from support_categories order by
category asc");
while ($row = $sql->fetch_assoc()) {
$category = $row['category'];
$category_id = $row['id'];
if ($cat == $category) {
$response_array['data'] .= "<option value='$category_id'
selected>$category</option>";
}else {
$response_array['data'] .= "<option
value='$category_id'>$category</option>";
}
}//end while
$response_array['data'] .= "

</select>
</div>
<div
class='form-group'>

<label for='upd_support_contact_priority'>Priority</label>

<select class='form-control' name='upd_support_contact_priority'


id='upd_support_contact_priority' required>

<option value=''>Please Select a Priority</option>";


if ($prio == 'Low') {
$response_array['data'] .= "<option value='Low' style='color: green;'
selected>Low</option>";
}else {
$response_array['data'] .= "<option value='Low' style='color:
green;'>Low</option>";
}
if ($prio == 'Medium') {
$response_array['data'] .= "<option value='Medium' style='color:
orange;' selected>Medium</option>";
}else {
$response_array['data'] .= "<option value='Medium' style='color:
orange;'>Medium</option>";
}
if ($prio == 'High') {
$response_array['data'] .= "<option value='High' style='color: red;'
selected>High</option>";
}else {
$response_array['data'] .= "<option value='High' style='color:
red;'>High</option>";
}
if ($prio == 'Severe - Down') {
$response_array['data'] .= "<option value='Severe - Down' style='color:
darkred;' selected>**Severe - Business Stopped**</option>";
}else {
$response_array['data'] .= "<option value='Severe - Down' style='color:
darkred;'>**Severe - Business Stopped**</option>";
}
$response_array['data'] .= "

</select>
</div>
<div
class='form-group'>

<label for='upd_support_contact_subject'>Subject</label>

<input type='text' class='form-control' id='upd_support_contact_subject'


name='upd_support_contact_subject' value='$subject' required>
</div>
<div
class='form-group'>

<label for='upd_support_contact_description'>Description</label>

<textarea class='form-control' rows='5' id='upd_support_contact_description'


name='upd_support_contact_description' required>$desc</textarea>
</div>
</fieldset>
<button
type='submit' class='btn btn-primary'>Submit</button>
</form>
</div>
</div>
</section>
</div>
</div>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//End updateTicketModal

/**
*
*/
function updSupportTicket() {

global $con, $con_adm;


$ticket_id = $con->real_escape_string($_POST['upd_support_contact_id']);
$category = $con->real_escape_string($_POST['upd_support_contact_category']);
$cat_qry = $con->query("SELECT category from support_categories where id =
'$category'");
$row = $cat_qry->fetch_assoc();
$category = $row['category'];
$priority = $con->real_escape_string($_POST['upd_support_contact_priority']);
$subject = $con->real_escape_string($_POST['upd_support_contact_subject']);
$desc = $con->real_escape_string($_POST['upd_support_contact_description']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);

$ins_qry = $con_adm->query("UPDATE support_tickets set subject =


'$subject',description = '$desc',priority = '$priority',category = '$category'
where id = '$ticket_id' ");
$last_id = $con_adm->affected_rows;
header('Content-type: application/json');
if ($last_id < 1) {
$response_array['status'] = "Failed";
echo json_encode($response_array);
}else {
$response_array['data'] = $last_id;
$response_array['status'] = "Successful";
echo json_encode($response_array);

}
}//end updSupportTicket

/**
*
*/
function getSearchAutoComplete() {

global $con;
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
echo '
<script type="text/javascript">
$(document).ready(function() {
$("input#qs-search-contact").autocomplete({
source: [';

if ($_SESSION['is_mgr'] == 'Yes') {
$result = $con->query("select concat(fname, ' ', lname) as name,
address, id from agency_contacts where (agency_id = '$agency_id' OR agency_id in
(SELECT agency_id from agency_globals WHERE mast_agency_id = '$agency_id')) and
hidden = '0' ");
}else {
$sql = "select concat(fname, ' ', lname) as name, address, id from
agency_contacts where (agency_id = '$agency_id' OR agency_id in (SELECT agency_id
from agency_globals WHERE mast_agency_id = '$agency_id')) and hidden = 0";

$priv_chk = $con->query("SELECT option_id,option_value from


agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}// end check for privacy options

$result = $con->query($sql);

}//end check if MGR


$cnt_loop = 0;
$row_cnt = intval($result->num_rows);
while ($row = $result->fetch_assoc()) {
$name = $row['name'];
$name = preg_replace('/[^A-Za-z0-9 \-]/', '', $name);
$address = $row['address'];
$address = preg_replace('/[^A-Za-z0-9 \-]/', ' ', $address);

$contact_id = $row['id'];
$cnt_loop++;

if ($row_cnt <> $cnt_loop) {

echo "{ label: '$name - $address | Contact', value: 'Contact|


$contact_id' },";

}else {

echo "{ label: '$name - $address | Contact', value: 'Contact|


$contact_id' }";

}
}

if ($_SESSION['is_mgr'] == 'Yes') {
$result = $con->query("select named_insured, policy_number, id,
PolicyId from policies where agency_id = '$agency_id' and ContactId not in (SELECT
ContactId from agency_contacts where hidden = '1')");
}else {
$sql = "select named_insured, policy_number, id, PolicyId from policies
where agency_id = '$agency_id'";

$priv_chk = $con->query("SELECT option_id,option_value from


agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}// end check for privacy options

$result = $con->query($sql);

}//end check if MGR

$cnt_loop = 0;
$row_cnt = intval($result->num_rows);
if (mysqli_num_rows($result) < 1) {
}else {
echo ",";
while ($row = $result->fetch_assoc()) {
$name = $row['named_insured'];
$name = addslashes($name);
$policy_num = $row['policy_number'];
$policy_id = $row['id'];
$pid = $row['PolicyId'];
$cnt_loop++;

if ($row_cnt <> $cnt_loop) {

echo "{ value: 'Policy|$pid', label: '$name - $policy_num |


Policy' },";

}else {

echo "{ value: 'Policy|$pid', label: '$name - $policy_num |


Policy' }";

}
}
}

echo ' ],
select: function (event, ui) {
event.preventDefault();
$("#qs-search-contact").val(ui.item.label);
var string = ui.item.value;
var sub = "Policy";
if(string.indexOf(sub) !== -1){
var policy_split = string.split("|");
var policy_id = policy_split[1];
$.post("functions/functions.php", "get_policy_info=" + policy_id,
function(data) {
$("#policy_info_panel").html(data);
$("#side-panel-title").html("Update Policy");
$("#side-panel-toggle").click();
var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {


acc[i].onclick = function(){
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
});
$("#qs-search-contact").val("");

}
var sub2 = "Contact";
if(string.indexOf(sub2) !== -1){
var contact_split = string.split("|");
var contact_id = contact_split[1];
$.post("functions/functions.php", "get_contact_edit=" + contact_id,
function(data) {
$("#policy_info_panel").html("<b>" + data + "</b>");
$("#side-panel-title").html("Update Lead");
$("#side-panel-toggle").click();
$("#policy_info_panel input[placeholder]").placeholderLabel({
labelColor: "##497cb1",
inInput: true,
labelSize: "12px"
});
var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {


acc[i].onclick = function(){
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
});
$("#qs-search-contact").val("");
}
}
});
});

</script>';
}//end function

/**
*
*/
function getVendorSelect() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$ld_qry = $con->query("SELECT DISTINCT(lead_source) as vendor from


agency_contacts where agency_id = '$agency_id' and lead_source not like '' order by
vendor asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['vendor'];

echo "<option value='$name'>$name</option>";

}//end while

}//end getVendorSelect

/**
*
*/
function getVendorSelectDetails() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}

$ld_qry = $con->query("SELECT DISTINCT(lead_source_details) as vendor from


agency_contacts where agency_id = '$agency_id' and lead_source_details not like ''
order by vendor asc");

while ($row = $ld_qry->fetch_assoc()) {

$name = $row['vendor'];

echo "<option value='$name'>$name</option>";

}//end while

}//end getVendorSelectDetails

/**
*
*/
function getVendorStats() {

global $con;
$agency_id = $_SESSION['agency_id'];
$vendor = $con->real_escape_string($_POST['get-vendor-stats']);
//total lead count
if (!isset($_POST['get-vendor-stats-details'])) {
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
imported_date > DATE_SUB(NOW(), INTERVAL 1 YEAR)");
$row = $total_qry->fetch_assoc();
$total_count = $row['total_count'];
}else {
$detail = $con->real_escape_string($_POST['get-vendor-stats-details']);
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
lead_source_details = '$detail' and imported_date > DATE_SUB(NOW(), INTERVAL 1
YEAR)");
$row = $total_qry->fetch_assoc();
$total_count = $row['total_count'];
//total verified
}//end check for detail
if (!isset($_POST['get-vendor-stats-details'])) {
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
imported_date > DATE_SUB(NOW(), INTERVAL 240 DAY) and (contact_status not like
'Imported' OR contact_status not like 'New Lead')");
$row = $total_qry->fetch_assoc();
$veri_count = $row['total_count'];
}else {
$detail = $con->real_escape_string($_POST['get-vendor-stats-details']);
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
lead_source_details = '$detail' and imported_date > DATE_SUB(NOW(), INTERVAL 240
DAY) and (contact_status not like 'Imported' OR contact_status not like 'New
Lead')");
$row = $total_qry->fetch_assoc();
$veri_count = $row['total_count'];
}//end else

//total client
if (!isset($_POST['get-vendor-stats-details'])) {
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
imported_date > DATE_SUB(NOW(), INTERVAL 120 DAY) and ContactId in (select
ContactId from policies where agency_id = '$agency_id')");
$row = $total_qry->fetch_assoc();
$cli_count = $row['total_count'];
}else {
$detail = $con->real_escape_string($_POST['get-vendor-stats-details']);
$total_qry = $con->query("SELECT count(id) as total_count from
agency_contacts where agency_id = '$agency_id' and lead_source = '$vendor' and
lead_source_details = '$detail' and imported_date > DATE_SUB(NOW(), INTERVAL 120
DAY) and id in (select contact_id from policies where agency_id = '$agency_id')");
$row = $total_qry->fetch_assoc();
$cli_count = $row['total_count'];
}//end else

//perc verified

$perc_ver = $veri_count / $total_count * 100;


$perc_ver = round($perc_ver);

//perc convert

$perc_cli = $cli_count / $total_count * 100;


$perc_cli = round($perc_cli);
if ($total_count > 0) {
$response_array['data'] = '
<div class="item item-bounce-rate col-md-3 col-sm-3 col-
xs-3">
<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-
success" id="verifiedSpan"></span><span class="title-text">Leads from Vendor(Last
Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='totalClient'>$total_count</p>
</div>";
}else {

$response_array['data'] = '
<div class="item item-bounce-rate col-md-3 col-sm-3 col-
xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Leads from Vendor(Last
Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='totalClient'>$total_count</p>
</div>";

if ($perc_ver > 50) {


$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Leads Verified from
Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='veriClient'>$veri_count</p>
</div>
";

$response_array['data'] .= ' <div class="item


item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Percentage Verified from
Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='veriClient'>$perc_ver%</p>
</div>
";
}else {

$response_array['data'] .= ' <div class="item


item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Leads Verified from
Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='veriClient'>$veri_count</p>
</div>";
$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Percentage Verified from
Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='veriClient'>$perc_ver%</p>
</div>";

if ($perc_cli > 50) {


$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Leads Converted to
Clients from Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='allClient'>$cli_count</p>
</div>";
$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Percentage Converted to
Clients from Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='allClient'>$perc_cli%</p>
</div>";
}else {

$response_array['data'] .= ' <div class="item


item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Leads Converted to
Clients from Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='allClient'>$cli_count</p>
</div>";
$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Percentage Converted to
Clients from Vendor(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='allClient'>$perc_cli%</p>
</div>";

if ($perc_cli > 50 && $perc_ver > 50) {


$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-up btn-


success" id="verifiedSpan"></span><span class="title-text">Overall Vendor
Grade(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-success'


id='allClient'>A</p>
</div>";
}

if ($perc_cli < 50 && $perc_ver > 50) {

$response_array['data'] .= ' <div class="item


item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Overall Vendor
Grade(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='allClient'>C</p>
</div>";
}

if ($perc_cli > 50 && $perc_ver < 50) {

$response_array['data'] .= ' <div class="item


item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Overall Vendor
Grade(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='allClient'>D</p>
</div>";
}

if ($perc_cli < 50 && $perc_ver < 50) {


$response_array['data'] .= ' <div class="item
item-bounce-rate col-md-3 col-sm-3 col-xs-3">

<h3 class="item-title"><span aria-hidden="true" class="icon arrow_right-down btn-


warning" id="verifiedSpan"></span><span class="title-text">Overall Vendor
Grade(Last Year)</span></h3>';
$response_array['data'] .= "

<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'


id='allClient'>F</p>
</div>";
}

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getVendorStats

/**
* begin getImportForm
*/
function getImportForm() {
global $con;
$response_array['data'] = " <form class='form-horizontal'
id='import_leads_form' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<p>Format: **Note all columns must be present in the file even if there
is no data in them**<br><br>

Column 1 - First Name (required)<br>


Column 2 - Middle Name (optional)<br>
Column 3 - Last Name (required)<br>
Column 4 - Phone (optional)<br>
Column 5 - Email (optional)<br>
Column 6 - Address (optional)<br>
Column 7 - Address Line 2 (optional)<br>
Column 8 - City (optional)<br>
Column 9 - State (2 letter, optional)<br>
Column 10 - Zipcode (optional)<br>
Column 11 - Contact Status(Choice: Imported, Verified or Quoted required)<br>
Column 12 - Contact Type(Choice: Customer, Prospect or Vendor Contact required)<br>
Column 13 - Lead Source (optional)</p>
<label for='import_leads'>Please Select Your CSV file to import</label>
<input type='file' value='Import Leads' name='import_leads_file'
id='import_leads_file' class='btn'></input>
<input type='hidden' value='true' name='import_leads_work'></input>
<input type='submit' value='Import Leads' class='btn btn-new'></input>
</form>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end getImportForm

//begin makePaymentModal
/**
*
*/
function makePaymentModal() {
global $con_adm, $con;

$agency_id = $con_adm->real_escape_string($_SESSION['agency_id']);
$response_array['data'][0] = '0';
$total_notes = '';
$response_array['data'][1] = "<table datatable='datatable' class='table
table-striped table-bordered dataTable no-footer' id='charge-table'>
<thead>
<tr>
<td>Note</td>
<td>Amount</td>
</tr>
</thead>
<tbody>";
$qry = $con_adm->query("SELECT amount,note from agency_charges where
agency_id = '$agency_id' and status = 'Due'");
while ($row = $qry->fetch_assoc()) {
$amt = $row['amount'];
$notes = $row['note'];
$response_array['data'][0] = $response_array['data'][0] + $amt;
$response_array['data'][1] .= "<tr><td>$notes</td><td>$amt</td><tr>";
$total_notes .= "$notes | ";

}
$response_array['data'][2] = $total_notes;

$response_array['data'][1] .= "<tr><td><b><u>Total to be Charged to


Card</u><b></td><td id='order-total'>" . number_format($response_array['data'][0],
2) . "</td></tr><tr style='display: none;'><td
id='order-notes'>$total_notes</td><td></td></tbody></table>";

$qry = $con->prepare("SELECT customer_id,name_on_card,last_4,card_brand from


billing_info where email = ? and card_id is not null");
$qry->bind_param("s", $_SESSION['currsession_email']);
$qry->execute();
$qry->store_result();
$qry->bind_result($customer_id, $name, $last4, $brand);
$qry->fetch();
if (!is_null($last4)) {
$response_array['data'][1] .= "
<div id='saved-payment-div'>
<form class='form-horizontal' id='saved_payment_form' action='square/charge-
card.php' method='post' enctype='multipart/form-data' role='form'>
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Saved Card</label>
<select class='form-control' id='saved_card'
name='saved_card'>
<option value='update_payment'>Update Card Info</option>
<option value='$customer_id' selected>$brand -
$last4</option>
</select>
</div>
<input type='hidden' id='customer_id' name='customer_id'
class='form-control' value='$customer_id'></input>
<input type='hidden' id='name_on_card' class='form-control'
value='$name'></input>
</div>
<button type='submit' class='btn btn-block btn-primary'
id='chargeSavedCard'>Charge Card</button>
</form>
</div>
";
}else {
}

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end makePaymentModal

/**
*
*/
function printInvoice() {
global $con_adm;
$trans_id = $con_adm->real_escape_string($_POST['trans_id']);
$agency_id = $con_adm->real_escape_string($_SESSION['agency_id']);
$qry = $con_adm->query("SELECT
agency_name,agency_addr,agency_addr2,agency_city,agency_state,agency_zip from
agency_globals where agency_id = '$agency_id' ");
$row = $qry->fetch_assoc();
$client_name = $row['agency_name'];
$client_address = $row['agency_addr'] . " " . $row['agency_addr2'] . " " .
$row['agency_city'] . "," . $row['agency_state'] . " " . $row['agency_zip'];
$response_array['data'] = "<div class='invoice-heading text-center'>
<img class='center-block
invoice-logo' src='assets/images/smiley.png' alt='' style='width: 25%;'>
<address class='margin-
bottom-md'>
<strong>KeepThemSmiling,
LLC</strong>
<br>
<abbr
title='Phone'>P:</abbr> 727-776-4326
<br>
<a
href='mailto:info@keepthemsmiling.com'>info@keepthemsmiling.com</a>
</address>
</div>
<hr>
<div class='invoice-meta row
margin-bottom-md'>
<div class='col-md-6 col-sm-6
col-xs-6'>
<div class='client-
info'>
<h4
class='title'>Invoice to:</h4>
<div><span
class='text-stronger'>Client:</span> $client_name </div>
<div><span
class='text-stronger'>Address:</span> $client_address </div>
</div>
</div>
<div class='col-md-6 col-sm-6
col-xs-6 text-right'>
<div class=''>";
$qry2 = $con_adm->query("SELECT * from agency_charges where id = '$trans_id'
");
$row_charge = $qry2->fetch_assoc();
$paid_date = date("F j, Y", strtotime($row_charge['paid_date']));
$due_date = date("F j, Y", strtotime($row_charge['due_date']));;
$paid_trans = $row_charge['trans_paid_id'];

$response_array['data'] .= "
<div><strong>Paid
Date:</strong> $paid_date</div>
<div><strong>Due
Date:</strong> $due_date</div>
</div>
</div>
</div>
<div class='table-responsive
invoice-table margin-bottom-lg'>
<table class='table table-
striped'>
<thead>
<tr>
<th
class='description'>Description</th>

<th>Price</th>
<th
class='text-right'>Total</th>
</tr>
</thead>
<tbody>";
$qry3 = $con_adm->query("SELECT * from agency_charges where agency_id =
'$agency_id' and trans_paid_id = '$paid_trans' ");
$total_amt = '0';
while ($row_trans = $qry3->fetch_assoc()) {
$note = $row_trans['note'];
$amt = $row_trans['amount'];
$total_amt = $total_amt + $amt;

$response_array['data'] .= "
<tr>
<td
class='description'>
<span
class='text-stronger'>$note</span>
<br>
</td>
<td
class='unit'>$ $amt</td>
<td
class='total text-right'>$ $amt</td>
</tr>";
}
$total_amt = number_format($total_amt, 2);
$response_array['data'] .= "
<tr>
<td
colspan='2' class='total grand-total text-right'>TOTAL</td>
<td
class='total grand-total text-highlight text-right'>$ $total_amt</td>
</tr>
</tbody>
</table>
</div>
<div class='invoice-terms margin-
bottom-lg'>
<h4 class='text-center text-
stronger title'>Thank you for choosing us!</h4>
</div>

<script>

function PrintElem()
{
var mywindow = window.open('', 'PRINT', 'height=1280,width=1024');

mywindow.document.write('<html><head><title>Invoice</title>');
mywindow.document.write('</head><body >');

mywindow.document.write(document.getElementById('policy_info_panel').innerHTML);
mywindow.document.write('</body></html>');

mywindow.document.close(); // necessary for IE >= 10


mywindow.focus(); // necessary for IE >= 10*/

mywindow.print();
mywindow.close();

return true;
}
</script>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end printInvoice

/**
*
*/
function importLeads() {
global $con;
$agency_id = $con->real_escape_string($_SESSION['agency_id']);

$successful = 0;
$failed = '';
$row = 1;
if ($_FILES['import_leads_file']['size'] > 0) {

//get the csv file


$file = $_FILES['import_leads_file']['tmp_name'];
$handle = fopen($file, "r");
while ($data = fgetcsv($handle, 1000, ",")) {

//loop through the csv file and insert into database


if ($data[5] != '') {
$con->query("INSERT INTO agency_contacts
(fname,mname,lname,phone,email,address,address_line2,city,state,zip,contact_status,
contact_type,lead_source,agency_id,bname,import_from) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."',
'".addslashes($data[11])."',
'".addslashes($data[12])."',
'$agency_id',
'".addslashes($data[13])."',
'".addslashes($data[14])."'
)
");

if ($con->insert_id == '') {
$err = mysqli_error($con);
$failed .= "Row - $row: Adding to Database failed|
$err <br>";
}else {
$successful++;
}
}else {
$failed .= "Row - $row: Mising Data | <br> ";
}
$row++;
}
$_SESSION['import_success'] = $successful;
$_SESSION['import_failed'] = $failed;
header("Location: ../index.php");exit;
}

}//end importLeads

//begin addCustomFieldModal

/**
*
*/
function addCustomFieldModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Field</h3>";
echo "<span>Date: Auto formatted date</span><br>";
echo "<span>Money: 1.25 ex.</span><br>";
echo "<span>Number: 0-9 up to 2147483647</span><br>";
echo "<span>Text: Text up to 255 characters</span><br>";
echo "<span>User Lookup: Select List from KTS Users</span><br>";
echo "<form class='form-horizontal' id='new_field_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label for='field_table'>Custom Field For:</label>";
echo "<select class='form-control' name='new_field_table'>
<option value=''>Please Select</option><option
value='agency_contacts'>Leads</option><option
value='policies'>Policy</option></select></div></div>";
echo "<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<input type='text' class='form-control' id='new_field_name'
name='new_field_name' placeholder='Field Name'></input></div></div>";
echo "<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<select class='form-control' id='new_field_type'
name='new_field_type'><option value=''>Please Select Field Type</option><option
value='text'>Text</option><option value='number'>Number</option><option
value='money'>Money</option><option value='date'>Date</option><option
value='lookup'>User Lookup</option><option
value='list'>List</option></select></div></div>";
echo "<div class='form-group'><div class='col-md-5 col-sm-5 col-xs-5' id='custom-
field-options'></div></div>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addFieldButton">Add Field</button>
</form>';

}//end addCustomFieldModal

/**
* begin addCustomField
*/
function addCustomField() {
global $con, $con_adm;
if ($_POST['new_field_type'] == 'text' || $_POST['new_field_type'] == 'list')
{
$ft = 'VARCHAR(255)';
}
if ($_POST['new_field_type'] == 'number') {
$ft = 'INT';
}
if ($_POST['new_field_type'] == 'money') {
$ft = 'DECIMAL(19,2)';
}
if ($_POST['new_field_type'] == 'date') {
$ft = 'DATE';
}
if ($_POST['new_field_type'] == 'lookup') {
$ft = 'INT';
}
$qry = $con_adm->prepare("SELECT db_name from ams_admin.agency_globals where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($db);
$qry->fetch();
$field = $con->real_escape_string($_POST['new_field_name']);
$field_type = $_POST['new_field_type'];
$field_column = $con-
>real_escape_string(strtolower($_POST['new_field_name']));
$field_column = str_replace(' ', '_', $field_column);
$field_table = $con->real_escape_string($_POST['new_field_table']);
if ($field_table == 'agency_contacts' || $field_table == 'policies') {

$qry = $con->query("INSERT into


$db.custom_fields(field_name,field_ref,table_name,field_type)
VALUES('$field_column','$field','$field_table','$field_type')");
$last_id = $con->insert_id;
if ($last_id != '') {

$qry2 = $con_adm->query("ALTER TABLE $db.$field_table add column


$field_column $ft");
if($_POST['new_field_type'] == 'list'){
$options = preg_split('/\r\n|[\r\n]/',
$_POST['new_field_options']);
foreach($options as $opt){
$qry = $con->prepare("INSERT INTO
custom_field_options(field_id, option_value) VALUES(?,?)");
$qry->bind_param("is", $last_id, $opt);
$qry->execute();
}
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}else {
//nice try not for approved table
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}//end check if it is for agency_contacts or policies

}//end addCustomField

//begin remCustomFieldModal
/**
*
*/
function remCustomFieldModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Remove Custom Field</h3>";
echo "<span>Note - Once done, this is not recoverable all data in this field
will be removed.</span><br><br>";
echo "<form class='form-horizontal' id='rem_field_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table'>Custom Field to Remove:</label>";
echo "<select class='form-control' name='rem_field_table'>
<option value=''>Please Select</option>";
$qry = $con->query("SELECT * from custom_fields");
while ($row = $qry->fetch_assoc()) {
$field = $row['field_name'];
$ref = $row['field_ref'];
echo "<option value='$field'>$ref</option>";
}
echo "</select>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="remFieldButton">Remove Field</button>
</form>';

}//end addCustomFieldModal

//begin removeCustomField

/**
*
*/
function removeCustomField() {
global $con, $con_qr;
$agency_id = $_SESSION['agency_id'];
$field = $con->real_escape_string($_POST['rem_field_table']);
$qry = $con->query("SELECT * from custom_fields where field_name =
'$field'");
$row = $qry->fetch_assoc();
$table = $row['table_name'];
$type = $row['field_type'];
$ifd = $row['id'];
$rem = $con->query("ALTER TABLE $table DROP COLUMN $field ");
$rem2 = $con->query("DELETE from custom_fields where field_name = '$field'
");
if($type == 'list'){
$rem3 = $con->prepare("DELETE from custom_field_options where field_id
= ?");
$rem3->bind_param("i", $ifd);
$rem3->execute();
}
if ($rem2 && $rem) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end removeCustomField

//begin remFileCategoryModal

/**
*
*/
function addFileCategoryModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New File Category</h3>";
echo "<form class='form-horizontal' id='new_file_category_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<input type='text' class='form-control'
id='new_file_category' name='new_file_category' placeholder='Category'></input>
</div>
</div>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addFileCategoryButton">Add Category</button>
</form>';

}//end addFileCategoryModal

/**
*
*/
function addFileCategory() {
global $con;
$qry = $con->prepare("INSERT INTO file_categories(Category) VALUES(?)");
$qry->bind_param("s", $_POST['new_file_category']);
$qry->execute();
$qry->store_result();
if ($con->insert_id != '') {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}//end addFileCategory

/**
*
*/
function remFileCategoryModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Remove File Category</h3>";
echo "<span>Note - Once done, this is not recoverable. Any files with this
category will have no category associated with them.</span><br><br>";
echo "<form class='form-horizontal' id='rem_file_category_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table'>Category to Remove:</label>";
echo "<select class='form-control' name='rem_file_category'>
<option value=''>Please Select</option>";
$qry = $con->prepare("SELECT Id,Category from file_categories ORDER BY
Category ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($CId, $Category);
while ($qry->fetch()) {
$qry2 = $con->prepare("SELECT COUNT(id) from files where Category
= ?");
$qry2->bind_param("s", $Category);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($num);
$qry2->fetch();
echo "<option value='$CId'>$Category ($num Files With
Category)</option>";
}
echo "</select>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="remFileCategoryButton">Remove File Category</button>
</form>';

}//end remFileCategoryModal

/**
*
*/
function removeFileCategory() {
global $con;
$qry = $con->prepare("SELECT Category from file_categories where Id = ?");
$qry->bind_param("i", $_POST['rem_file_category']);
$qry->execute();
$qry->store_result();
$qry->bind_result($cat);
$qry->fetch();
$qry = $con->prepare("UPDATE files set category = ? where category = ?");
$n = 'None';
$qry->bind_param("ss", $n, $cat);
$qry->execute();
$qry = $con->prepare("DELETE from file_categories where Id = ?");
$qry->bind_param("i", $_POST['rem_file_category']);
$qry->execute();
$qry->store_result();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end removeFileCategory

/**
*
*/
function addNewCarrierModal() {

global $con, $con_adm, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Carrier</h3>";
echo "<form class='form-horizontal' id='new_carrier_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<input type='text' name='new_carrier_name' id='new_carrier_name'
class='form-control' placeholder='New Carrier Name'></input>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="newCarrierButton">Add New Carrier</button>
</form>';

}//end newCarrierModal

//begin addNewCarrier

/**
*
*/
function addNewCarrier() {
global $con;
$carrier_name = $_POST['new_carrier_name'];
$qry2 = $con->prepare("SELECT carrier from carriers where carrier
= ?");
$qry2->bind_param("s", $carrier_name);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows < 1) {
$ins = $con->prepare("INSERT INTO carriers(carrier) Values(?)");
$ins->bind_param("s", $carrier_name);
$ins->execute();
}
$sel_qry = $con->query("SELECT carrier from policy_carrier_defaults
where carrier = '$carrier_name' ");
if (mysqli_num_rows($sel_qry) < 1) {
$qry = $con->query("INSERT into policy_carrier_defaults(carrier)
VALUES('$carrier_name')");
}

if (mysqli_affected_rows($con) > 0) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end addNewCarrier

/**
*
*/
function deleteContact() {

global $con;

$contact_id = $con->real_escape_string($_POST['del_contact_id']);

$qry = $con->query("DELETE from agency_contacts where id = '$contact_id'");


$find_qry = $con->query("SELECT id from agency_contacts where id =
'$contact_id'");
if (mysqli_num_rows($find_qry) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}//end del

}//end deleteContact

/**
*
*/
function deletePolicy() {

global $con;

$policy_num = $con->real_escape_string($_POST['del_policy_id']);

$qry = $con->query("DELETE from policies where PolicyId = '$policy_num'");


$find_qry = $con->query("SELECT policy_number from policies where PolicyId =
'$policy_num'");
if (mysqli_num_rows($find_qry) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}//end del

}//end deletePolicy

/**
*
*/
function addNewLOBModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Carrier</h3>";
echo "<form class='form-horizontal' id='new_lob_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<input type='text' name='new_lob_name' id='new_lob_name' class='form-
control' placeholder='New Line of Business'></input>";
echo "</div>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="newLOBButton">Add New Line of Business</button>
</form>';

}//end addNewLOBModal

//begin addNewLOB

/**
*
*/
function addNewLOB() {
global $con;

$lob = $con->real_escape_string($_POST['new_lob_name']);
$sel_qry = $con->query("SELECT lob from policy_lob where lob = '$lob' ");
if (mysqli_num_rows($sel_qry) < 1) {
$qry = $con->query("INSERT into policy_lob(lob) VALUES('$lob')");
}

if (mysqli_affected_rows($con) > 0) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end addNewLOB

/**
*
*/
function ackQuote() {
global $con;
$q_id = $con->real_escape_string($_POST['quote_comp']);
$upd = $con->query("UPDATE qb_return set ackd = 'Yes' where id = '$q_id'");
if (mysqli_affected_rows($con) > 0) {
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}

}//end ackQuote

//Begin getTotalPremiums

/**
*
*/
function getTotalPremiums() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
}else {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status = 'Active' and agency_id = '$agency_id'";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$premiums = $row['premiums'];

if (empty($premiums)) {
$premiums = "0.00";
}
echo "$" . number_format($premiums, 2);

} //End getTotalPremiums

//Begin getTotalPolicyPremiums

/**
*
*/
function getLostPremiums() {

global $con;

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status not like 'Active' and agency_id = '$agency_id'";
}else {
$sql = "SELECT sum(policy_premium) as premiums from policies where
policy_status not like 'Active' and agency_id = '$agency_id'";
$priv_chk = $con->query("SELECT option_id,option_value from
agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}//end Priv chk

}//end check if is mgr


$rd_qry = $con->query($sql);
$row = $rd_qry->fetch_assoc();

$premiums = $row['premiums'];

if (empty($premiums)) {
$premiums = "0.00";
}
echo "$" . number_format($premiums, 2);

} //End getLostPremiums

//Begin checkIfParentReporting

/**
*
*/
function checkIfParentReporting() {

global $con;

$agency_id = $_SESSION['agency_id'];

$chk_qry = $con->query("SELECT agency_id from agency_globals where


mast_agency_id = '$agency_id'");
if ($chk_qry->num_rows > 0) {

$_SESSION['is_parent'] = '1';
}

}//End checkIfParentReporting
/**
*
*/
function createInvoiceModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
$rd_qry = $con->query("SELECT fname,lname,user_id from users_table where
agency_id = '$agency_id' order by lname asc");
echo "<h3 style='text-align: center;'>Create New Invoice</h3>";
echo "<form class='form-horizontal' id='new_invoice_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";

echo "<input type='text' class='form-control' id='invoice_contact_assoc'


name='invoice_contact_assoc' placeholder='Contact Associated with
Invoice'></input>";
echo "<div id='policy_selector_div'></div>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
echo "
<input type='text' class='form-control' name='invoice_desc' id='invoice_desc'
placeholder='Invoice Description'></input>";
echo "<div id='charges_div'><button class='add_field_button btn btn-block
btn-primary'>Add Charges</button></div>";
$today = date("Y-m-d");
echo "<label for='task_date'>Due Date</label>
<input type='text' class='datepicker form-control' id='invoice_date'
name='invoice_date' min='$today' required />";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addTaskButton">Create Invoice</button>
</form>';

echo '
<script type="text/javascript">
$(document).ready(function() {
$("input#invoice_contact_assoc").autocomplete({
source: [';

if ($_SESSION['is_mgr'] == 'Yes') {
$result = $con->query("select concat(fname, ' ', lname) as name,
address, id from agency_contacts where (agency_id = '$agency_id' OR agency_id in
(SELECT agency_id from agency_globals WHERE mast_agency_id = '$agency_id')) and
hidden = 0");
}else {
$sql = "select concat(fname, ' ', lname) as name, address, id from
agency_contacts where (agency_id = '$agency_id' OR agency_id in (SELECT agency_id
from agency_globals WHERE mast_agency_id = '$agency_id')) and hidden = 0";

$priv_chk = $con->query("SELECT contact_id,option_id,option_value from


agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}// end check for privacy options

$result = $con->query($sql);
}

}//end check if MGR

$cnt_loop = 0;
$row_cnt = intval($result->num_rows);
while ($row = $result->fetch_assoc()) {
$name = addslashes($row['name']);
$name = preg_replace('/[^A-Za-z0-9 \-]/', '', $name);
$address = $row['address'];
$address = preg_replace('/[^A-Za-z0-9 \-]/', ' ', $address);

$contact_id = $row['id'];
$cnt_loop++;

if ($row_cnt <> $cnt_loop) {

echo "{ value: '$name - $address | $contact_id' },";

}else {

echo "{ value: '$name - $address | $contact_id' }";

}
}
$str = addslashes("<div><input type='text' name='charge_desc[]' class='form-
control' placeholder='Charge Description'/><input type='text' class='form-control'
name='charge_amt[]' placeholder='Charge Amount'/><a href='#'
class='remove_field'>Remove Charge</a></div>");
echo ' ],
select: function (event, ui) {
}
});
});

var max_fields = 10; //maximum input boxes allowed


var wrapper = $("#charges_div"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID

var x = 1; //initlal text box count


$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment';
echo "
$(wrapper).append('$str');";
echo '
}
});

$(wrapper).on("click",".remove_field", function(e){ //user click on remove text


e.preventDefault(); $(this).parent("div").remove(); x--;
})';
echo "
$('#invoice_contact_assoc').on('autocompletechange', function () {
var val = $('#invoice_contact_assoc').val();
$.post('functions/functions.php', 'get-contact-policies=' +
encodeURIComponent(val), function(data) {
$('#policy_selector_div').html('<b>' + data + '</b>');
});
});

</script>

";

}//End createInvoiceModal

/**
*
*/
function getContactPolicies() {

global $con;

if (isset($_POST['get-contact-policies'])) {
$exp = explode(" | ", $_POST['get-contact-policies']);
$contact_id = $exp[1];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id
= ?");
$qry->bind_param("s", $contact_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
echo "<select class='form-control' id='invoice_policy_assoc'
name='invoice_policy_assoc'><option>Please Select a Policy</option>";
$stmt = $con->prepare("SELECT
policy_number,line_of_business,policy_premium from policies where ContactId = ? ");
$stmt->bind_param("s", $ContactId);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($policy_number, $lob, $policy_premium);
if ($stmt->num_rows > 0) {
while ($stmt->fetch()) {
echo "<option value='$policy_number|
$policy_premium'>$policy_number - $lob - $policy_premium</option>";
}//end while
echo "</select>";
}else {
echo "<option>No Policies Found</option>";
}//end check if rows
}//end check if POST is set
}//end getContactPolicies

/**
* begin createInvoice
*/
function createInvoice() {
global $con;
$inv_date = $_POST['invoice_date'];
$inv_desc = $_POST['invoice_desc'];
$exp = explode(" | ", $_POST['invoice_contact_assoc']);
$contact_id = $exp[1];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $contact_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$agency_id = $_SESSION['agency_id'];
$stmt = $con->prepare("SELECT invoice_abbr from agency_globals where
agency_id = ? ");
$stmt->bind_param("s", $agency_id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($inv_abbr);
$stmt->fetch();
$total = '0.00';

foreach ($_POST['charge_amt'] as $charge) {


$total = $total + $charge;
}

$stmt2 = $con->prepare("CALL spCreateInvoice(?, ?, ?, ?, ?, ?)");


$stmt2->bind_param("ssssss", $inv_abbr, $agency_id, $total, $inv_date,
$ContactId, $inv_desc);
$stmt2->execute();
$stmt2->store_result();
$stmt2->bind_result($invoice_num, $row_id);
$stmt2->fetch();
$stmt2->close();

$stmt4 = $con->prepare("UPDATE invoices set gen_inv_num = ? where id = ? ");


$stmt4->bind_param("ss", $invoice_num, $row_id);
$stmt4->execute();

$amt_cnt = count($_POST['charge_amt']);
$desc_cnt = count($_POST['charge_desc']);

if ($amt_cnt = $desc_cnt) {
$total_counter = $amt_cnt - 1;
$counter = 0;
while ($counter <= $total_counter) {
$amt = $_POST['charge_amt'][$counter];
$desc = $_POST['charge_desc'][$counter];

$stmt3 = $con->prepare("INSERT into


invoice_charges(invoice_number,charge_desc,charge_amt,agency_id) VALUES(?,?,?,?)");
$stmt3->bind_param("ssss", $invoice_num, $desc, $amt,
$agency_id);
$stmt3->execute();
$ins_id = $stmt3->insert_id;
if ($ins_id == '') {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}//check if failed

$counter++;
}//end while for charges
}//array counts match
if (!isset($response_array['status'])) {
header('Content-type: application/json');
$response_array['status'] = 'Success';
$response_array['data'] = $invoice_num;
echo json_encode($response_array);
}
}/**
* end createInvoice
*/
function printClientInvoice() {
global $con;
$inv_num = $con->real_escape_string($_POST['print_inv_num']);
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
$qry = $con->prepare("SELECT
ContactId,inv_status,inv_amt,inv_date,inv_desc,paid_date from invoices where
gen_inv_num = ? ");
$qry->bind_param("s", $inv_num);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId, $inv_status, $inv_amt, $inv_date, $inv_desc,
$paid_date);
$qry->fetch();
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
name,CONCAT(address, ' ', address_line2, ' ', city, ',', state, ' ', zip) as
address,phone,email from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($client_name, $client_address, $client_phone,
$client_email);
$qry2->fetch();
$qry3 = $con->prepare("SELECT agency_name,CONCAT(agency_addr, ' ',
agency_addr2, ' ', agency_city, ',', agency_state, ' ', agency_zip) as
address,agency_phone,agency_email from agency_globals where agency_id = ?");
$qry3->bind_param("s", $agency_id);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($agency_name, $agency_addr, $agency_phone, $agency_email);
$qry3->fetch();
$qry_logo = $con->prepare("SELECT agency_logo_path from agency_globals where
agency_id = ?");
$qry_logo->bind_param("s", $_SESSION['agency_id']);
$qry_logo->execute();
$qry_logo->store_result();
$qry_logo->bind_result($logo_path);
$qry_logo->fetch();
if ($logo_path != '') {
$path = $logo_path;
$path = str_replace('#', '%23', $path);
$xplode = explode("/", $path);
$path = "$xplode[4]/$xplode[5]/$xplode[6]/$xplode[7]";
$file_name = $explode[7];
$file_namee = rawurlencode($file_name);
}
$response_array['data'] = "<div class='invoice-heading text-center'>
<img
class='center-block invoice-logo' src='$path$file_namee' alt='' style='width:
25%;'>
<address
class='margin-bottom-md'>

<strong>$agency_name</strong>

<br>

<abbr title='Phone'>P:</abbr> $agency_phone

<br>

<abbr title='Address'>Addr:</abbr> $agency_addr

<br>
<a
href='mailto:$agency_email'>$agency_email</a>
</address>
</div>
<hr>
<div
class='invoice-meta row margin-bottom-md'>
<div
class='col-md-6 col-sm-6 col-xs-6'>

<div class='client-info'>

<h4 class='title'>Invoice to:</h4>


<div><span class='text-stronger'>Client:</span> $client_name </div>

<div><span class='text-stronger'>Address:</span> $client_address </div>

<div><span class='text-stronger'>Phone:</span> $client_phone </div>

<div><span class='text-stronger'>Email:</span> $client_email </div>

</div>
</div>
<div
class='col-md-6 col-sm-6 col-xs-6 text-right'>

<div class=''>";
if ($inv_status == 'Unpaid') {
$paid_date = "Not Paid";
}
$response_array['data'] .= "

<div><strong>Paid Date:</strong> $paid_date</div>

<div><strong>Due Date:</strong> $inv_date</div>

</div>
</div>
</div>
<div class='table-
responsive invoice-table margin-bottom-lg'>
<table
class='table table-striped'>

<thead>

<tr>

<th class='description'>Description</th>

<th>Price</th>

<th class='text-right'>Total</th>

</tr>

</thead>

<tbody>";
$qry4 = $con->prepare("SELECT * from invoice_charges where invoice_number = ?
");
if (!$qry4) {
}
$qry4->bind_param("s", $inv_num);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($chg_id, $invoice_num, $charge_desc, $charge_amt,
$agency_id);
while ($qry4->fetch()) {
$response_array['data'] .= "

<tr>

<td class='description'>

<span class='text-stronger'>$charge_desc</span>

<br>

</td>

<td class='unit'>$ $charge_amt</td>

<td class='total text-right'>$ $charge_amt</td>

</tr>";
}
$response_array['data'] .= "

<tr>

<td colspan='2' class='total grand-total text-right'>TOTAL</td>

<td class='total grand-total text-highlight text-right'>$ $inv_amt</td>

</tr>

</tbody>
</table>
</div>

<div class='invoice-terms margin-bottom-lg'>


<h4
class='text-center text-stronger title'>Thank you for choosing us!</h4>
</div>

<script>

function PrintElem()
{
var mywindow = window.open('', 'PRINT', 'height=1280,width=1024');

mywindow.document.write('<html><head><title>Invoice</title>');
mywindow.document.write('</head><body >');

mywindow.document.write(document.getElementById('policy_info_panel').innerHTML);
mywindow.document.write('</body></html>');

mywindow.document.close(); // necessary for IE >= 10


mywindow.focus(); // necessary for IE >= 10*/

mywindow.print();
mywindow.close();

return true;
}
</script>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end printClientInvoice
//begin Export

/**
*
*/
function exportContacts() {
global $con;
$agency_id = $_SESSION['agency_id'];

$stmt = $con->prepare('SELECT
fname,mname,lname,email,phone,address,address_line2,contact_type,city,state,zip,nam
e,additional_phone_number,additional_phone_number_2,additional_name FROM
`agency_contacts` where agency_id = ? ORDER BY fname,lname ASC ');
$stmt->bind_param("s", $agency_id);
$stmt->execute();
$num_fields = $stmt->field_count;
$result = $stmt->store_result();
$result2 = $stmt->get_result();
$stmt->bind_result($fname, $mname, $lname, $email, $phone, $addr1, $addr2,
$c_type, $city, $state, $zip, $name, $addl_phone, $addl_phone_2, $addl_name);
$meta = $stmt->result_metadata();
$headers = array();
$finfo = mysqli_fetch_fields($meta);
foreach ($finfo as $val) {
$headers[] = $val->name;
}
$fp = fopen('export_contacts.csv', 'w');
if ($fp && $result) {
//header('Content-Type: text/csv');
//header('Content-Disposition: attachment; filename="export.csv"');
//header('Pragma: no-cache');
//header('Expires: 0');
fputcsv($fp, $headers);
fclose('export_contacts.csv');
$file = 'export_contacts.csv';
while ($stmt->fetch()) {
$row_val = "$fname,$mname,$lname,$email,$phone,
$addr1,$addr2,$c_type,$city,$state,$zip,$name,$addl_phone,$addl_phone_2,$addl_name\
n";
file_put_contents($file, $row_val, FILE_APPEND);
}
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
$response_array['data'] = "<a href='functions/export_contacts.csv'
download>Download Contacts File</a>";
echo json_encode($response_array);

}//end exportContacts

//begin Policies

/**
*
*/
function exportPolicies() {
global $con;
$agency_id = $_SESSION['agency_id'];

$stmt = $con->prepare('SELECT
policy_number,policy_status,line_of_business,carrier,parent_carrier,coverage,broker
,term,effective_date,bind_date,exp_date,binder_num,financing,billing_type,business_
type,policy_source,source_details,agent,csr,producer,base_premium,carrier_fees,endo
rsements,non_renewal,contact_id,named_insured,additional_named,added_date,policy_pr
emium FROM `policies` where agency_id = ? ORDER BY named_insured ASC ');
$stmt->bind_param("s", $agency_id);
$stmt->execute();
$num_fields = $stmt->field_count;
$result = $stmt->store_result();
$result2 = $stmt->get_result();
$stmt->bind_result($policy_number, $policy_status, $line_of_business,
$carrier, $parent_carrier, $coverage, $broker, $term, $effective_date, $bind_date,
$exp_date, $binder_num, $financing, $billing_type, $business_type, $policy_source,
$source_details, $agent, $csr, $producer, $base_premium, $carrier_fees,
$endorsements, $non_renewal, $contact_id, $named_insured, $additional_named,
$added_date, $policy_premium);
$meta = $stmt->result_metadata();
$headers = array();
$finfo = mysqli_fetch_fields($meta);
foreach ($finfo as $val) {
$headers[] = $val->name;
}
$fp = fopen('export_policies.csv', 'w');
if ($fp && $result) {
//header('Content-Type: text/csv');
//header('Content-Disposition: attachment; filename="export.csv"');
//header('Pragma: no-cache');
//header('Expires: 0');
fputcsv($fp, $headers);
fclose('export_policies.csv');
$file = 'export_policies.csv';
while ($stmt->fetch()) {
$row_val = "$policy_number,$policy_status,$line_of_business,
$carrier,$parent_carrier,$coverage,$broker,$term,$effective_date,$bind_date,
$exp_date,$binder_num,$financing,$billing_type,$business_type,$policy_source,
$source_details,$agent,$csr,$producer,$base_premium,$carrier_fees,$endorsements,
$non_renewal,$contact_id,$named_insured,$additional_named,$added_date,
$policy_premium\n";
file_put_contents($file, $row_val, FILE_APPEND);
}
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
$response_array['data'] = "<a href='functions/export_policies.csv'
download>Download Policies File</a>";
echo json_encode($response_array);

}//end exportPolicies

/**
*
*/
function reAssociatePolicy() {
global $con;
$policy_number = $_POST['reassociate_policy'];
$response_array['data'] = '';
$response_array['data'] .= "
<form class='form-horizontal' id='re_assoc_policy' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden' name='policy_num' value='$policy_number'></input>
<label for='task_contact_assoc'>Current Contact Policy is Associated To</label>";
$stmt = $con->prepare("SELECT concat(fname, ' ', lname) as name, address, id
from agency_contacts where ContactId in (SELECT ContactId from policies where
PolicyId = ? )");
//echo $con->error;
$stmt->bind_param("s", $policy_number);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($curr_contact, $add, $curr_id);
$stmt->fetch();
$response_array['data'] .= "
<input type='text' class='form-control' value='$curr_contact - $add | $curr_id'
readonly></input>
<input type='text' class='form-control' id='policy_contact_assoc'
name='policy_contact_assoc' placeholder='Contact to Associate Policy To'></input>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$response_array['data'] .= '<button type="submit" class="btn btn-block btn-
primary" id="reAssociatePolicy">Re-Associate Policy</button>
</form>';

$response_array['data'] .= '
<script type="text/javascript">
$(document).ready(function() {
$("input#policy_contact_assoc").autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "search-auto-comp.php",
type: "post",
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
}
});
});

</script>';
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end reAssociatePolicy

/**
*
*/
function changePolicyContactAssoc() {
global $con;
$contact_id = explode("|", $_POST['policy_contact_assoc']);
$ContactId = $contact_id[1];
$qry = $con->prepare("SELECT id from agency_contacts where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id);
$qry->fetch();
$policy_number = $_POST['policy_num'];
$stmt = $con->prepare("UPDATE policies set ContactId = ? where PolicyId = ?
");
$stmt->bind_param("ss", $ContactId, $policy_number);
$stmt->execute();

if ($con->affected_rows > 0) {
$response_array['status'] = 'Got Data';
header('Content-type: application/json');
echo json_encode($response_array);
}
}//end changePolicyContactAssoc

function changeSMSContactAssoc() {
global $con;
$contact_id = explode("|", $_POST['sms_contact_assoc']);
$ContactId = $contact_id[1];
$smsid = $_POST['sms_id'];
$stmt = $con->prepare("UPDATE sms_traffic set ContactId = ? where id = ? ");
$stmt->bind_param("ss", $ContactId, $smsid);
$stmt->execute();

if ($con->affected_rows > 0) {
$response_array['status'] = 'Got Data';
header('Content-type: application/json');
echo json_encode($response_array);
}
}//end changePolicyContactAssoc

/**
*
*/
function getMarketingSettings() {

global $con;
$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT * from sendgrid_info where agency_id = ?");
$qry->bind_param("s", $agency_id);
$qry->execute();
$qry->store_result();
while ($qry->fetch()) {

}//end getMarketingSettings

/**
*
*/
function updateSGInfoModal() {
global $con;
$agency_id = $_SESSION['agency_id'];
$uid = $con->real_escape_string($_POST['upd_sg']);
$get_qry = $con->prepare("SELECT * from sendgrid_info where agency_id = ? and
id = ? ");
$get_qry->bind_param("ss", $agency_id, $uid);
$get_qry->execute();
$get_qry->store_result();
$get_qry->bind_result($row_id, $login_name, $key, $agency_id);
$get_qry->fetch();

$response_array['data'] = "
<form class='form-horizontal' id='upd_sg_form' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden' name='upd_sg_id' value='$row_id'></input>
<input type='text' class='form-control' id='upd_sg_lname' name='upd_sg_lname'
placeholder='Login Name' value='$login_name'></input>
<input type='text' class='form-control' id='upd_sg_key' name='upd_sg_key'
placeholder='API Key' value='$key'></input>

<button id='updSGButton' type='submit' class='btn btn-block btn-primary'>Update


SG Info</button>
</form>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end updateSGInfoModal

/**
*
*/
function updateSGInfo() {
global $con;

$qry = $con->prepare("UPDATE sendgrid_info set login_name = ?, word = ? where


id = ? ");
$qry->bind_param("sss", $_POST['upd_sg_lname'], $_POST['upd_sg_key'],
$_POST['upd_sg_id']);
$qry->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Success";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}//end updateSGInfo

/**
*
*/
function addSGInfo() {

global $con, $con_adm, $base_dir;


$ins = $con->prepare("INSERT INTO sendgrid_info(login_name,word,agency_id)
VALUES(?,?,?)");
$ins->bind_param("sss", $_POST['add_sg_lname'], $_POST['add_sg_key'],
$_SESSION['agency_id']);
if ($ins->execute()) {

//add Default Lists


require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$request_body = json_decode('{
"name": "agency_name",
"type": "text"
}');
$response = $sg->client->contactdb()->custom_fields()-
>post($request_body);
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$qry = $con_adm->prepare("SELECT name from sg_default_lists order by
name asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($name);
while ($qry->fetch()) {

$request_body = json_decode('{
"name": "' . $name . '"
}');
$response = $sg->client->contactdb()->lists()-
>post($request_body);
$resp = json_decode($response->body(), true);
$sg_id = $resp['id'];
if ($name != 'Unsubscribe') {
$request_body = json_decode('{
"custom_unsubscribe_url": "https://www.keepthemsmiling.com/unsubscribe.php",
"html_content": "<html><head><title></title></head><body><p>Check out our spring
line!</p><br><br><p>If you would like to be removed from our mailing list click
here <a href=\"[Unsubscribe]\">Unsubscribe</a> and enter your email
address.</p></body></html>",
"plain_content": "Check out our spring line!

If you do not want to receive our emails anymore please click here -
[Unsubscribe]",
"list_ids": [
' . $sg_id . '
],
"subject": "' . $name . '",
"title": "' . $name . '"
}');
$response = $sg->client->campaigns()->post($request_body);
$json_response = json_decode($response->body(), true);
$ins_qry = $con->prepare("INSERT into
email_campaigns(title,sg_id,html_content) VALUES(?,?,?)");
echo $con->error;
$ins_qry->bind_param("sss", $json_response['title'],
$json_response['id'], $json_response['html_content']);
$ins_qry->execute();
}

}//end while

$trunc = $con->query("TRUNCATE email_campaign_categories");


require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);

$response = $sg->client->contactdb()->lists()->get();
$json_response = json_decode($response->body(), true);

foreach ($json_response as $key) {


foreach ($key as $type=>$value) {

$cat_id = $value['id'];
$cat_name = $value['name'];
$catid = $cat_id;
$qry->free_result();
$qry2 = $con->prepare("SELECT sg_id from
email_campaign_categories where sg_id = ? ");
$qry2->bind_param("s", $catid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows < 1) {
$qry2->free_result();
$ins_qry = $con->prepare("INSERT into
email_campaign_categories(name,sg_id) VALUES(?,?)");
$ins_qry->bind_param("ss", $catname, $catid);
$catid = $cat_id;
$catname = $cat_name;
$ins_qry->execute();
}

header('Content-type: application/json');
$response_array['status'] = "Success";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end addSGInfo

/**
*
*/
function addSGInfoModal() {

global $con;

echo "
<h3 style='color: red;'>Please note, depending on the number of contacts you have
in the system this could take several minutes to complete. Please do not navigate
away from this page</h3>
<form class='form-horizontal' id='add_sg_form' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden' name='add_sg_id' value='$row_id'></input>
<input type='text' class='form-control' id='add_sg_lname' name='add_sg_lname'
placeholder='Login Name'></input>
<input type='text' class='form-control' id='add_sg_key' name='add_sg_key'
placeholder='API Key'></input>

<button id='updSGButton' type='submit' class='btn btn-block btn-primary'>Add SG


Info</button>
</form>";
}

/**
*
*/
function addContactsToCampaign() {
global $con, $con_adm;
$qry = $con->prepare("select qry,agency_name from
email_campaign_categories,ams_admin.sg_default_lists,agency_globals where agency_id
= ? and qry is not null");
echo $con->error;
$qry->bind_param("s", $_SESSION['agency_id']);
$list_id = $_POST['add_contacts_campaign'];
echo $con->error;
$qry->execute();
$qry->store_result();
$qry->bind_result($query, $agency_name);
$qry->fetch();
$qry->close();

$contacts_qry = $con->prepare($query);
$contacts_qry->execute();
$contacts_qry->store_result();
$contacts_qry->bind_result($fname, $lname, $email);
$body = '';
while ($contacts_qry->fetch()) {

$body .= '
{
"email": "' . $email . '",
"first_name": "' . $fname . '",
"last_name": "' . $lname . '",
"agency_name": "' . $agency_name .'"
},';
}//end while
$body = rtrim($body, ',');
require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$request_body = json_decode('[ ' . $body . ']');
$response = $sg->client->contactdb()->recipients()->post($request_body);
$json_response = json_decode($response->body(), true);

$error_count = $json_response['error_count'];
$new_count = $json_response['new_count'];
sleep(10);
$qry = $con->prepare("select qry from
email_campaign_categories,ams_admin.sg_default_lists where sg_id = ? and
email_campaign_categories.name = ams_admin.sg_default_lists.name");
echo $con->error;
$qry->bind_param("s", $list_id);
$list_id = $_POST['add_contacts_campaign'];
echo $con->error;
$qry->execute();
$qry->store_result();
$qry->bind_result($query);
$qry->fetch();
$qry->close();

$contacts_qry = $con->prepare($query);
$contacts_qry->execute();
$contacts_qry->store_result();
$contacts_qry->bind_result($fname, $lname, $email);
$body = '';
while ($contacts_qry->fetch()) {
$list_id = $list_id;
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);

$query_params = json_decode('{"email": "' . $email . '"}');


$response = $sg->client->contactdb()->recipients()->search()->get(null,
$query_params);
$json_response = json_decode($response->body(), true);

foreach ($json_response['recipients'] as $val) {


$list_id = $_POST['add_contacts_campaign'];
$recipient_id = $val['id'];
$resp = $sg->client->contactdb()->lists()->_($list_id)-
>recipients()->_($recipient_id)->post();

}
}//end while
sleep(10);
$list_id = $list_id;
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$query_params = json_decode('{"$list_id": 1}');
$list_id = "$list_id";
$response = $sg->client->contactdb()->lists()->_($list_id)->get(null,
$query_params);
$json_response = json_decode($response->body(), true);
$total_count = $json_response['recipient_count'];

header('Content-type: application/json');
$response_array['status'] = "Success";
$response_array['total_count'] = $total_count;
echo json_encode($response_array);

}//end addContactsToCampaign

/**
*
*/
function getCampaign() {
global $con, $con_adm;
$qry = $con->prepare("select email_campaigns.sg_id from
email_campaign_categories,email_campaigns where email_campaign_categories.sg_id = ?
and email_campaign_categories.name = email_campaigns.title");
echo $con->error;
$qry->bind_param("s", $list_id);
$list_id = $_POST['get_campaign'];
echo $con->error;
$qry->execute();
$qry->store_result();
$qry->bind_result($campaign_id);
$qry->fetch();
$qry->close();
require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$response = $sg->client->campaigns()->_($campaign_id)->get();
$json_response = json_decode($response->body(), true);
$html_content = $json_response['html_content'];
$title = $json_response['title'];
$sender_id = $json_response['sender_id'];
$list_ids = $json_response['list_ids'];
$lists = '';
foreach ($list_id as $list) {
$lists .= "$list|";
}
$unsubscribe = $json_response['custom_unsubscribe_url'];
$subject = $json_response['subject'];
$status = $json_response['status'];
$sg = new \SendGrid($apiKey);
$query_params = json_decode('{"list_id": 1}');
$response = $sg->client->contactdb()->lists()->_($list_id)->get(null,
$query_params);
$json_response = json_decode($response->body(), true);
$rec_count = $json_response['recipient_count'];
$sg = new \SendGrid($apiKey);
$response = $sg->client->campaigns()->_($campaign_id)->schedules()->get();
$json_response = json_decode($response->body(), true);
$time = date("Y-m-d H:i:s", $json_response['send_at']);

$response_array['data'] = "
<button id='prevCampButton' type='submit' class='btn btn-block btn-
primary'>Preview Email</button>

<form class='form-horizontal' id='upd_campaign' action='functions/functions.php'


method='post' enctype='multipart/form-data' role='form'>";
$sg = new \SendGrid($apiKey);
$response = $sg->client->senders()->get();
$json_response = json_decode($response->body(), true);
$response_array['data'] .= "<h5>Status - $status | Recipients -
$rec_count</h5>
<select class='form-control' name='upd_camp_sender'><option value=''>Please Select
Sender</option>";
foreach ($json_response as $sender) {
$from = $sender['from']['name'];
$from_email = $sender['from']['email'];
$from_id = $sender['id'];
if ($sender_id == $from_id) {
$response_array['data'] .= "<option value='$from_id'
selected>$from - $from_email</option>";
}else {
$response_array['data'] .= "<option value='$from_id'>$from -
$from_email</option>";
}
}//end foreach
$response_array['data'] .= "</select>
<input type='hidden' name='campaign_status' value='$status'></input>
<input type='hidden' id='campaign_id' name='campaign_id'
value='$campaign_id'></input>
<label for='upd_camp_name'>Campaign Title</label>
<input type='text' class='form-control' id='upd_camp_name' name='upd_camp_name'
placeholder='Campaign Title' value='$title'></input>
<label for='upd_camp_name'>Email Subject</label>
<input type='text' class='form-control' id='upd_camp_subj' name='upd_camp_subj'
placeholder='Email Subject' value='$subject'></input>
<label for='upd_camp_html'>HTML Content</label>
<textarea class='form-control' id='upd_camp_html'
name='upd_camp_html'>$html_content</textarea>
<label for='upd_camp_html'>Scheduled to Send</label>
<input type='text' class='form-control' id='upd_camp_sched' name='upd_camp_sched'
placeholder='Campaign Schedule' value='$time'></input>

<button id='updCampButton' type='submit' class='btn btn-block btn-


primary'>Update Campaign Info</button>
</form>
<input type='text' class='form-control' id='test_camp_email'
name='test_camp_email' placeholder='Email to Send Test to'></input>

<button id='sendTestCamp' type='submit' class='btn btn-block btn-primary'>Send


Test Email</button>

<script>
$(document).ready(function () {
$(document).on('click', '#prevCampButton', function(event) {

var w = window.open();
var html = $('#upd_camp_html').val();
$(w.document.body).html(html);
});
});
</script>";
header('Content-type: application/json');
$response_array['status'] = "Success";
echo json_encode($response_array);

}//end getCampaign

/**
*
*/
function updateCampaign() {
global $con, $base_dir;

$campaign_id = $_POST['campaign_id'];
$sender_id = $_POST['upd_camp_sender'];
$subject = $_POST['upd_camp_subj'];
$name = $_POST['upd_camp_name'];
$html_content = $_POST['upd_camp_html'];
require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";
$apiKey = getenv('SENDGRID_API_KEY');
if ($_POST['campaign_status'] == 'Scheduled') {
$sg = new \SendGrid($apiKey);
$response = $sg->client->campaigns()->_($campaign_id)->schedules()-
>delete();
}
$sg = new \SendGrid($apiKey);
if (strtotime($_POST['upd_camp_sched']) < strtotime("now")) {
$request_body = json_decode('{
"html_content": "' . $html_content . '",
"subject": "' . $subject . '",
"title": "' . $name . '",
"sender_id": "' . $sender_id . '"
}');
$response = $sg->client->campaigns()->_($campaign_id)-
>patch($request_body);
$resp = $response->statusCode();
}else {
$request_body = json_decode('{
"html_content": "' . "$html_content" . '",
"subject": "' . $subject . '",
"title": "' . $name . '",
"sender_id": "' . $sender_id . '"
}');
$response = $sg->client->campaigns()->_($campaign_id)-
>patch($request_body);
$resp = $response->statusCode();
$resp_full = $response['errors'];
$sched = strtotime($_POST['upd_camp_sched']);
$sg = new \SendGrid($apiKey);
$request_body = json_decode('{
"send_at": ' . $sched . '
}');
$response = $sg->client->campaigns()->_($campaign_id)->schedules()-
>post($request_body);
$resp_bod = $response->body();

}
if ($resp == '200') {

header('Content-type: application/json');
$response_array['status'] = "Success";
$response_array['sched'] = $resp_bod;
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
$response_array['error'] = $resp;
$response_array['error_msg'] = $response->body();
$response_array['body'] = $request_body;
$response_array['dump'] = $resp_full;
echo json_encode($response_array);
}

}//end updateCampaign

/**
*
*/
function testCampaign() {
global $con, $base_dir;

require "/datadrive/html/$base_dir/sendgrid-php/set_api.php";

$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);
$campaign_id = $_POST['send_test_camp'];
$email = $_POST['test_camp_email'];

$request_body = json_decode('{
"to": "' . $email . '"
}');
$response = $sg->client->campaigns()->_($campaign_id)->schedules()->test()-
>post($request_body);
$resp = $response->statusCode();

if ($resp == '204') {

header('Content-type: application/json');
$response_array['status'] = "Success";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
$response_array['error'] = $resp;
$response_array['error_msg'] = $response->body();
echo json_encode($response_array);
}
}//end testCampaign

/**
*
* @return unknown
*/
function checkForQRRQ() {
global $con, $con_qr;

if (isset($_SESSION['agency_set'])) {
$agency_id = $_SESSION['agency_set'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$qry_comp = $con->prepare("SELECT id from company_integrations where
company_name = ? and endpoint_type = ? and integration_status = ? ");
$qry_comp->bind_param("sss", $comp_name, $end_type, $int_status);
$comp_name = 'QuoteRush';
$end_type = 'Database';
$int_status = 'Active';
$qry_comp->execute();
$qry_comp->store_result();
$qry_comp->bind_result($comp_id);
$qry_comp->fetch();

$qry = $con->prepare("SELECT ip_id,ip_secret from agency_integrations where


agency_id = ? and integration_company_id = ? ");
$qry->bind_param("ss", $agency_id, $comp_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($ip_id, $ip_secret);
if ($qry->num_rows < 1) {
$quote_int = 'No';
}else {
$qry->fetch();
$quote_int = 'Yes';
}

$qry2 = $con_qr->prepare("SELECT QRId from quoterush.agencies where QRId = ?


and Services like ? ");
$qry2->bind_param("ss", $ip_id, $service);
$service = '%HandsFree%';
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$handsfree = 'Yes';
}else {
$handsfree = 'No';
}

return $quote_int . "|" . $handsfree;

}//end checkforQRRQ

/**
*
*/
function addScriptModal() {
global $con;
$response_array['data'] = "<form class='form-horizontal' id='add_script'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='text' name='new-script-name' placeholder='Name of Script' class='form-
control' required></input>
<label class='control-label'>Line of Business</label>";
$qry = $con->prepare("SELECT id,lob from policy_lob order by lob asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($lob_id, $lob);
$response_array['data'] .= "<select name='new-script-lob' class='form-
control'><option value=''>Please Select Line of Business</option>";
while ($qry->fetch()) {

$response_array['data'] .= "<option value='$lob_id'>$lob</option>";


}//end while lob loop

$response_array['data'] .= "</select>
<label class='control-label'>Script Text</label>
<textarea rows='10' cols='100' name='new-script-text'
class-'form-control'></textarea>
<button type='submit' class='btn btn-primary'>Add Script</button>
</form>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end add script

/**
*
*/
function addScript() {
global $con;

$qry = $con->prepare("INSERT into wf_scripts(name,script_text,lob)


VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new-script-name'], $_POST['new-script-text'],
$_POST['new-script-lob']);
$qry->execute();
$script_id = $con->insert_id;

if ($script_id == '') {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}
}//end addScript

/**
*
*/
function addWorkflowModal() {
global $con;
$response_array['data'] = "<form class='form-horizontal' id='add_workflow'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='text' name='new-wf-name' placeholder='Name of Workflow' class='form-
control' required></input>";
$qry = $con->prepare("SELECT id,name from workflow_types order by name asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($wftype_id, $wf_name);
$response_array['data'] .= "<select name='new-wf-type' id='new-wf-type'
class='form-control' ><option value=''>Please Select Workflow Type</option>";
while ($qry->fetch()) {

$response_array['data'] .= "<option
value='$wftype_id'>$wf_name</option>";
}//end while lob loop

$response_array['data'] .= "</select>
<div id='option_div'></div>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//addWorkflowModal

/**
*
*/
function checkWFType() {
global $con;

$qry = $con->prepare("SELECT name from workflow_types where id = ?");


$qry->bind_param("s", $_POST['check-wf-types']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($type_name);
$qry->fetch();

if ($type_name == 'Policy') {

$qry2 = $con->prepare("SELECT id,lob from policy_lob order by lob


asc");
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($pid, $plob);
$response_array['data'] = "<br><select name='new-wf-policy-lob'
class='form-control' ><option value=''>Please Select Line of Business</option>";
while ($qry2->fetch()) {

$response_array['data'] .= "<option
value='$pid'>$plob</option>";

}//end while policy lob


$response_array['data'] .= "</select>";

$response_array['data'] .= "
<br>
<button type='submit' class='btn btn-primary add-step'>Add Step</button>
<button type='submit' class='btn btn-danger rem-step' style='float:right;'>Remove
Step</button>
<br>
<div id='steps_div'></div>
<button type='submit' class='btn btn-primary'>Create Workflow</button>
</form>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//check if a policy workflow

}//end checkWFType

/**
*
*/
function addStep() {
global $con;
$step_counter = $_POST['add-step'];
$response_array['data'] = "
<div class='form-group' id='step-$step_counter-div'>
<div class='col-md-6 col-sm-6 col-xs-6'>
<h4>Step $step_counter</h4>
<input type='text' class='form-control wf-step' name='new_wf_step[]'
id='new_wf_step[]' data-value='$step_counter' placeholder='Name of Step'></input>
</div>
<div class='col-md-6 col-sm-6 col-xs-6'>
<h4>Is there a script associated with this step?</h4>";
$qry = $con->prepare("SELECT id,name from wf_scripts order by name asc");
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$response_array['data'] .= "<select class='form-control'
name='new_wf_script_step_$step_counter'><option value = ''>Please Select
Script</option>";
$qry->bind_result($sid, $sname);
while ($qry->fetch()) {
$response_array['data'] .= "<option
value='$sid'>$sname</option>";
}//end while scripts
$response_array['data'] .= "</select>";
}else {
$response_array['data'] .= "<select class='form-control'
name='new_wf_script_step_$step_counter'><option value = ''>No Scripts
Found</option></select>";
}//end check for scripts
$response_array['data'] .= "
</div>
<div class='row'>
<div class='col-md-2 col-sm-2 col-xs-2'>
<label class='control-label'># of Files</label>
<input type='text' class='form-control' name='new_wf_files_step_$step_counter'
id='new_wf_files_step_$step_counter' value='0'></input>
</div>
<div class='col-md-2 col-sm-2 col-xs-2'>
<label class='control-label'># of Notes</label>
<input type='text' class='form-control' name='new_wf_notes_step_$step_counter'
id='new_wf_notes_step_$step_counter' value='0'></input>
</div>
<div class='col-md-2 col-sm-2 col-xs-2'>
<label class='control-label'>Proposal Generated?</label>
<select name='new_wf_proposal_step_$step_counter' class='form-control'><option
value='No'>No</option><option value='Yes'>Yes</option></select>
</div>

</div>
<div class='col-md-8 col-sm-8 col-xs-8'>
<label class='control-label'>Step Description</label>
<textarea class='form-control' name='new_wf_desc_step_$step_counter'></textarea>
</div>
</div>
";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end addStep

/**
*
*/
function addWorkflow() {
global $con;

$qry = $con->prepare("INSERT into workflows(name,type) VALUES(?,?)");


$qry->bind_param("ss", $_POST['new-wf-name'], $_POST['new-wf-type']);
$qry->execute();
$wfid = $con->insert_id;
if ($wfid != '') {
$counter = 1;
foreach ($_POST['new_wf_step'] as $step) {
$step_num = $counter;
$step_name = $step;
$script = $_POST["new_wf_script_step_$counter"];
$files = $_POST["new_wf_files_step_$counter"];
$desc = $_POST["new_wf_desc_step_$counter"];
$notes = $_POST["new_wf_notes_step_$counter"];
$prop = $_POST["new_wf_proposal_step_$counter"];
$script = $_POST["new_wf_script_step_$counter"];
$ins_qry = $con->prepare("INSERT into
workflow_steps(name,wf_order,files,notes,wf_id,step_desc,proposal,script)
VALUES(?,?,?,?,?,?,?,?)");
$ins_qry->bind_param("ssssssss", $step_name, $step_num, $files,
$notes, $wfid, $desc, $prop, $script);
$ins_qry->execute();
$step_id = $con->insert_id;
if ($step_id != '') {
$counter++;

}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}

}//end foreach

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}//end addWorkflow

/**
*
*/
function startDeal() {
global $con, $con_qr;

$contact_id = $_POST['contact_id'];
$prop_type = $_POST['prop-type'];
$qid = $_POST['gen_qr_deal'];
$qry = $con->prepare("SELECT correlation_lead_id from agency_contacts where
id = ?");
$qry->bind_param("s", $_POST['contact_id']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($qr_id);
$qry->fetch();

$qry2 = $con->prepare("SELECT id,name from workflows order by name


asc");
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($wfid, $wfname);
$response_array['data'] = "<select name='new-prop-wf' id='new-
prop-wf' class='form-control new-prop-wf'><option value=''>Please Select Workflow
for Deal</option>";

while ($qry2->fetch()) {
$response_array['data'] .= "<option
value='$wfid'>$wfname</option>";

}//end while
$response_array['data'] .= "</select>";

$response_array['data'] .= "<input type='hidden'


name='contact_id' id='contact_id' value='$contact_id'></input><input type='hidden'
id='prop_type' name='prop_type' value='$prop_type'></input><input type='hidden'
name='quote_id' id='quote_id' value='$qid'></input><div id='prop_div'></div>";

}else {

$response_array['data'] .= "<p> No workflows found, please create


one before starting a proposal </p>";

}//end check for workflows

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//found contact

}//end startDeal

/**
*
*/
function startDealWF() {
global $con, $con_qr;

$prop_type = $_POST['prop_type'];
$contact_id = $_POST['contact_id'];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $contact_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qid = $_POST['quote_id'];
$wfid = $_POST['new-prop-wf'];
$qry = $con->prepare("SELECT * from workflow_steps where wf_id = ? order by
wf_order asc");
$qry->bind_param("s", $_POST['new-prop-wf']);
$qry->execute();
$qry->store_result();
$qry->bind_result($id, $name, $order, $files, $notes, $wfid, $des, $prop,
$script);
$response_array['data'] = "
<script src='assets/js/jquery-steps.js'></script>
<script src='assets/js/forms-wizard.js'></script>

<br><br>
<div id='example-
vertical'>";
$deal_qry = $con->prepare("SELECT id,step from deals where quote_id = ? and
ContactId = ? and status = ?");
$deal_qry->bind_param("sss", $qid, $ContactId, $progress);
$progress = 'In Progress';
$deal_qry->execute();
$deal_qry->store_result();
if ($deal_qry->num_rows > 0) {
$deal_qry->bind_result($dealid, $step);
$deal_qry->fetch();
$check_prop = $con->prepare("SELECT proposal_id from proposals where
ContactId = ? and deal_id = ?");
$check_prop->bind_param("ss", $ContactId, $dealid);
$check_prop->execute();
$check_prop->store_result();
if ($check_prop->num_rows > 0) {
$check_prop->bind_result($proposal_id);
$prop_create = 'Yes';
}else {
$prop_create = 'No';
}
$response_array['data'] .= " <h5>Deal ID -
$dealid</h5>
<input
type='hidden' name='deal_id' id='deal_id' value='$dealid'></input>";
}else {
$response_array['data'] .= "
<button type='submit' class='btn
btn-primary save-deal' style='margin-left: 40%;'>Save Deal</button>
";
}
$response_array['data'] .= "
<input type='hidden'
name='contact_id' id='contact_id' value='$contact_id'></input>
<input type='hidden'
name='prop_type' id='prop_type' value='$prop_type'></input>
<input
type='hidden' name='quote_id' id='quote_id' value='$qid'></input>
<input type='hidden' name='wf_id'
id='wf_id' value='$wfid'></input>

";
$counter = 0;
while ($qry->fetch()) {
$counter++;
$response_array['data'] .= "

<h3>$name</h3>
<section>
<h4
class='text-center'>$des</h4>
<h5>Expected Inputs:
Notes - $notes | Files - $files | Proposal - $prop</h5>
<input type='hidden'
id='exp_num_notes_$counter' value='$notes'>
<input type='hidden'
id='exp_num_files_$counter' value='$files'>
<input type='hidden'
id='exp_proposal_$counter' value='$prop'>";
if (!isset($dealid)) {
$dealid = '';
}
if ($prop == 'Yes' && $dealid != '' && $prop_create == 'No') {
$response_array['data'] .= "
<a href='proposal_generator.php' class='btn btn-primary gen-prop' style='margin-
left: 40%;color: #fff;'>Create Proposal</a>
";
}

if ($prop == 'Yes' && $dealid != '' && $prop_create == 'Yes') {


while ($check_prop->fetch()) {
$ag_id = $_SESSION['agency_id'];
$response_array['data'] .= "
<a href='proposal_view.php?proposal_id=$proposal_id&identifier=$ag_id'
target='_blank' class='btn btn-primary gen-prop' style='margin-left: 40%;color:
#fff;'>Proposal - $proposal_id</a>
";
}//end check for proposals
}

if ($script != '') {
$qry2 = $con->prepare("SELECT script_text from wf_scripts where
id = ?");
$qry2->bind_param("s", $script);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($script_text);
$qry2->fetch();
$response_array['data'] .= "
<h5>Call Script - $script_text</h5>";
}
$accordion_count = 0;
if ($notes > 0) {
$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by
from deal_notes,users_table where ContactId = ? and note_by = users_table.user_id
and quote_id = ? and step = ? and deal_id = ? order by entry_ts desc");
if (!$dealid) {
$dealid = 'NULL';
}
$note_qry->bind_param("ssss", $ContactId, $qid, $counter,
$dealid);
$note_qry->execute();
$note_qry->store_result();
if ($note_qry->num_rows > 0) {
$num_notes = $note_qry->num_rows;
$response_array['data'] .= "<div id='notes-div-step-
$counter'><input type='hidden' id='curr_num_notes_$counter' value='$num_notes'>";
$response_array['data'] .= ' <table datatable="datatable"
class="table table-striped table-bordered dataTable no-footer" id="note-grid"
style="width:100%;">
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
</tr>
<thead>
<tbody>';
$note_qry->bind_result($note_content, $note_date,
$note_author);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a",
strtotime($note_date));
$note_content = nl2br($note_content);
$response_array['data'] .= "
<tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
</tr>";

}//end while
$accordion_count++;
$response_array['data'] .= "</tbody></table>
</div>";

$response_array['data'] .= "
<label for='add_contact_note'>Add Note</label>
<textarea class='form-control' id='add_deal_note_$counter' placeholder='Add Note to
Deal'></textarea>
<button type='submit' class='btn btn-primary save-deal-note' data-value='$counter'
disabled='true'>Save Note</button>

";

if ($dealid != '') {
$response_array['data'] .= "
<script>
$('.save-deal-note').show();
</script>";
}

}else {
$num_notes = $note_qry->num_rows;
$response_array['data'] .= "<div id='notes-div-step-
$counter'><input type='hidden' id='curr_num_notes_$counter'
value='$num_notes'></div>";
$response_array['data'] .= "
<label for='add_contact_note'>Add Note</label>
<textarea class='form-control' id='add_deal_note_$counter' placeholder='Add Note to
Deal'></textarea>
<button type='submit' class='btn btn-primary save-deal-note' data-value='$counter'
disabled='true'>Save Note</button>

";

if ($dealid != '') {
$response_array['data'] .= "
<script>
$('.save-deal-note').show();
</script>";
}
}
}else {

$agency_id = $_SESSION['agency_id'];
$file_qry = $con->prepare("SELECT
file_path,file_name,uploaded,CONCAT(fname, ' ', lname) as name from
deal_files,users_table where deal_files.agency_id = ? and ContactId = ? and
quote_id = ? and uploaded_by = user_id and step = ? and deal_id = ? order by
uploaded asc");
echo $con->error;
$agency_id = $_SESSION['agency_id'];
if (!$dealid) {
$dealid = 'NULL';
}
$file_qry->bind_param("sssss", $agency_id, $ContactId, $qid, $counter,
$dealid);
$file_qry->execute();
$file_qry->store_result();
if ($file_qry->num_rows > 0) {
$num_files = $file_qry->num_rows;
$response_array['data'] .= "<input type='hidden'
id='curr_num_files_$counter' value='$num_files'>";
$response_array['data'] .= '

<table class="table table-striped table-bordered dataTable no-footer filesTable"


id="ftable-dfile" style="max-width:100%;">

<thead>

<tr>

<th>File Name</th>

<th>Uploaded By</th>

<th>Uploaded</th>
</tr>

</thead>

<tbody>';

$file_qry->bind_result($path, $file_name, $uploaded,


$uploaded_by);
while ($row_file = $file_qry->fetch()) {
$path = str_replace('#', '%23', $path);
$xplode = explode("/", $path);
$path =
"doc_storage/$xplode[5]/$xplode[6]/$xplode[7]/$xplode[8]";
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
$response_array['data'] .= "<tr>
<td><a href='$path/$file_namee' target='_blank'>$file_name</a></td>
<td>$uploaded_by</td>
<td>$uploaded</td>
</tr>";
}

$response_array['data'] .= "</tbody></table>";
}else {
$num_files = $file_qry->num_rows;
$response_array['data'] .= "<input type='hidden'
id='curr_num_files_$counter' value='$num_files'>";
}

if ($files > 0) {
$response_array['data'] .= "<div class='file-container'>";

$response_array['data'] .= "<form action='upload_deal.php'


class='dropzone dz-clickable' id='drop_zone_$counter' method='post'>";
$response_array['data'] .= "<input type='hidden'
name='file_contact_id' value='$contact_id'></input><input type='hidden'
name='file_ContactId' value='$ContactId'></input><input type='hidden'
name='file_quote_id' value='$qid'></input><input type='hidden' name='upload_from'
value='deal'></input><input type='hidden' name='file_step_id'
value='$counter'><input type='hidden' class='file_deal_id' name='file_deal_id'
value='$dealid'>";
$response_array['data'] .= '<div class="dz-default dz-
message"><span>Drop files here to upload</span></div></form>

<input type="file" multiple="multiple" class="dz-hidden-input" style="visibility:


hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
<script>';
$response_array['data'] .= "
// Dropzone class:
var myDropzone_$counter = new Dropzone('#drop_zone_$counter', {
url: 'upload_deal.php',
success: function(file,
response){
var file_val = $('#curr_num_files_$counter').val();
file_val++
$('#curr_num_files_$counter').val(file_val);
var curr_step = $('#example-vertical').steps('getCurrentIndex');
curr_step++

if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||


$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

}
});";
if ($dealid == '') {

$response_array['data'] .= "
var new_note = $('.file-container').hide();
";
}
$response_array['data'] .= "

</script>
</div>";

}else {

}//end check if files are required

$response_array['data'] .= "</section>";

}//end while

$response_array['data'] .= "
</div>
";

if ($dealid != '') {
$counter_step = 1;
$response_array['data'] .= "
<script>
";
if (!$step) {
$step = 1;
}
while ($counter_step < $step) {
$response_array['data'] .= "
$('.wizard').steps('next');";
$counter_step++;
}//end while step count
$response_array['data'] .= "

$(document).on('click', '.step-item', function(event) {


var curr_step = $('#example-vertical').steps('getCurrentIndex');
curr_step++
if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||
$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}
var url = 'functions/functions.php'; // the script where you handle the form
input.
var contact = $('#contact_id').val();
var step = curr_step;
var prop_type = $('#prop_type').val();
var quote_id = $('#quote_id').val();
var deal_id = $('#deal_id').val();
var val = $(this).attr('href');
if(val == '#next' || val == '#previous'){
$.ajax({
type: 'POST',
url: url,
data:
'save_deal_step=true&contact_id='+contact+'&prop_type='+prop_type+'&quote_id='+quot
e_id+'&step='+step+'&deal_id='+deal_id, // serializes the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$('#notes-div-step-'+step).html(data.data);
if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||
$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

}
if ( data.status != 'Got Data' ) {
}
}
});
}
if(val == '#finish'){
swal({
title: 'Won or Lost?',
text: 'Did you win this deal or lose it?',
icon: 'info',
buttons: [
'Lost',
'Won'
],
dangerMode: true,
}).then(function(isConfirm) {
if (isConfirm) {
var dwon = 1;
} else {
var dwon = 0;
}
})
$.ajax({
type: 'POST',
url: url,
data:
'save_deal_step=true&contact_id='+contact+'&prop_type='+prop_type+'&quote_id='+quot
e_id+'&step='+step+'&deal_id='+deal_id+'&finished=true&won='+dwon, // serializes
the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$('.actions').hide();
}
if ( data.status != 'Got Data' ) {
}
}
});
}
});
var curr_step = $('#example-vertical').steps('getCurrentIndex');
curr_step++

if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||


$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

if($('#deal_id').length){
$('.save-deal-note').prop('disabled', false);
}

";

if ($dealid == '' || !isset($dealid)) {


$response_array['data'] .= "
$('.save-deal-note').hide();
";
}

$response_array['data'] .= "

</script>
";

}else {
}

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end startDealWF

/**
*
*/
function saveDeal() {
global $con;
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("i", $_POST['contact_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry = $con->prepare("INSERT into
deals(agency_id,type,lob,status,step,quote_id,wf_id,ContactId)
VALUES(?,?,?,?,?,?,?,?)");
$qry->bind_param("ssssssss", $_SESSION['agency_id'], $_POST['prop_type'],
$_POST['prop_type'], $status, $step, $_POST['quote_id'], $_POST['wf_id'],
$ContactId);
$status = 'In Progress';
$step = '1';
$qry->execute();
$insid = $con->insert_id;

if ($insid != '') {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
$response_array['data'] = "
<input type='hidden' name='deal_id' id='deal_id' value='$insid'></input>
<script>
$
('.file_deal_id').val($insid)
</script>";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}//end saveDeal

/**
*
*/
function saveDealNote() {
global $con;
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $_POST['contact_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry = $con->prepare("INSERT into
deal_notes(ContactId,agency_id,note_content,note_by,deal_id,step,quote_id)
VALUES(?,?,?,?,?,?,?)");
$qry->bind_param("sssssss", $ContactId, $_SESSION['agency_id'],
$_POST['note'], $_SESSION['uid'], $_POST['deal_id'], $_POST['step'],
$_POST['quote_id']);
$qry->execute();
$insid = $con->insert_id;

if ($insid != '') {

$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by
from deal_notes,users_table where ContactId = ? and note_by = users_table.user_id
and quote_id = ? and step = ? and deal_id = ? order by entry_ts desc");
$note_qry->bind_param("ssss", $ContactId, $_POST['quote_id'],
$_POST['step'], $_POST['deal_id']);
$note_qry->execute();
$note_qry->store_result();
if ($note_qry->num_rows > 0) {
$num_note = $note_qry->num_rows;

$counter = $_POST['step'];
$response_array['data'] .= "<input type='hidden'
id='curr_num_notes_$counter' value='$num_note'>";
$response_array['data'] .= ' <table datatable="datatable"
class="table table-striped table-bordered dataTable no-footer" id="note-grid"
style="width:100%;">
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
</tr>
<thead>
<tbody>';
$note_qry->bind_result($note_content, $note_date, $note_author);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a", strtotime($note_date));
$note_content = nl2br($note_content);
$response_array['data'] .= "
<tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
</tr>";

}//end while
$response_array['data'] .= "</tbody></table>";
}//end check for notes

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}//end saveDealNote

/**
*
*/
function getSelectAutoComp() {
global $con;
$qry = $con->prepare("SELECT id,fname,lname,address,city,state from
agency_contacts order by lname,fname,address asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id, $fname, $lname, $address, $city, $state);
while ($qry->fetch()) {

echo "<option value='$contact_id | $fname $lname | $address $city,


$state'>";

}//end while

}//end getSelectAutoComp

/**
*
*/
function getLOBSelector() {
global $con;

$qry = $con->prepare("SELECT id,lob from policy_lob order by lob asc");


$qry->execute();
$qry->store_result();
$qry->bind_result($id, $lob);
if ($qry->num_rows > 0) {
$response_array['data'] = "
<select class='form-control' id='prop-lob'><option value=''>Please Select the Line
of Business</option>";
while ($qry->fetch()) {
if ($lob == 'Home') {
$response_array['data'] .= "<option
value='$lob'>$lob</option>";
}else {
$response_array['data'] .= "<option value='$lob'
disabled>$lob - Coming Soon</option>";
}

}//end while

$response_array['data'] .= "</select>
<label class='control-label'>Deal Type</label>
<select class='form-control' id='deal_type'><option value=''>Please select Deal
Type</option><option value='new' disabled>New Deal</option><option
value='existing'>Existing Deal</option></select>

<div id='deal-selector-div'>
</div>

<label class='control-label'>Please enter the number of Quotes and Click Get


Quotes</label><input type='text' class='form-control' id='num_quotes'></input>
<label class='control-label'>Include Flood Proposal?</label><input type='checkbox'
class='form-control' name='inc_flood' id='inc_flood' value='true'></input>

<button type='submit' class='btn btn-primary get-prop-quotes'>Get Quotes</button>


";
$response_array['data'] .= "

<script>

$(document).on('change', '#deal_type', function(event) {


var url = 'functions/functions.php'; // the script where you handle the form
input.
var type = $('#prop-lob').val();
var contact = $('#agency_contact').val();
var dealtype = $('#deal_type').val();
$.ajax({
type: 'POST',
url: url,
data: 'get_deal_type='+dealtype+'&contact='+contact+'&type='+type, //
serializes the form's elements
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$.notify('Time to make them smile! ' + data.info_msg, {className:
'info',position:'top-center'});
$('#deal-selector-div').html(data.data);

}
if ( data.status != 'Got Data' ) {
$.notify('Whoops!', {className: 'error',position:'top-center'});
}
}
});

return false; // avoid to execute the actual submit of the form.


});

</script>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}

}//end getLOBSelector

/**
*
*/
function getProposalQuotes() {
global $con;
$contact_id = explode(" | ", $_POST['contact']);
$contact_id = $contact_id[0];
$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT correlation_lead_id,from_intp from
agency_contacts where id = ? ");
$qry->bind_param("s", $contact_id);
$qry->execute();
$qry->store_result();
$qry->bind_result($lead_id, $int_company);
$qry->fetch();
if ($lead_id == '') {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
//found correlation lead_id
if ($lead_id != '') {
$int_info = $con->prepare("SELECT
endpoint_initial,company_name,ip_id,ip_secret,endpoint,endpoint_type,endpoint_uname
,endpoint_pw from agency_integrations,company_integrations where
company_integrations.id = ? and agency_integrations.integration_company_id = ? and
agency_id = ? ");
$int_info->bind_param("sss", $int_company, $int_company, $agency_id);
$int_info->execute();
$int_info->store_result();
if (!$int_info) {
}
if ($int_info->num_rows > 0) {
$int_info->bind_result($endpoint_initial, $company_name, $ip_id,
$ip_secret, $endpoint, $endpoint_type, $endpoint_uname, $endpoint_pw);
$int_info->fetch();

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush')


{

$con_qr = mysqli_connect($endpoint, $endpoint_uname,


$endpoint_pw, $endpoint_initial);
if (!$con_qr) {
}

$qry = $con_qr->prepare("SELECT DatabaseName from


quoterush.agencies where QRId = ? and SecretCMSKey = ? ");
$qry->bind_param("ss", $ip_id, $ip_secret);
$qry->execute();
$qry->store_result();
if ($qry->num_rows === 0) {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}else {
$qry->bind_result($dbname);
$qry->fetch();
}

if (strtolower($_POST['type']) == 'home') {
$response_array['data'] = "";
//quote is for home
$qry2 = $con_qr->prepare("select
Id,Property_Id,SiteName,Premium,Description,QuoteDate,PolicyId,CoverageA,CoverageC,
CoverageD,CoverageE,CoverageF,HurricaneDeductible,AllOtherPerils,CoverageB,Optional
PersonalPropertyReplacementCost,AdditionalLawOrdinance from $dbname.propertyquotes
where Property_Id in (select Id from $dbname.properties where Lead_Id = ? ) and
QuoteDate > DATE_SUB(NOW(), INTERVAL 60 DAY) and Premium not like ? order by
QuoteDate desc");
$qry2->bind_param("ss", $lead_id, $empty_prem);
$empty_prem = '0';
$qry2->execute();
$qry2->store_result();
$response_array['data'] .= "</tbody></table>";

if ($qry2->num_rows < 1 || $qry2->num_rows <


$_POST['num_quotes']) {
header('Content-type: application/json');
$response_array['status'] = "Not Enough Quotes
to Generate Proposal";
echo json_encode($response_array);
exit;
}else {
$response_array['data'] = '';
$counter = 1;
$qry2->bind_result($qid, $propid, $carrier,
$premium, $desc, $quotedate, $policy_id, $cova, $covc, $covd, $cove, $covf,
$hurr_deduc, $deduc, $covb, $rce, $additional);
for ($i=$counter;$i<=$_POST['num_quotes'];$i++)
{
$qry2->execute();
$qry2->store_result();
$response_array['data'] .= "

<div class='module-wrapper col-lg-12 col-md-12 col-sm-12 col-


xs-12' id='section-$counter'>
<section class='module module-memory'>
<div class='module-inner'>
<div class='module-heading'>
<h3 class='module-title'>Quote $counter</h3>
<ul class='actions list-inline'>
<li><a class='collapse-module' data-
toggle='collapse' href='#content-3' aria-expanded='false' aria-controls='content-
3'><span aria-hidden='true' class='icon arrow_carrot-up'></span></a></li>
<li><a class='close-module' href='#'><span
aria-hidden='true' class='icon icon_close'></span></a></li>
</ul>
</div>
<div class='module-content collapse in'
id='content-$counter' style='overflow:scroll;'>
<div class='module-content-inner no-padding-
bottom'>
<table datatable='datatable' class='table table-hover
table-bordered dataTable no-footer quote-grid' id='quote-grid-$counter'
style='width:100%;'>
<thead>
<tr>
<th>Quote Id</th>
<th>Quote Date</th>
<th>Carrier</th>
<th>Premium</th>
<th>Notes</th>
<th>AOP Deductible</th>
<th>Hurricane Deductible</th>
<th>Replacement Cost</th>
<th>Additional Ordinances</th>
<th>Coverages (A-F)</th>
</tr>
<thead>
<tfoot>
<tr>
<th>Quote Id</th>
<th>Quote Date</th>
<th>Carrier</th>
<th>Premium</th>
<th>Notes</th>
<th>AOP Deductible</th>
<th>Hurricane
Deductible</th>
<th>Replacement Cost</th>
<th>Additional
Ordinances</th>
<th>Coverages (A-F) *use
search at the top to filter this column</th>
</tr>
</tfoot>
<tbody>

";

while ($qry2->fetch()) {

if ($cova == '0' || $cova == '') {


$cova = 'None';
}else {
$cova = '$' .
number_format($cova, 2);
}
if ($covb == '0' || $covb == '') {
$covb = 'None';
}else {
$covb = '$' .
number_format($covb, 2);
}
if ($covc == '0' || $covc == '') {
$covc = 'None';
}else {
$covc = '$' .
number_format($covc, 2);
}
if ($covd == '0' || $covd == '') {
$covd = 'None';
}else {
$covd = '$' .
number_format($covd, 2);
}
if ($cove == '0' || $cove == '') {
$cove = 'None';
}else {
$cove = '$' .
number_format($cove, 2);
}
$premium = '$' .
number_format($premium, 2);
if ($deduc != '' && strpos($deduc,
',') === false) {
$deduc = '$' .
number_format($deduc, 2);
}
if ($rce == '1') {
$rce = 'Yes';
}else {
$rce = 'No';
}

$response_array['data'] .= "
<tr class='table_$counter'>
<td>$qid</td>
<td>$quotedate</td>
<td>$carrier</td>
<td>$premium</td>
<td>$desc</td>
<td>$deduc</td>
<td>$hurr_deduc</td>
<td>$rce</td>
<td>$additional</td>
<td><table><tr><td>Coverage A -
$cova</td></tr><tr><td>Coverage B - $covb</td></tr><tr><td>Coverage C -
$covc</td></tr><tr><td>Coverage D - $covd<td></tr><tr><td>Coverage E -
$cove</td></tr><tr><td>Coverage F - $covf</td></tr></table></td>
</tr>
";

}//end while quotes

$response_array['data'] .= "
</tbody></table>

<script>
$(document).ready(function() {
var table = $('#quote-grid-$counter').DataTable({
'order': [[ 1, 'desc' ]]
});
$('#quote-grid-$counter tbody').on('click', 'tr', function() {
$('#section-$counter').hide();
$.notify('Quote selected, making some room on the page.', {className:
'info',position:'top-center'});

table.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
var tableName = $(this).closest('table').attr('id');
var ids = $.map(table.rows('.selected').data(), function (item) {
return item[0]
});
var prems = $.map(table.rows('.selected').data(), function (item) {
return item[3]
});
var carriers = $.map(table.rows('.selected').data(), function (item) {
return item[2]
});

splitTable = tableName.split('-');

quoteInfo = ids + ' ' + splitTable[2];


var lob = $('#prop-lob').val();
var contact = $('#agency_contact').val();
var order = splitTable[2]
rowContent = '<tr><td><input type=\'hidden\' name=\'quote_'+order+'\'
value=\''+ids+'\'>'+ids+'</td><td>'+order+'</td><td><input type=\'text\'
class=\'form-control\' name=\'quote_'+order+'_prem\'
value=\''+prems+'\'></td><td><input type=\'text\' class=\'form-control\'
placeholder=\'Quote Name\' name=\'quote_'+order+'_name\'></td><td><input
type=\'checkbox\' class=\'form-control\'
name=\'quote_'+order+'_recom\'></td><td><button type=\'submit\' class=\'btn btn-
primary remQuote\' data-value=\'$counter\'>Remove</button><input type=\'hidden\'
id=\'quote_'+order+'_carrier\' value=\''+carriers+'\'></td></tr>';
$('#quotes-table tr').each(function(){
if($(this).find('td').eq(1).text() == order){
count--;
$(this).remove();
}
});

if(max != count){
$(rowContent).appendTo($('#quotes-table'));
count++;
$('.gen-prop-final').hide();
}else{
$.notify('You have selected the maximum number of quotes for this proposal, please
remove the one you do not need.', {className: 'error',position:'top-center'});
$('.gen-prop-final').show();
}

if(max == count){
$('.gen-prop-final').show();
}else{
$('.gen-prop-final').hide();
}
$(document).ready(function() {
$('.editable-premium').editable();
});

$.ajax({
type: 'POST',
url: 'functions/functions.php',
data:
'rem_prop_quote_counter_def='+order+'&carrier='+carriers+'&lob='+lob+'&contact='+co
ntact, // serializes the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
}
}
});
$.ajax({
type: 'POST',
url: 'functions/functions.php',
data:
'prop_quote_counter_def='+order+'&carrier='+carriers+'&lob='+lob+'&contact='+contac
t, // serializes the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$('.module-content-inner').append(data.data);
}
}
});

});

table.columns().indexes().flatten().each( function ( i ) {
var column = table.column( i );
if(i != 8){
var select = $('<select class=\"form-control\"><option
value=\"\"></option></select>')
.appendTo( $(column.footer()).empty() )
.on( 'change', function () {
// Escape the expression so we can perform a regex match
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);

column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );

column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value=\"'+d+'\">'+d+'</option>' )
} );
}
} );

});

</script>

</div>
</div>
</div>
</section>
</div>
";
$counter++;
}
}

$response_array['data'] .= "<script>
var max = $('#num_quotes').val()
var count = 0;
$('#quotes-table').on('click', '.remQuote', function(e){
var show_counter = $(this).attr('data-value');
$('#section-' + show_counter).show();

$(this).closest('tr').remove()
count--
})
</script>";

if (isset($_POST['inc_flood']) && $_POST['inc_flood']


== 'true') {
$counter = 1;
$response_array['flood'] = "
<div class='row'>
<div class='col-lg-12 col-md-12 col-sm-12 col-xs-12'>
<h3>Flood Proposal</h3>
<table class='table table-hover table-bordered dataTable no-footer flood-grid'>
<thead>
<th>Package</th>";

while ($counter <= $_POST['num_quotes']) {


$response_array['flood'] .= "
<th><input type='text' class='form-control curr'
name='flood_contents_$counter' placeholder='Contents Coverage'></input></th>";
$counter++;
}//end loop for headers
$counter = 1;
$response_array['flood'] .= "

</thead>
<tbody>
<tr>
<td>Total Annual Premium</td>
";

while ($counter <= $_POST['num_quotes']) {


$response_array['flood'] .= "
<td><input type='text' class='form-control curr'
name='flood_prem_$counter' placeholder='Total Annual Premium'></input></td>";

$counter++;

}//end while quotes


$counter = 1;
$response_array['flood'] .= "</tr>
<tr>
<td>CoverageA-Dwelling</td>
";
while ($counter <= $_POST['num_quotes']) {
$response_array['flood'] .= "
<td><input type='text' class='form-control curr'
name='flood_cova_$counter' placeholder='CoverageA Amount'></input></td>";

$counter++;

}//end while quotes


$counter = 1;
$response_array['flood'] .= "</tr>
<tr>
<td>CoverageC-Contents</td>
";
while ($counter <= $_POST['num_quotes']) {
$response_array['flood'] .= "
<td><input type='text' class='form-control curr'
name='flood_covc_$counter' placeholder='CoverageC Amount'></input></td>";

$counter++;

}//end while quotes

$counter = 1;
$response_array['flood'] .= "</tr>
<tr>
<td>Deductible</td>
";
while ($counter <= $_POST['num_quotes']) {
$response_array['flood'] .= "
<td><input type='text' class='form-control'
name='flood_deduc_$counter' placeholder='Deductible'></input></td>";

$counter++;

}//end while quotes

$response_array['flood'] .=
"</tr></tbody></table></div></div>";

$response_array['flood'] .= "
<script>
</script>";

}//if flood wanted

$counter = 1;
$response_array['endorsements'] = "<button class='btn
btn-block btn-primary highlightText'>Highlight Text</button>";
while ($counter <= $_POST['num_quotes']) {
$response_array['endorsements'] .= "
<div class='col-lg-4 col-md-4 col-sm-4 col-xs-4'>
<h3>Additional Coverages - Quote $counter</h3>
<table class='table table-hover table-bordered dataTable no-footer endorsement-
grid'>
<thead>
<th>Coverage - Quote $counter</th>
<th>Value</th>
</thead>
<tbody>";

$qry_cov = $con->prepare("SELECT id,coverage


from coverages order by id asc");
$qry_cov->execute();
$qry_cov->store_result();
$qry_cov->bind_result($cov_id, $cov);
while ($qry_cov->fetch()) {
$qry_covo = $con->prepare("SELECT
option_name from coverage_options where coverage_id = ?");
$qry_covo->bind_param("s", $cov_id);
$qry_covo->execute();
$qry_covo->store_result();
$inputname = strtolower($cov);
$inputname = str_replace(" ", "_",
$inputname);
if ($qry_covo->num_rows > 0) {
$qry_covo->bind_result($opt_name);
$response_array['endorsements'] .=
"
<tr>
<td>$cov</td>
<td><input type='text' class='form-control ui-autocomplete-
input' id='$inputname-$counter' name='$inputname-$counter'>";
$response_array['endorsements'] .=
'
<script>
$(document).ready(function() {';
$response_array['endorsements'] .=
"
$('input#$inputname-$counter').autocomplete({
source: [";
$num_results = $qry_covo->num_rows;
$cov_counter = 1;
while ($qry_covo->fetch()) {
if ($cov_counter ==
$num_results) {

$response_array['endorsements'] .= "
{ value: '$opt_name' }";
}else {

$response_array['endorsements'] .= "
{ value: '$opt_name' },";
}
$cov_counter++;

}//end while found options


$response_array['endorsements'] .=
"]});});
</script>";
$response_array['endorsements'] .=
" </td></tr>";
}else {
$response_array['endorsements'] .=
"
<tr>
<td>$cov</td>
<td><input name='$inputname-$counter'
id='$inputname-$counter' type='text' class='form-control'></input></td>
</tr>";
}
}//end while check for coverages

$response_array['endorsements'] .=
"</tbody></table></div>";
$counter++;
}//end while num_quotes

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check if quote is for homes


}//end check if correlation lead id exists
}//end check if integration point exists and it is qr database
}//end check if integration point exists
}//end getProposalQuotes

/**
*
*/
function addCarrierFeeModal() {

global $con;
$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Add New Fee</h3>";
echo "<form class='form-horizontal' id='new_carrier_fee_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table'>Carrier Fee For:</label>";
echo "<select class='form-control' name='new_carrier_fee_table'>
<option value=''>Please Select Carrier</option>";
$int_company = '1';
$int_info = $con->prepare("SELECT
endpoint_initial,company_name,ip_id,ip_secret,endpoint,endpoint_type,endpoint_uname
,endpoint_pw from agency_integrations,company_integrations where
company_integrations.id = ? and agency_integrations.integration_company_id = ? and
agency_id = ? ");
$int_info->bind_param("sss", $int_company, $int_company, $agency_id);
$int_info->execute();
$int_info->store_result();
if (!$int_info) {
}
if ($int_info->num_rows > 0) {
$int_info->bind_result($endpoint_initial, $company_name, $ip_id,
$ip_secret, $endpoint, $endpoint_type, $endpoint_uname, $endpoint_pw);
$int_info->fetch();

if ($endpoint_type == 'Database' && $company_name == 'QuoteRush') {

$con_qr = mysqli_connect($endpoint, $endpoint_uname,


$endpoint_pw, $endpoint_initial);
if (!$con_qr) {
}

$qry = $con_qr->prepare("SELECT DatabaseName from


quoterush.agencies where QRId = ? and SecretCMSKey = ? ");
$qry->bind_param("ss", $ip_id, $ip_secret);
$qry->execute();
$qry->store_result();
if ($qry->num_rows === 0) {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}else {
$qry->bind_result($dbname);
$qry->fetch();
}

$qry3 = $con_qr->prepare("select Distinct(SiteName) from


$dbname.agencysites where SiteName in (Select SiteName from quoterush.sites where
HandsFree = 1) order by SiteName ASC");
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($carrier);
while ($qry3->fetch()) {
echo "<option value='$carrier'>$carrier</option>";
}
}
}

echo "</select>";
echo "<input type='text' class='form-control' id='new_fee_name'
name='new_fee_name' placeholder='Fee Name'></input>";
echo "<input type='text' class='form-control' id='new_fee_amt'
name='new_fee_amt' placeholder='Fee Amount'></input>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addCarrierFeeButton">Add Fee</button>
</form>';

}//end addCustomFieldModal

/**
*
*/
function addCarrierFee() {
global $con;

$qry = $con->prepare("INSERT into carrier_fees(carrier,fee_name,fee_amt)


VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new_carrier_fee_table'],
$_POST['new_fee_name'], $_POST['new_fee_amt']);
$qry->execute();

$insid = $con->insert_id;

if ($insid != '') {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}
}//end addCarrierFee

/**
*
*/
function remCarrierFeeModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<h3 style='text-align: center;'>Remove Carrier Field</h3>";
echo "<span>Note - Once done, this is not recoverable all data in this field
will be removed.</span><br><br>";
echo "<form class='form-horizontal' id='rem_carrier_fee_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table'>Fee to Remove:</label>";
echo "<select class='form-control' name='rem_fee_table'>
<option value=''>Please Select Fee</option>";
$qry = $con->prepare("SELECT * from carrier_fees order by
carrier,fee_name,fee_amt");
$qry->execute();
$qry->store_result();
$qry->bind_result($fid, $carrier, $name, $amt);
while ($qry->fetch()) {
echo "<option value='$fid'>$carrier - $name - $amt</option>";
}
echo "</select>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="remCarrierFeeButton">Remove Field</button>
</form>';

}//end remCarrierFeeModal

/**
*
*/
function removeCarrierFee() {
global $con;

$qry = $con->prepare("DELETE from carrier_fees where id = ?");


$qry->bind_param("s", $_POST['rem_fee_table']);
$qry->execute();

if ($qry) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//removeCarrierFee

/**
*
*/
function addProposalTermsModal() {

global $con;
$agency_id = $_SESSION['agency_id'];
echo "<form class='form-horizontal' id='new_proposal_terms_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table' class='control-label'>Proposal Terms
For:</label>";
echo "<select class='form-control' name='new_proposal_terms_lob'>
<option value=''>Please Select Line of Business</option>";
$qry = $con->prepare("SELECT id,lob from policy_lob order by lob asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($lid, $lob);
while ($qry->fetch()) {

echo "<option value='$lid'>$lob</option>";


}

echo "</select>";
echo "<input type='text' class='form-control' id='new_proposal_terms_name'
name='new_proposal_terms_name' placeholder='Name of Terms'></input>";
echo "<label for='field_table' class='control-label'>Proposal Terms
For:</label>";
echo "<textarea class='form-control' id='new_proposal_terms'
name='new_proposal_terms'></textarea>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addProposalTermsButton">Add Terms</button>
</form>';

}//end addCustomFieldModal

/**
*
*/
function addProposalTerms() {
global $con;

$qry = $con->prepare("INSERT into proposal_terms(lob,terms_name,terms)


VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new_proposal_terms_lob'],
$_POST['new_proposal_terms_name'], $_POST['new_proposal_terms']);
$qry->execute();
$insid = $con->insert_id;

if ($insid != '') {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}
}//end addProposalTerms

/**
*
*/
function remProposalTermsModal() {

global $con, $con_qr;


$agency_id = $_SESSION['agency_id'];
echo "<span>Note - Once done, this is not recoverable all data in this field
will be removed.</span><br><br>";
echo "<form class='form-horizontal' id='rem_proposal_terms_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table'>Terms:</label>";
echo "<select class='form-control' name='rem_terms_select'>
<option value=''>Please Select Fee</option>";
$qry = $con->prepare("SELECT proposal_terms.id,policy_lob.lob,terms_name from
proposal_terms,policy_lob where policy_lob.id = proposal_terms.lob order by
lob,terms_name");
$qry->execute();
$qry->store_result();
$qry->bind_result($fid, $lob, $name);
while ($qry->fetch()) {
echo "<option value='$fid'>$lob - $name</option>";
}
echo "</select>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="remProposalTermsButton">Remove Terms</button>
</form>';

}//end remProposalTermsModal

/**
*
*/
function removeProposalTerms() {
global $con;

$qry = $con->prepare("DELETE from proposal_terms where id = ?");


$qry->bind_param("s", $_POST['rem_terms_select']);
$qry->execute();

if ($qry) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//removeProposalTerms

/**
*
*/
function saveDealStep() {
global $con;

if (!isset($_POST['finished'])) {
$qry = $con->prepare("UPDATE deals set step = ? where id = ?");
$qry->bind_param("ss", $_POST['step'], $_POST['deal_id']);
}else {
$qry = $con->prepare("UPDATE deals set step = ?, status = ? where id
= ?");
$qry->bind_param("sss", $_POST['step'], $fin, $_POST['deal_id']);
$fin = 'Complete';
}
$qry->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end saveDealStep

/**
*
*/
function getDealsForProposal() {

global $con;

if ($_POST['get_deal_type'] == 'new') {
$contact = explode(" | ", $_POST['contact']);
$contact = $contact[0];
$qry = $con->prepare("SELECT ContactId from agency_contacts where id
= ?");
$qry->bind_param("s", $contact);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry = $con->prepare("SELECT id from deals where ContactId = ? and lob
= ?");
$qry->bind_param("ss", $ContactId, $_POST['type']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$response_array['info_msg'] = "We found existing deals for this
contact and line of business, please select existing instead.";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check deal type new

if ($_POST['get_deal_type'] == 'existing') {
$contact = explode(" | ", $_POST['contact']);
$contact = $contact[0];
$qry = $con->prepare("SELECT ContactId from agency_contacts where
id = ?");
$qry->bind_param("s", $contact);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry = $con->prepare("SELECT id,started,lob,step from deals where
ContactId = ? and lob = ?");
$qry->bind_param("ss", $ContactId, $_POST['type']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$response_array['info_msg'] = "We found the deals, please select
which one you want to attach this proposal to.";
$response_array['data'] = "
<label class='control-lable'>Please select Deal</label>
<select class='form-control' id='deal_selector'><option value=''>Please select
Deal</option>";
$qry->bind_result($did, $started, $lob, $step);
while ($qry->fetch()) {
$started = date("F j, Y g:i a", strtotime($started));
$response_array['data'] .= "<option value='$did'>$did |
$started - Current Step: $step | Line: $lob</option>";

}//end while

$response_array['data'] .= "</select>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end check deal type new

}//end getDealsForProposal

/**
*
*/
function finalizeProposal() {
global $con, $con_qr, $agency_url;
$company = 'QuoteRush';
$dbname = getIntConn($company);
if (isset($_POST['fin_num_quotes'])) {
if ($_POST['fin_prop_lob'] == 'Home') {
$qry = $con->prepare("SELECT correlation_lead_id from
agency_contacts where id = ?");
$qry->bind_param("s", $contact_id);
$contact_id = explode(" | ", $_POST['fin_contact_id']);
$contact_id = $contact_id[0];
$qry2 = $con->prepare("SELECT ContactId from proposals where id =
?");
$qry2->bind_param("i", $contact_id);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($ContactId);
$qry2->fetch();
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($corr_id);
$qry->fetch();
$counter = 1;
$qry2 = $con_qr->prepare("SELECT
NameFirst,NameLast,properties.Address,properties.Address2,properties.City,propertie
s.State,properties.Zip,properties.Id from $dbname.leads,$dbname.properties where
leads.Id = properties.Lead_Id and leads.Id = ?");
$qry2->bind_param("s", $corr_id);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($fname, $lname, $address,
$address2, $city, $state, $zip, $prop_id);
$qry2->fetch();
$counter = 1;
$qry4 = $con->prepare("SELECT
agency_name,fname,lname,phone,email from agency_globals,users_table where
agency_globals.agency_id = users_table.agency_id and users_table.user_id = ?");
$qry4->bind_param("s", $_SESSION['uid']);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($agency_name, $agent_fname,
$agent_lname, $agent_phone, $agent_email);
$qry4->fetch();
$ins_prop = $con->prepare("INSERT into
proposals(proposal_id,ContactId,created_by,quotes,lob,deal_id,q_names,q_prems)
VALUES(?,?,?,?,?,?,?,?)");
$ins_prop->bind_param("ssssssss", $proposal_id,
$ContactId, $_SESSION['uid'], $quotes, $_POST['fin_prop_lob'],
$_POST['fin_contact_deal'], $names, $prems);
$proposal_id = generateRandomString();
$quotes = '';
$counter = 1;
$names = '';
$prems = '';
while ($counter <= $_POST['fin_num_quotes']) {
$quote_id = $_POST["quote_$counter"];
if (isset($_POST["quote_" . $counter .
"_recom"]) && $_POST["quote_" . $counter . "_recom"] == 'on') {
$quotes .= "recom_$quote_id|";
}else {
$quotes .= "$quote_id|";
}

if (isset($_POST["quote_" . $counter .
"_name"]) ) {
$name = $_POST["quote_" . $counter .
"_name"];
$names .= "$name|";
}

if (isset($_POST["quote_" . $counter .
"_prem"]) ) {
$prem = $_POST["quote_" . $counter .
"_prem"];
$prems .= "$prem|";
}

$counter++;
}//end add quotes to string
$quotes = rtrim($quotes, "|");
$names = rtrim($names, "|");

$ins_prop->execute();
if ($con->insert_id == '') {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}else {
$prop_id = $con->insert_id;
}
$prop_qry = $con->prepare("SELECT proposal_id from
proposals where id = ?");
$prop_qry->bind_param("s", $prop_id);
$prop_qry->execute();
$prop_qry->store_result();
$prop_qry->bind_result($proposal_id);
$prop_qry->fetch();
$ag_id = $_SESSION['agency_id'];
$link = $agency_url . "proposal_view.php?
proposal_id=" . $proposal_id;
$link .= '%26identifier=' . $ag_id;
$response_array['data'] = "
<!DOCTYPE html><html><head><meta charset='utf-8'><meta http-equiv='X-UA-Compatible'
content='IE=edge'><meta name='viewport' content='width=device-width, initial-
scale=1.0'><meta name='description' content=''><meta name='author' content=''><link
rel='shortcut icon' href='assets/images/smiley.png'><link
href='https://fonts.googleapis.com/css?
family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,
800' rel='stylesheet' type='text/css'><link rel='stylesheet'
href='assets/css/bootstrap.css'><link rel='stylesheet' href='assets/css/bootstrap-
datepicker.css'><link rel='stylesheet' href='assets/css/metisMenu.css'><link
rel='stylesheet' href='assets/css/font-awesome.css'><link rel='stylesheet'
href='assets/css/elegant-icons.css'><link rel='stylesheet' href='assets/css/pe-7-
icons.css'><link rel='stylesheet' href='assets/css/pe-7-icons-helper.css'><link
rel='stylesheet' href='assets/css/jquery-jvectormap.css'><link rel='stylesheet'
href='assets/css/tether-shepherd.css'><link rel='stylesheet'
href='assets/css/tether-shepherd.css'><link rel='stylesheet'
href='assets/css/jstree-default.css'><link rel='stylesheet'
href='https://cdn.datatables.net/r/bs-3.3.5/jq-2.1.4,dt-1.10.8/datatables.min.css'>
<link rel='stylesheet' href='assets/css/styles.css'><link rel='stylesheet'
href='assets/css/dashboard-projects.css'><link rel='stylesheet'
href='assets/css/custom.css'><link rel='stylesheet' href='assets/bootstrap-tour-
0.11.0/build/css/bootstrap-tour.min.css'><link rel='stylesheet'
href='assets/css/dropzone.css'><link rel='stylesheet'
href='bower_components/sweetalert/dist/sweetalert.css'><link rel='stylesheet'
href='assets/css/bootstrap-switch.css'><link rel='stylesheet'
href='assets/css/pricing.css'><!-- HTML5 shim and Respond.js IE8 support of HTML5
elements and media queries --><!--[if lt IE 9]> <script
src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script> <script
src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js'></script><![endif]--
><script src='assets/js/dropzone.js'></script><style>.notifyjs-corner {position:
fixed;margin: 5px;z-index: 1050;}body{ background: white;}</style></head><body>

<a style='color: #fff;' class='btn btn-block btn-primary email-prop' href='mailto:?


subject=Home Proposal for $fname $lname&body=Check out the proposal we put together
just for you!

%0A%0A

$link' data-value='proposal_id=$proposal_id&identifier=$ag_id'>Email Proposal to


Client</a>

<div class='row'>
<div class='module-wrapper col-lg-12 col-md-12 col-sm-12 col-xs-
12'>
<section class='module module-headings' style='border-
bottom-width:0px;'>
<div class='module-inner'>
<div class='module-content'>
<div class='module-content-inner'>
<div class='pricing-section'>
<h3 class='title text-
center'><img src=''></img></h3>
<p class='intro text-center
margin-bottom-md'>Insurance Proposal</p>
<p class='intro text-center
margin-bottom-md'>Prepared For: $fname $lname</p>
<p class='intro text-center
margin-bottom-md'>Property Address: $address $address2 $city, $state $zip</p>
<p class='intro text-center
margin-bottom-sm'>Agency Name: $agency_name</p>
<p class='intro text-center
margin-bottom-sm'>Agent Name: $agent_fname $agent_lname</p>
<p class='intro text-center
margin-bottom-sm'>Phone: $agent_phone</p>
<p class='intro text-center
margin-bottom-sm'>Email: $agent_email</p>

";
$counter = 1;
while ($counter <= $_POST["fin_num_quotes"]) {
$quote_id = $_POST["quote_$counter"];
$qry3 = $con_qr->prepare("SELECT
Id,Property_Id,SiteName,Premium,Description,QuoteDate,PolicyId,CoverageA,CoverageC,
CoverageD,CoverageE,CoverageF,HurricaneDeductible,AllOtherPerils,CoverageB,Optional
PersonalPropertyReplacementCost,AdditionalLawOrdinance from $dbname.propertyquotes
where Id = ? ");
$qry3->bind_param("s", $quote_id);
$qry3->execute();
$qry3->store_result();
if ($qry3->num_rows > 0) {
//lets get building
$qry3->bind_result($qid, $propid,
$carrier, $premium, $desc, $quotedate, $policy_id, $cova, $covc, $covd, $cove,
$covf, $hurr_deduc, $deduc, $covb, $rce, $additional);
$qry3->fetch();

if ($cova == '0' || $cova == '') {


$cova = 'None';
}else {
$cova = '$' . number_format($cova,
2);
}
if ($covb == '0' || $covb == '') {
$covb = 'None';
}else {
$covb = '$' . number_format($covb,
2);
}
if ($covc == '0' || $covc == '') {
$covc = 'None';
}else {
$covc = '$' . number_format($covc,
2);
}
if ($covd == '0' || $covd == '') {
$covd = 'None';
}else {
$covd = '$' . number_format($covd,
2);
}
if ($cove == '0' || $cove == '') {
$cove = 'None';
}else {
$cove = '$' . number_format($cove,
2);
}
if ($covf == '0' || $covf == '') {
$covf = 'None';
}else {
$covf = '$' . number_format($covf,
2);
}
$premium = '$' . number_format($premium,
2);
if ($premium != $_POST["quote_" .
$counter . "_prem"]) {
$premium = $_POST["quote_" .
$counter . "_prem"];
}
if ($deduc != '' && strpos($deduc, ',')
=== false) {
$deduc = '$' .
number_format($deduc, 2);
}
if (isset($_POST["quote_" . $counter .
"_recom"]) && $_POST["quote_" . $counter . "_recom"] == 'on') {
$response_array['data'] .= "

<div class='item item-


recommended price-1 col-md-4 col-sm-4 col-xs-4 text-center'>";
}else {

$response_array['data'] .= "

<div class='item price-1 col-md-4 col-sm-4 col-xs-4 text-center'>";


}
$response_array['data'] .= "

<div class='item-
inner'>
<div
class='heading'>
<h3
class='item-title'>" . $_POST["quote_" . $counter . "_name"] . "</h3>";
if (isset($_POST["quote_" . $counter .
"_recom"]) && $_POST["quote_" . $counter . "_recom"] == 'on') {
$response_array['data'] .= "<div
class='ribbon'>

<div class='text'>Recommended</div>

</div>";
}
$response_array['data'] .= "
<p
class='price-figure'><span class='price-figure-inner'><span
class='number'>$premium</span>

<br><span class='unit'>Premium</span></span>
</p>
</div>
<div
class='content'>
<ul
class='list-unstyled feature-list'>
<li><span class='pe-icon pe-7s-home pe-2x pe-va'></span>Coverages</li>

<li>Coverage A: $cova</li>

<li>Coverage B: $covb</li>

<li>Coverage C: $covc</li>

<li>Coverage D: $covd</li>

<li>Coverage E: $cove</li>

<li>Coverage F: $covf</li>

<li><span class='pe-icon pe-7s-tools pe-2x pe-va'></span>Deductibles</li>

<li>Hurricane Deductible: $hurr_deduc</li>

<li>All Other Perils: $deduc</li>

<li><span class='pe-icon pe-7s-cloud pe-2x pe-va'></span> Additional


Coverages</li>";
$qry_cov = $con->prepare("SELECT coverage
from coverages order by id asc");
$qry_cov->execute();
$qry_cov->store_result();
$qry_cov->bind_result($coverage);
while ($qry_cov->fetch()) {
$inputname = strtolower($coverage);
$inputname = str_replace(" ", "_",
$inputname);
if (isset($_POST["$inputname-
$counter"]) && $_POST["$inputname-$counter"] != '') {
$val = $_POST["$inputname-
$counter"];
if ($coverage == 'Contents
Valuation') {
if ($rce == '1') {
$val =
'Replacement Cost - See Contents (Coverage C)';
}else {
$val = $covc;
}
}
$val = nl2br($val);
$response_array['data'] .= "

<li><table><thead<tr><th>$coverage:</th></tr></thead><tbody><tr><td>$val</
td></tr></tbody></table></li>
";
}//check if isset
}//end while

$response_array['data'] .= "

</ul>
</div>
</div>

</div>
";

}//end check if quotes found


$counter++;
}//end loop through number of quotes
$counter = 1;
if (isset($_POST["flood_contents_$counter"])) {
$response_array['data'] .= "
<div class='row'>
<div class='col-lg-12 col-md-12 col-sm-12 col-xs-12'>
<h4>Flood Insurance Proposal</h4>
<table class='table table-hover table-bordered dataTable no-footer flood-grid'>
<thead>
<th>Package</th>";

while ($counter <= $_POST['fin_num_quotes']) {


$response_array['data'] .= "
<th>" . $_POST["flood_contents_$counter"] . "</th>";
$counter++;
}//end loop for headers

$response_array['data'] .= "

</thead>
<tbody>
<tr>
<td>Total Annual Premium</td>
";

$counter = 1;
while ($counter <= $_POST['fin_num_quotes']) {
$response_array['data'] .= "
<td>" . $_POST["flood_prem_$counter"] . "</td>";

$counter++;

}//end while quotes


$counter = 1;
$response_array['data'] .= "</tr>
<tr>
<td>CoverageA-Dwelling</td>
";
while ($counter <= $_POST['fin_num_quotes']) {
$response_array['data'] .= "
<td>" . $_POST["flood_cova_$counter"] . "</td>";

$counter++;

}//end while quotes

$counter = 1;
$response_array['data'] .= "</tr>
<tr>
<td>CoverageC-Contents</td>
";
while ($counter <= $_POST['fin_num_quotes']) {
$response_array['data'] .= "
<td>" . $_POST["flood_covc_$counter"] . "</td>";

$counter++;

}//end while quotes

$counter = 1;
$response_array['data'] .= "</tr>
<tr>
<td>Deductible</td>
";
while ($counter <= $_POST['fin_num_quotes']) {
$response_array['data'] .= "
<td>" . $_POST["flood_deduc_$counter"] . "</td>";

$counter++;

}//end while quotes

$response_array['data'] .=
"</tr></tbody></table></div></div>";

}//if flood included

$response_array['data'] .= "

</div>

</div>

</div>

</div>

</div>

</section>

</div>

</div>";

$qry5 = $con->prepare("SELECT terms_name,terms from


proposal_terms,policy_lob where proposal_terms.lob = policy_lob.id and
policy_lob.lob = ?");
$qry5->bind_param("s", $_POST['fin_prop_lob']);
$qry5->execute();
$qry5->store_result();
$qry5->bind_result($term_name, $terms);
$qry5->fetch();
$terms = nl2br($terms);
$response_array['data'] .= "
<p class='intro text-center margin-bottom-md'>$term_name</p>
<p class='intro text margin-bottom-sm'>$terms</p>";
$response_array['data'] .= "

<script src='assets/js/jquery.js'></script><script
src='assets/js/jquery-ui.js'></script><script
src='assets/js/bootstrap.js'></script><script
src='assets/js/metisMenu.js'></script><script
src='assets/js/imagesloaded.js'></script><script
src='assets/js/masonry.js'></script><script
src='assets/js/pace.js'></script><script
src='assets/js/numeral.js'></script><script
src='assets/js/main.js'></script><script src='assets/js/demo.js'></script><script
src='assets/js/jquery.sidebar.min.js'></script><script type='text/javascript'
src='assets/js/jquery/jquery.dataTables.min.js'></script><script
type='text/javascript' src='assets/js/dataTables.bootstrap.js'></script><script
src='assets/js/notify.js'></script><script
src='assets/js/jquery.placeholder.label.min.js'></script><script
src='assets/js/net-new.js'></script><script
src='assets/bootstrap-tour-0.11.0/build/js/bootstrap-tour.min.js'></script><script
src='assets/js/bootstrap-datepicker.js'></script></script><script
src='bower_components/sweetalert/dist/sweetalert.min.js'></script><script
src='assets/js/moment.js'></script><script
src='assets/js/yadcf-master/jquery.dataTables.yadcf.js'></script><script
src='assets/js/bootstrap-switch.js'></script><script src='assets/js/bootstrap-
tagsinput.js'></script><script>$('body').removeClass('pace-running');$
('body').addClass('theme-3 pace-done');$('.pace').removeClass('pace-active');$
('.pace').addClass('pace-inactive');</script><script>$
('label').removeAttr('style');</script>";
}//check if property found
}//check if found correlation lead id
}//proposal check for Home

$counter = 1;
$q_counter = 1;
while ($q_counter <= $_POST['fin_num_quotes']) {
$qry_cov = $con->prepare("SELECT coverage from coverages order by
id asc");
$qry_cov->execute();
$qry_cov->store_result();
$qry_cov->bind_result($coverage);
while ($qry_cov->fetch()) {
$inputname = strtolower($coverage);
$inputname = str_replace(" ", "_", $inputname);
if (isset($_POST["$inputname-$q_counter"]) &&
$_POST["$inputname-$q_counter"] != '') {
$val = $_POST["$inputname-$q_counter"];
$ins_qry = $con->prepare("INSERT into
prop_additional_coverages(cov_name,cov_value,q_order,proposal_id)
VALUES(?,?,?,?)");
$ins_qry->bind_param("ssss", $coverage, $val,
$q_counter, $proposal_id);
$ins_qry->execute();
}//check if isset
$counter++;
}//end while
$q_counter++;
}//end q counter

$counter = 1;
if (isset($_POST["flood_contents_$counter"])) {
while ($counter <= $_POST['fin_num_quotes']) {

$ins_qry = $con->prepare("INSERT into


prop_flood(contents,prem,cova,covc,deduc,q_order,proposal_id)
VALUES(?,?,?,?,?,?,?)");
$ins_qry->bind_param("sssssss",
$_POST["flood_contents_$counter"], $_POST["flood_prem_$counter"],
$_POST["flood_cova_$counter"], $_POST["flood_covc_$counter"],
$_POST["flood_deduc_$counter"], $counter, $proposal_id);
$ins_qry->execute();

$counter++;

}//end while inset flood

}//end check if flood


$ag_id = $_SESSION['agency_id'];

$dir = getcwd();
$explode = explode("/", $dir);
$count = count($explode) - 1;
$base_dir = $explode[$count];
if ($base_dir == 'functions') {
$count--;
$base_dir = $explode[$count];
}

$link = "https://$base_dir.keepthemsmiling.com/proposal_view.php?
proposal_id=$proposal_id&identifier=$ag_id";
$link = urlencode($link);
$response_array['data'] .= "<a style='color: #fff;' class='btn btn-
block btn-primary email-prop' href='mailto:?subject=Home Proposal for $fname
$lname&body=Check out the proposal we put together just for you!

%0A%0A

$link

' data-value='proposal_id=$proposal_id&identifier=$ag_id'>Email Proposal to


Client</a>

<input type='hidden' id='email-prop-link' value=''>

<script>

/* Get the text field */


var getUrl = window.location
var baseUrl = getUrl .protocol + '//' + getUrl.host
var page = 'proposal_view.php?'
var propText = $('.email-prop').attr('data-value');

$('#email-prop-link').val(baseUrl + page + propText)

</script>

";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}

/**
*
* @param unknown $proposal_id
* @param unknown $ag_id
*/
function fetchProposal($proposal_id, $ag_id) {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);

$qry = $con->prepare("SELECT correlation_lead_id,ContactId from


agency_contacts where ContactId in (select ContactId from proposals where
proposal_id = ?) ");
$qry->bind_param("s", $proposal_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows() > 0) {
$qry->bind_result($corr_id, $ContactId);
$qry->fetch();
$counter = 1;
$qry2 = $con_qr->prepare("SELECT
NameFirst,NameLast,properties.Address,properties.Address2,properties.City,propertie
s.State,properties.Zip,properties.Id from $dbname.leads,$dbname.properties where
leads.Id = properties.Lead_Id and leads.Id = ?");
$qry2->bind_param("s", $corr_id);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows() > 0) {
$qry2->bind_result($fname, $lname, $address, $address2, $city,
$state, $zip, $prop_id);
$qry2->fetch();
$counter = 1;
$qry4 = $con->prepare("SELECT
agency_name,agency_globals.agency_id,fname,lname,phone,email from
agency_globals,users_table where agency_globals.agency_id = users_table.agency_id
and users_table.user_id in(select created_by from proposals where proposal_id = ?)
");
$qry4->bind_param("s", $proposal_id);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($agency_name, $ag_id, $agent_fname,
$agent_lname, $agent_phone, $agent_email);
$qry4->fetch();
echo "

<!DOCTYPE html><html><head><meta charset='utf-8'><meta http-equiv='X-UA-Compatible'


content='IE=edge'><meta name='viewport' content='width=device-width, initial-
scale=1.0'><meta name='description' content=''><meta name='author' content=''><link
rel='shortcut icon' href='assets/images/smiley.png'><link
href='https://fonts.googleapis.com/css?
family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,
800' rel='stylesheet' type='text/css'><link rel='stylesheet'
href='assets/css/bootstrap.css'><link rel='stylesheet' href='assets/css/bootstrap-
datepicker.css'><link rel='stylesheet' href='assets/css/metisMenu.css'><link
rel='stylesheet' href='assets/css/font-awesome.css'><link rel='stylesheet'
href='assets/css/elegant-icons.css'><link rel='stylesheet' href='assets/css/pe-7-
icons.css'><link rel='stylesheet' href='assets/css/pe-7-icons-helper.css'><link
rel='stylesheet' href='assets/css/jquery-jvectormap.css'><link rel='stylesheet'
href='assets/css/tether-shepherd.css'><link rel='stylesheet'
href='assets/css/tether-shepherd.css'><link rel='stylesheet'
href='assets/css/jstree-default.css'><link rel='stylesheet'
href='https://cdn.datatables.net/r/bs-3.3.5/jq-2.1.4,dt-1.10.8/datatables.min.css'>
<link rel='stylesheet' href='assets/css/styles.css'><link rel='stylesheet'
href='assets/css/dashboard-projects.css'><link rel='stylesheet'
href='assets/css/custom.css'><link rel='stylesheet' href='assets/bootstrap-tour-
0.11.0/build/css/bootstrap-tour.min.css'><link rel='stylesheet'
href='assets/css/dropzone.css'><link rel='stylesheet'
href='bower_components/sweetalert/dist/sweetalert.css'><link rel='stylesheet'
href='assets/css/bootstrap-switch.css'><link rel='stylesheet'
href='assets/css/pricing.css'><!-- HTML5 shim and Respond.js IE8 support of HTML5
elements and media queries --><!--[if lt IE 9]> <script
src='https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script> <script
src='https://oss.maxcdn.com/respond/1.4.2/respond.min.js'></script><![endif]--
><script src='assets/js/dropzone.js'></script><style>.notifyjs-corner {position:
fixed;margin: 5px;z-index: 1050;}body{ background: white;}</style></head><body>";
$qry_logo = $con->prepare("SELECT agency_logo_path from
agency_globals where agency_id = ?");
$qry_logo->bind_param("s", $_SESSION['agency_id']);
$qry_logo->execute();
$qry_logo->store_result();
$qry_logo->bind_result($logo_path);
$qry_logo->fetch();
if ($logo_path != '') {
$path = $logo_path;
$path = str_replace('#', '%23', $path);
$xplode = explode("/", $path);
$path = "$xplode[4]/$xplode[5]/$xplode[6]/$xplode[7]";
$file_name = $explode[7];
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
echo "<img src='$path$file_namee' style='margin-left:
auto;margin-right: auto;width: 25%;display: block;'>";
}
echo "
<div class='row'>
<div class='module-wrapper col-lg-12 col-md-12 col-sm-12
col-xs-12'>
<section class='module module-headings'
style='border-bottom-width:0px;'>
<div class='module-inner'>
<div class='module-content'>
<div class='module-content-
inner'>
<div
class='pricing-section'>
<h3
class='title text-center'><img src=''></img></h3>
<p
class='intro text-center margin-bottom-md'>Insurance Proposal</p>
<p
class='intro text-center margin-bottom-md'>Prepared For: $fname $lname</p>
<p
class='intro text-center margin-bottom-md'>Property Address: $address $address2
$city, $state $zip</p>
<p
class='intro text-center margin-bottom-sm'>Agency Name: $agency_name</p>
<p
class='intro text-center margin-bottom-sm'>Agent Name: $agent_fname
$agent_lname</p>
<p
class='intro text-center margin-bottom-sm'>Phone: $agent_phone</p>
<p
class='intro text-center margin-bottom-sm'>Email: $agent_email</p>

";
$qry6 = $con->prepare("SELECT
created_by,contact_id,quotes,lob,q_names,q_prems from proposals where proposal_id =
?");
$qry6->bind_param("s", $proposal_id);
$qry6->execute();
$qry6->store_result();
$qry6->bind_result($cby, $cid, $quotes, $lob, $qnames, $qprems);
$qry6->fetch();
$upd_qry = $con->prepare("UPDATE proposals set viewed = ? where
proposal_id = ? and viewed = ?");
$upd_qry->bind_param("sss", $viewed, $proposal_id, $not_v);
$viewed = 'Yes';
$not_v = 'No';
$upd_qry->execute();
$upd_qry->store_result();
if ($con->affected_rows > 0) {
$ins_qry = $con->prepare("INSERT into
tasks(user_id,description,due_date,task_status,assigned_by,ContactId,agency_id)
VALUES(?,?,?,?,?,?,?)");
echo $con->error;
$ins_qry->bind_param("sssssss", $cby, $task_desc, $due,
$task_status, $cby, $ContactId, $ag_id);
echo $con->error;
$task_desc = "Follow-Up with $fname $lname on their
proposal, they viewed it.";
$due = date("Y-m-d");
$task_status = 'Not Complete';
$ins_qry->execute();
$ins_qry = $con->prepare("INSERT into
notifications(user_id,description,notification_status,assigned_user_id,due,ContactI
d,assigned_by,ContactId) VALUES(?,?,?,?,?,?,?,?)");
$ins_qry->bind_param("ssssssss", $cby, $task_desc,
$not_status, $cby, $due, $ContactId, $cby, $ContactId);
$task_desc = "viewed their proposal!";
$due = date("Y-m-d H:i:s");
$not_status = 'Active';
$ins_qry->execute();
}//end check if viewed was updated
$quotes = explode("|", $quotes);
$names = explode("|", $qnames);
$prems = explode("|", $qprems);
$n_counter = 0;
$p_counter = 0;
foreach ($quotes as $quote_id) {
if (strpos($quote_id, "recom_") !== false) {
$recom = str_replace("recom_", "", $quote_id);
$quote_id = str_replace("recom_", "", $quote_id);
}
$qry3 = $con_qr->prepare("SELECT
Id,Property_Id,SiteName,Premium,Description,QuoteDate,PolicyId,CoverageA,CoverageC,
CoverageD,CoverageE,CoverageF,HurricaneDeductible,AllOtherPerils,CoverageB,Optional
PersonalPropertyReplacementCost,AdditionalLawOrdinance from $dbname.propertyquotes
where Id = ? ");
$qry3->bind_param("s", $quote_id);
if (strpos($quote_id, "recom_") !== false) {
$quote_id = explode("_", $quote_id);
$quote_id = $quote_id[1];
$recom = $quote_id;
}
$qry3->execute();
$qry3->store_result();
if ($qry3->num_rows() > 0) {
//lets get building
$qry3->bind_result($qid, $propid, $carrier, $premium,
$desc, $quotedate, $policy_id, $cova, $covc, $covd, $cove, $covf, $hurr_deduc,
$deduc, $covb, $rce, $additional);
$qry3->fetch();

if ($cova == '0' || $cova == '') {


$cova = 'None';
}else {
$cova = '$' . number_format($cova, 2);
}
if ($covb == '0' || $covb == '') {
$covb = 'None';
}else {
$covb = '$' . number_format($covb, 2);
}
if ($covc == '0' || $covc == '') {
$covc = 'None';
}else {
$covc = '$' . number_format($covc, 2);
}
if ($covd == '0' || $covd == '') {
$covd = 'None';
}else {
$covd = '$' . number_format($covd, 2);
}
if ($cove == '0' || $cove == '') {
$cove = 'None';
}else {
$cove = '$' . number_format($cove, 2);
}
if ($covf == '0' || $covf == '') {
$covf = 'None';
}else {
$covf = '$' . number_format($covf, 2);
}
$premium = '$' . number_format($premium, 2);
if ($deduc != '' && strpos($deduc, ',') === false) {
$deduc = '$' . number_format($deduc, 2);
}
if ($recom == $qid) {
echo "

<div class='item item-recommended price-1 col-md-4 col-sm-4 col-xs-4 text-


center'>";
}else {
echo "

<div class='item price-1 col-md-4 col-sm-4 col-xs-4 text-center'>";


}
echo "

<div class='item-inner'>

<div class='heading'>

<h3 class='item-title'>".$names["$n_counter"]."</h3>";
$n_counter++;
if (isset($recom) && $recom == $qid) {
echo "<div class='ribbon'>

<div class='text'>Recommended</div>

</div>";
}
echo "

<p class='price-figure'><span class='price-figure-inner'><span class='number'>".


$prems["$p_counter"]."</span>

<br><span class='unit'>Premium</span></span>

</p>

</div>

<div class='content'>

<ul class='list-unstyled feature-list'>


<li><span class='pe-icon pe-7s-home pe-2x pe-va'></span>Coverages</li>

<li>Coverage A: $cova</li>

<li>Coverage B: $covb</li>

<li>Coverage C: $covc</li>

<li>Coverage D: $covd</li>

<li>Coverage E: $cove</li>

<li>Coverage F: $covf</li>

<li><span class='pe-icon pe-7s-tools pe-2x pe-va'></span>Deductibles</li>

<li>Hurricane Deductible: $hurr_deduc</li>

<li>All Other Perils: $deduc</li>

<li><span class='pe-icon pe-7s-cloud pe-2x pe-va'></span> Additional


Coverages</li>";
$p_counter++;
$cov_qry = $con->prepare("SELECT cov_name,cov_value
from prop_additional_coverages where proposal_id = ? and q_order = ?");
$cov_qry->bind_param("ss", $proposal_id, $counter);
$cov_qry->execute();
$cov_qry->store_result();
if ($cov_qry->num_rows() > 0) {
$cov_qry->bind_result($cov_name, $cov_value);
while ($cov_qry->fetch()) {
if (strpos($cov_name, 'Contents') !==
false) {
if ($rce == '1') {
$cov_value = 'Replacement
Cost - See Contents (Coverage C)';
}
}
$cov_value = nl2br($cov_value);
echo "

<li><table><thead><tr><th>$cov_name:</th></tr></thead><tbody><tr><td>$cov_value</
td></tr></tbody></table></li>";
}//end while
}//end check for additional coverages
echo "

</ul>

</div>

</div>

</div>
";
}//end check if quotes found
$counter++;
}//end loop through number of quotes

$flood_qry = $con->prepare("SELECT * from prop_flood where


proposal_id = ?");
$flood_qry->bind_param("s", $proposal_id);
$flood_qry->execute();
$flood_qry->store_result();
if ($flood_qry->num_rows() > 0) {
$num_quotes = $flood_qry->num_rows();
$f_counter = 1;
echo "
<div class='row'>
<div class='col-lg-12 col-md-12 col-sm-12 col-xs-12'>
<h4>Flood Insurance Proposal</h4>
<table class='table table-hover table-bordered dataTable no-footer flood-grid'>
<thead>
<th>Package</th>";

while ($f_counter <= $num_quotes) {


$contents_qry = $con->prepare("SELECT contents from
prop_flood where proposal_id = ? and q_order = ?");
$contents_qry->bind_param("ss", $proposal_id,
$f_counter);
$contents_qry->execute();
$contents_qry->store_result();
$contents_qry->bind_result($contents);
$contents_qry->fetch();
echo "
<th>Contents - $contents</th>";
$f_counter++;
}//end loop for headers

echo "

</thead>
<tbody>
<tr>
<td>Total Annual Premium</td>
";

$f_counter = 1;
while ($f_counter <= $num_quotes) {
$contents_qry = $con->prepare("SELECT prem from
prop_flood where proposal_id = ? and q_order = ?");
$contents_qry->bind_param("ss", $proposal_id,
$f_counter);
$contents_qry->execute();
$contents_qry->store_result();
$contents_qry->bind_result($prem);
$contents_qry->fetch();

echo "
<td>$prem</td>";
$f_counter++;

}//end while quotes


$f_counter = 1;
echo "</tr>
<tr>
<td>CoverageA-Dwelling</td>
";
while ($f_counter <= $num_quotes) {
$contents_qry = $con->prepare("SELECT cova from
prop_flood where proposal_id = ? and q_order = ?");
$contents_qry->bind_param("ss", $proposal_id,
$f_counter);
$contents_qry->execute();
$contents_qry->store_result();
$contents_qry->bind_result($cova);
$contents_qry->fetch();

echo "
<td>$cova</td>";

$f_counter++;

}//end while quotes

$f_counter = 1;
echo "</tr>
<tr>
<td>CoverageC-Contents</td>
";
while ($f_counter <= $num_quotes) {
$contents_qry = $con->prepare("SELECT covc from
prop_flood where proposal_id = ? and q_order = ?");
$contents_qry->bind_param("ss", $proposal_id,
$f_counter);
$contents_qry->execute();
$contents_qry->store_result();
$contents_qry->bind_result($covc);
$contents_qry->fetch();

echo "
<td>$covc</td>";

$f_counter++;

}//end while quotes


$f_counter = 1;
echo "</tr>
<tr>
<td>Deductible</td>
";
while ($f_counter <= $num_quotes) {
$contents_qry = $con->prepare("SELECT deduc from
prop_flood where proposal_id = ? and q_order = ?");
$contents_qry->bind_param("ss", $proposal_id,
$f_counter);
$contents_qry->execute();
$contents_qry->store_result();
$contents_qry->bind_result($deduc);
$contents_qry->fetch();

echo "
<td>$deduc</td>";

$f_counter++;

}//end while quotes

echo "</tr></tbody></table></div></div>";

}//end check for flood quote

echo "

</div>

</div>

</div>

</div>

</div>

</section>

</div>

</div>";

$qry5 = $con->prepare("SELECT terms_name,terms from


proposal_terms,policy_lob where proposal_terms.lob = policy_lob.id and
policy_lob.lob = ?");
$qry5->bind_param("s", $lob);
$qry5->execute();
$qry5->store_result();
$qry5->bind_result($term_name, $terms);
$qry5->fetch();
$terms = nl2br($terms);
echo "
<p class='intro text-center margin-bottom-md'>$term_name</p>
<p class='intro text-center margin-bottom-sm'>$terms</p>";
echo "

<script src='assets/js/jquery.js'></script><script
src='assets/js/jquery-ui.js'></script><script
src='assets/js/bootstrap.js'></script><script
src='assets/js/metisMenu.js'></script><script
src='assets/js/imagesloaded.js'></script><script
src='assets/js/masonry.js'></script><script
src='assets/js/pace.js'></script><script
src='assets/js/numeral.js'></script><script
src='assets/js/main.js'></script><script src='assets/js/demo.js'></script><script
src='assets/js/jquery.sidebar.min.js'></script><script type='text/javascript'
src='assets/js/jquery/jquery.dataTables.min.js'></script><script
type='text/javascript' src='assets/js/dataTables.bootstrap.js'></script><script
src='assets/js/notify.js'></script><script
src='assets/js/jquery.placeholder.label.min.js'></script><script
src='assets/js/net-new.js'></script><script
src='assets/bootstrap-tour-0.11.0/build/js/bootstrap-tour.min.js'></script><script
src='assets/js/bootstrap-datepicker.js'></script></script><script
src='bower_components/sweetalert/dist/sweetalert.min.js'></script><script
src='assets/js/moment.js'></script><script
src='assets/js/yadcf-master/jquery.dataTables.yadcf.js'></script><script
src='assets/js/bootstrap-switch.js'></script><script src='assets/js/bootstrap-
tagsinput.js'></script><script>$('body').removeClass('pace-running');$
('body').addClass('theme-3 pace-done');$('.pace').removeClass('pace-active');$
('.pace').addClass('pace-inactive');</script><script>$
('label').removeAttr('style');</script>";
}//check if property found
}//check if found correlation lead id

/**
*
*/
function getPrefCarriers() {
global $con_qr, $con;
$company = 'QuoteRush';
$dbname = getIntConn($company);

$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT id,carrier,lob from preferred_carriers where
agency_id = ? order by lob,carrier asc");
$qry->bind_param("s", $agency_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows() > 0) {
$qry->bind_result($pref_id, $carrier, $lob);
while ($qry->fetch()) {
echo "<tr>
<td>$carrier</td>
<td>$lob</td>
<td><a href='#' class='btn btn-primary remPrefCarrier' data-value='$pref_id'
style='color: #fff;'>Remove</a></td>
</tr>";
}//end while
}//end check for rows

}//end get PrefCarriers

/**
*
*/
function removePreferredCarrier() {
global $con;
$qry = $con->prepare("DELETE from preferred_carriers where agency_id = ? and
id = ?");
$qry->bind_param("ss", $_SESSION['agency_id'], $_POST['rem_pref_carrier']);
$qry->execute();
$qry->store_result();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}//end check if removal worked
}//end removePreferredCarrier

/**
*
*/
function addPreferredCarrierModal() {

global $con, $con_qr;


$company = 'QuoteRush';
$dbname = getIntConn($company);
echo "<form class='form-horizontal' id='new_pref_carrier_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table' class='control-label'>Line of
Business</label>";
echo "<select class='form-control' name='new_pref_carrier_lob'
id='new_pref_carrier_lob'>
<option value=''>Please Select Line of Business</option>";
$hm = 'Home';
$aut = 'Auto';
$fl = 'Flood';
$qry = $con->prepare("SELECT id,lob from policy_lob where lob in (?,?,?)
order by lob asc");
$qry->bind_param("sss", $hm, $aut, $fl);
$qry->execute();
$qry->store_result();
$qry->bind_result($lid, $lob);
while ($qry->fetch()) {

echo "<option value='$lob'>$lob</option>";


}

echo "</select><div id='pref-carrier-div'></div>";


echo '<button type="submit" class="btn btn-block btn-primary"
id="addPreferredCarrierButton">Add Carrier</button>
</form>';

}//end addPreferredCarrierModal

/**
*
*/
function addPreferredCarrier() {
global $con;

$qry = $con->prepare("INSERT into preferred_carriers(lob,agency_id,carrier)


VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new_pref_carrier_lob'],
$_SESSION['agency_id'], $_POST['new_pref_carrier']);
$qry->execute();

$insid = $con->insert_id;

if ($insid != '') {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}
}//end addPreferredCarrier

/**
*
*/
function getAQRTiming() {
global $con_qr, $con;
$company = 'QuoteRush';
$dbname = getIntConn($company);

$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT id,lob,timing,agency_id from aqr_timing where
agency_id = ? order by lob,timing asc");
$qry->bind_param("s", $agency_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows() > 0) {
$qry->bind_result($aqr_id, $lob, $timing, $ag_id);
while ($qry->fetch()) {
echo "<tr>
<td>$lob</td>
<td>$timing Days</td>
<td><a href='#' class='btn btn-primary remAQRTiming' data-value='$aqr_id'
style='color: #fff;'>Remove</a></td>
</tr>";
}//end while
}//end check for rows

}//end getAQRTiming
/**
*
*/
function addAQRTiming() {
global $con;

$qry = $con->prepare("INSERT into aqr_timing(lob,agency_id,timing)


VALUES(?,?,?) ON DUPLICATE KEY UPDATE timing = ?");
$qry->bind_param("ssss", $_POST['new_aqr_timing_lob'],
$_SESSION['agency_id'], $_POST['new_aqr_timing'], $_POST['new_aqr_timing']);
$qry->execute();

$insid = $con->insert_id;

if ($insid != '' || $con->affected_rows > 0) {

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);

}
}//end addAQRTiming

/**
*
*/
function addAQRTimingModal() {

global $con, $con_qr;


$company = 'QuoteRush';
$dbname = getIntConn($company);
echo "<form class='form-horizontal' id='new_aqr_timing_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table' class='control-label'>Line of
Business</label>";
echo "<select class='form-control' name='new_aqr_timing_lob'>
<option value=''>Please Select Line of Business</option>";
$qry = $con->prepare("SELECT id,lob from policy_lob order by lob asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($lid, $lob);
while ($qry->fetch()) {

echo "<option value='$lob'>$lob</option>";


}

echo "</select>";
echo "<label for='field_table' class='control-label'>Lead Time</label>";
echo "<select class='form-control' name='new_aqr_timing'>
<option value=''>Please Select Lead Time</option><option
value='30'>30 Days</option><option value='60'>60 Days</option><option value='90'>90
Days</option>";

echo "</select>";

echo '<button type="submit" class="btn btn-block btn-primary"


id="addAQRTimingButton">Add Timing</button>
</form>';

}//end addAQRTimingModal

/**
*
*/
function removeAQRTiming() {
global $con;
$qry = $con->prepare("DELETE from aqr_timing where agency_id = ? and id
= ?");
$qry->bind_param("ss", $_SESSION['agency_id'], $_POST['rem_aqr_timing']);
$qry->execute();
$qry->store_result();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}//end check if removal worked
}//end removeAQRTiming

/**
*
*/
function getAQRCount() {
global $con;

$qry = $con->prepare("SELECT count(*) from aqr_quotes where sent_date >


DATE_SUB(NOW(), INTERVAL 30 DAY)");
$qry->execute();
$qry->store_result();
$qry->bind_result($num_quotes);
$qry->fetch();

if ($num_quotes == '0') {
echo "<p class='item-figure text-danger'>$num_quotes</p>";
}else {
echo "<p class='item-figure text-success'>$num_quotes</p>";
}

}//end getAQRCount

/**
*
*/
function addDefaultCoverageOptionModal() {

global $con, $con_qr;


$company = 'QuoteRush';
$dbname = getIntConn($company);
echo "<form class='form-horizontal' id='new_prop_def_opt_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<label for='field_table' class='control-label'>Carrier</label>";
echo "<select class='form-control' name='new_prop_def_opt_carrier'>
<option value=''>Please Select Carrier</option>";
$qry = $con_qr->prepare("select Distinct(SiteName) from $dbname.agencysites
where SiteName in (Select SiteName from quoterush.sites where HandsFree = 1) order
by SiteName ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier);
while ($qry->fetch()) {
echo "<option value='$carrier'>$carrier</option>";
}

echo "</select>";
echo "<label for='field_table' class='control-label'>Coverage</label>";
echo "<select class='form-control' name='new_prop_def_opt_coverage'>
<option value=''>Please Select Coverage</option>";
$cov_qry = $con->prepare("SELECT id,coverage from coverages order by coverage
asc");
$cov_qry->execute();
$cov_qry->store_result();
$cov_qry->bind_result($cov_id, $cov);
while ($cov_qry->fetch()) {
echo "<option value='$cov'>$cov</option>";
}
echo "</select>";

echo "<select class='form-control' name='new_prop_def_opt_lob'


id='new_prop_def_opt_lob' onchange='getTableCols()'>
<option value=''>Please Select Line of Business</option>";
$qry = $con->prepare("SELECT id,lob from policy_lob order by lob asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($lid, $lob);
while ($qry->fetch()) {
if ($lob == 'Home') {
echo "<option value='$lob'>$lob</option>";
}else {
echo "<option value='$lob' disabled>$lob</option>";
}
}

echo "</select>";
echo "<label for='field_table' class='control-label'>Conditions</label>";

echo "<script>
function getTableCols(){
var line = $('#new_prop_def_opt_lob').val();
var url = 'functions/functions.php'; // the script where you handle the form
input.
$.ajax({
type: 'POST',
url: url,
data: 'get_qr_table_cols=' + line, // serializes the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$.notify('Pulling Filter Options', {className:
'success',position:'top-center'});
$('#new_prop_def_opt_lob_cols').html(data.data);
}
if ( data.status != 'Got Data' ) {
$.notify('Whoops! There was a problem getting your filters. Please
try again.', {className: 'error',position:'top-center'});
}
}
});

return false; // avoid to execute the actual submit of the form.


}
</script>";
echo "<div id='new_prop_def_opt_lob_cols'></div>";
echo "<textarea class='form-control' name='new_prop_def_opt_val'
placeholder='Default Value for Option'></textarea>";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addDefaultCoverageOptionButton">Add Default Options</button>
</form>';

}//end addDefaultCoverageOptionModal

/**
*
*/
function getQRTableColsByLOB() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);

if ($_POST['get_qr_table_cols'] == 'Home') {
$response_array['data'] = "
<div id='new-prop-def-opt-builder' class='query-builder form-inline'></div>
<script>
$('#new-prop-def-opt-builder').queryBuilder({
plugins: ['bt-tooltip-errors'],
filters: [{
id: 'YearBuilt',
label: 'Home Age (in years)',
type: 'integer'
}],
operators: [
{ type: 'equal'},
{ type: 'less'},
{ type: 'greater'},
{ type: 'between'}
],
allow_groups: 'false'
});

$('#btn-reset').on('click', function() {
$('#builder-basic').queryBuilder('reset');
});

$('#btn-set').on('click', function() {
$('#builder-basic').queryBuilder('setRules', rules_basic);
});

$('#btn-get').on('click', function() {
var result = $('#builder-basic').queryBuilder('getRules');

if (!$.isEmptyObject(result)) {
alert(JSON.stringify(result, null, 2));
}

});

//$('[data-delete=rule]').hide();
//$('[data-add=rule]').hide();

</script>";
}

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

/**
*
*/
function getDefaultCoverageOptions() {
global $con;

$qry = $con->prepare("SELECT
id,coverage,default_val,carrier,filter,conditions from coverage_default_options
where agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
echo "
<table id='def-prop-opt-grid'
class='table table-sorting dataTable no-footer'>
<thead>
<tr>

<th>Coverage</th>

<th>Carrier</th>

<th>Filter</th>
<th>Default
Value</th>
<th>Remove</th>
</tr>
</thead>
<tbody>";
if ($qry->num_rows() > 0) {
$qry->bind_result($def_id, $cov, $val, $carrier, $filter, $cond);
$cond = str_replace("greater", "greater than", $cond);
$cond = str_replace("less", "less than", $cond);

while ($qry->fetch()) {
echo "<tr>
<td>$cov</td>
<td>$carrier</td>
<td>$cond</td>
<td>$val</td>
<td><button id='def-cov_$def_id' data-value='$def_id' class='btn btn-block
btn-primary remDefCov'>Remove</button></td>
</tr>";
}//end while
}//end check for rows
echo " </tbody>
</table>";

}//end getDefaultCoverageOptions

/**
*
*/
function addDefaultCoverageOption() {
global $con;

$counter = 0;
if (!isset($_POST['new-prop-def-opt-builder_rule_' . $counter . '_filter']))
{
$counter++;
}else {
while (isset($_POST['new-prop-def-opt-builder_rule_' . $counter .
'_filter'])) {
$counter++;
}
}
$rule_counter = $counter--;
$counter = 0;
$filter = '';
$val = '';
$var_counter = 0;
$operator = '';
$rule_type = '';
$carrier = $_POST['new_prop_def_opt_carrier'];
$cov_id = $_POST['new_prop_def_opt_coverage'];
$lob = $_POST['new_prop_def_opt_lob'];
if (isset($_POST['new-prop-def-opt-builder_group_' . $counter . '_cond'])) {
$cond = $_POST['new-prop-def-opt-builder_group_' . $counter . '_cond'];
while ($counter <= $rule_counter) {
$filter .= $_POST["new-prop-def-opt-builder_rule_" . $counter .
"_filter"] . "|";
$operator .= $_POST["new-prop-def-opt-builder_rule_" . $counter .
"_operator"] . "|";
if (strpos($_POST["new-prop-def-opt-builder_rule_" . $counter .
"_operator"], 'between') !== false) {
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $var_counter . ''];
$val .= " AND ";
$var_counter++;
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $var_counter . ''];
$val .= "|";
}else {
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $counter . ''];
$val .= "|";
}//end check if operator is between
$counter++;
}//end while

}else {
//only 1 rule

$cond = "1 Rule";


while ($counter <= $rule_counter) {
$filter .= $_POST["new-prop-def-opt-builder_rule_" . $counter .
"_filter"] . "|";
$operator .= $_POST["new-prop-def-opt-builder_rule_" . $counter .
"_operator"] . "|";
if (strpos($_POST["new-prop-def-opt-builder_rule_" . $counter .
"_operator"], 'between') !== false) {
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $var_counter . ''];
$val .= " AND ";
$var_counter++;
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $var_counter . ''];
$val .= "|";
}else {
$val .= $_POST['new-prop-def-opt-builder_rule_' .
$counter . '_value_' . $counter . ''];
$val .= "|";
}//end check if operator is between
$counter++;
}//end while
}

$filter = rtrim($filter, '|');


if (isset($cond)) {
$cond = rtrim($cond, '|');
}
$operator = rtrim($operator, '|');
$val = rtrim($val, '|');
$def_val = $_POST['new_prop_def_opt_val'];
if (!isset($cond)) {
$rule = $filter . " " . $operator . " " . $val;
$qry = $con->prepare("INSERT into
coverage_default_options(coverage,default_val,carrier,agency_id,lob,filter,conditio
ns) VALUES(?,?,?,?,?,?,?)");
$qry->bind_param("sssssss", $cov_id, $def_val, $carrier,
$_SESSION['agency_id'], $lob, $filter, $rule);
}else {
$rule = $filter . " " . $operator . " " . $val;
$qry = $con->prepare("INSERT into
coverage_default_options(coverage,default_val,carrier,agency_id,lob,filter,conditio
ns,operator) VALUES(?,?,?,?,?,?,?,?)");
$qry->bind_param("ssssssss", $cov_id, $def_val, $carrier,
$_SESSION['agency_id'], $lob, $filter, $rule, $cond);
}
$qry->execute();
if ($con->insert_id != '') {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}

}//end addDefaultCoverageOption

/**
*
*/
function checkForDefaultCoverage() {
global $con, $con_qr;
$chk = $con->prepare("SELECT carrier,filter,default_val,conditions,coverage
from coverage_default_options where agency_id = ? and lob = ? and carrier = ?");
$chk->bind_param("sss", $_SESSION['agency_id'], $_POST['lob'],
$_POST['carrier']);
$chk->execute();
$chk->store_result();
if ($chk->num_rows() > 0) {
$chk->bind_result($carrier, $filter, $def_val, $conditions, $coverage);
$response_array['data'] = "";
$response_array['vals'] = "";
while ($chk->fetch()) {
$def_val = nl2br($def_val);
$def_val = str_replace(array("\n", "\r"), '', $def_val);
$contact = explode(" | ", $_POST['contact']);
$contact_id = $contact[0];
$company = 'QuoteRush';
$dbname = getIntConn($company);
if ($dbname != '') {
$qry = $con->prepare("SELECT correlation_lead_id from
agency_contacts where id = ?");
$qry->bind_param("s", $contact_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows() > 0) {
$qry->bind_result($lead_id);
$qry->fetch();
if ($_POST['lob'] == 'Home') {
if ($lead_id != '') {
$qry = "SELECT " . $filter . " from
$dbname.properties where Lead_Id = ?";
$qry_qr = $con_qr->prepare($qry);
$qry_qr->bind_param("s", $lead_id);
$qry_qr->execute();
$qry_qr->store_result();
if ($qry_qr->num_rows() > 0) {
$qry_qr->bind_result($filt_result);
$qry_qr->fetch();

if (strpos($conditions, 'equal') !
== false) {
//exact match
$exp = explode(" ",
$conditions);
$cond_val = $explode[2];
$curr_year = date("Y");
$diff = $curr_year -
$filt_result;

if ($diff == $cond_val) {
$cov = str_replace(" ",
"_", $coverage);
$cov = strtolower($cov);
$cov = $cov . "-" .
$_POST['prop_quote_counter_def'];
$def_val =
nl2br($def_val);

$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";

}//end check if exact

}//end check for exact match

if (strpos($conditions, 'less') !==


false) {
//less match
$exp = explode(" ",
$conditions);
$cond_val = $explode[2];
$curr_year = date("Y");
$diff = $curr_year -
$filt_result;

if ($diff < $cond_val) {

$cov = str_replace(" ",


"_", $coverage);
$cov = strtolower($cov);
$cov = $cov . "-" .
$_POST['prop_quote_counter_def'];
$def_val =
nl2br($def_val);

$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";

}//end check for less than


match

}//end check if less than check

if (strpos($conditions,
'between') !== false) {
//less match
$exp = explode(" between ",
$conditions);
$cond_val = $exp[1];
$exp_cond = explode(" AND ",
$cond_val);
$val1 = $exp_cond[0];
$val2 = $exp_cond[1];
$curr_year = date("Y");
$diff = $curr_year -
$filt_result;
$response_array['vals'] .=
"$val1 | $val2";

if ($diff >= $val1 && $diff


<= $val2) {

$cov = str_replace(" ",


"_", $coverage);
$cov = strtolower($cov);
$cov = $cov . "-" .
$_POST['prop_quote_counter_def'];
$def_val =
nl2br($def_val);

$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";

}//end check for between than


match

}//end check if between than check

if (strpos($conditions,
'greater') !== false) {
//greater match
$exp = explode(" ",
$conditions);
$cond_val = $explode[2];
$curr_year = date("Y");
$diff = $curr_year -
$filt_result;
if ($diff > $cond_val) {
$cov = str_replace(" ",
"_", $coverage);
$cov = strtolower($cov);
$cov = $cov . "-" .
$_POST['prop_quote_counter_def'];
$def_val =
nl2br($def_val);
$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";

}//end check for greater


match

}//end check if greater match

}//end check for properties

}//end check if lob is Home

}//end check if lead id is blank

}//end check if found lead id

}//end check for qr db

}//end while check default coverage options

}//end check if carrier has default coverage options

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end checkForDefaultCoverage

/**
*
*/
function removeDefaultCoverageOption() {
global $con;

$qry = $con->prepare("DELETE from coverage_default_options where id = ?");


$qry->bind_param("s", $_POST['rem_def_cov_opt']);
$qry->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}
}//end removeDefaultCoverageOption

/**
*
*/
function checkForAQR() {
global $con, $con_qr;

$qry = $con->prepare("SELECT automated_quoting,automated_renewal_quoting from


agency_globals where agency_id = ? ");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($aq, $aqr);
$qry->fetch();

if ($aq == 1) {
echo "<label class='control-label'>Automated Quoting:</label><input
type='checkbox' class='bootstrap-switch form-control' name='enable_aq'
id='enable_aq' style='float:left;' value='yes' checked></input><br>";
}else {
echo "<label class='control-label'>Automated Quoting:</label><input
type='checkbox' class='bootstrap-switch form-control' name='enable_aq'
id='enable_aq' style='float:left;' value='no'></input><br>";
}

if ($aqr == 1) {
echo "<label class='control-label'>Automated Renewal
Quoting:</label><input type='checkbox' class='bootstrap-switch form-control'
name='enable_aqr' id='enable_aqr' style='float:right;' value='yes'
checked></input><br>";
}else {
echo "<label class='control-label'>Automated Renewal
Quoting:</label><input type='checkbox' class='bootstrap-switch form-control'
name='enable_aqr' id='enable_aqr' style='float:right;' value='no'></input><br>";
}

}//end checkForAQR

/**
*
*/
function changeAQSetting() {
global $con;

if ($_POST['enable_aq'] == 'true') {
$qry = $con->prepare("UPDATE agency_globals set automated_quoting = ?
where agency_id = ?");
$qry->bind_param("is", $tr, $_SESSION['agency_id']);
$tr = 1;
$qry->execute();
}else {

$qry = $con->prepare("UPDATE agency_globals set automated_quoting = ?


where agency_id = ?");
$qry->bind_param("is", $tr, $_SESSION['agency_id']);
$tr = 0;
$qry->execute();
}

if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}

}//end changeAQSetting

/**
*
*/
function changeAQRSetting() {
global $con;

if ($_POST['enable_aqr'] == 'true') {
$qry = $con->prepare("UPDATE agency_globals set
automated_renewal_quoting = ? where agency_id = ?");
$qry->bind_param("is", $tr, $_SESSION['agency_id']);
$tr = 1;
$qry->execute();
}else {

$qry = $con->prepare("UPDATE agency_globals set


automated_renewal_quoting = ? where agency_id = ?");
$qry->bind_param("is", $tr, $_SESSION['agency_id']);
$tr = 0;
$qry->execute();
}
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}

}//end changeAQRSetting

/**
*
*/
function submitToQBAPI() {
global $con, $con_qr;
$response_array['data'] = 0;
$rand = rand(100, 999);
$series = date("YmdHis") . $rand;
foreach ($_POST['carrier'] as $site) {
if (isset($_SESSION['currsession_email'])) {
$email = $con-
>real_escape_string($_SESSION['currsession_email']);
}
if ($email == '' && isset($_POST['submitter_email'])) {
$email = $con->real_escape_string($_POST['submitter_email']);
}
if (isset($_SESSION['agency_id'])) {
$agency_id = $con->real_escape_string($_SESSION['agency_id']);
}
if ($agency_id == '' && isset($_POST['agency_id'])) {
$agency_id = $con->real_escape_string($_POST['agency_id']);
}
if (isset($_POST['correlation_lead_id'])) {
$lead_id = $_POST['correlation_lead_id'];
$lead_inf = $con->query("SELECT
id,fname,lname,correlation_lead_id,ContactId from agency_contacts where
correlation_lead_id = '$lead_id' and agency_id = '$agency_id'");
}
if (isset($_POST['contact_id'])) {
$lead_id = $_POST['contact_id'];
$lead_inf = $con->query("SELECT
id,fname,lname,correlation_lead_id,ContactId from agency_contacts where id =
'$lead_id' and agency_id = '$agency_id'");
}
$row_lead = $lead_inf->fetch_assoc();
$fname = $row_lead['fname'];
$lname = $row_lead['lname'];
$corr_id = $row_lead['correlation_lead_id'];
$lead_id = $row_lead['id'];
$ContactId = $row_lead['ContactId'];
$get_corr = $con->query("SELECT
ip_id,ip_secret,integration_company_id,company_name,company_integrations.id from
agency_integrations,company_integrations where agency_integrations.agency_id =
'$agency_id' and company_name = 'QuoteRush' and integration_type = 'Lead' ");
$row_int = $get_corr->fetch_assoc();
$qr_id = $row_int['ip_id'];
$sec = $row_int['ip_secret'];
//check if allowed
$chk = $con_qr->query("SELECT AgencyName,DatabaseName from
quoterush.agencies where QRId = '$qr_id' and SecretCMSKey = '$sec'");
if (mysqli_num_rows($chk) < 1) {
header('Content-type: application/json');
$response_array['status'] = "Not Authorized";
echo json_encode($response_array);
}else {
$row_comp = $chk->fetch_assoc();
$db_name = $row_comp['DatabaseName'];
$date = date("Y-m-d H:i:s");
$qry_prop = $con_qr->prepare("SELECT Id from $db_name.properties
where Lead_Id = ?");
$qry_prop->bind_param("s", $corr_id);
$qry_prop->execute();
$qry_prop->store_result();
$qry_prop->bind_result($prp_id);
$qry_prop->fetch();
$chk_q = $con->prepare("SELECT correlation_lead_id from qb_return
where correlation_lead_id = ? and site_name = ? and status = ?");
$statq = 'Submitted';
$chk_q->bind_param("sss", $corr_id, $site, $statq);
$chk_q->execute();
$chk_q->store_result();
if ($chk_q->num_rows > 0 ) {
}else {
if ($site == 'Prepared') {
$qry = $con_qr->prepare("SELECT Zip,County from
$db_name.properties where Lead_Id = ?");
$qry->bind_param("s", $corr_id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($zip, $county);
$qry->fetch();
$ug1 = 'ZipsClosed';
$ug2 = 'ZipsClosedForNewBusiness';
$qry = $con_qr->prepare("SELECT Criteria1 from
quoterush.uwguidelines where UGId IN (SELECT UGId from quoterush.ugdefaults where
Guideline IN (?,?)) and Criteria1 = ?");
$qry->bind_param("sss", $ug1, $ug2, $zip);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
$ug1 = 'CountiesClosed';
$ug2 = 'CountiesClosedForNewBusiness';
$qry = $con_qr->prepare("SELECT Criteria1
from quoterush.uwguidelines where UGId IN (SELECT UGId from quoterush.ugdefaults
where Guideline IN (?,?)) and Criteria1 = ?");
$qry->bind_param("sss", $ug1, $ug2,
$county);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
if($corr_id != '' && $corr_id !=
'0'){
$lobid = '578d1577-4e6f-11ea-
bffc-000d3a7ae61a';
$ins_qry = $con_qr-
>query("INSERT into
$db_name.remotequote(Lead_Id,NameFirst,NameLast,Property_Id,series_id,SiteName,Date
Submitted,Submitter,Status,OwnerDBName,QRId,ManagedSitesDatabaseName,LineOfBusiness
Id)
VALUES('$corr_id','$fname','$lname','$prp_id','$series','$site','$date','$email','N
ew','$db_name','$qr_id','$db_name','$lobid')");
if ($ins_qry) {
$row_id = $con_qr-
>insert_id;
$response_array['data']+
+;
$ins = $con-
>query("INSERT into
qb_return(qr_row,agency_id,status,submitted_by,db_name,ContactId,site_name,correlat
ion_lead_id)
VALUES('$row_id','$agency_id','Submitted','$email','$db_name','$ContactId','$site',
'$corr_id')");
}else {
header('Content-type:
application/json');

$response_array['status'] = "Failed";
echo
json_encode($response_array);
}
}else{
header('Content-type: application/json');

$response_array['status'] = "Failed";
echo
json_encode($response_array);
}
}

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}else {
if($corr_id != '' && $corr_id != '0'){
$lobid = '578d1577-4e6f-11ea-bffc-
000d3a7ae61a';
$ins_qry = $con_qr->query("INSERT into
$db_name.remotequote(Lead_Id,NameFirst,NameLast,Property_Id,series_id,SiteName,Date
Submitted,Submitter,Status,OwnerDBName,QRId,ManagedSitesDatabaseName,LineOfBusiness
Id)
VALUES('$corr_id','$fname','$lname','$prp_id','$series','$site','$date','$email','N
ew','$db_name','$qr_id','$db_name','$lobid')");
if ($ins_qry) {
$row_id = $con_qr->insert_id;
$response_array['data']++;
$ins = $con->query("INSERT into
qb_return(qr_row,agency_id,status,submitted_by,db_name,ContactId,site_name,correlat
ion_lead_id)
VALUES('$row_id','$agency_id','Submitted','$email','$db_name','$ContactId','$site',
'$corr_id')");
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}else{
header('Content-type:
application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}
}//end check if row exists
}
}
header('Content-type: application/json');
$response_array['status'] = "Quotes Submitted";
$response_array['series'] = $series;
echo json_encode($response_array);
}//end submitToQBAPI
/**
*
*/
function getBillingInfoForm() {

global $con, $con_adm;

$qry = $con->prepare("SELECT
customer_id,address,address_line2,city,zip,name_on_card from billing_info where
email = ?");
$qry->bind_param("s", $_SESSION['currsession_email']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($customer, $add, $add2, $city, $zip, $name);
$qry->fetch();

$response_array['data'] = "
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Save Payment Info and Enable
AutoPay</label>
<input type='checkbox' id='save_payment' class='form-
control' checked></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Name on Card</label>
<input type='text' id='name_on_card' class='form-control'
value='$name'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Address</label>
<input type='text' id='card-address' class='form-control'
value='$add'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>City</label>
<input type='text' id='card-city' class='form-control'
value='$city'></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Zipcode</label>
<input type='text' id='card-zip' class='form-control'
value='$zip'></input>
</div>
<input type='hidden' id='customer-id' value='$customer'>
</div>
";

}else {
//no billing info

$response_array['data'] = "
<div class='form-group'>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Save Payment Info and Enable
AutoPay</label>
<input type='checkbox' id='save_payment' class='form-
control' checked></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Name on Card</label>
<input type='text' id='name_on_card' class='form-control'
value=''></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Address</label>
<input type='text' id='card-address' class='form-control'
value=''></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>City</label>
<input type='text' id='card-city' class='form-control'
value=''></input>
</div>
<div class='col-md-5 col-sm-5 col-xs-5'>
<label class='control-label'>Zipcode</label>
<input type='text' id='card-zip' class='form-control'
value=''></input>
</div>
</div>
";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getBillingForm

/**
*
*/
function checkForStoredCard() {

global $con;

$qry = $con->prepare("SELECT last_4,card_brand from billing_info where email


= ? and card_id is not null");
$qry->bind_param("s", $_SESSION['currsession_email']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($last_4, $brand);
$qry->fetch();
$_SESSION['last4'] = $last_4;
$_SESSION['brand'] = $brand;
}
}//end checkForStoredCard

/**
*
*/
function getPaymentForm() {
$response_array['data'] = "
<div id='save-payment-info' style='display:inline-block;'>
<label class='control-label' for='save-payment'>Setup Auto Pay?</label>
<input type='checkbox' id='save-payment' class='form-control'/>
</div>
<script>
var applicationId = 'sq0idp-9NZ-pok-c6Z1qezP_KsKVQ';
if (applicationId == '') {
alert('You need to provide a value for the applicationId variable.');
}
var paymentForm = new SqPaymentForm({
applicationId: applicationId,
inputClass: 'sq-input',
inputStyles: [
{
fontSize: '15px'
}
],
cardNumber: {
elementId: 'sq-card-number',
placeholder: '•••• •••• •••• ••••'
},
cvv: {
elementId: 'sq-cvv',
placeholder: 'CVV'
},
expirationDate: {
elementId: 'sq-expiration-date',
placeholder: 'MM/YY'
},
postalCode: {
elementId: 'sq-postal-code'
},
callbacks: {
cardNonceResponseReceived: function(errors, nonce, cardData) {
if (errors) {
errors.forEach(function(error) {
$.notify('Payment Processing Failed - ' + error.message, {className:
'error',position:'top-center'});
});
} else {
document.getElementById('card-nonce').value = nonce;
var totaldiv = document.getElementById('order-total');
var total = totaldiv.innerHTML;
var totalNotes = document.getElementById('order-notes');
var notes = totalNotes.innerHTML;
if ($('#save_payment').is(':checked')) {
var name_on_card = document.getElementById('name_on_card').value;
var city = document.getElementById('card-city').value;
var address = document.getElementById('card-address').value;
var zip = document.getElementById('card-zip').value;
var customer_id = document.getElementById('customer-id');
if(customer_id === null){
var ajax_data =
'nonce='+nonce+'&total='+total+'&notes='+notes+'&name_on_card='+name_on_card+'&city
='+city+'&address='+address+'&zip='+zip
}else{
var customer_id = document.getElementById('customer-id').value;
var ajax_data =
'nonce='+nonce+'&total='+total+'&notes='+notes+'&name_on_card='+name_on_card+'&city
='+city+'&address='+address+'&zip='+zip+'&customer_id='+customer_id
}
$.ajax({
type:'POST',
url : 'square/charge-card.php',
data : ajax_data,
dataType: 'json',
async: false,
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
swal('Thank you!','Payment Processed Successfully for - $' + total
+'. Reloading page.', 'success');
setTimeout(location.reload.bind(location), 3000);
}
if ( data.status != 'Got Data' ) {
swal('OOPS!','Payment Processing Failed - ' + data.status,
'error');
}
}
});
}

if (!$('#save_payment').is(':checked')) {

$.ajax({
type:'POST',
url : 'square/charge-card.php',
data : 'nonce='+nonce+'&total='+total+'&notes='+notes,
dataType: 'json',
async: false,
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
swal('Thank you!','Payment Processed Successfully for - $' + total
+'. Reloading page.', 'success');
setTimeout(location.reload.bind(location), 3000);
}
if ( data.status != 'Got Data' ) {
swal('OOPS!','Payment Processing Failed - ' + data.status,
'error');
}
}
});

}
}
},

unsupportedBrowserDetected: function() {
},
inputEventReceived: function(inputEvent) {
switch (inputEvent.eventType) {
case 'focusClassAdded':
break;
case 'focusClassRemoved':
break;
case 'errorClassAdded':
break;
case 'errorClassRemoved':
break;
case 'cardBrandChanged':
break;
case 'postalCodeChanged':
break;
}
},

paymentFormLoaded: function() {
}
}
});
function requestCardNonce(event) {
event.preventDefault();
paymentForm.requestCardNonce();
}
</script>
<div class='secure text-center margin-bottom-md'>
<h3
class='margin-bottom-md text-success'>

<span class='fs1 icon' aria-hidden='true' data-icon=''></span>

Secure credit card payment<br>

</h3>
<div
class='accepted-cards'>
<ul
class='list-inline'>

<li><img src='assets/images/payment-icon-set/icons/visa-curved-32px.png'
alt='Visa'></li>

<li><img src='assets/images/payment-icon-set/icons/mastercard-curved-32px.png'
alt='MasterCard'></li>

<li><img src='assets/images/payment-icon-set/icons/maestro-curved-32px.png'
alt='Maestro'></li>

<li><img src='assets/images/payment-icon-set/icons/american-express-curved-
32px.png' alt='American Express'></li>

</ul>
</div>
</div>

<label>Card Number</label>
<div id='sq-card-number'></div>
<label>CVV</label>
<div id='sq-cvv'></div>
<label>Expiration Date</label>
<div id='sq-expiration-date'></div>
<label>Postal Code</label>
<div id='sq-postal-code'></div>
<form id='nonce-form' novalidate action='square/charge-card.php' method='post'>
<input type='hidden' id='card-nonce' name='nonce'>
<input type='submit' value='Submit Payment' class='sq-button'
onclick='requestCardNonce(event)'>
</form>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getPaymentForm

/**
*
*/
function getCurrentWorkflows() {
global $con, $con_adm;

$qry = $con->prepare("SELECT module,task_type,task_module,task_action from


agency_workflows where agency_id = ? order by module ASC");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();

echo " <table id='current-


workflow-grid' class='table table-sorting dataTable no-footer'>
<thead>
<tr>

<th>Module</th>
<th>Module
Affected</th>
<th>Action Type</td>

<th>Action</th>
</tr>
</thead>
<tbody>";
if ($qry->num_rows > 0) {
$qry->bind_results($mod, $type, $tmod, $taction);
while ($qry->fetch()) {
echo "<tr>
<td>$mod</td>
<td>$tmod</td>
<td>$type</td>
<td>$taction</td>
</tr>";
}//end while
}//end check for rows
echo "</tbody></table>";

}//end getCurrentWorkflows

/**
*
*/
function getWorkflowSetup() {
global $con, $con_adm;

$qry = $con_adm->prepare("SELECT module from automation_workflow_modules


order by module asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($mod);
echo "
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label class='control-
label'>Module</label>
<select
class='form-control' id='module-select' name='module-select'>
<option value=''>Please
Select the Module for this Workflow</option>";
while ($qry->fetch()) {
echo "<option value='$mod'>$mod</option>";
}//end loop through modules

echo "</select></div></div>";

}//end getWorkflowSetup

/**
*
*/
function getAgencyWorkflowTasks() {
global $con_adm, $con;

$qry = $con_adm->prepare("SELECT trigger_type from


automation_workflow_module_triggers where module = ? order by trigger_type asc");
$qry->bind_param("s", $_POST['get-awf-tasks']);
$qry->execute();
$qry->store_result();
$qry->bind_result($mod);
$response_array['data'] = "
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label
class='control-label'>When?</label>
<select
class='form-control' id='module-trigger-select' name='module-trigger-select'>

<option value=''>Please Select the Trigger for this Workflow</option>";


while ($qry->fetch()) {
$response_array['data'] .= "<option value='$mod'>$mod</option>";
}//end loop through modules

$response_array['data'] .= "</select></div></div>";

$qry = $con_adm->prepare("SELECT task from automation_workflow_module_tasks


where module = ? order by task asc");
$qry->bind_param("s", $_POST['get-awf-tasks']);
$qry->execute();
$qry->store_result();
$qry->bind_result($mod);
$response_array['data'] .= "
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label
class='control-label'>What do you want to do?</label>
<select
class='form-control module-task-select' id='module-task-select[]' name='module-
task-select'>

<option value=''>Please Select the Action for this Workflow</option>";


while ($qry->fetch()) {
$response_array['data'] .= "<option value='$mod'>$mod</option>";
}//end loop through modules

$response_array['data'] .= "</select></div></div>
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10'>
<label
class='control-label'>Conditions?</label>
<select
class='form-control module-condition-select' id='module-condition-select[]'
name='module-condition-select'>

<option value=''>Are there specific conditions for this Workflow</option>


<option
value='Yes'>Yes</option>
<option
value='No'>No</option>
</select>
</div>
</div>";

$response_array['data'] .= "
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10' id='task-freeform'>
</div>
</div>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end getAgencyWorkflowTasks

/**
*
*/
function getAgencyWorkflowConditions() {
global $con, $con_adm;
$count = $_POST['curr-counter'];

$response_array['data'] = "
<div id='builder-basic-$count' class='query-builder form-inline'></div>
<script>
$('#builder-basic-$count').queryBuilder({
plugins: ['bt-tooltip-errors'],

filters: [";
$qry = $con_adm->prepare("SELECT table_name from
ams_admin.automation_workflow_modules where module = ?");
$qry->bind_param("s", $_POST['awf-module']);
$qry->execute();
$qry->store_result();
$qry->bind_result($table_name);
$qry->fetch();
$qry = $con_adm->prepare("SELECT db_name from ams_admin.agency_globals where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($db_name);
$qry->fetch();
$qry2 = $con_adm->prepare("SELECT COLUMN_NAME,DATA_TYPE from
INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = ? and TABLE_NAME = ? order by
COLUMN_NAME ASC");
$qry2->bind_param("ss", $db_name, $table_name);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($cname, $dtype);
$num_rows = $qry2->num_rows();
$counter = 1;
while ($qry2->fetch()) {
if ($dtype == 'timestamp') {
$dtype = 'datetime';
}
if ($dtype == 'varchar') {
$dtype = 'string';
}
if ($dtype == 'int') {
$dtype = 'integer';
}

if ($dtype == 'decimal') {
$dtype = 'integer';
}

if ($dtype == 'tinyint') {
$dtype = 'integer';
}

if ($dtype == 'date') {
$dtype = 'date';
}

if ($num_rows > $counter) {


$response_array['data'] .= "
{
id: '$cname',
label: '$cname',
type: '$dtype'
},
";
}else {
$response_array['data'] .= "
{
id: '$cname',
label: '$cname',
type: '$dtype'
}
";
}
$counter++;
}//end loop through columns
$response_array['data'] = rtrim($response_array['data'], ",");
$response_array['data'] .= "
]

});

$('#btn-reset').on('click', function() {
$('#builder-basic-$count').queryBuilder('reset');
});

$('#btn-set').on('click', function() {
$('#builder-basic-$count').queryBuilder('setRules', rules_basic);
});

$('#btn-get').on('click', function() {
var result = $('#builder-basic-$count').queryBuilder('getRules');

if (!$.isEmptyObject(result)) {
alert(JSON.stringify(result, null, 2));
}
});
</script>

";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//END getAgencyWorkflowConditions

/**
*
*/
function checkAcordFormMapping() {
global $con, $con_qr, $con_adm;
$qry = $con_adm->prepare("SELECT form_name,acord_id from
ams_admin.acord_forms where id = ? and form_name = ?");
$exp = explode("|", $_POST['form_mapping']);
$fid = $exp[0];
$fname = $exp[1];
$exp2 = explode("_", $fname);
$fnamee = $exp2[1];
$qry->bind_param("ss", $fid, $fname);
$qry->execute();
$qry->store_result();
$qry->bind_result($form, $formid);
$qry->fetch();
$qry2 = $con_adm->prepare("SELECT * from ams_admin.acord_form_mapping where
form_name = ?");
$qry2->bind_param("s", $form);
$qry2->execute();
$qry2->store_result();
$qry3 = $con->prepare("SELECT ip_id from agency_integrations where
integration_company_id = ? and agency_id = ?");
$one = 1;
$qry3->bind_param("ss", $one, $_SESSION['agency_id']);
$qry3->execute();
$qry3->store_result();
if ($qry3->num_rows > 0) {
$qry3->bind_result($qrid);
$qry3->fetch();
$qry4 = $con->prepare("SELECT correlation_lead_id from agency_contacts
where id = ? and agency_id = ?");
$qry4->bind_param("ss", $_POST['form_contact'],
$_SESSION['agency_id']);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($corrid);
$qry4->fetch();
$json = '
{
"form_id": "'.$fnamee.'",
"api_key": "156D9F1CDEBA15409282BA25673783DE3CB2188C",
"qrid": "'.$qrid.'",
"lead": "'.$corrid.'"
}
';
}

if ($qry2->num_rows > 0) {
//found mapping
if (!isset($json)) {
$url = "https://forms.keepthemsmiling.com/get_form.php";
// Performing the HTTP request
$ch = curl_init($url);
$json = '
{
"form_id": "'.$fnamee.'",
"api_key": "156D9F1CDEBA15409282BA25673783DE3CB2188C"
}
';

$url = "https://forms.keepthemsmiling.com/get_form.php";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response_body = curl_exec($ch); // Performs the Request, with
specified curl_setopt() options (if any).
$resp = json_decode($response_body);
//$response_array['data'] = $response_body;
$form_id = $resp->data->form->id;
$contact = $_POST['form_contact'];
//$response_array['data'] = "<form class='form-horizontal'
id='contact_acord_form' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>";
//$response_array['data'] .= "<input type='hidden'
name='form_contact' value='$contact'></input>";

foreach ($resp->data->fields as $field) {


if ($field->mapped == 'False') {
$name = '';
$part = '';
$label = '';

if ($field->field_type == 'Text') {
$name = $field->field_name;
$exp = explode("_", $name);
foreach ($exp as $part) {
$label .= "$part ";
}
//$response_array['data'] .= "<label
class='control-label'>$label</label>
//<input type='text' class='form-control'
name='$name'></input>";
}//if field is text

if ($field->field_type == 'Button') {
$name = $field->field_name;
$exp = explode("_", $name);
foreach ($exp as $part) {
$label .= "$part ";
}
//$response_array['data'] .= "<label
class='control-label'>$label</label>
//<input type='checkbox' class='form-control'
name='$name' value='1'></input>";
}//if field is checkbox

}//end check if mapped


}//end foreach
$form_url = "https://forms.keepthemsmiling.com/forms/$form";
//$response_array['data'] .= "</form>";
}else {
$url = "https://forms.keepthemsmiling.com/generate_form_v3.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response_body = curl_exec($ch); // Performs the Request, with
specified curl_setopt() options (if any).
$resp = json_decode($response_body);
$form_url = $resp->data->document_url;
}
}else {
if (!isset($json)) {
//no mapping

$url = "https://forms.keepthemsmiling.com/get_form.php";
// Performing the HTTP request
$ch = curl_init($url);
$json = '
{
"form_id": "'.$fnamee.'",
"api_key": "156D9F1CDEBA15409282BA25673783DE3CB2188C"
}
';

$url = "https://forms.keepthemsmiling.com/get_form.php";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response_body = curl_exec($ch); // Performs the Request, with
specified curl_setopt() options (if any).
$resp = json_decode($response_body);
//$response_array['data'] = $response_body;
$form_id = $resp->data->form->id;
$contact = $_POST['form_contact'];
//$response_array['data'] = "<form class='form-horizontal'
id='contact_acord_form' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>";
//$response_array['data'] .= "<input type='hidden'
name='form_contact' value='$contact'></input>";

foreach ($resp->data->fields as $field) {


if ($field->mapped == 'False') {
$name = '';
$part = '';
$label = '';

if ($field->field_type == 'Text') {
$name = $field->field_name;
$exp = explode("_", $name);
foreach ($exp as $part) {
$label .= "$part ";
}
//$response_array['data'] .= "<label
class='control-label'>$label</label>
//<input type='text' class='form-control'
name='$name'></input>";
}//if field is text

if ($field->field_type == 'Button') {
$name = $field->field_name;
$exp = explode("_", $name);
foreach ($exp as $part) {
$label .= "$part ";
}
//$response_array['data'] .= "<label
class='control-label'>$label</label>
//<input type='checkbox' class='form-control'
name='$name' value='1'></input>";
}//if field is checkbox

}//end check if mapped


}//end foreach

//$response_array['data'] .= "</form>";
$form_url = "https://forms.keepthemsmiling.com/forms/$form";
}else {
$url = "https://forms.keepthemsmiling.com/generate_form_v3.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response_body = curl_exec($ch); // Performs the Request, with
specified curl_setopt() options (if any).
$resp = json_decode($response_body);
$form_url = $resp->data->document_url;
}

}//end check for mapping


$response_array['msg'] = $resp;

$response_array['data'] = "
<div>
<object data='$form_url' type='application/pdf' width='100%' height='800'>
<a href='$form_url'>$form</a>
</object>
</div> ";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end checkFormMapping

/**
*
*/
function continueDealWF() {
global $con, $con_qr;

$prop_type = $_POST['prop_type'];
$ContactId = $_POST['contact_id'];
$qry = $con->prepare("SELECT id from agency_contacts where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_id);
$qry->fetch();
$qid = $_POST['quote_id'];
$qry = $con->prepare("SELECT * from workflow_steps where wf_id = ? order by
wf_order asc");
$qry->bind_param("s", $_POST['wfid']);
$qry->execute();
$qry->store_result();
$qry->bind_result($id, $name, $order, $files, $notes, $wfid, $des, $prop,
$script);
$response_array['data'] = "
<script src='assets/js/jquery-steps.js'></script>
<script src='assets/js/forms-wizard.js'></script>

<br><br>
<div id='example-
vertical'>";
$deal_qry = $con->prepare("SELECT id,step from deals where quote_id = ? and
ContactId = ? and status = ? and id = ?");
$deal_qry->bind_param("sssi", $qid, $ContactId, $progress,
$_POST['con_qr_deal']);
$progress = 'In Progress';
$deal_qry->execute();
$deal_qry->store_result();
if ($deal_qry->num_rows() > 0) {
$deal_qry->bind_result($dealid, $step);
$deal_qry->fetch();
$check_prop = $con->prepare("SELECT proposal_id from proposals where
ContactId = ? and deal_id = ?");
$check_prop->bind_param("ss", $ContactId, $dealid);
$check_prop->execute();
$check_prop->store_result();
if ($check_prop->num_rows() > 0) {
$check_prop->bind_result($proposal_id);
$prop_create = 'Yes';
}else {
$prop_create = 'No';
}
$response_array['data'] .= " <button class='btn btn-
danger cancelDeal' type='submit' data-value='$dealid' style='margin-
left:40%;'>Cancel Deal</button>
<input
type='hidden' name='deal_id' id='deal_id' value='$dealid'></input>";
}else {
$response_array['data'] .= "
<button
type='submit' class='btn btn-primary save-deal' style='margin-left: 40%;'>Save
Deal</button>
";
}
$response_array['data'] .= "
<input
type='hidden' name='contact_id' id='contact_id' value='$contact_id'></input>
<input
type='hidden' name='prop_type' id='prop_type' value='$prop_type'></input>
<input
type='hidden' name='quote_id' id='quote_id' value='$qid'></input>
";
$counter = 0;
while ($qry->fetch()) {
$counter++;
$response_array['data'] .= "

<h3>$name</h3>
<section>
<h4
class='text-center'>$des</h4>

<h5>Expected Inputs: Notes - $notes | Files - $files | Proposal - $prop</h5>

<input type='hidden' id='exp_num_notes_$counter' value='$notes'>

<input type='hidden' id='exp_num_files_$counter' value='$files'>

<input type='hidden' id='exp_proposal_$counter' value='$prop'>";


if (!isset($dealid)) {
$dealid = '';
}
if ($prop == 'Yes' && $dealid != '' && $prop_create == 'No') {
$response_array['data'] .= "
<a href='proposal_generator.php' class='btn btn-primary gen-prop' style='margin-
left: 40%;color: #fff;'>Create Proposal</a>
";
}

if ($prop == 'Yes' && $dealid != '' && $prop_create == 'Yes') {


while ($check_prop->fetch()) {
$ag_id = $_SESSION['agency_id'];
$response_array['data'] .= "
<a href='proposal_view.php?proposal_id=$proposal_id&identifier=$ag_id'
target='_blank' class='btn btn-primary gen-prop' style='margin-left: 40%;color:
#fff;'>Proposal - $proposal_id</a>
";
}//end check for proposals
}

if ($script != '') {
$qry2 = $con->prepare("SELECT script_text from wf_scripts where
id = ?");
$qry2->bind_param("s", $script);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($script_text);
$qry2->fetch();
$response_array['data'] .= "
<h5>Call Script - $script_text</h5>";
}
$accordion_count = 0;
if ($notes > 0) {
$note_qry = $con->prepare("SELECT
note_content,entry_ts,CONCAT(users_table.fname, ' ', users_table.lname) as note_by
from deal_notes,users_table where ContactId = ? and note_by = users_table.user_id
and quote_id = ? and step = ? and deal_id = ? order by entry_ts desc");
if (!$dealid) {
$dealid = 'NULL';
}
$note_qry->bind_param("ssss", $ContactId, $qid, $counter,
$dealid);
$note_qry->execute();
$note_qry->store_result();
if ($note_qry->num_rows() > 0) {
$num_notes = $note_qry->num_rows();
$response_array['data'] .= "<div id='notes-div-step-
$counter'><input type='hidden' id='curr_num_notes_$counter' value='$num_notes'>";
$response_array['data'] .= ' <table datatable="datatable"
class="table table-striped table-bordered dataTable no-footer" id="note-grid"
style="width:100%;">
<thead>
<tr>
<th>Note By</th>
<th>Note Date</th>
<th>Note Content</th>
</tr>
<thead>
<tbody>';
$note_qry->bind_result($note_content, $note_date,
$note_author);
while ($row_note = $note_qry->fetch()) {
$note_date = date("F j, Y g:i a",
strtotime($note_date));
$note_content = nl2br($note_content);
$response_array['data'] .= "
<tr>
<td>$note_author</td>
<td>$note_date</td>
<td>$note_content</td>
</tr>";

}//end while
$accordion_count++;
$response_array['data'] .= "</tbody></table>
</div>";

$response_array['data'] .= "
<label for='add_contact_note'>Add Note</label>
<textarea class='form-control' id='add_deal_note_$counter' placeholder='Add Note to
Deal'></textarea>
<button type='submit' class='btn btn-primary save-deal-note' data-value='$counter'
disabled='true'>Save Note</button>

";

if ($dealid != '') {
$response_array['data'] .= "
<script>
$('.save-deal-note').show();
</script>";
}
}else {
$num_notes = $note_qry->num_rows();
$response_array['data'] .= "<div id='notes-div-step-
$counter'><input type='hidden' id='curr_num_notes_$counter'
value='$num_notes'></div>";
$response_array['data'] .= "
<label for='add_contact_note'>Add Note</label>
<textarea class='form-control' id='add_deal_note_$counter' placeholder='Add Note to
Deal'></textarea>
<button type='submit' class='btn btn-primary save-deal-note' data-value='$counter'
disabled='true'>Save Note</button>

";

if ($dealid != '') {
$response_array['data'] .= "
<script>
$('.save-deal-note').show();
</script>";
}

}
}else {

$agency_id = $_SESSION['agency_id'];
$file_qry = $con->prepare("SELECT
file_path,file_name,uploaded,CONCAT(fname, ' ', lname) as name from
deal_files,users_table where deal_files.agency_id = ? and ContactId = ? and
quote_id = ? and uploaded_by = user_id and step = ? and deal_id = ? order by
uploaded asc");
echo $con->error;
$agency_id = $_SESSION['agency_id'];
if (!$dealid) {
$dealid = 'NULL';
}
$file_qry->bind_param("sssss", $agency_id, $ContactId, $qid, $counter,
$dealid);
$file_qry->execute();
$file_qry->store_result();
if ($file_qry->num_rows() > 0) {
$num_files = $file_qry->num_rows();
$response_array['data'] .= "<input type='hidden'
id='curr_num_files_$counter' value='$num_files'>";
$response_array['data'] .= '

<table class="table table-striped table-bordered dataTable no-footer filesTable"


id="ftable-dfile" style="max-width:100%;">

<thead>

<tr>

<th>File Name</th>
<th>Uploaded By</th>

<th>Uploaded</th>
</tr>

</thead>

<tbody>';

$file_qry->bind_result($path, $file_name, $uploaded,


$uploaded_by);
while ($row_file = $file_qry->fetch()) {
$path = str_replace('#', '%23', $path);
$xplode = explode("/", $path);
$path =
"doc_storage/$xplode[5]/$xplode[6]/$xplode[7]/$xplode[8]";
$uploaded = date("F j, Y g:i a T", strtotime($uploaded));
//$file_namee = str_replace('#', '%23', $file_name);
//$file_namee = str_replace('%', '%25', $file_name);
//$file_namee = str_replace("'", '%27', $file_name);
$file_namee = rawurlencode($file_name);
$response_array['data'] .= "<tr>
<td><a href='$path/$file_namee' target='_blank'>$file_name</a></td>
<td>$uploaded_by</td>
<td>$uploaded</td>
</tr>";
}

$response_array['data'] .= "</tbody></table>";
}else {
$num_files = $file_qry->num_rows();
$response_array['data'] .= "<input type='hidden'
id='curr_num_files_$counter' value='$num_files'>";
}

if ($files > 0) {
$response_array['data'] .= "<div class='file-container'>";

$response_array['data'] .= "<form action='upload_deal.php'


class='dropzone dz-clickable' id='drop_zone_$counter' method='post'>";
$response_array['data'] .= "<input type='hidden'
name='file_contact_id' value='$contact_id'></input><input type='hidden'
name='file_ContactId' value='$ContactId'></input><input type='hidden'
name='file_quote_id' value='$qid'></input><input type='hidden' name='upload_from'
value='deal'></input><input type='hidden' name='file_step_id'
value='$counter'><input type='hidden' class='file_deal_id' name='file_deal_id'
value='$dealid'>";
$response_array['data'] .= '<div class="dz-default dz-
message"><span>Drop files here to upload</span></div></form>

<input type="file" multiple="multiple" class="dz-hidden-input" style="visibility:


hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
<script>';
$response_array['data'] .= "
// Dropzone class:
var myDropzone_$counter = new Dropzone('#drop_zone_$counter', {
url: 'upload_deal.php',
success: function(file,
response){
var file_val = $('#curr_num_files_$counter').val();
file_val++
$('#curr_num_files_$counter').val(file_val);
var curr_step = $('#example-vertical').steps('getCurrentIndex');
curr_step++

if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||


$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

}
});";
if ($dealid == '') {

$response_array['data'] .= "
var new_note = $('.file-container').hide();
";
}
$response_array['data'] .= "

</script>
</div>";

}else {

}//end check if files are required

$response_array['data'] .= "</section>";

}//end while

$response_array['data'] .= "
</div>
";

if ($dealid != '') {
$counter_step = 1;
$response_array['data'] .= "
<script>
";
if (!$step) {
$step = 1;
}
while ($counter_step < $step) {
$response_array['data'] .= "
$('.wizard').steps('next');";
$counter_step++;
}//end while step count
$response_array['data'] .= "

$(document).on('click', '.step-item', function(event) {


var curr_step = $('#example-vertical').steps('getCurrentIndex');
curr_step++
if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||
$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}
var url = 'functions/functions.php'; // the script where you handle the form
input.
var contact = $('#contact_id').val();
var step = curr_step;
var prop_type = $('#prop_type').val();
var quote_id = $('#quote_id').val();
var deal_id = $('#deal_id').val();
var val = $(this).attr('href');
if(val == '#next' || val == '#previous'){
$.ajax({
type: 'POST',
url: url,
data:
'save_deal_step=true&contact_id='+contact+'&prop_type='+prop_type+'&quote_id='+quot
e_id+'&step='+step+'&deal_id='+deal_id, // serializes the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$('#notes-div-step-'+step).html(data.data);
if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||
$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

}
if ( data.status != 'Got Data' ) {
}
}
});
}
if(val == '#finish'){
swal({
title: 'Won or Lost?',
text: 'Did you win this deal or lose it?',
icon: 'info',
buttons: [
'Lost',
'Won'
],
dangerMode: true,
}).then(function(isConfirm) {
if (isConfirm) {
var dwon = 1;
} else {
var dwon = 0;
}
})
$.ajax({
type: 'POST',
url: url,
data:
'save_deal_step=true&contact_id='+contact+'&prop_type='+prop_type+'&quote_id='+quot
e_id+'&step='+step+'&deal_id='+deal_id+'&finished=true&won='+dwon, // serializes
the form's elements.
success: function(data,result)
{
if ( data.status == 'Got Data' ) {
$('.actions').hide();
}
if ( data.status != 'Got Data' ) {
}
}
});
}
});

var curr_step = $('#example-vertical').steps('getCurrentIndex');


curr_step++

if($('#curr_num_notes_'+curr_step).val() < $('#exp_num_notes_'+curr_step).val() ||


$('#curr_num_files_'+curr_step).val() < $('#exp_num_files_'+curr_step).val()){
$('.actions').hide();
}

if($('#curr_num_notes_'+curr_step).val() >= $('#exp_num_notes_'+curr_step).val() &&


$('#curr_num_files_'+curr_step).val() >= $('#exp_num_files_'+curr_step).val()){
$('.actions').show();
}

if($('#deal_id').length){
$('.save-deal-note').prop('disabled', false);
}

";

if ($dealid == '' || !isset($dealid)) {


$response_array['data'] .= "
$('.save-deal-note').hide();
";
}

$response_array['data'] .= "

</script>
";

}else {
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end continueDealWF

/**
*
*/
function getQRWebForm() {
global $con, $con_qr;

$qry = $con_qr->prepare("SHOW COLUMNS FROM quoterush_db.leads");


$qry->execute();
$qry->store_result();
$qry->bind_result($field, $type, $null, $key, $def, $ext);
echo "
<div class='panel-group' id='accordion-1' role='tablist' aria-
multiselectable='true'>
<div class='panel panel-default'>
<div class='panel-heading icon-right' role='tab' id='headingOne-1'>
<h4 class='panel-title'><a data-toggle='collapse' data-
parent='#accordion-1' href='#collapseOne-1' aria-expanded='true' aria-
controls='collapseOne-1'><i class='fa fa-minus-square'></i>Contact Info</a></h4>
</div>
<div id='collapseOne-1' class='panel-collapse collapse in'
role='tabpanel' aria-labelledby='headingOne-1'>
<div class='panel-body'>";
while ($qry->fetch()) {
$field_friendly = str_replace("_", " ", $field);
$field_friendly = preg_replace('/(?<!\ )[A-Z][a-z]/', ' $0',
$field_friendly);
echo "
<div class='col-md-3 col-sm-3 col-xs-3'>
<input type='text' class='form-control' name='$field'
placeholder='$field_friendly'></input>
</div>
";

}//end loop through fields

echo " </div>


</div>
";

echo "
<div class='panel-heading icon-right' role='tab' id='headingOne-2'>
<h4 class='panel-title'><a data-toggle='collapse' data-
parent='#accordion-2' href='#collapseOne-2' aria-expanded='false' aria-
controls='collapseOne-2'><i class='fa fa-plus-square'></i>Property Info</a></h4>
</div>
<div id='collapseOne-2' class='panel-collapse collapse in'
role='tabpanel' aria-labelledby='headingOne-2'>
<div class='panel-body'>";

$qry = $con_qr->prepare("SHOW COLUMNS FROM quoterush_db.properties");


$qry->execute();
$qry->store_result();
$qry->bind_result($field, $type, $null, $key, $def, $ext);
while ($qry->fetch()) {
$field_friendly = str_replace("_", " ", $field);
$field_friendly = preg_replace('/(?<!\ )[A-Z][a-z]/', ' $0',
$field_friendly);

echo "
<div class='col-md-3 col-sm-3 col-xs-3'>
<input type='text' class='form-control' name='$field'
placeholder='$field_friendly'></input>
</div>";

}//end loop through fields

echo " </div>


</div>
</div>
";
echo "
<script>
$('#webform input[placeholder]').placeholderLabel({
labelColor: '##497cb1',
inInput: true,
labelSize: '12px'
});
</script>";

}//end getQRWebForm

/**
*
*/
function sendSMS() {
global $con, $con_adm, $agency_url, $base_dir;

// Your Account SID and Auth Token from twilio.com/console

// Use the client to do fun stuff like send text messages!


$num = $_POST['to_sms'];
$qry = $con_adm->prepare("SELECT number from sms_stop where number like ?");
$lk = "%$num%";
$qry->bind_param("s", $lk);
$qry->execute();
$qry->store_result();
$qry2 = $con->prepare("SELECT agency_id from agency_contacts where ContactId
= ?");
$qry2->bind_param("s", $_POST['sms_ContactId']);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($agency);
$qry2->fetch();
if ($qry->num_rows > 0) {

header('Content-type: application/json');
$response_array['status'] = "This number has requested for messages to
STOP. If you believe this is in error please get an email from them with their
number in it that states they allow texts. You can send the email to
support@keepthemsmiling.com";
echo json_encode($response_array);

//DONT SEND
}else {
$qry = $con->prepare("SELECT twilio_number,AccountSID,AccountToken from
twilio_config WHERE Type = ? and agency_id = ?");
$t = 'Two-Way SMS';
$qry->bind_param("ss", $t, $agency);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($tnum, $sid, $token);
$qry->fetch();
$msg = $_POST['msg_sms'];
$num = preg_replace('/[^0-9]/', '', $num);
$client = new Client($sid, $token);
if (isset($_POST['sms-attachment']) && $_POST['sms-attachment'] !
= '') {
$mediaURL = $agency_url . $_POST['sms-attachment'];
$qry2 = $con->prepare("INSERT INTO
sms_traffic(sent_by,sent_to,content,direction,MediaURL,ContactId,agency_id)
VALUES(?,?,?,?,?,?,?)");
$qry2->bind_param("sssssss", $_SESSION['uid'], $num, $msg,
$ob, $mediaURL, $_POST['sms_ContactId'], $agency);
$ob = 'OUTBOUND';
$qry2->execute();
$qry2->store_result();
$insid = $con->insert_id;
$qry3 = $con->prepare("UPDATE sms_traffic set MessageId =
UUID() where id = ?");
$qry3->bind_param("i", $insid);
$qry3->execute();
$qry4 = $con->prepare("SELECT MessageId from sms_traffic
where id = ?");
$qry4->bind_param("i", $insid);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($MessageId);
$qry4->fetch();
$sent = date("F j, Y g:i a");
$response_array['Direction'] = $ob;
$response_array['SentBy'] = $_SESSION['fname'];
$response_array['Message'] = $msg;
$response_array['SentOn'] = $sent;
$response_array['Media'] = $mediaURL;
$link =
"https://$base_dir.keepthemsmiling.com/sms_status.php?MessageId=$MessageId";
$status = $client->messages->create(
// the number you'd like to send the message to
"$num",
array(
// A Twilio phone number you purchased at
twilio.com/console
'from' => "+$tnum",
// the body of the text message you'd like to
send
'body' => "$msg",
"statusCallback" => "$link",
'mediaUrl' => "$mediaURL"
)
);
}else {
$mediaURL = '';
$qry2 = $con->prepare("INSERT INTO
sms_traffic(sent_by,sent_to,content,direction,MediaURL,ContactId,agency_id)
VALUES(?,?,?,?,?,?,?)");
$qry2->bind_param("sssssss", $_SESSION['uid'], $num, $msg,
$ob, $mediaURL, $_POST['sms_ContactId'], $agency);
$ob = 'OUTBOUND';
$qry2->execute();
$qry2->store_result();
$insid = $con->insert_id;
$qry3 = $con->prepare("UPDATE sms_traffic set MessageId =
UUID() where id = ?");
$qry3->bind_param("i", $insid);
$qry3->execute();
$qry4 = $con->prepare("SELECT MessageId from sms_traffic
where id = ?");
$qry4->bind_param("i", $insid);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($MessageId);
$qry4->fetch();
$sent = date("F j, Y g:i a");
$response_array['Direction'] = $ob;
$response_array['SentBy'] = $_SESSION['fname'];
$response_array['Message'] = $msg;
$response_array['SentOn'] = $sent;
$response_array['Media'] = $mediaURL;
$link =
"https://$base_dir.keepthemsmiling.com/sms_status.php?MessageId=$MessageId";
$status = $client->messages->create(
// the number you'd like to send the message to
"$num",
array(
// A Twilio phone number you purchased at
twilio.com/console
'from' => "+$tnum",
"statusCallback" => "$link",
// the body of the text message you'd like to
send
'body' => "$msg"
)
);
}
if ($status->status == 'queued') {

$response_array['data'] = "

<table class='table table-striped table-bordered dataTable no-footer' id='sms-


traffic-table'>

<thead>
<tr>

<td>Direction</td>

<td>Sent By</td>

<td>Message</td>

<td>Message Date/Time</td>

<td>Media</td>

</thead>

<tbody>";
$qry_msg = $con->prepare("SELECT id, sent_by, sent_to,
content, sent_on, direction, seen, has_media, MediaURL, ContactId from sms_traffic
where ContactId = ? ORDER BY sent_on DESC");
$qry_msg->bind_param("s", $_POST['sms_ContactId']);
$qry_msg->execute();
$qry_msg->store_result();
if ($qry_msg->num_rows > 0) {
$qry_msg->bind_result($msgid, $sby, $sfrm, $msg,
$sent, $dir, $seen, $hasm, $mediaURL, $cid);
while ($qry_msg->fetch()) {
if ($dir == 'INBOUND') {
$sby = $_SESSION['fname'];
}else {
$qry_sender = $con->prepare("SELECT
CONCAT(fname, ' ', lname) as name from users_table where user_id = ?");
$qry_sender->bind_param("s", $sby);
$qry_sender->execute();
$qry_sender->store_result();
$qry_sender->bind_result($sender);
$qry_sender->fetch();
$sby = $sender;
}

$sent = date("F j, Y g:i a", strtotime($sent));

$response_array['data'] .= "<tr>

<td>$dir</td>

<td>$sby</td>

<td>$msg</td>

<td>$sent</td>";
if ($mediaURL != '') {
$response_array['data'] .= "

<td><a href='$mediaURL' target='_blank'>MMS</a></td>";


}else {
$response_array['data'] .= "

<td></td>";
}
$response_array['data'] .= "

</tr>";
}//end loop through messages
}//end check messages
$response_array['data'] .= "
</tbody>
</table>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Unable to send.";
echo json_encode($response_array);
}//end check if sent
}else {
header('Content-type: application/json');
$response_array['status'] = "You are not currently setup for SMS.
Please contact support if you would like to add on that module.";
echo json_encode($response_array);
}

}//OK TO SEND

}//end sendSMS

/**
*
* @param unknown $status
* @param unknown $email
* @param unknown $subject
* @param unknown $message
* @param unknown $from
* @param unknown $uname
* @param unknown $pwd
*/
function sendEmailNotification($status, $email, $subject, $message, $from, $uname,
$pwd) {

// Import PHPMailer classes into the global namespace


// These must be at the top of your script, not inside a function

//Load Composer's autoloader


require '../vendor/autoload.php';

// Begin Email Code


if ($vendor == 'GoDaddy') {

$mail = new PHPMailer(true); // Passing


`true` enables exceptions
try {
//Server settings
$mail->isSMTP(); // Set
mailer to use SMTP
$mail->Host = 'smtpout.secureserver.net;'; // Specify main and
backup SMTP servers
$mail->SMTPAuth = true; // Enable
SMTP authentication
$mail->Username = $uname; // SMTP username
$mail->Password = $pwd; // SMTP
password
$mail->SMTPSecure = 'ssl'; // Enable
TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port
to connect to

//Recipients
$mail->setFrom("notifications@consumerpeak.com", 'No-Reply');
$mail->addAddress("$email"); // Name is optional
$mail->addReplyTo($from);

//Content
$mail->isHTML(true); // Set
email format to HTML
$mail->Subject = "$subject";
$mail->Body = "$message";

//$mail->send();
$ob = "OUTBOUND";
$qry = $con->prepare("INSERT into
email_traffic(sent_by,sent_to,content,direction) VALUES(?,?,?,?)");
$qry->bind_param("ssss", $_SESSION['uid'], $to, $msg, $ob);
$qry->execute();

} catch (Exception $e) {


}
}
// End Email Code

}//end sendEmailNotification

/**
*
*/
function markSMSRead() {
global $con;

$qry = $con->prepare("SELECT phone,ContactId,fname from agency_contacts where


id = ?");
$qry->bind_param("s", $_POST['mark-messages-read']);
$qry->execute();
$qry->store_result();
$qry->bind_result($cphone, $ContactId, $fname);
$qry->fetch();
$qry2 = $con->prepare("UPDATE sms_traffic set seen = 1 where (sent_to like ?
OR sent_by like ?) and seen = ?");
$lk = "%$cphone%";
$nseen = 0;
$qry2->bind_param("sss", $lk, $lk, $nseen);
$qry2->execute();
$response_array['data'] = "

<table class='table table-striped table-bordered dataTable no-footer' id='sms-


traffic-table'>

<thead>

<tr>

<td>Direction</td>

<td>Sent By</td>

<td>Message</td>

<td>Message Date/Time</td>

<td>Media</td>

</thead>

<tbody>";
$qry_msg = $con->prepare("SELECT id, sent_by, sent_to, content, sent_on,
direction, seen, has_media, MediaURL, ContactId from sms_traffic where ContactId
= ? ORDER BY sent_on DESC");
$qry_msg->bind_param("s", $ContactId);
$qry_msg->execute();
$qry_msg->store_result();
if ($qry_msg->num_rows > 0) {
$qry_msg->bind_result($msgid, $sby, $sfrm, $msg, $sent, $dir, $seen,
$hasm, $mediaURL, $cid);
while ($qry_msg->fetch()) {
if ($dir == 'INBOUND') {
$sby = $fname;
}else {
$qry_sender = $con->prepare("SELECT CONCAT(fname, ' ',
lname) as name from users_table where user_id = ?");
$qry_sender->bind_param("s", $sby);
$qry_sender->execute();
$qry_sender->store_result();
$qry_sender->bind_result($sender);
$qry_sender->fetch();
$sby = $sender;
}

$sent = date("F j, Y g:i a", strtotime($sent));

$response_array['data'] .= "<tr>

<td>$dir</td>

<td>$sby</td>

<td>$msg</td>

<td>$sent</td>";
if ($mediaURL != '') {
$response_array['data'] .= "

<td><a href='$mediaURL' target='_blank'>MMS</a></td>";


}else {
$response_array['data'] .= "

<td></td>";
}
$response_array['data'] .= "

</tr>";
}//end loop through messages
}//end check messages
$response_array['data'] .= "
</tbody>
</table>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end markSMSRead

/**
*
*/
function sendEmailToContact() {
global $con;

// Import PHPMailer classes into the global namespace


// These must be at the top of your script, not inside a function

//Load Composer's autoloader


require '../vendor/autoload.php';

$to = $_POST['to_email'];
$exp = explode("|", $_POST['to_vendor']);
$prov = $exp[0];
$url = $exp[1];
$port = $exp[2];
$from = $_POST['from_uname'];
$pwd = $_POST['from_pwd'];
$msg = $_POST['msg_sms'];
$subject = $_POST['to_subject'];

// Begin Email Code

$mail = new PHPMailer(true); // Passing `true`


enables exceptions
try {
//Server settings
$mail->isSMTP(); // Set mailer to
use SMTP
$mail->Host = "$url"; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP
authentication
$mail->Username = $from; // SMTP username
$mail->Password = $pwd; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS
encryption, `ssl` also accepted
$mail->Port = $port; // TCP port to
connect to

//Recipients
$mail->setFrom("$from");
$mail->addAddress("$to"); // Name is optional
$mail->addReplyTo("$from");

//Content
$mail->isHTML(true); // Set email
format to HTML
$mail->Subject = "$subject";
$mail->Body = "$msg";
if (isset($_POST['attachment']) && $_POST['attachment'] != '') {
$exp = explode("/", $_POST['attachment']);
$count = count($exp);
$count--;
$name = $exp[$count];
$location = "../" . $_POST['attachment'];
$location = urldecode($location);
$mail->addAttachment($location, $name);
}
$mail->send();
$ob = "OUTBOUND";
$qry = $con->prepare("INSERT into
email_traffic(sent_by,sent_to,content,direction) VALUES(?,?,?,?)");
$qry->bind_param("ssss", $_SESSION['uid'], $to, $msg, $ob);
$qry->execute();
header('Content-type: application/json');
$response_array['status'] = "Got Data";
$response_array['message'] = $con->error;
echo json_encode($response_array);

} catch (Exception $e) {


header('Content-type: application/json');
$response_array['status'] = "Failed - $e";
echo json_encode($response_array);

// End Email Code

}//end sendEmailNotification

/**
*
*/
function getCarrierCommissions() {
global $con;
echo "
<table datatable='datatable' class='table table-striped table-bordered dataTable
no-footer' id='commission-grid'>
<thead>
<tr>
<th>Carrier</th>
<th>New Business</th>
<th>Renewal Business</th>
<th>Update Percentages</th>
</tr>
<thead>
<tbody>
";
$qry = $con->prepare("SELECT carrier,CarrierId from carriers order by carrier
asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier, $carrierid);
while ($qry->fetch()) {
$qry2 = $con->prepare("SELECT new_perc,renew_perc from
carrier_commissions where CarrierId = ?");
$qry2->bind_param("s", $carrierid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($new, $renew);
$qry2->fetch();
echo "<tr>
<td>$carrier</td>
<td>$new</td>
<td>$renew</td>
<td><button data-value='$carrierid' class='btn btn-block btn-primary
commission-edit'>Edit Commissions</button>
</tr>";

}else {

echo "<tr>
<td>$carrier</td>
<td>0</td>
<td>0</td>
<td><button data-value='$carrierid' class='btn btn-block btn-primary
commission-edit'>Edit Commissions</button>
</tr>";

}//end check if percentages exist


}//end loop through carriers

echo "</tbody></table>";
}

/**
*
*/
function updateCarrierCommissionModal() {
global $con;
$qry = $con->prepare("SELECT new_perc,renew_perc from carrier_commissions
where CarrierId = ?");
$qry->bind_param("s", $_POST['edit-commission']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($new, $renew);
$qry->fetch();
}else {
$new = 0;
$renew = 0;
}
$cid = $_POST['edit-commission'];
$response_array['data'] = "
<form class='form-horizontal' id='updCarrierCommission'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='hidden' class='form-control'
name='carrier-id' value='$cid'></input>
<div class='form-group'>
<div class='col-md-10 col-sm-10 col-xs-
10'>
<input type='number' class='form-control'
name='new_commission' value='$new' placeholder='New Business Commissions
Percentage'></input>
</div>
</div>
<div class='form-group'>
<div class='col-md-10 col-sm-10
col-xs-10'>
<input type='number' class='form-control'
name='renewal_commission' value='$new' placeholder='Renewal Business Commissions
Percentage'></input>
</div>
</div>
<button id='updateCommissionsButton' class='btn
btn-block btn-primary'>Update Commissions</button>
</form>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end updateCarrierCommissionModal

/**
*
*/
function updateCarrierCommissions() {
global $con;

$qry = $con->prepare("SELECT CarrierId from carrier_commissions where


CarrierId = ?");
$qry->bind_param("s", $_POST['carrier-id']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$upd = $con->prepare("UPDATE carrier_commissions set new_perc = ?,
renew_perc = ? where CarrierId = ?");
$upd->bind_param("sss", $_POST['new_commission'],
$_POST['renewal_commission'], $_POST['carrier-id']);
$upd->execute();
}else {
$ins = $con->prepare("INSERT INTO carrier_commissions
(new_perc,renew_perc,CarrierId) VALUES(?,?,?)");
$ins->bind_param("sss", $_POST['new_commission'],
$_POST['renewal_commission'], $_POST['carrier-id']);
$ins->execute();
}

if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "ERROR " . $con->error;
echo json_encode($response_array);
}//end check if successful

/**
*
*/
function getTaskHistory() {
global $con;
$qry = $con->prepare("SELECT ContactId from agency_contacts where id = ?");
$qry->bind_param("s", $_POST['get-task-history']);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId);
$qry->fetch();
$qry = $con->prepare("SELECT user_id, assigned_by, description, task_status,
due_date, task_notes, dismissed_by, dismissed_date, a.Priority from tasks a where
a.ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$response_array['data'] = "<div class='col-wrapper col-lg-12 col-md-12 col-
sm-12 col-xs-12'>";

if ($qry->num_rows > 0) {
//found stuff to show
$qry->bind_result($ato, $aby, $desc, $status, $due, $notes, $dby,
$ddate, $priority);
$response_array['data'] .= '

<table class="table table-striped table-bordered dataTable no-footer" id="contact-


task-table">

<thead>

<tr>

<th>Assigned To</th>

<th>Assigned By</th>
<th>Description</th>

<th>Due Date</th>

<th>Priority</th>

<th>Status</th>

<th>Completed Date</th>

<th>Completion Notes</th>

</thead>
<tbody>';

while ($qry->fetch()) {
if ($status !== 'Complete') {
$ddate = '';
}
if ($dby != '') {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry2->bind_param("s", $dby);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($dismissed_by);
$qry2->fetch();
}//get name of person that dismissed the task
$qry3 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry3->bind_param("s", $ato);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($assigned_to);
$qry3->fetch();
$qry4 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as
dismissed_by from users_table where user_id = ?");
$qry4->bind_param("s", $aby);
$qry4->execute();
$qry4->store_result();
$qry4->bind_result($assigned_by);
$qry4->fetch();
$response_array['data'] .= "
<tr>

<td>$assigned_to</td>

<td>$assigned_by</td>

<td>$desc</td>

<td>$due</td>

<td>$priority</td>

<td>$status</td>

<td>$ddate</td>
<td>$notes</td>

</tr>";

}//loop through rows

$response_array['data'] .= "</tbody></table>";

}else {
//nothing to show

$response_array['data'] .= "<h2>Nothing to see here</h2>";

}
$response_array['data'] .= "</div>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getTaskHistory

/**
*
*/
function getAQRLeadsQuoted() {
global $con, $con_qr;

$qry = $con->prepare("select
contact_id,correlation_lead_id,fname,lname,policy_number,sent_date,agency_contacts.
ContactId from aqr_quotes,agency_contacts where sent_date > DATE_SUB(NOW(),
INTERVAL 30 DAY) and contact_id = agency_contacts.id group by policy_number ORDER
BY sent_date asc");
$qry->execute();
$qry->store_result();
$qry->bind_result($cid, $corid, $fname, $lname, $pnum, $sdate, $ContactId);

echo '

<table class="table table-striped table-bordered dataTable no-footer" id="aqr-


leads-submitted">

<thead>

<tr>

<th>Detail</th>

<th>Lead Name</th>

<th>Policy Number</th>

<th>Line of Business</th>
<th>Expiration Date

<th>Number of Quotes Submitted</th>

<th>Sent for Quoting</th>

</thead>

<tbody>';

while ($qry->fetch()) {
$sdate = date("F j, Y, g:i a", strtotime($sdate));
$pqry = $con->prepare("SELECT PolicyId,line_of_business,exp_date from
policies where policy_number = ?");
$pqry->bind_param("s", $pnum);
$pqry->execute();
$pqry->store_result();
$pqry->bind_result($pid, $lob, $exp_date);
$pqry->fetch();

$qry2 = $con->prepare("SELECT count(*) from aqr_quotes where


policy_number = ? and contact_id = ? and sent_date > DATE_SUB(NOW(), INTERVAL 30
DAY)");
$qry2->bind_param("ss", $pnum, $cid);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($numq);
$qry2->fetch();

echo "
<tr
data-value='$pid|$lob'>

<td class='details-control'></td>

<td><a href='#' id='contact_info' data-value='$ContactId'>$fname


$lname</a></td>

<td><a href='#' id='policy_info' data-value='$pid'>$pnum</a></td>

<td>$lob</th>

<td>$exp_date</td>

<td>$numq</td>

<td>$sdate</td>

</tr>";

}//end loop through contacts submitted

echo "</tbody>
</table>
";
}//getAQRLeadsQuoted

/**
*
*/
function getLeadAQRInfo() {
global $con, $con_qr, $con_adm;
$counter = 0;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$exp = explode("|", $_POST['get-lead-aqr-info']);
$pid = $exp[0];
$lob = $exp[1];
$corqry = $con->prepare("SELECT correlation_lead_id from agency_contacts
where ContactId in (select ContactId from policies where PolicyId = ?)");
$corqry->bind_param("s", $pid);
$corqry->execute();
$corqry->store_result();
$corqry->bind_result($ldid);
$corqry->fetch();

$curqry = $con->prepare("SELECT carrier,policy_premium from policies where


PolicyId = ?");
$curqry->bind_param("s", $pid);
$curqry->execute();
$curqry->store_result();
$curqry->bind_result($csite, $cprem);
$curqry->fetch();

if ($dbname !== '') {


$qry2 = $con_qr->prepare("SELECT
rq.SiteName,pq.QuoteDate,rq.Id,pq.Id,rq.Status,CAST(REPLACE(REPLACE(IFNULL(rq.Premi
um,0),',',''),'$','') AS DECIMAL(10,2)) as
Premium,CoverageA,CoverageB,CoverageC,CoverageD,CoverageE,CoverageF from
$dbname.remotequote rq,$dbname.propertyquotes pq where rq.Lead_Id = ? and
rq.Property_Id = pq.Property_Id and rq.SiteName = pq.SiteName and
CAST(REPLACE(REPLACE(IFNULL(rq.Premium,0),',',''),'$','') AS DECIMAL(10,2)) =
pq.Premium and pq.Premium > 0 group by pq.Id");
$qry2->bind_param("s", $ldid);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($site, $qd, $rqid, $pqid, $status, $premium, $cova,
$covb, $covc, $covd, $cove, $covf);
while ($qry2->fetch()) {

$coverage_qry = $con_adm->prepare("select
Policy_CoverageType_Id,coverage,input_type from policy_coverage_types,policy_lob
where line_of_business = LOB_Id and lob = ? order by coverage asc");
$coverage_qry->bind_param("s", $lob);
$coverage_qry->execute();
$coverage_qry->store_result();
$coverage_qry->bind_result($pctid, $cov, $it);
while ($coverage_qry->fetch()) {

$covq = $con->prepare("SELECT Coverage from


policy_coverage_mapping where PolicyId = ? and Policy_CoverageTypeId = ?");
$covq->bind_param("ss", $pid, $pctid);
$covq->execute();
$covq->store_result();
if ($covq->num_rows > 0) {
$covq->bind_result($covamount);
$covq->fetch();
$response_array[$counter]['Current']["$cov"] =
"$covamount";

}else {

$response_array[$counter]['Current']["$cov"] = "Not
Found";

}//end check if an amount is already set

}//loop through coverages

$response_array[$counter]['Current']['Site'] = $csite;
$response_array[$counter]['Current']['Premium'] = $cprem;

$response_array[$counter]['Site'] = $site;
$response_array[$counter]['Status'] = $status;
$response_array[$counter]['Premium'] = $premium;
$response_array[$counter]['CoverageA'] = $cova;
$response_array[$counter]['CoverageB'] = $covb;
$response_array[$counter]['CoverageC'] = $covc;
$response_array[$counter]['CoverageD'] = $covd;
$response_array[$counter]['CoverageE'] = $cove;
$response_array[$counter]['CoverageF'] = $covf;

$counter++;

}//end loop through rows

header('Content-type: application/json');
echo json_encode($response_array);
}//found database for client
}//end getLeadQueueInfo

/**
*
*/
function getCarrierStats() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con_qr->prepare("SELECT Carrier,COUNT(*) as
num_quotes,Round(AVG(Premium),2) as avg_prem from qrpropertyquotes.propertyquote
Where QuoteDate > DATE_SUB(NOW(), INTERVAL ? DAY) and DatabaseName = ? GROUP BY
Carrier ORDER BY num_quotes desc,avg_prem asc,Carrier ASC");
$qry->bind_param("ss", $_POST['get-carrier-stats-history'], $dbname);
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier, $cnumq, $cap);

$response_array['data'] = "<table id='carrier-selected-table' class='table


table-sorting dataTable no-footer'>
<thead>
<tr>

<th>Carrier</th>
<th>Number
of Quotes</th>
<th>Average
Premium</th>
</tr>
</thead>
<tbody>";

while ($qry->fetch()) {
$response_array['data'] .=
"<tr><td>$carrier</td><td>$cnumq</td><td>$cap</td></tr>";
}

$response_array['data'] .= "</tbody></table><hr>

<div
role='tabpanel'>
<!-- Nav
tabs -->
<ul
class='nav nav-tabs nav-tabs-theme-3' role='tablist'>
<li
role='presentation' class='active'><a href='#home-5' aria-controls='home-5'
role='tab' data-toggle='tab'><i class='fa fa-home'></i><br><span class='hidden-xs
hidden-sm'>Lets Look at some stats!</span></a></li>
<li
role='presentation'><a href='#pieChart-5' aria-controls='pieChart-5'
id='pieChartTab' role='tab' data-toggle='tab'><i class='fa fa-user'></i><br><span
class='hidden-xs hidden-sm'>Pie</span></a></li>
<li
role='presentation'><a href='#map-5' aria-controls='maps-5' role='tab'
id='mapChartTab' data-toggle='tab'><i class='fa fa-comments'></i><br><span
class='hidden-xs hidden-sm'>Map</span></a></li>
</ul>
<!-- Tab
panes -->
<div
class='tab-content'>

<div role='tabpanel' class='tab-pane active' id='home-5'>

</div>

</div>

<div role='tabpanel' class='tab-pane' id='pieChart-5'>


<div class='loader-wrapper loader-
wrapper-1' id='loader-pie-1' style='display:none;'>
<div
class='spinner'>
<div
class='spinner-container container1'>
<div class='circle1'></div>

<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
<div
class='spinner-container container2'>

<div class='circle1'></div>

<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
<div
class='spinner-container container3'>

<div class='circle1'></div>

<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
</div>
</div>

</div>

<div role='tabpanel' class='tab-pane' id='map-5'>


<div class='loader-wrapper loader-
wrapper-1' id='loader-map-1' style='display:none;'>
<div
class='spinner'>
<div
class='spinner-container container1'>

<div class='circle1'></div>

<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
<div
class='spinner-container container2'>

<div class='circle1'></div>
<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
<div
class='spinner-container container3'>

<div class='circle1'></div>

<div class='circle2'></div>

<div class='circle3'></div>

<div class='circle4'></div>
</div>
</div>
</div>

</div>
</div>
</div>

";

$response_array['status'] = "Got Data";


header('Content-type: application/json');
echo json_encode($response_array);

}//end getCarrierStats

/**
*
*/
function getCarrierStatsPieChart() {
global $con, $con_qr;

$from = $_POST['piefromzip'];
$to = $_POST['pietozip'];
$carrier = $_POST['get-carrier-stats-pie'];

$response_array['data'] .= '<script>
am4core.useTheme(am4themes_animated);
// Themes end

am4core.useTheme(am4themes_animated);

/* Create chart */
var chart = am4core.create("piediv", am4charts.PieChart);

chart.data = [';

$qry = $con_qr->prepare("SELECT Carrier,COUNT(*) as


num_quotes,Round(AVG(Premium),2) as avg_prem from qrpropertyquotes.propertyquote
Where Zip BETWEEN ? and ? and Carrier like ? and QuoteDate > DATE_SUB(NOW(),
INTERVAL 30 DAY) GROUP BY Carrier ORDER BY num_quotes desc,avg_prem asc,Carrier
ASC");
$qry->bind_param("sss", $from, $to, $carrier);
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier, $cnumq, $cap);
$qry->fetch();

$qry6 = $con_qr->prepare("SELECT Round(AVG(Premium),2) as avg_prem,


Zip,DatabaseName,count(*) as num_quotes from qrpropertyquotes.propertyquote Where
Zip BETWEEN ? and ? and Carrier like ? and QuoteDate > DATE_SUB(NOW(), INTERVAL 30
DAY) GROUP BY DatabaseName order by DatabaseName,Zip ASC");
$qry6->bind_param("sss", $from, $to, $carrier);
$qry6->execute();
$carrier = $carrier;
$qry6->store_result();
$count = 1;
$numrows = $qry6->num_rows;
$qry6->bind_result($noccap, $zip, $dbname, $numquotes);

while ($qry6->fetch()) {

$aqry = $con_qr->prepare("SELECT AgencyName,Zip from quoterush.agencies


where DatabaseName = ? LIMIT 1");
$aqry->bind_param("s", $dbname);
$aqry->execute();
$aqry->store_result();
$aqry->bind_result($aname, $azip);
$aqry->fetch();

if ($count < $numrows) {

$response_array['data'] .= "{'agency': '$aname', 'quotes':


'$numquotes'},";

}else {

$response_array['data'] .= "{'agency': '$aname', 'quotes':


'$numquotes'}";

}
$count++;

}//end loop through qry6

$response_array['data'] .= '];

var series = chart.series.push(new am4charts.PieSeries());


series.dataFields.value = "quotes";
series.dataFields.category = "agency";

/* Disable labels */
series.labels.template.disabled = true;
series.ticks.template.disabled = true;

/* Create a legend */
chart.legend = new am4charts.Legend();
chart.legend.labels.template.text = "[bold]{category}[/] - {value}";
chart.legend.labels.template.fontSize = "10px";
var legendContainer = am4core.create("pielegenddiv", am4core.Container);
chart.legend.parent = legendContainer;
legendContainer.width = am4core.percent(100);
legendContainer.height = am4core.percent(100);

</script>
<div id="piediv" style="width: 100%; height: 400px"></div>
<div id="pielegenddiv"></div>

';

/**
*
*/
function getCarrierStatsMapChart() {
global $con, $con_qr, $base_dir;

echo '
<script>
am4core.ready(function() {

// Themes begin
am4core.useTheme(am4themes_animated);
// Themes end

// Create map instance


var chart = am4core.create("mapdiv", am4maps.MapChart);
chart.maxZoomLevel = 64;

// Set map definition


chart.geodata = am4geodata_usaLow;

// Set projection
chart.projection = new am4maps.projections.AlbersUsa();

// Add button
var zoomOut = chart.tooltipContainer.createChild(am4core.ZoomOutButton);
zoomOut.align = "right";
zoomOut.valign = "top";
zoomOut.margin(20, 20, 20, 20);
zoomOut.events.on("hit", function() {
if (currentSeries) {
currentSeries.hide();
}
zoomOut.hide();
currentSeries = regionalSeries.US.series;
currentSeries.show();
});
zoomOut.hide();

// Create map polygon series


var polygonSeries = chart.series.push(new am4maps.MapPolygonSeries());
polygonSeries.useGeodata = true;
polygonSeries.calculateVisualCenter = true;

// Configure series
var polygonTemplate = polygonSeries.mapPolygons.template;
polygonTemplate.tooltipText = "{name}";
polygonTemplate.fill = chart.colors.getIndex(0);

// Load data when map polygons are ready


chart.events.on("ready", loadStores);

// Loads store data';

$ts = date("Ymdhis");
$filename = "QuoteZips-$ts.json";
$count = 1;
file_put_contents($filename, '{"query_results":[', FILE_APPEND);
$qry6 = $con->prepare("SELECT fname,lname,address,city,state,zip,ContactId
from agency_contacts where address is not null and ContactId in (SELECT ContactId
from policies where policy_status = ?)");
$act = 'Active';
$qry6->bind_param("s", $act);
$qry6->execute();
$qry6->store_result();
$numrows = $qry6->num_rows;
$qry6->bind_result($fname, $lname, $address, $city, $state, $zip, $cid);

while ($qry6->fetch()) {
$rand = rand(1000, 9999);
$qry = $con->prepare("SELECT count(*) from policies where ContactId = ?
and policy_status = ?");
$qry->bind_param("ss", $cid, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($numquotes);
$qry->fetch();

$qry2 = $con->prepare("SELECT count(*) from policies where ContactId


= ? and policy_status = ? and exp_date < DATE_ADD(NOW(), INTERVAL 90 DAY)");
$qry2->bind_param("ss", $cid, $act);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($numexp);
$qry2->fetch();

$url = "https://maps.googleapis.com/maps/api/geocode/json?
key=AIzaSyDalhrJDLMPIBHsvMRtDe5vJt_j9c3se4c&address=";
$params = "$address $city,$state $zip";
$params = urlencode($params);
$url = $url . "$params";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Length: 0"
));
$response_body = curl_exec($ch); // Performs the Request, with
specified curl_setopt() options (if any).
$response_body = json_decode($response_body);
foreach ($response_body->results as $res) {
$lat = $res->geometry->location->lat;
$lon = $res->geometry->location->lng;
}
if (isset($lat) && isset($lon)) {
$name = $fname . ' ' . $lname;
if ($numquotes == '') {
$numquotes = 0;
}
if ($count < $numrows) {
$str = '';
$str = '{
"co_loc_n":"'.$name.'",
"CO_LOC_REF_I":"'.$rand.'",
"MAIL_ST_PROV_C":"'.$state.'",
"LNGTD_I":"'.$lon.'",
"LATTD_I":"'.$lat.'",
"mail_city_n":"'.$city.'",';
if ($numexp > 0) {
$str .= '
"fillColor":"#ffff00",';
}else {
$str .= '
"fillColor":"#fffff",';
}
$str .= '
"count":'.$numquotes.'
},';
file_put_contents($filename, $str, FILE_APPEND);
}else {
$str = '';
$str = '{
"co_loc_n":"'.$name.'",
"CO_LOC_REF_I":"'.$rand.'",
"MAIL_ST_PROV_C":"'.$state.'",
"LNGTD_I":"'.$lon.'",
"LATTD_I":"'.$lat.'",
"mail_city_n":"'.$city.'",';
if ($numexp > 0) {
$str .= '
"fillColor":"#ffff00",';
}else {
$str .= '
"fillColor":"#fff",';
}
$str .= '
"count":'.$numquotes.'
}';

file_put_contents($filename, $str, FILE_APPEND);


}
}
$count++;

}//end loop through qry6

file_put_contents($filename, ']}', FILE_APPEND);


echo '
function loadStores() {
var loader = new am4core.DataSource();
loader.url = "https://$base_dir.keepthemsmiling.com/functions/'.$filename.'";
loader.events.on("parseended", function(ev) {
setupStores(ev.target.data);
});
loader.load();
}

// Creates a series
function createSeries(heatfield) {
var series = chart.series.push(new am4maps.MapImageSeries());
series.dataFields.value = heatfield;
series.propertyFields.stroke = "fillColor";

var template = series.mapImages.template;


template.verticalCenter = "middle";
template.horizontalCenter = "middle";
template.propertyFields.latitude = "lat";
template.propertyFields.longitude = "long";
template.tooltipText = "{name}:\n[bold]{stores} [/]";
template.fill = "{fillColor}";

var circle = template.createChild(am4core.Circle);


circle.radius = 10;
circle.fillOpacity = 0.7;
circle.verticalCenter = "middle";
circle.horizontalCenter = "middle";
circle.nonScaling = true;

var label = template.createChild(am4core.Label);


label.text = "{stores}";
label.fill = am4core.color("#fff");
label.verticalCenter = "middle";
label.horizontalCenter = "middle";
label.nonScaling = true;

var heat = series.heatRules.push({


target: circle,
property: "radius",
min: 1,
max: 15
});

// Set up drill-down
series.mapImages.template.events.on("hit", function(ev) {

var data = ev.target.dataItem.dataContext;

// No id? Individual store - nothing to drill down to further


if (!data.target) {
return;
}

if (!regionalSeries[data.target].series) {
regionalSeries[data.target].series = createSeries("count");
regionalSeries[data.target].series.data = data.markerData;
}

// Hide current series


if (currentSeries) {
currentSeries.hide();
}

// Control zoom
if (data.type == "state") {
var statePolygon = polygonSeries.getPolygonById("US-" + data.state);
chart.zoomToMapObject(statePolygon);
}
else if (data.type == "city") {
chart.zoomToGeoPoint({
latitude: data.lat,
longitude: data.long
}, 64, true);
}
zoomOut.show();

// Show new targert series


currentSeries = regionalSeries[data.target].series;
currentSeries.show();
});

return series;
}

var regionalSeries = {};


var currentSeries;

function setupStores(data) {

// Init country-level series


regionalSeries.US = {
markerData: [],
series: createSeries("stores")
};

// Set current series


currentSeries = regionalSeries.US.series;

// Process data
am4core.array.each(data.query_results, function(store) {

// Get store data


var store = {
state: store.MAIL_ST_PROV_C,
long: am4core.type.toNumber(store.LNGTD_I),
lat: am4core.type.toNumber(store.LATTD_I),
location: store.co_loc_n,
city: store.mail_city_n,
count: am4core.type.toNumber(store.count),
fillColor: store.fillColor
};

// Process state-level data


if (regionalSeries[store.state] == undefined) {
var statePolygon = polygonSeries.getPolygonById("US-" + store.state);
if (statePolygon) {

// Add state data


regionalSeries[store.state] = {
target: store.state,
type: "state",
name: statePolygon.dataItem.dataContext.name,
count: store.count,
stores: 1,
lat: statePolygon.visualLatitude,
long: statePolygon.visualLongitude,
state: store.state,
markerData: []
};
regionalSeries.US.markerData.push(regionalSeries[store.state]);

}
else {
// State not found
return;
}
}
else {
regionalSeries[store.state].stores++;
regionalSeries[store.state].count += store.count;
}

// Process city-level data


if (regionalSeries[store.city] == undefined) {
regionalSeries[store.city] = {
target: store.city,
type: "city",
name: store.city,
count: store.count,
stores: store.count,
lat: store.lat,
long: store.long,
state: store.state,
markerData: []
};
regionalSeries[store.state].markerData.push(regionalSeries[store.city]);
}
else {
regionalSeries[store.city].stores++;
regionalSeries[store.city].count += store.count;
}

// Process individual store


regionalSeries[store.city].markerData.push({
name: store.location,
count: store.count + " Quotes",
stores: store.count,
lat: store.lat,
long: store.long,
state: store.state,
fillColor: store.fillColor
});
});

regionalSeries.US.series.data = regionalSeries.US.markerData;
}

}); // end am4core.ready()


/* Create a legend */
</script>
<div id="mapdiv" style="width: 100%; height: 400px"></div>
';

/**
*
*/
function hideContact() {
global $con;

$qry = $con->prepare("UPDATE agency_contacts set hidden = ? where ContactId =


?");
$hid = 1;
$qry->bind_param("ss", $hid, $_POST['hide-contact']);
$qry->execute();
if ($qry->affected_rows == 1) {

$response_array['status'] = "Got Data";


header('Content-type: application/json');
echo json_encode($response_array);
}else {

$response_array['status'] = "Failed";
header('Content-type: application/json');
echo json_encode($response_array);
}

}//end hideContact

/**
*
*/
function unhideContact() {
global $con;

$qry = $con->prepare("UPDATE agency_contacts set hidden = ? where ContactId =


?");
$hid = 0;
$qry->bind_param("ss", $hid, $_POST['un-hide-contact']);
$qry->execute();
if ($qry->affected_rows == 1) {

$response_array['status'] = "Got Data";


header('Content-type: application/json');
echo json_encode($response_array);
}else {

$response_array['status'] = "Failed";
header('Content-type: application/json');
echo json_encode($response_array);
}

}//end unhideContact

//Begin addClaimModal

/**
*
*/
function addClaimModal() {

global $con, $con_qr;


echo "<h3 style='text-align: center;'>Add New Claim</h3>";
echo "<form class='form-horizontal' id='new_claim_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>";
echo "<input type='text' class='form-control' id='claim_contact_assoc'
name='claim_contact_assoc' placeholder='Contact Associated with Claim'></input>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
echo "
<label class='control-label'>Claim Description</label>
<textarea class='form-control' name='claim_desc' id='claim_desc'></textarea>
<label class='control-label'>Catastrophic Loss?</label>
<input type='checkbox' class='bootstrap-switch form-control' id='cat_loss'
name='cat_loss'/><hr>
<label class='control-label'>Prior Residence?</label>
<input type='checkbox' class='bootstrap-switch form-control' id='prior_res'
name='prior_res'/><hr>";
$today = date("Y-m-d");
echo "<label for='claim_date'>Claim Date</label>
<input type='text' class='datepicker form-control' id='claim_date'
name='claim_date' min='$today' required />
<label class='control-label'>Claim Paid?</label>
<input type='checkbox' class='bootstrap-switch form-control'
id='claim_paid' name='claim_paid'/><hr>
<label class='control-label' id='paid-date-label'
style='display:none;'>Claim Paid Date</label>
<input type='text' class='datepicker form-control'
id='claim_paid_date' style='display:none;' name='claim_paid_date' min='$today'/>
<input type='text' class='form-control' name='claim_amount'
id='claim_amount' placeholder='Claim Amount 0.00' pattern='^\d+(\.)\d{2}$' data-
error='Please enter as 0.00 with no commas or dollar sign.'></input><hr>
<input type='text' class='form-control' name='claim_carrier'
id='claim_carrier' placeholder='Carrier for Claim'/>
";
echo '<button type="submit" class="btn btn-block btn-primary"
id="addClaimButton">Add Claim</button>
</form>';

echo '
<script type="text/javascript">
$(document).ready(function() {
$("input#claim_contact_assoc").autocomplete({
source: [';

if ($_SESSION['is_mgr'] == 'Yes') {
$result = $con->query("select concat(fname, ' ', lname) as name,
address, id from agency_contacts where (agency_id = '$agency_id' OR agency_id in
(SELECT agency_id from agency_globals WHERE mast_agency_id = '$agency_id')) and
hidden = 0");
}else {
$sql = "select concat(fname, ' ', lname) as name, address, id from
agency_contacts where (agency_id = '$agency_id' OR agency_id in (SELECT agency_id
from agency_globals WHERE mast_agency_id = '$agency_id')) and hidden = 0";

$priv_chk = $con->query("SELECT contact_id,option_id,option_value from


agency_lead_options,agency_lead_default_options where option_id in(select id from
agency_lead_default_options where option_name = 'Privacy') and agency_id =
'$agency_id' and option_id = agency_lead_default_options.id group by
option_value");
if (mysqli_num_rows($priv_chk) > 0) {
$row_priv = $priv_chk->fetch_assoc();
$option_name = $row_priv['option_value'];
if ($option_name == 'Agent Leads Only') {
$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id'))))";
}//end check for Agent Leads Only

if ($option_name == 'New Leads') {


$u_id = $_SESSION['uid'];
$sql.=" AND ContactId in ( select ContactId from
agency_contacts where ( assigned_to = '$u_id' OR assigned_to in (SELECT GroupId
from agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$u_id')) OR contact_status =
'Imported'))";
}
if ($option_name == 'All Leads') {
}
}// end check for privacy options

$result = $con->query($sql);

}//end check if MGR

$cnt_loop = 0;
$row_cnt = intval($result->num_rows);
while ($row = $result->fetch_assoc()) {
$name = addslashes($row['name']);
$name = preg_replace('/[^A-Za-z0-9 \-]/', '', $name);
$address = $row['address'];
$address = preg_replace('/[^A-Za-z0-9 \-]/', ' ', $address);
$contact_id = $row['id'];
$cnt_loop++;

if ($row_cnt <> $cnt_loop) {

echo "{ value: '$name - $address | $contact_id' },";


}else {

echo "{ value: '$name - $address | $contact_id' }";

}
}
echo ' ],
select: function (event, ui) {
}
});
});

$(".bootstrap-switch").bootstrapSwitch();

$(document).on("switchChange.bootstrapSwitch", "#claim_paid", function(event,


state) {

if(state == true){
$("#claim_paid_date").show();
$("#paid-date-label").show();

if(state == false){
$("#claim_paid_date").val("");
$("#claim_paid_date").hide();
$("#paid-date-label").hide();

});

</script>

';

}//End addClaimModal

/**
*
* @return unknown
*/
function addClaim() {
header('Content-type: application/json');
global $con;

$explode = explode(' | ', $_POST['claim_contact_assoc']);


if (isset($explode[1])) {
$contact_assoc = $explode[1];
}else {
$contact_assoc = $_POST['claim_contact_assoc'];
}
if ($_POST['cat_loss'] == 'on') {
$catloss = 1;
}else {
$catloss = 0;
}
if ($_POST['claim_paid'] == 'on') {
$cpaid = 1;
}else {
$cpaid = 0;
}

if ($_POST['prior_res'] == 'on') {
$pres = 1;
}else {
$pres = 0;
}
$cidqry = $con->prepare("SELECT ContactId from agency_contacts where id
= ?");
$cidqry->bind_param("s", $contact_assoc);
$cidqry->execute();
$cidqry->store_result();
$cidqry->bind_result($cid);
$cidqry->fetch();
$current_uid = $_SESSION['uid'];
if ($cpaid == 1) {
$insqry = $con->prepare("INSERT INTO
claims(ContactId,description,date_of_claim,claim_amount,carrier,cat,paid,paid_date,
prior_res) VALUES(?,?,?,?,?,?,?,?,?)");
$insqry->bind_param("sssssssss", $cid, $_POST['claim_desc'],
$_POST['claim_date'], $_POST['claim_amount'], $_POST['claim_carrier'], $catloss,
$cpaid, $_POST['claim_paid_date'], $pres);
}else {
$insqry = $con->prepare("INSERT INTO
claims(ContactId,description,date_of_claim,claim_amount,carrier,cat,paid,prior_res)
VALUES(?,?,?,?,?,?,?,?)");
$insqry->bind_param("ssssssss", $cid, $_POST['claim_desc'],
$_POST['claim_date'], $_POST['claim_amount'], $_POST['claim_carrier'], $catloss,
$cpaid, $pres);
}
$insqry->execute();
if (!$insqry) {

$response_array['status'] = "We were unable to add your task. If this


problem persists please contact your Administrator.";
$response_array['status_msg'] = $con->error;
echo json_encode($response_array);
return false;
}else {
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Added
Claim','$current_uid','lead_$contact_assoc')");
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}
} //End addClaim

/**
*
* @return unknown
*/
function markClaimPaid() {
global $con;
$qry = $con->prepare("UPDATE claims set paid = ?, paid_date = ? where Id
= ?");
$pd = date("Y-m-d H:i:s", strtotime($_POST['claim-paid-date']));
$paid = 1;
$qry->bind_param("sss", $paid, $pd, $_POST['mark-claim-paid']);
$qry->execute();
if (!$qry) {

return false;exit;
}else {

return true;exit;

}
}//end markClaimPaid

/**
*
*/
function getCurrentTemplateSelector() {
global $con;
$qry = $con->prepare("SELECT template_name,content,TemplateId from
message_templates order by template_name asc");
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
echo "
<label class='control-label'>Please select the template you would like to
edit</label>
<select
class='form-control' name='msg-temp-selector'>
<option
value=''>Please select a template</option>";
$qry->bind_result($tn, $con, $tid);
while ($qry->fetch()) {
echo "<option value='$tid'>$tn</option>";
}//end loop
echo "</select>";
//end check for template
}else {
echo "<h2>There are no current message templates to edit</h2>";

}
}//end getCurrentTemplateSelector
/**
*
*/
function addMessageTemplate() {
global $con;
$qry = $con->prepare("INSERT INTO
message_templates(template_name,content,template_type) VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new-msg-temp-name'], $_POST['new-msg-temp-
content'], $_POST['new-msg-temp-type']);
$qry->execute();
if ($qry) {
$response_array['status'] = 'Got Data';
}else {
$response_array['status'] = 'Failed';
$response_array['status_msg'] = $con->error;
}
header('Content-type: application/json');
echo json_encode($response_array);
}//end addMessageTemplate

/**
*
*/
function getMessageTemplates() {
global $con, $con_adm;
$response_array['data'] = '';
if (isset($_POST['check-msg-templates-count'])) {
$curr_num = intval($_POST['check-msg-templates-count']);
$next_num = $curr_num + 1;

$qry = $con_adm->prepare("SELECT task from


automation_workflow_module_tasks where module = ? order by task asc");
$qry->bind_param("s", $_POST['get-more-awf-tasks']);
$qry->execute();
$qry->store_result();
$qry->bind_result($mod);
$response_array['data'] .= "
<div class='form-group'>
<div class='col-md-
10 col-sm-10 col-xs-10 task-$next_num'>
<label
class='control-label'>What do you want to do?</label>
<select
class='form-control module-task-select' id='module-task-select[]' name='module-
task-select'>

<option value=''>Please Select the Action for this Workflow</option>";


while ($qry->fetch()) {
$response_array['data'] .= "<option value='$mod'>$mod</option>";
}//end loop through modules

$response_array['data'] .= "</select></div></div><button id='module-


task-select-add-$next_num' class='btn btn-primary module-task-select-add'>Add
Another Task</button><button class='btn btn-warning module-task-select-rem'
id='module-task-select-rem-$next_num' data-value='$next_num'>Remove this
Task</button>";
}else {
$next_num = 1;
if (isset($_POST['task-counter'])) {
$next_num = $_POST['task-counter'];
}
$qry = $con->prepare("SELECT template_name,TemplateId,content from
message_templates where template_type = ?");
$qry->bind_param("s", $_POST['check-msg-templates']);
$qry->execute();
$qry->store_result();
$response_array['data'] .= "<div class='col-md-10 col-sm-10 col-xs-10
task-$next_num'><h4>Task $next_num</h4><label class='control-label'>Message
Template</label><select class='form-control wf-task-selector' name='new-wf-msg-
template[]'><option value=''>Please select a template for this task</option>";
if ($qry->num_rows > 0) {
$qry->bind_result($tn, $tid, $content);
while ($qry->fetch()) {
$response_array['data'] .= "<option
value='$tid'>$tn</option>";
}
$response_array['data'] .= "</select>";

}else {
$response_array['data'] .= "</select>";
}//end check for templates
$response_array['data'] .= "<em>If Immediate, put zero in this box and
select Immediate in the next</em><input type='text' class='form-control' name='new-
wf-msg-template-timer[]' placeholder='Number of Days / Weeks / Minutes after
Trigger' /><br><label class='control-label'>Time Increment</label><select
class='form-control' name='new-wf-msg-template-timer-increment[]'><option
value=''></option><option value='Immediate'>Immediate</option><option
value='Minute'>Minutes</option><option value='Day'>Days</option><option
value='Week'>Weeks</option><option value='Month'>Months</option><option
value='Year'>Years</option></select>";
if (!isset($_POST['additional-wf-task'])) {
$response_array['data'] .= "<button id='module-task-select-add-
$next_num' class='btn btn-primary module-task-select-add'>Add Another
Task</button><button class='btn btn-warning module-task-select-rem' id='module-
task-select-rem-$next_num' data-value='$next_num'>Remove this
Task</button><hr></div>";
}//end check if this is the first task of an additional task
}
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end getMessageTemplates

/**
*
*/
function removeLinkedContact() {
global $con;

$qry = $con->prepare("DELETE from linked_contacts where Main_ContactId = ?


and Linked_ContactId = ?");
$qry->bind_param("ss", $_POST['main-contact'], $_POST['remove-linked-
contact']);
$qry->execute();
if ($qry) {

header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}//end check if successful

}//end removeLinkedContact

/**
*
*/
function linkContacts() {
global $con;

$exp = explode("|", $_POST['link_contact_assoc']);


$lcid = $exp[1];
$qry2 = $con->prepare("INSERT INTO
linked_contacts(Main_ContactId,Linked_ContactId) VALUES(?,?)");
$qry2->bind_param("ss", $_POST['main-linked-contact-assoc'], $lcid);
$qry2->execute();

if ($qry2) {

header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {

header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}//end check if successful

}//end linkContacts

/**
*
*/
function getFormFields() {
global $con, $con_adm;
$qry = $con->prepare("SELECT FieldName,FieldType,form_name from
ams_admin.misc_form_fields,ams_admin.misc_forms WHERE misc_forms.FormId = ? and
misc_forms.FormId = misc_form_fields.FormId and active = ? ORDER BY FieldOrder
ASC");
$act = 1;
$qry->bind_param("ss", $_POST['misc_form_mapping'], $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($fname, $ftype, $form_name);
if ($qry->num_rows > 0) {
$response_array['data'] = "<form class='form-horizontal'
id='misc_form_fill' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>";
while ($qry->fetch()) {
if ($ftype == "Text") {
$response_array['data'] .= "<div class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<input class='form-control'
type='text' id='$fname' name='$fname' placeholder='$fname' />
</div>
</div>";
}//text field
if ($ftype == "Choice") {
$response_array['data'] .= "<div class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<select
class='form-control' id='$fname' name='$fname'><option value=''>Please Select to
Check Value or Not for $fname</option><option value='1'>Yes</option><option
value='0'>No</option></select>
</div>
</div>";
}//text field
if ($ftype == "Date") {
$date = date("m-d-Y");
$response_array['data'] .= "<div class='form-group'>
<div class='col-md-
5 col-sm-5 col-xs-5'>
<input
class='form-control' type='text' id='$fname' name='$fname' placeholder='$fname'
value='$date' />
</div>
</div>";
}//text field
}//end loop through fields
$response_array['data'] .= "<input type='hidden' name='misc_form_name'
value='$form_name' /><input type='hidden' name='miscFormGenerate' value='true'
/><button class='btn btn-primary' id='submitMiscForm'>Generate Form</button>
</form>
<button class='btn btn-primary' id='miscFormReset'>Start Over</button>
<div id='generatedForm'></div>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//end getFormFields

/**
*
*/
function fillMiscForm() {
global $base_dir;
$fdf = '<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/">
<fields>';
foreach ($_POST as $key => $value) {
if ($key != 'miscFormGenerate' && $key != 'misc_form_name') {
$fdf .= "<field name='$key'>
<value>$value</value>
</field>";
}
}
$fdf .= "</fields>
</xfdf>";
$rand = date("Y-m-d-h-i-s");
$fdf_file = "/datadrive/html/$base_dir/forms/fdf/$rand.fdf.txt";
$form_name = $_POST['misc_form_name'];
$exp = explode('.', $form_name);
$basename = $exp[0];
$gen_name = $basename . "-$rand.pdf";
$final_form = "/datadrive/html/$base_dir/forms/generated_forms/$gen_name";
file_put_contents($fdf_file, $fdf);
shell_exec("pdftk /datadrive/html/$base_dir/forms/$form_name fill_form
$fdf_file output /datadrive/html/$base_dir/forms/generated_forms/$gen_name");
$response_array['data'] = "
<iframe
src='https://$base_dir.keepthemsmiling.com/forms/generated_forms/$gen_name'
width='100%' height='500px'></iframe>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end fillMiscForm

/**
*
*/
function addQuickNote() {
global $con;
$qry = $con->prepare("INSERT INTO
contact_notes(ContactId,agency_id,note_content,note_by,entry_ts)
VALUES(?,?,?,?,?)");
$entered = date("Y-m-d H:i:s");
$qry->bind_param("sssss", $_POST['quickNoteCID'], $_SESSION['agency_id'],
$_POST['quickNote'], $_SESSION['uid'], $entered);
$qry->execute();
$qry->store_result();
if ($con->insert_id != '') {
$response_array['nid'] = $con->insert_id;
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) from
users_table where user_id = ?");
$qry2->bind_param("s", $_SESSION['uid']);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($noteby);
$qry2->fetch();
$response_array['author'] = $noteby;
$entered = date("F j, Y g:i a", strtotime($entered));
$response_array['ndate'] = $entered;
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//end addQuickNote

/**
*
*/
function appendToContactNote() {
global $con;
$qry = $con->prepare("SELECT note_content from contact_notes where id = ?");
$qry->bind_param("s", $_POST['appendContactNote']);
$qry->execute();
$qry->store_result();
$qry->bind_result($curnote);
$qry->fetch();
$entered = date("Y-m-d H:i:s");
$entered = date("F j, Y g:i a", strtotime($entered));
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name from
users_table where user_id = ?");
$qry2->bind_param("s", $_SESSION['uid']);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();
$curnote .= "\n\nNote Appended By $name - $entered : \n" .
$_POST['appendContactNotes'];
$qry3 = $con->prepare("UPDATE contact_notes set note_content = ? where id
= ?");
$curnote = str_replace("\n", "<br>", $curnote);
$response_array['note'] = $curnote;
$qry3->bind_param("ss", $curnote, $_POST['appendContactNote']);
$qry3->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//appendToContactNote

function appendToTaskNote() {
global $con;
$qry = $con->prepare("SELECT task_notes from tasks where id = ?");
$qry->bind_param("s", $_POST['appendTaskNote']);
$qry->execute();
$qry->store_result();
$qry->bind_result($curnote);
$qry->fetch();
$entered = date("Y-m-d H:i:s");
$entered = date("F j, Y g:i a", strtotime($entered));
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name from
users_table where user_id = ?");
$qry2->bind_param("s", $_SESSION['uid']);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();
$curnote .= "\n\nNote Appended By $name - $entered : \n" .
$_POST['appendTaskNotes'];
$qry3 = $con->prepare("UPDATE tasks set task_notes = ? where id = ?");
$curnote = str_replace("\n", "<br>", $curnote);
$response_array['note'] = $curnote;
$qry3->bind_param("ss", $curnote, $_POST['appendTaskNote']);
$qry3->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//appendToContactNote

/**
*
*/
function appendToPolicyNote() {
global $con;
$qry = $con->prepare("SELECT note_content from policy_notes where id = ?");
$qry->bind_param("s", $_POST['appendPolicyNote']);
$qry->execute();
$qry->store_result();
$qry->bind_result($curnote);
$qry->fetch();
$entered = date("Y-m-d H:i:s");
$entered = date("F j, Y g:i a", strtotime($entered));
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name from
users_table where user_id = ?");
$qry2->bind_param("s", $_SESSION['uid']);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();
$curnote .= "\n\nNote Appended By $name - $entered : \n" .
$_POST['appendPolicyNotes'];
$qry3 = $con->prepare("UPDATE policy_notes set note_content = ? where id
= ?");
$curnote = str_replace("\n", "<br>", $curnote);
$qry3->bind_param("ss", $curnote, $_POST['appendPolicyNote']);
$qry3->execute();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
}//appendToPolicyNote

/**
*
*/
function addSubTaskModal() {
global $con, $con_qr, $con_adm;
$agency_id = $_SESSION['agency_id'];
$rd_qry = $con->prepare("SELECT fname,lname,user_id from users_table where
agency_id = ? order by lname asc");
$rd_qry->bind_param("s", $_SESSION['agency_id']);
$rd_qry->execute();
$rd_qry->store_result();
$rd_qry->bind_result($fname, $lname, $user_id);
$qry = $con->prepare("SELECT ContactId from tasks where id = ?");
$qry->bind_param("s", $_POST['add-sub-task']);
$pt = $_POST['add-sub-task'];
$qry->execute();
$qry->store_result();
$qry->bind_result($cid);
$qry->fetch();
$response_array['data'] = "<form class='form-horizontal'
id='new_sub_task_form' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>";
$response_array['data'] .= "<label for='task_assigned'>Assign Task
To</label>";
$response_array['data'] .= "<input type='hidden' name='sub-task-cid'
value='$cid'></input>";
$response_array['data'] .= "<input type='hidden' name='parent-task'
value='$pt'></input>";
$qry = $con_adm->prepare("SELECT Priority from ams_admin.task_priorities
where Active = ? ORDER BY Priority ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
$response_array['data'] .= "<select class='form-control'
name='task_priority'><option value=''>Please Select Priority</option>";
$qry->bind_result($priority);
while ($qry->fetch()) {
$response_array['data'] .= "<option
value='$priority'>$priority</option>";
}
$response_array['data'] .= "</select>
<select class='form-control' name='task_assigned'>
<option value=''>Please Select</option>";
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups
where agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$response_array['data'] .= "<option value='' disabled>----
GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
$response_array['data'] .= "<option
value='$GroupId'>$GroupName</option>";
}
}
$response_array['data'] .= "<option value=''
disabled>----USERS----</option>";
while ($rd_qry->fetch()) {
$count = 1;
$response_array['data'] .= " <option
value='$user_id'>$lname, $fname</option>";
$count++;
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->prepare("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = ? ");
$sub_query->bind_param("s", $_SESSION['agency_id']);
$sub_query->execute();
$sub_query->store_result();
if ($sub_query->num_rows > 0) {
$sub_query->bind_result($agency_name, $sub_id);
while ($sub_query->fetch()) {
$response_array['data'] .= "<option disabled>----
$agency_name----</option>";
$ld_qry = $con->prepare("SELECT concat(fname, ' ', lname)
as name, user_id from users_table where agency_id = ? order by lname asc");
$ld_qry->bind_param("s", $sub_id);
$ld_qry->execute();
$ld_qry->store_result();
if ($ld_qry->num_rows > 0) {
$ld_qry->bind_result($name, $agent_id);
while ($ld_qry->fetch()) {
$response_array['data'] .= "<option
value='$agent_id'>$name</option>";
}//end while
}//end check for sub users
}//sub agency while
}//end check for rows
}//end check if mgr

$response_array['data'] .= "</select>
<input type='text' class='form-control'
name='task_desc' id='task_desc' placeholder='Task Description'></input>";
$today = date("Y-m-d");
$response_array['data'] .= "<label for='task_date'>Due Date</label>
<input type='text' class='datepicker form-control'
id='task_date' name='task_date' min='$today' required />";
$response_array['data'] .= '<button type="submit" class="btn btn-block btn-
primary" id="addSubTaskButton">Add Task</button>
</form>';
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end addSubTaskModal

/**
*
*/
function getSubTasks() {
global $con;
$qry = $con->prepare("SELECT
a.description,a.due_date,a.id,a.contact_assoc,CONCAT(b.fname, ' ', b.lname) as
name, a.user_id, a.task_status, a.Priority from tasks as a,agency_contacts as b
where a.ContactId = b.ContactId and parent_task = ? order by due_date asc");
$qry->bind_param("s", $_POST['get_sub_tasks']);
$qry->execute();
$counter = 0;
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($desc, $dd, $id, $contact, $name, $assigned, $status,
$priority);
while ($qry->fetch()) {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ', lname) as name
from users_table where user_id = ?");
$qry2->bind_param("s", $assigned);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($assigned_to);
$qry2->fetch();
$response_array[$counter]['Owner'] = $assigned_to;
$response_array[$counter]['Status'] = $status;
$response_array[$counter]['Description'] = $desc;
$response_array[$counter]['Due'] = $dd;
$response_array[$counter]['Priority'] = $priority;
$counter++;
}//end loop through tasks
}//end check for sub tasks
header('Content-type: application/json');
echo json_encode($response_array);
}//end getSubTasks

/**
*
*/
function deleteFile() {
global $con;
$qry = $con->prepare("SELECT file_path from files where id = ?");
$qry->bind_param("s", $_POST['fid']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($path);
$qry->fetch();
$xplode = explode("/", $path);
$path = "../doc_storage/$xplode[5]/$xplode[6]/$xplode[7]/$xplode[8]";
$del = $con->prepare("DELETE from files where id = ?");
$del->bind_param("s", $_POST['fid']);
$del->execute();
unlink($path);
$user_id = $_SESSION['uid'];
$fid = $_POST['fid'];
$ins_audit = $con->query("INSERT into
audit(action,action_by,action_asset) VALUES('Deleted file
$xplode[8]','$user_id','file_$fid')");
}

}//end deleteFile

/**
*
*/
function sendFAX() {
global $con, $con_adm, $agency_url;

// Your Account SID and Auth Token from twilio.com/console

// Use the client to do fun stuff like send text messages!


$num = $_POST['to_fax'];
$qry = $con_adm->prepare("SELECT number from sms_stop where number like ?");
$lk = "%$num%";
$qry->bind_param("s", $lk);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {

header('Content-type: application/json');
$response_array['status'] = "This number has requested for messages to
STOP. If you believe this is in error please get an email from them with their
number in it that states they allow texts. You can send the email to
support@keepthemsmiling.com";
echo json_encode($response_array);

//DONT SEND
}else {
$qry = $con->prepare("SELECT twilio_number,AccountSID,AccountToken from
twilio_config WHERE Type = ?");
$t = 'Two-Way SMS';
$qry->bind_param("s", $t);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($tnum, $sid, $token);
$qry->fetch();
$num = preg_replace('/[^0-9]/', '', $num);
$num = '+1' . $num;
$client = new Client($sid, $token);
if (isset($_POST['fax-attachment']) && $_POST['fax-attachment'] !
= '') {
$mediaURL = $agency_url . $_POST['fax-attachment'];
$status = $client->fax->v1->faxes->create("$num",
"$mediaURL",
array('from' => "+$tnum")
);

}else {
header('Content-type: application/json');
$response_array['status'] = "Unable to send.";
echo json_encode($response_array);exit;
}
if ($status->status == 'queued') {
$qry2 = $con->prepare("INSERT INTO
fax_traffic(sent_by,sent_to,content,direction,MediaURL,ContactId)
VALUES(?,?,?,?,?,?)");
$qry2->bind_param("sssss", $_SESSION['uid'], $num, $msg,
$ob, $mediaURL, $_POST['fax_ContactId']);
$ob = 'OUTBOUND';
$qry2->execute();
$qry2->store_result();
$insid = $con->insert_id;
$sent = date("F j, Y g:i a");
$response_array['Direction'] = $ob;
$response_array['SentBy'] = $_SESSION['fname'];
$response_array['Message'] = $msg;
$response_array['SentOn'] = $sent;
$response_array['Media'] = $mediaURL;
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Unable to send.";
echo json_encode($response_array);exit;
}//end check if sent
}else {
header('Content-type: application/json');
$response_array['status'] = "You are not currently setup for FAX.
Please contact support if you would like to add on that module.";
echo json_encode($response_array);exit;
}

}//OK TO SEND

}//end sendFAX

/**
*
*/
function getFilterOptions() {
global $con;
$colOptions = "<select class='chosen form-control' id='reportCols'
name='reportCols[]' multiple='multiple' required><option value=''>Please Select the
Columns You Want</option>";
$qry = $con->prepare("SHOW COLUMNS FROM agency_contacts");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
$agency="<div class='col-lg-4 col-md-4 col-sm-4'><label class='control-label'
for='filterOptions'>Lead / Account</label><select class='form-control
filterOptions' name='filterOptions[]' id='lead-filter'><option value=''>Please
select a filter to add</option>";
while ($qry->fetch()) {
$agency.= "<option value='$column-agency_contacts' data-
value='$type'>$column</option>";
$colOptions .= "<option value='agency_contacts.$column'>Agency Contacts
- $column</option>";
} //end loop
$agency.= "</select></div>";
$qry = $con->prepare("SHOW COLUMNS FROM policies");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
$policies= "<div class='col-lg-4 col-md-4 col-sm-4'><label class='control-
label' for='filterOptions'>Policy</label><select class='form-control filterOptions'
name='filterOptions[]' id='policies-filter'><option value=''>Please select a filter
to add</option>";
while ($qry->fetch()) {
$policies.= "<option value='$column-policies' data-
value='$type'>$column</option>";
$colOptions .= "<option value='policies.$column'>Policies -
$column</option>";
} //end loop
$policies.= "</select></div>";

$qry = $con->prepare("SHOW COLUMNS FROM property_info");


$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
$properties= "<div class='col-lg-4 col-md-4 col-sm-4s'><label class='control-
label' for='filterOptions'>Policy Property</label><select class='form-control
filterOptions' name='filterOptions[]' id='property-filter'><option value=''>Please
select a filter to add</option>";
while ($qry->fetch()) {
$properties.= "<option value='$column-property_info' data-
value='$type'>$column</option>";
$colOptions .= "<option value='property_info.$column'>Policy Property -
$column</option>";
} //end loop
$properties.= "</select></div></div></div>";
$colOptions .= "</select>";
echo "<h3>Columns to Include in Report</h3><div class='col-lg-12 col-md-12
col-sm-12'>$colOptions</div>";
echo "</div>";
echo "<div class='row custom-filter'><h3>Filters</h3>";
echo $agency;
echo $policies;
echo $properties;
} //end getFilterOptions

function ScheduledReportOnOff()
{
global $con;
$report_id=$_POST['ScheduleReportOnOff'];
$scheduled=(int)$_POST['Onoff'];
$qry = $con->prepare("UPDATE saved_reports set scheduled = ? where
report_id = ?");
$qry->bind_param("is",$scheduled,$report_id);
$qry->execute();

if ($qry->affected_rows < 1)
{
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
else
{
header('Content-type: application/json');
$response_array['status'] ="Done";
echo json_encode($response_array);
}
}
function savedReport()
{
global $con, $base_dir;

if (isset($_POST['saved_report'])) {
if($_POST['report_id']=='false')
{

$qry = $con->prepare("INSERT into


saved_reports(report_name,created_by,agency_id) VALUES(?,?,?)");
$qry->bind_param("sis", $_POST['saved_report'], $_SESSION['uid'],
$_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$rid = $con->insert_id;
$password=base64_encode($_POST['email_password']);
$qry = $con->prepare("INSERT into
report_email_credentials(email_username,email_password,report_id,email_provider)
VALUES(?,?,?,?)");
$qry->bind_param("sssi",$_POST['email_username'],$password,$rid,
$_POST['emailProvider']);
$qry->execute();
$qry->store_result();
}
else
{
$rid=base64_decode($_POST['report_id']);
$password=base64_encode($_POST['email_password']);
$qry = $con->prepare("UPDATE saved_reports set report_name = ?,
created_by = ?,agency_id=? where id = ?");
$qry->bind_param("sisi",$_POST['saved_report'], $_SESSION['uid'],
$_SESSION['agency_id'],$rid);
$qry->execute();
$qry->store_result();
$qry = $con->prepare("UPDATE report_email_credentials set
email_username = ?, email_password = ?,email_provider=? where report_id = ?");
$qry->bind_param("ssis",$_POST['email_username'],$password,
$_POST['emailProvider'],$rid);
$qry->execute();
$qry->store_result();
}
if (isset($_POST['scheduled_frequency']) &&
$_POST['scheduled_frequency'] != '') {

$qry = $con->prepare("UPDATE saved_reports set scheduled = ?,


scheduled_day = ?, schedule_frequency
= ?,schedule_Time=?,email_to=?,additional_email=? where id = ?");

$sched = $_POST['scheduled_onOff'];
if ($_POST['scheduled_frequency'] == 'daily') {
$_POST['reportScheduledDay'] = 1;
}

$qry->bind_param("iissssi", $sched, $_POST['reportScheduledDay'],


$_POST['scheduled_frequency'],$_POST['scheduled_time'],$_POST['email_to'],
$_POST['additional_email'],$rid);
$qry->execute();
$qry->store_result();

$qry = $con->prepare("SELECT report_id from saved_reports where id


= ?");
$qry->bind_param("i", $rid);
$qry->execute();
$qry->store_result();
$qry->bind_result($report_id);
$qry->fetch();
}
$statusget = check_Saved_record($report_id,'report_columns');
if ($statusget == "1")
{
$getdeltestatus = delete_Saved_record($report_id,
'report_columns');
}
foreach ($_POST['reportCols'] as $col) {

if (isset($_POST['saved_report']) && isset($report_id)) {


$qry = $con->prepare("INSERT INTO report_columns(col,report_id)
VALUES(?,?)");
$qry->bind_param("ss", $col, $report_id);
$qry->execute();
}

}
$statusget = check_Saved_record($report_id,'report_filters');
if ($statusget == "1")
{
$getdeltestatus = delete_Saved_record($report_id,
'report_filters');
}
$statusget = check_Saved_record($report_id,'report_conditions');
if ($statusget == "1")
{
$getdeltestatus = delete_Saved_record($report_id,
'report_conditions');
}

$i=0;
foreach ($_POST as $key => $value) {
if ($key !== 'other' && $key !== 'saved_report' && $key !==
'scheduled_frequency' && $key !== 'scheduled_time' && $key !== 'email_to' && $key !
== 'reportCols' && $key !== 'additional_email' && $key !== 'reportScheduledDay' &&
$key !== 'emailProvider' && $key !== 'email_username' && $key !== 'email_password'
&& $key!=='AndOr'&& $key!=='report_id' && $key!=='scheduled_onOff') {
if (isset($_POST['saved_report']) && isset($report_id)) {

$qry = $con->prepare("INSERT INTO


report_filters(filter,filter_val,report_id) VALUES(?,?,?)");
$qry->bind_param("sss", $key, $value, $report_id);
$qry->execute();

}
if(isset($_POST['AndOr']))
{

$conditions=$_POST['AndOr'];
$qry = $con->prepare("INSERT INTO
report_conditions(conditions,report_id) VALUES(?,?)");
$qry->bind_param("ss", $conditions[$i], $report_id);
$qry->execute();

}
$i++;

}
$response_array['status'] = "SavedData";
header('Content-type: application/json');
echo json_encode($response_array);
}
function check_Saved_record($report_id, $table_name)
{
global $con;

$qry = $con->prepare("SELECT * FROM $table_name where report_id=? ");


$qry->bind_param("s", $report_id);
$qry->execute();
$qry=$qry->get_result();
if ($qry->num_rows > 0)
{
$recordexist = "1";
}
else
{
$recordexist = "0";
}
return $recordexist;
}
function delete_Saved_record($report_id, $table_name)
{
global $con;
$qry = $con->prepare("DELETE from $table_name where report_id=?");
$qry->bind_param('s', $report_id);
$qry->execute();

if ($qry->affected_rows < 1)
{
$deletestatus = "false";
}
else
{
$deletestatus = "true";
}
return $deletestatus;

/**
*
*/
function getTableData() {
global $con, $base_dir;
$cols = '';
$req['tables'] = '';
foreach ($_POST['reportCols'] as $col) {
$cols .= "$col, ";
$expt = explode('.', $col);
$table = $expt[0];
if (strpos($req['tables'], $table) === false) {
$req['tables'] .= "$table|";
}
}
$cols = rtrim($cols, ", ");
if(empty($cols))
{
$response_array['status'] = "Columns not include";
header('Content-type: application/json');
echo json_encode($response_array);
exit;
}
$sql = "SELECT $cols";
$filter = '';
$i=0;

foreach ($_POST as $key => $value) {


if ($key !== 'filterFormSubmit' && $key !== 'export' && $key !==
'exportList' && $key !== 'sendListToQR' && $key !== 'destination' && $key !==
'reportCols' && $key !== 'saveReport' && $key !== 'reportName' && $key !==
'reportScheduled' && $key !== 'reportScheduledDay' && $key !==
'reportScheduledFrequency' && $key!=='AndOr' && $key!=='filterFormSubmit_edit' &&
$key!=='sent_report' && $key!=='scheduled_onOff') {

$expt = explode("-", $key);

$conditions=$_POST['AndOr'];
$col = $expt[0];
$table = $expt[1];
if (strpos($req['tables'], $table) === false) {
$req['tables'] .= "$table|";
}

if ($value == 'Last7' || $value == 'Last30' || $value == 'Last60'


|| $value == 'Last90' || $value == 'Last365' || $value == 'Custom' || $value ==
'Next7' || $value == 'Next30' || $value == 'Next60' || $value == 'Next90' || $value
== 'Next365') {

if ($value == 'Custom') {
$d1 = date("Y-m-d", strtotime($_POST["$col-Date1"]));
$d2 = date("Y-m-d", strtotime($_POST["$col-Date2"]));
$filter .= "$col BETWEEN '$d1' AND '$d2'
$conditions[$i] ";
$i++;
}
if ($value == 'Last7' || $value == 'Last30' || $value ==
'Last60' || $value == 'Last90' || $value == 'Last365') {

$sub = str_replace("Last", "", $value);


$filter .= "$col BETWEEN DATE_SUB(NOW(), INTERVAL
$sub DAY) AND NOW() $conditions[$i] ";
$i++;
}
if ($value == 'Next7' || $value == 'Next30' || $value ==
'Next60' || $value == 'Next90' || $value == 'Next365') {
$sub = str_replace("Next", "", $value);
$filter .= "$col BETWEEN NOW() AND DATE_ADD(NOW(),
INTERVAL $sub DAY) $conditions[$i] ";
$i++;
}
}else {
if (strpos($value, "/") === false) {

$filter .= "$col like '%$value%' $conditions[$i] ";


$i++;
}

} //end loop through variables

$filter = rtrim($filter, "and|or ");

if(empty($filter))
{
$response_array['status'] = "Filter not selected";
header('Content-type: application/json');
echo json_encode($response_array);
exit;
}
$req['tables'] = rtrim($req['tables'], "|");

$bldqry = $sql . " FROM ";


$exp = explode("|", $req['tables']);

$count = count($exp);
$ts = '';
$joiner = '';
if ($count > 1) {
foreach ($exp as $t) {
if ($t != 'Date1' && $t != 'Date2') {
$ts .= "$t,";
if (strpos($joiner, "$t.ContactId") === false) {
$joiner .= " AND agency_contacts.ContactId =
$t.ContactId";
}
}
}
if (strpos($ts, "agency_contacts") !== false) {
$ts = rtrim($ts, ",");
}else {
$ts .= "agency_contacts";
}
$bldqry = $bldqry . " $ts";
}else {
$bldqry = $bldqry . " " . $exp[0];
}
if ($joiner != '') {
$bldqry = $bldqry . " WHERE " . $filter . $joiner;
}else {
$bldqry = $bldqry . " WHERE " . $filter;
}
if (!isset($_POST['exportList']) && !isset($_POST['sendListToQR'])) {
$agency_id = $_SESSION['agency_id'];
$bldqry .= " AND (agency_contacts.agency_id = '$agency_id' OR
agency_contacts.agency_id in (SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id'))";
$bldqry .= " LIMIT 1000";
}

$qry = $con->prepare($bldqry);
if (!$qry) {
//echo $con->error;
//echo $bldqry;
exit;
}
$qry->execute();
$qry->store_result();
$numrows = $qry->num_rows;
$meta = $qry->result_metadata();

// This is the tricky bit dynamically creating an array of variables to use


// to bind the results
while ($field = $meta->fetch_field()) {
$var = $field->name;
$$var = null;
$fields[$var] = &$$var;
}

// Bind Results
call_user_func_array(array($qry, 'bind_result'), $fields);

// Fetch Results
$response_array['result'] = $results;

if (!isset($_POST['exportList']) && !isset($_POST['sendListToQR'])) {


if(isset($_POST['filterFormSubmit_edit']))
{
$sent_report=$_POST['sent_report'];
if($sent_report==1 || $sent_report=="1")
{
$checked="checked";
}
else
{
$checked="";
}

$edit='
<hr style="height:25px;border-
width:0;color:gray;background-color:#0d5d6f">
<div class="col-md-12 col-sm-12" id="search_result">
<h3>Search Results</h3></div>
<div id="export-save" class="col-md-12 col-sm-12" style="text-align: right;"><a
href="javascript:void(0);" id="exportList_edit" class="btn">Export this
result</a><a href="javascript:void(0);" id="edit_report" class="btn">Edit this
Report</a> <a href="javascript:void(0);" id="delete_report" class="btn">Delete this
Report</a>

<label class="switch col-md-12 col-sm-12" style="text-align: left;"


title="Report Schedule ON/OFF">
<input type="checkbox" id="scheduled_on_off" '.$checked.' title="dddd">
<span class="slider round"></span>
</label></div>
<div id="note" class="col-md-12 col-sm-12" style="text-align: right;color:
blue;">Note: Export file is a CSV file that can be Opened in Excel </div>
<table class="table table-striped table-bordered dataTable no-
footer" id="table-data_edit">
<thead>
<tr>';

}
else
{
$edit='
<hr style="height:25px;border-
width:0;color:gray;background-color:#0d5d6f">
<div class="col-md-12 col-sm-12" id="search_result">
<h3>Search Results</h3></div>
<div id="export-save" class="col-md-12 col-sm-12" style="text-align: right;"><a
href="javascript:void(0);" id="exportList" class="btn">Export this result</a><a
href="#Save-report-modal" class="btn" data-toggle="modal">Save this Report</a>
</div>
<div id="note" class="col-md-12 col-sm-12" style="text-align: right;color:
blue;">Note: Export file is a CSV file that can be Opened in Excel </div>
<table class="table table-striped table-bordered dataTable no-
footer" id="table-data">
<thead>
<tr>';
}
$response_array['data'] = $edit;
foreach ($_POST['reportCols'] as $col) {
$exp = explode('.', $col);
$col = $exp[1];
$response_array['data'] .= "<th>$col</th>";
}
$response_array['data'] .= '
</tr>
</thead>
<tbody>';
$i = 0;
while ($qry->fetch()) {
$results[$i] = array();
$response_array['data'] .= "<tr>";
foreach ($fields as $k => $v) {
$results[$i][$k] = $v;
$response_array['data'] .= "<td>$v</td>";
$i++;
}
$response_array['data'] .= "</tr>";
}

$response_array['data'] .= "</tbody></table>";
}
if (isset($_POST['exportList']) && !isset($_POST['sendListToQR'])) {
$d = date("Y-m-d");
$f = "exports/export-$d.csv";
$new_name=$f;
unlink($f);
foreach ($_POST['reportCols'] as $col) {
$exp = explode('.', $col);
file_put_contents($f, $exp[1] . "\t", FILE_APPEND);
}
file_put_contents($f, "\n", FILE_APPEND);
$i = 0;
while ($qry->fetch()) {
foreach ($fields as $k => $v) {
file_put_contents($f, "$v" . "\t", FILE_APPEND);
}
file_put_contents($f, "\n", FILE_APPEND);
}
chmod($f,0777);
$response_array['data'] = "<a href='functions/$f' target='_blank'
class='btn btn-primary' id='download_csv' style='color:#fff; display:none' download
>Download Export</a>";

$response_array['status'] = "Got Data";


header('Content-type: application/json');
echo json_encode($response_array);

}
if (!isset($_POST['exportList'])) {
$response_array['status'] = "Got Data";
header('Content-type: application/json');
echo json_encode($response_array);
}

} //end getTableData

/**
*
*/
function setRecentList() {
$_SESSION['RecentItems'] = $_POST['set-recent'];
}

/**
*
*/
function getProposalSettings() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT AgencyId from agency_globals where agency_id
= ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($aid);
$qry->fetch();
$qry = $con_adm->prepare("SELECT a.ProductName,a.ProductId,a.Price,b.Quantity
from products a, agency_product_mapping b where b.AgencyId = ? and a.ProductId =
b.ProductId and a.ProductName = ? ");
$pn = "SendGrid Integration";
$qry->bind_param("ss", $aid, $pn);
$qry->execute();
$qry->store_result();
echo '<div id="sales-info" style="display:flex;" align="center">';
if ($qry->num_rows > 0) {
//SENDGRID INTEGRATION
$hasint = 1;
$_SESSION['has_sendgrid'] = 'Yes';
$qry2 = $con->prepare("SELECT word from sendgrid_info");
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">SendGrid Integration<p class="item-figure text-


success">Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="SendGrid Integration">Remove Product</button>

</div>

';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">SendGrid Integration<p class="item-figure text-danger">In-


Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="SendGrid Integration">Remove Product</button>

</div>
';
}
}else {
//DOES NOT HAVE INTEGRATION
echo "

<div class='item price-1 col-md-4 col-sm-4 col-xs-4 text-center'>

<div class='item-inner'>

<div class='heading'>

<h3 class='item-title'>$pn</h3>

<p class='price-figure'><span class='price-figure-inner'><span


class='currency'>$</span><span class='number'>35</span>
<br><span class='unit'>Per Month</span></span>

</p>

</div>

<div class='content'>

<ul class='list-unstyled feature-list'>

<li><span class='pe-icon pe-7s-portfolio pe-2x pe-va'></span>Integration with


SendGrid Automation</li>

<li><span class='pe-icon pe-7s-users pe-2x pe-va'></span>Automate Drip Campaigns to


Clients</li>

</ul>

<button type='button' class='btn btn-primary btn-block addProduct' data-


value='SendGrid Integration'>Add Product</button>

</div>

</div>

</div>
";

}
$qry = $con_adm->prepare("SELECT a.ProductName,a.ProductId,a.Price,b.Quantity
from products a, agency_product_mapping b where b.AgencyId = ? and a.ProductId =
b.ProductId and a.ProductName = ? ");
$pn = "SMS Integration";
$qry->bind_param("ss", $aid, $pn);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
//SMS Integration
$hasint = 1;
$_SESSION['has_sms'] = 'Yes';
$qry2 = $con->prepare("SELECT twilio_number from twilio_config");
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">SMS Integration<p class="item-figure


text-success">Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="SMS Integration">Remove Product</button>

</div>
';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">SMS Integration<p class="item-figure text-danger">In-


Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="SMS Integration">Remove Product</button>

</div>
';
}

}else {
//DOES NOT HAVE INTEGRATION
echo "

<div class='item price-1 col-md-4 col-sm-4 col-xs-4 text-center'>

<div class='item-inner'>

<div class='heading'>

<h3 class='item-title'>$pn</h3>

<p class='price-figure'><span class='price-figure-inner'><span


class='currency'>$</span><span class='number'>25</span>

<br><span class='unit'>Per Month</span></span>

</p>

</div>

<div class='content'>

<ul class='list-unstyled feature-list'>

<li><span class='pe-icon pe-7s-portfolio pe-2x pe-va'></span>Communicate with


Clients via SMS/MMS (Two-Way)</li>

<li><span class='pe-icon pe-7s-users pe-2x pe-va'></span>Automate Drip Campaigns to


Clients</li>

</ul>

<button type='button' class='btn btn-primary btn-block addProduct' data-value='SMS


Integration'>Add Product</button>

</div>

</div>

</div>
";
}

$qry = $con_adm->prepare("SELECT a.ProductName,a.ProductId,a.Price,b.Quantity


from products a, agency_product_mapping b where b.AgencyId = ? and a.ProductId =
b.ProductId and a.ProductName = ? ");
$pn = "QuoteRUSH Integration";
$qry->bind_param("ss", $aid, $pn);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
//QuoteRUSH INTEGRATION
$hasint = 1;
$_SESSION['has_qr'] = 'Yes';
$qry2 = $con->prepare("SELECT ip_id from agency_integrations where
integration_company_id = 1 and agency_id = ?");
$qry2->bind_param("s", $_SESSION['agency_id']);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">QuoteRUSH Integration<p class="item-figure text-


success">Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="QuoteRUSH Integration">Remove Product</button>

</div>

';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">

<h5 class="item-title">QuoteRUSH Integration<p class="item-figure text-danger">In-


Active</p></h5>

<button type="button" class="btn btn-danger btn-block removeProduct" data-


value="QuoteRUSH Integration">Remove Product</button>

</div>
';
}

}else {
//DOES NOT HAVE INTEGRATION
echo "

<div class='item price-1 col-md-4 col-sm-4 col-xs-4 text-center'>

<div class='item-inner'>

<div class='heading'>

<h3 class='item-title'>$pn</h3>

<p class='price-figure'><span class='price-figure-inner'><span


class='currency'>$</span><span class='number'>10</span>
<br><span class='unit'>Per Month</span></span>

</p>

</div>

<div class='content'>

<ul class='list-unstyled feature-list'>

<li><span class='pe-icon pe-7s-portfolio pe-2x pe-va'></span>Keep Leads in Sync


with QuoteRUSH (Two-Way)</li>

<li><span class='pe-icon pe-7s-users pe-2x pe-va'></span>View QuoteRUSH Info in


KTS</li>

</ul>

<button type='button' class='btn btn-primary btn-block addProduct' data-


value='QuoteRUSH Integration'>Add Product</button>

</div>

</div>

</div>
";

echo "</div>";

}//end getProposalSettings

/**
*
*/
function getProductSettings() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT AgencyId from agency_globals where agency_id
= ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($aid);
$qry->fetch();
$qry = $con_adm->prepare("SELECT a.ProductName,a.ProductId,a.Price,b.Quantity
from products a, agency_product_mapping b where b.AgencyId = ? and a.ProductId =
b.ProductId");
$qry->bind_param("s", $aid);
$qry->execute();
$qry->store_result();
$mtotal = 0;
$qry->bind_result($pname, $pid, $price, $qty);
echo "<table class='table table-striped' id='product-table'>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Quantity</th>
<th>Total</th>
<th>Update Product</th>
</tr>
</thead>
<tbody>";
while ($qry->fetch()) {
$total = $qty * $price;
$mtotal = $mtotal + $total;
$total = '$' . number_format($total);
echo "<tr>
<td>$pname</td>
<td>$price</td>
<td>$qty</td>
<td>$total</td>
<td><button id='updateProduct-$pid' data-value='$pid' class='btn
btn-block btn-primary updateProduct'>Update Product</button></td>
</tr>";
}//end loop through product mappings
$mtotal = '$' . number_format($mtotal);
echo "<tr>
<td></td>
<td></td>
<td>Total</td>
<td>$mtotal</td>
<td></td>
</tr>";
echo "</tbody>
</table";
}//end getProductSettings

/**
*
*/
function updateFileCategory() {
global $con;
$qry = $con->prepare("UPDATE files set category = ? where id = ?");
$exp = explode("|", $_POST['upd-file-category']);
$cat = $exp[1];
$fid = $exp[0];
$qry->bind_param("si", $cat, $fid);
$qry->execute();
$qry->store_result();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end updateFileCategory

/**
*
*/
function updateFileDescription() {
global $con;
$qry = $con->prepare("UPDATE files set description = ? where id = ?");
$qry->bind_param("si", $_POST['upd-file-desc'], $_POST['upd-file-desc-id']);
$qry->execute();
$qry->store_result();
if ($con->affected_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end updateFileDescription

/**
*
*/
function convertDate() {
$response_array['data'] = date("Y-m-d", strtotime($_POST['convert-date']));
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}

/**
*
*/
function getViewSelector() {
global $con_adm, $con;
$qry = $con_adm->prepare("SELECT Id,ViewName from ams_admin.global_views
where Active = ? order by ViewName ASC");
$act = 1;
$qry->bind_param("i", $act);
$qry->execute();
$qry->store_result();
echo "<div class='row'>
<div class='col-md-12 select-view'>
<div class='col-md-6 col-sm-6 buttons-for-edit'>
<a href='create-dashboard.php' class='btn btn-
primary'>
<i class='fa fa-plus' aria-hidden='true'></i>
Create <span class='nav-label'>DashBoard</span>
</a>
<a href='edit-dashboard.php' class='btn btn-primary'>
<i class='fa fa-pencil' aria-hidden='true'></i>
Edit <span class='nav-label'>DashBoard</span>
</a>
</div>
<div class='col-md-6 col-sm-6 select-view-opt'>
<select class='form-control' id='global-view-
selector'><option value=''>Please Select View to Change to</option>";
$qry->bind_result($vid, $vn);
while ($qry->fetch()) {
if ($vn == 'Owner' && $_SESSION['is_owner'] ==
'Yes') {
echo "<option value='$vid'>$vn</option>";
}
if ($vn != 'Owner') {
echo "<option value='$vid'>$vn</option>";
}
}
echo "</select>
</div>
</div>
</div>";

}//end getViewSelector

/**
*
*/
function changeView() {
global $con, $con_adm, $base_dir;
$qry = $con_adm->prepare("SELECT ViewName from ams_admin.global_views where
Id = ?");
$qry->bind_param("i", $_POST['change-view']);
$qry->execute();
$qry->store_result();
$qry->bind_result($vn);
$qry->fetch();
$response_array['tlmodals'] = '';
$modalc = 0;
if ($vn == 'Owner') {
//START TOP LEFT
$response_array['tl'] = "
<div class='module-inner'>
<div class='module-
heading'>
<h3 class='module-
title'>To-Do List (Next 7 Days)</h3>
<ul class='actions
list-inline'>
<li><a
class='collapse-module' data-toggle='collapse' href='#content-activities' aria-
expanded='false' aria-controls='content-activities'><span aria-hidden='true'
class='icon arrow_carrot-up'></span></a></li>
<li><a
class='close-module' href='#'><span aria-hidden='true' class='icon
icon_close'></span></a></li>
</ul>
</div>
<div class='module-content
collapse in' id='content-activities'>
<div class='module-
content-inner'>

<div class='table-responsive'>

<table datatable='datatable' class='table table-hover


table-bordered table-striped display dataTable' id='mgr-task-table'>

<thead>

<tr>

<th>User</th>

<th>Past Due Tasks</th>

<th>High Priority Tasks (Next 7


Days)</th>

<th>Tasks Due (Next 7 Days)</th>

<th>Policies Expiring or Up For Renewal


(Next 7 Days)</th>

</tr>

</thead>

<tbody>";
$agency_id = $_SESSION['agency_id'];
$qry = $con->prepare("SELECT user_id,fname,lname from users_table WHERE
(agency_id = '$agency_id' OR agency_id in (SELECT agency_id from agency_globals
where mast_agency_id = '$agency_id')) ORDER BY lname ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($uid, $uf, $ul);
while ($qry->fetch()) {
$qry2 = $con->prepare("SELECT CONCAT(ac.fname, ' ', ac.lname, ' -
', ac.bname) as contact, t.description, t.due_date from agency_contacts ac, tasks t
where t.ContactId = ac.ContactId and t.due_date < NOW() and t.user_id = ? and
t.task_status = ? AND (ac.agency_id = '$agency_id' OR ac.agency_id in (SELECT
agency_id from agency_globals where mast_agency_id = '$agency_id'))");
$stat = 'Not Complete';
$qry2->bind_param("is", $uid, $stat);
$qry2->execute();
$qry2->store_result();
$numo = $qry2->num_rows;
$response_array['tl'] .= "<tr><td>$uf $ul</td>
<td><a href='#' class='modalToggle' data-
toggle='modal' data-target='pd-tasks-$modalc'>$numo</a></td>";
$response_array['tlmodals'] .= "<div class='modal fade' id='pd-
tasks-$modalc' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-
hidden='true' style='display: none;'>
<div class='modal-dialog'
style='min-width:50vw;'>
<div class='modal-
content'>
<div class='modal-
header'>
<button
type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-
hidden='true'>×</span></button>
<h4
class='modal-title' id='myModalLabel'>Past Due Tasks</h4>
</div>
<div class='modal-
body'><table class='table table-hover table-bordered table-striped display
dataTable popoverDT'><thead><tr><th>Contact</th><th>Description</th><th>Due</th></
thead><tbody>";
$qry2->bind_result($c, $desc, $due);
while ($qry2->fetch()) {
$response_array['tlmodals'] .= "<tr>
<td>$c</td>
<td>$desc</td>
<td>$due</td>
</tr>";
}
$response_array['tlmodals'] .= "</tbody></table></div>
<div class='modal-
footer'>
<button
type='button' class='btn btn-default-alt' data-dismiss='modal'>Close</button>
</div>
</div>
</div>
</div>";
$qry2 = $con->prepare("SELECT CONCAT(ac.fname, ' ', ac.lname, ' -
', ac.bname) as contact, t.description, t.due_date from agency_contacts ac, tasks t
where t.ContactId = ac.ContactId and t.due_date BETWEEN NOW() AND DATE_ADD(NOW(),
INTERVAL 7 DAY) and t.user_id = ? and t.task_status = ? and Priority IN(?,?) AND
(ac.agency_id = '$agency_id' OR ac.agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id'))");
$stat = 'Not Complete';
$p1 = 1;
$p2 = 2;
$qry2->bind_param("isss", $uid, $stat, $p1, $p2);
$qry2->execute();
$qry2->store_result();
$numo = $qry2->num_rows;
$response_array['tl'] .= "
<td><a href='#' class='modalToggle data-
toggle='modal' data-target='hp-tasks-$modalc'>$numo</a></td>";
$response_array['tlmodals'] .= "<div class='modal fade' id='hp-
tasks-$modalc' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-
hidden='true' style='display: none;'>
<div
class='modal-dialog' style='min-width:50vw;'>

<div class='modal-content'>

<div class='modal-header'>

<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span


aria-hidden='true'>×</span></button>
<h4 class='modal-title' id='myModalLabel'>High Priority Tasks</h4>

</div>

<div class='modal-body'><table class='table table-hover table-bordered table-


striped display dataTable
popoverDT'><thead><tr><th>Contact</th><th>Description</th><th>Due</th></
thead><tbody>";
$qry2->bind_result($c, $desc, $due);
while ($qry2->fetch()) {
$response_array['tlmodals'] .= "<tr>
<td>$c</td>
<td>$desc</td>
<td>$due</td>
</tr>";
}
$response_array['tlmodals'] .= "</tbody></table></div>

<div class='modal-footer'>

<button type='button' class='btn btn-default-alt'


data-dismiss='modal'>Close</button>

</div>

</div>
</div>
</div>";
$qry2 = $con->prepare("SELECT CONCAT(ac.fname, ' ', ac.lname, ' -
', ac.bname) as contact, t.description, t.due_date from agency_contacts ac, tasks t
where t.ContactId = ac.ContactId and t.due_date BETWEEN NOW() AND DATE_ADD(NOW(),
INTERVAL 7 DAY) and t.user_id = ? and t.task_status = ? and Priority NOT IN(?,?)
AND (ac.agency_id = '$agency_id' OR ac.agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id'))");
$stat = 'Not Complete';
$p1 = 1;
$p2 = 2;
$qry2->bind_param("isss", $uid, $stat, $p1, $p2);
$qry2->execute();
$qry2->store_result();
$numo = $qry2->num_rows;
$response_array['tl'] .= "
<td><a href='#' class='modalToggle
data-toggle='modal' data-target='td-tasks-$modalc'>$numo</a></td>";
$response_array['tlmodals'] .= "<div class='modal fade' id='td-
tasks-$modalc' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-
hidden='true' style='display: none;'>
<div
class='modal-dialog' style='min-width:50vw;'>

<div class='modal-content'>

<div class='modal-header'>

<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span


aria-hidden='true'>×</span></button>

<h4 class='modal-title' id='myModalLabel'>Tasks Due (Next 7 Days)</h4>


</div>

<div class='modal-body'><table class='table table-hover table-bordered table-


striped display dataTable
popoverDT'><thead><tr><th>Contact</th><th>Description</th><th>Due</th></
thead><tbody>";
$qry2->bind_result($c, $desc, $due);
while ($qry2->fetch()) {
$response_array['tlmodals'] .= "<tr>
<td>$c</td>
<td>$desc</td>
<td>$due</td>
</tr>";
}
$response_array['tlmodals'] .= "</tbody></table></div>

<div class='modal-footer'>

<button type='button' class='btn btn-default-alt'


data-dismiss='modal'>Close</button>

</div>

</div>
</div>
</div>";
$qry2 = $con->prepare("SELECT p.named_insured, p.policy_number,
p.line_of_business, p.exp_date, p.PolicyId from policies p where p.exp_date > NOW()
and p.exp_date < DATE_ADD(NOW(), INTERVAL 7 DAY) and p.agent in (SELECT
CONCAT(fname, ' ', lname) from users_table where user_id = ?) AND (p.agency_id =
'$agency_id' OR p.agency_id in (SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id'))");
$stat = 'Not Complete';
$p1 = 1;
$p2 = 2;
$qry2->bind_param("i", $uid);
$qry2->execute();
$qry2->store_result();
$numo = $qry2->num_rows;
$response_array['tl'] .= "
<td><a href='#' class='modalToggle
data-toggle='modal' data-target='u-policies-$modalc'>$numo</a></td>";
$response_array['tlmodals'] .= "<div class='modal fade' id='u-
policies-$modalc' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-
hidden='true' style='display: none;'>
<div
class='modal-dialog' style='min-width:50vw;'>

<div class='modal-content'>

<div class='modal-header'>

<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span


aria-hidden='true'>×</span></button>

<h4 class='modal-title' id='myModalLabel'>Policies Expiring or Up for Renewal (Next


7 Days)</h4>

</div>
<div class='modal-body'><table class='table table-hover table-bordered table-
striped display dataTable popoverDT'><thead><tr><th>Policy Number</th><th>Line of
Business</th><th>Named Insured</th><th>Expiration Date</th></thead><tbody>";
$qry2->bind_result($ni, $pnum, $lob, $exp, $PolicyId);
while ($qry2->fetch()) {
$response_array['tlmodals'] .= "<tr>
<td><a href='#'
id='policy_info' data-value='$PolicyId'><u>$pnum</u></a></td>
<td>$lob</td>
<td>$ni</td>
<td>$exp</td>
</tr>";
}
$response_array['tlmodals'] .= "</tbody></table></div>

<div class='modal-footer'>

<button type='button' class='btn btn-default-alt'


data-dismiss='modal'>Close</button>

</div>

</div>
</div>
</div>";
$modalc++;
}//end loop through users
$response_array['tl'] .= "</tbody></table>";
$fi = new FilesystemIterator("/datadrive/html/" . $base_dir . '/tmp/',
FilesystemIterator::SKIP_DOTS);
$count = iterator_count($fi);
$qry = $con->prepare("SELECT count(id) from agency_contacts where
last_modified > DATE_SUB(NOW(), INTERVAL 12 HOUR) AND (agency_contacts.agency_id =
'$agency_id' OR agency_contacts.agency_id in (SELECT agency_id from agency_globals
where mast_agency_id = '$agency_id'))");
$qry->execute();
$qry->store_result();
$qry->bind_result($lcount);
$qry->fetch();
$qry = $con->prepare("SELECT count(id) from contact_notes where
entry_ts > DATE_SUB(NOW(), INTERVAL 12 HOUR) AND (contact_notes.agency_id =
'$agency_id' OR contact_notes.agency_id in (SELECT agency_id from agency_globals
where mast_agency_id = '$agency_id')) Group By ContactId");
$qry->execute();
$qry->store_result();
$qry->bind_result($lcount2);
$qry->fetch();
$lcount = $lcount + $lcount2;
$qry = $con->prepare("SELECT count(id) from policies where
last_modified > DATE_SUB(NOW(), INTERVAL 12 HOUR) AND (policies.agency_id =
'$agency_id' OR policies.agency_id in (SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id'))");
$qry->execute();
$qry->store_result();
$qry->bind_result($pcount);
$qry->fetch();
$qry = $con->prepare("SELECT count(id) from policy_notes where entry_ts
> DATE_SUB(NOW(), INTERVAL 12 HOUR) AND (policy_notes.agency_id = '$agency_id' OR
policy_notes.agency_id in (SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id')) group by PolicyId");
$qry->execute();
$qry->store_result();
$qry->bind_result($pcount2);
$qry->fetch();
$pcount = $pcount + $pcount2;
$qry = $con->prepare("SELECT count(id) from deals where finished >
DATE_SUB(NOW(), INTERVAL 12 HOUR) AND (deals.agency_id = '$agency_id' OR
deals.agency_id in (SELECT agency_id from agency_globals where mast_agency_id =
'$agency_id'))");
$qry->execute();
$qry->store_result();
$qry->bind_result($dcount);
$qry->fetch();
$response_array['main'] = "
<div class='summary-
container'>
<div class='row'>
<div class='item
item-sessions col-md-3 col-sm-6 col-xs-12'>
<h4
class='item-title'><span aria-hidden='true' class='icon arrow_right-up btn-
primary'></span><span class='title-text'>Logged In Users</span></h4>
<p
class='item-figure text-theme'>$count</p>
</div>
<div class='item
item-unique-visitors col-md-3 col-sm-6 col-xs-12'>
<h4
class='item-title'><span aria-hidden='true' class='icon arrow_right-up btn-
success'></span><span class='title-text'>Leads Worked Today</span></h4>
<p
class='item-figure text-success'>$lcount</p>
</div>

<div class='item item-unique-visitors col-md-3 col-sm-6 col-xs-12'>

<h4 class='item-title'><span aria-hidden='true' class='icon arrow_right-up btn-


success'></span><span class='title-text'>Policies Worked Today</span></h4>

<p class='item-figure text-success'>$pcount</p>

</div>
<div class='item
item-bounce-rate col-md-3 col-sm-6 col-xs-12'>
<h4
class='item-title'><span aria-hidden='true' class='icon arrow_right-down btn-
warning'></span><span class='title-text'>Deals Closed</span></h4>
<p
class='item-figure text-warning'>$dcount</p>
</div>
</div>
</div>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
//END TOP LEFT
//MAIN VIEW
}//OWNER VIEW

if ($vn == 'Sales') {
//TOP LEFT
$response_array['tl'] = "
<div class='module-inner'>
<div class='module-
heading'>
<h3 class='module-
title'>To-Do List (Next 7 Days)</h3>
<ul class='actions
list-inline'>
<li><a
class='collapse-module' data-toggle='collapse' href='#content-activities' aria-
expanded='false' aria-controls='content-activities'><span aria-hidden='true'
class='icon arrow_carrot-up'></span></a></li>
<li><a
class='close-module' href='#'><span aria-hidden='true' class='icon
icon_close'></span></a></li>
</ul>
</div>
<div class='module-content
collapse in' id='content-activities'>
<div class='module-
content-inner'>

<div class='table-responsive'>

<table datatable='datatable' class='table table-hover table-bordered table-striped


display dataTable' id='mgr-task-table'>

<thead>

<tr>

<th>User</th>

<th>Past Due Tasks</th>

<th>High Priority Tasks (Next 7 Days)</th>

<th>Tasks Due (Next 7 Days)</th>

<th>Policies Expiring or Up For Renewal (Next 7 Days)</th>

</tr>

</thead>

<tbody>

</tbody>

</table>

</div>
</div>
</div>
</div>";
//END TOP LEFT

//MAIN

$response_array['main'] = "
<div class='col-wrapper col-lg-12 col-md-12 col-sm-12 col-xs-12'>
<div class='module-wrapper'>
<section class='module module-has-footer module-projects-overview
bottomSection'>
<div class='module-inner'>
<div class='module-content collapse in' id='content-
overview'>
<div class='module-content-inner' id='main-display'>
<div class='col-md-4 col-sm-4 col-xs-4'>
<canvas id='sales-chart' width='800'
height='450'></canvas>
<script>
var salesChart = new
Chart(document.getElementById('sales-chart'), {
type: 'bar',
data: {
labels: ['Sales Info'],
datasets: [
{
label: 'Active Deals',
backgroundColor:
['#3e95cd'],
data: [";
$qry = $con->prepare("SELECT count(id) from deals where ContactId in
(SELECT ContactId from agency_contacts where assigned_to = ?) and Status = ? AND
(deals.agency_id = '$agency_id' OR deals.agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id'))");
$comp = 'In Progress';
$qry->bind_param("is", $_SESSION['uid'], $comp);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_deals);
$qry->fetch();
$response_array['main'] .= "$num_deals]
},
{

label: 'Opportunities',

backgroundColor: ['#75c181'],

data: [";
$qry = $con->prepare("SELECT count(id) from deals where ContactId in
(SELECT ContactId from agency_contacts where assigned_to = ?) and Status LIKE ? AND
(deals.agency_id = '$agency_id' OR deals.agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id')) ");
$comp = 'Complete';
$qry->bind_param("is", $_SESSION['uid'], $comp);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_deals);
$qry->fetch();
$response_array['main'] .= "$num_deals]
},
{

label: 'Recently Lost',

backgroundColor: ['#FFCC00'],

data: [";
$qry = $con->prepare("SELECT count(id) from policies where ContactId in
(SELECT ContactId from agency_contacts where assigned_to = ?) and exp_date < NOW()
and exp_date > DATE_SUB(NOW(), INTERVAL 30 DAY) AND (policies.agency_id =
'$agency_id' OR policies.agency_id in (SELECT agency_id from agency_globals where
mast_agency_id = '$agency_id'))");
$comp = 'Complete';
$qry->bind_param("i", $_SESSION['uid']);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_ps);
$qry->fetch();
$qry = $con->prepare("SELECT count(id) from deals where status = ? and
won = ? and finished < NOW() and finished > DATE_SUB(NOW(), INTERVAL 30 DAY) AND
(deals.agency_id = '$agency_id' OR deals.agency_id in (SELECT agency_id from
agency_globals where mast_agency_id = '$agency_id'))");
$status = 'Cancelled';
$won = 0;
$qry->bind_param("si", $status, $won);
$qry->execute();
$qry->store_result();
$qry->bind_result($num_deals);
$qry->fetch();
$num_deals = $num_deals + $num_ps;

$response_array['main'] .= "$num_deals]
}
]
},
options: {
legend: { display: true },
title: {
display: true,
text: 'Sales Corner'
},
onClick: graphClickEvent,
scales: {
yAxes: [{
ticks: {
beginAtZero:
true
}
}]
}
}
});
function graphClickEvent(evt,
array){
var firstPoint =
salesChart.getElementAtEvent(evt)[0];

if (firstPoint) {
var label =
salesChart.data.labels[firstPoint._index];
var dLabel =
salesChart.data.datasets[firstPoint._datasetIndex].label;
var value =
salesChart.data.datasets[firstPoint._datasetIndex].data[firstPoint._index];
var url =
'functions/functions.php';
$.ajax({
type: 'POST',
url: url,
data: 'get-sales-chart-
info='+dLabel, // serializes the form's elements.
success:
function(data,result)
{
if ( data.status
== 'Got Data' ) {
$('#sales-
chart-info').html(data.data);
}
if ( data.status !
= 'Got Data' ) {

$.notify('Whoops! There was a problem getting that report. Please try again.',
{className: 'error',position:'top-center'});
}
}
});
}
}
</script>
</div>
<div class='col-md-8 col-sm-8 col-
xs-8 text-center justify-content-center' id='sales-chart-info'>
<h4>Select a stat from the chart to see
the details</h4>
</div>
</div>
<div class='row'>
</div>
</div>
</div>
</section>
</div>
</div>";

//END MAIN
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//SALES VIEW

if ($vn == 'CSR') {

}//CSR VIEW

if ($vn == 'Agent') {
}//Agent VIEW

}//end changeView

/**
*
*/
function getExpPolicyDashLoader() {

echo "<script>
$('#expiring-policies-table').DataTable( {
'order': [[ 1, 'asc' ]],
'columnDefs': [
{ 'type': 'date', 'targets': 1 }
]
} );
</script>";
}//end getExpPolicyDashLoader

/**
*
*/
function getMarketingFilterOptions() {
global $con;
$colOptions = "<select class='chosen form-control' id='marketingCols'
name='marketingCols[]' multiple><option value=''>Please Select the Columns You
Want</option>";
$qry = $con->prepare("SHOW COLUMNS FROM agency_contacts");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
echo "<div class='col-lg-3 col-md-3 col-sm-3'><label class='control-label'
for='marketingFilterOptions'>Lead / Account</label><select class='form-control
marketingFilterOptions' id='marketingFilterOptions[]'><option value=''>Please
select a filter to add</option>";
while ($qry->fetch()) {
echo "<option value='$column-agency_contacts' data-
value='$type'>$column</option>";
$colOptions .= "<option value='agency_contacts.$column'>Agency Contacts
- $column</option>";
} //end loop
echo "</select></div>";

$qry = $con->prepare("SHOW COLUMNS FROM policies");


$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
echo "<div class='col-lg-3 col-md-3 col-sm-3'><label class='control-label'
for='marketingFilterOptions'>Policy</label><select class='form-control
marketingFilterOptions' id='marketingFilterOptions[]'><option value=''>Please
select a filter to add</option>";
while ($qry->fetch()) {
echo "<option value='$column-policies'
data-value='$type'>$column</option>";
$colOptions .= "<option value='policies.$column'>Policies -
$column</option>";
} //end loop
echo "</select></div>";

$qry = $con->prepare("SHOW COLUMNS FROM property_info");


$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
echo "<div class='col-lg-3 col-md-3 col-sm-3'><label class='control-label'
for='marketingFilterOptions'>Policy Property</label><select class='form-control
marketingFilterOptions' id='marketingFilterOptions[]'><option value=''>Please
select a filter to add</option>";
while ($qry->fetch()) {
echo "<option value='$column-property_info' data-
value='$type'>$column</option>";
$colOptions .= "<option value='property_info.$column'>Policy Property -
$column</option>";
} //end loop
echo "</select></div></div>";
$colOptions .= "</select>";
echo "<hr><div class='justify-content-center text-center'><h4>Columns to
Include in Report</h4><div class='col-lg-6 col-md-6
col-sm-6'>$colOptions</div></div>";

} //end getFilterOptions

/**
*
*/
function getMarketingTableData() {
global $con, $base_dir;
$cols = '';
$req['tables'] = '';
foreach ($_POST['marketingCols'] as $col) {
$cols .= "$col, ";
$expt = explode('.', $col);
$table = $expt[0];
if (strpos($req['tables'], $table) === false) {
$req['tables'] .= "$table|";
}
}
$cols = rtrim($cols, ", ");
$sql = "SELECT $cols";
$filter = '';
foreach ($_POST as $key => $value) {
if ($key !== 'marketingFilterFormSubmit' && $key !== 'export' && $key !
== 'exportMarketingList' && $key !== 'sendListToSG' && $key !== 'destination' &&
$key !== 'marketingCols' && $key != 'marketingExportList') {
$expt = explode("-", $key);
$col = $expt[0];
$table = $expt[1];
if (strpos($req['tables'], $table) === false) {
$req['tables'] .= "$table|";
}
if (strpos($value, " - ") == true) {
$exp = explode(" - ", $value);
if (strpos($exp[0], "/") !== false) {
$var1 = date("Y-m-d", strtotime($exp[0]));
$var2 = date("Y-m-d", strtotime($exp[1]));
}else {
$var1 = $exp[0];
$var2 = $exp[1];
}
$filter .= "$col BETWEEN $var1 and $var2 AND ";
}
else {
if ($value == 'Last7' || $value == 'Last30' || $value ==
'Last60' || $value == 'Last90' || $value == 'Last365' || $value == 'Custom' ||
$value == 'Next7' || $value == 'Next30' || $value == 'Next60' || $value == 'Next90'
|| $value == 'Next365') {
if ($value == 'Custom') {
$d1 = date("Y-m-d", strtotime($_POST["$col-
Date1"]));
$d2 = date("Y-m-d", strtotime($_POST["$col-
Date2"]));
$filter .= "$col BETWEEN '$d1' AND '$d2' AND ";
}
if ($value == 'Last7' || $value == 'Last30' || $value
== 'Last60' || $value == 'Last90' || $value == 'Last365') {
$sub = str_replace("Last", "", $value);
$filter .= "$col BETWEEN DATE_SUB(NOW(),
INTERVAL $sub DAY) AND NOW() AND ";
}
if ($value == 'Next7' || $value == 'Next30' || $value
== 'Next60' || $value == 'Next90' || $value == 'Next365') {
$sub = str_replace("Next", "", $value);
$filter .= "$col BETWEEN NOW() AND
DATE_ADD(NOW(), INTERVAL $sub DAY) AND ";
}
}else {
if (strpos($value, "/") === false) {
$filter .= "$col like '%$value%' AND ";
}
}
}
}

} //end loop through variables


$filter = rtrim($filter, "AND ");
$req['tables'] = rtrim($req['tables'], "|");
$bldqry = $sql . " FROM ";
$exp = explode("|", $req['tables']);
$count = count($exp);
$ts = '';
$joiner = '';
if ($count > 1) {
foreach ($exp as $t) {
if ($t != 'Date1' && $t != 'Date2') {
$ts .= "$t,";
if (strpos($joiner, "$t.ContactId") === false) {
$joiner .= " AND agency_contacts.ContactId =
$t.ContactId";
}
}
}
if (strpos($ts, "agency_contacts") !== false) {
$ts = rtrim($ts, ",");
}else {
$ts .= "agency_contacts";
}
$bldqry = $bldqry . " $ts";
}else {
$bldqry = $bldqry . " " . $exp[0];
}
if ($joiner != '') {
$bldqry = $bldqry . " WHERE " . $filter . $joiner;
}else {
$bldqry = $bldqry . " WHERE " . $filter;
}
if (!isset($_POST['exportMarketingList']) && !isset($_POST['sendListToSG']))
{
$bldqry .= " AND agency_contacts.email NOT LIKE '' AND
agency_contacts.email IS NOT NULL LIMIT 1000";
}
$qry = $con->prepare($bldqry);
if (!$qry) {
echo $con->error;
echo $bldqry;
exit;
}
$qry->execute();
$qry->store_result();
$numrows = $qry->num_rows;
$meta = $qry->result_metadata();

// This is the tricky bit dynamically creating an array of variables to use


// to bind the results
while ($field = $meta->fetch_field()) {
$var = $field->name;
$$var = null;
$fields[$var] = &$$var;
}

// Bind Results
call_user_func_array(array($qry, 'bind_result'), $fields);

// Fetch Results
$response_array['result'] = $results;
if (!isset($_POST['exportMarketingList']) && !isset($_POST['sendListToSG']))
{
$response_array['data'] = '
<table class="table table-striped table-bordered dataTable no-
footer" id="table-data">
<thead>
<tr>';
foreach ($_POST['marketingCols'] as $col) {
$exp = explode('.', $col);
$col = $exp[1];
$response_array['data'] .= "<th>$col</th>";
}
$response_array['data'] .= '
</tr>
</thead>
<tbody>';
$i = 0;
while ($qry->fetch()) {
$results[$i] = array();
$response_array['data'] .= "<tr>";
foreach ($fields as $k => $v) {
$results[$i][$k] = $v;
$response_array['data'] .= "<td>$v</td>";
$i++;
}
$response_array['data'] .= "</tr>";
}

$response_array['data'] .= "</tbody></table>";
}
if (isset($_POST['exportMarketingList']) && !isset($_POST['sendListToSG'])) {
$d = date("Y-m-d");
$f = "exports/export-$d.txt";
unlink($f);
foreach ($_POST['marketingCols'] as $col) {
$exp = explode('.', $col);
file_put_contents($f, $exp[1] . "\t", FILE_APPEND);
}
file_put_contents($f, "\n", FILE_APPEND);
$i = 0;
while ($qry->fetch()) {
foreach ($fields as $k => $v) {
file_put_contents($f, "$v" . "\t", FILE_APPEND);
}
file_put_contents($f, "\n", FILE_APPEND);
}
$response_array['data'] = "<h4>This file is a text file meant to be
exported into Excel</h4><br><br><a href='functions/$f' target='_blank' class='btn
btn-primary' style='color:#fff;' download>Download Export</a>";
$response_array['status'] = "Got Data";
header('Content-type: application/json');
echo json_encode($response_array);

}
if (!isset($_POST['exportMarketingList'])) {
$response_array['status'] = "Got Data";
header('Content-type: application/json');
echo json_encode($response_array);
}

} //end getTableData

/**
*
*/
function checkForSGInt() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT AgencyId from ams_admin.agency_globals where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$sg = "e40663ef-a785-11ea-991f-000d3a7cbc3c";
if ($qry->num_rows > 0) {
$qry->bind_result($AgencyId);
$qry->fetch();
$qry = $con_adm->prepare("SELECT AgencyId from agency_product_mapping
where AgencyId = ? and ProductId = ?");
$qry->bind_param("ss", $AgencyId, $sg);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry = $con->prepare("SELECT login_name,word from sendgrid_info
where agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($LoginName, $LoginKey);
$qry->fetch();

$response_array['data'] = '<div class="col-md-4 col-sm-4"


id="campaignSettings"><div id="SGInfo"><label class="control-label">Campaign
Name</label><input type="text" name="campaignName" id="campaignName" class="form-
control"></input><label class="control-label" for="SGList">SendGrid
List</label><select class="form-control" name="SGList" id="SGList"><option
value="">Want to Add To SendGrid List?</option>';

//LETS SEE IF THERE ARE SENDGRID LISTS

$url = "https://api.sendgrid.com/v3/marketing/lists";
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer $LoginKey"
));

//So that curl_exec returns the contents of the cURL;


rather than echoing it
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//execute post
$result = curl_exec($ch);
$result_dec = json_decode($result);
foreach ($result_dec->result as $list) {
$lid = $list->id;
$liname = $list->name;
$response_array['data'] .= "<option
value='$lid'>$liname</option>";
}
$response_array['sg'] = $result_dec;
$response_array['data'] .= '

</select></div><div id="SGListCustomFields"></div></div>';

}else {
$response_array['data'] = "<div class='col-md-4 col-sm-4'
id='campaignSettings'>You have the SendGrid Module enabled but your SendGrid
account information has not been added. Place add it through Quick Tools in the top
right</div>";
}
$response_array['status'] = "Got Data";
header('Content-type: application/json');
echo json_encode($response_array);
}else {
$response_array['status'] = "Failed";
header('Content-type: application/json');
echo json_encode($response_array);
}
}else {
$response_array['data'] = "<div class='col-md-4 col-sm-4'
id='campaignSettings'>You will need to add the SendGrid Module to your account to
leverage Email Campaigns</div>";
$response_array['status'] = "Got Data";
header('Content-type: application/json');
echo json_encode($response_array);
}

}//end checkForSGInt

function getSingleSavedReport()
{
global $con;
$id =$_POST['getSpecificReport'];

$qry = $con->prepare("select * from saved_reports where report_id=?");


$qry->bind_param("s", $id);
$qry->execute();
$qry=$qry->get_result();
if ($qry->num_rows > 0)
{

while ($row = $qry->fetch_assoc())


{

$data['id']=base64_encode($row['id']);
$data['report_name'] = $row['report_name'];
$data['scheduled_day'] = $row['scheduled_day'];
$data['schedule_frequency'] = $row['schedule_frequency'];
$data['schedule_Time'] = $row['schedule_Time'];
$data['email_to'] = $row['email_to'];
$data['additional_email'] = $row['additional_email'];
$data['scheduled']=$row['scheduled'];

}
}
else
{
$data['response'] = "No data";

}
$report_id=base64_decode($data['id']);
$qry = $con->prepare("select * from report_email_credentials where
report_id=?");
$qry->bind_param("s", $report_id);
$qry->execute();
$qry=$qry->get_result();
if ($qry->num_rows > 0)
{
while ($row = $qry->fetch_assoc())
{
$data['email_provider'] = $row['email_provider'];
$data['email_password'] = base64_decode($row['email_password']);
$data['email_username'] = $row['email_username'];
}
}
else
{
$data['email_provider'] = "1";
$data['email_password'] = "";
$data['email_username'] = "";
}

header('Content-type: application/json');
echo json_encode($data);
}
/**
*
*/
function getSavedReports() {
global $con;
$qry = $con->prepare("SELECT report_name,report_id from saved_reports where
agency_id = ? order by report_name asc");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
echo "<label class='control-label' for='savedReportSelector'>Saved
Report</label><select class='form-control' name='savedReportSelector'
id='savedReportSelector' style='width: 100%'>";
if ($qry->num_rows > 0) {
$qry->bind_result($rn, $rid);
echo "<option value=''>Please Select Saved Report</option>";
while ($qry->fetch()) {
echo "<option value='$rid'>$rn</option>";
}
}else {
echo "<option value='' disabled>No saved reports</option>";
}
echo "</select>";
}//end getSavedReports

/**
*
*/
function getSavedReport() {
global $con;
$response_array['data'] = '';
$qry = $con->prepare("SELECT filter,filter_val from report_filters where
report_id = ?");
$qry->bind_param("s", $_POST['get-saved-report']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($filter, $filterval);
while ($qry->fetch()) {
$response_array['data'] .= "<input name='$filter'
value='$filterval' type='hidden'></input>";
}
$qry = $con->prepare("SELECT scheduled from saved_reports where
report_id = ?");
$qry->bind_param("s", $_POST['get-saved-report']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($scheduled);
while ($qry->fetch()) {
$response_array['data'] .= "<input type='hidden'
name='sent_report' id='sent_report' value='$scheduled'></input>";
}
}
$qry = $con->prepare("SELECT conditions from report_conditions where
report_id = ?");
$qry->bind_param("s", $_POST['get-saved-report']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($conditions);
while ($qry->fetch()) {
$response_array['data'] .= "<input type='hidden'
name='AndOr[]' value='$conditions'></input>";
}
}
$qry = $con->prepare("SELECT col from report_columns where report_id
= ?");
$qry->bind_param("s", $_POST['get-saved-report']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($col);
while ($qry->fetch()) {
$response_array['data'] .= "<input type='hidden'
name='reportCols[]' value='$col'></input>";
}
$response_array['data'] .= "<input type='hidden'
name='filterFormSubmit_edit' value='true'></input><button type='submit' class='btn
btn-primary' id='filterListButton_edit'>Search</button>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {

header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}//end getSavedReport
/**
*
*/
function getSalesChartInfo() {
global $con;
$sci = $_POST['get-sales-chart-info'];
if ($sci == 'Active Deals') {
$qry = $con->prepare("SELECT
id,lob,step,quote_id,started,wf_id,ContactId from deals where ContactId in (SELECT
ContactId from agency_contacts where assigned_to = ?) and Status LIKE ? ORDER BY
started asc");
$comp = 'In Progress';
$qry->bind_param("is", $_SESSION['uid'], $comp);
$qry->execute();
$qry->store_result();
$qry->bind_result($did, $lob, $step, $qid, $started, $wfid,
$ContactId);
$response_array['data'] = '';
while ($qry->fetch()) {
$qry3 = $con->prepare("select fname,lname from agency_contacts
where ContactId = ?");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($fname, $lname);
$qry3->fetch();
$response_array['data'] .= "<h4>$fname $lname - $lob</h4>";
$response_array['data'] .= "<ul id='progressbar'>";
$qry2 = $con->prepare("SELECT name,wf_order from workflow_steps
where wf_id = ? order by wf_order ASC");
$qry2->bind_param("i", $wfid);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($wfn, $wfs);
while ($qry2->fetch()) {
if ($wfs <= $step) {
$response_array['data'] .= "<li
class='active'>$wfn</li>";
}else {
$response_array['data'] .= "<li>$wfn</li>";
}
}
$response_array['data'] .= "</ul><button type='button' class='btn
btn-primary qr-access-deal' data-value='$did' data-type='$lob' data-qid='$qid'
data-cid='$ContactId' data-wfid='$wfid'>Access Deal</button><hr>";

}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//ACTIVE DEALS
if ($sci == 'Opportunities') {
$qry = $con->prepare("select agency_contacts.ContactId AS id,
agency_contacts.fname, agency_contacts.lname, count(policies.line_of_business) AS
policy_count from (agency_contacts join policies) where agency_contacts.ContactId =
policies.ContactId and policies.policy_status = ? GROUP BY agency_contacts.id
HAVING policy_count < 2");
$pstat = 'Active';
$qry->bind_param("s", $pstat);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId, $fname, $lname, $lobc);
$response_array['data'] = "<h4>Mono-Line Customers</h4>
<table class='table table-striped table-bordered dataTable no-footer'
id='mono-line-table-data'>
<thead>
<th>Customer Name</th>
<th>Current LOB</th>
<th>View More Info</th>
</thead>
<tbody>";

while ($qry->fetch()) {
$response_array['data'] .= "<tr>
<td>$fname $lname</td>";
$qry2 = $con->prepare("SELECT line_of_business,contact_id from
policies where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($clob, $contact_id);
$qry2->fetch();
$response_array['data'] .= "<td>$clob</td>
<td><a href='#' id='contact_info' data-
value='$ContactId'>View Account</a></td>
</tr>";
}
$response_array['data'] .= "</tbody>
</table>
<script>
$('#mono-line-table-data').DataTable( {
'order': [[ 1, 'asc' ]]
} );
</script>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//OPPORTUNITIES
if ($sci == 'Recently Lost') {

$qry = $con->prepare("select agency_contacts.ContactId AS id,


agency_contacts.fname, agency_contacts.lname, line_of_business, exp_date, carrier,
agency_contacts.id FROM (agency_contacts join policies) where
agency_contacts.ContactId = policies.ContactId and policies.exp_date < NOW() and
policies.exp_date > DATE_SUB(NOW(), INTERVAL 30 DAY) ");
$pstat = 'Active';
//$qry->bind_param("s", $pstat);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId, $fname, $lname, $lob, $exp_date,
$carrier, $contact_id);
$response_array['data'] = "<h4>Recently Expired Policies</h4>
<table class='table table-striped table-bordered dataTable no-
footer' id='recent-exp-table-data'>
<thead>
<th>Customer Name</th>
<th>Lost LOB</th>
<th>Carrier</th>
<th>Expiration Date</th>
<th>View More Info</th>
</thead>
<tbody>";

while ($qry->fetch()) {
$response_array['data'] .= "<tr>
<td>$fname $lname</td>
<td>$lob</td>
<td>$carrier</td>
<td>$exp_date</td>
<td><a href='#' id='contact_info'
data-value='$ContactId'>View Account</a></td>
</tr>";
}

$qry = $con->prepare("select agency_contacts.ContactId AS id,


agency_contacts.fname, agency_contacts.lname, type, finished, agency_contacts.id
FROM (agency_contacts join deals) where agency_contacts.ContactId = deals.ContactId
and deals.finished < NOW() and deals.finished > DATE_SUB(NOW(), INTERVAL 30 DAY)
and won = 0 and Status = 'Cancelled' ");
$pstat = 'Active';
//$qry->bind_param("s", $pstat);
$qry->execute();
$qry->store_result();
$qry->bind_result($ContactId, $fname, $lname, $lob, $exp_date,
$contact_id);
while ($qry->fetch()) {
$response_array['data'] .= "<tr>
<td>$fname $lname</td>
<td>$lob</td>
<td>Deal Lost - No Carrier</td>
<td>$exp_date</td>
<td><a href='#' id='contact_info'
data-value='$ContactId'>View Account</a></td>
</tr>";
}

$response_array['data'] .= "</tbody>
</table>
<script>
$('#recent-exp-table-data').DataTable( {
'order': [[ 1, 'asc' ]]
} );
</script>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//RECENTLY LOST
}//end getSalesChartInfo

/**
*
*/
function cancelDeal() {
global $con;
$qry = $con->prepare("UPDATE deals set finished = NOW(), status = ?, won = ?
where id = ?");
$won = 0;
$status = 'Cancelled';
$qry->bind_param("sii", $status, $won, $_POST['cancel-deal']);
$qry->execute();
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end cancelDeal

/**
*
*/
function fetchMarketingAudience() {
global $con;
$obj = $_POST['marketingObjective'];
if ($obj == 'clientRetention') {
if ($_POST['marketingType'] == 'SMS') {

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId in (SELECT ContactId from policies where policy_status = ?) LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($total);
$qry->fetch();

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId in (SELECT ContactId from policies where policy_status = ?) and phone IS
NOT NULL and phone not like '' and phone not like '%phone%' LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($potential);
$qry->fetch();

$qry = $con->prepare("SELECT
phone,phone_verified_mobile,ContactId from agency_contacts where ContactId in
(SELECT ContactId from policies where policy_status = ?) and phone IS NOT NULL and
phone not like '' and phone not like '%phone%' LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($phone, $ver, $ContactId);
$response_array['contacts'] = '';
$response_array['data'] = "<table class='table table-striped
table-bordered dataTable no-footer' id='potential-table-data'>
<thead>
<th>Customer Name</th>
<th>Phone</th>
<th>Current LOB's</th>
<th>Remove from Communication</th>
</thead>
<tbody>";
while ($qry->fetch()) {
if ($ver < 1) {
$phone = preg_replace('/[^0-9]/', '', $phone);
if ($phone != '' && strlen($phone) >= 10) {
$valid = quickValidatePhone($phone,
$ContactId);
$response_array['sent'] = "$phone |
$ContactId";
$response_array['resp'] = $valid;
if ($valid == 'valid') {
$qry2 = $con->prepare("SELECT
CONCAT(fname, ' ', lname), phone from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $phone);
$qry2->fetch();
$qry3 = $con->prepare("SELECT
line_of_business from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act,
$ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$phone</td>

<td>$lobs</td>
<td><button
class='btn btn-danger removeFromMarketingComm' data-value='phone-
$ContactId'>Remove</td>
</tr>";
$response_array['contacts'] .=
"<input type='hidden' id='phone-$ContactId' name='sms-marketing-comm[]'
value='$ContactId' />";
}

}else {
$potential--;
}
}else {
$potential--;
}
}else {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ',
lname), phone from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $phone);
$qry2->fetch();
$qry3 = $con->prepare("SELECT line_of_business
from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act, $ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$phone</td>

<td>$lobs</td>
<td><button
class='btn btn-danger removeFromMarketingComm' data-value='phone-
$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .= "<input
type='hidden' id='phone-$ContactId' name='sms-marketing-comm[]'
value='$ContactId' />";
}
}
}
$response_array['data'] .= "</tbody></table>";
$response_array['msg'] = "Total Customer Base -
$total<br>Potential Audience (filtered) - $potential <br> <span class='text-
muted'>The filtered number will differ from the total customer base. Our platform
verifies the ability to send a message to the number before attempting to send it
and removes invalid numbers from the list</span>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);exit;

}//clientRetention SMS

if ($_POST['marketingType'] == 'Email') {

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId in (SELECT ContactId from policies where policy_status = ?) LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($total);
$qry->fetch();

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId in (SELECT ContactId from policies where policy_status = ?) and email IS
NOT NULL and email not like '' and email not like '%email@address.com%' LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($potential);
$qry->fetch();

$qry = $con->prepare("SELECT email,email_verified,ContactId from


agency_contacts where ContactId in (SELECT ContactId from policies where
policy_status = ?) and email IS NOT NULL and email not like '' and email not like
'%email@address.com%' LIMIT 10");
$act = 'Active';
$qry->bind_param("s", $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($email, $ver, $ContactId);
$response_array['data'] = "<table class='table table-striped
table-bordered dataTable no-footer' id='potential-table-data'>
<thead>
<th>Customer
Name</th>
<th>Email</th>
<th>Current
LOB's</th>
<th>Remove from
Communication</th>
</thead>
<tbody>";
while ($qry->fetch()) {
if ($ver == 0) {
unset($valid);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$valid = quickValidateEmail($email,
$ContactId);
if ($valid == 'valid') {
$qry2 = $con->prepare("SELECT
CONCAT(fname, ' ', lname), email from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $email);
$qry2->fetch();
$qry3 = $con->prepare("SELECT
line_of_business from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act,
$ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$email</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='email-


$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .=
"<input type='hidden' id='email-$ContactId' name='email-marketing-comm[]'
value='$ContactId' />";
}
}else {
$potential--;
}
}else {
$potential--;
}
}else {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ',
lname), email from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $email);
$qry2->fetch();
$qry3 = $con->prepare("SELECT line_of_business
from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act, $ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$email</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='email-


$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .= "<input
type='hidden' id='email-$ContactId' name='email-marketing-comm[]'
value='$ContactId' />";
}
}
}
$response_array['data'] .= "</tbody></table>";
$response_array['msg'] = "Total Customer Base -
$total<br>Potential Audience (filtered) - $potential <br> <span class='text-
muted'>The filtered number will differ from the total customer base. Our platform
verifies the ability to send a message to the email before attempting to send it
and removes invalid numbers from the list</span>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);exit;

}//clientRetention Email

if ($obj == 'clientCross-SellAuto') {
if ($_POST['marketingType'] == 'SMS') {

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId NOT IN (SELECT ContactId from policies where policy_status = ? and
line_of_business LIKE ?) AND ContactId IN (SELECT ContactId from policies where
policy_status = ?) LIMIT 10");
$line = '%Auto%';
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($total);
$qry->fetch();

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId NOT IN (SELECT ContactId from policies where policy_status = ? and
line_of_business LIKE ?) AND ContactId IN (SELECT ContactId from policies where
policy_status = ?) and phone IS NOT NULL and phone not like '' and phone not like
'%phone%' LIMIT 10");
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($potential);
$qry->fetch();
$qry = $con->prepare("SELECT
phone,phone_verified_mobile,ContactId from agency_contacts where ContactId NOT IN
(SELECT ContactId from policies where policy_status = ? and line_of_business
LIKE ?) AND ContactId IN (SELECT ContactId from policies where policy_status = ?)
and phone IS NOT NULL and phone not like '' and phone not like '%phone%' LIMIT
10");
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($phone, $ver, $ContactId);
$response_array['contacts'] = '';
$response_array['data'] = "<table class='table table-striped
table-bordered dataTable no-footer' id='potential-table-data'>
<thead>
<th>Customer
Name</th>
<th>Phone</th>
<th>Current
LOB's</th>
<th>Remove from
Communication</th>
</thead>
<tbody>";
while ($qry->fetch()) {
if ($ver < 1) {
$phone = preg_replace('/[^0-9]/', '', $phone);
if ($phone != '' && strlen($phone) >= 10) {
$valid = quickValidatePhone($phone,
$ContactId);
$response_array['sent'] = "$phone |
$ContactId";
$response_array['resp'] = $valid;
if ($valid == 'valid') {
$qry2 = $con->prepare("SELECT
CONCAT(fname, ' ', lname), phone from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $phone);
$qry2->fetch();
$qry3 = $con->prepare("SELECT
line_of_business from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act,
$ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$phone</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='phone-


$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .=
"<input type='hidden' id='phone-$ContactId' name='sms-marketing-comm[]'
value='$ContactId' />";
}

}else {
$potential--;
}
}else {
$potential--;
}
}else {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ',
lname), phone from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $phone);
$qry2->fetch();
$qry3 = $con->prepare("SELECT line_of_business
from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act, $ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$phone</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='phone-


$ContactId'>Remove</td>
</tr>";
$response_array['contacts'] .= "<input
type='hidden' id='phone-$ContactId' name='sms-marketing-comm[]'
value='$ContactId' />";
}
}
}
$response_array['data'] .= "</tbody></table>";
$response_array['msg'] = "Total Customer Base -
$total<br>Potential Audience (filtered) - $potential <br> <span class='text-
muted'>The filtered number will differ from the total customer base. Our platform
verifies the ability to send a message to the number before attempting to send it
and removes invalid numbers from the list</span>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);exit;

}//clientCross-Sell SMS

if ($_POST['marketingType'] == 'Email') {
$qry = $con->prepare("SELECT count(id) from agency_contacts where
ContactId NOT IN (SELECT ContactId from policies where policy_status = ? and
line_of_business LIKE ?) AND ContactId IN (SELECT ContactId from policies where
policy_status = ?) LIMIT 10");
$line = '%Auto%';
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($total);
$qry->fetch();

$qry = $con->prepare("SELECT count(id) from agency_contacts where


ContactId NOT IN (SELECT ContactId from policies where policy_status = ? and
line_of_business LIKE ?) AND ContactId IN (SELECT ContactId from policies where
policy_status = ?) and email IS NOT NULL and email not like '' and email not like
'%email@address.com%' LIMIT 10");
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($potential);
$qry->fetch();

$qry = $con->prepare("SELECT email,email_verified,ContactId from


agency_contacts where ContactId NOT IN (SELECT ContactId from policies where
policy_status = ? and line_of_business LIKE ?) AND ContactId IN (SELECT ContactId
from policies where policy_status = ?) and email IS NOT NULL and email not like ''
and email not like '%email@address.com%' LIMIT 10");
$act = 'Active';
$qry->bind_param("sss", $act, $line, $act);
$qry->execute();
$qry->store_result();
$qry->bind_result($email, $ver, $ContactId);
$response_array['data'] = "<table class='table table-striped
table-bordered dataTable no-footer' id='potential-table-data'>
<thead>
<th>Customer
Name</th>
<th>Email</th>
<th>Current
LOB's</th>
<th>Remove from
Communication</th>
</thead>
<tbody>";
while ($qry->fetch()) {
if ($ver == 0) {
unset($valid);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$valid = quickValidateEmail($email,
$ContactId);
if ($valid == 'valid') {
$qry2 = $con->prepare("SELECT
CONCAT(fname, ' ', lname), email from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $email);
$qry2->fetch();
$qry3 = $con->prepare("SELECT
line_of_business from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act,
$ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$email</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='email-


$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .=
"<input type='hidden' id='email-$ContactId' name='email-marketing-comm[]'
value='$ContactId' />";
}
}else {
$potential--;
}
}else {
$potential--;
}
}else {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ',
lname), email from agency_contacts where ContactId = ?");
$qry2->bind_param("s", $ContactId);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$qry2->bind_result($name, $email);
$qry2->fetch();
$qry3 = $con->prepare("SELECT line_of_business
from policies where policy_status = ? and ContactId = ?");
$act = 'Active';
$qry3->bind_param("ss", $act, $ContactId);
$qry3->execute();
$qry3->store_result();
$lobs = '';
if ($qry3->num_rows > 0) {
$qry3->bind_result($lob);
while ($qry3->fetch()) {
$lobs .= "$lob|";
}
}else {
$lobs = "No Active Lines";
}
$lobs = rtrim($lobs, "|");
$response_array['data'] .= "<tr>

<td>$name</td>

<td>$email</td>

<td>$lobs</td>

<td><button class='btn btn-danger removeFromMarketingComm' data-value='email-


$ContactId'>Remove</td>

</tr>";
$response_array['contacts'] .= "<input
type='hidden' id='email-$ContactId' name='email-marketing-comm[]'
value='$ContactId' />";
}
}
}
$response_array['data'] .= "</tbody></table>";
$response_array['msg'] = "Total Customer Base -
$total<br>Potential Audience (filtered) - $potential <br> <span class='text-
muted'>The filtered number will differ from the total customer base. Our platform
verifies the ability to send a message to the email before attempting to send it
and removes invalid numbers from the list</span>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);exit;
}//clientCross-Sell Email

if ($obj == 'clientCross-SellHome') {
if ($_POST['marketingType'] == 'SMS') {

}//clientComm SMS

if ($_POST['marketingType'] == 'Email') {

}//clientComm Email

if ($obj == 'clientCross-SellFlood') {
if ($_POST['marketingType'] == 'SMS') {

}//clientComm SMS

if ($_POST['marketingType'] == 'Email') {

}//clientComm Email

if ($obj == 'clientComm') {
if ($_POST['marketingType'] == 'SMS') {

}//clientComm SMS

if ($_POST['marketingType'] == 'Email') {

}//clientComm Email

if ($obj == 'clientWinBack') {
if ($_POST['marketingType'] == 'SMS') {

}//clientWinBack SMS

if ($_POST['marketingType'] == 'Email') {

}//clientWinBack Email

}//end fetchAudience
/**
*
*/
function validatePhone() {
global $con;
$phone = format_phone('us', $_POST['validate-phone']);
$ContactId = $_POST['validate-contact'];
// Your Account SID and Auth Token from twilio.com/console
$sid = 'ACb16f090b95c4bbdcaa96db470297fffb';
$token = '2ae2f829029b559766853107ec6ffc8a';
$client = new Client($sid, $token);
$phone_number = $client->lookups->v1->phoneNumbers($phone)->fetch(["type" =>
["carrier"]]);
$json = $phone_number->carrier;
if (isset($json['type'])) {
$type = $json['type'];
$qry = $con->prepare("UPDATE agency_contacts set phone_verified_mobile
= ?, phone = ? where ContactId = ?");
$ver = 1;
$qry->bind_param("iss", $ver, $phone, $ContactId);
$qry->execute();
$response_array['type'] = $type;
$response_array['data'] = $phone;
header('Content-type: application/json');
$response_array['formatted'] = $phone;
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
$qry = $con->prepare("UPDATE agency_contacts set phone_verified_mobile
= ?, phone = ? where ContactId = ?");
$ver = 2;
$qry->bind_param("iss", $ver, $phone, $ContactId);
$qry->execute();
$response_array['msg'] = gettype($json);;
header('Content-type: application/json');
$response_array['formatted'] = $phone;
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end validatePhone

/**
*
* @param unknown $phone
* @param unknown $ContactId
* @return unknown
*/
function quickValidatePhone($phone, $ContactId) {
global $con;
$phone = format_phone('us', $phone);
// Your Account SID and Auth Token from twilio.com/console
if ($phone != '' && $phone != '(123) 456-7890' && strlen($phone) >= 10) {
$sid = 'ACb16f090b95c4bbdcaa96db470297fffb';
$token = '2ae2f829029b559766853107ec6ffc8a';
$client = new Client($sid, $token);
$phone_number = $client->lookups->v1->phoneNumbers($phone)-
>fetch(["type" => ["carrier"]]);
$json = $phone_number->carrier;
if (isset($json['type'])) {
$valid = 'valid';
$qry = $con->prepare("UPDATE agency_contacts set
phone_verified_mobile = ? where ContactId = ?");
$ver = 1;
$qry->bind_param("is", $ver, $ContactId);
$qry->execute();
}else {
$valid = "not-valid";
$qry = $con->prepare("UPDATE agency_contacts set
phone_verified_mobile = ? where ContactId = ?");
$ver = 2;
$qry->bind_param("is", $ver, $ContactId);
$qry->execute();
}
}else {
$valid = "not-valid";
}
return $valid;
}//end quickValidatePhone

/**
*
* @param unknown $country
* @param unknown $phone
* @return unknown
*/
function format_phone($country, $phone) {
$function = 'format_phone_' . $country;
if (function_exists($function)) {
return $function($phone);
}
return $phone;
}

/**
*
* @param unknown $phone
* @return unknown
*/
function format_phone_us($phone) {
// note: making sure we have something
if (!isset($phone{3})) { return ''; }
// note: strip out everything but numbers
$phone = preg_replace("/[^0-9]/", "", $phone);
$length = strlen($phone);
switch ($length) {
case 7:
return preg_replace("/([0-9]{3})([0-9]{4})/", "$1-$2", $phone);
break;
case 10:
return preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "($1) $2-$3",
$phone);
break;
case 11:
return preg_replace("/([0-9]{1})([0-9]{3})([0-9]{3})([0-9]{4})/",
"$1($2) $3-$4", $phone);
break;
default:
return $phone;
break;
}
}

/**
*
*/
function validateEmail() {
global $con;
$email = $_POST['validate-email'];
$url = "https://api.sendgrid.com/v3/validations/email";
$json = array(
"email" => "$email"
);
$json = json_encode($json);
$token = "SG.W1rjXmBeSV-iRmxI-
Awogw.kDM3xEQdmOHbdedUSYokLNzYd_TxyBZCE7ikheD5UGo";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json', 'Content-Length: ' .
strlen($json),
"Authorization: Bearer $token"));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($resp->result->verdict != 'Invalid') {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end validatePhone

/**
*
* @param unknown $email
* @param unknown $ContactId
* @return unknown
*/
function quickValidateEmail($email, $ContactId) {
global $con;
$url = "https://api.sendgrid.com/v3/validations/email";
$json = array(
"email" => "$email"
);
$json = json_encode($json);
$token = "SG.W1rjXmBeSV-iRmxI-
Awogw.kDM3xEQdmOHbdedUSYokLNzYd_TxyBZCE7ikheD5UGo";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json', 'Content-Length: ' .
strlen($json),
"Authorization: Bearer $token"));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$resp = json_decode($response);
if ($resp->result->verdict == 'Invalid') {
$valid = "not-valid";
}else {
$valid = "valid";
$qry = $con->prepare("UPDATE agency_contacts set email_verified = ?
where ContactId = ?");
$ver = 1;
$qry->bind_param("is", $ver, $ContactId);
$qry->execute();
}
return $valid;
}//end quickValidateEmail

/**
*
*/
function checkForTwilioInt() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT AgencyId from ams_admin.agency_globals where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$twil = "f1306395-a785-11ea-991f-000d3a7cbc3c";
if ($qry->num_rows > 0) {
$qry->bind_result($AgencyId);
$qry->fetch();
$qry = $con_adm->prepare("SELECT AgencyId from agency_product_mapping
where AgencyId = ? and ProductId = ?");
$qry->bind_param("ss", $AgencyId, $twil);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry = $con->prepare("SELECT twilio_number from twilio_config
where active = 1 AND Type = ?");
$t = 'Two-Way SMS';
$qry->bind_param("s", $t);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "No Account";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "No Integration";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//checkForTwilioInt

/**
*
*/
function updateProduct() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT
p.ProductName,p.Price,pm.Quantity,pm.ProductId from ams_admin.products p,
ams_admin.agency_product_mapping pm where pm.AgencyId = ? and pm.ProductId = ? and
pm.ProductId = p.ProductId");
$qry->bind_param("ss", $_SESSION['AgencyId'], $_POST['update-product']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($pn, $price, $qty, $pid);
$qry->fetch();
$total = $price * $qty;
$response_array['data'] = "<form class='form-horizontal'
id='updateProduct' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<input type='hidden' name='updateProductId'
value='$pid'></input>
<input type='hidden' id='productPrice'
value='$price'></input>
<div class='d-flex flex-wrap text-center'>
<div class='col-md-4 col-sm-4'>
<label class='control-label'
for='productName'>Product Name</label>
<input type='text' id='productName'
class='form-control' value='$pn' readonly></input>
</div>
<div class='col-md-4 col-
sm-4'>
<label
class='control-label' for='productName'>Current Quantity</label>
<input type='text'
id='currentQuantity' name='currentQuantity' class='form-control' value='$qty'
readonly></input>
</div>
<div class='col-md-4 col-
sm-4'>
<label
class='control-label' for='productName'>Current Monthly Total</label>
<input type='text'
value='$total' id='currentMonthlyTotal' class='form-control' readonly></input>
</div>
<div class='col-md-4 col-
sm-4'>
<label
class='control-label' for='productName'>New Quantity</label>
<input
type='number' id='newQuantity' name='newQuantity' class='form-control'
value=''></input>
</div>
<div class='col-md-4 col-
sm-4'>
<label
class='control-label' for='productName'>New Monthly Total</label>
<input type='text'
value='' id='newMonthlyTotal' name='newMonthlyTotal' class='form-control'
readonly></input>
</div>
<div class='col-md-4 col-
sm-4'>
<label
class='control-label' for='productName'>Pro-Rated Charges Today</label>
<input type='text'
id='proRatedCharges' name='proRatedCharges' class='form-control' readonly></input>
</div>
<hr>
<div id='productAddInfo' class='col-md-12
col-sm-12'>
</div>
</div>
</form>";

header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}else {
//DOES NOT HAVE PRODUCT
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}//end updateProduct

/**
*
*/
function calcProductChange() {
global $con;
$cqty = $_POST['currentQty'];
$nqty = $_POST['newQty'];
$price = $_POST['price'];
$cdom = date("d");
$ldom = date("t");
if ($nqty > $cqty) {
$response_array['monthly'] = $nqty * $price;
$dayd = $ldom - $cdom;
$dp = $ldom / $price;
$qtyd = $nqty - $cqty;
$dc = $dp * $dayd;
$iqty = $dc * $qtyd;
$response_array['prorate'] = round($iqty, 2);
$response_array['addinfo'] = "<div><p class='text-muted'>You have
elected to increase your quantity of licenses for this product. The prorated charge
you see is the cost for the additional licensing through the end of the
month.</p><p class='text-danger'>Your card will be charged the pro-rated amount
when you click Update Product.</p></div>";
$qry = $con->prepare("SELECT * from billing_info where agency_id = ?
and card_id IS NOT NULL");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$response_array['addinfo'] .= "<div class='col-md-12 col-sm-
12'><button class='btn btn-primary' type='submit' id='updateProductButton'>Update
Product</button></div>";
}else {
$response_array['addinfo'] .= "<div class='col-md-12 col-sm-
12'><p>You must have a card on file to update your products on-demand. Please
contact support to have this quantity updated</p></div>";
}

}else {
$response_array['monthly'] = $nqty * $price;
$response_array['prorate'] = '0.00';
$response_array['addinfo'] = "You have elected to reduce your quantity
of licenses for this product. Your new total will reflect on next months
invoice.<div class='col-md-12 col-sm-12'><button class='btn btn-primary'
type='submit' id='updateProductButton'>Update Product</button></div>";
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end calcProductChange

/**
*
*/
function updateProductQuantity() {
global $con, $con_adm;
$qry = $con_adm->prepare("UPDATE ams_admin.agency_product_mapping set
Quantity = ? where ProductId = ? and AgencyId = ?");
$qry->bind_param("iss", $_POST['newQuantity'], $_POST['updateProductId'],
$_SESSION['AgencyId']);
$qry->execute();
$qry->store_result();
if ($qry) {
if ($_POST['proRatedCharges'] > 0) {
$qry = $con_adm->prepare("SELECT ProductName from
ams_admin.products where ProductId = ?");
$qry->bind_param("s", $_POST['updateProductId']);
$qry->execute();
$qry->store_result();
$qry->bind_result($pn);
$qry->fetch();
$due = date("Y-m-d");
$stat = "Due";
$diff = $_POST['newQuantity'] - $_POST['currentQuantity'];
$note = "Additional $pn Licenses - $diff";
$qry = $con_adm->prepare("SELECT id from ams_admin.agency_charges
where note = ? and due_date = ? and status = ? and amount = ? and agency_id = ?");
$qry->bind_param("sssss", $note, $due, $stat,
$_POST['proRatedCharges'], $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
$qry = $con_adm->prepare("INSERT INTO
agency_charges(note,agency_id,amount,status,due_date) VALUES(?,?,?,?,?)");
$qry->bind_param("sssss", $note, $_SESSION['agency_id'],
$_POST['proRatedCharges'], $stat, $due);
$qry->execute();
}
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end updateProductQuantity

/**
*
*/
function scheduleSMSCampaign() {
global $con, $con_adm;
if (!isset($_POST['bot-comm'])) {
$qry = $con->prepare("SELECT twilio_number from twilio_config WHERE
Type = ?");
$t = 'Two-Way SMS';
$qry->bind_param("s", $t);
$qry->execute();
$qry->store_result();
$qry->bind_result($twilphone);
$qry->fetch();
}else {
$qry = $con->prepare("SELECT twilio_number from twilio_config WHERE
Type = ?");
$t = 'AutoPilot';
$qry->bind_param("s", $t);
$qry->execute();
$qry->store_result();
$qry->bind_result($twilphone);
$qry->fetch();
}
$qry = $con->prepare("INSERT INTO
campaigns(CampaignName,Scheduled,ScheduleTime,CampaignType,CreatedBy)
VALUES(?,?,?,?,?)");
$date = $_POST['SMSSendDate'] . " " . $_POST['SMSSendTime'] . " " .
$_POST['SMSAmOrPM'];
$date = strtotime($date);
$date = date("Y-m-d H:i:s", $date);
$sched = 1;
$type = 'SMS';
$qry->bind_param("ssssi", $_POST['campaignName'], $sched, $date, $type,
$_SESSION['uid']);
$qry->execute();
$qry->store_result();
if ($con->insert_id != '') {
$cid = $con->insert_id;
$qry2 = $con->prepare("SELECT CampaignId from campaigns where Id = ?");
$qry2->bind_param("i", $cid);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($CampaignId);
$qry2->fetch();
foreach ($_POST['sms-marketing-comm'] as $smsc) {
$qry3 = $con->prepare("SELECT fname,lname,phone from
agency_contacts where ContactId = ?");
$qry3->bind_param("s", $smsc);
$qry3->execute();
$qry3->store_result();
if ($qry3->num_rows > 0) {
$qry3->bind_result($fname, $lname, $phone);
$qry3->fetch();
$fname = strtolower($fname);
$fname = ucfirst($fname);
$phone = preg_replace('/[^0-9]/', '', $phone);
$msg = $_POST['SMSMarketingMessage'];
$msg = str_replace("|FIRSTNAME|", $fname, $msg);
$qry4 = $con_adm->prepare("INSERT INTO
scheduled_comms(to_add,from_add,send_at,comm_type,comm_body,agency_id,CampaignId,Ag
encyId,ContactId) VALUES(?,?,?,?,?,?,?,?,?)");
$qry4->bind_param("sssssssss", $phone, $twilphone, $date,
$type, $msg, $_SESSION['agency_id'], $CampaignId, $_SESSION['AgencyId'], $smsc);
$qry4->execute();
$qry4->store_result();
}

}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end scheduleSMSCampaign
/**
*
*/
function getCampaigns() {
global $con, $con_adm;
$qry = $con->prepare("SELECT
CampaignName,CampaignType,CampaignId,Scheduled,ScheduleTime,Completed,Cancelled,Cre
atedBy,Created from campaigns");
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($CampaignName, $CampaignType, $CampaignId,
$Scheduled, $ScheduleTime, $Completed, $Cancelled, $CreatedBy, $Created);
while ($qry->fetch()) {
$qry2 = $con->prepare("SELECT CONCAT(fname, ' ',lname) as name
from users_table where user_id = ?");
$qry2->bind_param("i", $CreatedBy);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($cby);
$qry2->fetch();
if ($CampaignType == 'SMS') {
$qry3 = $con_adm->prepare("SELECT COUNT(Id) from
scheduled_comms where CampaignId = ?");
$qry3->bind_param("s", $CampaignId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($NumC);
$qry3->fetch();
}
if (strtotime($ScheduleTime) < time()) {
$Completed = 'Yes';
}else {
$Completed = 'No';
}
if ($Cancelled == 1) {
$Completed = 'Cancelled';
}
echo "
<tr>
<td>$CampaignName</td>
<td>$Created</td>
<td>$cby</td>
<td>$ScheduleTime</td>
<td>$NumC</td>
<td>$CampaignType</td>
<td>$Completed</td>";
if (strtotime($ScheduleTime) < time()) {
if ($Cancelled < 1) {
echo "<td>Unable to Cancel</td>";
}else {
echo "<td>Cancelled</td>";
}
}else {
if ($Cancelled < 1) {
echo "<td><button class='btn btn-danger
cancelCampaign' data-value='$CampaignId'>Cancel Campaign</td>";
}else {
echo "<td>Cancelled</td>";
}
}
echo "</tr>";
}//end loop

}else {
echo "<tr>
<td>No Campaigns Found</td>
</tr>";
}

}//end getCampaigns

/**
*
*/
function cancelCampaign() {
global $con, $con_adm;
$qry = $con->prepare("SELECT CampaignType from campaigns where CampaignId
= ?");
$qry->bind_param("s", $_POST['cancel-campaign']);
$qry->execute();
$qry->store_result();
$qry->bind_result($CampaignType);
$qry->fetch();
if ($CampaignType == 'SMS') {
$qry2 = $con_adm->prepare("DELETE from ams_admin.scheduled_comms where
CampaignId = ?");
$qry2->bind_param("s", $_POST['cancel-campaign']);
$qry2->execute();
$qry2->store_result();
$qry2 = $con_adm->prepare("SELECT Id from ams_admin.scheduled_comms
where CampaignId = ?");
$qry2->bind_param("s", $_POST['cancel-campaign']);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows < 1) {
$qry3 = $con->prepare("UPDATE campaigns set Cancelled = ? where
CampaignId = ?");
$c = 1;
$qry3->bind_param("is", $c, $_POST['cancel-campaign']);
$qry3->execute();
$qry3->store_result();
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}

if ($CampaignType == 'Email') {

}
}//end cancelCampaign

/**
*
*/
function checkForAIBotInt() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT AgencyId from ams_admin.agency_globals where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$twil = "45b9c58e-d18a-11ea-8f1d-000d3a7cbc3c";
if ($qry->num_rows > 0) {
$qry->bind_result($AgencyId);
$qry->fetch();
$qry = $con_adm->prepare("SELECT AgencyId from agency_product_mapping
where AgencyId = ? and ProductId = ?");
$qry->bind_param("ss", $AgencyId, $twil);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry = $con->prepare("SELECT twilio_number from twilio_config
where active = 1 AND Type = ?");
$t = 'AutoPilot';
$qry->bind_param("s", $t);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "No Account";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "No Integration";
echo json_encode($response_array);
}
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//checkForTwilioInt

/**
*
*/
function scheduleEmailCampaign() {
global $con;
$qry = $con->prepare("INSERT INTO
campaigns(CampaignName,Scheduled,CampaignType,CreatedBy) VALUES(?,?,?,?)");
$sched = 0;
$type = 'Email';
$qry->bind_param("sisi", $_POST['campaignName'], $sched, $type,
$_SESSION['uid']);
$qry->execute();
$qry->store_result();
$counter = 0;
if ($con->insert_id != '') {
foreach ($_POST['email-marketing-comm'] as $ContactId) {
$url = "https://api.sendgrid.com/v3/marketing/contacts";
$lid = $_POST['SGList'];
if (isset($_POST['customFields'])) {
$cfs = array();
foreach ($_POST['customFields'] as $cf) {
$cname = $cf;
if (isset($_POST["$cname"]) && $_POST["$cname"] !=
'') {
$exp = explode('.', $_POST["$cname"]);
$table = $exp[0];
$col = $exp[1];
$qry = $con->prepare("SELECT $col from $table
where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($val);
$qry->fetch();
if ($val != '') {
$cfs["$cf"] = $val;
}
}
}//end loop through custom fields
}
$qry = $con->prepare("SELECT email,fname,lname from
agency_contacts where ContactId = ?");
$qry->bind_param("s", $ContactId);
$qry->execute();
$qry->store_result();
$qry->bind_result($contact_email, $fname, $lname);
$qry->fetch();
//var_dump($cfs);
if ($contact_email != '') {
if (isset($cfs) && $cfs != '') {
$json = array('list_ids' => array(
"$lid"),
'contacts' => array(array(
'email' => "$contact_email",
'first_name' => "$fname",
'last_name' => "$lname",
'custom_fields' => $cfs)
)
);
}else {
$json = array('list_ids' => array(
"$lid"),
'contacts' => array(array(
'email' => "$contact_email",
'first_name' => "$fname",
'last_name' => "$lname"
)
)
);
}
$json = json_encode($json);
$ch = curl_init();
$qry = $con->prepare("SELECT word from sendgrid_info where
agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($token);
$qry->fetch();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json', 'Content-
Length: ' . strlen($json),
"Authorization: Bearer $token"));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$res = json_decode($response);
curl_close($ch);
}
}//end loop through contacts
}
if (isset($res->{'job_id'})) {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

/**
*
*/
function getSGListCustomFields() {
global $con;
$qry = $con->prepare("SELECT word from sendgrid_info where agency_id = ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($token);
$qry->fetch();
$ch1 = curl_init();
$url = "https://api.sendgrid.com/v3/marketing/field_definitions";
//set the url, number of POST vars, POST data
curl_setopt($ch1, CURLOPT_URL, $url);
curl_setopt($ch1, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer $token"
));

//So that curl_exec returns the contents of the cURL; rather than echoing it
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
//execute post
$res = curl_exec($ch1);
$res = json_decode($res);
$counter = 0;
$cfs = '';
$response_array['cfs'] = '';
$response_array['data'] = '<h4>Custom Fields</h4><hr>';
foreach ($res->{'custom_fields'} as $cf) {
$cfn = $cf->name;
$cfi = $cf->id;
$colOptions = "<label class='control-label' for='$cfi'>Column with Data
for $cfn</label><select class='chosen form-control' id='$cfi' name='$cfi'><option
value=''>Please Select the Column</option>";
$qry = $con->prepare("SHOW COLUMNS FROM agency_contacts");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
while ($qry->fetch()) {
$colOptions .= "<option value='agency_contacts.$column'>Agency
Contacts - $column</option>";
} //end loop
$qry = $con->prepare("SHOW COLUMNS FROM policies");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
while ($qry->fetch()) {
$colOptions .= "<option value='policies.$column'>Policies -
$column</option>";
} //end loop
$qry = $con->prepare("SHOW COLUMNS FROM property_info");
$qry->execute();
$qry->store_result();
$qry->bind_result($column, $type, $null, $key, $def, $ext);
while ($qry->fetch()) {
$colOptions .= "<option value='property_info.$column'>Policy
Property - $column</option>";
} //end loop
$colOptions .= "</select>";
$response_array['data'] .= "<div>$colOptions</div><hr>";
$response_array['cfs'] .= "<input type='hidden' name='customFields[]'
value='$cfi'></input>";
}
$counter++;
if ($response_array['cfs'] != '') {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}

}//end getSGListCustomFields
/**
*
*/
function getPreferredCarriers() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$response_array['data'] = "<label for='field_table' class='control-
label'>Carrier</label>";
if ($_POST['preferred-lob'] == 'Auto') {
$col = 'HandsFreeAuto';
}
if ($_POST['preferred-lob'] == 'Home') {
$col = 'HandsFree';
}
if ($_POST['preferred-lob'] == 'Flood') {
$col = 'HandsFreeFlood';
}
$response_array['data'] .= "<select class='form-control'
name='new_pref_carrier'>
<option value=''>Please Select Carrier</option>";
$qry = $con_qr->prepare("select Distinct(SiteName) from $dbname.carrierlogin
where SiteName in (Select SiteName from quoterush.sites where $col = 1) order by
SiteName ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier);
while ($qry->fetch()) {

$response_array['data'] .= "<option
value='$carrier'>$carrier</option>";
}

$response_array['data'] .= "</select>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end getPreferredCarriers

/**
*
* @param unknown $identifier
* @param unknown $type
*/
function addToQuickAccess($identifier, $type) {
global $con;
if ($type == 'Contact' && $identifier !== '') {
$qry = $con->prepare("INSERT INTO quick_access
(Identifier,Contact,agency_id,user_id) VALUES(?,?,?,?)");
$int = 1;
$qry->bind_param("sisi", $identifier, $int, $_SESSION['agency_id'],
$_SESSION['uid']);
$qry->execute();
}
if ($type == 'Policy' && $identifier !== '') {
$qry = $con->prepare("INSERT INTO quick_access
(Identifier,Policy,agency_id,user_id) VALUES(?,?,?,?)");
$int = 1;
$qry->bind_param("sisi", $identifier, $int, $_SESSION['agency_id'],
$_SESSION['uid']);
$qry->execute();
}
}//end addToQuickAccess

/**
*
*/
function getQuickAccess() {
global $con;
$qry = $con->prepare("SELECT Identifier,Policy,Contact from quick_access
where agency_id = ? and user_id = ? GROUP BY Identifier ORDER BY Entered DESC LIMIT
10");
$qry->bind_param("si", $_SESSION['agency_id'], $_SESSION['uid']);
$qry->execute();
$qry->store_result();
$response_array['data'] = "<ul>";

if ($qry->num_rows > 0) {
$qry->bind_result($Id, $P, $C);
while ($qry->fetch()) {
if ($C == 1) {
$qry2 = $con->prepare("SELECT name from agency_contacts
where ContactId = ?");
$qry2->bind_param("s", $Id);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();
if($name == ''){
$qry2 = $con->prepare("SELECT bname from
agency_contacts where ContactId = ?");
$qry2->bind_param("s", $Id);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();
}

$response_array['data'] .= "
<li><a href='#'
id='contact_info' data-value='$Id'>C - $name</a></li>";

}
if ($P == 1) {
$qry2 = $con->prepare("SELECT named_insured from policies
where PolicyId = ?");
$qry2->bind_param("s", $Id);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($name);
$qry2->fetch();

$response_array['data'] .= " <li><a href='#'


id='policy_info' data-value='$Id'>P - $name</a></li>";

}
}//end loop
$response_array['data'] .= "</ul>";
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}

/**
*
*/
function addAutomationWorkflow() {
global $con, $con_adm;
$qry = $con->prepare("SELECT WorkflowName from agency_workflows where
WorkflowName = ?");
$qry->bind_param("s", $_POST['new-workflow-name']);
$qry->execute();
$qry->store_result();
if ($qry->num_rows < 1) {
$qry = $con->prepare("INSERT INTO
agency_workflows(WorkflowName,module,agency_id) VALUES(?,?,?)");
$qry->bind_param("sss", $_POST['new-workflow-name'], $_POST['module-
select'], $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if ($con->insert_id != '') {
$wid = $con->insert_id;
$qry = $con->prepare("SELECT WFId from agency_workflows where id
= ?");
$qry->bind_param("i", $wid);
$qry->execute();
$qry->store_result();
$qry->bind_result($WFId);
$qry->fetch();
$qry = $con->prepare("INSERT INTO agency_workflow_triggers");
}else {
$response_array['msg'] = "Unable to add that workflow. Please
verify all of the settings have been configured and try again.";
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}

}else {
$response_array['msg'] = "A workflow with that name already exists.
Please change the name or remove the other workflow.";
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
}//and addAutomationWorkflow

/**
*
*/
function getCurrentlyInsuredFields() {
global $con, $con_adm;
if ($_POST['app-currently-insured'] == 'Yes') {
$response_array['data'] = "<div class='form-group'>
<label class='control-label'>Current
Carrier</label>
<select class='form-control'
name='currentCarrier' id='currentCarrier'><option value=''>Please Select
Carrier</option>";
$qry = $con->prepare("SELECT DISTINCT carrier from carriers order by
carrier ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($carrier);
while ($qry->fetch()) {
$response_array['data'] .= "<option
value='$carrier'>$carrier</option>";
}
$response_array['data'] .= "</select>
<div class='form-group'>
<label class='control-label'>Expiration
Date</label>
<input type='date' class='form-control'
name='currentPolicyExpirationDate' id='currentPolicyExpirationDate'></input>
</div>
<div class='form-group'>
<label class='control-label'>Copy of
Declaration Page 1</label>
<input type='file' class='form-control'
name='currentPolicyDecPage1' id='currentPolicyDecPage1'></input>
</div>";
}else {
$response_array['data'] = "<script>
Swal.fire({
title: 'Whoa!',
text: 'You selected No for currently insured on an existing home
owner. Has the policy lapsed?',
icon: 'warning',
confirmButtonText: 'Ok'
})
</script>";
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getCurrentlyInsuredFields

/**
*
*/
function getMapriskData() {
global $con, $con_adm;
//LETS GET INFO FROM MAPRISK BEFORE WE STORE THE LEAD
$add = urlencode($_POST['get-map-risk-data']);
$url = "http://api.staging.maprisk.com/geocode?addressLine=$add";
//echo $url;
//The URL that you want to send your XML to.
//Initiate cURL
$curl = curl_init($url);

//Set the Content-Type to text/xml.


//Tell cURL that we want the response to be returned as
//a string instead of being dumped to the output.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
//Execute the POST request and send our XML.
$result = curl_exec($curl);
$response_body = json_decode($result);

//Close the cURL handle.


curl_close($curl);

if ($response_body->success == 'true') {
//var_dump($response_body->response->geocodeResults);
$response_array['fullMapriskAddress'] = $response_body->response;
$line1 = $response_body
->response
->geocodeResults[0]->street;
$city = $response_body
->response
->geocodeResults[0]->city;
$zip = $response_body
->response
->geocodeResults[0]->zip;
$state = $response_body
->response
->geocodeResults[0]->state;
$response_array['city'] = $city;
$response_array['state'] = $state;
$response_array['address'] = $line1;
$response_array['zip'] = $zip;
$response_array['data'] = "$line1 $city, $state $zip";
$line1 = urlencode($line1);
$city = urlencode($city);
$state = urlencode($state);
$zip = urlencode($zip);

$cty = $con_adm->prepare("SELECT County from quoterush.allzips where


Zip = ?");
$cty->bind_param("s", $zip);
$cty->execute();
$cty->store_result();
$cty->bind_result($county);
$cty->fetch();
$county = strtolower($county);
$response_array['county'] = ucfirst($county);

$url = "http://api.staging.maprisk.com/reports?
reportList=propertyInformation&poi[street]=$line1&poi[city]=$city&poi[state]=$state
&poi[zip]=$zip";
//echo $url;
//The URL that you want to send your XML to.
//Initiate cURL
$curl = curl_init($url);

//Set the Content-Type to text/xml.


//Tell cURL that we want the response to be returned as
//a string instead of being dumped to the output.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
//Execute the POST request and send our XML.
$result = curl_exec($curl);
$response_body = json_decode($result);

//Close the cURL handle.


curl_close($curl);
if ($response_body->success == 'true') {

//var_dump($response_body->response->reportResults-
>propertyInformation);
$pu = $response_body
->response
->reportResults
->propertyInformation->propertyUseDescription;
$response_array['fullMaprisk'] = $response_body
->response->reportResults;
$response_array['squarefeet'] = $response_body
->response
->reportResults
->propertyInformation->grossLivingAreaSquareFeet;

//START GET FORM TYPE


if ($pu == 'Mobile Home') {
$response_array['hometype'] = 'Mobile Home';
$response_array['formtype'] = 'MHO: Mobile Home Owners
Policy';
}

if ($pu == 'Single Family Residence') {


$response_array['hometype'] = 'Single Family';
$response_array['formtype'] = 'HO-3: Home Owners Policy';
}

if ($pu == 'Condominium') {
$response_array['hometype'] = 'Condo';
$response_array['formtype'] = 'HO-6: Condo Owners Policy';
}
//END GET FORM TYPE
$response_array['yearbuilt'] = $response_body
->response
->reportResults
->propertyInformation->yearBuilt;
$yb = $response_array['yearbuilt'];

$response_array['assessedvalue'] = $response_body
->response
->reportResults
->propertyInformation->totalAssessedValue;
$av = $response_array['assessedvalue'];

$response_array['stories'] = $response_body
->response
->reportResults
->propertyInformation->numberOfStories;
$st = $response_array['stories'];

$response_array['numberofunits'] = $response_body
->response
->reportResults
->propertyInformation->numberOfUnits;
$nou = $response_array['numberofunits'];

$response_array['fullbathrooms'] = $response_body
->response
->reportResults
->propertyInformation->numberOfBathRooms;
$nofb = $response_array['fullbathrooms'];

$response_array['halfbaths'] = $response_body
->response
->reportResults
->propertyInformation->numberOfHalfBathRooms;
$nohb = $response_array['halfbaths'];

$response_array['bedrooms'] = $response_body
->response
->reportResults
->propertyInformation->numberOfBedrooms;
$nob = $response_array['bedrooms'];

$response_array['lastsolddate'] = $response_body
->response
->reportResults
->propertyInformation->lastSalesDate;
$response_array['lastsoldvalue'] = $response_body
->response
->reportResults
->propertyInformation->lastSalesValue;

$response_array['acres'] = $response_body
->response
->reportResults
->propertyInformation->propertyAcreage;

//START GET WALL TYPE


$wtype = $response_body
->response
->reportResults
->propertyInformation->constructionDescription;
if ($wtype == 'Wood Frame') {
$response_array['walltype'] = 'Frame';
}

if ($wtype == 'Masonry/Concrete Masonry Units (CMUs)') {


$response_array['walltype'] = 'Masonry';
}

//END GET WALL TYPE


$utype = $puse;

$found = $response_body
->response
->reportResults
->propertyInformation->foundationMaterialDescription;

if ($found == 'Footing - Continuous/Strip') {


$response_array['foundation'] = 'Slab';
}

if ($found == '') {
$response_array['foundation'] = '';
}

$roof = $response_body
->response
->reportResults
->propertyInformation->roofMaterialDescription;

if ($roof == 'Unknown Or Not Provided') {


$response_array['roofmaterial'] = '';
}

if ($roof == 'Composition Shingle') {


$response_array['roofmaterial'] = 'Composite Shingle';
}

if ($roof == 'Concrete Tile') {


$response_array['roofmaterial'] = 'Tile-Concrete';
}
$rmat = $response_array['roofmaterial'];

if ($response_body
->response
->reportResults
->propertyInformation->hasPool == 'true') {
$response_array['haspool'] = 'Yes';
$response_array['poolsqft'] = $response_body
->response
->reportResults
->propertyInformation->poolArea;
}
$hp = $response_array['haspool'];

if ($response_body
->response
->reportResults
->propertyInformation->garageArea > 0) {
$response_array['hasgarage'] = 'Yes';
$response_array['garagesqft'] = $response_body
->response
->reportResults
->propertyInformation->garageArea;
$response_array['garagetype'] = $response_body
->response
->reportResults
->propertyInformation->garageDescription;
}
$hg = $response_array['hasgarage'];
if ($nohb > 0) {
$nofb = $nofb - $nohb;
$nofb = intval($nofb);
$nohb = $nohb / 2;
$baths = $nofb + $nohb;
}

$response_array['propd'] = "
<h3 class='col-md-12 col-sm-12
text-center'>Property Info Ext.</h3>
<div class='item col-md-4 col-sm-
4'>
<div class='icon-holder text-
center'>
<i class='fas fa-home
fa-4x'></i>
</div>
<div class='data'>
<div class='note'>
Year Built
</div>
<div class='number'>
<span class='text-
info'>$yb</span>
<input
type='hidden' name='year_built' id='year_built' value='$yb'></input>
</div>
</div>
</div>
<div class='item
col-md-4 col-sm-4'>
<div
class='icon-holder text-center'>
<i
class='fas fa-bed fa-4x'></i>
</div>
<div
class='data'>

<div class='note'>

Bedrooms

</div>

<div class='number'>
<span class='text-info'>$nob</span>

</div>
</div>
</div>
<div class='item
col-md-4 col-sm-4'>
<div
class='icon-holder text-center'>
<i
class='fas fa-bath fa-4x'></i>
</div>
<div
class='data'>

<div class='note'>

Bathrooms

</div>

<div class='number'>

<span class='text-info'>$baths</span>

</div>
</div>
</div>
<div class='item
col-md-4 col-sm-4'>
<div
class='icon-holder text-center'>
<i
class='fas fa-swimming-pool fa-4x'></i>
</div>
<div
class='data'>

<div class='note'>

Pool

</div>

<div class='number'>

<span class='text-info'>$hp</span>
<input
type='hidden' name='has_pool' id='has_pool' value='$hp'></input>

</div>
</div>
</div>
<div class='item
col-md-4 col-sm-4'>
<div
class='icon-holder text-center'>
<i
class='fad fa-garage-car fa-4x'></i>
</div>
<div
class='data'>

<div class='note'>

Garage

</div>

<div class='number'>

<span class='text-info'>$hg</span>

</div>
</div>
</div>";
if ($yb <= 2001) {
$response_array['propd'] .= "
<script>
$('#windmit_req').val('Yes');
$('#windmitDocsGroup').show();
</script>";
}else {
$response_array['propd'] .= "
<script>
$('#windmit_req').val('No');
$('#windmitDocsGroup').hide();
</script>";
}
$cy = date("Y");
$age = $cy - $yb;
if ($age >= 30) {
$response_array['propd'] .= "
<script>
$('#fourpt_req').val('Yes');
$('#fourptDocsGroup').show();
</script>";
}else {
$response_array['propd'] .= "
<script>
$('#fourpt_req').val('No');
$('#fourptDocsGroup').hide();
</script>";
}

} //end check if we got supplemental info


header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
//GOT SPLIT ADDRESS LETS GET PROPERTY INFO

}
else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
echo json_encode($response_array);
}
} //end getMapRiskData

/**
*
*/
function getLineSubtypes() {
global $con, $con_adm;
$qry = $con_adm->prepare("SELECT LOB_Id from ams_admin.policy_lob where lob =
?");
$qry->bind_param("s", $_POST['get-lob-st']);
$qry->execute();
$qry->store_result();
$response_array['data'] = '';
if ($qry->num_rows > 0) {
$qry->bind_result($LOB_Id);
$qry->fetch();
$qry = $con_adm->prepare("SELECT SubType from
ams_admin.policy_lob_subtype where LOB_Id = ? ORDER BY SubType ASC");
$qry->bind_param("s", $LOB_Id);
$qry->execute();
$qry->store_result();
if ($qry->num_rows > 0) {
$qry->bind_result($st);
while ($qry->fetch()) {
$response_array['data'] .= "<option
value='$st'>$st</option>";
}
}else {
}
}
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end getLineSubtypes

/**
*
*/
function getAppInfo() {
global $con_qr, $con;
$qry = $con->prepare("select ip_id,ip_secret from agency_integrations
ai,company_integrations ci where ai.integration_company_id = ci.id and ai.agency_id
= ?");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
$qry->bind_result($QRId, $QRSecret);
$qry->fetch();
$qry = $con_qr->prepare("SELECT DatabaseName,WebId,WebIdPassword,Agency_Id
from quoterush.agencies where QRId = ? and SecretCMSKey = ?");
$qry->bind_param("ss", $QRId, $QRSecret);
$qry->execute();
$qry->store_result();
$response_array['data'] = "<div class='meta-data'><dl class='dl-
horizontal'>";
$response_array['auto'] = "";
if ($qry->num_rows > 0) {
$qry->bind_result($dbname, $wid, $wpwd, $aid);
$qry->fetch();
$counter = 0;
$autos = array();
$drivers = array();
$dcounter = 0;
$acounter = 0;
$paddress = $_POST['get-app-add-data'];
$maddress = $_POST['get-app-add-data'];
$prioraddress = $_POST['prior'];
$count = count($_POST['applicants']);
$driver = $_POST['applicants'][0];
if(isset($_POST['coapplicants'])){
$driver2 = $_POST['coapplicants'][0];
}
$sn = explode(" ", $driver);
if (count($sn) == 2) {
$fname = $sn[0];
$lname = $sn[1];
}
$sn2 = explode(" ", $driver2);
if (count($sn2) == 2) {
$cfname = $sn2[0];
$clname = $sn2[1];
}
if(!isset($driver2)){
$qrya = $con->prepare("INSERT INTO
applications(Applicant_FirstName,Applicant_LastName) VALUES(?,?)");
$qrya->bind_param("ss", $fname, $lname);
$qrya->execute();
$qrya->store_result();
$appid = $con->insert_id;
}else{
$qrya = $con->prepare("INSERT INTO
applications(Applicant_FirstName,Applicant_LastName,CoApplicant_FirstName,CoApplica
nt_LastName) VALUES(?,?,?,?)");
$qrya->bind_param("ssss", $fname, $lname, $cfname,
$clname);
$qrya->execute();
$qrya->store_result();
$appid = $con->insert_id;
}
$qrya = $con->prepare("UPDATE applications set ApplicationId = UUID()
where Id = ?");
$qrya->bind_param("i", $appid);
$qrya->execute();
$qrya = $con->prepare("SELECT ApplicationId from applications where Id
= ?");
$qrya->bind_param("i", $appid);
$qrya->execute();
$qrya->store_result();
$qrya->bind_result($ApplicationId);
$qrya->fetch();
$_SESSION['AppId'] = $ApplicationId;
if ($counter == 0) {

$add = $paddress;
$fulladd = urlencode($add);
$url = "http://api.staging.maprisk.com/geocode?
addressLine=$fulladd";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
$result = curl_exec($curl);
$response_body = json_decode($result);
curl_close($curl);
if ($response_body->success == 'true') {
$line1 = $response_body->response->geocodeResults[0]-
>street;
$add2 = '';
$phone = '';
$email = '';
$city = $response_body->response->geocodeResults[0]->city;
$zip = $response_body->response->geocodeResults[0]->zip;
$state = $response_body->response->geocodeResults[0]-
>state;
$response_array['address'] = "$line1 $city, $state $zip";
$response_array['data'] .= "<dt><label>Address:</label>
</dt> <dd>$line1 $city, $state $zip</dd>";
$line1 = urlencode($line1);
$city = urlencode($city);
$state = urlencode($state);
$zip = urlencode($zip);
if($prioraddress != ''){
$padd = $prioraddress;
$pfulladd = urlencode($padd);
$url = "http://api.staging.maprisk.com/geocode?
addressLine=$pfulladd";
$pcurl = curl_init($url);
curl_setopt($pcurl, CURLOPT_RETURNTRANSFER,
true);
curl_setopt($pcurl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
$presult = curl_exec($pcurl);
$presponse_body = json_decode($presult);
curl_close($pcurl);
if ($presponse_body->success == 'true') {
$pline1 = $presponse_body->response-
>geocodeResults[0]->street;
$padd2 = '';
$pphone = '';
$pemail = '';
$pcity = $presponse_body->response-
>geocodeResults[0]->city;
$pzip = $presponse_body->response-
>geocodeResults[0]->zip;
$pstate = $presponse_body->response-
>geocodeResults[0]->state;
$response_array['paddress'] = "$pline1
$pcity, $pstate $pzip";
$cty = $con_qr->prepare("SELECT
County from quoterush.allzips where Zip = ?");
$cty->bind_param("s", $pzip);
$cty->execute();
$cty->store_result();
$cty->bind_result($pcounty);
$cty->fetch();
}
}//end check for prior

$url = "http://api.staging.maprisk.com/reports?
reportList=propertyInformation&poi[street]=$line1&poi[city]=$city&poi[state]=$state
&poi[zip]=$zip";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
$result = curl_exec($curl);
$response_body = json_decode($result);
curl_close($curl);
if ($response_body->success == 'true') {

//var_dump($response_body->response->reportResults-
>propertyInformation);
$pu = $response_body->response->reportResults-
>propertyInformation->propertyUseDescription;
$sqft = $response_body->response->reportResults-
>propertyInformation->grossLivingAreaSquareFeet;
$response_array['data'] .= "<dt><label>Square
Feet:</label> </dt> <dd><input class='form-control' type='number' name='app-sq-ft'
value='$sqft'></input></dd>";

//START GET FORM TYPE


if ($pu == 'Mobile Home') {
$stype = 'Single Family';
$ftype = 'MHO: Mobile Home Owners Policy';
}

if ($pu == 'Single Family Residence') {


$stype = 'Single Family';
$ftype = 'HO-3: Home Owners Policy';
}

if ($pu == 'Condominium') {
$stype = 'Condo';
$ftype = 'HO-6: Condo Owners Policy';
}

if (isset($_POST['ownershipQ']) &&
$_POST['ownershipQ'] == 'No') {
$ftype = 'HO-4: Renters Policy. (Renting
property and just insuring contents.)';
}
$response_array['data'] .= "<dt><label>Form
Type:</label> </dt> <dd>$ftype</dd>";
//END GET FORM TYPE
$yb = $response_body->response->reportResults-
>propertyInformation->yearBuilt;
$response_array['data'] .= "<dt><label>Year
Built:</label> </dt> <dd><input class='form-control' type='number' name='app-year-
built' id='app-year-built' value='$yb'></input></dd>";
$owner = $response_body->response->reportResults-
>propertyInformation->ownerName;
$assessed = $response_body->response->reportResults-
>propertyInformation->totalAssessedValue;
$stories = $response_body->response->reportResults-
>propertyInformation->numberOfStories;
$response_array['data'] .=
"<dt><label>Stories:</label> </dt> <dd><input class='form-control' type='number'
name='app-stories' id='app-stories' value='$stories'></input></dd>";
$units = $response_body->response->reportResults-
>propertyInformation->numberOfUnits;
$bathrooms = $response_body->response->reportResults-
>propertyInformation->numberOfBathRooms;
$hbathrooms = $response_body->response-
>reportResults->propertyInformation->numberOfHalfBathRooms;
$beds = $response_body->response->reportResults-
>propertyInformation->numberOfBedrooms;
$response_array['data'] .=
"<dt><label>Bedrooms:</label> </dt> <dd><input class='form-control' type='number'
name='app-bedrooms' id='app-bedrooms' value='$beds'></input></dd>";
$response_array['data'] .= "<dt><label>Baths:</label>
</dt> <dd><input class='form-control' type='number' name='app-bathrooms' id='app-
bathrooms' value='$bathrooms'></input></dd>";
$last_sold = $response_body->response->reportResults-
>propertyInformation->lastSalesDate;
$last_sold_val = $response_body->response-
>reportResults->propertyInformation->lastSalesValue;
$acreage = $response_body->response->reportResults-
>propertyInformation->propertyAcreage;
//START GET WALL TYPE
$wtype = $response_body->response->reportResults-
>propertyInformation->constructionDescription;

if ($wtype == 'Wood Frame') {


$wtye = 'Frame';
}

if ($wtype == 'Masonry/Concrete Masonry Units


(CMUs)') {
$wtype = 'Masonry';
}

//END GET WALL TYPE


$fqry = $con_qr->prepare("select
OptionId,OptionValue from qrprod.agency_webform_field_options where FieldId in
(SELECT FieldId from qrprod.agency_webform_section_fields where FieldName = 'Wall
Type') ORDER BY OptionValue ASC");
$fqry->execute();
$fqry->store_result();
if($fqry->num_rows > 0){
$fqry->bind_result($OptionId,
$OptionValue);
$response_array['data'] .=
"<dt><label>Wall Type:</label> </dt> <dd><select class='form-control' name='app-
wall-type' id='app-wall-type'><option value=''>Please Select Wall Type</option>";
while($fqry->fetch()){
if($OptionValue == $wtype){

$response_array['data'] .= "<option value='$OptionValue'


selected='true'>$OptionValue</option>";
}else{

$response_array['data'] .= "<option value='$OptionValue'>$OptionValue</option>";


}
}//end loop through options
$response_array['data'] .=
"</select></dd>";
}else{
$response_array['data'] .=
"<dt><label>Wall Type:</label> </dt> <dd>$wtype</dd>";
}

$found = $response_body->response->reportResults-
>propertyInformation->foundationMaterialDescription;

if ($found == 'Footing - Continuous/Strip') {


$foundation = 'Slab';
}

if ($found == '') {
$foundation = '';
}

$roof = $response_body->response->reportResults-
>propertyInformation->roofMaterialDescription;

if ($roof == 'Unknown Or Not Provided') {


$roofMat = '';
}

if ($roof == 'Composition Shingle') {


$roofMat = 'Composite Shingle';
}

if ($roof == 'Concrete Tile') {


$roofMat = 'Tile-Concrete';
}
$fqry = $con_qr->prepare("select OptionId,OptionValue
from qrprod.agency_webform_field_options where FieldId in (SELECT FieldId from
qrprod.agency_webform_section_fields where FieldName = 'Foundation Type') ORDER BY
OptionValue ASC");
$fqry->execute();
$fqry->store_result();
if($fqry->num_rows > 0){
$fqry->bind_result($OptionId,$OptionValue);
$response_array['data'] .=
"<dt><label>Foundation:</label> </dt> <dd><select class='form-control' name='app-
foundation' id='app-foundation'><option value=''>Please Select
Foundation</option>";
while($fqry->fetch()){
if($OptionValue == $foundation){
$response_array['data'] .= "<option
value='$OptionValue' selected='true'>$OptionValue</option>";
}else{
$response_array['data'] .= "<option
value='$OptionValue'>$OptionValue</option>";
}
}//end loop through options
$response_array['data'] .= "</select></dd>";
}else{
$response_array['data'] .=
"<dt><label>Foundation:</label> </dt> <dd>$foundation</dd>";
}
$fqry = $con_qr->prepare("select
OptionId,OptionValue from qrprod.agency_webform_field_options where FieldId in
(SELECT FieldId from qrprod.agency_webform_section_fields where FieldName = 'Roof
Material') ORDER BY OptionValue ASC");
$fqry->execute();
$fqry->store_result();
if($fqry->num_rows > 0){
$fqry->bind_result($OptionId,
$OptionValue);
$response_array['data'] .=
"<dt><label>Roof Material:</label> </dt> <dd><select class='form-control'
name='app-roof-material' id='app-roof-material'><option value=''>Please Select Roof
Material</option>";
while($fqry->fetch()){
if($OptionValue ==
$roofMat){

$response_array['data'] .= "<option value='$OptionValue'


selected='true'>$OptionValue</option>";
}else{

$response_array['data'] .= "<option value='$OptionValue'>$OptionValue</option>";


}
}//end loop through options
$response_array['data'] .=
"</select></dd>";
}else{
$response_array['data'] .=
"<dt><label>Roof Material:</label> </dt> <dd>$roofMat</dd>";
}

if ($response_body->response->reportResults-
>propertyInformation->hasPool == 'true') {
$pool = 'Yes';
$poolsqft = $response_body->response-
>reportResults->propertyInformation->poolArea;
$response_array['data'] .=
"<dt><label>Pool:</label> </dt> <dd><select class='form-control' id='app-has-pool'
name='app-has-pool'><option value='Yes' selected='true'>$pool</option><option
value='No'>No</option></select> Square Feet of Pool: <input type='number'
class='form-control' id='app-pool-sq-ft' name='app-pool-sq-ft'
value='$poolsqft'></input></dd>";
}

if ($response_body->response->reportResults-
>propertyInformation->garageArea > 0) {
$garage = 'Yes';
$gsqft = $response_body->response-
>reportResults->propertyInformation->garageArea;
$gtype = $response_body->response-
>reportResults->propertyInformation->garageDescription;
$response_array['data'] .=
"<dt><label>Garage:</label> </dt> <dd><select class='form-control' id='app-has-
garage' name='app-has-garage'><option value='Yes'
selected='true'>$garage</option><option value='No'>No</option></select> Square
Feet of Garage: <input type='number' class='form-control' id='app-garage-sq-ft'
name='app-garage-sq-ft' value='$gsqft'></input></dd>";
}
$cty = $con_qr->prepare("SELECT County from
quoterush.allzips where Zip = ?");
$cty->bind_param("s", $zip);
$cty->execute();
$cty->store_result();
$cty->bind_result($county);
$cty->fetch();
$county = strtolower($county);
$county = ucfirst($county);
$county = urldecode($county);
$city = urldecode($city);
$add2 = urldecode($add2);
$line1 = urldecode($line1);
$roofShape = '';
$effdate = date("m/d/Y");

$json = '
{
"client": {
"NameFirst": "'.$fname.'",
"NameLast": "'.$lname.'",
"PhoneNumber": "'.$_POST['applicants-
phone'].'",
"EmailAddress": "'.$_POST['applicants-
email'].'",
"DateOfBirth": "'.date("m/d/Y",
strtotime($_POST['applicants-dob'])).'",
"Gender": "'.$_POST['applicants-gender'].'",
"MaritalStatus": "'.$_POST['applicants-ms'].'",
"EducationLevel": "'.$_POST['applicants-education'].'",
"Occupation": "'.$_POST['applicants-occupation'].'",';
if(isset($driver2)){
$json .= '
"CoApplicantNameFirst": "'.$cfname.'",
"CoApplicantNameLast": "'.$clname.'",
"CoApplicantDateOfBirth": "'.date("m/d/Y",
strtotime($_POST['co-applicants-dob'])).'",
"CoApplicantGender": "'.$_POST['co-applicants-
gender'].'",
"CoApplicantMaritalStatus": "'.$_POST['co-applicants-
ms'].'",
"CoApplicantEducation": "'.$_POST['co-applicants-
education'].'",
"CoApplicantOccupation": "'.$_POST['co-applicants-
occupation'].'",';
}
if ($paddress == $maddress) {
$json .= '
"Address": "'.$line1.'",
"Address2": "'.$add2.'",
"City": "'.$city.'",
"State": "'.$state.'",
"Zip": "'.$zip.'",
"International": false,
"Country": "",
"County": "'.$county.'",';
}else {
$add = $paddress;
$fulladd = urlencode($add);
$url = "http://api.staging.maprisk.com/geocode?
addressLine=$fulladd";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,
true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"x-auth-key:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI1OThjYTRiYzdjYWM3NjAwYWRkMDE5YzAiLC
JleHAiOm51bGx9.WpKJbywiH43IS3bx6sUm1RsU0Lr21lIATI3RucTH4b0"
));
$result = curl_exec($curl);
$response_body = json_decode($result);
curl_close($curl);
if ($response_body->success == 'true') {
$mline1 = $response_body->response-
>geocodeResults[0]->street;
$mcity = $response_body->response-
>geocodeResults[0]->city;
$mzip = $response_body->response-
>geocodeResults[0]->zip;
$mstate = $response_body->response-
>geocodeResults[0]->state;
$cty = $con_qr->prepare("SELECT County
from quoterush.allzips where Zip = ?");
$cty->bind_param("s", $mzip);
$cty->execute();
$cty->store_result();
$cty->bind_result($mcounty);
$cty->fetch();
$county = strtolower($mcounty);
$county = ucfirst($mcounty);
}
$json .= '
"Address": "'.$mline1.'",
"Address2": "'.$add2.'",
"City": "'.$mcity.'",
"State": "'.$mstate.'",
"Zip": "'.$mzip.'",
"International": false,
"Country": "",
"County": "'.$mcounty.'",';
}
$json .= '
"OverviewNotes": "",
"DateEntered": null,
"DateModified": null,
"LeadSource": "",
"LeadStatus": "NewLead"
},
"ho": {
"FormType": "'.$ftype.'",
"Address": "'.$line1.'",
"Address2": "'.$add2.'",
"County": "'.$county.'",
"NewPurchase": "No",
"City": "'.$city.'",
"State": "'.$state.'",
"Zip": "'.$zip.'",
"UsageType": "",
"YearBuilt": "'.$yb.'",';
if ($pool == 'Yes') {
if ($poolsqft <= 600) {
$json .= '"Pool": "Inground - 300 - 600
sq. ft.",';
}else {
$json .= '"Pool": "Inground - large > 600
sq. ft.",';
}
}else {
$json .= '"Pool": "None",';
}
$json .= '
"RoofMaterial": "'.$roofMat.'",
"RoofShape": "'.$roofShape.'",
"StructureType": "'.$stype.'",
"Families": "1",
"Stories": "'.$stories.'",
"SquareFeet": "'.$sqft.'",
"ConstructionType": "'.$wtype.'",
"FoundationType": "'.$foundation.'",
"CoverageA": "'.$assessed.'",
"PolicyEffectiveDate": "'.$effdate.'",
"Claims": "No"
}
}';

$url =
"https://quoterush.com/Importer/Json/Import/$wid";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"webpassword: $wpwd",
"Content-Type: plain/text",
"Content-Length: " . strlen($json)
));
$result = curl_exec($curl);
$qrres = $result;
if (strpos($result, "Success") !== false) {
$exp = explode("Success - Lead #", $result);
$exp2 = explode(" ", $exp[1]);
$leadid = $exp2[0];
$response_array['qrlead'] = $leadid;

}else {

}//end check if lead was inserted


curl_close($curl);
}//end check if found property info
$counter++;
}
}

$acount = 0;
$dcount = 0;
$qry = $con_qr->prepare("SELECT Id from $dbname.autopolicy where
Lead_Id = ?");
$qry->bind_param("i", $leadid);
$qry->execute();
$qry->store_result();
$qry->bind_result($apid);
$qry->fetch();
if ($qry->num_rows > 0) {
$url =
"https://www.quoterush.com/QRFrontDoor/SecureClient.svc/json/PerformLexisNexisDrive
rAndAutoLookUp";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"Authorization: Basic
cXJwcm9kaW5mcmE6RzJNK1FnNnhJc04zeUNWVTlHRDFzT0x3Qlg1b3FXdlpuNC93ZDk1YmhqWmtubHgxU1J
GeHIrb2huNG45QzdUU2ptMkpGRy9rVVpkb0tiWWRxZ2poVEE9PQ=="
));
curl_setopt($curl, CURLOPT_POST, true);
$lex = '
{
"Agency_Id": "'.$aid.'",
"AgencyUser": {
"Id": 25
},
"Driver": {
"AutoPolicy_Id": '.$apid.',
"NamePrefix": "",
"NameFirst": "'.$fname.'",
"NameMiddle": "",
"NameLast": "'.$lname.'",
"NameSuffix": "",
"Gender": "",
"MaritalStatus": "",
"DateOfBirth": "",
"SSN": "",
"LicenseNumber": "",
"LicenseState": ""
},';
if($prioraddress == ''){
$lex .= '
"Address": {
"Line1": "'.$line1.'",
"Line2": "",
"City": "'.$city.'",
"State": "'.$state.'",
"Zip": "'.$zip.'",
"Zip4": "",
"County": "'.$county.'"
},
"Testing": false
}
';
}else{
$response_array['paddresslex'] = 'True';
$lex .= '
"Address": {
"Line1": "'.$pline1.'",
"Line2": "",
"City": "'.$pcity.'",
"State": "'.$pstate.'",
"Zip": "'.$pzip.'",
"Zip4": "",
"County": "'.$pcounty.'"
},
"Testing": false
}
';
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $lex);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
$lexresp = json_decode($result);
$response_array['lexjson'] = $lex;
$response_array['lexresp'] = $result;
$fadd = "Same As The Property Address*$line1 : : $city : $state :
$zip";
$del = 0;
if ($lexresp->Success == true) {

$tdcount = count($lexresp->Drivers);
$tacount = count($lexresp->Autos);
$bacount = 1;
$bdcount = 1;
$lnid = $lexresp->LexisNexisOrderId;
$response_array['auto'] .= "<div style='width:100%;'>";
foreach ($lexresp->Autos as $auto) {
$y = $auto->Year;
$m = $auto->Make;
$mo = $auto->Model;
$response_array['auto'] .= "<a href='#'
class='autoInfo' data-value='auto-$acounter' id='auto-$counter-button'><i
class='fas fa-car fa-4x'></i></a><div id='auto-$acounter'
style='display:none;'><div class='meta-data'><dl class='dl-horizontal'>";
$response_array['auto'] .= "<dt>Year:
</dt><dd> $y</dd>";
$response_array['auto'] .= "<dt>Make:
</dt><dd> $m</dd>";
$response_array['auto'] .= "<dt>Model:
</dt><dd> $mo</dd>";
if ($acounter == 0) {

$bacount++;
}else {

$bacount++;
}
$qry = $con_qr->prepare("INSERT INTO
$dbname.vehicles(AutoPolicy_Id,Year,Make,Model,ModelDetails,VIN,AntiTheft,PassiveRe
straints,OwnershipStatus,BodyStyle,OdometerReading,Drive,EngineInfo,GarageLocation,
LexisNexisOrderId,Deleted) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$qry->bind_param("iisssssssssssssi", $apid, $auto-
>Year, $auto->Make, $auto->Model, $auto->ModelDetails, $auto->VIN, $auto-
>AntiTheft, $auto->PassiveRestraints, $auto->OwnershipStatus, $auto->BodyStyle,
$auto->OdometerReading, $auto->Drive, $auto->EngineInfo, $fadd, $lnid, $del);
$qry->execute();
$qry->store_result();
if ($con_qr->insert_id == '') {
$autos[$acounter]['InsertError'] = $con_qr-
>error;
}else {
$autos[$acounter]['VehicleId'] = $con_qr-
>insert_id;
$aid = $con_qr->insert_id;
}
$autos[$acounter]['VIN'] = $auto->VIN;
$response_array['auto'] .= "<dt>VIN:
</dt><dd> " . $auto->VIN . "</dd>";
$autos[$acounter]['Year'] = $auto->Year;
$autos[$acounter]['Make'] = $auto->Make;
$autos[$acounter]['Model'] = $auto->Model;
$autos[$acounter]['OwnershipStatus'] = $auto-
>OwnershipStatus;
$response_array['auto'] .= "<dt>Ownership
Status: </dt><dd> " . $auto->OwnershipStatus . "</dd></dl><button
id='remAppVehicle' class='btn btn-danger' data-value='auto-$acounter' data-
id='$aid' data-apid='$apid'>Remove Vehicle</button></div></div>";

$acounter++;
}//end loop through autos
$response_array['auto'] .= "</div><hr><div
style='width:100%;'>";
foreach ($lexresp->Drivers as $dr) {
if ($dr->DateOfBirth != '') {
$yb = date("Y", strtotime($dr->DateOfBirth));
}else {
$yb = 'Unknown';
}
$f = $dr->NameFirst;
$l = $dr->NameLast;
$response_array['auto'] .= "<a
class='driverInfo' id='driver-$dcounter-button' data-value='driver-$dcounter'
href='#'><i class='fas fa-steering-wheel fa-4x'></i></a><div id='driver-$dcounter'
style='display:none;'><div class='meta-data'><dl class='dl-horizontal'>";
$response_array['auto'] .= "<dt>Driver:
</dt><dd> " . $dr->NameFirst . " " . $dr->NameLast . "</dd>";
if ($dcounter == 0) {

$bdcount++;
}else {

$bdcount++;
}
$qry = $con_qr->prepare("INSERT INTO
$dbname.drivers(AutoPolicy_Id,NameFirst,NameMiddle,NameLast,AgeFirstLicensed,DateOf
Birth,Gender,LicenseNumber,LicenseState,LicenseStatus,SR22FR44,SuspendRevoked5,SSN,
LexisNexisOrderId,Deleted) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$qry->bind_param("isssssssssssssi", $apid, $dr-
>NameFirst, $dr->NameMiddle, $dr->NameLast, $dr->AgeFirstLicensed, $dr-
>DateOfBirth, $dr->Gender, $dr->LicenseNumber, $dr->LicenseState, $dr-
>LicenseStatus, $dr->SR22FR44, $dr->SuspendRevoked5, $dr->SSN, $lnid, $del);
$qry->execute();
$qry->store_result();
if ($con_qr->insert_id == '') {
$drivers[$dcounter]['InsertError'] = $con_qr-
>error;
}else {
$drivers[$dcounter]['DriverId'] = $con_qr-
>insert_id;
$did = $con_qr->insert_id;
}
$drivers[$dcounter]['NameFirst'] = $dr->NameFirst;
$drivers[$dcounter]['NameMiddle'] = $dr->NameMiddle;
$drivers[$dcounter]['NameLast'] = $dr->NameLast;
$drivers[$dcounter]['DateOfBirth'] = $dr-
>DateOfBirth;
$response_array['auto'] .= "<dt>DOB:
</dt><dd> " . $dr->DateOfBirth . "</dd>";
$drivers[$dcounter]['DateFirstLicensed'] = $dr-
>DateFirstLicensed;
$response_array['auto'] .= "<dt>First
Licensed: </dt><dd> " . $dr->DateOfFirstLicensed . "</dd>";
$drivers[$dcounter]['AgeFirstLicensed'] = $dr-
>AgeFirstLicensed;
$drivers[$dcounter]['Gender'] = $dr->Gender;
$response_array['auto'] .= "<dt>Gender:
</dt><dd> " . $dr->Gender . "</dd>";
$drivers[$dcounter]['LicenseNumber'] = $dr-
>LicenseNumber;
$response_array['auto'] .= "<dt>DL Number:
</dt><dd> " . $dr->LicenseNumber . "</dd>";
$drivers[$dcounter]['LicenseState'] = $dr-
>LicenseState;
$response_array['auto'] .= "<dt>DL State:
</dt><dd> " . $dr->LicenseState . "</dd></dl><button id='remAppDriver' class='btn
btn-danger' data-value='driver-$dcounter' data-id='$did' data-apid='$apid'>Remove
Driver</button></div></div>";

$dcounter++;

}//end loop through drivers


$response_array['auto'] .= "</div>";

if (curl_errno($curl)) {
throw new Exception(curl_error($curl));
}
curl_close($curl);
//$response_array['drivers'] = json_encode($drivers);
//$response_array['autos'] = json_encode($autos);
}//end check for an auto policy id
$dcount = count($drivers);
$acount = count($autos);

}//end check if LexisResponseWasSuccessful

header('Content-type: application/json');
$response_array['lob'] = $line;
if (isset($leadid)) {
$response_array['lead-id'] = $leadid;
$qrya = $con->prepare("UPDATE applications set QRLeadId = ? where
ApplicationId = ?");
$qrya->bind_param("is", $leadid, $ApplicationId);
$qrya->execute();
}
$response_array['auto'] .= "</dl>";
$response_array['data'] .= "</dl>";
$response_array['data'] .= '
<div class="form-group">
<label class="control-
label">Central Alarm?</label>
<select class="form-
control" name="centralAlarmQ" id="centralAlarmQ">
<option
value="">Please Select Yes or No</option>
<option
value="Yes">Yes</option>
<option
value="No">No</option>
</select>
</div>
<div id="alarmQs" style="display:none;">
<div class="form-group">
<label
class="control-label">Does the system monitor for burglar, fire or both?</label>
<select class="form-
control" name="alarmTypeQ" id="alarmTypeQ">
<option
value="">Please Select Type</option>
<option
value="Both">Both</option>
<option
value="Burglar">Burglar</option>
<option
value="Fire">Fire</option>
</select>
</div>
<div class="form-group">
<label class="control-
label">Alarm Provider</label>
<input type="text"
class="form-control" name="alarm_provider" id="alarm_provider"></input>
</div>
<div class="form-group"
id="alarmDocsGroup">
<label class="control-
label">Copy of Alarm Certificate</label>
<input type="file"
class="form-control" name="alarm_docs" id="alarm_docs" multiple></input>
</div>
</div>
<div class="form-group">
<label
class="control-label">How old is the oldest water heater in your house?</label>
<select
class="form-control" name="waterHeaterAgeQ" id="waterHeaterAgeQ">
<option
value="">Please Select Type</option>
<option
value="0-15">0-15 years</option>
<option
value="16+">16+</option>
</select>
</div>
<div class="form-group"
id="waterHeaterLocationGroup" style="display:none;">
<label
class="control-label">Where is the oldest water heater located?</label>
<input type="text"
class="form-control" name="waterHeaterLocation" id="waterHeaterLocation">
</div>
<div class="form-group">
<label
class="control-label">Is your house located within 1500 feet of tidal
water?</label>
<select
class="form-control" name="tidalWaterQ" id="tidalWaterQ">
<option
value="">Please Select Type</option>
<option
value="Yes">Yes</option>
<option
value="No">No</option>
</select>
</div>
<div class="form-group"
id="tidalWaterQf" style="display:none;">
<label
class="control-label">Is your house located as the first exposed home to the
Gulf/Ocean, Bay or Intracoastal waterway?</label>
<select
class="form-control" name="tidalWaterFQ" id="tidalWaterFQ">
<option
value="">Please Select Type</option>
<option
value="Yes">Yes</option>
<option
value="No">No</option>
</select>
</div>
';
$response_array['status'] = 'Got Data';
$response_array['dcount'] = $dcount;
$response_array['acount'] = $acount;
echo json_encode($response_array);
}else {
header('Content-type: application/json');
$response_array['status'] = 'Failed';
$response_array['msg'] = 'Integration with QuoteRUSH has invalid
credentials. Please contact support.';
echo json_encode($response_array);
}
}//end getAppInfo
/**
*
*/
function getHomeQuotes() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con->prepare("SELECT correlation_lead_id from agency_contacts where
ContactId = ?");
$qry->bind_param("s", $_POST['get-home-quotes']);
$qry->execute();
$qry->store_result();
$opt = $_POST['get-home-quotes-option'];
$qry->bind_result($corrid);
$qry->fetch();
$qry2 = $con_qr->prepare("SELECT
CoverageA,CoverageB,CoverageC,CoverageD,CoverageE,CoverageF,QuoteDate,SiteName,Prem
ium,Description,HurricaneDeductible,AllOtherPerils,WindHailDeductible,Options,Id
from $dbname.propertyquotes where Property_Id in (SELECT Id from $dbname.properties
where Lead_Id = ?) AND QuoteDate > DATE_SUB(NOW(), INTERVAL 30 DAY) and (Premium
NOT LIKE '0.00' AND Premium NOT LIKE '0' AND Premium NOT LIKE '$0.00') ORDER BY
QuoteDate");
$qry2->bind_param("i", $corrid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$response_array['data'] = "<table id='recent-quotes-table' class='table
table-striped table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Carrier</th>
<th>Quote Date</th>
<th>Premium</th>
<th>Coverage A</th>
<th>Coverage B</th>
<th>Coverage C</th>
<th>Coverage D</th>
<th>Coverage E</th>
<th>Coverage F</th>
<th>Hurricane
Deductible</th>
<th>AOP
Deductible</th>
<th>Wind/Hail
Deductible</th>
<th>Select</th>
</tr>
</thead>
<tbody>";
$qry2->bind_result($CoverageA, $CoverageB, $CoverageC, $CoverageD,
$CoverageE, $CoverageF, $QuoteDate, $SiteName, $Premium, $Description,
$HurricaneDeductible, $AllOtherPerils, $WindHailDeductible, $Options, $QId);
while ($qry2->fetch()) {
$response_array['data'] .= "<tr>
<td>$SiteName</td>
<td>$QuoteDate</td>
<td><input type='text' class='form-
control' id='home-prem-$QId' name='home-prem-$QId' value='$Premium'></input></td>
<td><input type='text'
class='form-control' id='home-cova-$QId' name='home-cova-$QId'
value='$CoverageA'></input></td>
<td><input type='text'
class='form-control' id='home-covb-$QId' name='home-covb-$QId'
value='$CoverageB'></input></td>
<td><input type='text'
class='form-control' id='home-covc-$QId' name='home-covc-$QId'
value='$CoverageC'></input></td>
<td><input type='text'
class='form-control' id='home-covd-$QId' name='home-covd-$QId'
value='$CoverageD'></input></td>
<td><input type='text'
class='form-control' id='home-cove-$QId' name='home-cove-$QId'
value='$CoverageE'></input></td>
<td><input type='text'
class='form-control' id='home-covf-$QId' name='home-covf-$QId'
value='$CoverageF'></input></td>
<td><input type='text'
class='form-control' id='home-hd-$QId' name='home-hd-$QId'
value='$HurricaneDeductible'></input></td>
<td><input type='text'
class='form-control' id='home-aop-$QId' name='home-hd-$QId'
value='$AllOtherPerils'></input></td>
<td><input type='text'
class='form-control' id='home-wh-$QId' name='home-wh-$QId'
value='$WindHailDeductible'></input></td>
<td><button class='btn btn-primary
hqSelection' data-value='$QId' value='$opt'>Add to Option</td>
</tr>";
}//end loop through quotes
$response_array['data'] .= "<tr>
<td><input type='text'
class='form-control' id='home-site-0' name='home-site-0'></input></td>
<td><input type='text'
class='form-control' id='home-qdate-0' name='home-qdate-0'></input></td>
<td><input type='text'
class='form-control' id='home-prem-0' name='home-prem-0'
value='$Premium'></input></td>
<td><input type='text'
class='form-control' id='home-cova-0' name='home-cova-0'
value='$CoverageA'></input></td>
<td><input type='text'
class='form-control' id='home-covb-0' name='home-covb-0'
value='$CoverageB'></input></td>
<td><input type='text'
class='form-control' id='home-covc-0' name='home-covc-0'
value='$CoverageC'></input></td>
<td><input type='text'
class='form-control' id='home-covd-0' name='home-covd-0'
value='$CoverageD'></input></td>
<td><input type='text'
class='form-control' id='home-cove-0' name='home-cove-0'
value='$CoverageE'></input></td>
<td><input type='text'
class='form-control' id='home-covf-0' name='home-covf-0'
value='$CoverageF'></input></td>
<td><input type='text'
class='form-control' id='home-hd-0' name='home-hd-0'
value='$HurricaneDeductible'></input></td>
<td><input type='text'
class='form-control' id='home-aop-0' name='home-hd-0'
value='$AllOtherPerils'></input></td>
<td><input type='text'
class='form-control' id='home-wh-0' name='home-wh-0'
value='$WindHailDeductible'></input></td>
<td><button class='btn btn-
primary hqSelection' data-value='0' value='$opt'>Add to Option</td>
</tr>";
$response_array['data'] .= "</tbody></table>
<script>
var info_table = $('#recent-quotes-table').DataTable({
'order': [[ 0, 'asc' ], [ 1, 'desc'
]]
});
</script>";
}else {
//NO QUOTES
$response_array['data'] = "<table id='recent-quotes-table'
class='table table-striped table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Carrier</th>
<th>Quote Date</th>
<th>Premium</th>
<th>Coverage A</th>
<th>Coverage B</th>
<th>Coverage C</th>
<th>Coverage D</th>
<th>Coverage E</th>
<th>Coverage F</th>
<th>Hurricane
Deductible</th>
<th>AOP
Deductible</th>
<th>Wind/Hail
Deductible</th>
<th>Select</th>
</tr>
</thead>
<tbody>";
$response_array['data'] .= "<tr>
<td><input type='text'
class='form-control' id='home-site-0' name='home-site-0'></input></td>
<td><input type='text'
class='form-control' id='home-qdate-0' name='home-qdate-0'></input></td>
<td><input type='text'
class='form-control' id='home-prem-0' name='home-prem-0'
value='$Premium'></input></td>
<td><input type='text'
class='form-control' id='home-cova-0' name='home-cova-0'
value='$CoverageA'></input></td>
<td><input type='text'
class='form-control' id='home-covb-0' name='home-covb-0'
value='$CoverageB'></input></td>
<td><input type='text'
class='form-control' id='home-covc-0' name='home-covc-0'
value='$CoverageC'></input></td>
<td><input type='text'
class='form-control' id='home-covd-0' name='home-covd-0'
value='$CoverageD'></input></td>
<td><input type='text'
class='form-control' id='home-cove-0' name='home-cove-0'
value='$CoverageE'></input></td>
<td><input type='text'
class='form-control' id='home-covf-0' name='home-covf-0'
value='$CoverageF'></input></td>
<td><input type='text'
class='form-control' id='home-hd-0' name='home-hd-0'
value='$HurricaneDeductible'></input></td>
<td><input type='text'
class='form-control' id='home-aop-0' name='home-hd-0'
value='$AllOtherPerils'></input></td>
<td><input type='text'
class='form-control' id='home-wh-0' name='home-wh-0'
value='$WindHailDeductible'></input></td>
<td><button class='btn btn-
primary hqSelection' data-value='0' value='$opt'>Add to Option</td>
</tr>";
$response_array['data'] .= "</tbody></table>
<script>
var info_table = $('#recent-quotes-table').DataTable({
'order': [[ 0, 'asc' ], [ 1, 'desc'
]]
});
</script>";

}
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end getHomeQuotes

/**
*
*/
function getHomeQuoteDetail() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con_qr->prepare("SELECT SiteName,Premium,QuoteDate from
$dbname.propertyquotes where Id = ?");
$qry->bind_param("i", $_POST['get-home-quote-detail']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($sn, $prem, $qd);
}else{
$sn = $_POST['hq-site'];
$prem = $_POST['hq-prem'];
$qd = $_POST['hq-qdate'];
}
$qid = $_POST['get-home-quote-detail'];
$opt = $_POST['hq-option'];
$qry->fetch();
$response_array['data'] = "<input type='hidden' name='hq-cova-$opt' id='hq-
cova-$opt' value='".$_POST['hq-cova']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-prem-$opt' id='hq-
prem-$opt' value='".$_POST['hq-prem']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-covb-$opt' id='hq-
covb-$opt' value='".$_POST['hq-covb']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-covc-$opt' id='hq-
covc-$opt' value='".$_POST['hq-covc']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-covd-$opt' id='hq-
covd-$opt' value='".$_POST['hq-covd']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-cove-$opt' id='hq-
cove-$opt' value='".$_POST['hq-cove']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-covf-$opt' id='hq-
covf-$opt' value='".$_POST['hq-covf']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-hd-$opt' id='hq-hd-
$opt' value='".$_POST['hq-hd']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-aop-$opt' id='hq-
aop-$opt' value='".$_POST['hq-aop']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hq-wh-$opt' id='hq-wh-
$opt' value='".$_POST['hq-wh']."'></input>";
$response_array['data'] .= "<input type='hidden' name='hqSelection[]' id='hq-
selection-$opt' value='$qid'></input>
<p>$sn | $qd | $prem</p>
<button class='btn btn-primary removeHqSelection' value='$opt'>Remove
Quote</button>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end getHomeQuoteDetail

/**
*
*/
function getAutoQuotes() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con->prepare("SELECT correlation_lead_id from agency_contacts where
ContactId = ?");
$qry->bind_param("s", $_POST['get-auto-quotes']);
$qry->execute();
$qry->store_result();
$opt = $_POST['get-auto-quotes-option'];
$qry->bind_result($corrid);
$qry->fetch();
$qry2 = $con_qr->prepare("SELECT
ap.BodilyInjury,ap.UninsuredMotorist,ap.PropertyDamage,ap.MedicalPayments,ap.PIPDed
uctible,ap.WageLoss,ap.UninsuredMotoristsPropertyDamage,aq.SiteName,aq.Premium,aq.Q
uoteDate,ap.Id,aq.Id from $dbname.autopolicy ap, $dbname.autoquotes aq where
ap.Lead_Id = ? and aq.AutoPolicy_Id = ap.Id and QuoteDate > DATE_SUB(NOW(),
INTERVAL 30 DAY) and (Premium NOT LIKE '0.00' AND Premium NOT LIKE '0' AND Premium
NOT LIKE '$0.00') ORDER BY QuoteDate");
$qry2->bind_param("i", $corrid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$response_array['data'] = "<table id='recent-quotes-table' class='table
table-striped table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Carrier</th>
<th>Quote Date</th>
<th>Premium</th>
<th>Drivers</th>
<th>Vehicles</th>
<th>Select</th>
</tr>
</thead>
<tbody>";
$qry2->bind_result($BodilyInjury, $UninsuredMotorist, $PropertyDamage,
$MedicalPayments, $PIPDeductible, $WageLoss, $UninsuredMotoristsPropertyDamage,
$SiteName, $Premium, $QuoteDate, $APId, $QId);
while ($qry2->fetch()) {
$qry = $con_qr->prepare("SELECT COUNT(Id) from $dbname.drivers
where AutoPolicy_Id = ? and RatedDriver = ? and Deleted = ?");
$tr = 'Rated';
$f = 0;
$qry->bind_param("iii", $APId, $tr, $f);
$qry->execute();
$qry->store_result();
$qry->bind_result($dcount);
$qry->fetch();
$qry = $con_qr->prepare("SELECT COUNT(Id) from $dbname.vehicles
where AutoPolicy_Id = ? and Deleted = ?");
$int = 1;
$qry->bind_param("ii", $APId, $f);
$qry->execute();
$qry->store_result();
$qry->bind_result($vcount);
$qry->fetch();
$response_array['data'] .= "<tr>
<td>$SiteName</td>
<td>$QuoteDate</td>
<td>$Premium</td>
<td>$dcount</td>
<td>$vcount</td>
<td><button class='btn btn-
primary autoSelection' data-value='$QId' value='$opt'>Add to Option</td>
</tr>";
}//end loop through quotes
$response_array['data'] .= "</tbody></table>
<script>
var info_table = $('#recent-quotes-table').DataTable({
'order': [[ 0, 'asc' ], [ 1, 'desc'
]]
});
</script>";
}else {
//NO QUOTES
$response_array['data'] = "<h2>No recent auto quotes</h2>";
}
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end getAutoQuotes
/**
*
*/
function getAutoQuoteDetail() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con_qr->prepare("SELECT SiteName,Premium,QuoteDate from
$dbname.autoquotes where Id = ?");
$qry->bind_param("i", $_POST['get-auto-quote-detail']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($sn, $prem, $qd);
}else{
$sn = $_POST['auto-site-0'];
$prem = $_POST['auto-prem-0'];
$qd = $_POST['auto-qdate-0'];
}
$qid = $_POST['get-auto-quote-detail'];
$opt = $_POST['auto-option'];
$qry->fetch();
$response_array['data'] = "<input type='hidden' name='autoSelection[]'
id='auto-selection-$opt' value='$qid'></input>
<p>$sn | $qd | $prem</p>
<button class='btn btn-primary removeAutoSelection' value='$opt'>Remove
Quote</button>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end getAutoQuoteDetail

/**
*
*/
function getFloodQuotes() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con->prepare("SELECT correlation_lead_id from agency_contacts where
ContactId = ?");
$qry->bind_param("s", $_POST['get-flood-quotes']);
$qry->execute();
$qry->store_result();
$opt = $_POST['get-flood-quotes-option'];
$qry->bind_result($corrid);
$qry->fetch();
$qry2 = $con_qr->prepare("SELECT SiteName,Premium,QuoteDate,Id from
$dbname.floodquotes WHERE Lead_Id = ? and QuoteDate > DATE_SUB(NOW(), INTERVAL 30
DAY) and (Premium NOT LIKE '0.00' AND Premium NOT LIKE '0' AND Premium NOT LIKE
'$0.00') ORDER BY QuoteDate");
$qry2->bind_param("i", $corrid);
$qry2->execute();
$qry2->store_result();
if ($qry2->num_rows > 0) {
$response_array['data'] = "<table id='recent-quotes-table' class='table
table-striped table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Carrier</th>
<th>Quote Date</th>
<th>Premium</th>>
<th>Select</th>
</tr>
</thead>
<tbody>";
$qry2->bind_result($SiteName, $Premium, $QuoteDate, $QId);
while ($qry2->fetch()) {
$response_array['data'] .= "<tr>
<td>$SiteName</td>
<td>$QuoteDate</td>
<td>$Premium</td>
<td><button class='btn btn-
primary floodSelection' data-value='$QId' value='$opt'>Add to Option</td>
</tr>";
}//end loop through quotes
$response_array['data'] .= "</tbody></table>
<script>
var info_table = $('#recent-quotes-table').DataTable({
'order': [[ 0, 'asc' ], [ 1, 'desc'
]]
});
</script>";
}else {
//NO QUOTES
$response_array['data'] = "<h2>No recent flood quotes</h2>";
}
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end getFloodQuotes

/**
*
*/
function getFloodQuoteDetail() {
global $con, $con_qr;
$company = 'QuoteRush';
$dbname = getIntConn($company);
$qry = $con_qr->prepare("SELECT SiteName,Premium,QuoteDate from
$dbname.floodquotes where Id = ?");
$qry->bind_param("i", $_POST['get-flood-quote-detail']);
$qry->execute();
$qry->store_result();
$qry->bind_result($sn, $prem, $qd);
$qid = $_POST['get-flood-quote-detail'];
$opt = $_POST['flood-option'];
$qry->fetch();
$response_array['data'] = "<input type='hidden' name='floodSelection[]'
id='flood-selection-$opt' value='$qid'></input>
<p>$sn | $qd | $prem</p>
<button class='btn btn-primary removeFloodSelection' value='$opt'>Remove
Quote</button>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end getFloodQuoteDetail

/**
*
*/
function getProposalOptionDiv() {
$cur = intval($_POST['get-proposal-option-div']);
$optc = $cur + 1;
$response_array['data'] = "<div class='col-wrapper col-lg-4 col-md-4 col-sm-4
col-xs-4' id='option-$optc'>
<div class='module-wrapper'>
<section class='module module-cpu'>
<div class='module-inner'>
<div class='module-heading'>
<h3 class='module-
title'>Option $optc</h3>
<ul class='actions list-
inline'>
<li><a class='collapse-
module' data-toggle='collapse' href='#content-$optc' aria-expanded='false' aria-
controls='content-$optc'><span aria-hidden='true' class='icon
arrow_carrot-up'></span></a></li>

</ul>
</div>
<div class='module-content
collapse in' id='content-$optc'>
<div class='module-content-
inner no-padding-bottom text-center justify-content-center' style='overflow:auto;'>
<label
class='control-label' for='option-$optc-name'>Option Name</label>
<input type='hidden'
name='option[]' value='$optc'></input>
<input type='text'
class='form-control' name='option-$optc-name' id='option-$optc-name'></input>
<hr>
<label
class='control-label' for='option-$optc-recom'>Recommended</label>
<input
type='checkbox' class='form-control' name='option-$optc-recom' id='option-$optc-
recom'></input>
<hr>
<label
class='control-label' for='option-$optc-home'>Home Option</label>
<div id='option-
$optc-home-info'>
<button
class='btn btn-primary addHomeQuote' id='addHomeQuote-$optc'>Add Home
Option</button>
</div>
<hr>
<label
class='control-label' for='option-$optc-auto'>Auto Option</label>
<div id='option-
$optc-auto-info'>
<button
class='btn btn-primary addAutoQuote' id='addAutoQuote-$optc'>Add Auto
Option</button>
</div>
<hr>
<label
class='control-label' for='option-$optc-flood'>Flood Option</label>
<div id='option-
$optc-flood-info'>
<button
class='btn btn-primary addFloodQuote' id='addFloodQuote-$optc'>Add Flood
Option</button>
</div>
<hr>
<button class='btn btn-danger
removeOption' data-value='$optc'>Remove Option</button>
</div>
</div>
</div>
</section>
</div>
</div>";
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}//end getProposalOptionDiv

/**
*
*/
function generateProposal() {
global $con, $con_qr;
$qry = $con->prepare("SELECT ip_id, ip_secret from agency_integrations where
agency_id = ? and integration_company_id = ?");
$int = 1;
$qry->bind_param("si", $_SESSION['agency_id'], $int);
$qry->execute();
$qry->store_result();
$qry->bind_result($QRId, $apiKey);
$qry->fetch();
$qry = $con_qr->prepare("SELECT Agency_Id,DatabaseName from
quoterush.agencies where QRId = ?");
$qry->bind_param("s", $QRId);
$qry->execute();
$qry->store_result();
$qry->bind_result($AgencyId, $dbname);
$qry->fetch();
$qry = $con->prepare("SELECT correlation_lead_id from agency_contacts where
ContactId = ?");
$qry->bind_param("s", $_POST['proposal-ContactId']);
$qry->execute();
$qry->store_result();
$qry->bind_result($corrid);
$optc = count($_POST['option']);
$s = 1;
$arr = 0;
$qry->fetch();
$qry = $con_qr->prepare("SELECT EmailAddress from $dbname.leads WHERE Id
= ?");
$qry->bind_param("i", $corrid);
$qry->execute();
$qry->store_result();
$qry->bind_result($LeadEmail);
$qry->fetch();
$json = '{
"api_key": "'.$apiKey.'",
"Agency_Id": "'.$AgencyId.'",
"Lead": '.$corrid.',
"Submitter": "'.$_SESSION['currsession_email'].'",
"Notes": "'.$_POST['option-notes'].'",
"Options": [';
while ($s <= $optc) {
if (isset($_POST['hqSelection']["$arr"])) {
}else {
$_POST['hqSelection']["$arr"] = 0;
}
if (isset($_POST['autoSelection']["$arr"])) {
}else {
$_POST['autoSelection']["$arr"] = 0;
}
if (isset($_POST['floodSelection']["$arr"])) {
}else {
$_POST['floodSelection']["$arr"] = 0;
}
if (isset($_POST["option-$s-recom"])) {
$recom = "true";
}else {
$recom = "false";
}
if ($s < $optc) {
$json .= '
{
"Name": "'.$_POST["option-$s-name"].'",
"Recommended": '.$recom.',
"HomeQID": '.$_POST['hqSelection']["$arr"].',
"AutoQID": '.$_POST['autoSelection']["$arr"].',
"FloodQID": '.$_POST['floodSelection']["$arr"].',';
if (isset($_POST["hq-cova-$s"])) {
$json .= '
"Notes": "",
"HomeCustomizations": {
"CoverageA": '.$_POST["hq-cova-$s"].',
"CoverageB": '.$_POST["hq-covb-$s"].',
"CoverageC": '.$_POST["hq-covc-$s"].',
"CoverageD": '.$_POST["hq-covd-$s"].',
"CoverageE": '.$_POST["hq-cove-$s"].',
"CoverageF": '.$_POST["hq-covf-$s"].',
"HurricaneDeductible": "'.$_POST["hq-hd-$s"].'",
"AOP": "'.$_POST["hq-aop-$s"].'",
"WindHailDeductible": "'.$_POST["hq-wh-$s"].'",
"Premium": "'.$_POST["hq-prem-$s"].'"
}
},';
}else {
$json .= '
"Notes": ""
},';
}
}else {
//LAST ONE
$json .= '
{
"Name": "'.$_POST["option-$s-name"].'",
"Recommended": '.$recom.',
"HomeQID": '.$_POST['hqSelection']["$arr"].',
"AutoQID": '.$_POST['autoSelection']["$arr"].',
"FloodQID": '.$_POST['floodSelection']["$arr"].',';
if (isset($_POST["hq-cova-$s"])) {
$json .= '
"Notes": "",
"HomeCustomizations": {
"CoverageA": '.$_POST["hq-cova-$s"].',
"CoverageB": '.$_POST["hq-covb-$s"].',
"CoverageC": '.$_POST["hq-covc-$s"].',
"CoverageD": '.$_POST["hq-covd-$s"].',
"CoverageE": '.$_POST["hq-cove-$s"].',
"CoverageF": '.$_POST["hq-covf-$s"].',
"HurricaneDeductible": "'.$_POST["hq-hd-$s"].'",
"AOP": "'.$_POST["hq-aop-$s"].'",
"WindHailDeductible": "'.$_POST["hq-wh-$s"].'",
"Premium": "'.$_POST["hq-prem-$s"].'"
}
}';
}else {
$json .= '
"Notes": ""
}';
}

}
$s++;
$arr++;
}//end loop through options
$json .= ' ]
}';

$url = "https://proposals.keepthemsmiling.com/add-proposal.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch); // Performs the Request, with specified
curl_setopt() options (if any).
$result_dec = json_decode($result);
$url = $result_dec->ProposalURL;
$response_array['data'] = $url;
$response_array['email'] = $LeadEmail;
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);

}//end generateProposal

function getDuplicatesByName(){
global $con,$con_qr;
$qry = $con->prepare("SELECT name,bname,ContactId,count(name) from
agency_contacts where name not like '' and name is not null and name not like
'%HAPPY HOMEOWNER%' and hidden = 0 AND (bname like '' OR bname IS NULL) GROUP BY
name having count(name) > 1");
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($name,$bname,$ContactId,$counter);
echo "<table id='duplicate-names-table' class='table table-striped
table-bordered dataTable no-footer'>
<thead>
<tr>
<th>Name</th>
<th>Business Name</th>
<th>Current Agency</th>
<th>Address</th>
<th>Phone</th>
<th>Email</th>
<th>Policy
Count</th>
<th>Note Count</th>
<th>File
Count</th>";
$company = 'QuoteRush';
$db_name = getIntConn($company);
if($db_name != ''){
echo " <th>QR Lead Id</th>";
}
echo "<th>Actions</th>

</tr>
</thead>
<tbody>";
while($qry->fetch()){
$qry2 = $con->prepare("SELECT
address,address_line2,city,state,zip,phone,email,ContactId,id,correlation_lead_id,a
gency_id from agency_contacts where name = ? and hidden = 0");
$qry2->bind_param("s", $name);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($add,$add2,$city,$state,$zip,$phone,$email,
$ContactId,$cid,$corrid,$agency_id);
while($qry2->fetch()){
$qry3 = $con->prepare("SELECT COUNT(id) from policies where
ContactId = ?");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($pcount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT COUNT(id) from
contact_notes where (ContactId = ?)");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($ncount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT COUNT(id) from
policy_notes where ContactId = ? ");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($pncount);
$qry3->fetch();
$notecount = $pncount + $ncount;
$qry3 = $con->prepare("SELECT COUNT(id) from files
where (identifier = ? OR ContactId = ?) OR identifier in (SELECT policy_number from
policies where ContactId = ?)");
$qry3->bind_param("sss", $cid, $ContactId,
$ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($fcount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT agency_name from
agency_globals where agency_id = ?");
$qry3->bind_param("s", $agency_id);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($agency);
$qry3->fetch();
echo "<tr>
<td><a href='#' id='contact_info'
data-value='$ContactId'><u>$name</u></a></td>
<td>$bname</td>
<td>$agency</td>
<td>$add $add2 $city, $state
$zip</td>
<td>$phone</td>
<td>$email</td>
<td>$pcount</td>
<td>$notecount</td>
<td>$fcount</td>";
if($db_name != ''){
echo "<td>$corrid</td>";
}
echo " <td><button class='btn btn-
primary hideContact' data-value='$ContactId'>Hide Contact</button><button
class='btn btn-primary mergeContact' data-value='$ContactId'>Merge
Contact</button></td>
</tr>";
}//end loop through duplicate contacts
}
$qry = $con->prepare("SELECT bname,ContactId,count(bname) from
agency_contacts where hidden = 0 AND bname NOT like '' AND bname IS NOT NULL GROUP
BY bname having count(bname) > 1");
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($bname,$ContactId,$counter);
while($qry->fetch()){
$qry2 = $con->prepare("SELECT
address,address_line2,city,state,zip,phone,email,ContactId,id,correlation_lead_id,a
gency_id from agency_contacts where name = ? and hidden = 0");
$qry2->bind_param("s", $name);
$qry2->execute();
$qry2->store_result();
$qry2->bind_result($add,$add2,$city,$state,$zip,
$phone,$email,$ContactId,$cid,$corrid,$agency_id);
while($qry2->fetch()){
$qry3 = $con->prepare("SELECT COUNT(id) from
policies where ContactId = ?");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($pcount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT COUNT(id) from
contact_notes where (ContactId = ?)");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($ncount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT COUNT(id) from
policy_notes where ContactId = ? ");
$qry3->bind_param("s", $ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($pncount);
$qry3->fetch();
$notecount = $pncount + $ncount;
$qry3 = $con->prepare("SELECT COUNT(id) from
files where (identifier = ? OR ContactId = ?) OR identifier in (SELECT
policy_number from policies where ContactId = ?)");
$qry3->bind_param("sss", $cid, $ContactId,
$ContactId);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($fcount);
$qry3->fetch();
$qry3 = $con->prepare("SELECT agency_name
from agency_globals where agency_id = ?");
$qry3->bind_param("s", $agency_id);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($agency);
$qry3->fetch();
echo "<tr>
<td><a
href='#' id='contact_info' data-value='$ContactId'><u>$bname</u></a></td>

<td>$bname</td>

<td>$agency</td>
<td>$add
$add2 $city, $state $zip</td>

<td>$phone</td>

<td>$email</td>

<td>$pcount</td>

<td>$notecount</td>

<td>$fcount</td>";
if($db_name != ''){
echo "<td>$corrid</td>";
}
echo " <td><button
class='btn btn-primary hideContact' data-value='$ContactId'>Hide
Contact</button><button class='btn btn-primary mergeContact' data-
value='$ContactId'>Merge Contact</button></td>
</tr>";
}//end loop through duplicate contacts
}//end loop through rows
}//end found rows for business
echo "</tbody></table>";
}//found rows
}//end getDuplicateByName

function mergeContactsModal(){
global $con;
$ContactId = $_POST['merge-ContactId'];
$response_array['data'] = '';
$response_array['data'] .= "
<form class='form-horizontal' id='merge_contact_form'
action='functions/functions.php' method='post' enctype='multipart/form-data'
role='form'>
<input type='hidden' name='old_contact_id'
value='$ContactId'></input>
<label for='task_contact_assoc'>Current Contact Policy is
Associated To</label>";
$stmt = $con->prepare("SELECT concat(fname, ' ', lname) as name, address,
id from agency_contacts where ContactId = ? ");
//echo $con->error;
$stmt->bind_param("s", $ContactId);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($curr_contact, $add, $curr_id);
$stmt->fetch();
$response_array['data'] .= "
<input type='text' class='form-control' value='$curr_contact - $add |
$curr_id' readonly></input>
<input type='text' class='form-control' id='merge_contact_assoc'
name='merge_contact_assoc' placeholder='Contact to Merge To'></input>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$response_array['data'] .= '<button type="submit" class="btn btn-block btn-
primary" id="mergeContact">Merge Contact</button>
</form>';

$response_array['data'] .= '
<script type="text/javascript">
$(document).ready(function() {
$("input#merge_contact_assoc").autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "search-auto-comp.php",
type: "post",
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
}
});
});
</script>';
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

function mergeContacts(){
global $con;
$OContactId = $_POST['old_contact_id'];
$exp = explode("|", $_POST['merge_contact_assoc']);
$ContactId = $exp[1];
$qry = $con->prepare("UPDATE agency_contacts SET hidden = 1 where ContactId =
?");
$qry->bind_param("s", $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE agency_workflow_history SET ContactId = ? where
ContactId = ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE claims SET ContactId = ? where ContactId = ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE contact_notes SET ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE deals set ContactId = ? where ContactId = ? ");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE deal_files set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE deal_notes SET ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE fax_traffic SET ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE files SET ContactId = ? where ContactId = ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE invoices set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE lead_history set ContactId = ? where ContactId =
?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE notifications set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE policies set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE policy_notes set ContactId = ? where ContactId =
?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE policy_renewal SET ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE property_info SET ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE proposals set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE qb_return set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE sms_traffic set ContactId = ? where ContactId
= ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
$qry = $con->prepare("UPDATE tasks set ContactId = ? where ContactId = ?");
$qry->bind_param("ss", $ContactId, $OContactId);
$qry->execute();
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end mergeContacts

function addNote(){
global $con;
if($_POST['noteSection'] == 'Policy'){
$qry = $con->prepare("INSERT INTO
policy_notes(ContactId,PolicyId,agency_id,note_content,note_by)
VALUES(?,?,?,?,?)");
$qry->bind_param("sssss", $_POST['nContactId'],
$_POST['nPolicyId'], $_POST['nAgencyId'], $_POST['nNoteContent'], $_POST['nUID']);
$qry->execute();
$qry->store_result();
}
if($_POST['noteSection'] == 'Contact'){
$qry = $con->prepare("INSERT INTO
contact_notes(ContactId,agency_id,note_content,note_by) VALUES(?,?,?,?)");
$qry->bind_param("ssss", $_POST['nContactId'], $_POST['nAgencyId'],
$_POST['nNoteContent'], $_POST['nUID']);
$qry->execute();
$qry->store_result();
}
if($con->insert_id != ''){
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else{
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
}

function updateField(){
global $con;
$qry = $con->prepare("UPDATE ? set ? = ? where ? = ?");
$qry->bind_param("sssss", $_POST['uTable'], $_POST['uField'],
$_POST['uFieldValue'], $_POST['uIdentifier'], $_POST['uIdentifierValue']);
$qry->execute();
if($con->affected_rows > 0){
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else{
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
}//end updateField

function addProduct(){
global $con,$con_adm;
$qry = $con_adm->prepare("SELECT ProductId from ams_admin.products where
ProductName = ?");
$qry->bind_param("s", $_POST['add-product']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($ProductId);
$qry->fetch();
$qry2 = $con_adm->prepare("INSERT INTO
ams_admin.agency_product_mapping(AgencyId,ProductId,Quantity) VALUES(?,?,?)");
$qty = 1;
$qry2->bind_param("ssi", $_SESSION['AgencyId'], $ProductId, $qty);
$qry2->execute();
$qry2->store_result();
if($con_adm->insert_id != ''){
$qry3 = $con_adm->prepare("SELECT agency_name from
ams_admin.agency_globals where AgencyId = ?");
$qry3->bind_param("s", $_SESSION['AgencyId']);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($AgencyName);
$qry3->fetch();
require '../vendor/autoload.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.office365.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = 'james@keepthemsmiling.com';
$mail->Password = 'Mustang50!';
$sa = 'james@keepthemsmiling.com';
$san = 'Product Updates';
$mail->SetFrom("$sa", "$san");
$mail->addReplyTo($_SESSION['currsession_email'],
$_SESSION['fname']);
$mail->addAddress('james@keepthemsmiling.com');
$mail->IsHTML(true);
$bd = "$AgencyName wants to add " . $_POST['add-product'];
$mail->Subject = "Product Change";
$mail->Body = $bd;

if (!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}
}else{
header('Content-type: application/json');
$response_array['status'] = "Error Insert Failed" .
$con_adm->error;
echo json_encode($response_array);
}
}else{
header('Content-type: application/json');
$response_array['status'] = "Error Product Not Found" . $con_adm-
>error;
echo json_encode($response_array);
}
}//addProduct

function removeProduct(){
global $con,$con_adm;
$qry = $con_adm->prepare("SELECT ProductId from ams_admin.products where
ProductName = ?");
$qry->bind_param("s", $_POST['remove-procut']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$qry->bind_result($ProductId);
$qry->fetch();
$qry2 = $con_adm->prepare("DELETE FROM
ams_admin.agency_product_mapping where AgencyId = ? and ProductId = ?");
$qty = 1;
$qry2->bind_param("ss", $_SESSION['AgencyId'], $ProductId);
$qry2->execute();
$qry2->store_result();
if($con_adm->affected_rows > 0){
$qry3 = $con_adm->prepare("SELECT agency_name from
ams_admin.agency_globals where AgencyId = ?");
$qry3->bind_param("s", $_SESSION['AgencyId']);
$qry3->execute();
$qry3->store_result();
$qry3->bind_result($AgencyName);
$qry3->fetch();
require '../vendor/autoload.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.office365.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = 'james@keepthemsmiling.com';
$mail->Password = 'Mustang50!';
$sa = 'james@keepthemsmiling.com';
$san = 'Product Updates';
$mail->SetFrom("$sa", "$san");
$mail->addReplyTo($_SESSION['currsession_email'],
$_SESSION['fname']);
$mail->addAddress('james@keepthemsmiling.com');
$mail->IsHTML(true);
$bd = "$AgencyName wants to remove " . $_POST['remove-
product'];
$mail->Subject = "Product Change";
$mail->Body = $bd;

if (!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}
}else{
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
}else{
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}
}//removeProduct

function getworkflowdata($id)
{
global $con;
$id=base64_decode($id);

$qry = $con->prepare("select * from workflow_rules where rule_id=?");


$qry->bind_param("i", $id);
$qry->execute();
$qry=$qry->get_result();
if ($qry->num_rows > 0) {

while($row = $qry->fetch_assoc()) {
$data['rule_name'] = $row['rule_name'];
$data['module_name'] = $row['module_name'];
$data['description']=$row['description'];
$data['execute_on']=$row['execute_on'];
$data['repeat_workflow']=$row['repeat_workflow'];
$data['field_updated_condition']=$row['field_updated_condition'];
$data['rule_id']=$row['rule_id'];
$data['workflow_condition']=$row['workflow_edit_condition'];
$data['match_condition']=$row['match_condition'];
$data['execute_at']=$row['execute_at'];
$data['dhs']=$row['dhs'];
$data['time_at']=$row['time_at'];
$data['date_picklist']=$row['date_picklist'];
$data['time']=$row['time'];
$data['recur']=$row['recur'];

}
} else {
$data['response']="No data";

}
//$con->close();
return $data;
}
function getworkflowassociation($id)
{
global $con;
$id=base64_decode($id);

$qry = $con->prepare("select * from workflow_association where workflow_id=?");


$qry->bind_param("i", $id);
$qry->execute();
$qry=$qry->get_result();

//$instact_action=[];
$instant=[];
$datebased=[];
if ($qry->num_rows > 0) {

while($row = $qry->fetch_assoc()) {
if($row['action_for']=="Instant")
{
$instant['fieldupdated']=explode(",", $row['field_updated_id']);
$instant['note_id']=explode(",",$row['note_id']);
$instant['email_id']=explode(",", $row['email_id']);
$instant['sms_id']=explode(",",$row['sms_id']);
$instant['task_id']=explode(",", $row['task_id']);
$instant['create_id']=explode(",",$row['created_id']);
$instant['create_for']=explode(",",$row['created_record_for']);
$instant['webhook_id']=explode(",",$row['webhook_id']);
}
if($row['action_for']=="Date")
{
$datebased['fieldupdated']=explode(",", $row['field_updated_id']);
$datebased['note_id']=explode(",",$row['note_id']);
$datebased['email_id']=explode(",", $row['email_id']);
$datebased['sms_id']=explode(",", $row['sms_id']);
$datebased['task_id']=explode(",", $row['task_id']);
$datebased['create_id']=explode(",",$row['created_id']);
$datebased['create_for']=explode(",",$row['created_record_for']);
$datebased['webhook_id']=explode(",",$row['webhook_id']);
$datebased['date_action_trigger_time']=explode(",",
$row['date_action_trigger_time']);
$datebased['hours_mins_days']=explode(",",$row['hours_mins_days']);

}
$data['instant']=$instant;
$data['datebased']=$datebased;
} else {
$data['response']="No data";

}
//$con->close();
return json_encode($data);
}

function getSMSNotifications() {

global $con;
$user_id = $_SESSION['uid'];

$rd_qry = $con->query("SELECT a.*,b.fname,b.lname,b.id as cid, b.ContactId


from sms_traffic as a, agency_contacts as b where (sent_by = '$user_id' OR
( assigned_to = '$user_id' OR assigned_to in (SELECT GroupId from
agency_agent_groups where GroupId in (SELECT GroupId from
agency_agent_group_mappings where user_id = '$user_id')) OR assigned_to =
'$user_id' OR assigned_to = '')) and seen = 0 and a.ContactId = b.ContactId and
direction = 'INBOUND'");
if (!$rd_qry) {

echo "
<div class='item media'>

<div class='media-body'>

<span class='name'>No notifications found for you!</span>

</div>

<div class='meta'>

now

</div>

</div>";
}else {

while ($row = $rd_qry->fetch_assoc()) {


$id = $row['id'];
$desc = $row['content'];
$name = $row['fname'] . ' ' . $row['lname'];
$name = "<b>$name</b> - ";
$due = explode(" ", $row['sent_on']);
$due = $due[0];
$due = date("D M j, Y", strtotime($due));
$cid = $row['cid'];
$ContactId = $row['ContactId'];

echo "
<div class='item media'>

<div class='media-body'>

<a href='#' class='smsNotification' id='contact_info' data-value='$ContactId' data-


task='$id'><span class='name'>$name</span> <span class='action'>$desc - Due:
$due</span></a>

</div>

<div class='meta'>

<a href='#' name='sms_dismiss' id='sms_dismiss' data-value='$id'>Dismiss</a>

</div>

</div>";

}//end while
}//end Else
}// End getSMSNotifications

function getSMSNotificationCount() {

global $con;
$user_id = $_SESSION['uid'];

$rd_qry = $con->query("SELECT count(a.id) as notification_count from


sms_traffic as a, agency_contacts as b where (sent_by = '$user_id' OR ( assigned_to
= '$user_id' OR assigned_to in (SELECT GroupId from agency_agent_groups where
GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id =
'$user_id')) OR assigned_to = '$user_id' OR assigned_to = '')) and seen = 0 and
a.ContactId = b.ContactId and direction = 'INBOUND' ");
$row = $rd_qry->fetch_assoc();
$count = $row['notification_count'];

return $count;exit;

}//End getSMSNotificationCount

function getDogBreedsSelect(){
global $con_qr;
$qry = $con_qr->prepare("SELECT Breed from qrprod.dogbreeds order by Breed
ASC");
$qry->execute();
$qry->store_result();
$response_array['breeds'] = '';
$qry->bind_result($Breed);
while($qry->fetch()){
$response_array['breeds'] .= "<option value='$Breed'>$Breed</option>";
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end getDogBreedSelect

function getAutoCarriersOptions(){
global $con_qr;
$qry = $con_qr->prepare("SELECT Carrier from qrprod.autocarriers");
$qry->execute();
$qry->store_result();
$qry->bind_result($Carrier);
while($qry->fetch()){
echo "<option value='$Carrier'>$Carrier</option>";
}
}//end getAutoCarriersOptions

function getHomeCarriersOptions(){
global $con_qr;
$qry = $con_qr->prepare("SELECT Carrier from qrprod.homecarriers");
$qry->execute();
$qry->store_result();
$qry->bind_result($Carrier);
while($qry->fetch()){
echo "<option value='$Carrier'>$Carrier</option>";
}
}//end getHomeCarriersOptions

function saveAppStep(){
global $con;
$qry = $con->prepare("UPDATE applications set Stage = ?, Form = ? where
ApplicationId = ?");
$qry->bind_param("sss", $_POST['set-app-step'], $_POST['progress'],
$_SESSION['AppId']);
$qry->execute();
}

function getCurrentApp(){
global $con;
$qry = $con->prepare("SELECT Form from applications where ApplicationId
= ?");
if($_POST['get-current-app'] == 'true'){
$qry->bind_param("s", $_SESSION['AppId']);
}else{
$qry->bind_param("s", $_POST['get-current-app']);
$_SESSION['AppId'] = $_POST['get-current-app'];
}
$qry->execute();
$qry->store_result();
$qry->bind_result($f);
$qry->fetch();
$response_array['form'] = $f;
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}

function saveApp(){
global $con;
if(isset($_SESSION['AppId'])){
$qry = $con->prepare("UPDATE applications set Form = ? where
ApplicationId = ?");
$qry->bind_param("ss", $_POST['progress'], $_SESSION['AppId']);
$qry->execute();
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}else{
$response_array['reason'] = "This application must make it through the
property info data pull before it can be saved.";
header('Content-type: application/json');
$response_array['status'] = 'Error';
echo json_encode($response_array);
}
}

function resetApp(){
unset($_SESSION['AppId']);
header('Content-type: application/json');
$response_array['status'] = 'Got Data';
echo json_encode($response_array);
}

function getRecentApps(){
global $con;
if($_SESSION['is_adm'] == 'Yes'){
$qry = $con->prepare("SELECT Applicant_FirstName, Applicant_LastName,
ApplicationId, Created from applications order by Created DESC LIMIT 25");
$qry->execute();
$qry->store_result();
$qry->bind_result($FName,$LName,$AppId,$Created);
while($qry->fetch()){
$Created = date("F j, Y, g:i a", strtotime($Created));
echo "<option value='$AppId'>$FName $LName - $Created</option>";
}
}else{
$qry = $con->prepare("SELECT Applicant_FirstName,
Applicant_LastName, ApplicationId, Created from applications WHERE user_Id = ?
order by Created DESC LIMIT 25");
$qry->bind_param("i", $_SESSION['uid']);
$qry->execute();
$qry->store_result();
$qry->bind_result($FName,$LName,$AppId,$Created);
while($qry->fetch()){
$Created = date("F j, Y, g:i a", strtotime($Created));
echo "<option value='$AppId'>$FName $LName -
$Created</option>";
}
}
}//end getRecentApps
function deleteReport()
{
global $con;
$report_id = $_POST['deleteReport'];
$qry = $con->prepare("DELETE from saved_reports where report_id = ?");
$qry->bind_param('s',$report_id);
$qry->execute();
if ($qry->affected_rows < 1)
{

header('Content-type: application/json');
$response_array['status'] = "Failed.";
echo json_encode($response_array);

}
else
{

header('Content-type: application/json');
$response_array['status'] = "done";
echo json_encode($response_array);
}
}
function getClaimOptions(){
global $con_qr;
$qry = $con_qr->prepare("select OptionValue from
qrprod.agency_webform_field_options where FieldId = 'cc1275dc-809b-11ea-a8d1-
000d3a7ae61a' order by OptionValue");
$qry->execute();
$qry->store_result();
$response_array['claimdetail'] = '';
$qry->bind_result($cd);
while($qry->fetch()){
$response_array['claimdetail'] .= "<option
value='$cd'>$cd</option>";
}
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end getClaimOptions

function dismissAllQBReturn(){
global $con;
$agency_id = $_SESSION['agency_id'];
$current_uid = $_SESSION['uid'];
$qry = $con->query("UPDATE qb_return set ackd = 'Yes' where id in (SELECT
qb_return.id from qb_return,agency_contacts where returned_amt is not null and
status = 'Complete' and ackd = 'No' and qb_return.ContactId in (select ContactId
from agency_contacts where (assigned_to = '$current_uid' OR assigned_to is null OR
assigned_to like '' OR assigned_to in (SELECT GroupId from agency_agent_groups
where GroupId in (SELECT GroupId from agency_agent_group_mappings where user_id =
'$current_uid')) )) and qb_return.agency_id = '$agency_id' and qb_return.ContactId
= agency_contacts.ContactId)");
}

function reAssociateSMS() {
global $con;
$smsid = $_POST['reassociate_sms'];
$response_array['data'] = '';
$response_array['data'] .= "
<form class='form-horizontal' id='re_assoc_sms' action='functions/functions.php'
method='post' enctype='multipart/form-data' role='form'>
<input type='hidden' name='sms_id' value='$smsid'></input>
<label for='task_contact_assoc'>Current Contact Policy is Associated To</label>";
$response_array['data'] .= "
<input type='text' class='form-control' id='sms_contact_assoc'
name='sms_contact_assoc' placeholder='Contact to Associate SMS To'></input>";

if (isset($_SESSION['global_selector']) && $_SESSION['global_selector'] !=


'Please Select an Agency to view their info') {
$agency_id = $_SESSION['global_selector'];
}else {
$agency_id = $_SESSION['agency_id'];
}
$response_array['data'] .= '<button type="submit" class="btn btn-block btn-
primary" id="reAssociateSMS">Associate SMS</button>
</form>';

$response_array['data'] .= '
<script type="text/javascript">
$(document).ready(function() {
$("input#sms_contact_assoc").autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "search-auto-comp.php",
type: "post",
dataType: "json",
data: {
search: request.term
},
success: function( data ) {
response( data );
}
});
}
});
});

</script>';
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);

}//end reAssociateSMS

function newAccountModal(){
global $con, $con_qr, $con_adm;
$response_array['data'] = "<form class='form-horizontal'
id='new_account_form' action='functions/functions.php' method='post'
enctype='multipart/form-data' role='form'>
<input type='hidden' name='add-new-account' value='true'>
<label for='new-account-type' class='control-label'>Account Type</label>
<select class='form-control' name='new-account-type' id='new-account-type'>
<option value=''>Please Select Account Type</option>";
$qry = $con_adm->prepare("SELECT AccountType, AccountType_Id from
ams_admin.agency_account_types order by AccountType ASC");
$qry->execute();
$qry->store_result();
$qry->bind_result($at, $atid);
while($qry->fetch()){
$response_array['data'] .= "<option value='$atid'>$at</option>";
}
$response_array['data'] .= "</select>
<label for='new-account-name' class='control-label'>Account Name</label>
<input type='text' name='new-account-name' id='new-account-name' class='form-
control'>
<label for='new-account-status' class='control-label'>Account Status</label>
<select class='form-control' name='new-account-status' id='new-account-
status'><option value='Active'>Active</option><option value='In-Active'>In-
Active</option></select>
<label for='new-account-owner' class='control-label'>Account Owner</label>
<select class='form-control' name='new-account-owner' id='new-account-
owner'><option value='' disabled>Please Select Account Owner</option>";
$qry = $con->prepare("SELECT group_name,GroupId from agency_agent_groups where
agency_id = ? order by group_name");
$qry->bind_param("s", $_SESSION['agency_id']);
$qry->execute();
$qry->store_result();
if($qry->num_rows > 0){
$response_array['data'] .= "<option value=''
disabled>----GROUPS----</option>";
$qry->bind_result($GroupName,$GroupId);
while($qry->fetch()){
$response_array['data'] .= "<option
value='$GroupId'>$GroupName</option>";
}
}
$response_array['data'] .= "<option value=''
disabled>----USERS----</option>";
$rd_qry = $con->prepare("SELECT fname,lname,user_id from users_table where
agency_id = ? order by lname asc");
$rd_qry->bind_param("s", $_SESSION['agency_id']);
$rd_qry->execute();
$rd_qry->store_result();
$rd_qry->bind_result($fname, $lname, $user_id);
while ($rd_qry->fetch()) {
$count = 1;
$response_array['data'] .= " <option
value='$user_id'>$lname, $fname</option>";
$count++;
}
if ($_SESSION['is_mgr'] == 'Yes') {
$sub_query = $con->prepare("SELECT agency_name,agency_id from
agency_globals where mast_agency_id = ? ");
$sub_query->bind_param("s", $_SESSION['agency_id']);
$sub_query->execute();
$sub_query->store_result();
if ($sub_query->num_rows > 0) {
$sub_query->bind_result($agency_name, $sub_id);
while ($sub_query->fetch()) {
$response_array['data'] .= "<option disabled>----
$agency_name----</option>";
$ld_qry = $con->prepare("SELECT concat(fname, ' ', lname)
as name, user_id from users_table where agency_id = ? order by lname asc");
$ld_qry->bind_param("s", $sub_id);
$ld_qry->execute();
$ld_qry->store_result();
if ($ld_qry->num_rows > 0) {
$ld_qry->bind_result($name, $agent_id);
while ($ld_qry->fetch()) {
$response_array['data'] .= "<option
value='$agent_id'>$name</option>";
}//end while
}//end check for sub users
}//sub agency while
}//end check for rows
}//end check if mgr
$response_array['data'] .= '<button type="submit" class="btn btn-block btn-
primary" id="addNewAccount">Add Account</button>
</form>';
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}

function addNewAccount(){
global $con, $con_qr;
if($_POST['new-account-owner'] === ''){
$owner = $_SESSION['uid'];
}else{
$owner = $_POST['new-account-owner'];
if(strpos($owner, "-") !== false){
$qry = $con->prepare("SELECT agency_id from agency_agent_groups
where GroupId = ?");
$qry->bind_param("s", $owner);
$qry->execute();
$qry->store_result();
$qry->bind_result($agency_id);
$qry->fetch();
}else{
$qry = $con->prepare("SELECT agency_id from users_table where
user_id = ?");
$qry->bind_param("s", $owner);
$qry->execute();
$qry->store_result();
$qry->bind_result($agency_id);
$qry->fetch();
}
}
$qry = $con->prepare("INSERT INTO
agency_accounts(agency_id,account_name,owner,account_type_id,account_status)
VALUES(?,?,?,?,?)");
$qry->bind_param("sssss", $agency_id, $_POST['new-account-name'], $owner,
$_POST['new-account-type'], $_POST['new-account-status']);
$qry->execute();
$qry->store_result();
if ($con->insert_id != '') {
$id = $con->insert_id;
$qry = $con->prepare("UPDATE agency_accounts set AccountId = UUID()
where id = ?");
$qry->bind_param("i", $id);
$qry->execute();
$qry->store_result();
$qry = $con->prepare("SELECT AccountId from agency_accounts where id
= ?");
$qry->bind_param("i", $id);
$qry->execute();
$qry->store_result();
$qry->bind_result($AccountId);
$qry->fetch();
header('Content-type: application/json');
$response_array['account'] = $AccountId;
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}else{
header('Content-type: application/json');
$response_array['status'] = "Failed";
echo json_encode($response_array);
}
}

function getAccountInfo(){
global $con, $con_qr;
}
?>

You might also like