403Webshell
Server IP : 195.130.67.5  /  Your IP : 216.73.217.154
Web Server : Microsoft-IIS/10.0
System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586
User : IUSR ( 0)
PHP Version : 7.4.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Old Sites/Engineering/V2/plugins/editors/jckeditor/includes/ckeditor/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Old Sites/Engineering/V2/plugins/editors/jckeditor/includes/ckeditor//stylesheet.php
<?php

/*------------------------------------------------------------------------
# Copyright (C) 2005-2010 WebxSolution Ltd. All Rights Reserved.
# @license - GPLv2.0
# Author: WebxSolution Ltd
# Websites:  http://www.webxsolution.com
# Terms of Use: An extension that is derived from the JoomlaCK editor will only be allowed under the following conditions: http://joomlackeditor.com/terms-of-use
# ------------------------------------------------------------------------*/ 


class JCKStylesheet 
{

	var $_nam;
	var $_elem;
	var $_prop;
    var $_dir = '';
	var $_path_root;
	var $_content_css;    
	
	
	function __construct($path_root = '')
	{
		$this->_nam = array();
		$this->_elem = array();
		$this->_prop = array();
		$this->_path_root = $path_root;
	}
	
	function & getInstance($path_root = null)
	{
		static $instance;
		
		if(is_null($path_root))
		{
		  if(!empty($instance))
			return reset($instance); //return first element
		  else
			$path_root = ''; //set path to frontend as default
		}
		
		$base = (!$path_root ? 'site' : $path_root);
		
		if(empty($instance[$base]))
		{
			$instance[$base] = new JCKStylesheet($path_root);
		}
		return $instance[$base];
	}
	
	function getJSObject()
 	{
 	
		
		$txt_filename = $this->_content_css;
		
		$js_str="[";
			
		
			
		$file = file_get_contents($txt_filename);
		
		$this->_dir = dirname($txt_filename);
		
		$this->_parse($file);
		
		if(count($this->_nam))
		{
			$count = 0;
			$max = count($this->_nam);
			foreach($this->_nam as $k=>$val)
			{
			
			   $endline = '';
			  
			   if($count >= 0 && $count < $max -1)
			   {
			   	 $endline = ',';
			   }
			
				$js_str.= "{" .
							"\nname : '$val'," .
							"\nelement : '". $this->_elem[$k] ."', ".
							"\nattributes : ".
							"{".
							"\n	'". $this->_prop[$k] ."' : '". $val ."'".
							"\n}".
						"}";	
				$js_str.= $endline;
				$count++;
		
			}//end for loop
		}//end count
		$js_str.="\n]"; 
		
		
		return $js_str;
	
 	}//end function	
	
	
			
	
	function _parse($file)
	{
		
		preg_match_all('/^\s*(?:[a-z0-9\s\b]*)@import\s*(?:url\()?(?:"|\')?([^"\'\)]+)(?:"|\')?\)?;/im',$file,$fmatches,PREG_SET_ORDER);
		
		foreach($fmatches as $fmatch)
		{
			$oldumask = umask(0);
		 	@chmod( $fmatch[1], 0666);
		 	umask( $oldumask );
		 	$content = file_get_contents($this->_dir ."/" .$fmatch[1]);
			$this->_parse($content);
		}// foreach fmatches
		$this->_readCSS($file);
	}//end function	


	
	function _readCSS($file)
	{
	
	
		$allowed_elements = array('\.','#','div','span','hr','table','td','tr','img','input','textarea');
	
  	
		$elem_list = implode('|',$allowed_elements ); 
		$allowed_elements[0] = '.';
		array_unshift($allowed_elements, "^");
				
		preg_match_all("/\s*(" . $elem_list  . ")?(\.|#)?([a-z0-9\.#_\*\-\n\r\t, ]*)(?:\s*\{\s*)(?:[a-z0-9 \._\*\n\r\t\s:;,\-#%\(\)\/]+)(?=\s*\}\s*)/im",
		$file,$matches,PREG_SET_ORDER   );
		
		 foreach($matches as $match)
		 {
			$element = trim($match[1]);
			$index =array_search($element,$allowed_elements);
			$type = '';
			
			if($element == '.' )
			{
				$type = 'class'; 
			}
			else if($element =='#')
			{
				$type = 'id';
			}		
			else
			{
				$type =  ($match[2] == '.') ? 'class' : 'id';
			}
			
			if($index)
			{
				$element = ($element == '.' || $element == '#') ? 'P' : 	$allowed_elements[$index];
				$match[3] = preg_replace('/(?![a-z0-9,]+\s+)(' . $elem_list .')(?!_)/i', '', $match[3]);
				$names = 	explode(",",$match[3]);	
				$current_names =  array();	
							
				foreach($names  as $name)
				{
				
					
					$name = trim($name);
				 
					if (!preg_match('/^[A-Z0-9_\-]+\s+[A-Z0-9_\-]+/i',$name))
					{
					
						$key = array_search($name,$this->_nam);
						if(!in_array($name,$current_names))
						 {
						 
						
							 if(!$key && $name != "" )
							 {
								 array_push($this->_nam,$name);
								 array_push($this->_elem,$element);
								 array_push($this->_prop,$type);
							 }
							 array_push($current_names,$name);
					
						}
					}
				
				}	
				
				
			}
		}	
	
	} //end function
	
