diff --git a/app/fax/fax_view.php b/app/fax/fax_view.php
index f7c5fda2c6..f5f65edc80 100644
--- a/app/fax/fax_view.php
+++ b/app/fax/fax_view.php
@@ -229,11 +229,14 @@ else {
if (strlen($fax_number) > 0) {
$fax_number = preg_replace("~[^0-9]~", "",$fax_number);
}
+
$fax_name = $_FILES['fax_file']['name'];
+ $fax_name = preg_replace('/\\.[^.\\s]{3,4}$/', '', $fax_name);
$fax_name = str_replace(" ", "_", $fax_name);
- $fax_name = str_ireplace(".tif", "", $fax_name);
- $fax_name = str_ireplace(".tiff", "", $fax_name);
- $fax_name = str_ireplace(".pdf", "", $fax_name);
+ //$fax_name = str_ireplace(".tif", "", $fax_name);
+ //$fax_name = str_ireplace(".tiff", "", $fax_name);
+ //$fax_name = str_ireplace(".pdf", "", $fax_name);
+
//lua doesn't seem to like special chars with env:GetHeader
$fax_name = str_replace(";", "_", $fax_name);
$fax_name = str_replace(",", "_", $fax_name);
@@ -263,28 +266,50 @@ else {
}
//get the fax file extension
- $fax_file_extension = substr($dir_fax_temp.'/'.$_FILES['fax_file']['name'], -4);
- if (strtolower($fax_file_extension) == "tiff") { $fax_file_extension = ".tif"; }
+ $fax_file_extension = '.'. pathinfo($_FILES['fax_file']['name'], PATHINFO_EXTENSION);
+ if (strtolower($fax_file_extension) == ".tiff") { $fax_file_extension = ".tif"; }
if (strtolower($fax_file_extension) == ".tif") { $fax_file_extension = ".tif"; }
if (strtolower($fax_file_extension) == ".pdf") { $fax_file_extension = ".pdf"; }
//upload the file
move_uploaded_file($_FILES['fax_file']['tmp_name'], $dir_fax_temp.'/'.$fax_name.$fax_file_extension);
+ //file conversion
if ($fax_file_extension == ".pdf") {
chdir($dir_fax_temp);
exec("gs -q -sDEVICE=tiffg3 -r204x196 -g1728x2156 -dNOPAUSE -sOutputFile=".$fax_name.".tif -- ".$fax_name.".pdf -c quit");
- //exec("rm ".$dir_fax_temp.'/'.$fax_name.".pdf");
+ } elseif($fax_file_extension != ".tif") {
+ exec("export HOME=/tmp && libreoffice --headless --convert-to pdf --outdir ".$dir_fax_temp." ".$dir_fax_temp.'/'.$fax_name.$fax_file_extension);
+
+ if(file_exists($dir_fax_temp.'/'.$fax_name.'.pdf')){
+ chdir($dir_fax_temp);
+ exec("gs -q -sDEVICE=tiffg3 -r204x196 -g1728x2156 -dNOPAUSE -sOutputFile=".$fax_name.".tif -- ".$fax_name.".pdf -c quit");
+ }
}
+
+ //if the pdf does not exist then convert the tif to a pdf
+ if (!file_exists($dir_fax_sent.'/'.$fax_name.".pdf")) {
+ if (is_file("/usr/local/bin/gs")) {
+ chdir($dir_fax_sent);
+ exec("gs -q -sDEVICE=tiffg3 -g1728x1078 -dNOPAUSE -sOutputFile=".$fax_name.".pdf -- ".$fax_name.".tif -c quit");
+ }
+ }
+
//get some more info to send the fax
- $mailfrom_address = $_SESSION['email']['smtp_from']['var'];
+ if (isset($_SESSION['fax']['smtp_from']['var'])) {
+ $mailfrom_address = $_SESSION['fax']['smtp_from']['var'];
+ }
+ else {
+ $mailfrom_address = $_SESSION['email']['smtp_from']['var'];
+ }
+ //echo 'mail from: '.$mailfrom_address.'
';
$sql = "select fax_email from v_fax where fax_uuid = '".$fax_uuid."'; ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetch(PDO::FETCH_NAMED);
$mailto_address_fax = $result["fax_email"];
- echo $mailto_address_fax;
+ //echo 'mail address fax: '.$mailto_address_fax.'
';
$sql = "select contact_uuid from v_users where user_uuid = '".$_SESSION['user_uuid']."'; ";
$prep_statement = $db->prepare(check_sql($sql));
@@ -298,7 +323,7 @@ else {
$result = $prep_statement->fetch(PDO::FETCH_NAMED);
//print_r($result);
$mailto_address_user = $result["contact_email"];
- echo $mailto_address_user;
+ //echo 'mail address user: '.$mailto_address_user.'
';
if ($mailto_address_user != $mailto_address_fax) {
$mailto_address = "'".$mailto_address_fax."\,".$mailto_address_user."'";
@@ -310,7 +335,7 @@ else {
//send the fax
$fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']);
if ($fp) {
- //prepare the fax command
+ //prepare the fax command
$route_array = outbound_route_to_bridge($_SESSION['domain_uuid'], $fax_number);
$fax_file = $dir_fax_temp."/".$fax_name.".tif";
if (count($route_array) == 0) {
@@ -337,30 +362,18 @@ else {
//copy the .tif to the sent directory
exec("cp ".$dir_fax_temp.'/'.$fax_name.".tif ".$dir_fax_sent.'/'.$fax_name.".tif");
-
//copy the .pdf to the sent directory
if (file_exists($dir_fax_temp.'/'.$fax_name.".pdf")) {
- exec("cp ".$dir_fax_temp.'/'.$fax_name.".pdf ".$dir_fax_sent.'/'.$fax_name.".pdf");
+ exec("cp ".$dir_fax_temp.'/'.$fax_name.".pdf ".$dir_fax_sent.'/'.$fax_name.".pdf");
}
- //convert the tif to pdf
- if (!file_exists($dir_fax_sent.'/'.$fax_name.".pdf")) {
- if (is_file("/usr/local/bin/gs")) {
- chdir($dir_fax_sent);
- exec("gs -q -sDEVICE=tiffg3 -g1728x1078 -dNOPAUSE -sOutputFile=".$fax_name.".pdf -- ".$fax_name.".tif -c quit");
- }
- }
-
- //delete the .tif from the temp directory
- //exec("rm ".$dir_fax_temp.'/'.$fax_name.".tif");
-
//convert the tif to pdf and png
- if (!file_exists($dir_fax_sent.'/'.$fax_name.".pdf")) {
- if (is_file("/usr/local/bin/tiff2png")) {
- chdir($dir_fax_sent);
- exec($_SESSION['switch']['bin']['dir']."/tiff2pdf -f -o ".$fax_name.".pdf ".$dir_fax_sent.$fax_name.".tif");
- }
- }
+ //chdir($dir_fax_sent);
+ //which tiff2pdf
+ //if (is_file("/usr/local/bin/tiff2png")) {
+ // exec($_SESSION['switch']['bin']['dir']."/tiff2png ".$dir_fax_sent.$fax_name.".tif");
+ // exec($_SESSION['switch']['bin']['dir']."/tiff2pdf -f -o ".$fax_name.".pdf ".$dir_fax_sent.$fax_name.".tif");
+ //}
//redirect the browser
header("Location: fax_view.php?id=".$fax_uuid."&msg=".$response);