Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Warning Error


dstegall

Recommended Posts

I had pdf invoice installed and working fine until I moved the catalog from root to its own directory. Now I get the following error:

 

Warning: getimagesize(faithfullyyours2.gif): failed to open stream: No such file or directory in /home/content/d/s/t/dstegall/html/Store/pdfinvoice.php on line 157

 

Warning: getimagesize(faithfullyyours2.gif): failed to open stream: No such file or directory in /home/content/d/s/t/dstegall/html/Store/fpdf/fpdf.php on line 900

FPDF error: Unsupported image type: gif

 

 

Any ideas? Thank you for any help!

 

Faithfully,

 

Dawn

Link to comment
Share on other sites

Ok, here it is:

 

<?php

/*

$Id: create_customer_pdf,v 1.1 2007/07/25 clefty (osc forum id chris23)

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

 

Based on create_pdf , originally written by Neil Westlake ([email protected]

 

Rewritten to display a PDF invoice for the customer to print / download within account_history_info.php

 

Changelog v1.1

--------------

i) Added invoice date config choice - today or same as order date - date now follows locale format set in /includes/languages/your-lang/your-lang.php

ii) Decode html entities for all invoice text (better multilinual support)

iii) Remove hardcoded address format. Now uses $order->customer['format_id']

iv) Config option to only display pdf link for delivered orders.

v) Remove all hardcoded English language

vi) Support for vector store logo - ai / eps formats

vii) Added customer reference.

 

*/

 

define('FPDF_FONTPATH','fpdf/font/');

require('fpdf/fpdf.php');

require('includes/application_top.php');

 

// perform security check to prevent "get" tampering to view other customer's invoices

 

if (!tep_session_is_registered('customer_id')) {

$navigation->set_snapshot();

tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

}

 

if (!isset($HTTP_GET_VARS['order_id']) || (isset($HTTP_GET_VARS['order_id']) && !is_numeric($HTTP_GET_VARS['order_id']))) {

tep_redirect(tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL'));

}

 

$customer_info_query = tep_db_query("select customers_id from " . TABLE_ORDERS . " where orders_id = '". (int)$HTTP_GET_VARS['order_id'] . "'");

$customer_info = tep_db_fetch_array($customer_info_query);

if ($customer_info['customers_id'] != $customer_id) {

tep_redirect(tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL'));

}

 

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CUSTOMER_PDF);

 

// function to return rgb value for fpdf from supplied hex (#abcdef)

 

function html2rgb($color){

if ($color[0] == '#')

$color = substr($color, 1);

 

if (strlen($color) == 6)

list($r, $g, $B) = array($color[0].$color[1],

$color[2].$color[3],

$color[4].$color[5]);

elseif (strlen($color) == 3)

list($r, $g, $B) = array($color[0], $color[1], $color[2]);

else

return false;

 

$r = hexdec($r); $g = hexdec($g); $b = hexdec($B);

 

return array($r,$g,$B);

}

 

// function to decode html entities

function tep_html_entity_decode($text, $quote_style = ENT_QUOTES){

return html_entity_decode($text, $quote_style);

}

 

// find image type

function findextension ($filename)

{

$filename = strtolower($filename);

$extension= split("\.", $filename);

$n = count($extension)-1;

$extension = $extension[$n];

return $extension;

}

 

$border_color = html2rgb(PDF_INV_BORDER_COLOR);

$cell_color = html2rgb(PDF_INV_CELL_COLOR);

$invoice_line = html2rgb(PDF_INV_INVLINE_COLOR);

$highlight_color = html2rgb(PDF_INV_HIGHLIGHT_COLOR);

$standard_color = html2rgb(PDF_INV_STANDARD_COLOR);

$watermark_color = html2rgb(PDF_INV_WATERMARK_COLOR);

 

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ACCOUNT_HISTORY_INFO);

 

require(DIR_WS_CLASSES . 'order.php');

$order = new order($HTTP_GET_VARS['order_id']);

 

// set invoice date - today or day ordered. set in config

$date = (PDF_INV_DATE_TODAY == 'today') ? strftime(DATE_FORMAT_LONG) : tep_date_long($order->info['date_purchased']);

 

