| Marc Kupietz | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 1 | <?php | 
 | 2 |  | 
| Marc Kupietz | 49f677c | 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 | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 7 |  | 
 | 8 | use Konekt\PdfInvoice\InvoicePrinter; | 
 | 9 |  | 
| Marc Kupietz | 49f677c | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 10 | #include_once '../src/InvoicePrinter.php'; | 
 | 11 | include 'config.php'; | 
| Marc Kupietz | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 12 |  | 
| Marc Kupietz | 49f677c | 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 | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 16 |  | 
| Marc Kupietz | 49f677c | 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 | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 41 |  | 
| Marc Kupietz | 49f677c | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 42 |     $invoice->addTitle("Payment Details"); | 
| Marc Kupietz | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 43 |  | 
| Marc Kupietz | 49f677c | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 44 |     $invoice->addParagraph("Please transfer the total amount to the following account: "); | 
 | 45 |  | 
 | 46 |     $invoice->addParagraph("Leibniz-Institute for the German Language | 
| Marc Kupietz | b411f46 | 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 | 49f677c | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 50 |  | 
 | 51 | Reference: ICLC-10-" . $user->id . " | 
| Marc Kupietz | b411f46 | 2023-03-09 08:21:11 +0100 | [diff] [blame] | 52 | "); | 
| Marc Kupietz | 49f677c | 2023-03-10 08:29:41 +0100 | [diff] [blame] | 53 |     //$invoice->setFooterNote("xx"); | 
 | 54 |  | 
 | 55 |     /* Render */ | 
 | 56 |     $path = tempnam(sys_get_temp_dir(), 'prefix'); | 
 | 57 |     $ret = $invoice->render('example4.pdf', 'S'); /* I => Display on browser, D => Force Download, F => local path save, S => return document path */ | 
 | 58 |     return $ret; | 
 | 59 | } | 
 | 60 |  | 
 | 61 | /* | 
 | 62 | $user = new User(); | 
 | 63 | $user->id = 107; | 
 | 64 | $user->first_name = "John"; | 
 | 65 | $user->last_name = "Урсула"; | 
 | 66 | $user->organization = "Урсула ACME Inc."; | 
 | 67 | $user->street = "123 Main St."; | 
 | 68 | $user->zip = "12345"; | 
 | 69 | $user->city = "Mannheim"; | 
 | 70 | $user->country = "Germany"; | 
 | 71 | $user->total_due = 260.0; | 
 | 72 | $user->student = true; | 
 | 73 | $user->conference_dinner = true; | 
 | 74 | create_invoice($user); | 
 | 75 | */ | 
 | 76 | ?> |