/home/preegmxb/gymnyou.com/wp-content/plugins/white-label-cms/includes/classes/Admin_Script.php
<?php
class WLCMS_Admin_Script
{
private $css = array();
private $admin_css = '';
private $bulk_css = array();
private $hidded_elements = array();
private $js = array();
private $additional_css;
public function __construct()
{
add_action('admin_footer', array($this, 'footer_script'));
add_action('wp_footer', array($this, 'footer_script'), 99999);
add_action('in_admin_header', array($this, 'header_css'), 99999);
add_action('wp_head', array($this, 'header_css'), 99999);
}
public function header_css()
{
// no need to append scripts for guest users
if (!is_user_logged_in()) {
return;
}
$scripts = "<!-- WLCMS Style-->\n";
if (count($this->css) || count($this->hidded_elements) || count($this->bulk_css) || !empty($this->admin_css) ) {
$scripts .= sprintf('<style type="text/css">%s</style>', $this->compiled_header_css());
}
$scripts .= "\n<!-- WLCMS End Style-->";
echo $scripts;
}
private function compiled_header_css()
{
$content = $this->admin_css . $this->compileCss(). $this->additional_css;
$content = wp_kses( $content, array( '\'', '\"' ) );
$content = str_replace( '>', '>', $content );
return $content;
}
public function footer_script()
{
$scripts = '';
// no need to append scripts for guest users
if (!is_user_logged_in()) {
return;
}
if (count($this->js)) {
$scripts .= '<script type="text/javascript">';
$scripts .= '/* <![CDATA[ */';
$scripts .= ' jQuery(document).ready(function() { ' . $this->compileJs() . ' });';
$scripts .= '/* ]]> */';
$scripts .= '</script>';
}
if (!empty($scripts)) {
$scripts = "<!-- WLCMS Scripts-->\n" . $scripts . "\n<!-- WLCMS End Scripts-->";
}
echo $scripts;
}
public function set_CssHidden($props)
{
$this->hidded_elements[] = $props;
}
public function setCss($element, $props = array())
{
$this->css[$element] = $props;
}
public function appendCss($css)
{
$this->bulk_css[] = $css;
}
private function _setHiddenCss()
{
$hidden = implode(',', $this->hidded_elements);
if (!empty($hidden)) {
$this->setCss($hidden, array('display' => 'none!important'));
}
}
private function _setBulkCss()
{
return implode('', $this->bulk_css);
}
public function appendJs($js)
{
$this->js[] = $js;
}
function compileJs()
{
return implode('', $this->js);
}
function appendAdminCss($admin_css)
{
$this->admin_css = $admin_css;
}
function compileCss()
{
$this->_setHiddenCss();
if (!count($this->css) && !$this->bulk_css) {
return;
}
$css_output = '';
foreach ($this->css as $element => $props) {
$css_output .= $element . '{';
foreach ($props as $prop => $value) {
$css_output .= $prop . ':' . $value . ';';
}
$css_output .= '}';
}
$css_output .= $this->_setBulkCss();
return $css_output;
}
public function additional_css($css)
{
$this->additional_css .= $css;
}
}