class PDF extends FPDF

{

 

//Page header

function RoundedRect($x, $y, $w, $h,$r, $style = '')

{

$k = $this->k;

$hp = $this->h;

if($style=='F')

$op='f';

elseif($style=='FD' or $style=='DF')

$op='B';

else

$op='S';

$MyArc = 4/3 * (sqrt(2) - 1);

$this->_out(sprintf('%.2f %.2f m',($x+$r)*$k,($hp-$y)*$k ));

$xc = $x+$w-$r ;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l', $xc*$k,($hp-$y)*$k ));

 

$this->_Arc($xc + $r*$MyArc, $yc - $r, $xc + $r, $yc - $r*$MyArc, $xc + $r, $yc);

$xc = $x+$w-$r ;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',($x+$w)*$k,($hp-$yc)*$k));

$this->_Arc($xc + $r, $yc + $r*$MyArc, $xc + $r*$MyArc, $yc + $r, $xc, $yc + $r);

$xc = $x+$r ;

$yc = $y+$h-$r;

$this->_out(sprintf('%.2f %.2f l',$xc*$k,($hp-($y+$h))*$k));

$this->_Arc($xc - $r*$MyArc, $yc + $r, $xc - $r, $yc + $r*$MyArc, $xc - $r, $yc);

$xc = $x+$r ;

$yc = $y+$r;

$this->_out(sprintf('%.2f %.2f l',($x)*$k,($hp-$yc)*$k ));

$this->_Arc($xc - $r, $yc - $r*$MyArc, $xc - $r*$MyArc, $yc - $r, $xc, $yc - $r);

$this->_out($op);

}

 

function _Arc($x1, $y1, $x2, $y2, $x3, $y3)

{

$h = $this->h;

$this->_out(sprintf('%.2f %.2f %.2f %.2f %.2f %.2f c ', $x1*$this->k, ($h-$y1)*$this->k,

$x2*$this->k, ($h-$y2)*$this->k, $x3*$this->k, ($h-$y3)*$this->k));

}

 

function Header()

{

global $HTTP_GET_VARS, $highlight_color, $date, $image_function, $customer_id;

 

 

//Logo

$size =getimagesize(PDF_INVOICE_IMAGE);

$this->$image_function(PDF_INVOICE_IMAGE,7,10,($size[0]*PDF_INV_IMG_CORRECTION),($size[1]*PDF_INV_IMG_CORRECTION),'', FILENAME_DEFAULT);

 

// Invoice Number, customer reference and date

$this->SetFont(PDF_INV_CORE_FONT,'B',10);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->SetY(43);

$this->Cell(100,6, tep_html_entity_decode(PRINT_INVOICE_TITLE) . (int)$HTTP_GET_VARS['order_id'],0,'L');

$this->SetY(48);

$this->Cell(100,6, $date ,0,'L');

 

// Company name

$this->SetX(0);

$this->SetY(12);

$this->SetFont(PDF_INV_CORE_FONT,'B',12);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Ln(0);

$this->Cell(149);

$this->MultiCell(50, 3.5, tep_html_entity_decode(STORE_NAME),0,'L');

 

// Company Address

$this->SetX(0);

$this->SetY(16);

$this->SetFont(PDF_INV_CORE_FONT,'B',10);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Ln(0);

$this->Cell(149);

$this->MultiCell(50, 3.5, tep_html_entity_decode(STORE_NAME_ADDRESS),0,'L');

 

//Email

$this->SetX(0);

$this->SetY(43);

$this->SetFont(PDF_INV_CORE_FONT,'B',10);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Ln(0);

$this->Cell(88);

$this->MultiCell(100, 6, tep_html_entity_decode(PDF_INV_EMAIL) . STORE_OWNER_EMAIL_ADDRESS,0,'R');

 

//Website

$this->SetX(0);

$this->SetY(48);

$this->SetFont(PDF_INV_CORE_FONT,'B',10);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Ln(0);

$this->Cell(88);

$this->MultiCell(100, 6, tep_html_entity_decode(PDF_INV_WEB) . HTTP_SERVER,0,'R');

 

// VAT / Tax number (if enabled)

if (DISPLAY_PDF_TAX_NUMBER == 'true'){

$this->SetX(0);

$this->SetY(53);

$this->SetFont(PDF_INV_CORE_FONT,'B',10);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Ln(0);

$this->Cell(88);

$this->MultiCell(100, 6, tep_html_entity_decode(PDF_TAX_NAME) . " " . PDF_TAX_NUMBER,0,'R');

}

}

 

// function taken and modified from $Id: pdf_datasheet_functions v1.40 2005/06/16 13:46:29 ip chilipepper.it Exp $

 

function RotatedText($x,$y,$txt,$angle)

{

//Text rotated around its origin

$this->Rotate($angle,$x,$y);

$this->Text($x,$y,$txt);

$this->Rotate(0);

}

 

 

function Watermark()

{

global $watermark_color;

$this->SetFont(PDF_INV_CORE_FONT,'B',60);

$this->SetTextColor($watermark_color[0], $watermark_color[1], $watermark_color[2]);

$ang=30;

$cos=cos(deg2rad($ang));

$wwm=($this->GetStringWidth(tep_html_entity_decode(PDF_INV_WATERMARK_TEXT))*$cos);

$this->RotatedText(($this->w-$wwm)/2,$this->w,PDF_INV_WATERMARK_TEXT,$ang);

}

 

function Footer()

{

global $highlight_color, $invoice_line;

 

// insert horiz line

$this->SetY(-19);

$this->SetDrawColor($invoice_line[0],$invoice_line[1],$invoice_line[2]);

$this->Cell(198,.1,'',1,1,'L',1);

 

//Position at 1.5 cm from bottom

$this->SetY(-17);

$this->SetFont(PDF_INV_CORE_FONT,'',8);

$this->SetTextColor($highlight_color[0],$highlight_color[1],$highlight_color[2]);

$this->Cell(0,10, tep_html_entity_decode(PDF_INV_FOOTER_TEXT), 0,0,'C');

}

}

 

