\EasyInvoice\Controllers\SettingsController::getTextInvoiceNumber(), 'invoice_date' => \EasyInvoice\Controllers\SettingsController::getTextInvoiceDate(), 'due_date' => \EasyInvoice\Controllers\SettingsController::getTextDueDate(), 'total_due' => \EasyInvoice\Controllers\SettingsController::getTextTotalDue(), // Quote specific 'quote_number' => \EasyInvoice\Controllers\SettingsController::getTextQuoteNumber(), 'quote_date' => \EasyInvoice\Controllers\SettingsController::getTextQuoteDate(), 'valid_until' => \EasyInvoice\Controllers\SettingsController::getTextValidUntil(), // Common labels 'to' => \EasyInvoice\Controllers\SettingsController::getTextTo(), 'service' => \EasyInvoice\Controllers\SettingsController::getTextService(), 'qty' => \EasyInvoice\Controllers\SettingsController::getTextQty(), 'rate_price' => \EasyInvoice\Controllers\SettingsController::getTextRatePrice(), 'adjust' => \EasyInvoice\Controllers\SettingsController::getTextAdjust(), 'sub_total' => \EasyInvoice\Controllers\SettingsController::getTextSubTotal(), 'total' => \EasyInvoice\Controllers\SettingsController::getTextTotal(), 'tax' => \EasyInvoice\Controllers\SettingsController::getTextTax(), 'discount' => \EasyInvoice\Controllers\SettingsController::getTextDiscount(), // Button labels 'print' => \EasyInvoice\Controllers\SettingsController::getTextPrint(), 'download_pdf' => \EasyInvoice\Controllers\SettingsController::getTextDownloadPdf(), 'send_email' => \EasyInvoice\Controllers\SettingsController::getTextSendEmail(), 'pay_now' => \EasyInvoice\Controllers\SettingsController::getTextPayNow(), 'accept_quote' => \EasyInvoice\Controllers\SettingsController::getTextAcceptQuote(), 'decline_quote' => \EasyInvoice\Controllers\SettingsController::getTextDeclineQuote(), 'decline_reason' => \EasyInvoice\Controllers\SettingsController::getTextDeclineReason(), ]; } /** * Get company information from settings * * @return array Company information */ public static function getCompanyInfo(): array { return [ 'name' => get_option('easy_invoice_company_name', 'Your Company Name'), 'address' => get_option('easy_invoice_company_address', ''), 'email' => get_option('easy_invoice_company_email', ''), 'phone' => get_option('easy_invoice_company_phone', ''), 'website' => get_option('easy_invoice_company_website', ''), 'logo' => get_option('easy_invoice_company_logo', ''), 'tax_number' => get_option('easy_invoice_tax_number', ''), ]; } /** * Get invoice specific text settings * * @return array Invoice text settings */ public static function getInvoiceTextSettings(): array { return [ 'invoice_number' => \EasyInvoice\Controllers\SettingsController::getTextInvoiceNumber(), 'invoice_date' => \EasyInvoice\Controllers\SettingsController::getTextInvoiceDate(), 'due_date' => \EasyInvoice\Controllers\SettingsController::getTextDueDate(), 'total_due' => \EasyInvoice\Controllers\SettingsController::getTextTotalDue(), 'to' => \EasyInvoice\Controllers\SettingsController::getTextTo(), 'service' => \EasyInvoice\Controllers\SettingsController::getTextService(), 'qty' => \EasyInvoice\Controllers\SettingsController::getTextQty(), 'rate_price' => \EasyInvoice\Controllers\SettingsController::getTextRatePrice(), 'adjust' => \EasyInvoice\Controllers\SettingsController::getTextAdjust(), 'sub_total' => \EasyInvoice\Controllers\SettingsController::getTextSubTotal(), 'total' => \EasyInvoice\Controllers\SettingsController::getTextTotal(), 'tax' => \EasyInvoice\Controllers\SettingsController::getTextTax(), 'discount' => \EasyInvoice\Controllers\SettingsController::getTextDiscount(), 'print' => \EasyInvoice\Controllers\SettingsController::getTextPrint(), 'download_pdf' => \EasyInvoice\Controllers\SettingsController::getTextDownloadPdf(), 'send_email' => \EasyInvoice\Controllers\SettingsController::getTextSendEmail(), 'pay_now' => \EasyInvoice\Controllers\SettingsController::getTextPayNow(), ]; } /** * Get quote specific text settings * * @return array Quote text settings */ public static function getQuoteTextSettings(): array { return [ 'quote_number' => \EasyInvoice\Controllers\SettingsController::getTextQuoteNumber(), 'quote_date' => \EasyInvoice\Controllers\SettingsController::getTextQuoteDate(), 'valid_until' => \EasyInvoice\Controllers\SettingsController::getTextValidUntil(), 'to' => \EasyInvoice\Controllers\SettingsController::getTextTo(), 'service' => \EasyInvoice\Controllers\SettingsController::getTextService(), 'qty' => \EasyInvoice\Controllers\SettingsController::getTextQty(), 'rate_price' => \EasyInvoice\Controllers\SettingsController::getTextRatePrice(), 'adjust' => \EasyInvoice\Controllers\SettingsController::getTextAdjust(), 'sub_total' => \EasyInvoice\Controllers\SettingsController::getTextSubTotal(), 'total' => \EasyInvoice\Controllers\SettingsController::getTextTotal(), 'tax' => \EasyInvoice\Controllers\SettingsController::getTextTax(), 'discount' => \EasyInvoice\Controllers\SettingsController::getTextDiscount(), 'print' => \EasyInvoice\Controllers\SettingsController::getTextPrint(), 'download_pdf' => \EasyInvoice\Controllers\SettingsController::getTextDownloadPdf(), 'send_email' => \EasyInvoice\Controllers\SettingsController::getTextSendEmail(), 'accept_quote' => \EasyInvoice\Controllers\SettingsController::getTextAcceptQuote(), 'decline_quote' => \EasyInvoice\Controllers\SettingsController::getTextDeclineQuote(), 'decline_reason' => \EasyInvoice\Controllers\SettingsController::getTextDeclineReason(), ]; } /** * Generate "From" section content for templates * * @param array $company_info Company information array * @param bool $show_label Whether to show the "From" label * @param string $style Style variant for the "From" section * @return string Generated HTML for "From" section */ public static function generateFromSection($company_info, $show_label = true, $style = 'default'): string { $output = ''; switch ($style) { case 'minimal': // Minimal style - includes company name and details $output .= '