<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ivan Villareal &#187; Dynamic multi form on same page with jQuery and PHP &#8211; Ivan Villareal</title>
	<atom:link href="http://ivanvillareal.com/category/development/php-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://ivanvillareal.com</link>
	<description>IT stuff and more...</description>
	<lastBuildDate>Tue, 01 Nov 2011 23:00:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dynamic multi form on same page with jQuery and PHP</title>
		<link>http://ivanvillareal.com/development/dynamic-multi-form-on-same-page-with-jquery-and-php/</link>
		<comments>http://ivanvillareal.com/development/dynamic-multi-form-on-same-page-with-jquery-and-php/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 20:13:50 +0000</pubDate>
		<dc:creator>Ivan Villareal</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[multform]]></category>

		<guid isPermaLink="false">http://ivanvillareal.com/?p=201</guid>
		<description><![CDATA[This is a little demo of a small app that allow us to have several forms displayed on the same page, organized by sections, a static multiform can be easily [...]]]></description>
			<content:encoded><![CDATA[<p>This is a little demo of a small app that allow us to have several forms displayed on the same page, organized by sections, a static multiform can be easily created by putting the form contents on divs and hiding them, then when the user clicks on a specific section we hide the previous div, and show the new one, we can wrap it up everything inside a big form, and submit that.</p>
<p>The approach I did for having this same functionality allows me to:</p>
<ul style="text-indent: 5px; list-style-position: inside; list-style-type: square; padding: 6px; margin: 20px;">
<li>Save each section form before editing a new one</li>
<li>Change any form inputs depending on received data</li>
<li>Validate in the front and backend each section</li>
</ul>
<p>The main disadvantage is that for each section I&#8217;ll do an ajax call, to submit and retrieve the form.</p>
<p>The first thing I did was to write the main html layout I did a simple 2 column layout to use the left block as a form navigator and the right block to show the actual form.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;left_block_box&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;left_block_title&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		 Form Steps
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;edit_step_box&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;table</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">cellspacing</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">cellpadding</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">border</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;font-size: 11px;&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;stepTable&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tr</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;stepSelected&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;formStep&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				 Name
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;stepEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;formstep1&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pointer placeEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Edit<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;formStep&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				 Address
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;stepEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;formstep2&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pointer placeEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Edit<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;formStep&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				 Interests:
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;td</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;stepEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;formstep3&quot;</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pointer placeEdit&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Edit<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/table<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>I&#8217;ve used a table so I can navigate more easily the DOM with jquery, but this can be changed an ul and it will work the same, the next thing I wrote was the other column wrapper the right block which will holde the actual form retrieved from the server.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;right_block_box&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;right_block_title&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;formTitle&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		 Form 1
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;multiform_part&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		 Aqui va la forma
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;form_step_nav_wrap&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;form_step_nav&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;form_step_left&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Previous Step&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;prevStepBtn&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;form_step_right&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Next Step&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;nextStepBtn&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;button&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Preview Data&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;display: none&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;previewBtn&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Once I had my basic layout I started with the javascript functionality, the first thing was to create a function that allow me to move from one form to another, passing current form values to the calling script and displaying the new form.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> selectStep<span style="color: #009900;">&#40;</span>step<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> thisStep <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>step<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//get current form data to be passed later</span>
	<span style="color: #003366; font-weight: bold;">var</span> curr <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.stepSelected&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">':eq(1)'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> formData <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#form_&quot;</span><span style="color: #339933;">+</span>curr<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//add class to selected step </span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#stepTable tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'stepSelected'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span>step<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">parent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'stepSelected'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//put name of step that is going to be edited </span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#formTitle&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.stepSelected :eq(0)&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.multiform_part&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Loading...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #006600; font-style: italic;">//send data to php, and draw new form</span>
	$.<span style="color: #660066;">post</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'processForm.php'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
		step<span style="color: #339933;">:</span> thisStep<span style="color: #339933;">,</span> saveData<span style="color: #339933;">:</span> curr<span style="color: #339933;">,</span> formData<span style="color: #339933;">:</span> formData
	<span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">//draw new form</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.multiform_part&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>This was easy, then I just binded a click event to each step</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">	<span style="color: #006600; font-style: italic;">// handle the edit  link on each step</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.stepEdit&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            selectStep<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>And now I have a functional multiform pane, that gets its form from php, the backend was also ver simple to make:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #990000;">session_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$step</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'step'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$formData</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'formData'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> save<span style="color: #009900;">&#40;</span><span style="color: #000088;">$step</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//$_SESSION[$step] = $data;</span>
	<span style="color: #000088;">$fields</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;'</span><span style="color: #339933;">,</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$fields</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$field</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$keyVal</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'='</span><span style="color: #339933;">,</span> <span style="color: #000088;">$field</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$key</span> <span style="color: #339933;">=</span> <span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keyVal</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$val</span> <span style="color: #339933;">=</span> <span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$keyVal</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$val</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$formData</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$formStep</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'saveData'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	save<span style="color: #009900;">&#40;</span><span style="color: #000088;">$formStep</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_REQUEST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'formData'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$step</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'formstep1'</span><span style="color: #339933;">:</span>
					<span style="color: #000088;">$html</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;&lt;&lt;</span>FORM
					<span style="color: #339933;">&lt;</span>form id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span><span style="color: #339933;">&gt;</span>
					<span style="color: #339933;">&lt;</span>fieldset<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>legend<span style="color: #339933;">&gt;</span>Personal information<span style="color: #339933;">&lt;/</span>legend<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-req&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-firstname&quot;</span><span style="color: #339933;">&gt;</span>First name<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-firstname&quot;</span> id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-firstname&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-firstname']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-middlename&quot;</span><span style="color: #339933;">&gt;</span>Middle name<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-middlename&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-middlename&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-middlename']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-req&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-lastname&quot;</span><span style="color: #339933;">&gt;</span>Last name<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-lastname&quot;</span> id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-lastname&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-lastname']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;/</span>fieldset<span style="color: #339933;">&gt;</span>
&nbsp;
&nbsp;
		FORM<span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'formstep2'</span><span style="color: #339933;">:</span>
					<span style="color: #000088;">$html</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">&lt;&lt;</span>FORM
					<span style="color: #339933;">&lt;</span>form id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>fieldset<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>legend<span style="color: #339933;">&gt;</span>Address <span style="color: #339933;">&lt;/</span>legend<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-addr&quot;</span><span style="color: #339933;">&gt;</span>Address<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-addr&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-addr&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-addr']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-city&quot;</span><span style="color: #339933;">&gt;</span>City or Town<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-city&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-city&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-city']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-state&quot;</span><span style="color: #339933;">&gt;</span>State<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-state&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-state&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-state']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-req&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-zipcode&quot;</span><span style="color: #339933;">&gt;</span>Zip code<span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-zipcode&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-zipcode&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-zipcode']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;/</span>fieldset<span style="color: #339933;">&gt;</span>
&nbsp;
		FORM<span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'formstep3'</span><span style="color: #339933;">:</span>
					<span style="color: #000088;">$html</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&lt;</span> <span style="color: #339933;">&lt;&lt;</span>FORM
					<span style="color: #339933;">&lt;</span>form id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;form_<span style="color: #006699; font-weight: bold;">{$step}</span>&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>fieldset<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>legend<span style="color: #339933;">&gt;</span>Interests <span style="color: #339933;">&lt;/</span>legend<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int1&quot;</span><span style="color: #339933;">&gt;</span>Interest <span style="color: #cc66cc;">1</span><span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int1&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int1&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-int1']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;</span>div <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-opt&quot;</span><span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int2&quot;</span><span style="color: #339933;">&gt;</span>Interest <span style="color: #cc66cc;">2</span><span style="color: #339933;">:&lt;/</span>label<span style="color: #339933;">&gt;</span>
		      <span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int2&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fm-int2&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;{<span style="color: #006699; font-weight: bold;">$_SESSION</span>[<span style="color: #006699; font-weight: bold;">$step</span>]['fm-int2']}&quot;</span><span style="color: #339933;">/&gt;</span>
		    <span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span>
		    <span style="color: #339933;">&lt;/</span>fieldset<span style="color: #339933;">&gt;</span>
&nbsp;
		FORM<span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">'getAllData'</span><span style="color: #339933;">:</span>
					<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;h3&gt;Saved Data&lt;/h3&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #990000;">print_r</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Finally I&#8217;ve added some css styles to make it &#8220;pretty&#8221; and add some other js functionality to navigate back and forth.</p>
<p>You can checkout the working solution <a href="http://ivanvillareal.com/samples/multiform">here</a>, or get the files <a href="http://ivanvillareal.com/samples/multiform.tar.bz2">here</a> this demo saves user data in session, and the session is destroyed each time you load the index page.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanvillareal.com/development/dynamic-multi-form-on-same-page-with-jquery-and-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Decrypting SourceCop php files</title>
		<link>http://ivanvillareal.com/development/php-development/decrypting-sourcecop-php-files/</link>
		<comments>http://ivanvillareal.com/development/php-development/decrypting-sourcecop-php-files/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 19:41:46 +0000</pubDate>
		<dc:creator>Ivan Villareal</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sourcecop]]></category>

		<guid isPermaLink="false">http://ivanvillareal.com/?p=176</guid>
		<description><![CDATA[Every once in a while, I receive code that is encrypted using one of many php encoder software out there, so when I face this situation and if the project [...]]]></description>
			<content:encoded><![CDATA[<p>Every once in a while, I receive code that is encrypted using one of many php encoder software out there, so when I face this situation and if the project is worth it, I start playing around with the encrypted files to see how the encoding algorithm works, so far I’ve been able to successful decrypt files encoded with Zend, and ioncube, I don’t remember the versions of the encoders but I remember that the latter one took me some time, but I did it.</p>
<p>I must say that decoding files also becomes a personal challenge, it is like a hobby when I have the time to play with it.</p>
<p> Yesterday I received a couple of files encoded with an unknown encoder for me, it didn’t require any php modification or extension install, so I tough that it would be easy to break it, because at some point the code must be evaluated, so after I opened the zip file, I noticed a folder called “scopbin“, that contained only 1 php file named “911006.php“, the two encoded files were  including this file so I assumed that this is were the decryption logic had to be.</p>
<p>I was exhausted by a long working day, and when I got this files and saw that they were encrypted I placed them in my laptop for later analysis. This analysis was done while  I was waiting for the local news, I didn’t research the encoding, or did  anything that give me some pointers, I just started to playing around with the code to see how far  could I get.</p>
<p>My objective this time was getting this files decrypted, and not analysing the steps of the algorithm, so with this in mind, this is what I did:</p>
<p>This was the original “911006.php” file:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #339933;">&lt;</span> ?php <span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include_path'</span><span style="color: #339933;">,</span><span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>function A4540acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> b5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> c43dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> Xdsf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> y0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">=</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span><span style="color: #339933;">=</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">=</span><span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;H'</span><span style="color: #339933;">.</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>for<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">&lt;</span>strlen<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">+=</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span><span style="color: #339933;">=</span><span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">=</span><span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span> ^ <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>if<span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">&lt;=</span><span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">255</span><span style="color: #339933;">+</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">-</span><span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span>else <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">=</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #339933;">-</span><span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span><span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">=</span><span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">.</span><span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">=</span><span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">return</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> f5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> j43dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> hdsf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> tr5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> f0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">return</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">function</span> g0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'echo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'print'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'sprint'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'sprintf'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> hyr3dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> uygf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> drfg34f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> jhkgvdsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">function</span> yrdhhdacdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>return <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span> <span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include_path'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>I’ve used a code formatter to make the code  more readable:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ivan<span style="color: #000000; font-weight: bold;">@</span>mini:<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>copdecrypt<span style="color: #000000; font-weight: bold;">/</span>scopbin$ phpCB <span style="color: #660033;">--space-after-if</span>  \
<span style="color: #660033;">--space-after-switch</span>                                           \
<span style="color: #660033;">--space-after-while</span>                                            \
<span style="color: #660033;">--space-before-srt-angle-bracket</span>                               \
<span style="color: #660033;">--space-after-end-angle-bracket</span>                                \
<span style="color: #660033;">--glue-amperscore</span>                                              \
<span style="color: #660033;">--change-shell-comment-to-double-slashes-comment</span>               \
<span style="color: #660033;">--force-large-php-code-tag</span>                                     \
<span style="color: #660033;">--force-true-false-null-contant-lowercase</span>                      \
<span style="color: #660033;">--align-equal-statements</span>                                       \
<span style="color: #660033;">--comment-rendering-style</span> PEAR                                 \
<span style="color: #660033;">--equal-align-position</span> <span style="color: #000000;">50</span>                                      \
<span style="color: #660033;">--padding-char-count</span> <span style="color: #000000;">4</span>                                         \
<span style="color: #000000;">911006</span>.php</pre></div></div>

<p>And this was the result:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include_path'</span><span style="color: #339933;">,</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> A4540acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> b5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> c43dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> Xdsf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> y0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;H'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span> ^ <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">255</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">.</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> f5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> j43dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> hdsf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> tr5434f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> f0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> g0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'echo'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'print'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sprint'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sprintf'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>?<span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> hyr3dsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> uygf0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> drfg34f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> jhkgvdsd0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">function</span> yrdhhdacdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">file_exists</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">unlink</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x456e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$Xew6e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include_path'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'.'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>After a quick review of this file, I saw that it had several functions that had same logic, return an unknow variable or delete the file that this unknown variable had, appart from all this “useless” functions I quickly found what appeared to be the decryption function this was the function named <strong>y0666f0acdeed38d4cd9084ade1739498 </strong>with this information I headed to check one of the encrypted files, and this is how it looked:</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'findsysfolder'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000000; font-weight: bold;">function</span> findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000088;">$fld1</span><span style="color: #339933;">=</span><span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$fld</span><span style="color: #339933;">=</span><span style="color: #000088;">$fld1</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/scopbin'</span><span style="color: #339933;">;</span>clearstatcache<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>if<span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>else <span style="color: #b1b100;">return</span> <span style="color: #000088;">$fld</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span>findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/911006.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$REXISTHECAT4FBI</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'FE50E574D754E76AC679F242F450F768FB5DCB77F34DE341 660C280D176E374DE7FB3B090A782B6B68DBC97BEAD93B681C452F25BE26'</span><span style="color: #339933;">;</span>g0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span>f0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$REXISTHEDOG4FBI</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'9CEF6BE117B329ADFC4560538EBF16BB6DAD1748FE354E8EDA7AABFA376EB6938496F43560E4123D85D272E342E363FD51F3181763A3F623 660B6E2369243EE5781CD76A133E272E37DACA198968397F150425B4326A126CD64F051F35287DE7BD3 5354276B880BDEF525247533610 64282D07BA63861F81DB715C115BC1BD57FC5D9C8 225D2 A F177EDC7EA026A7E74D37AC28A125D1B8F73B63C6D1C3A1E137639BEECEDACFDBBD9F8D948CE93D6FCDCDD8CCA98B36AA21A08B8BD87FD8 15143C2C2D37593B82857516FC9ABF9237BDEC9DBB9F92F7BDEB8EE3B6AEA153C9DF3 A2CAE2CD218B1E566C0D274D6 F32DC2A E20 512 062A2F72C 96FB9ED3B6FC9ABF927A34985CAB5D3 65D89B315B3E61076D8 E4488B2127FCEF82C78DDBBED3A6FBB7FCEEACEE04453412363B6E246F05086C7 52E C408CC263E078A53461E0 331B71EB81DC475DB6CAC9531914393D4 22AC9C3D7CE7194438AD638 03D6FCDCDD8CCA98F99211B1177D5C7DEC6A3F427 5 510 461C7D1C51AB492F850FA56FE445EC0154885BDACDC 819BD76A72A419A4D859CFE5A5268CDABFD2A7FAB8DEF227BA3869183E12277A386E03763B6E241F75282CDBFCA187ECE74D7 D1D4881D3C7432177D4 E3F83DA54417EAA8FE93C68BDE94C2E7CA5FD5B4C5E3C9993A98CEA3D69BCE84F2D989C9EEECFDDBFFF15 164C2D471D3 228D3 51CBA75D4 A3C85C1 4618EC5 E6BE91FCD F4D87BE F 56BFB5BFE2A3EA923BDDDBB9D26BE13CD 41F6E584D593C1A C18 D19D29D958C94F12577D5D5C0D4B19781958094F21EB6EF20CC77D87CD0CDC57FA13D8484F61076D47ED5 366F521A6FA2FEFBAF22772A680E23168B0958290F23366B297F12470A5F1543664EF6DA42DAD5E5EB718C569EA2C5F8AE81BBF16BE489E3EE13D7FBD98FE297DA8FC5B396BB2EA4E594B2969D3C7689230A1F4441763B1E83114 31173B3E6331670A6F22672D4B6E43C64C1D6C475FA5AFB2BDF36A83F9F55F8 62A C69BEEC4F4F5A4E2B D1B F1A E68CAD86F44 B1C E6CACF92E B6DDCDDD26437 3'</span><span style="color: #339933;">;</span><span style="color: #000088;">$REXISTHECAT4FBI</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'94CD76CD371C5A7BC70C186E779C293B9B49BACA5A781A6'</span><span style="color: #339933;">;</span> <span style="color: #990000;">eval</span><span style="color: #009900;">&#40;</span>y0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'4EF6454FB298E72B 5'</span><span style="color: #339933;">,</span><span style="color: #000088;">$REXISTHEDOG4FBI</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Again I used the code beautifier  to make this file more readable:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'findsysfolder'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">function</span> findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$fld1</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$fld</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fld1</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/scopbin'</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">clearstatcache</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #b1b100;">return</span> findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fld1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #000088;">$fld</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
<span style="color: #009900;">&#125;</span> 
<span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span>findsysfolder<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/911006.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$REXISTHECAT4FBI</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'FE50E574D754E76AC679F242F450F768FB5DCB77F34DE341 660C280D176E374DE7FB3B090A782B6B68DBC97BEAD93B681C452F25BE26'</span><span style="color: #339933;">;</span>
g0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span>f0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$REXISTHEDOG4FBI</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'9CEF6BE117B329ADFC4560538EBF16BB6DAD1748FE354E8EDA7AABFA376EB6938496F43560E4123D85D272E342E363FD51F3181763A3F623 660B6E2369243EE5781CD76A133E272E37DACA198968397F150425B4326A126CD64F051F35287DE7BD3 5354276B880BDEF525247533610 64282D07BA63861F81DB715C115BC1BD57FC5D9C8 225D2 A F177EDC7EA026A7E74D37AC28A125D1B8F73B63C6D1C3A1E137639BEECEDACFDBBD9F8D948CE93D6FCDCDD8CCA98B36AA21A08B8BD87FD8 15143C2C2D37593B82857516FC9ABF9237BDEC9DBB9F92F7BDEB8EE3B6AEA153C9DF3 A2CAE2CD218B1E566C0D274D6 F32DC2A E20 512 062A2F72C 96FB9ED3B6FC9ABF927A34985CAB5D3 65D89B315B3E61076D8 E4488B2127FCEF82C78DDBBED3A6FBB7FCEEACEE04453412363B6E246F05086C7 52E C408CC263E078A53461E0 331B71EB81DC475DB6CAC9531914393D4 22AC9C3D7CE7194438AD638 03D6FCDCDD8CCA98F99211B1177D5C7DEC6A3F427 5 510 461C7D1C51AB492F850FA56FE445EC0154885BDACDC 819BD76A72A419A4D859CFE5A5268CDABFD2A7FAB8DEF227BA3869183E12277A386E03763B6E241F75282CDBFCA187ECE74D7 D1D4881D3C7432177D4 E3F83DA54417EAA8FE93C68BDE94C2E7CA5FD5B4C5E3C9993A98CEA3D69BCE84F2D989C9EEECFDDBFFF15 164C2D471D3 228D3 51CBA75D4 A3C85C1 4618EC5 E6BE91FCD F4D87BE F 56BFB5BFE2A3EA923BDDDBB9D26BE13CD 41F6E584D593C1A C18 D19D29D958C94F12577D5D5C0D4B19781958094F21EB6EF20CC77D87CD0CDC57FA13D8484F61076D47ED5 366F521A6FA2FEFBAF22772A680E23168B0958290F23366B297F12470A5F1543664EF6DA42DAD5E5EB718C569EA2C5F8AE81BBF16BE489E3EE13D7FBD98FE297DA8FC5B396BB2EA4E594B2969D3C7689230A1F4441763B1E83114 31173B3E6331670A6F22672D4B6E43C64C1D6C475FA5AFB2BDF36A83F9F55F8 62A C69BEEC4F4F5A4E2B D1B F1A E68CAD86F44 B1C E6CACF92E B6DDCDDD26437 3'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$REXISTHECAT4FBI</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'94CD76CD371C5A7BC70C186E779C293B9B49BACA5A781A6'</span><span style="color: #339933;">;</span>
<span style="color: #990000;">eval</span><span style="color: #009900;">&#40;</span>y0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'4EF6454FB298E72B 5'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$REXISTHEDOG4FBI</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>So what we have here is more obfuscated code, but a simple to understand, we have 2 variables and 3 functions, the variable that has the encrypted code should be the larger one so I'm assuming that is the "$REXISTHEDOG4FBI" variable, the other one apparently isn't used, so what I did at this point was to print the results of the evaluated function which corresponds to the function where the decrypt logic is (deofuscated):</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$program</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$position</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$keyLength</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$decValue</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;H'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$program</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$program</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$decProgram</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$program</span><span style="color: #339933;">,</span> <span style="color: #000088;">$i</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$position</span>   <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$position</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$keyLength</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$position</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$ascii</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$decProgram</span>^ <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$position</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ascii</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$decValue</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$ascii</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">255</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$ascii</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$decValue</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #000088;">$ascii</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ascii</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$decValue</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$result</span>   <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span> <span style="color: #339933;">.</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ascii</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$decValue</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$decProgram</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>unfortunately printing the result didn't work, so I did a review to check why, and I found that the other 2 functions where the problem, let me explain what happens, first a call is made to</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> f0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>this function receives the name of the executing file (test.php in my case), read its content in an array, then glues all lines to create a 1 line string, without any new lines, then this result is passed to the following function:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> g0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'echo'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span> ? <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'print'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sprint'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'sprintf'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">:</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>which are a series of nested ternary conditions, looking for the words "echo,print,sprint,sprintf", if any of this words are in the encrypted file, then the script simply exits, that's why I was unable to print the decrypted code after calling the decoding function, so simply avoiding the call to this function will fix the issue and I will get my decrypted code.<br />
However, I didn't want to modify the original encrypted files, so a second approach I took was modifying the decryption function and echoing the output from there, so I've added a couple of lines (15 and 16) to the "<strong>y0666f0acdeed38d4cd9084ade1739498</strong>" function:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> y0666f0acdeed38d4cd9084ade1739498<span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&amp;H'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span> <span style="color: #339933;">=</span> <span style="color: #990000;">hexdec</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x276e79316561733d64abdf00f8e8ae48</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x1b90e1035d4d268e0d8b1377f3dc85a2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$x16754c94f2e48aae0d6f34280507be58</span><span style="color: #009900;">&#41;</span>?<span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span> ^ <span style="color: #990000;">ord</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$x897356954c2cd3d41b221e3f24f99bba</span><span style="color: #339933;">,</span> <span style="color: #000088;">$x71510c08e23d2083eda280afa650b045</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #009900;">&#41;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">255</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span> <span style="color: #339933;">.</span> <span style="color: #990000;">chr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xab6389e47b1edcf1a5267d9cfb513ce5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$x7a86c157ee9713c34fbd7a1ee40f0c5a</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$xe594cc261a3b25a9c99ec79da9c91ba5</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$x0b43c25ccf2340e23492d4d3141479dc</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>And voilà, I was able to see the source code.</p>
<p>So in short, just print the output of the decrypt function, and kill the script to get the decrypted code, I don't know if there are any other versions of the "911006.php" file, but I guess that the same logic applies.
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ivanvillareal.com/development/php-development/decrypting-sourcecop-php-files/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>File Type Detection in PHP</title>
		<link>http://ivanvillareal.com/linux/file-type-detecion-in-php/</link>
		<comments>http://ivanvillareal.com/linux/file-type-detecion-in-php/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 04:47:24 +0000</pubDate>
		<dc:creator>Ivan Villareal</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[fileinfo]]></category>
		<category><![CDATA[pecl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ivanvillareal.com/?p=150</guid>
		<description><![CDATA[I&#8217;m working on a project where the users can upload files, and I need to know the type of file they are uploading, a simple solution would be to check [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a project where the users can upload files, and I need to know the type of file they are uploading, a simple solution would be to check the extensions of the files, but this has many flaws, so I was looking for a reliable way to detect the type of file, and I found a PECL extension called <a href="http://pecl.php.net/package/Fileinfo/php-src/ext/fileinfo">file info</a> this extension is enabled by default in PHP 5.3, unfortunately I&#8217;m runing PHP 5.2.10, and the prod server also has this version.</p>
<p>So what I did to install this on ubuntu 9.10 karmic was the following:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">root<span style="color: #000000; font-weight: bold;">@</span>mini:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #666666; font-style: italic;"># apt-get install php5-dev libmagic-dev php-pear</span>
....
root<span style="color: #000000; font-weight: bold;">@</span>mini:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #666666; font-style: italic;"># pear channel-update pear.php.net</span>
...
root<span style="color: #000000; font-weight: bold;">@</span>mini:<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #666666; font-style: italic;"># pecl install Fileinfo</span>
....
Build process completed successfully
Installing <span style="color: #ff0000;">'/usr/lib/php5/20060613+lfs/fileinfo.so'</span>
<span style="color: #c20cb9; font-weight: bold;">install</span> ok: channel:<span style="color: #000000; font-weight: bold;">//</span>pear.php.net<span style="color: #000000; font-weight: bold;">/</span>Fileinfo-1.0.4</pre></div></div>

<p>&nbsp;</p>
<p>and finally I added the extension to php.ini</p>
<p>extension=fileinfo.so</p>
<p>I restarted the apache server, and tested with this</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$fileInfo</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> finfo<span style="color: #009900;">&#40;</span>FILEINFO_MIME<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$mimeType</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fileInfo</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">buffer</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$uploadedFile</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanvillareal.com/linux/file-type-detecion-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Format a Mysql DateTime Field with Zend_Date</title>
		<link>http://ivanvillareal.com/development/format-a-mysql-datetime-field-with-zend_date/</link>
		<comments>http://ivanvillareal.com/development/format-a-mysql-datetime-field-with-zend_date/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 19:54:41 +0000</pubDate>
		<dc:creator>Ivan Villareal</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ivanvillareal.com/?p=146</guid>
		<description><![CDATA[Formatting Dates fetched from the db becomes a simple task with the help of Zend_Date, here I show you how I use a small function to handle date formatting in a simple way.]]></description>
			<content:encoded><![CDATA[<p><a title="Zend_Date component offers a detailed, but simple API for manipulating dates and times" href="http://framework.zend.com/manual/en/zend.date.html" target="_blank">Zend_Date</a> is really a time saver class, I use it in almost every project I work, It handles time_zones, and date formatting pretty easy, leaving me more time to focus on other things.</p>
<p>The files that I need to use Zend_Date as a standalone class are:</p>
<p>Date.php and the Date folder from the Zend distribution package, and this is how I use it:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> ?php
<span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'./lib'</span> <span style="color: #339933;">.</span> PATH_SEPARATOR <span style="color: #339933;">.</span> <span style="color: #990000;">get_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">include_once</span> <span style="color: #0000ff;">'Zend/Date.php'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tugId</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tugId'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tugId'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> formatDate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009933; font-style: italic;">/**
     * List of supported timezones
     * http://php.net/manual/en/timezones.php
     */</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$fmtDate</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span> Zend_Date<span style="color: #339933;">::</span><span style="color: #004000;">ISO_8601</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$fmtDate</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>setTimezone<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'America/Los_Angeles'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$fmtDate</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>toString<span style="color: #009900;">&#40;</span>Zend_Date<span style="color: #339933;">::</span><span style="color: #004000;">DATETIME</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_int</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tugId</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'SELECT modified_date FROM tuggler WHERE tug_id = '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$tugId</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>fetchAssoc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
 <span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Last Record Update: '</span><span style="color: #339933;">.</span>formatDate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'modified_date'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
 <span style="color: #000088;">$response</span> <span style="color: #0000ff;">&quot;nothing to return&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$response</span><span style="color: #339933;">;</span></pre></div></div>

<p>The response from the above would be <strong><span style="color: #0000ff;">Jul 9, 2009 11:41:20 AM <span style="font-weight: normal;"><span style="color: #000000;">but I can easily change it using one of the <a title="Predefined constants for Zend_Date" href="http://framework.zend.com/manual/en/zend.date.constants.html">predefined constants</a>, or I can make my own format.</span></span></span></strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ivanvillareal.com/development/format-a-mysql-datetime-field-with-zend_date/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