/***************************

* Software: FPDF_EPS

* Version: 1.3

* Date: 2006-07-28

* Author: Valentin Schmidt

****************************/

class PDF_EPS extends PDF{

 

function PDF_EPS($orientation='P',$unit='mm',$format='A4'){

parent::FPDF($orientation,$unit,$format);

}

 

function ImageEps ($file, $x, $y, $w=0, $h=0, $link='', $useBoundingBox=true){

$data = file_get_contents($file);

if ($data===false) $this->Error('EPS file not found: '.$file);

 

# strip binary bytes in front of PS-header

$start = strpos($data, '%!PS-Adobe');

if ($start>0) $data = substr($data, $start);

 

# find BoundingBox params

ereg ("%%BoundingBox:([^\r\n]+)", $data, $regs);

if (count($regs)>1){

list($x1,$y1,$x2,$y2) = explode(' ', trim($regs[1]));

}

else $this->Error('No BoundingBox found in EPS file: '.$file);

 

$start = strpos($data, '%%EndSetup');

if ($start===false) $start = strpos($data, '%%EndProlog');

if ($start===false) $start = strpos($data, '%%BoundingBox');

 

$data = substr($data, $start);

 

$end = strpos($data, '%%PageTrailer');

if ($end===false) $end = strpos($data, 'showpage');

if ($end) $data = substr($data, 0, $end);

 

# save the current graphic state

$this->_out('q');

 

$k = $this->k;

 

if ($useBoundingBox){

$dx = $x*$k-$x1;

$dy = $y*$k-$y1;

}else{

$dx = $x*$k;

$dy = $y*$k;

}

 

# translate

$this->_out(sprintf('%.3f %.3f %.3f %.3f %.3f %.3f cm', 1,0,0,1,$dx,$dy+($this->hPt - 2*$y*$k - ($y2-$y1))));

 

if ($w>0){

$scale_x = $w/(($x2-$x1)/$k);

if ($h>0){

$scale_y = $h/(($y2-$y1)/$k);

}else{

$scale_y = $scale_x;

$h = ($y2-$y1)/$k * $scale_y;

}

}else{

if ($h>0){

$scale_y = $h/(($y2-$y1)/$k);

$scale_x = $scale_y;

$w = ($x2-$x1)/$k * $scale_x;

}else{

$w = ($x2-$x1)/$k;

$h = ($y2-$y1)/$k;

}

}

 

# scale

if (isset($scale_x))

$this->_out(sprintf('%.3f %.3f %.3f %.3f %.3f %.3f cm', $scale_x,0,0,$scale_y, $x1*(1-$scale_x), $y2*(1-$scale_y)));

 

# handle pc/unix/mac line endings

$lines = split ("\r\n|[\r\n]", $data);

 

$u=0;

$cnt = count($lines);

for ($i=0;$i<$cnt;$i++){

$line = $lines[$i];

if ($line=='' || $line{0}=='%') continue;

$len = strlen($line);

if ($len>2 && $line{$len-2}!=' ') continue;

$cmd = $line{$len-1};

 

switch ($cmd){

case 'm':

case 'l':

case 'v':

case 'y':

case 'c':

 

case 'k':

case 'K':

case 'g':

case 'G':

 

case 's':

case 'S':

 

case 'J':

case 'j':

case 'w':

case 'M':

case 'd' :

 

case 'n' :

case 'v' :

$this->_out($line);

break;

 

case 'x': # custom colors

list($c,$m,$y,$k) = explode(' ', $line);

$this->_out("$c $m $y $k k");

break;

 

case 'Y':

$line{$len-1}='y';

$this->_out($line);

break;

 

case 'N':

$line{$len-1}='n';

$this->_out($line);

break;

 

case 'V':

$line{$len-1}='v';

$this->_out($line);

break;

 

case 'L':

$line{$len-1}='l';

$this->_out($line);

break;

 

case 'C':

$line{$len-1}='c';

$this->_out($line);

break;

 

case 'b':

case 'B':

$this->_out($cmd . '*');

break;

 

case 'f':

case 'F':

if ($u>0){

$isU = false;

$max = min($i+5,$cnt);

for ($j=$i+1;$j<$max;$j++)

$isU = ($isU || ($lines[$j]=='U' || $lines[$j]=='*U'));

if ($isU) $this->_out("f*");

}else

$this->_out("f*");

break;

 

case 'u':

if ($line{0}=='*') $u++;

break;

 

case 'U':

if ($line{0}=='*') $u--;

break;

 

#default: echo "$cmd<br>"; #just for debugging

}

 

}

 

# restore previous graphic state

$this->_out('Q');

if ($link)

$this->Link($x,$y,$w,$h,$link);

}

 

}# END CLASS

 