	function getPath(& $params,& $errors = '')
	{
	
	    //Get parameter options for template CSS
		$content_css		=	$params->get( 'content_css', 1 );
		$editor_css			=	$params->def( 'editor_css', 0 );		
		$content_css_custom	=	$params->def( 'content_css_custom', '' );
		$add_stylesheet_path = $params->def('add_stylesheet_path','');
    	$add_stylesheet 	= $params->def('add_stylesheet','');
	
		
		$db = JFactory::getDBO();
		
		$query = 'SELECT template'
			. ' FROM #__templates_menu'
			. ' WHERE client_id = 0'
			. ' AND menuid = 0';
		$db->setQuery( $query );
		$template = $db->loadResult();
		
		if ( $content_css || $editor_css ) 
		{
			if($editor_css !== 0 & $content_css == 0)
			{
				if( is_file( JPATH_SITE . '/templates/'.$template.'/css/editor.css' ) )
				{
					$content_css = 'templates/'.$template.'/css/editor.css';
				} else 
				{
					$errors .= '<span style="color: red;">Warning: ' . JPATH_SITE . '/templates/'.$template.'/css/editor.css' . ' does not appear to be a valid file. Reverting to JoomlaFCK\'s default styles</span><br/>';
				}//end if valid file
				
			} 
			else {
			
				if( is_file( JPATH_SITE . '/templates/'.$template.'/css/template.css' ) )
				{
					$content_css = 'templates/'.$template.'/css/template.css';
					
				} 
			
				else if( is_file( JPATH_SITE . '/templates/'.$template.'/css/template.css.php' ) ){
				
				
				   $content_css = 'templates/'.$template.'/css/JFCKeditor.css.php'; 
				  
				   if(!is_file( JPATH_SITE . '/templates/'.$template.'/css/JFCKeditor.css.php') ||  
				   		filemtime(JPATH_SITE . '/templates/'.$template.'/css/template.css.php') > 
						filemtime(JPATH_SITE . '/templates/'.$template.'/css/JFCKeditor.css.php') ) 
				   {
				           
              
						 $file_content = file_get_contents('../templates/'.$template.'/css/template.css.php');
						  
						 $file_content  =  preg_replace_callback("/(.*?)(@?ob_start\('?\"?ob_gzhandler\"?'?\))(.*)/",
						   create_function(
								'$matches',
								'return ($matches[1]) .\';\';'
								
							),$file_content);
						 
						 
						  $file_content = preg_replace("/(.*define\().*DIRECTORY_SEPARATOR.*(;?)/",'',$file_content);
						 					 
     		   
						 $file_content =
						 
						 '<'. '?' . 'php' . ' function getYooThemeCSS() { ' . '?' . '>' . $file_content . '<'. '?' . 'php' .  ' } ' . '?' . '>';
						  
									  
						$fout = fopen($this->_path_root . $content_css,"w");
						fwrite($fout,$file_content);
						fclose($fout);
					}
					
					include($this->_path_root . $content_css);
					
					$content_css = 'templates/'.$template.'/css/JFCKeditor.css'; 
					
					 
				
					
					ob_start();
					
					
					getYooThemeCSS();
					
								
					$file_content =  ob_get_contents(); 
					
										
					ob_end_clean();
					
									
					$fout = fopen($this->_path_root . $content_css,"w");
					fwrite($fout,$file_content);
					fclose($fout);
				    
					
					
					
				}
				else {
					$errors .= '<span style="color: red;">Warning: ' . JPATH_SITE . '/templates/'.$template.'/css/template.css' . ' or ' . JPATH_SITE . '/templates/'.$template.'/css/template.css.php does not appear to be a valid file. Reverting to JoomlaFCK\'s default styles</span><br/>';
				}//end if valid file
			}//end if  $editor_css !== 0 & $content_css == 0

			/* Is the content_css == 0 or 1 then use FCK's default */
			if( $errors !== "" )
			{
				$content_css = 'plugins/editors/jckeditor/contents.css';
			}//end if 
	
	
		} else {
			if ( $content_css_custom ) {
               
			              
				$hasRoot = strpos(' ' . strtolower($content_css_custom),strtolower(JPATH_SITE));
				$file_path = ($hasRoot ? '' : JPATH_SITE) .  ($hasRoot || substr($content_css_custom,0,1) == DS  ? '' : DS) .
				$content_css_custom;
           
		 	   
		    if( is_file(  $file_path) ){
					$content_css =  $file_path;
					$content_css = str_replace(strtolower(JPATH_SITE) . DS,'',strtolower($content_css_custom));
				} else {
					$errors .= '<span style="color: red;">Warning: ' .  $file_path . ' does not appear to be a valid file.</span><br/>';
					$content_css = 'plugins/editors/jckeditor/contents.css';
				}//end if valid file
					
			} else {
	
	     
				$content_css = 'plugins/editors/jckeditor/contents.css';
	
			}//end if $content_css_custom
			/*write to xml file and read from css asnd store this file under editors*/
							 
		}//end if $content_css || $editor_css
		$this->_content_css = $this->_path_root .$content_css;
    	$content_css =   JURI::root() . $content_css; 
	 	$content_css =   str_replace(DS,'/',$content_css); 

		return $content_css;
	}	
	
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit