<span class="line"><span class="function"><span class="keyword">function</span> <span class="title">eccode</span><span class="params">($string, $operation = <span class="string">'DECODE'</span>, $key = <span class="string">'@LFK24s224%@safS3s%1f%'</span>)</span> </span>{</span>
<span class="line"> $result = <span class="string">''</span>;</span>
<span class="line"> <span class="keyword">if</span> ($operation == <span class="string">'ENCODE'</span>) {</span>
<span class="line"> <span class="keyword">for</span> ($i = <span class="number">0</span>; $i < strlen($string); $i++) {</span>
<span class="line"> $char = substr($string, $i, <span class="number">1</span>);</span>
<span class="line"> $keychar = substr($key, ($i % strlen($key)) - <span class="number">1</span>, <span class="number">1</span>);</span>
<span class="line"> $char = chr(ord($char) + ord($keychar));</span>
<span class="line"> $result.=$char;</span>
<span class="line"> }</span>
<span class="line"> $result = base64_encode($result);</span>
<span class="line"> $result = str_replace(<span class="keyword">array</span>(<span class="string">'+'</span>, <span class="string">'/'</span>, <span class="string">'='</span>), <span class="keyword">array</span>(<span class="string">'-'</span>, <span class="string">'_'</span>, <span class="string">''</span>), $result);</span>
<span class="line"> } <span class="keyword">elseif</span> ($operation == <span class="string">'DECODE'</span>) {</span>
<span class="line"> $data = str_replace(<span class="keyword">array</span>(<span class="string">'-'</span>, <span class="string">'_'</span>), <span class="keyword">array</span>(<span class="string">'+'</span>, <span class="string">'/'</span>), $string);</span>
<span class="line"> $mod4 = strlen($data) % <span class="number">4</span>;</span>
<span class="line"> <span class="keyword">if</span> ($mod4) {</span>
<span class="line"> $data .= substr(<span class="string">'===='</span>, $mod4);</span>
<span class="line"> }</span>
<span class="line"> $string = base64_decode($data);</span>
<span class="line"> <span class="keyword">for</span> ($i = <span class="number">0</span>; $i < strlen($string); $i++) { $char = substr($string, $i, <span class="number">1</span>); $keychar = substr($key, ($i % strlen($key)) - <span class="number">1</span>, <span class="number">1</span>); $char = chr(ord($char) - ord($keychar)); $result.=$char; } } <span class="keyword">return</span> $result; }</span>