initial
This commit is contained in:
@@ -0,0 +1,231 @@
|
||||
<?php
|
||||
|
||||
class WLCMS_Branding extends WLCMS_Previewable
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
//Check and set if it is a preview
|
||||
$this->check_preview();
|
||||
|
||||
add_action('init', array($this, 'init'));
|
||||
add_filter('admin_title', array($this, 'admin_title'), 10, 2);
|
||||
add_action('admin_bar_menu', array($this, 'admin_bar_logo'));
|
||||
add_action('admin_bar_menu', array($this, 'admin_bar_howdy_text'), 10000);
|
||||
add_filter('admin_footer_text', array($this, 'admin_footer'), 2000);
|
||||
add_action('admin_menu', array($this, 'admin_menu'), 0);
|
||||
add_filter('admin_body_class', array($this, 'admin_body_class'), 12);
|
||||
}
|
||||
|
||||
public function init()
|
||||
{
|
||||
if ($this->get_settings('hide_wp_version')) {
|
||||
add_filter('update_footer', '__return_false', 11);
|
||||
}
|
||||
|
||||
if ($this->get_settings('hide_wordpress_logo_and_links')) {
|
||||
wlcms_set_hidden_css('#wp-admin-bar-wp-logo');
|
||||
wlcms_set_hidden_css('#wpadminbar .quicklinks li .blavatar');
|
||||
}
|
||||
|
||||
// Setup css for the admin bar logo
|
||||
if ($this->get_settings('admin_bar_logo')) {
|
||||
/**
|
||||
* Create css for admin bar custom logo
|
||||
*/
|
||||
$css_args = array();
|
||||
|
||||
$css_args['vertical-align'] = 'middle!important';
|
||||
|
||||
|
||||
//limit admin logo height
|
||||
$css_args['max-height'] = '20px!important';
|
||||
$css_args['margin'] = '0 auto';
|
||||
$css_args['vertical-align'] = 'middle';
|
||||
|
||||
wlcms_set_css('.wlcms-admin-logo img', $css_args);
|
||||
|
||||
wlcms_set_css(
|
||||
'.wlcms-admin-logo .ab-item, .wlcms-admin-logo a',
|
||||
array(
|
||||
'line-height' => '28px!important',
|
||||
'display' => 'flex',
|
||||
'align-items' => 'center'
|
||||
)
|
||||
);
|
||||
|
||||
wlcms_set_css('#footer-left img', array('vertical-align' => 'middle', 'max-height' => '50px', 'margin-right' => '5px'));
|
||||
wlcms_set_css('#footer-left a', array('text-decoration' => 'none'));
|
||||
}
|
||||
}
|
||||
|
||||
public function admin_title($admin_title)
|
||||
{
|
||||
if ($custom_admin_title = esc_attr($this->get_settings('custom_page_title'))) {
|
||||
$admin_title = str_replace(
|
||||
"— WordPress",
|
||||
"— " . $custom_admin_title,
|
||||
$admin_title
|
||||
);
|
||||
}
|
||||
|
||||
return $admin_title;
|
||||
}
|
||||
|
||||
public function admin_body_class($classes)
|
||||
{
|
||||
$classes = trim($classes) . ' ' . (!is_wlcms_admin() ? 'not-' : '') . 'wlcms-admin ';
|
||||
|
||||
return $classes;
|
||||
}
|
||||
|
||||
public function admin_bar_logo($wp_admin_bar)
|
||||
{
|
||||
|
||||
$admin_menu_bar_url = esc_url($this->get_settings('admin_bar_url'));
|
||||
$admin_menu_bar_alt_text = esc_attr($this->get_settings('admin_bar_alt_text'));
|
||||
$admin_menu_bar_image = esc_url($this->get_settings('admin_bar_logo'));
|
||||
|
||||
if (!$admin_menu_bar_image) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add custom logo to the admin bar menu
|
||||
*/
|
||||
$args = array(
|
||||
'id' => 'wlcms-admin-logo',
|
||||
'href' => $admin_menu_bar_url,
|
||||
'title' => sprintf('<img src="%s" alt="%s" />', $admin_menu_bar_image, $admin_menu_bar_alt_text),
|
||||
'meta' => array('class' => 'wlcms-admin-logo', 'title' => $admin_menu_bar_alt_text, 'target' => '_blank')
|
||||
);
|
||||
$wp_admin_bar->add_node($args);
|
||||
}
|
||||
|
||||
public function sidebar_menu_url()
|
||||
{
|
||||
if ($this->get_settings('use_developer_side_menu_image')) {
|
||||
return esc_url($this->get_settings('developer_url'));
|
||||
}
|
||||
|
||||
return esc_url($this->get_settings('side_menu_link_url'));
|
||||
}
|
||||
|
||||
public function admin_menu()
|
||||
{
|
||||
global $menu;
|
||||
|
||||
$sidebar_url = esc_url($this->get_settings('side_menu_link_url'));
|
||||
$sidebar_text = esc_attr($this->get_settings('side_menu_alt_text'));
|
||||
$sidebar_image = esc_url($this->get_settings('side_menu_image'));
|
||||
$collapsed_sidebar_image = esc_url($this->get_settings('collapsed_side_menu_image'));
|
||||
|
||||
|
||||
if (!$sidebar_image) {
|
||||
return;
|
||||
}
|
||||
|
||||
$logo = sprintf('<img src=\"%s\" alt=\"%s\" class=\"large-side-bar-logo\" /><img src=\"%s\" alt=\"%s\" class=\"collapsed-side-bar-logo\" />', $sidebar_image, $sidebar_text, $collapsed_sidebar_image, $sidebar_text);
|
||||
|
||||
$target = '_self';
|
||||
if ($sidebar_url) {
|
||||
$domain = wp_parse_url($sidebar_url);
|
||||
if (isset($domain['host'])) {
|
||||
if (strpos($_SERVER['HTTP_HOST'], $domain['host']) === false) {
|
||||
$target = '_blank';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($sidebar_url) {
|
||||
$logo = sprintf('<a href=\"%s\" title=\"%s\" target=\"%s\">%s</a>', $sidebar_url, $sidebar_text, $target, $logo);
|
||||
}
|
||||
wlcms_set_css('.collapsed-side-bar-logo', array('display' => 'none', 'padding' => '5px', 'max-width' => '36px'));
|
||||
wlcms_set_css('.folded .collapsed-side-bar-logo', array('display' => 'block', 'margin' => '0 auto', 'max-width' => '25px'));
|
||||
|
||||
wlcms_set_css('.large-side-bar-logo', array('display' => 'block', 'max-width' => '150px', 'margin' => '0 auto', 'padding' => '5px'));
|
||||
wlcms_set_css('.folded .large-side-bar-logo', array('display' => 'none'));
|
||||
|
||||
wlcms_add_js(sprintf('jQuery("#adminmenuwrap").prepend("<span class=\"wlcms-logo\">%s</span>");', $logo));
|
||||
|
||||
wlcms()->Admin_Script()->additional_css('
|
||||
@media only screen and (max-width: 960px) {
|
||||
.wlcms-logo .large-side-bar-logo{
|
||||
display:none;
|
||||
}
|
||||
.wlcms-logo .collapsed-side-bar-logo{
|
||||
display:block;
|
||||
}
|
||||
}');
|
||||
}
|
||||
|
||||
public function admin_bar_howdy_text($wp_admin_bar)
|
||||
{
|
||||
|
||||
$admin_bar_howdy_text = esc_attr($this->get_settings('admin_bar_howdy_text'));
|
||||
|
||||
if (!$admin_bar_howdy_text) {
|
||||
return;
|
||||
}
|
||||
|
||||
$account_node = $wp_admin_bar->get_node('my-account');
|
||||
if (!isset($account_node->title)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$wp_admin_bar->add_node(array(
|
||||
'id' => 'my-account',
|
||||
'title' =>
|
||||
str_replace(
|
||||
str_replace(', %s', ',', __( 'Howdy, %s' )),
|
||||
$admin_bar_howdy_text, $account_node->title
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Use custom footer
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function admin_footer($original_text)
|
||||
{
|
||||
|
||||
$footer_html = wp_kses_post($this->get_settings('footer_html'));
|
||||
$footer_url = esc_url($this->get_settings('footer_url'));
|
||||
$footer_text = esc_attr($this->get_settings('footer_text'));
|
||||
$footer_image = esc_url($this->get_settings('footer_image'));
|
||||
$developer_name = esc_attr($this->get_settings('developer_name'));
|
||||
|
||||
if ($footer_html) {
|
||||
return $footer_html;
|
||||
}
|
||||
|
||||
$footer_main_text = "";
|
||||
|
||||
if ($footer_image) {
|
||||
$footer_main_text .= '<img src="' . $footer_image . '" alt="" /> ';
|
||||
}
|
||||
|
||||
if ($footer_text) {
|
||||
$footer_main_text .= $footer_text;
|
||||
}
|
||||
|
||||
if (empty($footer_main_text)) {
|
||||
|
||||
if (wlcms_field_setting('hide_wordpress_logo_and_links')) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return $original_text;
|
||||
}
|
||||
|
||||
if (!$footer_url) {
|
||||
return $footer_main_text;
|
||||
}
|
||||
|
||||
$footer_html = '<a href="' . $footer_url . '" title="' . $developer_name . '" target="_blank">' . $footer_main_text . '</a>';
|
||||
|
||||
return $footer_html;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user