escape(trim($_POST['request_id'])); } if(isset($_POST['filter_status']) && $_POST['filter_status'] != ""){ $get_status = $db -> escape(trim($_POST['filter_status'])); if($get_status > 0){ $filter_status = " AND tbssa.status > 0 "; } else{ $filter_status = " AND tbssa.status = $get_status "; } } $date = ""; $count = 0; $pdf_file_name = ""; $merge = ""; // if(strlen($get_status) == 1){ // $pdf_id = removeHyphen($filter_date) . "" . substr($get_status, 0, 1); // } // else if(strlen($get_status) == 2){ // $pdf_id = removeHyphen($filter_date) . "" . substr($get_status, 0, 2); // } // $cipher_date_status = strtr($db->cipher($control_number . "" . $filter_status, true), "+/=", "-_~"); //check if existing $count_existing = "SELECT COUNT(*) FROM `txtblast_pdf_sms_service` WHERE `request_id` = '$request_id' AND `filter_status` = $get_status"; // echo $count_existing; exit; $is_existing = $db->select($count_existing); if($is_existing > 0){ //has record or pdf is existing // echo "Existing\n\n"; $fetch_existing = $db->sql_query("SELECT `pdf_file_name` FROM `txtblast_pdf_sms_service` WHERE `request_id` = '$request_id' AND `filter_status` = $get_status"); foreach($fetch_existing AS $data){ $pdf_file_name = $data['pdf_file_name']; } //$pdf_file_name = strtr($pdf_file_name, "+/=", "-_~"); $count = $db->select("SELECT COUNT(*) FROM txtblast_pdf_sms_service WHERE request_id = '$request_id'"); } else { //no record // echo "Not Existing\n\n"; $query_print = "SELECT tbssa.cust_id, tbssa.first_name, tbssa.last_name, tbssa.suffix, tbssa.company_name, tbssa.mobile_number, tbssa.status, tb.control_number, sc.code AS company, sd.name AS dealer, tbssa.customer_type FROM txtblast_sms_service_approved tbssa INNER JOIN `text_blast` tb ON tbssa.request_id = tb.id INNER JOIN source_company sc ON tb.company_id = sc.id INNER JOIN source_dealer sd ON tb.dealer_id = sd.id WHERE tbssa.request_id = '$request_id' " . $filter_status; // echo $query_print; exit; $fetch_print = $db->sql_query($query_print); foreach($fetch_print AS $data){ $control_number = $data['control_number']; } $count = $db->select("SELECT COUNT(*) FROM txtblast_sms_service_approved WHERE `request_id` = $request_id"); $merge = $request_id . "" . $control_number . "" . $get_status; // echo $merge; exit; $cipher_date_status = strtr($db->cipher($merge, true), "+/=", "-_~"); $pdf_file_name = strtr($db -> cipher($merge, true), "+/=", "-_~" ).'.'.'pdf'; $filename = 'sms_service/data/'.strtr($db->cipher($merge, true), "+/", "-_" ).'.'.'php'; // $filename = 'sms_service/data/ceX4oCzn5hC8tS5UTzgKPEg3Mgwqv_MZebjA5iP0mZQ=.php'; $fp = fopen($filename, 'w'); //$col_header = array('No.','Name','Type','Gender', 'DOB', 'Age','Email','Mobile','Date Created'); $col_width = array(7, 46, 34, 29, 48, 35); $col_header = array('No.', 'Name', 'Mobile', 'Company', 'Dealer', 'Status'); $string = implode(';',array_map('replaceExistingSemiColon', $col_header)); fwrite($fp, $string.PHP_EOL); $data_to_insert = array(); $ctr = 1; foreach($fetch_print AS $row){ $status = $row['status']; if($status == -2){ //success; change it to 0 when in live, -2 when in test $status_str = "SMS sent"; } else if($status == -1){ //pending $status_str = "Pending"; } else if($status == 1){ //invalid $status_str = "Invalid number"; } else if($status == 2){ //unsupp # $status_str = "Unsupported #"; } else { $status_str = "Send error. Itexmo status: " . $status; } $name = ""; $suffix = ""; if($row['customer_type'] == 1){ //individual $name = $row['first_name'] . " " . $row['last_name'] . " " . $row['suffix']; } else { $name = trim($row['company_name']); } $data_to_insert = array( $ctr, $name, "+" . mask($row['mobile_number'], 5, 1), $row['company'], $row['dealer'], $status_str ); $ctr++; $string = implode(';',array_map('replaceExistingSemiColon', $data_to_insert)); //echo $data_to_insert; exit; fwrite($fp, $string.PHP_EOL); } $cipher_date_status = strtr($cipher_date_status, "+/=", "-_~"); $insert = "INSERT INTO `txtblast_pdf_sms_service` (`request_id`, `filter_status`, `pdf_file_name`) VALUES('$request_id', '$get_status', '$cipher_date_status')"; // echo $insert; return; $db->sql_query($insert); fclose($fp); } $query_print = "SELECT tbssa.cust_id, tbssa.first_name, tbssa.last_name, tbssa.suffix, tbssa.company_name, tbssa.mobile_number, tbssa.status, tb.control_number, sc.code AS company, sd.name AS dealer FROM txtblast_sms_service_approved tbssa INNER JOIN `text_blast` tb ON tbssa.request_id = tb.id INNER JOIN source_company sc ON tb.company_id = sc.id INNER JOIN source_dealer sd ON tb.dealer_id = sd.id WHERE tbssa.request_id = '$request_id' " . $filter_status; // echo $query_print; exit; $fetch_print = $db->sql_query($query_print); foreach($fetch_print AS $data){ $control_number = $data['control_number']; } //return max(0,($count-1)); // GENERATE PDF require('include/fpdf183/mc_table.php'); $col_width = array(7, 46, 34, 29, 48, 35); $pdf = new PDF_MC_Table('P','mm','Legal'); $title = 'AutoHub-' . $date; $pdf->SetTitle($title); $pdf->AddPage(); $pdf->SetFont('Arial', '', 10); $pdf_request_data[] = array('Date', ': ', $date); $pdf_request_data[] = array('Total Data Count', ': ', number_format($total_count)); $request_header_widths = array(46, 34, 29, 48, 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_service/data/'.strtr($db -> cipher($request_id . "" . $control_number . "" . $get_status, true), "+/", "-_" ).'.'.'php'); $pdf->FancyTable($pdf_request_data, $col_width); // $pdf->Output('D', 'AutoHub-'.$report_session_data['report_type'].'-'.$report_session_data['control_number'].'.'.'pdf'); // $pdf->Output('AutoHub-'.$report_session_data['report_type'].'-'.$report_session_data['control_number'].'.'.'pdf','I'); $filename = "sms_service/pdf/".$pdf_file_name; //echo $filename; $pdf->Output($filename,'F'); //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); } 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); } ?>