• Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
  • Hooks

Namespaces

  • None
  • SIW
    • Admin
    • API
    • Async
    • Batch
    • Compatibility
    • Data
    • Elements
    • Email
    • External
    • Forms
    • Modules
    • Newsletter
    • Page_Builder
    • Plato
    • Widgets
    • WooCommerce
      • Admin
      • Checkout
      • Email
      • Export
      • Frontend
      • Import

Classes

  • SIW\Admin\Admin
  • SIW\Admin\Admin_Bar
  • SIW\Admin\Notices
  • SIW\Admin\Options_Page
  • SIW\Admin\Properties_Page
  • SIW\Admin\Shortcodes
  • SIW\Admin\User_Columns
  • SIW\Animation
  • SIW\API\Endpoint
  • SIW\API\Newsletter_Subscribe
  • SIW\API\Postcode_Lookup
  • SIW\Assets
  • SIW\Async\Process_Stockphoto_Upload
  • SIW\Async\Request
  • SIW\Attachment
  • SIW\Autoloader
  • SIW\Batch\Count_Workcamps
  • SIW\Batch\Delete_Applications
  • SIW\Batch\Delete_Old_Posts
  • SIW\Batch\Delete_Orphaned_Variations
  • SIW\Batch\Delete_Workcamps
  • SIW\Batch\Job
  • SIW\Batch\Send_Workcamp_Approval_Emails
  • SIW\Batch\Update_Dutch_Workcamps
  • SIW\Batch\Update_Free_Places
  • SIW\Batch\Update_SEO_Noindex
  • SIW\Batch\Update_Taxonomies
  • SIW\Batch\Update_Workcamp_Tariffs
  • SIW\Batch\Update_Workcamp_Visibility
  • SIW\Batch\Update_Workcamps
  • SIW\Bootstrap
  • SIW\Compatibility\Caldera_Forms
  • SIW\Compatibility\Mailpoet
  • SIW\Compatibility\Meta_Box
  • SIW\Compatibility\Password_Protected
  • SIW\Compatibility\Pinnacle_Premium
  • SIW\Compatibility\Plugins
  • SIW\Compatibility\Safe_Redirect_Manager
  • SIW\Compatibility\SiteOrigin_Page_Builder
  • SIW\Compatibility\The_SEO_Framework
  • SIW\Compatibility\UpdraftPlus
  • SIW\Compatibility\WooCommerce
  • SIW\Compatibility\WordPress
  • SIW\Compatibility\WP_Rocket
  • SIW\Compatibility\WP_Sentry_Integration
  • SIW\Compatibility\WPML
  • SIW\CSS
  • SIW\Data\Continent
  • SIW\Data\Country
  • SIW\Data\Currency
  • SIW\Data\Language
  • SIW\Data\Social_Network
  • SIW\Data\Work_Type
  • SIW\Elements
  • SIW\Elements\Accordion
  • SIW\Elements\Carousel
  • SIW\Elements\Chart
  • SIW\Elements\Google_Maps
  • SIW\Elements\Interactive_Map
  • SIW\Elements\Interactive_Map_Destinations
  • SIW\Elements\Interactive_Map_ESC
  • SIW\Elements\Interactive_Map_Netherlands
  • SIW\Elements\Modal
  • SIW\Elements\Pie_Chart
  • SIW\Elements\Tablist
  • SIW\Elements\Taxonomy_Filter
  • SIW\Elements\World_Map
  • SIW\Email\Configuration
  • SIW\Email\Template
  • SIW\External\Exchange_Rates
  • SIW\External\Mailjet
  • SIW\External\Postcode_Lookup
  • SIW\External\Spam_Check
  • SIW\Formatting
  • SIW\Forms
  • SIW\Forms\Form
  • SIW\Forms\Processor_Spam_Check
  • SIW\Head
  • SIW\htaccess
  • SIW\HTML
  • SIW\i18n
  • SIW\Icons
  • SIW\Login
  • SIW\Media_Taxonomies
  • SIW\Modules\Cache_Rebuild
  • SIW\Modules\Cookie_Notice
  • SIW\Modules\Google_Analytics
  • SIW\Modules\Menu_Cart
  • SIW\Modules\Social_Share
  • SIW\Modules\Topbar
  • SIW\Newsletter\Confirmation_Email
  • SIW\Newsletter\Confirmation_Page
  • SIW\Newsletter\Hash
  • SIW\Options
  • SIW\Page_Builder\Animation
  • SIW\Page_Builder\Visibility
  • SIW\Plato\Download_File
  • SIW\Plato\Export
  • SIW\Plato\Export_Application
  • SIW\Plato\Import
  • SIW\Plato\Import_Dutch_Workcamps
  • SIW\Plato\Import_FPL
  • SIW\Plato\Import_Workcamps
  • SIW\Plato\Plato_Interface
  • SIW\Properties
  • SIW\Scheduler
  • SIW\Shortcodes
  • SIW\Update
  • SIW\Upload_Subdir
  • SIW\Util
  • SIW\Widgets
  • SIW\Widgets\Accordion
  • SIW\Widgets\Calendar
  • SIW\Widgets\Carousel
  • SIW\Widgets\Contact
  • SIW\Widgets\CTA
  • SIW\Widgets\Dutch_Projects
  • SIW\Widgets\Features
  • SIW\Widgets\Google_Maps
  • SIW\Widgets\Infobox
  • SIW\Widgets\Map
  • SIW\Widgets\Newsletter
  • SIW\Widgets\Organisation
  • SIW\Widgets\Pie_Chart
  • SIW\Widgets\Quick_Search_Form
  • SIW\Widgets\Quick_Search_Results
  • SIW\Widgets\Quote
  • SIW\Widgets\Tabs
  • SIW\Widgets\Widget
  • SIW\WooCommerce\Admin\Coupon
  • SIW\WooCommerce\Admin\Order
  • SIW\WooCommerce\Admin\Order_Columns
  • SIW\WooCommerce\Admin\Product
  • SIW\WooCommerce\Admin\Product_Columns
  • SIW\WooCommerce\Admin\Stockphoto_Page
  • SIW\WooCommerce\Checkout\Discount
  • SIW\WooCommerce\Checkout\Fields
  • SIW\WooCommerce\Checkout\Form
  • SIW\WooCommerce\Checkout\Newsletter
  • SIW\WooCommerce\Checkout\Terms
  • SIW\WooCommerce\Checkout\Validation
  • SIW\WooCommerce\Email\Customer_On_Hold_Order
  • SIW\WooCommerce\Email\Customer_Processing_Order
  • SIW\WooCommerce\Email\Emails
  • SIW\WooCommerce\Email\New_Order
  • SIW\WooCommerce\Export\Order
  • SIW\WooCommerce\Frontend\Archive
  • SIW\WooCommerce\Frontend\Archive_Header
  • SIW\WooCommerce\Frontend\Product
  • SIW\WooCommerce\Frontend\Product_Tabs
  • SIW\WooCommerce\Import\Product
  • SIW\WooCommerce\Import\Product_Image
  • SIW\WooCommerce\Import\Product_Variations
  • SIW_Content_Type
  • SIW_Content_Type_TM_Country
  • SIW_Post_Type
  • SIW_Post_Type_Agenda
  • SIW_Post_Type_Vacatures
  • SIW_Taxonomy