# for backward compatibility

if (!function_exists('file_get_contents')){

function file_get_contents($filename, $use_include_path = 0){

$file = @fopen($filename, 'rb', $use_include_path);

if ($file){

if ($fsize = @filesize($filename))

$data = fread($file, $fsize);

else {

$data = '';

while (!feof($file)) $data .= fread($file, 1024);

}

fclose($file);

return $data;

}else

return false;

}

}

 

// Instanciation of inherited class - choose according to logo supplied, vector or raster

if(findextension(PDF_INVOICE_IMAGE) == 'ai' || findextension(PDF_INVOICE_IMAGE) == 'eps'){

$pdf=new PDF_EPS();

$image_function = "ImageEps";

}

else{

$pdf=new PDF();

$image_function = "Image";

}

 

// Set the Page Margins

$pdf->SetMargins(6,2,6);

 

// Add the first page

$pdf->AddPage();

 

// add watermark if required

 

if(PDF_SHOW_WATERMARK == 'true'){

$pdf->Watermark();

}

 

//Draw the top line with invoice text

$pdf->Cell(50);

$pdf->SetY(60);

$pdf->SetDrawColor($invoice_line[0],$invoice_line[1],$invoice_line[2]);

$pdf->Cell(15,.1,'',1,1,'L',1);

$pdf->SetFont(PDF_INV_CORE_FONT,'BI',15);

$pdf->SetTextColor($invoice_line[0],$invoice_line[1],$invoice_line[2]);

$pdf->Text(22,61.5,tep_html_entity_decode(PRINT_INVOICE_HEADING));

$pdf->SetY(60);

$pdf->SetDrawColor($invoice_line[0],$invoice_line[1],$invoice_line[2]);

$pdf->Cell(38);

$pdf->Cell(160,.1,'',1,1,'L',1);

 

//Draw Box for Invoice Address

$pdf->SetDrawColor($border_color[0],$border_color[1],$border_color[2]);

$pdf->SetLineWidth(0.2);

$pdf->SetFillColor($cell_color[0],$cell_color[1],$cell_color[2]);

$pdf->RoundedRect(6, 67, 90, 35, 2, 'DF');

 

//Draw the invoice address text

$pdf->SetFont(PDF_INV_CORE_FONT,'B',10);

$pdf->SetTextColor($standard_color[0],$standard_color[1],$standard_color[2]);

$pdf->Text(11,77, tep_html_entity_decode(ENTRY_SOLD_TO));

$pdf->SetX(0);

$pdf->SetY(80);

$pdf->Cell(9);

$pdf->MultiCell(70, 3.3, tep_html_entity_decode(tep_address_format($order->customer['format_id'], $order->customer, '', '', "\n")),0,'L');

 

//Draw Box for Delivery Address

$pdf->SetDrawColor($border_color[0],$border_color[1],$border_color[2]);

$pdf->SetLineWidth(0.2);

$pdf->SetFillColor(255);

$pdf->RoundedRect(108, 67, 90, 35, 2, 'DF');

 

//Draw the invoice delivery address text

$pdf->SetFont(PDF_INV_CORE_FONT,'B',10);

$pdf->SetTextColor($standard_color[0],$standard_color[1],$standard_color[2]);

$pdf->Text(113,77,tep_html_entity_decode(ENTRY_SHIP_TO));

$pdf->SetX(0);

$pdf->SetY(80);

$pdf->Cell(111);

$pdf->MultiCell(70, 3.3, tep_html_entity_decode(tep_address_format($order->delivery['format_id'], $order->delivery, '', '', "\n")),0,'L');

 

//Draw Box for Order Number, Date & Payment method

$pdf->SetDrawColor($border_color[0],$border_color[1],$border_color[2]);

$pdf->SetLineWidth(0.2);

$pdf->SetFillColor($cell_color[0],$cell_color[1],$cell_color[2]);

$pdf->RoundedRect(6, 107, 192, 14, 2, 'DF');

 

//Draw Order Number Text

$pdf->Text(10,113, tep_html_entity_decode(PRINT_INVOICE_ORDERNR) . (int)$HTTP_GET_VARS['order_id']);

//Draw Date of Order Text

$pdf->Text(75,113, tep_html_entity_decode(PRINT_INVOICE_DATE) . tep_date_short($order->info['date_purchased']));

//Draw Payment Method Text

$temp = substr ($order->info['payment_method'] , 0, 23);

$pdf->Text(130,113, tep_html_entity_decode(ENTRY_PAYMENT_METHOD) . ' ' . tep_html_entity_decode($temp));

// Draw customer reference

$pdf->Text(10,117, tep_html_entity_decode(PDF_INV_CUSTOMER_REF) . (int)$customer_id);

 

 

//Fields Name position

$Y_Fields_Name_position = 125;

//Table position, under Fields Name

$Y_Table_Position = 131;

 

 

function output_table_heading($Y_Fields_Name_position){

global $pdf, $cell_color;

//First create each Field Name

// Config color filling each Field Name box

$pdf->SetFillColor($cell_color[0],$cell_color[1],$cell_color[2]);

//Bold Font for Field Name

$pdf->SetFont(PDF_INV_CORE_FONT,'B',10);

$pdf->SetY($Y_Fields_Name_position);

$pdf->SetX(6);

$pdf->Cell(9,6,tep_html_entity_decode(PDF_INV_QTY_CELL),1,0,'C',1);

$pdf->SetX(15);

$pdf->Cell(27,6,tep_html_entity_decode(TABLE_HEADING_PRODUCTS_MODEL),1,0,'C',1);

$pdf->SetX(40);

$pdf->Cell(78,6,tep_html_entity_decode(TABLE_HEADING_PRODUCTS),1,0,'C',1);

$pdf->SetX(118);

$pdf->Cell(20,6,tep_html_entity_decode(TABLE_HEADING_PRICE_EXCLUDING_TAX),1,0,'C',1);

$pdf->SetX(138);

$pdf->Cell(20,6,tep_html_entity_decode(TABLE_HEADING_PRICE_INCLUDING_TAX),1,0,'C',1);

$pdf->SetX(158);

$pdf->Cell(20,6,tep_html_entity_decode(TABLE_HEADING_TOTAL_EXCLUDING_TAX),1,0,'C',1);

$pdf->SetX(178);

$pdf->Cell(20,6,tep_html_entity_decode(TABLE_HEADING_TOTAL_INCLUDING_TAX),1,0,'C',1);

$pdf->Ln();

}

 

