本文整理匯總了PHP中Facture::generatePDF方法的典型用法代碼示例。如果您正苦於以下問題:PHP Facture::generatePDF方法的具體用法?PHP Facture::generatePDF怎麽用?PHP Facture::generatePDF使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Facture
的用法示例。
在下文中一共展示了Facture::generatePDF方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: du
$invoice_row['description'] = mysql_real_escape_string(preg_replace('/ du (\\d{4}-\\d{2}-\\d{2}) au (\\d{4}-\\d{2}-\\d{2})/', " du {$invoice->periodic_next_deadline} au {$next_deadline}", $invoice_row['description']));
// Update invoice date
$query = 'UPDATE webfinance_invoice_rows ' . "SET description='{$invoice_row['description']}'" . "WHERE id_facture_ligne={$invoice_row['id_facture_ligne']}";
mysql_query($query) or die("{$query}:" . mysql_error());
}
// Manage invoice delivery
switch ($invoice->delivery) {
// Send invoice by email to the client
case 'email':
$Invoice->sendByEmail($id_new_invoice) or die("Unable to send email for invoice ID {$id_facture}");
break;
// Send the invoice to me in order to print and send it to the client
// Send the invoice to me in order to print and send it to the client
case 'postal':
$send_mail_print_invoice = true;
$attachments[] = $Invoice->generatePDF($id_new_invoice, true);
$Invoice->setSent($id_new_invoice);
break;
}
// Process direct debit invoices
if ($invoice->payment_method == 'direct_debit') {
$new_invoice = $Invoice->getInfos($id_new_invoice);
$send_mail_direct_debit = true;
$url = "https://webfinance.isvtec.com/prospection/edit_facture.php?id_facture={$new_invoice->id_facture}";
# Set invoice as paid
$Invoice->setPaid($id_new_invoice);
# Plan the invoice to be debited
mysql_query('INSERT INTO direct_debit_row ' . "SET invoice_id = {$id_new_invoice}, " . " state='todo'") or die(mysql_error());
}
// Process paypal invoices
if ($invoice->payment_method == 'paypal') {
示例2: createAndSendInvoice
function createAndSendInvoice($id_client, $prix_ht, $quantity, $description, $delivery_method)
{
# No invoice if amount is zero
if ($prix_ht * $quantity <= 0) {
return true;
}
$Facture = new Facture();
$invoice = array('client_id' => $id_client, 'rows' => array());
$id_facture = $Facture->create($invoice);
// Get invoice payment
$res = mysql_query("SELECT payment_method\n FROM webfinance_invoices i\n WHERE id_client = {$id_client}\n AND type_doc = 'facture'\n AND is_envoye = 1\n AND payment_method IS NOT NULL\n AND is_abandoned = 0\n ORDER BY id_facture DESC\n LIMIT 1") or die(mysql_error());
# Default values
$payment_method = 'unknown';
if (mysql_num_rows($res) > 0) {
$type_payment_res = mysql_fetch_array($res);
$payment_method = $type_payment_res['payment_method'];
}
// Get id_compte
$result = mysql_query('SELECT id_pref,value ' . 'FROM webfinance_pref ' . "WHERE type_pref='rib' " . 'LIMIT 1') or die(mysql_error());
$cpt = mysql_fetch_object($result);
$id_compte = $cpt->id_pref;
// Get id_type_presta
$result = mysql_query("SELECT id_type_presta\n FROM webfinance_type_presta\n WHERE nom = 'Support mensuel'\n LIMIT 1") or die(mysql_error());
list($id_type_presta) = mysql_fetch_row($result);
// Input facture parameters
mysql_query("UPDATE webfinance_invoices SET\n\t\t is_paye = 0,\n\t\t is_envoye = 0,\n\t\t ref_contrat = 'Support professionnel',\n\t\t payment_method = '{$payment_method}',\n\t\t id_compte = {$id_compte},\n\t\t id_type_presta = {$id_type_presta}\n\t\t WHERE id_facture = {$id_facture}") or die(mysql_error());
// Add service rows to invoice
$q = sprintf("INSERT INTO webfinance_invoice_rows (id_facture,description,prix_ht,qtt,ordre) " . "SELECT %d, '%s', %s, %s, if(max(ordre) is null, 1, max(ordre + 1)) " . "FROM webfinance_invoice_rows " . "WHERE id_facture=%d", $id_facture, mysql_real_escape_string($description), $prix_ht, $quantity, $id_facture);
$result = mysql_query($q) or die(mysql_error());
mysql_query("UPDATE webfinance_invoices SET date_generated=NULL WHERE id_facture=" . $id_facture) or die(mysql_error());
if ($payment_method == 'direct_debit') {
// Plan the invoice to be debited
mysql_query("INSERT INTO direct_debit_row " . "SET invoice_id = {$id_facture}, " . " state='todo'") or die(mysql_error());
// Flag invoice as paid
$Facture->setPaid($id_facture);
}
// Manage invoice delivery and send by email to client
switch ($delivery_method) {
case 'email':
$Facture->sendByEmail($id_facture) or die("Unable to send email for invoice ID {$id_facture}");
break;
case 'postal':
$send_mail_print_invoice = true;
$attachments[] = $Facture->generatePDF($id_facture, true);
$Facture->setSent($id_facture);
break;
}
return true;
}
示例3: FPDF
// Génère un PDF pour une facture
require "../inc/main.php";
# If user is not logged, generate a PDF with an explicit error message
if (!isset($_SESSION['id_user']) || $_SESSION['id_user'] < 1) {
$pdf = new FPDF('P', 'mm', 'A4');
$pdf->SetMargins(10, 10, 10);
$pdf->SetDisplayMode('fullwidth');
$pdf->SetAutoPageBreak(true);
$pdf->AddPage();
$pdf->SetFont('Arial', '', 12);
$pdf->Cell(190, 20, _("You are not authenticated"));
$pdf->SetSubject(_('Error'));
$pdf->SetTitle(_('Error'));
$pdf->Output(_("Error") . ".pdf", "I");
die;
}
# Check if the invoice id is defined
if (!isset($_GET['id']) or !is_numeric($_GET['id'])) {
die(_("Error: Missing invoice id"));
}
$docs = false;
if ($_GET['docs'] == 1) {
$docs = true;
}
$invoice = new Facture();
$filename = $invoice->generatePDF($_GET['id'], false, $target = 'file', $docs);
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
readfile($filename);
unlink($filename);
// vim: fileencoding=latin1
示例4: sendByEmail
function sendByEmail($id_invoice, array $emails = array(), $from = '', $fromname = '', $subject = '', $body = '', $introduction_letter = false, $docs = false)
{
// Fetch company information
$result = mysql_query('SELECT value ' . 'FROM webfinance_pref ' . "WHERE type_pref='societe' AND owner=-1") or die('sendByEmail-950' . mysql_error());
list($value) = mysql_fetch_array($result);
mysql_free_result($result);
$societe = unserialize(base64_decode($value));
// Fetch invoice information
$invoice = Facture::getInfos($id_invoice);
// Fetch client information
$Client = new Client($invoice->id_client);
// Fetch bank account information
$result = mysql_query('SELECT value ' . 'FROM webfinance_pref ' . "WHERE id_pref=" . $invoice->id_compte) or die('sendByEmail-965' . mysql_error());
list($cpt) = mysql_fetch_array($result);
mysql_free_result($result);
$cpt = unserialize(base64_decode($cpt));
if (!is_object($cpt)) {
die("Impossible de generer la facture. Vous devez saisir au " . "moins un compte bancaire dans les options pour emettre des " . "factures");
}
foreach ($cpt as $n => $v) {
$cpt->{$n} = utf8_decode($cpt->{$n});
}
// Fetch preference information
$result = mysql_query("SELECT value FROM webfinance_pref WHERE type_pref='mail_invoice_" . $invoice->language . "'") or die('sendByEmail-980' . mysql_error());
list($data) = mysql_fetch_array($result);
$pref = unserialize(base64_decode($data));
if (empty($from)) {
$from = $societe->email;
}
if (empty($fromname)) {
$fromname = $societe->raison_sociale;
}
if (empty($Client->email)) {
echo _('Missing email address $Client->email!');
return false;
}
if (empty($emails)) {
$emails = explode(',', $Client->email);
}
if (empty($subject)) {
$subject = ucfirst($invoice->type_doc) . " #" . $invoice->num_facture . " pour " . $invoice->nom_client;
}
if (empty($body)) {
// Delay
$delay = '';
$result = mysql_query("SELECT date_format(date, '%d/%m/%Y') " . 'FROM webfinance_transactions ' . "WHERE id_invoice={$invoice->id_facture} " . 'ORDER BY date ' . 'DESC') or die('sendByEmail-1006' . mysql_error());
if (mysql_num_rows($result) == 1) {
list($tr_date) = mysql_fetch_array($result);
$delay = _('payable avant le') . " {$tr_date}";
}
mysql_free_result($result);
$patterns = array('/%%LOGIN%%/', '/%%PASSWORD%%/', '/%%URL_COMPANY%%/', '/%%NUM_INVOICE%%/', '/%%CLIENT_NAME%%/', '/%%DELAY%%/', '/%%AMOUNT%%/', '/%%BANK%%/', '/%%RIB%%/', '/%%COMPANY%%/', '/%%SEPA_MNDTID%%/');
$replacements = array($Client->login, $Client->password, $societe->wf_url, $invoice->num_facture, $invoice->nom_client, $delay, $invoice->nice_total_ttc, $cpt->banque, $cpt->code_banque . " " . $cpt->code_guichet . " " . $cpt->compte . " " . $cpt->clef . " ", $societe->raison_sociale, $Client->sepa_mndtid);
$body = stripslashes(preg_replace($patterns, $replacements, stripslashes(utf8_decode($pref->body))));
}
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
foreach ($emails as $email) {
$mail->AddAddress($email);
}
$mail->From = $from;
$mail->FromName = $fromname;
$mail->Subject = $subject;
$mail->Body = $body;
$mail->WordWrap = 80;
//attach the invoice file
$facture = new Facture();
$filename = $facture->generatePDF($id_invoice, $introduction_letter, $target = 'file', $docs);
$mail->AddAttachment($filename, basename($filename), 'base64', 'application/pdf');
// Send mail
$mail->Send();
// Remove attachment
unlink($filename);
Facture::setSent($id_invoice);
// Log invoice as sent
logmessage(_("Sent invoice") . " #{$invoice->num_facture} " . "to " . implode(' ', $emails) . ' ' . "fa:{$id_invoice} " . "client:{$invoice->id_client}", $invoice->id_client, $invoice->id_facture);
return true;
}