2018-02-04 13:54:24 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The public-facing functionality of the plugin.
|
|
|
|
*
|
2018-08-08 21:09:36 -04:00
|
|
|
* @link https://captaincore.io
|
2018-02-04 13:54:24 -05:00
|
|
|
* @since 0.1.0
|
|
|
|
*
|
|
|
|
* @package Captaincore
|
|
|
|
* @subpackage Captaincore/public
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The public-facing functionality of the plugin.
|
|
|
|
*
|
|
|
|
* Defines the plugin name, version, and two examples hooks for how to
|
|
|
|
* enqueue the public-facing stylesheet and JavaScript.
|
|
|
|
*
|
|
|
|
* @package Captaincore
|
|
|
|
* @subpackage Captaincore/public
|
2018-08-08 21:09:36 -04:00
|
|
|
* @author Austin Ginder
|
2018-02-04 13:54:24 -05:00
|
|
|
*/
|
|
|
|
class Captaincore_Public {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The ID of this plugin.
|
|
|
|
*
|
|
|
|
* @since 0.1.0
|
|
|
|
* @access private
|
|
|
|
* @var string $plugin_name The ID of this plugin.
|
|
|
|
*/
|
|
|
|
private $plugin_name;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The version of this plugin.
|
|
|
|
*
|
|
|
|
* @since 0.1.0
|
|
|
|
* @access private
|
|
|
|
* @var string $version The current version of this plugin.
|
|
|
|
*/
|
|
|
|
private $version;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialize the class and set its properties.
|
|
|
|
*
|
|
|
|
* @since 0.1.0
|
2018-06-06 21:11:36 -04:00
|
|
|
* @param string $plugin_name The name of the plugin.
|
|
|
|
* @param string $version The version of this plugin.
|
2018-02-04 13:54:24 -05:00
|
|
|
*/
|
|
|
|
public function __construct( $plugin_name, $version ) {
|
|
|
|
|
|
|
|
$this->plugin_name = $plugin_name;
|
2018-06-06 21:11:36 -04:00
|
|
|
$this->version = $version;
|
2018-02-04 13:54:24 -05:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Register the stylesheets for the public-facing side of the site.
|
|
|
|
*
|
|
|
|
* @since 0.1.0
|
|
|
|
*/
|
|
|
|
public function enqueue_styles() {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This function is provided for demonstration purposes only.
|
|
|
|
*
|
|
|
|
* An instance of this class should be passed to the run() function
|
|
|
|
* defined in Captaincore_Loader as all of the hooks are defined
|
|
|
|
* in that particular class.
|
|
|
|
*
|
|
|
|
* The Captaincore_Loader will then create the relationship
|
|
|
|
* between the defined hooks and the functions defined in this
|
|
|
|
* class.
|
|
|
|
*/
|
|
|
|
|
2018-05-17 22:09:13 -04:00
|
|
|
global $wp_query;
|
|
|
|
|
2018-06-06 21:11:36 -04:00
|
|
|
wp_enqueue_style( 'google-material-icons', 'https://fonts.googleapis.com/icon?family=Material+Icons', array(), '2017-09-03' );
|
|
|
|
wp_enqueue_style( 'font-awesome', "https://use.fontawesome.com/releases/v5.0.13/css/all.css", array() );
|
2018-07-03 15:52:31 -04:00
|
|
|
wp_enqueue_style( 'dashicons' );
|
2018-05-26 13:18:01 -04:00
|
|
|
|
2018-06-07 09:18:51 -04:00
|
|
|
if ( is_user_logged_in() ) {
|
2018-06-12 13:10:58 -04:00
|
|
|
|
|
|
|
$materialize_needed = false;
|
|
|
|
|
2018-06-07 10:47:40 -04:00
|
|
|
// Pages: DNS, Licenses, Websites, Processes
|
|
|
|
if ( isset( $wp_query->query['dns'] ) || isset( $wp_query->query['licenses'] ) || isset( $wp_query->query['websites'] ) || isset( $wp_query->query['captcore_process'] ) ) {
|
2018-06-07 09:18:51 -04:00
|
|
|
$materialize_needed = true;
|
|
|
|
}
|
|
|
|
// Page: my-account dashboard when logged in
|
|
|
|
if ( isset( $wp_query->query['pagename'] ) and $wp_query->query['pagename'] == "my-account" and isset( $wp_query->query['page']) ) {
|
|
|
|
$materialize_needed = true;
|
|
|
|
}
|
2018-06-06 21:11:36 -04:00
|
|
|
}
|
2018-06-07 09:13:13 -04:00
|
|
|
|
|
|
|
if ( $materialize_needed ) {
|
|
|
|
wp_enqueue_style( 'materialize', plugin_dir_url( __FILE__ ) . 'css/materialize.min.css', array(), '2017-09-08' );
|
|
|
|
wp_enqueue_script( 'materialize', plugin_dir_url( __FILE__ ) . 'js/materialize.min.js', array( 'jquery' ), '2016-12-30', false );
|
2018-06-04 20:02:30 -04:00
|
|
|
}
|
2018-02-04 13:54:24 -05:00
|
|
|
|
2018-06-30 12:15:22 -04:00
|
|
|
wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/captaincore-public.2018-06-30.css', array(), $this->version, 'all' );
|
2018-06-07 09:13:13 -04:00
|
|
|
|
|
|
|
|
2018-02-04 13:54:24 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Register the JavaScript for the public-facing side of the site.
|
|
|
|
*
|
|
|
|
* @since 0.1.0
|
|
|
|
*/
|
|
|
|
public function enqueue_scripts() {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This function is provided for demonstration purposes only.
|
|
|
|
*
|
|
|
|
* An instance of this class should be passed to the run() function
|
|
|
|
* defined in Captaincore_Loader as all of the hooks are defined
|
|
|
|
* in that particular class.
|
|
|
|
*
|
|
|
|
* The Captaincore_Loader will then create the relationship
|
|
|
|
* between the defined hooks and the functions defined in this
|
|
|
|
* class.
|
|
|
|
*/
|
2018-06-30 12:15:22 -04:00
|
|
|
wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/captaincore-public.2018-06-30.js', array( 'jquery' ), $this->version, false );
|
2018-07-14 20:03:49 -04:00
|
|
|
if ( is_user_logged_in() ) {
|
|
|
|
wp_enqueue_script( 'wp-api' );
|
|
|
|
wp_localize_script( 'wp-api', 'wpApiSettings', array(
|
|
|
|
'root' => esc_url_raw( rest_url() ),
|
|
|
|
'nonce' => wp_create_nonce( 'wp_rest' )
|
|
|
|
) );
|
|
|
|
}
|
2018-02-04 13:54:24 -05:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|