\n";
if (count($this->css) || count($this->hidded_elements) || count($this->bulk_css) || !empty($this->admin_css)) {
$scripts .= sprintf('', $this->compiled_header_css());
}
$scripts .= "\n";
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 .= '';
}
if (!empty($scripts)) {
$scripts = "\n" . $scripts . "\n";
}
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;
}
}