| <?
/**
 * vc___f class
 *
 * @package vc___f
 * @author Кот, админ, шредер (Я ацкий одмин, йа счас в серверной кота через шредер за 25 секунд пропустил)
 * @category Security
 * @todo Multi file
 */
class vc___f
{
	/**
	 * File content
	 * @var String
	 */
	public $ww_____________p;
	/**
	 * File content not changed
	 * @var String
	 */
	public $hj_____________r;
	/**
	 * All varibles
	 * @var Array|String
	 */
	public $kc_________v = array ();
	/**
	 * Chains of varibles
	 * @example "class name" <=> "352=>array (370, 307)"
	 * @var Array
	 */
	private $kl_______w = array (
	352=>array (370, 307), // class
	347=> array (370, 309), // var
	341=>array (370, 309), // public
	343=>array (370, 309), // private
	342=>array (370, 309), // protected
	299=>array (370, 307) // new
	);
	/**
	 * Forbidden for replace strings
	 * @var Array
	 */
	private $pi_____r = array ('Exception', '$this');
	/**
	 * a..z
	 * @var Array
	 */
	public $qn_______r = array ();
	/**
	 * Address of source file
	 * @var String
	 */
	public $gf____________o;
	/**
	 * Class activation
	 */
	public function __construct ()
	{
		if (empty ($this->abc))
		{
			$this->abc = range (a, z);
		}
	}
	/**
	 * Parse activation
	 * @param String $gf____________o
	 * @return Object $this
	 */
	public function parse ($gf____________o)
	{
		$this->content_source = file_get_contents($this->file_source = $gf____________o);
		$this->content = token_get_all ($this->content_source);
		foreach ($this->content as $mb_____________t=>$be_________v)
		{
			if(is_array ($be_________v))
			{
				$this->content[$mb_____________t]['2'] = token_name($be_________v['0']);
				if (isset ($bz___v))
				{
					if (is_array ($bz___v))
					{
						if ($this->chains[$to___l][$no_________c]===$bz___v['0'])
						{
							$no_________c++;
							$bz___v = array ($this->chains[$to___l][$no_________c]);
						}
						else
						{
							unset ($bz___v);
						}
					}
					else
					{
						$to___l = $bz___v;
						$no_________c = 0;
						$yt_____________t = end ($this->chains[$to___l]);
						$bz___v = array (reset ($this->chains[$bz___v]));
					}
					if ($yt_____________t===$bz___v['0'])
					{
						if ($be_________v['0']===$bz___v['0'])
						{
							$this->add ($be_________v['1'], $be_________v['0']);
						}
						unset ($bz___v);
					}
				}
				else
				{
					if (array_key_exists ($be_________v['0'], $this->chains))
					{
						$bz___v = $be_________v['0'];
					}
					else
					{
						if ($be_________v['0']===309)
						{
							$this->add ($be_________v['1'], 309);
						}
					}
				}
			}
		}
		return $this;
	}
	/**
	 * Add varible to action
	 * @param String $ux______b
	 * @param Int $xe_______________n
	 */
	public function add ($ux______b, $xe_______________n = false)
	{
		if (!in_array ($ux______b, $this->vars) and !(in_array ($ux______b, $this->forbidden)))
		{
			if ($xe_______________n===307)
			{
				$xe_______________n = false;
			}
			$this->vars[] = array ($ux______b, $xe_______________n);
		}
	}
	/**
	 * Main action - code
	 * @param String $aw________t
	 * @return Json vars
	 */
	public function codeit ($aw________t)
	{
		foreach ($this->vars as $mb_____________t=>$be_________v)
		{
			$et______________r[$be_________v['0']] = ($be_________v['1']? '$': '').$this->gen_name ();
		}
		$this->content_source = strtr ($this->content_source, $et______________r);
		file_put_contents($aw________t, $this->content_source);
		return $this->vars = json_encode(array ($this->file_source=>$et______________r));
	}
	/**
	 * Generate unique name
	 * @return String
	 */
	private function gen_name ()
	{
		return $this->abc[rand (0, 25)].$this->abc[rand (0, 25)].str_repeat('_', rand (2, 15)).$this->abc[rand (0, 25)];
	}
}
 |