Professional Documents
Culture Documents
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['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']);
$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();
}
}
// End registerUser
/**
* Begin userLogin
*
* @param unknown $con
*/
function userLogin($con) {
global $con, $con_adm;
/**
*
* @param unknown $form
* @return unknown
*/
function verifyFormToken($form) {
// 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;
if ($result->num_rows === 0) {
}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;
}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 ($_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
$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'];
$my_policies = $row['my_policies'];
return $my_policies;exit;
} //End getActivePolicies
//Begin getTotalPolicyPremiums
/**
*
* @return unknown
*/
function getTotalPolicyPremiums() {
global $con;
$premiums = $row['premiums'];
if (empty($premiums)) {
$premiums = "0.00";
}
return $premiums;exit;
} //End getTotalPolicyPremiums
//Begin getTotalProspects
/**
*
* @return unknown
*/
function getTotalProspects() {
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
$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) {
$prospects = $row['prospects'];
if (empty($prospects)) {
$prospects = "0";
}
return $prospects;exit;
} //End getMyTotalProspects
/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyTotalQuoted($contact_id) {
$quoted = $row['quoted'];
if (empty($quoted)) {
$quoted = "0";
}
return $quoted;exit;
} //End getMyTotalQuoted
//Begin getColdLeads
/**
*
* @return unknown
*/
function getColdLeads() {
} //End getColdLeads
//Begin getMyColdLeads
/**
*
* @param unknown $contact_id
* @return unknown
*/
function getMyColdLeads($contact_id) {
if (empty($cold_leads)) {
$cold_leads = "0";
}
return $cold_leads;exit;
} //End getMyColdLeads
//Begin getTotalActive
/**
*
* @return unknown
*/
function getTotalActive() {
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
$active = $row['active'];
if (empty($active)) {
$active = "0";
}
return $active;exit;
} //End getTotalActive
//Begin getTotalClients
/**
*
* @return unknown
*/
function getTotalClients() {
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
$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) {
$active = $row['active'];
if (empty($active)) {
$active = "0";
}
return $active;exit;
} //End getMyTotalActive
//Begin getNewBusinessPrem
/**
*
* @return unknown
*/
function getNewBusinessPrem() {
global $con;
$newbus = $row['new_bus'];
if (empty($newbus)) {
$newbus = "0";
}
return $newbus;exit;
} //End getNewBusinessPrem
//Begin getRenewalBusinessPrem
/**
*
* @return unknown
*/
function getRenewalBusinessPrem() {
global $con;
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 (empty($renewbus)) {
$renewbus = "0";
}
return $renewbus;exit;
} //End getRenewalBusinessPrem
//Begin getExpBusinessPrem
/**
*
* @return unknown
*/
function getExpBusinessPrem() {
global $con;
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
$expbus = $row['exp_bus'];
if (empty($expbus)) {
$expbus = "0";
}
return $expbus;exit;
} //End getExpBusinessPrem
//Begin getExpBusinessPrem
/**
*
* @return unknown
*/
function getRewriteBusinessPrem() {
global $con;
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
$rewritebus = $row['rewrite_bus'];
if (empty($rewritebus)) {
$rewritebus = "0";
}
return $rewritebus;exit;
} //End getRewriteBusinessPrem
/**
* Begin getExpPolicyDash
*/
function getExpPolicyDash() {
global $con;
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
$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
<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>$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) {
} //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();
}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();
}//end getIntConn
//Begin getTotalTaskCompCount
/**
*
* @return unknown
*/
function getTotalTaskCompCount() {
global $con;
$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 {
}//End getAllOpenTaskTable
//Begin getNotifications
/**
*
*/
function getNotifications() {
global $con;
$user_id = $_SESSION['uid'];
echo "
<div class='item media'>
<div class='media-body'>
</div>
<div class='meta'>
now
</div>
</div>";
}else {
echo "
<div class='item media'>
<div class='media-body'>
</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'];
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'];
}//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']);
}//end updateUserProfile
//begin getPolicyInfo
/**
*
*/
function getPolicyInfo() {
global $con;
$policy_num = $_POST['get_policy_info'];
$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'];
// Dropzone class:
var myDropzone = new Dropzone("#drop_zone", { url: "upload.php"});
</script>
<div
class="panel-group" id="accordion-1" role="tablist" aria-multiselectable="true">
</div>
<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
echo "
</div>
<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
</div>
<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>
<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>";
}//end getPolicyInfo
//Begin getAllContacts
/**
*
*/
function getAllContacts() {
global $con;
} //End while
} //End getAllContacts
//begin getContactEdit
/**
*
* @return unknown
*/
function getContactEdit() {
$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();
$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;
$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->fetch();
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>
<div class='panel-body'>
<hr>
<div
class='data-overview'>
</div>
</div>
</div>
</div>
</div>
</div>";
echo "
</div>
<hr>
<div class='item col-sm-6
col-sm-6 col-xs-6'>
<ul
class='meta-data list-unstyled'>
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-policies' role='tablist' aria-
multiselectable='true'>
</div>
<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>$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>
<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>
<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'>
echo "
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-notes-preview' role='tablist' aria-
multiselectable='true'>
</div>
<div class='panel-body'>
<div role='tabpanel'>
</ul>
<div class='tab-content'>
";
$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);
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>
<div class='panel-body'>
<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>
<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) {
$name = $row['name'];
$agent_id = $row['user_id'];
}//end while
<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>
</tr>";
echo "</tbody></table>";
}else {
//nothing to show
}
echo "
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-files-preview' role='tablist' aria-
multiselectable='true'>
</div>
<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>
// Dropzone class:
var myDropzone = new Dropzone("#drop_zone", { url: "upload.php"});
</script><hr>';
if ($file_qry->num_rows > 0) {
$num_files = $file_qry->num_rows;
echo "
<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>";
echo "</tbody></table>";
</div>
</div>
</div>
</div>
</div>
</div>
<div role='tabpanel'>
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();
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>";
</div>
<div
class='item item-tickets col-md-3 col-sm-3 col-xs-3'>
</div>
<div
class='item item-tickets col-md-3 col-sm-3 col-xs-3'>
</div>
</div>";
echo '
<div
class="panel-group" id="accordion-1" role="tablist" aria-multiselectable="true">
</div>
<div class="panel-body">';
echo "
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'>
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'>
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>";
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'>
<thead>
<tr>
<th>File Name</th>
<th>Uploaded By</th>
<th>Step</th>
<th>Uploaded</th>
</tr>
</thead>
<tbody>";
echo "</tbody></table></div>";
}else {
echo "
</div>
</div>
</div>";
$d_counter++;
$counter++;
}//end while
echo " </div>";
}else {
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 '
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>
}//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>
<div id="collapseThree-1" class="panel-collapse collapse in" role="tabpanel" aria-
labelledby="headingThree-1" aria-expanded="true">
<div class="panel-body">
<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>";
<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>
<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;
}
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>";
<div class='form-group'>
</div>
</div>
<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;
}
echo "<tr>
<td>$dir</td>
<td>$sby</td>
<td>N/A</td>
<td>$sent</td>";
if ($mediaURL != '') {
echo "
<td></td>";
}
echo "
</tr>";
}//end loop through messages
}//end check messages
echo "
</tbody>
</table>
</div>
</div>
</div>
</section>
</div>
</div>
</div>";
<div class='form-group'>
</div>
</div>
<div
class='form-group'>
</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'>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>";
while ($qry->fetch()) {
$exp = explode("_", $form_name);
$form = $exp[0] . " " . $exp[1];
echo "<option value='$fid|$form_name'>$form</option>";
}
echo "
</div>
</div>
</div>
</section>
</div>
</div>
</div>";
while ($qry->fetch()) {
$exp = explode("_", $form_name);
$form = $exp[0] . " " . $exp[1];
echo "<option value='$fid'>$form</option>";
}
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>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>";
}//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'>
</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>
$counter_prop++;
}//end while
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'>
</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>
</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>
$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>
$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).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() {
$name = $row['name'];
$agent_id = $row['user_id'];
}//end while
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) {
}
}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'];
}
}else {
}
}
} //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 {
$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;
$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 {
$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() {
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
}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)) {
}//unset counter
}else {
if ($_SESSION['counter'] == $_SESSION['max_cnt']) {
unset($_SESSION['counter']);
}//unset counter
}// end check for zip mapping
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 {
$assigned_to = $row_top['assigned_to'];
$assigned_to = $row_low['assigned_to'];
$assigned_to = $row_low['assigned_to'];
}else {
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')");
unset($map_to);
unset($option_name);
$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];
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 while
}
}//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' ");
}//end while
$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];
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' ");
}
$row_qr = $db_qry->fetch_assoc();
$db_name = $row_qr['DatabaseName'];
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' ");
}
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 updateAgencyContact
//Begin getAgencyInfo
/**
*
*/
function getAgencyInfo() {
global $con;
$agency_id = $_SESSION['agency_id'];
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>
</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 ($result < 1) {
}
}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() {
$agency_id = $_SESSION['agency_id'];
}//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) {
if ($int_type = 'Lead') {
if ($int_type = 'Policy') {
} //End addIntegrationPoint
//Begin removeIntegrationPoint
/**
*
* @return unknown
*/
function removeIntegrationPoint() {
global $con;
$int_id = $_POST['del_intp'];
if ($con->affected_rows < 1) {
}
}//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 "</select>";
}//End emailCampaign
//Beging getEmailCampaignCat
/**
*
*/
function getEmailCampaignCat() {
$response = $sg->client->contactdb()->lists()->get();
$json_response = json_decode($response->body(), true);
$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'];
}
$row = $qry->fetch_assoc();
$desc = $row['description'];
$camp_name = $row['name'];
$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>";
}
$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>";
}
$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>";
}
$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'];
$prsp_leads = $row_prosp['prospect'];
echo "<label class='col-md-2 col-sm-2 col-xs-2 control-label'>Potential
Audience: $prsp_leads</label>";
}
//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 {
$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'];
}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)) {
//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
//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();
$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
$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();
$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();
}
}else {
$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
$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) {
}//end while
}//end check if contact exists
}//end check if contacts need to be copied
}//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 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++;
}
}//End While
unset($_SESSION['global_selector']);
$activeLeads = getTotalActive();
$coldLeads = getColdLeads();
$policyPremiums = getTotalPolicyPremiums();
$prospectLeads = getTotalProspects();
$activePolicies = getActivePolicies();
$newPrem = getNewBusinessPrem();
$rewritePrem = getRewriteBusinessPrem();
$renewalPrem = getRenewalBusinessPrem();
$expPrem = getExpBusinessPrem();
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;
$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'];
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'];
$name = $row['agency_name'];
$map_agency_id = $row['agency_id'];
}//end while
$name = $row['agency_name'];
$map_agency_id = $row['agency_id'];
}//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'], ",")) {
$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
$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;
$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
if (strlen($_POST['zipcode_add']) == 5) {
$zip = $_POST['zipcode_add'];
$zip_agency = $_POST['zip_agency'];
$agency_id = $_SESSION['agency_id'];
$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 addZipMapping
//Begin checkIfParentZip
/**
*
*/
function checkIfParentZip() {
global $con;
$agency_id = $_SESSION['agency_id'];
$child_agency_id = $row['agency_id'];
$child_agency_name = $row['agency_name'];
echo "<option
value='$child_agency_id'>$child_agency_name</option>";
} //End While
}/**
* End checkIfParentZip
* begin getAgencyLeadSettings
*/
function getAgencyLeadSettings() {
global $con;
$agency_id = $_SESSION['agency_id'];
//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;
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;
}//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");
$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");
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");
$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 = '';
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 {
}//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++;
$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");
}
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");
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
}
if (strpos($var, "D")) {
$month = $date->format("m");
$day = $date->format("d");
$month_name = $date->format("F");
$year = $date->format("Y");
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");
}
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 getRevenueQuickView
//begin getLeadQuickView
/**
*
* @param unknown $var
* @return unknown
*/
function getLeadQuickView($var) {
global $con;
$month = $date->format("F");
$year = $date->format("y");
$month_name = $date->format("F");
if ($counter != 13) {
$data_points .= "'$month $year',";
}else {
}//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");
$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");
$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");
$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");
$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 {
}//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++;
$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");
}
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");
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
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
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";
<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 getLeadQuickView
/**
* begin getLeadAveragesDiv
*
* @param unknown $var
*/
function getLeadAveragesDiv($var) {
global $con;
$agency_id = $_SESSION['agency_id'];
if ($var == 'Verified') {
echo '
</div>
';
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>
';
if ($var == 'Converted') {
echo '
<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 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);
if ($var == 'Quoted') {
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'];
}//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>
';
}//end check for premium
if ($var == 'Active') {
echo '
</div>
';
}//end getPolicyAverages
//begin getLeadTimelineSelect
/**
*
*/
function getLeadTimelineSelect() {
global $con;
}//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='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'>
</div>
</div>
</div>
<span class='arrow'></span>
</div>
</div>
</div>
</div>
";
$side = "odd";
}else {
$response_array['data'] .= "
<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='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='media'>
<div class='media-body'>
<div class='summary'>
</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='media'>
<div class='media-body'>
<div class='summary'>
</div>
</div>
</div>
<span class='arrow'></span>
</div>
</div>
</div>
</div>
";
$side = "even";
}//end check for odd or even
}
$response_array['data'] .= "</div>";
$response_array['status'] = "Got Data";
echo json_encode($response_array);
//begin getAgentSelect
/**
*
*/
function getAgentSelect() {
global $con;
$name = $row['name'];
$agent_id = $row['user_id'];
}//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'];
$name = $row['name'];
$agent_id = $row['user_id'];
}//end while
}//end getAgentSelect
//begin getAgentData
/**
*
*/
function getAgentData() {
global $con;
$agent_id = $_POST['get-agent-data'];
</div>";
}else {
$response_array['data'] .= '<div class="item item-unique-visitors col-
md-3 col-sm-3 col-xs-3">
$response_array['data'] .= "
<p style='font-size: -webkit-xxx-large;' class='item-figure text-warning'>
$active_count</p>
</div>";
}
//premium info
if ($row['prem'] > 0) {
$response_array['data'] .= '
</div>";
}else {
$response_array['data'] .= '
</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>";
}else {
$response_array['data'] .= '
</div>";
}
// lost revenue
$response_array['data'] .= '
</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>";
$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() {
$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>";
$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'];
}
$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) {
$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>
<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>
<div class='panel-body'>";
while ($coverage_qry->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>";
</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>
<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()) {
$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>";
$response_array['data'] .= "
</div>
</div>
</div>
";
$response_array['data'] .= "</div></div></div></div>";
}//end check if vehicles
}//end check if Auto
$response_array['data'] .= "
</div>
<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>
<div class='panel-body'>";
while ($coverage_qry->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>";
$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>
<div class='panel-body'>";
while ($coverage_qry->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>";
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>
<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() {
$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;
}
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' ");
}
}//end while
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();
}
$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();
}
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();
}
$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();
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
}//end updatePolicy
//begin addPolicyModal
/**
*
*/
function addPolicyModal() {
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) {
$name = $row['name'];
$agent_id = $row['user_id'];
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) {
$name = $row['name'];
$agent_id = $row['user_id'];
}//end while
echo "</select>
</div>
echo '
<script type="text/javascript">
$(document).ready(function() {
$("#add_policy").removeClass("disabled");
$("#new_policy_form").validator();
});
</script>
';
}//end addPolicyModal
/**
* begin getLineDefaults
*/
function getLineDefaults() {
$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()) {
$arr[0] .= "</select></div>";
}else {
//it is in input option
$arr[0] .= "</select></div>";
}else {
//it is in input option
if ($line == 'Auto') {
if ($line == 'Life') {
}//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();
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>
}
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() {
$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";
}
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();
}
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']);
}//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']);
$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']);
$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']);
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() {
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() {
$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 "
<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() {
//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 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');
}
});
</script>
";
}//end newUserModal
//being quotedLast7Days
/**
*
*/
function quotedLast7Days() {
}//end while
echo "</tbody></table>";
}//end quotedLast7Days
//being quotedLast7Days
/**
*
*/
function newProspLast7Days() {
$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() {
$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;
if (!$ins_qry) {
} //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'];
$name = $row['name'];
$agent_id = $row['user_id'];
}//end while
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>
<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>";
$response_array['data'] .= "
<div class='col-sm-4 col-xs-4'>
</div>
</form>
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-2' role='tablist' aria-multiselectable='true'>
</div>
<div class='panel-body'>
<td>$perm_name</td>
<td><small>$perm_desc</small></td>
";
}else {
$response_array['data'] .= "
<td>$perm_name</td>
<td><small>$perm_desc</small></td>
";
}
$response_array['data'] .= "</tr>";
}//end while
$response_array['data'] .= "</tbody></table>";
$response_array['data'] .= "
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div
class='panel-group' id='accordion-3' role='tablist' aria-multiselectable='true'>
<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')";
$counter++;
$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);
/**
* 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')";
$counter++;
$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);
if (mysqli_affected_rows($con) < 1) {
$response_array['status'] = "Failed";
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);
$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']);
}
'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>";
}
}
}//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);
$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>";
if ($amt == '$0.00') {
$amt = "Quote returned 0.00, please resubmit.";
}
}/**
* 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;
}//end getSupportCategories
/**
*
*/
function addSupportTicket() {
}//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
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>
<label for='upd_support_contact_category'>Category</label>
</select>
</div>
<div
class='form-group'>
<label for='upd_support_contact_priority'>Priority</label>
</select>
</div>
<div
class='form-group'>
<label for='upd_support_contact_subject'>Subject</label>
<label for='upd_support_contact_description'>Description</label>
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//End updateTicketModal
/**
*
*/
function updSupportTicket() {
}
}//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";
$result = $con->query($sql);
$contact_id = $row['id'];
$cnt_loop++;
}else {
}
}
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'";
$result = $con->query($sql);
$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++;
}else {
}
}
}
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;
}
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;
</script>';
}//end function
/**
*
*/
function getVendorSelect() {
global $con;
$name = $row['vendor'];
}//end while
}//end getVendorSelect
/**
*
*/
function getVendorSelectDetails() {
global $con;
$name = $row['vendor'];
}//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 convert
$response_array['data'] = '
<div class="item item-bounce-rate col-md-3 col-sm-3 col-
xs-3">
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>
//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;
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.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) {
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() {
}//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') {
}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() {
}//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() {
}//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() {
}//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() {
}//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']);
}//end deleteContact
/**
*
*/
function deletePolicy() {
global $con;
$policy_num = $con->real_escape_string($_POST['del_policy_id']);
}//end deletePolicy
/**
*
*/
function addNewLOBModal() {
}//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;
$premiums = $row['premiums'];
if (empty($premiums)) {
$premiums = "0.00";
}
echo "$" . number_format($premiums, 2);
} //End getTotalPremiums
//Begin getTotalPolicyPremiums
/**
*
*/
function getLostPremiums() {
global $con;
$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'];
$_SESSION['is_parent'] = '1';
}
}//End checkIfParentReporting
/**
*
*/
function createInvoiceModal() {
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";
$result = $con->query($sql);
}
$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++;
}else {
}
}
$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) {
}
});
});
</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';
$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];
$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>
<br>
<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'>
</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>
</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>
</tr>";
}
$response_array['data'] .= "
<tr>
</tr>
</tbody>
</table>
</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.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>";
$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>
/**
*
*/
function updateSGInfo() {
global $con;
/**
*
*/
function addSGInfo() {
$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
$response = $sg->client->contactdb()->lists()->get();
$json_response = json_decode($response->body(), true);
$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>
/**
*
*/
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);
}
}//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>
<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();
}//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'] .= "</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);
/**
*
*/
function addScript() {
global $con;
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;
if ($type_name == 'Policy') {
$response_array['data'] .= "<option
value='$pid'>$plob</option>";
$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;
}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();
while ($qry2->fetch()) {
$response_array['data'] .= "<option
value='$wfid'>$wfname</option>";
}//end while
$response_array['data'] .= "</select>";
}else {
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 ($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'] .= '
<thead>
<tr>
<th>File Name</th>
<th>Uploaded By</th>
<th>Uploaded</th>
</tr>
</thead>
<tbody>';
$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'>";
}
});";
if ($dealid == '') {
$response_array['data'] .= "
var new_note = $('.file-container').hide();
";
}
$response_array['data'] .= "
</script>
</div>";
}else {
$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'] .= "
}
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+'"e_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($('#deal_id').length){
$('.save-deal-note').prop('disabled', false);
}
";
$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()) {
}//end while
}//end getSelectAutoComp
/**
*
*/
function getLOBSelector() {
global $con;
}//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>
<script>
}
if ( data.status != 'Got Data' ) {
$.notify('Whoops!', {className: 'error',position:'top-center'});
}
}
});
</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();
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>";
";
while ($qry2->fetch()) {
$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>
";
$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('-');
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>";
</thead>
<tbody>
<tr>
<td>Total Annual Premium</td>
";
$counter++;
$counter++;
$counter++;
$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++;
$response_array['flood'] .=
"</tr></tbody></table></div></div>";
$response_array['flood'] .= "
<script>
</script>";
$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>";
$response_array['endorsements'] .= "
{ value: '$opt_name' }";
}else {
$response_array['endorsements'] .= "
{ value: '$opt_name' },";
}
$cov_counter++;
$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);
/**
*
*/
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();
header('Content-type: application/json');
$response_array['status'] = "Error";
echo json_encode($response_array);
}else {
$qry->bind_result($dbname);
$qry->fetch();
}
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;
$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() {
}//end remCarrierFeeModal
/**
*
*/
function removeCarrierFee() {
global $con;
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 "</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;
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() {
}//end remProposalTermsModal
/**
*
*/
function removeProposalTerms() {
global $con;
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);
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 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>
%0A%0A
<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();
$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><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>
";
$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++;
$counter++;
$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++;
$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++;
$response_array['data'] .=
"</tr></tbody></table></div></div>";
$response_array['data'] .= "
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>";
<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']) {
$counter++;
$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
<script>
</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);
";
$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();
<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 "
<br><span class='unit'>Premium</span></span>
</p>
</div>
<div class='content'>
<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><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
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++;
echo "
<td>$cova</td>";
$f_counter++;
$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++;
echo "
<td>$deduc</td>";
$f_counter++;
echo "</tr></tbody></table></div></div>";
echo "
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>";
<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
/**
*
*/
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() {
}//end addPreferredCarrierModal
/**
*
*/
function addPreferredCarrier() {
global $con;
$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;
$insid = $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);
}
}//end addAQRTiming
/**
*
*/
function addAQRTimingModal() {
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>";
}//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;
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() {
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>";
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'});
}
}
});
}//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
}//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>";
$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";
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";
$response_array['data'] .= "
<script>
$('[name=$cov]').val('$def_val');
</script>";
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>";
header('Content-type: application/json');
$response_array['status'] = "Got Data";
echo json_encode($response_array);
}//end checkForDefaultCoverage
/**
*
*/
function removeDefaultCoverageOption() {
global $con;
/**
*
*/
function checkForAQR() {
global $con, $con_qr;
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 {
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 {
}//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() {
$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;
/**
*
*/
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+'¬es='+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+'¬es='+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+'¬es='+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'>
</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;
<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;
echo "</select></div></div>";
}//end getWorkflowSetup
/**
*
*/
function getAgencyWorkflowTasks() {
global $con_adm, $con;
$response_array['data'] .= "</select></div></div>";
$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'>
$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';
}
});
$('#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>";
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
$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>";
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
//$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;
}
$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>
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'] .= '
<thead>
<tr>
<th>File Name</th>
<th>Uploaded By</th>
<th>Uploaded</th>
</tr>
</thead>
<tbody>';
$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'>";
}
});";
if ($dealid == '') {
$response_array['data'] .= "
var new_note = $('.file-container').hide();
";
}
$response_array['data'] .= "
</script>
</div>";
}else {
$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'] .= "
}
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+'"e_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' ) {
}
}
});
}
});
if($('#deal_id').length){
$('.save-deal-note').prop('disabled', false);
}
";
$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;
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'>";
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 getQRWebForm
/**
*
*/
function sendSMS() {
global $con, $con_adm, $agency_url, $base_dir;
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'] = "
<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;
}
$response_array['data'] .= "<tr>
<td>$dir</td>
<td>$sby</td>
<td>$msg</td>
<td>$sent</td>";
if ($mediaURL != '') {
$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) {
//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();
}//end sendEmailNotification
/**
*
*/
function markSMSRead() {
global $con;
<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;
}
$response_array['data'] .= "<tr>
<td>$dir</td>
<td>$sby</td>
<td>$msg</td>
<td>$sent</td>";
if ($mediaURL != '') {
$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;
$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'];
//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);
}//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>";
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;
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'] .= '
<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>";
$response_array['data'] .= "</tbody></table>";
}else {
//nothing to show
}
$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 '
<thead>
<tr>
<th>Detail</th>
<th>Lead Name</th>
<th>Policy Number</th>
<th>Line of Business</th>
<th>Expiration Date
</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();
echo "
<tr
data-value='$pid|$lob'>
<td class='details-control'></td>
<td>$lob</th>
<td>$exp_date</td>
<td>$numq</td>
<td>$sdate</td>
</tr>";
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();
$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()) {
}else {
$response_array[$counter]['Current']["$cov"] = "Not
Found";
$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++;
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);
<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>
</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 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>
";
}//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 = [';
while ($qry6->fetch()) {
}else {
}
$count++;
$response_array['data'] .= '];
/* 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
// 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();
// Configure series
var polygonTemplate = polygonSeries.mapPolygons.template;
polygonTemplate.tooltipText = "{name}";
polygonTemplate.fill = chart.colors.getIndex(0);
$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();
$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.'
}';
// Creates a series
function createSeries(heatfield) {
var series = chart.series.push(new am4maps.MapImageSeries());
series.dataFields.value = heatfield;
series.propertyFields.stroke = "fillColor";
// Set up drill-down
series.mapImages.template.events.on("hit", function(ev) {
if (!regionalSeries[data.target].series) {
regionalSeries[data.target].series = createSeries("count");
regionalSeries[data.target].series.data = data.markerData;
}
// 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();
return series;
}
function setupStores(data) {
// Process data
am4core.array.each(data.query_results, function(store) {
}
else {
// State not found
return;
}
}
else {
regionalSeries[store.state].stores++;
regionalSeries[store.state].count += store.count;
}
regionalSeries.US.series.data = regionalSeries.US.markerData;
}
/**
*
*/
function hideContact() {
global $con;
$response_array['status'] = "Failed";
header('Content-type: application/json');
echo json_encode($response_array);
}
}//end hideContact
/**
*
*/
function unhideContact() {
global $con;
$response_array['status'] = "Failed";
header('Content-type: application/json');
echo json_encode($response_array);
}
}//end unhideContact
//Begin addClaimModal
/**
*
*/
function addClaimModal() {
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";
$result = $con->query($sql);
$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++;
}
}
echo ' ],
select: function (event, ui) {
}
});
});
$(".bootstrap-switch").bootstrapSwitch();
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;
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) {
}
} //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;
}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;
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;
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;
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>";
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')
{
$sched = $_POST['scheduled_onOff'];
if ($_POST['scheduled_frequency'] == 'daily') {
$_POST['reportScheduledDay'] = 1;
}
}
$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)) {
}
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;
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;
$conditions=$_POST['AndOr'];
$col = $expt[0];
$table = $expt[1];
if (strpos($req['tables'], $table) === false) {
$req['tables'] .= "$table|";
}
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') {
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'], "|");
$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();
// Bind Results
call_user_func_array(array($qry, 'bind_result'), $fields);
// Fetch Results
$response_array['result'] = $results;
$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>
}
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>";
}
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">
</div>
';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">
</div>
';
}
}else {
//DOES NOT HAVE INTEGRATION
echo "
<div class='item-inner'>
<div class='heading'>
<h3 class='item-title'>$pn</h3>
</p>
</div>
<div class='content'>
</ul>
</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">
</div>
';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">
</div>
';
}
}else {
//DOES NOT HAVE INTEGRATION
echo "
<div class='item-inner'>
<div class='heading'>
<h3 class='item-title'>$pn</h3>
</p>
</div>
<div class='content'>
</ul>
</div>
</div>
</div>
";
}
</div>
';
}else {
echo ' <div
class="item col-sm-4 col-sm-4 col-xs-4">
</div>
';
}
}else {
//DOES NOT HAVE INTEGRATION
echo "
<div class='item-inner'>
<div class='heading'>
<h3 class='item-title'>$pn</h3>
</p>
</div>
<div class='content'>
</ul>
</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'>
<thead>
<tr>
<th>User</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'>
</div>
<div class='modal-footer'>
</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'>
<div class='modal-footer'>
</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'>
</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'>
</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>
<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'>
<thead>
<tr>
<th>User</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]
},
{
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>";
} //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 ";
}
}
}
}
// 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();
$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"
));
//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'];
$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') {
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>";
}
$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
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') {
<td>$name</td>
<td>$email</td>
<td>$lobs</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>
</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') {
<td>$name</td>
<td>$phone</td>
<td>$lobs</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>
}//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();
<td>$name</td>
<td>$email</td>
<td>$lobs</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>
</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();
}
}//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);
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);
$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);
//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;
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;
$found = $response_body
->response
->reportResults
->propertyInformation->foundationMaterialDescription;
if ($found == '') {
$response_array['foundation'] = '';
}
$roof = $response_body
->response
->reportResults
->propertyInformation->roofMaterialDescription;
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>";
}
}
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>";
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;
$found = $response_body->response->reportResults-
>propertyInformation->foundationMaterialDescription;
if ($found == '') {
$foundation = '';
}
$roof = $response_body->response->reportResults-
>propertyInformation->roofMaterialDescription;
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 {
$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++;
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);
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>";
$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);
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);
//$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'];
echo "
<div class='item media'>
<div class='media-body'>
</div>
<div class='meta'>
now
</div>
</div>";
}else {
echo "
<div class='item media'>
<div class='media-body'>
</div>
<div class='meta'>
</div>
</div>";
}//end while
}//end Else
}// End getSMSNotifications
function getSMSNotificationCount() {
global $con;
$user_id = $_SESSION['uid'];
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>";
$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;
}
?>