Functions

  • siw_generate_event_json_ld
  • siw_generate_interactive_map
  • siw_generate_job_json_ld
  • siw_get_board_titles
  • siw_get_continent
  • siw_get_continents
  • siw_get_countries
  • siw_get_country
  • siw_get_currencies
  • siw_get_currency
  • siw_get_data
  • siw_get_data_file_ids
  • siw_get_days
  • siw_get_dutch_provinces
  • siw_get_email_settings
  • siw_get_event_data
  • siw_get_featured_job
  • siw_get_genders
  • siw_get_interactive_maps
  • siw_get_job_data
  • siw_get_language
  • siw_get_language_skill_levels
  • siw_get_languages
  • siw_get_nationalities
  • siw_get_option
  • siw_get_project_types
  • siw_get_social_networks
  • siw_get_testimonial_quote
  • siw_get_testimonial_quote_categories
  • siw_get_upcoming_events
  • siw_get_work_type
  • siw_get_work_types
  • siw_meta
  • siw_newsletter_get_lists
  • siw_newsletter_get_subscriber_count
  • siw_newsletter_send_confirmation_email
  • siw_newsletter_subscribe
  • siw_set_option
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 
<?php

namespace SIW\Email;

use SIW\Properties;
use SIW\HTML;

/**
 * E-mail template
 *
 * @copyright 2019 SIW Internationale Vrijwilligersprojecten
 * @since     3.0.0
 */
class Template {

    /**
     * Undocumented variable
     *
     * @var array
     */
    protected $args;

    /**
     * Init
     *
     * @param array $args
     */
    public function __construct( array $args ) {
        $defaults = array(
            'subject'           => '',
            'message'           => '',
            'show_summary'      => false,
            'show_signature'    => false,
            'signature_name'    => '',
            'signature_title'   => '',
            'remove_linebreaks' => false,
        );
        $this->args = wp_parse_args( $args, $defaults );    
    }

    /**
     * Genereert e-mail template
     * 
     * @return string
     */
    public function generate() {

        $output = $this->get_template();
        if ( $this->args['remove_linebreaks'] ) {
            $output = str_replace( array( "\n\r", "\r", "\n" ), '', $output );
        }
        return $output;
    }

