File "class-shapely.php"
Full Path: /home2/sdektunc/cepali.edu.mx/wp-content/themes/shapely/inc/class-shapely.php
File size: 7.11 KB
MIME-type: text/x-php
Charset: utf-8
<?php
class Shapely {
public $recommended_plugins = array(
'kali-forms' => array(
'recommended' => true,
),
'colorlib-login-customizer' => array(
'recommended' => true,
),
'colorlib-404-customizer' => array(
'recommended' => true,
),
'colorlib-coming-soon-maintenance' => array(
'recommended' => true,
),
'simple-custom-post-order' => array(
'recommended' => true,
),
'fancybox-for-wordpress' => array(
'recommended' => true,
),
'modula-best-grid-gallery' => array(
'recommended' => true,
),
'kb-support' => array(
'recommended' => true,
),
'rsvp' => array(
'recommended' => true
),
);
public $recommended_actions;
public $theme_slug = 'shapely';
function __construct() {
if ( ! is_admin() && ! is_customize_preview() ) {
return;
}
$this->load_class();
$this->recommended_actions = apply_filters(
'shapely_required_actions', array(
array(
'id' => 'shapely-req-import-content',
'title' => esc_html__( 'Import Demo Content', 'shapely' ),
'description' => esc_html__( 'Clicking the button below will install and activate plugins, add widgets and set static front page to your WordPress installation. Click advanced to customize the import process.', 'shapely' ),
'help' => $this->generate_action_html(),
'check' => Shapely_Notify_System::shapely_has_content(),
),
array(
'id' => 'shapely-req-ac-install-companion-plugin',
'title' => Shapely_Notify_System::shapely_companion_title(),
'description' => Shapely_Notify_System::shapely_companion_description(),
'check' => Shapely_Notify_System::shapely_has_plugin( 'shapely-companion' ),
'plugin_slug' => 'shapely-companion',
),
array(
'id' => 'shapely-req-ac-install-wp-jetpack-plugin',
'title' => Shapely_Notify_System::shapely_jetpack_title(),
'description' => Shapely_Notify_System::shapely_jetpack_description(),
'check' => Shapely_Notify_System::shapely_has_plugin( 'jetpack' ),
'plugin_slug' => 'jetpack',
),
array(
'id' => 'shapely-req-ac-install-kali-forms',
'title' => Shapely_Notify_System::shapely_kaliforms_title(),
'description' => Shapely_Notify_System::shapely_kaliforms_description(),
'check' => Shapely_Notify_System::shapely_has_plugin( 'kali-forms' ),
'plugin_slug' => 'kali-forms',
),
)
);
$this->init_epsilon();
$this->init_welcome_screen();
// Hooks
add_action( 'customize_register', array( $this, 'init_customizer' ) );
}
public function load_class() {
if ( ! is_admin() && ! is_customize_preview() ) {
return;
}
require_once get_template_directory() . '/inc/libraries/epsilon-framework/class-epsilon-autoloader.php';
require_once get_template_directory() . '/inc/class-shapely-notify-system.php';
require_once get_template_directory() . '/inc/libraries/welcome-screen/class-epsilon-welcome-screen.php';
}
public function init_epsilon() {
$args = array(
'controls' => array( 'slider', 'toggle' ), // array of controls to load
'sections' => array( 'recommended-actions', 'pro' ), // array of sections to load
'backup' => false,
);
new Epsilon_Framework( $args );
}
public function init_welcome_screen() {
Epsilon_Welcome_Screen::get_instance(
$config = array(
'theme-name' => 'Shapely',
'theme-slug' => 'shapely',
'actions' => $this->recommended_actions,
'plugins' => $this->recommended_plugins,
)
);
}
public function init_customizer( $wp_customize ) {
$current_theme = wp_get_theme();
$wp_customize->add_section(
new Epsilon_Section_Recommended_Actions(
$wp_customize, 'epsilon_recomended_section', array(
'title' => esc_html__( 'Recomended Actions', 'shapely' ),
'social_text' => esc_html( $current_theme->get( 'Author' ) ) . esc_html__( ' is social :', 'shapely' ),
'plugin_text' => esc_html__( 'Recomended Plugins :', 'shapely' ),
'actions' => $this->recommended_actions,
'plugins' => $this->recommended_plugins,
'theme_specific_option' => $this->theme_slug . '_show_required_actions',
'theme_specific_plugin_option' => $this->theme_slug . '_show_required_plugins',
'facebook' => 'https://www.facebook.com/colorlib',
'twitter' => 'https://twitter.com/colorlib',
'wp_review' => true,
'priority' => 0,
)
)
);
}
private function generate_action_html() {
$import_actions = array(
'set-frontpage' => esc_html__( 'Set Static FrontPage', 'shapely' ),
'import-widgets' => esc_html__( 'Import HomePage Widgets', 'shapely' ),
);
$import_plugins = array(
'shapely-companion' => esc_html__( 'Shapely Companion', 'shapely' ),
'jetpack' => esc_html__( 'Jetpack', 'shapely' ),
'kali-forms' => esc_html__( 'Kali Forms', 'shapely' ),
);
$plugins_html = '';
if ( is_customize_preview() ) {
$url = 'themes.php?page=%1$s-welcome&tab=%2$s';
$html = '<a class="button button-primary" id="" href="' . esc_url( admin_url( sprintf( $url, 'shapely', 'recommended-actions' ) ) ) . '">' . __( 'Import Demo Content', 'shapely' ) . '</a>';
} else {
$html = '<p><a class="button button-primary cpo-import-button epsilon-ajax-button" data-action="import_demo" id="add_default_sections" href="#">' . __( 'Import Demo Content', 'shapely' ) . '</a>';
$html .= '<a class="button epsilon-hidden-content-toggler" href="#welcome-hidden-content">' . __( 'Advanced', 'shapely' ) . '</a></p>';
$html .= '<div class="import-content-container" id="welcome-hidden-content">';
foreach ( $import_plugins as $id => $label ) {
if ( ! Shapely_Notify_System::shapely_has_plugin( $id ) ) {
$plugins_html .= $this->generate_checkbox( $id, $label, 'plugins' );
}
}
if ( '' != $plugins_html ) {
$html .= '<div class="plugins-container">';
$html .= '<h4>' . __( 'Plugins', 'shapely' ) . '</h4>';
$html .= '<div class="checkbox-group">';
$html .= $plugins_html;
$html .= '</div>';
$html .= '</div>';
}
$html .= '<div class="demo-content-container">';
$html .= '<h4>' . __( 'Demo Content', 'shapely' ) . '</h4>';
$html .= '<div class="checkbox-group">';
foreach ( $import_actions as $id => $label ) {
$html .= $this->generate_checkbox( $id, $label );
}
$html .= '</div>';
$html .= '</div>';
$html .= '</div>';
}
return $html;
}
private function generate_checkbox( $id, $label, $name = 'options', $block = false ) {
$string = '<label><input checked type="checkbox" name="%1$s" class="demo-checkboxes"' . ( $block ? ' disabled ' : ' ' ) . 'value="%2$s">%3$s</label>';
return sprintf( $string, $name, $id, $label );
}
}
new Shapely();