output_table_heading($Y_Fields_Name_position);

//Show the products information line by line

for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {

$pdf->SetFont(PDF_INV_CORE_FONT,'',10);

$pdf->SetY($Y_Table_Position);

$pdf->SetX(6);

$pdf->MultiCell(9,6,$order->products[$i]['qty'],1,'C');

$pdf->SetY($Y_Table_Position);

$pdf->SetX(40);

 

$prod_attribs='';

 

//get attribs and concat

if ( (isset($order->products[$i]['attributes'])) && (sizeof($order->products[$i]['attributes']) > 0) ) {

for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {

$prod_attribs .= " - " .$order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];

}

}

 

$product_name_attrib_contact = $order->products[$i]['name'] . $prod_attribs;

 

if (strlen($product_name_attrib_contact) > 40 && strlen($product_name_attrib_contact) < 50){

$pdf->SetFont(PDF_INV_CORE_FONT,'',6);

$pdf->MultiCell(78,6,tep_html_entity_decode($product_name_attrib_contact),1,'L');

}

 

else if (strlen($product_name_attrib_contact) > 50){

$pdf->SetFont(PDF_INV_CORE_FONT,'',6);

$pdf->MultiCell(78,6,tep_html_entity_decode(substr($product_name_attrib_contact,0,60)) ." .. ",1,'L');

}

 

 

else{

$pdf->SetFont(PDF_INV_CORE_FONT,'',6);

$pdf->MultiCell(78,6,tep_html_entity_decode($product_name_attrib_contact),1,'L');

$pdf->Ln();

}

 

$pdf->SetFont(PDF_INV_CORE_FONT,'',10);

$pdf->SetY($Y_Table_Position);

$pdf->SetX(15);

$pdf->SetFont(PDF_INV_CORE_FONT,'',8);

$pdf->MultiCell(25,6,tep_html_entity_decode($order->products[$i]['model']),1,'C');

$pdf->SetY($Y_Table_Position);

$pdf->SetX(118);

$pdf->SetFont(PDF_INV_CORE_FONT,'',10);

