Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 1 | <?php |
| 2 | |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 3 | include_once 'User.php'; |
| 4 | use \User as User; |
| 5 | |
| 6 | require 'vendor/autoload.php'; |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 7 | |
| 8 | use Konekt\PdfInvoice\InvoicePrinter; |
| 9 | |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 10 | #include_once '../src/InvoicePrinter.php'; |
| 11 | include 'config.php'; |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 12 | |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 13 | function create_invoice(User $user) |
| 14 | { |
| 15 | global $SERVICE_ACRONYM, $SERVICE_NAME, $SERVICE_LOGO, $REGULAR_CONFERENCE_FEE, $EARLYBIRD_CONFERENCE_FEE, $STUDENT_DISCOUNT, $CONFERENCE_DINNER; |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 16 | |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 17 | $invoice = new InvoicePrinter("A4", "€", "en"); |
| 18 | $invoice->lang['product'] = "Item"; |
| 19 | /* Header Settings */ |
| 20 | $invoice->setLogo(str_replace(".svg", ".png", $SERVICE_LOGO)); |
| 21 | $invoice->setColor('#4bb044'); |
| 22 | $invoice->setType('Invoice'); |
| 23 | $invoice->setReference('ICLC-10-' . $user->id); |
| 24 | $invoice->setDate(date('Y-m-d', time())); |
| 25 | $invoice->setFrom(['', 'Leibniz-Institute for the German Language', 'R5 6-13', '68181 Mannheim', 'Germany']); |
| 26 | $invoice->setTo([$user->first_name . ' ' . $user->last_name, $user->organization, $user->street, $user->zip . ' ' . $user->city, $user->country]); |
| 27 | $invoice->setDue(date('Y-m-d', strtotime('+2 weeks'))); |
| 28 | // $invoice->hide_tofrom(); |
| 29 | /* Adding Items in table */ |
| 30 | if ($user->earlybird_registration) { |
| 31 | $invoice->addItem( $SERVICE_ACRONYM . ' Early Bird Registration', $SERVICE_NAME, 1, false, $EARLYBIRD_CONFERENCE_FEE, false, $EARLYBIRD_CONFERENCE_FEE); |
| 32 | } else |
| 33 | $invoice->addItem( $SERVICE_ACRONYM . ' Registration', $SERVICE_NAME, 1, false, $REGULAR_CONFERENCE_FEE, false, $REGULAR_CONFERENCE_FEE); |
| 34 | if($user->student) $invoice->addItem('Student Discount', 'Student discount', 1, false, "", $STUDENT_DISCOUNT, -$STUDENT_DISCOUNT); |
| 35 | if($user->conference_dinner) |
| 36 | $invoice->addItem('Conference Dinner', 'The conference dinner will take place on 20 July.', 1, false, $CONFERENCE_DINNER, false, $CONFERENCE_DINNER); |
| 37 | /* Add totals */ |
| 38 | $invoice->addTotal('Total', $user->total_due); |
| 39 | // $invoice->addTotal('Discount', $STUDENT_DISCOUNT); |
| 40 | $invoice->addTotal('Total due', $user->total_due, true); |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 41 | |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 42 | $invoice->addTitle("Payment Details"); |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 43 | |
Marc Kupietz | b976362 | 2023-03-10 13:54:21 +0100 | [diff] [blame] | 44 | $invoice->addParagraph("Please transfer the total amount due to our account: "); |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 45 | |
| 46 | $invoice->addParagraph("Leibniz-Institute for the German Language |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 47 | IBAN: DE70 6708 0050 0694 9411 00 |
| 48 | BIC: DRESDEFF670 |
| 49 | Commerzbank Mannheim |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 50 | |
| 51 | Reference: ICLC-10-" . $user->id . " |
Marc Kupietz | 9879bc2 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 52 | "); |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 53 | //$invoice->setFooterNote("xx"); |
| 54 | |
| 55 | /* Render */ |
Marc Kupietz | ce67631 | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 56 | $ret = $invoice->render('example4.pdf', 'S'); /* I => Display on browser, D => Force Download, F => local path save, S => return document path */ |
| 57 | return $ret; |
| 58 | } |
| 59 | |
| 60 | /* |
| 61 | $user = new User(); |
| 62 | $user->id = 107; |
| 63 | $user->first_name = "John"; |
| 64 | $user->last_name = "Урсула"; |
| 65 | $user->organization = "Урсула ACME Inc."; |
| 66 | $user->street = "123 Main St."; |
| 67 | $user->zip = "12345"; |
| 68 | $user->city = "Mannheim"; |
| 69 | $user->country = "Germany"; |
| 70 | $user->total_due = 260.0; |
| 71 | $user->student = true; |
| 72 | $user->conference_dinner = true; |
| 73 | create_invoice($user); |
| 74 | */ |
| 75 | ?> |