PATH:
home
/
letacommog
/
aacote
/
wp-content
/
plugins
/
wp-job-manager
/
includes
/
abstracts
<?php /** * Abstract class for an email notification built using templates. * * @package wp-job-manager * * @since 1.31.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Class WP_Job_Manager_Email_Template */ abstract class WP_Job_Manager_Email_Template extends WP_Job_Manager_Email { /** * Get the template path for overriding templates. * * @type abstract * @return string */ public static function get_template_path() { return 'job_manager'; } /** * Get the default template path that WP Job Manager should look for the templates. * * @type abstract * @return string */ public static function get_template_default_path() { return ''; } /** * Get the rich text version of the email content. * * @return string */ public function get_rich_content() { return $this->get_template( false ); } /** * Get the plaintext version of the email content. * * @return string */ public function get_plain_content() { if ( $this->has_template( true ) ) { return $this->get_template( true ); } return parent::get_plain_content(); } /** * Get the contents of a template. * * @param bool $plain_text * @return string */ public function get_template( $plain_text = false ) { $template_file = $this->locate_template( $plain_text ); if ( ! $template_file ) { return ''; } $args = $this->get_args(); $email = $this; ob_start(); include $template_file; return ob_get_clean(); } /** * Check to see if a template exists for this email. * * @param bool $plain_text * @return bool */ public function has_template( $plain_text = false ) { $template_file = $this->locate_template( $plain_text ); return $template_file && file_exists( $template_file ); } /** * Locate template for this email. * * @param bool $plain_text * @return string */ protected function locate_template( $plain_text ) { $class_name = get_class( $this ); $template_path = call_user_func( array( $class_name, 'get_template_path' ) ); $template_default_path = call_user_func( array( $class_name, 'get_template_default_path' ) ); return locate_job_manager_template( $this->get_template_file_name( $plain_text ), $template_path, $template_default_path ); } /** * Generate the file name for the email template. * * @param bool $plain_text * @return string */ protected function get_template_file_name( $plain_text = false ) { $class_name = get_class( $this ); // PHP 5.2: Using `call_user_func()` but `$class_name::get_key()` preferred. $email_notification_key = call_user_func( array( $class_name, 'get_key' ) ); $template_name = str_replace( '_', '-', $email_notification_key ); return self::generate_template_file_name( $template_name, $plain_text ); } /** * Generate the file name for the email template. * * @param string $template_name * @param bool $plain_text * @return string */ public static function generate_template_file_name( $template_name, $plain_text = false ) { $file_name_parts = array( 'emails' ); if ( $plain_text ) { $file_name_parts[] = 'plain'; } $file_name_parts[] = $template_name . '.php'; return implode( '/', $file_name_parts ); } }
[+]
..
[-] abstract-wp-job-manager-email.php
[edit]
[-] abstract-wp-job-manager-form.php
[edit]
[-] abstract-wp-job-manager-email-template.php
[edit]