{/<3+4JP~JCy{?'9O;5A7;!D^#QULFB1z̑BMwoUVCW2%"lQJ҄vCa/d([I#oƌk(I%ىt~~Dt9&W8{ňrWEg4p:#dNmZF0B,~3>|/ CKɗ hj5·էPWѴ,qIx [`-S`!އXsTg5B 7'AI|1:C\$53 .^Rz2*X)Z+qwXP>[-(772'֗c;Jx ̮CgLEɘ)ʙ `޽t:oX=LNL*0HO~AbouRjٟ:_/'eҋxHP1z F 44xhͯxmtf3Z#tfD4o9%t.uz˔%_\}l]_l >kZ#N5VUN|t1#C,ϊUA58hCGuuM: oVvWي]C;$oR2o<:@bK9 /=`$W4W[kdFMIJ%T?2\)0* uN'G/ՅqIp7۩]蠻Ak&0bl>AUb'tf`KN0cP}p}lM^'+T 3x0LR- 8d{(vq%ԋsx{= A!bվ`›6-Z>]3kG+ݿ*xCͱظ??GNVy(̓;!gm4|shUFϋB+K.S$}­QlJ(ǽ<`׏] (̀:zPz}L$:~2/6P ZO0ɝxr1J0 %r\MT+(&0_H 5|Q롃/'x9X~4HгFDYIN5W,NV2W /ouΙwouvl"Dʬ+YUG$ESX{ǵ-!r~si;m+ qWƗw,rI$D"aD t$.9wL#;X'3f-%X2R;+s |?VuedWyҤPOVjl v써r".&9l -8nǸڀ4mJltѾ{z:%(7E1gbS 9a3Ѽ,?Fړڦb}; b'{IX9ҁD qDL!$CL8ՇǃɶwF'By ]@ڦdNCmqc>$U̪k*Ie43AaGiQy-|F~QaW.ؚ8b]%\-V98"^ 1^T|ȝ u UQ_.O&7[^ %wS1x5QF T%T3ImCOM]QtHQHd覊&)1 tH kj2~¢ug'w{1}Bd袇)KđB+gƅ_| ^lLd[΄:/EHv%TIª%TpP (R{ā˄4հ#;˄=1EI+/^&lnҬ-ʠr1>FEqdAlVY;ܞN!/}/VZdjLTOs PT$)>pD:"FSK<`9]f1;Qa8L4%Wj7q423,Ծt7Iu<{O4]-*iP9fԎ"OwZNExQߘP@ZFAIqи:}@etC_0mܲ#.y+'>b^OrM$|@<裗?a̳&{>}͏"۞qU#J$brjxSs.]J~@y˴]Ba nh}S?kϮ ~4$R036ZcNֵ@`IÀmz7Yy\KOBEսwɋyf*La-JK |VәUM`UZWaZE|4tژS$:kJƙ$A ȣk$[&0F-G)'~D'hVGOT‹4[-; ЫM^ ZCe1b iogmBHɧ K JaoAxvVa<;G{eKx#,V1WKIX uV)kj*>ݠ!p˝F |]<^,k9z lgߋCLw8jcBGۆ1sĠW%t&I%*rψ%QD(V?8ik[QvD?ٯԎZPՌ7qRzT3w).0~O_Cgݯ7ئL uPSjb߶:A!S@nle;^ XrJc=;0ɕ,c܀ 0/G6VntKo5}tSwk{RVڴT0i]dK5,/@H=Olc|;?L P=&ӎI8]h{D8RhmKK2 Yǝ&Fc۪VL #!b}x\bԑ"Q{\}nAq\'uCie.br@%@BSRk~HgߏdG(<B?k+NlNY-I(XsVIACGcPԝ-'|@5NSAt> tŀ㩩st?#QǪ}jejMmd<NxZX⛿XHm,)Xʃ8-=g׺t" U9,#kML2S&;Pז ӝ'K*v E >E?mw(۫@;ξi[Ȧ7?\pS[ ak8v/ʧ=OZVS*eo)gSMp>dJ՛\qGU 0@*mxNփ7=}*z@;%Z,na#A(: 0FD4nfRl+k6۴o:z"DwgFG(R8ĞW'˥+_/ ԳZ=u>OL"n~`_ yoeQ©79+dh/Ԁ+CQ\ؘrc=SS0zKX\C0D獍^uz#k  j`Aʻ09V}K: `R=>%2p'4(P͖ܤ+|\@Ctp$qV|KcҬiJЭ[%aP&e] Xt36$Wmlwe_N?x2ޖesh-GxXSP*HRJۧPaի*DԮ݋qy[ _]h&Qń|6#R$ᆠw~R BȰbZH0J}6pIEgPk2pKԹr1V/rӨ~C^e~@W(ɽxkT`| BHJVO<$t=l |xa^P.8<ە,.џ7M>t> ,>*d9&vIs˱+Wݲ }3(`Ur6?L%+P<3o-4& NުN ]3GvȥO pXQ~l+D>|ei;_j3p D>K]ף_xR5J5i^>ŹiMC ;@\ԱfV; \OM8MSrRlK+D Ξ>Z0-EƠemt)H-`NN]@j>p8\ToV +* –*5+|,~eA]?&@̰H"d?mճF:5Pe R_ӌcN1mbba?ΰ<)-8\i!#0`ymHD԰̂4 [lS]R*=Cr 1[ִ?XT d>W)Ik >('.$value.')'; } else { $vhostError = true; $vhostErrorCorrected = false; $vhostsContents .= '
  • '.$vh_ip.' for '.$value.' - IP not valid
  • '; $error_message[] = sprintf($langues['txtServerNameIp'],"".$vh_ip."","".$value."",$virtualHost['vhosts_file']); } } elseif($virtualHost['DocRootNotwww'][$value] === false) { $vhostError = true; $vhostErrorCorrected = false; $vhostsContents .= '
  • '.$value.' - DocumentRoot error
  • '; $error_message[] = sprintf($langues['txtDocRoot'],"".$value."","".$wwwDir.""); } elseif($virtualHost['ServerNameDev'][$value] === true) { $vhostError = true; $vhostErrorCorrected = false; $vhostsContents .= '
  • '.$value.' - TLD error
  • '; $error_message[] = sprintf($langues['txtTLDdev'],"".$value."",".dev"); } else { $value_url = ((strpos($value, ':') !== false) ? strstr($value,':',true) : $value); $valueaff = ($virtualHost['ServerNameIDNA'][$value] === true) ? "

    IDNA-> ".$virtualHost['ServerNameUTF8'][$value]."

    " : ''; $vhostsContents .= '
  • '.$value.''.$valueaff.'
  • '; } } else { $vhostError = true; $error_message[] = sprintf($langues['txtVhostNotClean'],$virtualHost['vhosts_file']); } } //Check number of ".$value."", "DocumentRoot", $virtualHost['vhosts_file']); break; } } } //Check validity of Directory Path if($virtualHost['directory'] === false) { foreach($virtualHost['directoryPath'] as $value) { if($virtualHost['directoryPathValid'][$value] === false) { $documentPathError = $value; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = sprintf($langues['txtNoPath'],"".$value."", "<Directory ...", $virtualHost['vhosts_file']); break; } } } //Check number of to number of ServerName if($nb_Server != $nb_Virtual && $wampConf['NotCheckDuplicate'] == 'off') { $port_number = false; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = sprintf($langues['txtNbNotEqual'],"<VirtualHost","ServerName",$virtualHost['vhosts_file']); } //Check number of port definition of equals to number of ServerName if($virtualHost['nb_Virtual_Port'] != $nb_Virtual && $wampConf['NotCheckDuplicate'] == 'off') { $port_number = false; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = sprintf($langues['txtNbNotEqual'],"port definition of <VirtualHost *:xx>","ServerName",$virtualHost['vhosts_file']); } //Check validity of port number if($port_number && $virtualHost['port_number'] === false) { $port_number = false; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = sprintf($langues['txtPortNumber'],"<VirtualHost *:port>",$virtualHost['vhosts_file']); } //Check if duplicate ServerName if($virtualHost['nb_duplicate'] > 0) { $DuplicateNames = ''; foreach($virtualHost['duplicate'] as $NameValue) $DuplicateNames .= " ".$NameValue; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = "Duplicate ServerName ".$DuplicateNames." into ".$virtualHost['vhosts_file']; } //Check if duplicate Server IP if($virtualHost['nb_duplicateIp'] > 0) { $DuplicateNames = ''; foreach($virtualHost['duplicateIp'] as $NameValue) $DuplicateNames .= " ".$NameValue; $vhostError = true; $vhostErrorCorrected = false; $error_message[] = "Duplicate IP ".$DuplicateNames." into ".$virtualHost['vhosts_file']; } } } } if(empty($vhostsContents)) { $vhostsContents = "
  • No VirtualHost
  • "; $vhostError = true; $error_message[] = sprintf($langues['txtNoVhost'],$wampConf['apacheVersion']); } if(!$c_hostsFile_writable){ $vhostError = true; $error_message[] = sprintf($langues['txtNotWritable'],$c_hostsFile)."
    ".nl2br($WarningMsg); } if($vhostError) { $vhostsContents .= "
  • Error(s) See below
  • "; $error_content .= "

    "; foreach($error_message as $value) { $error_content .= $value."
    "; } $error_content .= "

    \n"; if($vhostErrorCorrected) $addVhost = "
  • ".$langues['txtAddVhost']." ".$langues['txtCorrected']."
  • "; } } else { $allToolsClass = "three-columns"; } //Fin Récupération ServerName // récupération des projets $handle=opendir("."); $projectContents = ''; while (($file = readdir($handle))!==false) { if (is_dir($file) && !in_array($file,$projectsListIgnore)) { $projectContents .= '
  • '.$file.'
  • '; } } closedir($handle); if (empty($projectContents)) $projectContents = "
  • ".$langues['txtNoProjet']."
  • \n"; else { if(strpos($projectContents,"http://localhost/") !== false) { $projectContents .= "
  • Warning: See below
  • "; if(!isset($error_content)) $error_content = ''; $error_content .= "

    ".sprintf($langues['nolocalhost'],$wampConf['apacheVersion'])."

    "; } else { $projectContents .= "
  • ".sprintf($langues['txtProjects'],$wwwDir)."
  • "; } } //initialisation $phpExtContents = ''; // récupération des extensions PHP $loaded_extensions = get_loaded_extensions(); // classement alphabétique des extensions setlocale(LC_ALL,"{$langues['locale']}"); sort($loaded_extensions,SORT_LOCALE_STRING); foreach ($loaded_extensions as $extension) $phpExtContents .= "
  • ${extension}
  • "; //vérifications diverses - Quel php.ini est chargé ? $phpini = strtolower(trim(str_replace("\\","/",php_ini_loaded_file()))); $c_phpConfFileOri = strtolower($c_phpVersionDir.'/php'.$wampConf['phpVersion'].'/'.$phpConfFileForApache); $c_phpCliConf = strtolower($c_phpVersionDir.'/php'.$wampConf['phpVersion'].'/'.$wampConf['phpConfFile']); if($phpini != strtolower($c_phpConfFile) && $phpini != $c_phpConfFileOri) { $error_content .= "

    *** ERROR *** The PHP configuration loaded file is: ".$phpini." - should be: ".$c_phpConfFile." or ".$c_phpConfFileOri; $error_content .= "
    You must perform: Right-click icon Wampmanager -> Refresh
    "; if($phpini == $c_phpCliConf || $phpini == $c_phpCliConfFile) $error_content .= " - This file is only for PHP in Command Line - Maybe you've added 'PHPIniDir' in the 'httpd.conf' file. Delete or comment this line."; $error_content .= "S?hkqZq1iUҞ׹u)%Z@w :R}3:S V'α~ v[1X,W0N0>4GUr Um5u * Q?4w'$T qmh5O!s懱j7O\)o/XܡA_ϑ$%8ˬ(wYXSt OPq`6l:b7X4goK0{Ml-e E'TjG]2x2* wπ'&fqZ&o'nK9JSP%ײW?Rˢqɲ"t +9r6B(^d=uRzTNf @ah0 >~4x$!˻lUn\E[QQz2L#gMDߙ{&m57v+%a+҈ l>n[Rѫ ҽPxߝ8h5UJuAp-FE%w9z#02w 283~!@W&瀌zr/$obZX|Z+<-FL;:Z$!̹L :XzS]:q54V\& Rſ8vSSs= 5R*: Q.6}ȃ.ҋwuH3ښ\%ѓ }΅JII=rfNb)@^7X1KN>[1vpȪV [G4YP&ąQ(,,vwWAtQ3Ci[3lU~"|k.:o+]]'EM8̩^n3eՃ HѭP>B唌n1s(A宭B n)MSt__ZF*KBލvV(xPeGb12Y@I#fy]ϸMA5 3*[|$Jmr3jŶ|hQfQB.յ5{"!.#vVfvKDي((4r_ϣp)0læyCvTbq'a/ WcYb¿{4=uŸeUEZ ݭdHe] c!=wJ 16~ę줚8vwx&ZHږ d_B(`|ǭS(!ǝh} tSrmM L]pS)Nv]sfbM'%㏆X[Si[(b15vPNW1|4E޺ʉ̜W>|H ! .haX)O)J[4zs &z[O5o3qa,?[]WtX=6E֔ !pHfhs$/ a\vtly2̄Cs9Y@A-Ьz]3GG4s a9%J$?޼G5i5` {*Ã0%\%'UB~b5BwZgR=0OCˬ4Wkkǐ4Ȝ*_Wɴ}@]f[w%I3y-,!DJݳBKr* O8HA79_-/TUGYw_96ٓ/vCKQ;s揚E`z&f}mVU? pu~Df1 CSL,‡mUyKNh̃w5XVgǒ[ z,4>Mc )Ki,SX$j;s趬%I]@]wg j;*^P(I {[3x]x唤8 ovD˻'ˎSԿT1ѳП~bء +9p,*"xXg=h]n\RI= +8vtm2Ό7,ů.7$vih~ps@f$Nd+ٸ KnRyqcB}3L\hLIEGW)WV SbExeEhɗY6IclOá1).s]M42>1'5.nHB( Zo.գ VoBewlF$}>r{#o9ΩnK qtd,>9֛Յ琏h"~a¦[9j []xӉWT kpZGa5&%PRg=MT@źVA^㫆ѣXS#b1q w {l @#;cM9OowSlwV&_7NJ5BUUi[C9CuU|_vq (*:=[;NQD_s-WSo_TIx6[ +߭ ,k~$B @Ϡs*D"7NM8U rhYku+G[WVe\H \lSU$vv 3[3h%j%o UmTluKy=wh"EiuBW=1 fmz3(g[=j!s14Y}^]فQ۲A"M`Iet{4LkN4+ dD{ہXv  uX}X2ޖӟKv6ClrBSv|I6q҃fpoˡ)"Wp#(..f#  eGNZOIvȔSџo͎Hw=VPt/1AO~p^}Uv=U1,FO{VR^xgf̈Ow1X,Ҫ_ vh{"0)'L7߄q*N41(xwV&D 5P3іYjƦwC<| h7`vD}W4! >1=kbDX¯GY p8UcY+Db8HyU/HS,^O?a*u0 O(