    /**
     * Haal template op
     * 
     * @return string
     */
    protected function get_template() {
        /* Start template */
        ob_start();
        ?>
        <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" bgcolor="#ffffff">
        <table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#eeeeee">
        <tr>
            <td align="center">&nbsp;</td>
        </tr>
        <tr>
            <td align="center" valign="top">
                <table border="0" cellpadding="0" cellspacing="0" width="600" bgcolor="#ffffff" style="border-radius:3px !important;">
                    <tr>
                        <td align="center">&nbsp;</td>
                    </tr>
                    <tr>
                        <td>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                    <td width="10%">&nbsp;</td>
                                    <td width="20%">
                                        <img src="<?= SIW_ASSETS_URL;?>images/mail/logo.png" style="display: block; border: 0px; outline: none; width: 100%; height: auto; max-width: 144px;" width="144" border="0" alt="logo" />
                                    </td>
                                    <td width="60%" style="vertical-align:bottom;border-bottom: solid <?= Properties::PRIMARY_COLOR;?>;font-family:Verdana, normal; color:#666666; font-size:0.95m; font-weight:bold;" align="center">
                                        <?= esc_html( $this->args['subject'] );?>
                                    </td>
                                    <td width="10%">&nbsp;</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td align="center">&nbsp;</td>
                    </tr>
                    <tr>
                        <td>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                    <td width="10%">&nbsp;</td>
                                    <td width="80%">
                                        <div style="font-family:Verdana, normal; color:<?php echo Properties::FONT_COLOR;?>; font-size:0.9em; ">
                                            <p>
                                            <?= wp_kses_post( $this->args['message'] );?>
                                            <?php if ( $this->args['show_signature'] ) :?>
                                                <br/><br/>
                                                <?= esc_html__( 'Met vriendelijke groet,', 'siw' ); ?><br /><br />
                                                <?= esc_html( $this->args['signature_name'] );?><br/>
                                                <?php if ( ! empty( $this->args['signature_title'] ) ) :?>
                                                    <span style="color:#808080;">
                                                        <?= esc_html( $this->args['signature_title'] );?>
                                                    </span>
                                                <?php endif; ?>
                                            <?php endif; ?>
                                            </p>
                                        </div>
                                        <?php if ( $this->args['show_summary']  ) :?>
                                            {summary}
                                        <?php endif; ?>
                                    </td>
                                    <td width="10%">&nbsp;</td>
                                </tr>
                                <tr>
                                    <td width="10%">&nbsp;</td>
                                    <td width="80%" height="20" style="border-bottom:thin solid <?= Properties::PRIMARY_COLOR;?>">&nbsp;</td>
                                    <td width="10%">&nbsp;</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td align="center" height="20">
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                    <td width="10%">&nbsp;</td>
                                    <td width="auto" align="center" style="font-family:Verdana, normal; color:#666; font-size:0.7em; font-weight:bold"><?= Properties::NAME;?>
                                    </td>
                                    <td width="10%">&nbsp;</td>
                                </tr>
                                <tr>
                                    <td width="10%">&nbsp;</td>
                                    <td width="auto" align="center" style="font-family:Verdana, normal; color:#666; font-size:0.7em; font-weight:bold"><a href="<?= SIW_SITE_URL;?>" target="_blank" style="color:#666; text-decoration:none" title="<?= esc_attr__( 'Bezoek onze website', 'siw' );?>"><?= SIW_SITE_NAME;?></a> | <a href="tel:<?= Properties::PHONE_INTERNATIONAL;?>" style="color:#666; text-decoration:none"><?= Properties::PHONE; ?></a> | <a href="mailto:<?= Properties::EMAIL;?>" style="color:#666; text-decoration:none"><?= Properties::EMAIL;?></a>
                                    </td>
                                    <td width="10%">&nbsp;</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td height="30">
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                    <td width="40%">&nbsp;</td>
                                        <?php foreach ( siw_get_social_networks( 'follow') as $network ) :?>
                                        <td width="auto" align="center">
                                            <?php echo HTML::generate_link(
                                                $network->get_follow_url(),
                                                sprintf(
                                                    '<img src="%s" alt="%s" title="%s" width="20" height="20" border="0" />',
                                                    SIW_ASSETS_URL . 'images/mail/' . $network->get_slug() . '.png',
                                                    $network->get_slug(),
                                                    esc_attr( sprintf( __( 'Volg ons op %s', 'siw' ), $network->get_name() ) )
                                                ),
                                                [
                                                    'target' => '_blank'
                                                ]
                                            );?>
                                        </td>
                                        <?php endforeach; ?>
                                    <td width="40%">&nbsp;</td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td align="center">&nbsp;</td>
                    </tr>
                </table>
            </td>
        </tr>
        <tr>
            <td align="center">&nbsp;</td>
        </tr>
        </table>
        </body>
        <?php
        $template = ob_get_clean();

        return $template;
    }
}
SIW API documentation generated by ApiGen