$pdf->MultiCell(20,6,$currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']),1,'C');

$pdf->SetY($Y_Table_Position);

$pdf->SetX(138);

$pdf->MultiCell(20,6,$currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']),1,'C');

$pdf->SetY($Y_Table_Position);

$pdf->SetX(158);

$pdf->MultiCell(20,6,$currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']),1,'C');

$pdf->SetY($Y_Table_Position);

$pdf->SetX(178);

$pdf->MultiCell(20,6,$currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']),1,'C');

$Y_Table_Position += 6;

 

//Check for product line overflow

$item_count++;

if ((is_long($item_count / 32) && $i >= 20) || ($i == 20)){

$pdf->AddPage();

//Fields Name position

$Y_Fields_Name_position = 125;

//Table position, under Fields Name

$Y_Table_Position = 70;

output_table_heading($Y_Table_Position-6);

if ($i == 20) $item_count = 1;

}

}

for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {

$pdf->SetY($Y_Table_Position + 5);

$pdf->SetX(102);

$temp = substr ($order->totals[$i]['text'],0 ,3);

if ($temp == '<b>')

{

$pdf->SetFont(PDF_INV_CORE_FONT,'B',10);

$temp2 = substr($order->totals[$i]['text'], 3);

$order->totals[$i]['text'] = substr($temp2, 0, strlen($temp2)-4);

}

$pdf->MultiCell(94,6,$order->totals[$i]['title'] . ' ' . $order->totals[$i]['text'],0,'R');

$Y_Table_Position += 5;

}

 

 

// set PDF metadata

$pdf->SetTitle(PDF_META_TITLE);

$pdf->SetSubject(PDF_META_SUBJECT . $HTTP_GET_VARS['order_id']);

$pdf->SetAuthor(STORE_OWNER);

 

// PDF created

 

function safe_filename ($filename) {

$search = array(

'/ß/',

'/ä/','/Ä/',

'/ö/','/Ö/',

'/ü/','/Ü/',

'([^[:alnum:]._])'

);

$replace = array(

'ss',

'ae','Ae',

'oe','Oe',

'ue','Ue',

'_'

);

 

// return a safe filename, lowercased and suffixed with invoice number.

 

return strtolower(preg_replace($search,$replace,$filename));

}

$file_name = safe_filename(STORE_NAME);

$file_name .= "_invoice_" . $HTTP_GET_VARS['order_id'] . ".pdf";

$mode = (FORCE_PDF_INVOICE_DOWNLOAD == 'true') ? 'D' : 'I';

// what do we do? display inline or force download

$pdf->Output($file_name , $mode);

?>

 

Post your Store/pdfinvoice.php file. The path to that image was probably hard coded in.
Link to comment
Share on other sites

IFPDF error: Unsupported image type: gif

Hi Dawn,

Looks like it could be a problem with your GD Library not being enabled.

Try remaking your Faithfullyyours2.gif into Faithfullyyours2.jpg then go to your admins pdf invoice section and the path to the new image. See if that works.

Link to comment
Share on other sites

Then I get this error:

 

Warning: getimagesize(faithfullyyours2.jpg): failed to open stream: No such file or directory in /home/content/d/s/t/dstegall/html/Store/pdfinvoice.php on line 157

 

Warning: getimagesize(faithfullyyours2.jpg): failed to open stream: No such file or directory in /home/content/d/s/t/dstegall/html/Store/fpdf/fpdf.php on line 900

 

Warning: getimagesize(faithfullyyours2.jpg): failed to open stream: No such file or directory in /home/content/d/s/t/dstegall/html/Store/fpdf/fpdf.php on line 1542

FPDF error: Missing or incorrect image file: faithfullyyours2.jpg

 

 

 

Hi Dawn,

Looks like it could be a problem with your GD Library not being enabled.

Try remaking your Faithfullyyours2.gif into Faithfullyyours2.jpg then go to your admins pdf invoice section and the path to the new image. See if that works.

Link to comment
Share on other sites

Do you still have the sample_logo.png from the contribution. If so try to see if that will work.

Also go to admin then tools then server info. What is your version of php and mysql. That info will be towards the top. Then scroll down and look for GD Library. What is that version and is it enabled?

Link to comment
Share on other sites

Tried the sample logo and got same error.

 

php=4.3.11

mysql=4.1.22

gd=bundled 2.0.28 compatible, enabled

 

Do you still have the sample_logo.png from the contribution. If so try to see if that will work.

Also go to admin then tools then server info. What is your version of php and mysql. That info will be towards the top. Then scroll down and look for GD Library. What is that version and is it enabled?

Link to comment
Share on other sites

In Store/fpdf/fpdf.php find around line 922

			$pos=strrpos($file,'.');

Cahnge to

			$pos=strpos($file,'.');

We just removed the i from stripos. That is for php 5. Did this work prior to moving to Store?

Link to comment
Share on other sites

same error.

 

Yes, it worked perfectly fine.

 

In Store/fpdf/fpdf.php find around line 922

			$pos=strrpos($file,'.');

Cahnge to

			$pos=strpos($file,'.');

We just removed the i from stripos. That is for php 5. Did this work prior to moving to Store?

Link to comment
Share on other sites

changed back

 

they weren't, I added, but still same error

you state the image path in admin

 

 

Change that file back to stripos. If it was working before then no need to change that.

Can you ensure that the images are in Store/images.

Link to comment
Share on other sites

Well Brian, you know it is always something stupid with me. :'( That did it! Thanks soo much.

 

Dawn

 

 

Is the image path you state in admin

images/faithfullyyours2.gif

I think maybe the path needs to start with images/ then the image name.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...