noalyss  Version-6.7.2
 All Data Structures Namespaces Files Functions Variables Enumerations
function_javascript.php
Go to the documentation of this file.
00001 <?php
00002 //This file is part of NOALYSS and is under GPL 
00003 //see licence.txt
00004 
00005 /*
00006 PHP URL encoding/decoding functions for Javascript interaction V3.0
00007 (C) 2006 www.captain.at - all rights reserved
00008 License: GPL
00009 */
00010 /*!
00011  *\brief create the HTML for including of a javascript file
00012  * if a file is included twice, the second time it will be discarded
00013  * there is an alert if the file doesn't exist
00014  *\param $p_string name of the file
00015  *\return the HTML script
00016  */
00017 function js_include($p_string)
00018 {
00019     static $ajs=array();                /* avoid to add twice the same script */
00020     static $seq=0;
00021     if ( in_array($p_string,$ajs)) return '';
00022     $ajs[$seq]=$p_string;
00023     $seq++;
00024 
00025     if ( !  file_exists('js/'.$p_string))
00026         alert("Erreur js/$p_string n existe pas");
00027     $script='<script type="text/javascript" charset="utf-8" language="javascript" src="js/'.$p_string.'"></script>';
00028     // debug
00029 
00030     return $script;
00031 
00032 }
00033 /*!
00034  *\brief create the HTML for adding the script tags around of the script
00035  *\param $p_string source codename of the file
00036  *\return the HTML script
00037  */
00038 function create_script($p_string)
00039 {
00040     $script='<script type="text/javascript" charset="utf-8" language="javascript">'.$p_string.' </script>';
00041     return $script;
00042 
00043 }
00044 function encodeURIComponent($string)
00045 {
00046     $result = "";
00047     for ($i = 0; $i < strlen($string); $i++)
00048     {
00049         $result .= encodeURIComponentbycharacter(urlencode($string[$i]));
00050     }
00051     return $result;
00052 }
00053 
00054 function encodeURIComponentbycharacter($char)
00055 {
00056     if ($char == "+")
00057     {
00058         return "%20";
00059     }
00060     if ($char == "%21")
00061     {
00062         return "!";
00063     }
00064     if ($char == "%27")
00065     {
00066         return '"';
00067     }
00068     if ($char == "%28")
00069     {
00070         return "(";
00071     }
00072     if ($char == "%29")
00073     {
00074         return ")";
00075     }
00076     if ($char == "%2A")
00077     {
00078         return "*";
00079     }
00080     if ($char == "%7E")
00081     {
00082         return "~";
00083     }
00084     if ($char == "%80")
00085     {
00086         return "%E2%82%AC";
00087     }
00088     if ($char == "%81")
00089     {
00090         return "%C2%81";
00091     }
00092     if ($char == "%82")
00093     {
00094         return "%E2%80%9A";
00095     }
00096     if ($char == "%83")
00097     {
00098         return "%C6%92";
00099     }
00100     if ($char == "%84")
00101     {
00102         return "%E2%80%9E";
00103     }
00104     if ($char == "%85")
00105     {
00106         return "%E2%80%A6";
00107     }
00108     if ($char == "%86")
00109     {
00110         return "%E2%80%A0";
00111     }
00112     if ($char == "%87")
00113     {
00114         return "%E2%80%A1";
00115     }
00116     if ($char == "%88")
00117     {
00118         return "%CB%86";
00119     }
00120     if ($char == "%89")
00121     {
00122         return "%E2%80%B0";
00123     }
00124     if ($char == "%8A")
00125     {
00126         return "%C5%A0";
00127     }
00128     if ($char == "%8B")
00129     {
00130         return "%E2%80%B9";
00131     }
00132     if ($char == "%8C")
00133     {
00134         return "%C5%92";
00135     }
00136     if ($char == "%8D")
00137     {
00138         return "%C2%8D";
00139     }
00140     if ($char == "%8E")
00141     {
00142         return "%C5%BD";
00143     }
00144     if ($char == "%8F")
00145     {
00146         return "%C2%8F";
00147     }
00148     if ($char == "%90")
00149     {
00150         return "%C2%90";
00151     }
00152     if ($char == "%91")
00153     {
00154         return "%E2%80%98";
00155     }
00156     if ($char == "%92")
00157     {
00158         return "%E2%80%99";
00159     }
00160     if ($char == "%93")
00161     {
00162         return "%E2%80%9C";
00163     }
00164     if ($char == "%94")
00165     {
00166         return "%E2%80%9D";
00167     }
00168     if ($char == "%95")
00169     {
00170         return "%E2%80%A2";
00171     }
00172     if ($char == "%96")
00173     {
00174         return "%E2%80%93";
00175     }
00176     if ($char == "%97")
00177     {
00178         return "%E2%80%94";
00179     }
00180     if ($char == "%98")
00181     {
00182         return "%CB%9C";
00183     }
00184     if ($char == "%99")
00185     {
00186         return "%E2%84%A2";
00187     }
00188     if ($char == "%9A")
00189     {
00190         return "%C5%A1";
00191     }
00192     if ($char == "%9B")
00193     {
00194         return "%E2%80%BA";
00195     }
00196     if ($char == "%9C")
00197     {
00198         return "%C5%93";
00199     }
00200     if ($char == "%9D")
00201     {
00202         return "%C2%9D";
00203     }
00204     if ($char == "%9E")
00205     {
00206         return "%C5%BE";
00207     }
00208     if ($char == "%9F")
00209     {
00210         return "%C5%B8";
00211     }
00212     if ($char == "%A0")
00213     {
00214         return "%C2%A0";
00215     }
00216     if ($char == "%A1")
00217     {
00218         return "%C2%A1";
00219     }
00220     if ($char == "%A2")
00221     {
00222         return "%C2%A2";
00223     }
00224     if ($char == "%A3")
00225     {
00226         return "%C2%A3";
00227     }
00228     if ($char == "%A4")
00229     {
00230         return "%C2%A4";
00231     }
00232     if ($char == "%A5")
00233     {
00234         return "%C2%A5";
00235     }
00236     if ($char == "%A6")
00237     {
00238         return "%C2%A6";
00239     }
00240     if ($char == "%A7")
00241     {
00242         return "%C2%A7";
00243     }
00244     if ($char == "%A8")
00245     {
00246         return "%C2%A8";
00247     }
00248     if ($char == "%A9")
00249     {
00250         return "%C2%A9";
00251     }
00252     if ($char == "%AA")
00253     {
00254         return "%C2%AA";
00255     }
00256     if ($char == "%AB")
00257     {
00258         return "%C2%AB";
00259     }
00260     if ($char == "%AC")
00261     {
00262         return "%C2%AC";
00263     }
00264     if ($char == "%AD")
00265     {
00266         return "%C2%AD";
00267     }
00268     if ($char == "%AE")
00269     {
00270         return "%C2%AE";
00271     }
00272     if ($char == "%AF")
00273     {
00274         return "%C2%AF";
00275     }
00276     if ($char == "%B0")
00277     {
00278         return "%C2%B0";
00279     }
00280     if ($char == "%B1")
00281     {
00282         return "%C2%B1";
00283     }
00284     if ($char == "%B2")
00285     {
00286         return "%C2%B2";
00287     }
00288     if ($char == "%B3")
00289     {
00290         return "%C2%B3";
00291     }
00292     if ($char == "%B4")
00293     {
00294         return "%C2%B4";
00295     }
00296     if ($char == "%B5")
00297     {
00298         return "%C2%B5";
00299     }
00300     if ($char == "%B6")
00301     {
00302         return "%C2%B6";
00303     }
00304     if ($char == "%B7")
00305     {
00306         return "%C2%B7";
00307     }
00308     if ($char == "%B8")
00309     {
00310         return "%C2%B8";
00311     }
00312     if ($char == "%B9")
00313     {
00314         return "%C2%B9";
00315     }
00316     if ($char == "%BA")
00317     {
00318         return "%C2%BA";
00319     }
00320     if ($char == "%BB")
00321     {
00322         return "%C2%BB";
00323     }
00324     if ($char == "%BC")
00325     {
00326         return "%C2%BC";
00327     }
00328     if ($char == "%BD")
00329     {
00330         return "%C2%BD";
00331     }
00332     if ($char == "%BE")
00333     {
00334         return "%C2%BE";
00335     }
00336     if ($char == "%BF")
00337     {
00338         return "%C2%BF";
00339     }
00340     if ($char == "%C0")
00341     {
00342         return "%C3%80";
00343     }
00344     if ($char == "%C1")
00345     {
00346         return "%C3%81";
00347     }
00348     if ($char == "%C2")
00349     {
00350         return "%C3%82";
00351     }
00352     if ($char == "%C3")
00353     {
00354         return "%C3%83";
00355     }
00356     if ($char == "%C4")
00357     {
00358         return "%C3%84";
00359     }
00360     if ($char == "%C5")
00361     {
00362         return "%C3%85";
00363     }
00364     if ($char == "%C6")
00365     {
00366         return "%C3%86";
00367     }
00368     if ($char == "%C7")
00369     {
00370         return "%C3%87";
00371     }
00372     if ($char == "%C8")
00373     {
00374         return "%C3%88";
00375     }
00376     if ($char == "%C9")
00377     {
00378         return "%C3%89";
00379     }
00380     if ($char == "%CA")
00381     {
00382         return "%C3%8A";
00383     }
00384     if ($char == "%CB")
00385     {
00386         return "%C3%8B";
00387     }
00388     if ($char == "%CC")
00389     {
00390         return "%C3%8C";
00391     }
00392     if ($char == "%CD")
00393     {
00394         return "%C3%8D";
00395     }
00396     if ($char == "%CE")
00397     {
00398         return "%C3%8E";
00399     }
00400     if ($char == "%CF")
00401     {
00402         return "%C3%8F";
00403     }
00404     if ($char == "%D0")
00405     {
00406         return "%C3%90";
00407     }
00408     if ($char == "%D1")
00409     {
00410         return "%C3%91";
00411     }
00412     if ($char == "%D2")
00413     {
00414         return "%C3%92";
00415     }
00416     if ($char == "%D3")
00417     {
00418         return "%C3%93";
00419     }
00420     if ($char == "%D4")
00421     {
00422         return "%C3%94";
00423     }
00424     if ($char == "%D5")
00425     {
00426         return "%C3%95";
00427     }
00428     if ($char == "%D6")
00429     {
00430         return "%C3%96";
00431     }
00432     if ($char == "%D7")
00433     {
00434         return "%C3%97";
00435     }
00436     if ($char == "%D8")
00437     {
00438         return "%C3%98";
00439     }
00440     if ($char == "%D9")
00441     {
00442         return "%C3%99";
00443     }
00444     if ($char == "%DA")
00445     {
00446         return "%C3%9A";
00447     }
00448     if ($char == "%DB")
00449     {
00450         return "%C3%9B";
00451     }
00452     if ($char == "%DC")
00453     {
00454         return "%C3%9C";
00455     }
00456     if ($char == "%DD")
00457     {
00458         return "%C3%9D";
00459     }
00460     if ($char == "%DE")
00461     {
00462         return "%C3%9E";
00463     }
00464     if ($char == "%DF")
00465     {
00466         return "%C3%9F";
00467     }
00468     if ($char == "%E0")
00469     {
00470         return "%C3%A0";
00471     }
00472     if ($char == "%E1")
00473     {
00474         return "%C3%A1";
00475     }
00476     if ($char == "%E2")
00477     {
00478         return "%C3%A2";
00479     }
00480     if ($char == "%E3")
00481     {
00482         return "%C3%A3";
00483     }
00484     if ($char == "%E4")
00485     {
00486         return "%C3%A4";
00487     }
00488     if ($char == "%E5")
00489     {
00490         return "%C3%A5";
00491     }
00492     if ($char == "%E6")
00493     {
00494         return "%C3%A6";
00495     }
00496     if ($char == "%E7")
00497     {
00498         return "%C3%A7";
00499     }
00500     if ($char == "%E8")
00501     {
00502         return "%C3%A8";
00503     }
00504     if ($char == "%E9")
00505     {
00506         return "%C3%A9";
00507     }
00508     if ($char == "%EA")
00509     {
00510         return "%C3%AA";
00511     }
00512     if ($char == "%EB")
00513     {
00514         return "%C3%AB";
00515     }
00516     if ($char == "%EC")
00517     {
00518         return "%C3%AC";
00519     }
00520     if ($char == "%ED")
00521     {
00522         return "%C3%AD";
00523     }
00524     if ($char == "%EE")
00525     {
00526         return "%C3%AE";
00527     }
00528     if ($char == "%EF")
00529     {
00530         return "%C3%AF";
00531     }
00532     if ($char == "%F0")
00533     {
00534         return "%C3%B0";
00535     }
00536     if ($char == "%F1")
00537     {
00538         return "%C3%B1";
00539     }
00540     if ($char == "%F2")
00541     {
00542         return "%C3%B2";
00543     }
00544     if ($char == "%F3")
00545     {
00546         return "%C3%B3";
00547     }
00548     if ($char == "%F4")
00549     {
00550         return "%C3%B4";
00551     }
00552     if ($char == "%F5")
00553     {
00554         return "%C3%B5";
00555     }
00556     if ($char == "%F6")
00557     {
00558         return "%C3%B6";
00559     }
00560     if ($char == "%F7")
00561     {
00562         return "%C3%B7";
00563     }
00564     if ($char == "%F8")
00565     {
00566         return "%C3%B8";
00567     }
00568     if ($char == "%F9")
00569     {
00570         return "%C3%B9";
00571     }
00572     if ($char == "%FA")
00573     {
00574         return "%C3%BA";
00575     }
00576     if ($char == "%FB")
00577     {
00578         return "%C3%BB";
00579     }
00580     if ($char == "%FC")
00581     {
00582         return "%C3%BC";
00583     }
00584     if ($char == "%FD")
00585     {
00586         return "%C3%BD";
00587     }
00588     if ($char == "%FE")
00589     {
00590         return "%C3%BE";
00591     }
00592     if ($char == "%FF")
00593     {
00594         return "%C3%BF";
00595     }
00596     return $char;
00597 }
00598 
00599 function decodeURIComponent($string)
00600 {
00601     $result = "";
00602     for ($i = 0; $i < strlen($string); $i++)
00603     {
00604         $decstr = "";
00605         for ($p = 0; $p <= 8; $p++)
00606         {
00607             $decstr .= $string[$i+$p];
00608         }
00609         list($decodedstr, $num) = decodeURIComponentbycharacter($decstr);
00610         $result .= urldecode($decodedstr);
00611         $i += $num ;
00612     }
00613     return $result;
00614 }
00615 
00616 function decodeURIComponentbycharacter($str)
00617 {
00618 
00619     $char = $str;
00620 
00621     if ($char == "%E2%82%AC")
00622     {
00623         return array("%80", 8);
00624     }
00625     if ($char == "%E2%80%9A")
00626     {
00627         return array("%82", 8);
00628     }
00629     if ($char == "%E2%80%9E")
00630     {
00631         return array("%84", 8);
00632     }
00633     if ($char == "%E2%80%A6")
00634     {
00635         return array("%85", 8);
00636     }
00637     if ($char == "%E2%80%A0")
00638     {
00639         return array("%86", 8);
00640     }
00641     if ($char == "%E2%80%A1")
00642     {
00643         return array("%87", 8);
00644     }
00645     if ($char == "%E2%80%B0")
00646     {
00647         return array("%89", 8);
00648     }
00649     if ($char == "%E2%80%B9")
00650     {
00651         return array("%8B", 8);
00652     }
00653     if ($char == "%E2%80%98")
00654     {
00655         return array("%91", 8);
00656     }
00657     if ($char == "%E2%80%99")
00658     {
00659         return array("%92", 8);
00660     }
00661     if ($char == "%E2%80%9C")
00662     {
00663         return array("%93", 8);
00664     }
00665     if ($char == "%E2%80%9D")
00666     {
00667         return array("%94", 8);
00668     }
00669     if ($char == "%E2%80%A2")
00670     {
00671         return array("%95", 8);
00672     }
00673     if ($char == "%E2%80%93")
00674     {
00675         return array("%96", 8);
00676     }
00677     if ($char == "%E2%80%94")
00678     {
00679         return array("%97", 8);
00680     }
00681     if ($char == "%E2%84%A2")
00682     {
00683         return array("%99", 8);
00684     }
00685     if ($char == "%E2%80%BA")
00686     {
00687         return array("%9B", 8);
00688     }
00689 
00690     $char = substr($str, 0, 6);
00691 
00692     if ($char == "%C2%81")
00693     {
00694         return array("%81", 5);
00695     }
00696     if ($char == "%C6%92")
00697     {
00698         return array("%83", 5);
00699     }
00700     if ($char == "%CB%86")
00701     {
00702         return array("%88", 5);
00703     }
00704     if ($char == "%C5%A0")
00705     {
00706         return array("%8A", 5);
00707     }
00708     if ($char == "%C5%92")
00709     {
00710         return array("%8C", 5);
00711     }
00712     if ($char == "%C2%8D")
00713     {
00714         return array("%8D", 5);
00715     }
00716     if ($char == "%C5%BD")
00717     {
00718         return array("%8E", 5);
00719     }
00720     if ($char == "%C2%8F")
00721     {
00722         return array("%8F", 5);
00723     }
00724     if ($char == "%C2%90")
00725     {
00726         return array("%90", 5);
00727     }
00728     if ($char == "%CB%9C")
00729     {
00730         return array("%98", 5);
00731     }
00732     if ($char == "%C5%A1")
00733     {
00734         return array("%9A", 5);
00735     }
00736     if ($char == "%C5%93")
00737     {
00738         return array("%9C", 5);
00739     }
00740     if ($char == "%C2%9D")
00741     {
00742         return array("%9D", 5);
00743     }
00744     if ($char == "%C5%BE")
00745     {
00746         return array("%9E", 5);
00747     }
00748     if ($char == "%C5%B8")
00749     {
00750         return array("%9F", 5);
00751     }
00752     if ($char == "%C2%A0")
00753     {
00754         return array("%A0", 5);
00755     }
00756     if ($char == "%C2%A1")
00757     {
00758         return array("%A1", 5);
00759     }
00760     if ($char == "%C2%A2")
00761     {
00762         return array("%A2", 5);
00763     }
00764     if ($char == "%C2%A3")
00765     {
00766         return array("%A3", 5);
00767     }
00768     if ($char == "%C2%A4")
00769     {
00770         return array("%A4", 5);
00771     }
00772     if ($char == "%C2%A5")
00773     {
00774         return array("%A5", 5);
00775     }
00776     if ($char == "%C2%A6")
00777     {
00778         return array("%A6", 5);
00779     }
00780     if ($char == "%C2%A7")
00781     {
00782         return array("%A7", 5);
00783     }
00784     if ($char == "%C2%A8")
00785     {
00786         return array("%A8", 5);
00787     }
00788     if ($char == "%C2%A9")
00789     {
00790         return array("%A9", 5);
00791     }
00792     if ($char == "%C2%AA")
00793     {
00794         return array("%AA", 5);
00795     }
00796     if ($char == "%C2%AB")
00797     {
00798         return array("%AB", 5);
00799     }
00800     if ($char == "%C2%AC")
00801     {
00802         return array("%AC", 5);
00803     }
00804     if ($char == "%C2%AD")
00805     {
00806         return array("%AD", 5);
00807     }
00808     if ($char == "%C2%AE")
00809     {
00810         return array("%AE", 5);
00811     }
00812     if ($char == "%C2%AF")
00813     {
00814         return array("%AF", 5);
00815     }
00816     if ($char == "%C2%B0")
00817     {
00818         return array("%B0", 5);
00819     }
00820     if ($char == "%C2%B1")
00821     {
00822         return array("%B1", 5);
00823     }
00824     if ($char == "%C2%B2")
00825     {
00826         return array("%B2", 5);
00827     }
00828     if ($char == "%C2%B3")
00829     {
00830         return array("%B3", 5);
00831     }
00832     if ($char == "%C2%B4")
00833     {
00834         return array("%B4", 5);
00835     }
00836     if ($char == "%C2%B5")
00837     {
00838         return array("%B5", 5);
00839     }
00840     if ($char == "%C2%B6")
00841     {
00842         return array("%B6", 5);
00843     }
00844     if ($char == "%C2%B7")
00845     {
00846         return array("%B7", 5);
00847     }
00848     if ($char == "%C2%B8")
00849     {
00850         return array("%B8", 5);
00851     }
00852     if ($char == "%C2%B9")
00853     {
00854         return array("%B9", 5);
00855     }
00856     if ($char == "%C2%BA")
00857     {
00858         return array("%BA", 5);
00859     }
00860     if ($char == "%C2%BB")
00861     {
00862         return array("%BB", 5);
00863     }
00864     if ($char == "%C2%BC")
00865     {
00866         return array("%BC", 5);
00867     }
00868     if ($char == "%C2%BD")
00869     {
00870         return array("%BD", 5);
00871     }
00872     if ($char == "%C2%BE")
00873     {
00874         return array("%BE", 5);
00875     }
00876     if ($char == "%C2%BF")
00877     {
00878         return array("%BF", 5);
00879     }
00880     if ($char == "%C3%80")
00881     {
00882         return array("%C0", 5);
00883     }
00884     if ($char == "%C3%81")
00885     {
00886         return array("%C1", 5);
00887     }
00888     if ($char == "%C3%82")
00889     {
00890         return array("%C2", 5);
00891     }
00892     if ($char == "%C3%83")
00893     {
00894         return array("%C3", 5);
00895     }
00896     if ($char == "%C3%84")
00897     {
00898         return array("%C4", 5);
00899     }
00900     if ($char == "%C3%85")
00901     {
00902         return array("%C5", 5);
00903     }
00904     if ($char == "%C3%86")
00905     {
00906         return array("%C6", 5);
00907     }
00908     if ($char == "%C3%87")
00909     {
00910         return array("%C7", 5);
00911     }
00912     if ($char == "%C3%88")
00913     {
00914         return array("%C8", 5);
00915     }
00916     if ($char == "%C3%89")
00917     {
00918         return array("%C9", 5);
00919     }
00920     if ($char == "%C3%8A")
00921     {
00922         return array("%CA", 5);
00923     }
00924     if ($char == "%C3%8B")
00925     {
00926         return array("%CB", 5);
00927     }
00928     if ($char == "%C3%8C")
00929     {
00930         return array("%CC", 5);
00931     }
00932     if ($char == "%C3%8D")
00933     {
00934         return array("%CD", 5);
00935     }
00936     if ($char == "%C3%8E")
00937     {
00938         return array("%CE", 5);
00939     }
00940     if ($char == "%C3%8F")
00941     {
00942         return array("%CF", 5);
00943     }
00944     if ($char == "%C3%90")
00945     {
00946         return array("%D0", 5);
00947     }
00948     if ($char == "%C3%91")
00949     {
00950         return array("%D1", 5);
00951     }
00952     if ($char == "%C3%92")
00953     {
00954         return array("%D2", 5);
00955     }
00956     if ($char == "%C3%93")
00957     {
00958         return array("%D3", 5);
00959     }
00960     if ($char == "%C3%94")
00961     {
00962         return array("%D4", 5);
00963     }
00964     if ($char == "%C3%95")
00965     {
00966         return array("%D5", 5);
00967     }
00968     if ($char == "%C3%96")
00969     {
00970         return array("%D6", 5);
00971     }
00972     if ($char == "%C3%97")
00973     {
00974         return array("%D7", 5);
00975     }
00976     if ($char == "%C3%98")
00977     {
00978         return array("%D8", 5);
00979     }
00980     if ($char == "%C3%99")
00981     {
00982         return array("%D9", 5);
00983     }
00984     if ($char == "%C3%9A")
00985     {
00986         return array("%DA", 5);
00987     }
00988     if ($char == "%C3%9B")
00989     {
00990         return array("%DB", 5);
00991     }
00992     if ($char == "%C3%9C")
00993     {
00994         return array("%DC", 5);
00995     }
00996     if ($char == "%C3%9D")
00997     {
00998         return array("%DD", 5);
00999     }
01000     if ($char == "%C3%9E")
01001     {
01002         return array("%DE", 5);
01003     }
01004     if ($char == "%C3%9F")
01005     {
01006         return array("%DF", 5);
01007     }
01008     if ($char == "%C3%A0")
01009     {
01010         return array("%E0", 5);
01011     }
01012     if ($char == "%C3%A1")
01013     {
01014         return array("%E1", 5);
01015     }
01016     if ($char == "%C3%A2")
01017     {
01018         return array("%E2", 5);
01019     }
01020     if ($char == "%C3%A3")
01021     {
01022         return array("%E3", 5);
01023     }
01024     if ($char == "%C3%A4")
01025     {
01026         return array("%E4", 5);
01027     }
01028     if ($char == "%C3%A5")
01029     {
01030         return array("%E5", 5);
01031     }
01032     if ($char == "%C3%A6")
01033     {
01034         return array("%E6", 5);
01035     }
01036     if ($char == "%C3%A7")
01037     {
01038         return array("%E7", 5);
01039     }
01040     if ($char == "%C3%A8")
01041     {
01042         return array("%E8", 5);
01043     }
01044     if ($char == "%C3%A9")
01045     {
01046         return array("%E9", 5);
01047     }
01048     if ($char == "%C3%AA")
01049     {
01050         return array("%EA", 5);
01051     }
01052     if ($char == "%C3%AB")
01053     {
01054         return array("%EB", 5);
01055     }
01056     if ($char == "%C3%AC")
01057     {
01058         return array("%EC", 5);
01059     }
01060     if ($char == "%C3%AD")
01061     {
01062         return array("%ED", 5);
01063     }
01064     if ($char == "%C3%AE")
01065     {
01066         return array("%EE", 5);
01067     }
01068     if ($char == "%C3%AF")
01069     {
01070         return array("%EF", 5);
01071     }
01072     if ($char == "%C3%B0")
01073     {
01074         return array("%F0", 5);
01075     }
01076     if ($char == "%C3%B1")
01077     {
01078         return array("%F1", 5);
01079     }
01080     if ($char == "%C3%B2")
01081     {
01082         return array("%F2", 5);
01083     }
01084     if ($char == "%C3%B3")
01085     {
01086         return array("%F3", 5);
01087     }
01088     if ($char == "%C3%B4")
01089     {
01090         return array("%F4", 5);
01091     }
01092     if ($char == "%C3%B5")
01093     {
01094         return array("%F5", 5);
01095     }
01096     if ($char == "%C3%B6")
01097     {
01098         return array("%F6", 5);
01099     }
01100     if ($char == "%C3%B7")
01101     {
01102         return array("%F7", 5);
01103     }
01104     if ($char == "%C3%B8")
01105     {
01106         return array("%F8", 5);
01107     }
01108     if ($char == "%C3%B9")
01109     {
01110         return array("%F9", 5);
01111     }
01112     if ($char == "%C3%BA")
01113     {
01114         return array("%FA", 5);
01115     }
01116     if ($char == "%C3%BB")
01117     {
01118         return array("%FB", 5);
01119     }
01120     if ($char == "%C3%BC")
01121     {
01122         return array("%FC", 5);
01123     }
01124     if ($char == "%C3%BD")
01125     {
01126         return array("%FD", 5);
01127     }
01128     if ($char == "%C3%BE")
01129     {
01130         return array("%FE", 5);
01131     }
01132     if ($char == "%C3%BF")
01133     {
01134         return array("%FF", 5);
01135     }
01136 
01137     $char = substr($str, 0, 3);
01138     if ($char == "%20")
01139     {
01140         return array("+", 2);
01141     }
01142 
01143     $char = substr($str, 0, 1);
01144 
01145     if ($char == "!")
01146     {
01147         return array("%21", 0);
01148     }
01149     if ($char == "\"")
01150     {
01151         return array("%27", 0);
01152     }
01153     if ($char == "(")
01154     {
01155         return array("%28", 0);
01156     }
01157     if ($char == ")")
01158     {
01159         return array("%29", 0);
01160     }
01161     if ($char == "*")
01162     {
01163         return array("%2A", 0);
01164     }
01165     if ($char == "~")
01166     {
01167         return array("%7E", 0);
01168     }
01169 
01170     if ($char == "%")
01171     {
01172         return array(substr($str, 0, 3), 2);
01173     }
01174     else
01175     {
01176         return array($char, 0);
01177     }
01178 }
01179 
01180 function encodeURI($string)
01181 {
01182     $result = "";
01183     for ($i = 0; $i < strlen($string); $i++)
01184     {
01185         $result .= encodeURIbycharacter(urlencode($string[$i]));
01186     }
01187     return $result;
01188 }
01189 
01190 function encodeURIbycharacter($char)
01191 {
01192     if ($char == "+")
01193     {
01194         return "%20";
01195     }
01196     if ($char == "%21")
01197     {
01198         return "!";
01199     }
01200     if ($char == "%23")
01201     {
01202         return "#";
01203     }
01204     if ($char == "%24")
01205     {
01206         return "$";
01207     }
01208     if ($char == "%26")
01209     {
01210         return "&";
01211     }
01212     if ($char == "%27")
01213     {
01214         return "\"";
01215     }
01216     if ($char == "%28")
01217     {
01218         return "(";
01219     }
01220     if ($char == "%29")
01221     {
01222         return ")";
01223     }
01224     if ($char == "%2A")
01225     {
01226         return "*";
01227     }
01228     if ($char == "%2B")
01229     {
01230         return "+";
01231     }
01232     if ($char == "%2C")
01233     {
01234         return ",";
01235     }
01236     if ($char == "%2F")
01237     {
01238         return "/";
01239     }
01240     if ($char == "%3A")
01241     {
01242         return ":";
01243     }
01244     if ($char == "%3B")
01245     {
01246         return ";";
01247     }
01248     if ($char == "%3D")
01249     {
01250         return "=";
01251     }
01252     if ($char == "%3F")
01253     {
01254         return "?";
01255     }
01256     if ($char == "%40")
01257     {
01258         return "@";
01259     }
01260     if ($char == "%7E")
01261     {
01262         return "~";
01263     }
01264     if ($char == "%80")
01265     {
01266         return "%E2%82%AC";
01267     }
01268     if ($char == "%81")
01269     {
01270         return "%C2%81";
01271     }
01272     if ($char == "%82")
01273     {
01274         return "%E2%80%9A";
01275     }
01276     if ($char == "%83")
01277     {
01278         return "%C6%92";
01279     }
01280     if ($char == "%84")
01281     {
01282         return "%E2%80%9E";
01283     }
01284     if ($char == "%85")
01285     {
01286         return "%E2%80%A6";
01287     }
01288     if ($char == "%86")
01289     {
01290         return "%E2%80%A0";
01291     }
01292     if ($char == "%87")
01293     {
01294         return "%E2%80%A1";
01295     }
01296     if ($char == "%88")
01297     {
01298         return "%CB%86";
01299     }
01300     if ($char == "%89")
01301     {
01302         return "%E2%80%B0";
01303     }
01304     if ($char == "%8A")
01305     {
01306         return "%C5%A0";
01307     }
01308     if ($char == "%8B")
01309     {
01310         return "%E2%80%B9";
01311     }
01312     if ($char == "%8C")
01313     {
01314         return "%C5%92";
01315     }
01316     if ($char == "%8D")
01317     {
01318         return "%C2%8D";
01319     }
01320     if ($char == "%8E")
01321     {
01322         return "%C5%BD";
01323     }
01324     if ($char == "%8F")
01325     {
01326         return "%C2%8F";
01327     }
01328     if ($char == "%90")
01329     {
01330         return "%C2%90";
01331     }
01332     if ($char == "%91")
01333     {
01334         return "%E2%80%98";
01335     }
01336     if ($char == "%92")
01337     {
01338         return "%E2%80%99";
01339     }
01340     if ($char == "%93")
01341     {
01342         return "%E2%80%9C";
01343     }
01344     if ($char == "%94")
01345     {
01346         return "%E2%80%9D";
01347     }
01348     if ($char == "%95")
01349     {
01350         return "%E2%80%A2";
01351     }
01352     if ($char == "%96")
01353     {
01354         return "%E2%80%93";
01355     }
01356     if ($char == "%97")
01357     {
01358         return "%E2%80%94";
01359     }
01360     if ($char == "%98")
01361     {
01362         return "%CB%9C";
01363     }
01364     if ($char == "%99")
01365     {
01366         return "%E2%84%A2";
01367     }
01368     if ($char == "%9A")
01369     {
01370         return "%C5%A1";
01371     }
01372     if ($char == "%9B")
01373     {
01374         return "%E2%80%BA";
01375     }
01376     if ($char == "%9C")
01377     {
01378         return "%C5%93";
01379     }
01380     if ($char == "%9D")
01381     {
01382         return "%C2%9D";
01383     }
01384     if ($char == "%9E")
01385     {
01386         return "%C5%BE";
01387     }
01388     if ($char == "%9F")
01389     {
01390         return "%C5%B8";
01391     }
01392     if ($char == "%A0")
01393     {
01394         return "%C2%A0";
01395     }
01396     if ($char == "%A1")
01397     {
01398         return "%C2%A1";
01399     }
01400     if ($char == "%A2")
01401     {
01402         return "%C2%A2";
01403     }
01404     if ($char == "%A3")
01405     {
01406         return "%C2%A3";
01407     }
01408     if ($char == "%A4")
01409     {
01410         return "%C2%A4";
01411     }
01412     if ($char == "%A5")
01413     {
01414         return "%C2%A5";
01415     }
01416     if ($char == "%A6")
01417     {
01418         return "%C2%A6";
01419     }
01420     if ($char == "%A7")
01421     {
01422         return "%C2%A7";
01423     }
01424     if ($char == "%A8")
01425     {
01426         return "%C2%A8";
01427     }
01428     if ($char == "%A9")
01429     {
01430         return "%C2%A9";
01431     }
01432     if ($char == "%AA")
01433     {
01434         return "%C2%AA";
01435     }
01436     if ($char == "%AB")
01437     {
01438         return "%C2%AB";
01439     }
01440     if ($char == "%AC")
01441     {
01442         return "%C2%AC";
01443     }
01444     if ($char == "%AD")
01445     {
01446         return "%C2%AD";
01447     }
01448     if ($char == "%AE")
01449     {
01450         return "%C2%AE";
01451     }
01452     if ($char == "%AF")
01453     {
01454         return "%C2%AF";
01455     }
01456     if ($char == "%B0")
01457     {
01458         return "%C2%B0";
01459     }
01460     if ($char == "%B1")
01461     {
01462         return "%C2%B1";
01463     }
01464     if ($char == "%B2")
01465     {
01466         return "%C2%B2";
01467     }
01468     if ($char == "%B3")
01469     {
01470         return "%C2%B3";
01471     }
01472     if ($char == "%B4")
01473     {
01474         return "%C2%B4";
01475     }
01476     if ($char == "%B5")
01477     {
01478         return "%C2%B5";
01479     }
01480     if ($char == "%B6")
01481     {
01482         return "%C2%B6";
01483     }
01484     if ($char == "%B7")
01485     {
01486         return "%C2%B7";
01487     }
01488     if ($char == "%B8")
01489     {
01490         return "%C2%B8";
01491     }
01492     if ($char == "%B9")
01493     {
01494         return "%C2%B9";
01495     }
01496     if ($char == "%BA")
01497     {
01498         return "%C2%BA";
01499     }
01500     if ($char == "%BB")
01501     {
01502         return "%C2%BB";
01503     }
01504     if ($char == "%BC")
01505     {
01506         return "%C2%BC";
01507     }
01508     if ($char == "%BD")
01509     {
01510         return "%C2%BD";
01511     }
01512     if ($char == "%BE")
01513     {
01514         return "%C2%BE";
01515     }
01516     if ($char == "%BF")
01517     {
01518         return "%C2%BF";
01519     }
01520     if ($char == "%C0")
01521     {
01522         return "%C3%80";
01523     }
01524     if ($char == "%C1")
01525     {
01526         return "%C3%81";
01527     }
01528     if ($char == "%C2")
01529     {
01530         return "%C3%82";
01531     }
01532     if ($char == "%C3")
01533     {
01534         return "%C3%83";
01535     }
01536     if ($char == "%C4")
01537     {
01538         return "%C3%84";
01539     }
01540     if ($char == "%C5")
01541     {
01542         return "%C3%85";
01543     }
01544     if ($char == "%C6")
01545     {
01546         return "%C3%86";
01547     }
01548     if ($char == "%C7")
01549     {
01550         return "%C3%87";
01551     }
01552     if ($char == "%C8")
01553     {
01554         return "%C3%88";
01555     }
01556     if ($char == "%C9")
01557     {
01558         return "%C3%89";
01559     }
01560     if ($char == "%CA")
01561     {
01562         return "%C3%8A";
01563     }
01564     if ($char == "%CB")
01565     {
01566         return "%C3%8B";
01567     }
01568     if ($char == "%CC")
01569     {
01570         return "%C3%8C";
01571     }
01572     if ($char == "%CD")
01573     {
01574         return "%C3%8D";
01575     }
01576     if ($char == "%CE")
01577     {
01578         return "%C3%8E";
01579     }
01580     if ($char == "%CF")
01581     {
01582         return "%C3%8F";
01583     }
01584     if ($char == "%D0")
01585     {
01586         return "%C3%90";
01587     }
01588     if ($char == "%D1")
01589     {
01590         return "%C3%91";
01591     }
01592     if ($char == "%D2")
01593     {
01594         return "%C3%92";
01595     }
01596     if ($char == "%D3")
01597     {
01598         return "%C3%93";
01599     }
01600     if ($char == "%D4")
01601     {
01602         return "%C3%94";
01603     }
01604     if ($char == "%D5")
01605     {
01606         return "%C3%95";
01607     }
01608     if ($char == "%D6")
01609     {
01610         return "%C3%96";
01611     }
01612     if ($char == "%D7")
01613     {
01614         return "%C3%97";
01615     }
01616     if ($char == "%D8")
01617     {
01618         return "%C3%98";
01619     }
01620     if ($char == "%D9")
01621     {
01622         return "%C3%99";
01623     }
01624     if ($char == "%DA")
01625     {
01626         return "%C3%9A";
01627     }
01628     if ($char == "%DB")
01629     {
01630         return "%C3%9B";
01631     }
01632     if ($char == "%DC")
01633     {
01634         return "%C3%9C";
01635     }
01636     if ($char == "%DD")
01637     {
01638         return "%C3%9D";
01639     }
01640     if ($char == "%DE")
01641     {
01642         return "%C3%9E";
01643     }
01644     if ($char == "%DF")
01645     {
01646         return "%C3%9F";
01647     }
01648     if ($char == "%E0")
01649     {
01650         return "%C3%A0";
01651     }
01652     if ($char == "%E1")
01653     {
01654         return "%C3%A1";
01655     }
01656     if ($char == "%E2")
01657     {
01658         return "%C3%A2";
01659     }
01660     if ($char == "%E3")
01661     {
01662         return "%C3%A3";
01663     }
01664     if ($char == "%E4")
01665     {
01666         return "%C3%A4";
01667     }
01668     if ($char == "%E5")
01669     {
01670         return "%C3%A5";
01671     }
01672     if ($char == "%E6")
01673     {
01674         return "%C3%A6";
01675     }
01676     if ($char == "%E7")
01677     {
01678         return "%C3%A7";
01679     }
01680     if ($char == "%E8")
01681     {
01682         return "%C3%A8";
01683     }
01684     if ($char == "%E9")
01685     {
01686         return "%C3%A9";
01687     }
01688     if ($char == "%EA")
01689     {
01690         return "%C3%AA";
01691     }
01692     if ($char == "%EB")
01693     {
01694         return "%C3%AB";
01695     }
01696     if ($char == "%EC")
01697     {
01698         return "%C3%AC";
01699     }
01700     if ($char == "%ED")
01701     {
01702         return "%C3%AD";
01703     }
01704     if ($char == "%EE")
01705     {
01706         return "%C3%AE";
01707     }
01708     if ($char == "%EF")
01709     {
01710         return "%C3%AF";
01711     }
01712     if ($char == "%F0")
01713     {
01714         return "%C3%B0";
01715     }
01716     if ($char == "%F1")
01717     {
01718         return "%C3%B1";
01719     }
01720     if ($char == "%F2")
01721     {
01722         return "%C3%B2";
01723     }
01724     if ($char == "%F3")
01725     {
01726         return "%C3%B3";
01727     }
01728     if ($char == "%F4")
01729     {
01730         return "%C3%B4";
01731     }
01732     if ($char == "%F5")
01733     {
01734         return "%C3%B5";
01735     }
01736     if ($char == "%F6")
01737     {
01738         return "%C3%B6";
01739     }
01740     if ($char == "%F7")
01741     {
01742         return "%C3%B7";
01743     }
01744     if ($char == "%F8")
01745     {
01746         return "%C3%B8";
01747     }
01748     if ($char == "%F9")
01749     {
01750         return "%C3%B9";
01751     }
01752     if ($char == "%FA")
01753     {
01754         return "%C3%BA";
01755     }
01756     if ($char == "%FB")
01757     {
01758         return "%C3%BB";
01759     }
01760     if ($char == "%FC")
01761     {
01762         return "%C3%BC";
01763     }
01764     if ($char == "%FD")
01765     {
01766         return "%C3%BD";
01767     }
01768     if ($char == "%FE")
01769     {
01770         return "%C3%BE";
01771     }
01772     if ($char == "%FF")
01773     {
01774         return "%C3%BF";
01775     }
01776     return $char;
01777 }
01778 
01779 function decodeURI($string)
01780 {
01781     $result = "";
01782     for ($i = 0; $i < strlen($string); $i++)
01783     {
01784         $decstr = "";
01785         for ($p = 0; $p <= 8; $p++)
01786         {
01787             $decstr .= $string[$i+$p];
01788         }
01789         list($decodedstr, $num) = decodeURIbycharacter($decstr);
01790         $result .= urldecode($decodedstr);
01791         $i += $num ;
01792     }
01793     return $result;
01794 }
01795 
01796 function decodeURIbycharacter($str)
01797 {
01798 
01799     $char = $str;
01800 
01801     if ($char == "%E2%82%AC")
01802     {
01803         return array("%80", 8);
01804     }
01805     if ($char == "%E2%80%9A")
01806     {
01807         return array("%82", 8);
01808     }
01809     if ($char == "%E2%80%9E")
01810     {
01811         return array("%84", 8);
01812     }
01813     if ($char == "%E2%80%A6")
01814     {
01815         return array("%85", 8);
01816     }
01817     if ($char == "%E2%80%A0")
01818     {
01819         return array("%86", 8);
01820     }
01821     if ($char == "%E2%80%A1")
01822     {
01823         return array("%87", 8);
01824     }
01825     if ($char == "%E2%80%B0")
01826     {
01827         return array("%89", 8);
01828     }
01829     if ($char == "%E2%80%B9")
01830     {
01831         return array("%8B", 8);
01832     }
01833     if ($char == "%E2%80%98")
01834     {
01835         return array("%91", 8);
01836     }
01837     if ($char == "%E2%80%99")
01838     {
01839         return array("%92", 8);
01840     }
01841     if ($char == "%E2%80%9C")
01842     {
01843         return array("%93", 8);
01844     }
01845     if ($char == "%E2%80%9D")
01846     {
01847         return array("%94", 8);
01848     }
01849     if ($char == "%E2%80%A2")
01850     {
01851         return array("%95", 8);
01852     }
01853     if ($char == "%E2%80%93")
01854     {
01855         return array("%96", 8);
01856     }
01857     if ($char == "%E2%80%94")
01858     {
01859         return array("%97", 8);
01860     }
01861     if ($char == "%E2%84%A2")
01862     {
01863         return array("%99", 8);
01864     }
01865     if ($char == "%E2%80%BA")
01866     {
01867         return array("%9B", 8);
01868     }
01869 
01870     $char = substr($str, 0, 6);
01871 
01872     if ($char == "%C2%81")
01873     {
01874         return array("%81", 5);
01875     }
01876     if ($char == "%C6%92")
01877     {
01878         return array("%83", 5);
01879     }
01880     if ($char == "%CB%86")
01881     {
01882         return array("%88", 5);
01883     }
01884     if ($char == "%C5%A0")
01885     {
01886         return array("%8A", 5);
01887     }
01888     if ($char == "%C5%92")
01889     {
01890         return array("%8C", 5);
01891     }
01892     if ($char == "%C2%8D")
01893     {
01894         return array("%8D", 5);
01895     }
01896     if ($char == "%C5%BD")
01897     {
01898         return array("%8E", 5);
01899     }
01900     if ($char == "%C2%8F")
01901     {
01902         return array("%8F", 5);
01903     }
01904     if ($char == "%C2%90")
01905     {
01906         return array("%90", 5);
01907     }
01908     if ($char == "%CB%9C")
01909     {
01910         return array("%98", 5);
01911     }
01912     if ($char == "%C5%A1")
01913     {
01914         return array("%9A", 5);
01915     }
01916     if ($char == "%C5%93")
01917     {
01918         return array("%9C", 5);
01919     }
01920     if ($char == "%C2%9D")
01921     {
01922         return array("%9D", 5);
01923     }
01924     if ($char == "%C5%BE")
01925     {
01926         return array("%9E", 5);
01927     }
01928     if ($char == "%C5%B8")
01929     {
01930         return array("%9F", 5);
01931     }
01932     if ($char == "%C2%A0")
01933     {
01934         return array("%A0", 5);
01935     }
01936     if ($char == "%C2%A1")
01937     {
01938         return array("%A1", 5);
01939     }
01940     if ($char == "%C2%A2")
01941     {
01942         return array("%A2", 5);
01943     }
01944     if ($char == "%C2%A3")
01945     {
01946         return array("%A3", 5);
01947     }
01948     if ($char == "%C2%A4")
01949     {
01950         return array("%A4", 5);
01951     }
01952     if ($char == "%C2%A5")
01953     {
01954         return array("%A5", 5);
01955     }
01956     if ($char == "%C2%A6")
01957     {
01958         return array("%A6", 5);
01959     }
01960     if ($char == "%C2%A7")
01961     {
01962         return array("%A7", 5);
01963     }
01964     if ($char == "%C2%A8")
01965     {
01966         return array("%A8", 5);
01967     }
01968     if ($char == "%C2%A9")
01969     {
01970         return array("%A9", 5);
01971     }
01972     if ($char == "%C2%AA")
01973     {
01974         return array("%AA", 5);
01975     }
01976     if ($char == "%C2%AB")
01977     {
01978         return array("%AB", 5);
01979     }
01980     if ($char == "%C2%AC")
01981     {
01982         return array("%AC", 5);
01983     }
01984     if ($char == "%C2%AD")
01985     {
01986         return array("%AD", 5);
01987     }
01988     if ($char == "%C2%AE")
01989     {
01990         return array("%AE", 5);
01991     }
01992     if ($char == "%C2%AF")
01993     {
01994         return array("%AF", 5);
01995     }
01996     if ($char == "%C2%B0")
01997     {
01998         return array("%B0", 5);
01999     }
02000     if ($char == "%C2%B1")
02001     {
02002         return array("%B1", 5);
02003     }
02004     if ($char == "%C2%B2")
02005     {
02006         return array("%B2", 5);
02007     }
02008     if ($char == "%C2%B3")
02009     {
02010         return array("%B3", 5);
02011     }
02012     if ($char == "%C2%B4")
02013     {
02014         return array("%B4", 5);
02015     }
02016     if ($char == "%C2%B5")
02017     {
02018         return array("%B5", 5);
02019     }
02020     if ($char == "%C2%B6")
02021     {
02022         return array("%B6", 5);
02023     }
02024     if ($char == "%C2%B7")
02025     {
02026         return array("%B7", 5);
02027     }
02028     if ($char == "%C2%B8")
02029     {
02030         return array("%B8", 5);
02031     }
02032     if ($char == "%C2%B9")
02033     {
02034         return array("%B9", 5);
02035     }
02036     if ($char == "%C2%BA")
02037     {
02038         return array("%BA", 5);
02039     }
02040     if ($char == "%C2%BB")
02041     {
02042         return array("%BB", 5);
02043     }
02044     if ($char == "%C2%BC")
02045     {
02046         return array("%BC", 5);
02047     }
02048     if ($char == "%C2%BD")
02049     {
02050         return array("%BD", 5);
02051     }
02052     if ($char == "%C2%BE")
02053     {
02054         return array("%BE", 5);
02055     }
02056     if ($char == "%C2%BF")
02057     {
02058         return array("%BF", 5);
02059     }
02060     if ($char == "%C3%80")
02061     {
02062         return array("%C0", 5);
02063     }
02064     if ($char == "%C3%81")
02065     {
02066         return array("%C1", 5);
02067     }
02068     if ($char == "%C3%82")
02069     {
02070         return array("%C2", 5);
02071     }
02072     if ($char == "%C3%83")
02073     {
02074         return array("%C3", 5);
02075     }
02076     if ($char == "%C3%84")
02077     {
02078         return array("%C4", 5);
02079     }
02080     if ($char == "%C3%85")
02081     {
02082         return array("%C5", 5);
02083     }
02084     if ($char == "%C3%86")
02085     {
02086         return array("%C6", 5);
02087     }
02088     if ($char == "%C3%87")
02089     {
02090         return array("%C7", 5);
02091     }
02092     if ($char == "%C3%88")
02093     {
02094         return array("%C8", 5);
02095     }
02096     if ($char == "%C3%89")
02097     {
02098         return array("%C9", 5);
02099     }
02100     if ($char == "%C3%8A")
02101     {
02102         return array("%CA", 5);
02103     }
02104     if ($char == "%C3%8B")
02105     {
02106         return array("%CB", 5);
02107     }
02108     if ($char == "%C3%8C")
02109     {
02110         return array("%CC", 5);
02111     }
02112     if ($char == "%C3%8D")
02113     {
02114         return array("%CD", 5);
02115     }
02116     if ($char == "%C3%8E")
02117     {
02118         return array("%CE", 5);
02119     }
02120     if ($char == "%C3%8F")
02121     {
02122         return array("%CF", 5);
02123     }
02124     if ($char == "%C3%90")
02125     {
02126         return array("%D0", 5);
02127     }
02128     if ($char == "%C3%91")
02129     {
02130         return array("%D1", 5);
02131     }
02132     if ($char == "%C3%92")
02133     {
02134         return array("%D2", 5);
02135     }
02136     if ($char == "%C3%93")
02137     {
02138         return array("%D3", 5);
02139     }
02140     if ($char == "%C3%94")
02141     {
02142         return array("%D4", 5);
02143     }
02144     if ($char == "%C3%95")
02145     {
02146         return array("%D5", 5);
02147     }
02148     if ($char == "%C3%96")
02149     {
02150         return array("%D6", 5);
02151     }
02152     if ($char == "%C3%97")
02153     {
02154         return array("%D7", 5);
02155     }
02156     if ($char == "%C3%98")
02157     {
02158         return array("%D8", 5);
02159     }
02160     if ($char == "%C3%99")
02161     {
02162         return array("%D9", 5);
02163     }
02164     if ($char == "%C3%9A")
02165     {
02166         return array("%DA", 5);
02167     }
02168     if ($char == "%C3%9B")
02169     {
02170         return array("%DB", 5);
02171     }
02172     if ($char == "%C3%9C")
02173     {
02174         return array("%DC", 5);
02175     }
02176     if ($char == "%C3%9D")
02177     {
02178         return array("%DD", 5);
02179     }
02180     if ($char == "%C3%9E")
02181     {
02182         return array("%DE", 5);
02183     }
02184     if ($char == "%C3%9F")
02185     {
02186         return array("%DF", 5);
02187     }
02188     if ($char == "%C3%A0")
02189     {
02190         return array("%E0", 5);
02191     }
02192     if ($char == "%C3%A1")
02193     {
02194         return array("%E1", 5);
02195     }
02196     if ($char == "%C3%A2")
02197     {
02198         return array("%E2", 5);
02199     }
02200     if ($char == "%C3%A3")
02201     {
02202         return array("%E3", 5);
02203     }
02204     if ($char == "%C3%A4")
02205     {
02206         return array("%E4", 5);
02207     }
02208     if ($char == "%C3%A5")
02209     {
02210         return array("%E5", 5);
02211     }
02212     if ($char == "%C3%A6")
02213     {
02214         return array("%E6", 5);
02215     }
02216     if ($char == "%C3%A7")
02217     {
02218         return array("%E7", 5);
02219     }
02220     if ($char == "%C3%A8")
02221     {
02222         return array("%E8", 5);
02223     }
02224     if ($char == "%C3%A9")
02225     {
02226         return array("%E9", 5);
02227     }
02228     if ($char == "%C3%AA")
02229     {
02230         return array("%EA", 5);
02231     }
02232     if ($char == "%C3%AB")
02233     {
02234         return array("%EB", 5);
02235     }
02236     if ($char == "%C3%AC")
02237     {
02238         return array("%EC", 5);
02239     }
02240     if ($char == "%C3%AD")
02241     {
02242         return array("%ED", 5);
02243     }
02244     if ($char == "%C3%AE")
02245     {
02246         return array("%EE", 5);
02247     }
02248     if ($char == "%C3%AF")
02249     {
02250         return array("%EF", 5);
02251     }
02252     if ($char == "%C3%B0")
02253     {
02254         return array("%F0", 5);
02255     }
02256     if ($char == "%C3%B1")
02257     {
02258         return array("%F1", 5);
02259     }
02260     if ($char == "%C3%B2")
02261     {
02262         return array("%F2", 5);
02263     }
02264     if ($char == "%C3%B3")
02265     {
02266         return array("%F3", 5);
02267     }
02268     if ($char == "%C3%B4")
02269     {
02270         return array("%F4", 5);
02271     }
02272     if ($char == "%C3%B5")
02273     {
02274         return array("%F5", 5);
02275     }
02276     if ($char == "%C3%B6")
02277     {
02278         return array("%F6", 5);
02279     }
02280     if ($char == "%C3%B7")
02281     {
02282         return array("%F7", 5);
02283     }
02284     if ($char == "%C3%B8")
02285     {
02286         return array("%F8", 5);
02287     }
02288     if ($char == "%C3%B9")
02289     {
02290         return array("%F9", 5);
02291     }
02292     if ($char == "%C3%BA")
02293     {
02294         return array("%FA", 5);
02295     }
02296     if ($char == "%C3%BB")
02297     {
02298         return array("%FB", 5);
02299     }
02300     if ($char == "%C3%BC")
02301     {
02302         return array("%FC", 5);
02303     }
02304     if ($char == "%C3%BD")
02305     {
02306         return array("%FD", 5);
02307     }
02308     if ($char == "%C3%BE")
02309     {
02310         return array("%FE", 5);
02311     }
02312     if ($char == "%C3%BF")
02313     {
02314         return array("%FF", 5);
02315     }
02316 
02317     $char = substr($str, 0, 3);
02318     if ($char == "%20")
02319     {
02320         return array("+", 2);
02321     }
02322 
02323     $char = substr($str, 0, 1);
02324 
02325     if ($char == "!")
02326     {
02327         return array("%21", 0);
02328     }
02329     if ($char == "#")
02330     {
02331         return array("%23", 0);
02332     }
02333     if ($char == "$")
02334     {
02335         return array("%24", 0);
02336     }
02337     if ($char == "&")
02338     {
02339         return array("%26", 0);
02340     }
02341     if ($char == "\"")
02342     {
02343         return array("%27", 0);
02344     }
02345     if ($char == "(")
02346     {
02347         return array("%28", 0);
02348     }
02349     if ($char == ")")
02350     {
02351         return array("%29", 0);
02352     }
02353     if ($char == "*")
02354     {
02355         return array("%2A", 0);
02356     }
02357     if ($char == "+")
02358     {
02359         return array("%2B", 0);
02360     }
02361     if ($char == ",")
02362     {
02363         return array("%2C", 0);
02364     }
02365     if ($char == "/")
02366     {
02367         return array("%2F", 0);
02368     }
02369     if ($char == ":")
02370     {
02371         return array("%3A", 0);
02372     }
02373     if ($char == ";")
02374     {
02375         return array("%3B", 0);
02376     }
02377     if ($char == "=")
02378     {
02379         return array("%3D", 0);
02380     }
02381     if ($char == "?")
02382     {
02383         return array("%3F", 0);
02384     }
02385     if ($char == "@")
02386     {
02387         return array("%40", 0);
02388     }
02389     if ($char == "~")
02390     {
02391         return array("%7E", 0);
02392     }
02393 
02394     if ($char == "%")
02395     {
02396         return array(substr($str, 0, 3), 2);
02397     }
02398     else
02399     {
02400         return array($char, 0);
02401     }
02402 }
02403 
02404 function escape($string)
02405 {
02406     $result = "";
02407     for ($i = 0; $i < strlen($string); $i++)
02408     {
02409         $result .= escapebycharacter(urlencode($string[$i]));
02410     }
02411     return $result;
02412 }
02413 
02414 function escapebycharacter($char)
02415 {
02416     if ($char == '+')
02417     {
02418         return '%20';
02419     }
02420     if ($char == '%2A')
02421     {
02422         return '*';
02423     }
02424     if ($char == '%2B')
02425     {
02426         return '+';
02427     }
02428     if ($char == '%2F')
02429     {
02430         return '/';
02431     }
02432     if ($char == '%40')
02433     {
02434         return '@';
02435     }
02436     if ($char == '%80')
02437     {
02438         return '%u20AC';
02439     }
02440     if ($char == '%82')
02441     {
02442         return '%u201A';
02443     }
02444     if ($char == '%83')
02445     {
02446         return '%u0192';
02447     }
02448     if ($char == '%84')
02449     {
02450         return '%u201E';
02451     }
02452     if ($char == '%85')
02453     {
02454         return '%u2026';
02455     }
02456     if ($char == '%86')
02457     {
02458         return '%u2020';
02459     }
02460     if ($char == '%87')
02461     {
02462         return '%u2021';
02463     }
02464     if ($char == '%88')
02465     {
02466         return '%u02C6';
02467     }
02468     if ($char == '%89')
02469     {
02470         return '%u2030';
02471     }
02472     if ($char == '%8A')
02473     {
02474         return '%u0160';
02475     }
02476     if ($char == '%8B')
02477     {
02478         return '%u2039';
02479     }
02480     if ($char == '%8C')
02481     {
02482         return '%u0152';
02483     }
02484     if ($char == '%8E')
02485     {
02486         return '%u017D';
02487     }
02488     if ($char == '%91')
02489     {
02490         return '%u2018';
02491     }
02492     if ($char == '%92')
02493     {
02494         return '%u2019';
02495     }
02496     if ($char == '%93')
02497     {
02498         return '%u201C';
02499     }
02500     if ($char == '%94')
02501     {
02502         return '%u201D';
02503     }
02504     if ($char == '%95')
02505     {
02506         return '%u2022';
02507     }
02508     if ($char == '%96')
02509     {
02510         return '%u2013';
02511     }
02512     if ($char == '%97')
02513     {
02514         return '%u2014';
02515     }
02516     if ($char == '%98')
02517     {
02518         return '%u02DC';
02519     }
02520     if ($char == '%99')
02521     {
02522         return '%u2122';
02523     }
02524     if ($char == '%9A')
02525     {
02526         return '%u0161';
02527     }
02528     if ($char == '%9B')
02529     {
02530         return '%u203A';
02531     }
02532     if ($char == '%9C')
02533     {
02534         return '%u0153';
02535     }
02536     if ($char == '%9E')
02537     {
02538         return '%u017E';
02539     }
02540     if ($char == '%9F')
02541     {
02542         return '%u0178';
02543     }
02544     return $char;
02545 }
02546 
02547 function unescape($string)
02548 {
02549     $result = "";
02550     for ($i = 0; $i < strlen($string); $i++)
02551     {
02552         $decstr = "";
02553         for ($p = 0; $p <= 5; $p++)
02554         {
02555             $decstr .= $string[$i+$p];
02556         }
02557         list($decodedstr, $num) = unescapebycharacter($decstr);
02558         $result .= urldecode($decodedstr);
02559         $i += $num ;
02560     }
02561     return $result;
02562 }
02563 
02564 function unescapebycharacter($str)
02565 {
02566 
02567     $char = $str;
02568 
02569     if ($char == '%u20AC')
02570     {
02571         return array("%80", 5);
02572     }
02573     if ($char == '%u201A')
02574     {
02575         return array("%82", 5);
02576     }
02577     if ($char == '%u0192')
02578     {
02579         return array("%83", 5);
02580     }
02581     if ($char == '%u201E')
02582     {
02583         return array("%84", 5);
02584     }
02585     if ($char == '%u2026')
02586     {
02587         return array("%85", 5);
02588     }
02589     if ($char == '%u2020')
02590     {
02591         return array("%86", 5);
02592     }
02593     if ($char == '%u2021')
02594     {
02595         return array("%87", 5);
02596     }
02597     if ($char == '%u02C6')
02598     {
02599         return array("%88", 5);
02600     }
02601     if ($char == '%u2030')
02602     {
02603         return array("%89", 5);
02604     }
02605     if ($char == '%u0160')
02606     {
02607         return array("%8A", 5);
02608     }
02609     if ($char == '%u2039')
02610     {
02611         return array("%8B", 5);
02612     }
02613     if ($char == '%u0152')
02614     {
02615         return array("%8C", 5);
02616     }
02617     if ($char == '%u017D')
02618     {
02619         return array("%8E", 5);
02620     }
02621     if ($char == '%u2018')
02622     {
02623         return array("%91", 5);
02624     }
02625     if ($char == '%u2019')
02626     {
02627         return array("%92", 5);
02628     }
02629     if ($char == '%u201C')
02630     {
02631         return array("%93", 5);
02632     }
02633     if ($char == '%u201D')
02634     {
02635         return array("%94", 5);
02636     }
02637     if ($char == '%u2022')
02638     {
02639         return array("%95", 5);
02640     }
02641     if ($char == '%u2013')
02642     {
02643         return array("%96", 5);
02644     }
02645     if ($char == '%u2014')
02646     {
02647         return array("%97", 5);
02648     }
02649     if ($char == '%u02DC')
02650     {
02651         return array("%98", 5);
02652     }
02653     if ($char == '%u2122')
02654     {
02655         return array("%99", 5);
02656     }
02657     if ($char == '%u0161')
02658     {
02659         return array("%9A", 5);
02660     }
02661     if ($char == '%u203A')
02662     {
02663         return array("%9B", 5);
02664     }
02665     if ($char == '%u0153')
02666     {
02667         return array("%9C", 5);
02668     }
02669     if ($char == '%u017E')
02670     {
02671         return array("%9E", 5);
02672     }
02673     if ($char == '%u0178')
02674     {
02675         return array("%9F", 5);
02676     }
02677 
02678     $char = substr($str, 0, 3);
02679     if ($char == "%20")
02680     {
02681         return array("+", 2);
02682     }
02683 
02684     $char = substr($str, 0, 1);
02685 
02686     if ($char == '*')
02687     {
02688         return array("%2A", 0);
02689     }
02690     if ($char == '+')
02691     {
02692         return array("%2B", 0);
02693     }
02694     if ($char == '/')
02695     {
02696         return array("%2F", 0);
02697     }
02698     if ($char == '@')
02699     {
02700         return array("%40", 0);
02701     }
02702 
02703     if ($char == "%")
02704     {
02705         return array(substr($str, 0, 3), 2);
02706     }
02707     else
02708     {
02709         return array($char, 0);
02710     }
02711 }
02712 /*!\brief When data are transfered thanks ajax in a xml document, the xml
02713  * can not contains some character, to escape those characters, we must use this
02714  * function
02715  *\param $p_xml the xml to escape
02716  *\return the xml string with the forbidden char escaped
02717  *\see ajax_card.js ajaxFid
02718  */
02719 function escape_xml($p_xml)
02720 {
02721     $xml=$p_xml;
02722     $xml=str_replace('&','&amp;',$xml);
02723     $xml=str_replace('<','&lt;',$xml);
02724     $xml=str_replace('>','&gt;',$xml);
02725     $xml=str_replace("'",'&apos;',$xml);
02726     $xml=str_replace('"','&quot;',$xml);
02727     return $xml;
02728 }
02729 /**
02730  *load all the javascript in once
02731  */
02732 function load_all_script()
02733 {
02734     // check not called twiced
02735     static  $already_call=0;
02736     if ( $already_call==1)return;
02737     $already_call=1;
02738 
02739     echo JS_INFOBULLE;
02740     echo js_include('prototype.js');
02741     echo js_include('scriptaculous.js');
02742     echo js_include('scripts.js');
02743     echo js_include('effects.js');
02744     echo js_include('dragdrop.js');
02745     echo js_include('controls.js');
02746     echo js_include('slider.js');
02747     echo js_include('acc_ledger.js');
02748     echo js_include('accounting_item.js');
02749     echo js_include('ajax_fiche.js');
02750     echo js_include('anc_script.js');
02751     echo js_include('builder.js');
02752     echo js_include('calc.js');
02753     echo js_include('card.js');
02754     echo js_include('compute_direct.js');
02755     echo js_include('compute.js');
02756     echo js_include('confirm.js');
02757     echo js_include('forecast.js');
02758     echo js_include('gestion.js');
02759     echo js_include('todo_list.js');
02760     echo js_include('anc_script.js');
02761     echo js_include('sorttable.js');
02762     echo js_include('nicEdit.js');
02763 
02764 
02765 }
02766 ?>
 All Data Structures Namespaces Files Functions Variables Enumerations