escape(trim($_REQUEST['filter_date'])); $start_date = substr($date, 0, 10); $end_date = substr($date, 11, 10); $diff = date_diff(date_create($start_date), date_create($end_date)); // compute date interval $interval = (int)$diff->format("%a"); if($interval == 0){ $date_title = substr($utility->remove_non_numeric($start_date), 2, 6); } else { $date_title = substr($utility->remove_non_numeric($start_date), 2, 6) . "-" . substr($utility->remove_non_numeric($end_date), 2, 6); } } $request_id = $db->escape($_REQUEST['request_id']); if(isset($_REQUEST['company']) && $_REQUEST['company'] != ""){ $company = $db->escape($_REQUEST['company']); // $company_q = " AND sc.id = '$company' "; } if(isset($_REQUEST['dealer']) && $_REQUEST['dealer'] != ""){ $dealer = $db->escape($_REQUEST['dealer']); // $dealer_q = " AND sd.id = '$dealer' "; if($dealer == 0){$dealer_q = "";} } if(isset($_REQUEST['status_sms']) && $_REQUEST['status_sms'] != ""){ $get_status = $db -> escape(trim($_REQUEST['status_sms'])); if($get_status > 0){ $filter_status = " AND tbssa.status > 0 "; $status_title = "_UNSENT"; } else { $filter_status = " AND tbssa.status = $get_status "; if($get_status == 0){ $status_title = "_SENT"; } if($get_status == ""){ $filter_status = ""; } } } else { $status_title = ""; } // echo "Value: " . $dealer; return; $date = ""; $count = 0; $pdf_file_name = ""; $pdf_id = ""; $count = " count(tbssa.id) "; $fields = " tbssa.cust_id, tbssa.first_name, tbssa.last_name, a_suffix.suffix_name, tbssa.mobile_number, tbssa.status, tbssa.customer_type "; $company_query = "SELECT %s FROM `txtblast_sms_service_approved` tbssa INNER JOIN `text_blast` tb ON tbssa.request_id = tb.id INNER JOIN `all_suffix` a_suffix ON a_suffix.id = tbssa.suffix WHERE tbssa.request_id = '$request_id' " . $filter_status; // echo sprintf($company_query, $fields); return; $company_list_query = $db->sql_query(sprintf($company_query, $fields)); $count = $db->select("SELECT COUNT(1) FROM (".sprintf($company_query, $count).") AS count"); // $char_count = $db->select("SELECT `char_count` FROM `text_blast` WHERE `id` = '$request_id'"); // $request_date = $db->select("SELECT DATE_FORMAT(`request_date`, '%b %d, %Y') AS request_date FROM `text_blast` WHERE `id` = '$request_id'"); // echo "SELECT concat(e.first_name, ' ', e.last_name) AS requestor FROM text_blast tb INNER JOIN employee e ON e.id = tb.employee_id WHERE tb.id = '$request_id'"; exit; // $requestor = $db->select("SELECT concat(e.first_name, ' ', e.last_name) AS requestor FROM text_blast tb INNER JOIN employee e ON e.id = tb.employee_id WHERE tb.id = '$request_id'"); $requestor = ""; $char_count = 0; $request_date = ""; // $requestor = $requestor . " (" . $request_date . ")"; $header_details = "SELECT tb.char_count, DATE_FORMAT(tb.request_date, '%b %d, %Y') AS request_date, concat(e.first_name, ' ', e.last_name) AS requestor FROM text_blast tb INNER JOIN employee e ON e.id = tb.employee_id WHERE tb.id = '$request_id'"; // echo $header_details; exit; $header_fetch = $db->sql_query($header_details); foreach($header_fetch AS $data){ $char_count = $data['char_count']; $request_date = $data['requestor'] . " (" . $data['request_date'] . ")"; } $requestor = $requestor . " (" . $request_date . ")"; $pdf_file_name = strtr($db -> cipher($filter_date . "" . $filter_status, true), "+/=", "-_~" ).'.'.'pdf'; $filename = 'sms/report_generation/text_blast_service/data/'.strtr($db->cipher($filter_date . "" . $filter_status, true), "+/", "-_" ).'.'.'php'; $fp = fopen($filename, 'w'); $col_width = array(50, 50, 50, 50); $col_header = array('Customer ID', 'Customer', 'Customer Mobile #', 'Status'); $string = implode(';',array_map('replaceExistingSemiColon', $col_header)); fwrite($fp, $string.PHP_EOL); $data_to_insert = array(); $ctr = 1; if($mask == 0){ foreach($company_list_query AS $row){ $suffix = $row['suffix_name']; if($suffix == "None"){$suffix = "";} $name = $row['first_name'] . " " . $row['last_name'] . " " . $suffix; $data_to_insert = array( $row['cust_id'], $name, $row['mobile_number'], $row['status'] == 0 ? "SMS Sent" : ($row['status'] == 1 ? "Invalid number" : "Send error; itexmo status: " . $row['status']) ); $ctr++; $string = implode(';', array_map('replaceExistingSemiColon', $data_to_insert)); fwrite($fp, $string.PHP_EOL); } } else { foreach($company_list_query AS $row){ $suffix = $row['suffix_name']; if($suffix == "None"){$suffix = "";} $name = $row['first_name'] . " " . $row['last_name'] . " " . $suffix; $data_to_insert = array( $row['cust_id'], $name, mask($row['mobile_number'], 5, 1), $row['status'] == 0 ? "SMS Sent" : ($row['status'] == 1 ? "Invalid number" : "Send error; itexmo status: " . $row['status']) ); $ctr++; $string = implode(';', array_map('replaceExistingSemiColon', $data_to_insert)); fwrite($fp, $string.PHP_EOL); } } // foreach($company_list_query AS $row){ // $suffix = $row['suffix_name']; // if($suffix == "None"){$suffix = "";} // $name = $row['first_name'] . " " . $row['last_name'] . " " . $suffix; // $data_to_insert = array( // $row['cust_id'], // $name, // $row['mobile_number'], // $row['status'] == 0 ? "SMS Sent" : // ($row['status'] == 1 ? "Invalid number" : // "Send error; itexmo status: " . $row['status']) // ); // $ctr++; // $string = implode(';', array_map('replaceExistingSemiColon', $data_to_insert)); // fwrite($fp, $string.PHP_EOL); // } fclose($fp); $stat = ""; $company_header = ""; $dealer_header = ""; $company_filename = ""; $dealer_filename = ""; $mask_header = ""; $mask_filename = ""; if($get_status == ""){$stat = "ALL STATUS (Sent & Unsent)";}else if($get_status == 0){$stat = "SENT ONLY";}else if($get_status == 1){$stat = "UNSENT ONLY";}else if($get_status == 2){$stat = "Declined Request Only";}else if($get_status == 3){$stat = "All Closed / Done Request Only";} $company == "" ? $company_header = "ALL COMPANIES" : $company_header = $db->select("SELECT code FROM source_company WHERE name = '$company'"); $dealer == "-" ? $dealer_header = "ALL DEALERS" : $dealer_header = $db->select("SELECT name FROM source_dealer WHERE id = '$dealer'"); $company_filename = $db->select("SELECT code FROM source_company WHERE name = '$company'"); // GENERATE PDF include('include/fpdf183/mc_table_tb_sms.php'); $col_width = array(50, 50, 50, 50); $interval == 0 ? $date = $start_date : $date = $start_date . " to " . $end_date; $company_header == "ALL" ? $company_filename = "" : $company_filename = "_" . $company_header; $dealer == "-" ? $dealer_filename = "" : $dealer_filename = "_" . $db->select("SELECT code FROM source_dealer WHERE name = '$dealer'"); $pdf = new PDF_MC_Table('P','mm','Legal'); $title = 'AutoHub-' . $date; $pdf->SetTitle($title); $pdf->AddPage(); $pdf->SetFont('Arial', '', 10); $pdf_request_data[] = array('Company', ': ', $company_header); $pdf_request_data[] = array('Dealer', ': ', $dealer_header); $pdf_request_data[] = array('Request Status', ': ', $stat); $pdf_request_data[] = array('SMS Length', ': ', $char_count); $pdf_request_data[] = array('Requestor', ': ', $request_date); $pdf_request_data[] = array('Record Count', ': ', number_format($total_count)); $request_header_widths = array(30, 10, 92, 25, 35); $pdf->SetWidths($request_header_widths); foreach($pdf_request_data as $row){ $pdf->Row($row, false); } // $pdf->Ln(1); // $pdf->SetWidths(array(36,4,160)); // $pdf->SetFont('',''); // $pdf->Row(array('Message Content', ': ', $request_session_data['message_content']), false); $pdf->Ln(2); // Arial 12 $pdf->SetFont('Arial', '', 11); // Background color $pdf->SetFillColor(255,255,255); // Title // $pdf->Cell(0,6,"Approve by: ", 0, 1, 'L', true); // $pdf->SetWidths(array(10, 35, 55,100)); // $pdf->SetFont('Arial','',10); // foreach($request_session_data['approver_list'] as $row){ // $pdf->Row($row,false); // } $pdf->Ln(5); $pdf->SetFont('Arial', '', 8); $pdf_request_data = $pdf->LoadData('sms/report_generation/text_blast_service/data/'.strtr($db -> cipher($filter_date . "" . $filter_status, true), "+/", "-_" ).'.'.'php'); $pdf->FancyTable($pdf_request_data, $col_width); $filename = "TEXT_BLAST_REPORT" . $status_title . $company_filename . $dealer_filename . $mask_filename . ".pdf"; $pdf->Output($filename, 'D'); //echo "\n" . $count . " end\n\n"; if($count > 0){ $return_array['status'] = 1; $return_array['message'] = "Request Generated"; $return_array['file'] = str_replace(".pdf", "", $pdf_file_name); $file = str_replace(".pdf", "", $pdf_file_name); } else { $return_array['status'] = 0; $return_array['message'] = "Request Generation Failed"; } echo json_encode($return_array); function replaceExistingSemiColon($s){ return str_replace(";", " ", $s); } function removeHyphen($s){ return str_replace("-", "", $s); } function cleanStr($string) { $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens. return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. } function mask($str, $first, $last) { $str = cleanStr($str); $len = strlen($str); $toShow = $first + $last; return substr($str, 0, $len <= $toShow ? 0 : $first).str_repeat("*", $len - ($len <= $toShow ? 0 : $toShow)).substr($str, $len - $last, $len <= $toShow ? 0 : $last); } ?>