Upgrade database to utf8mb4
This commit is contained in:
@ -27,7 +27,7 @@ if($_SERVER['REQUEST_METHOD']==='HEAD'){
|
|||||||
}
|
}
|
||||||
include('common_config.php');
|
include('common_config.php');
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
die($I['nodb']);
|
die($I['nodb']);
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
// Executed every 15 minutes via cron - up/down checks
|
// Executed every 15 minutes via cron - up/down checks
|
||||||
include('common_config.php');
|
include('common_config.php');
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
die($I['nodb']);
|
die($I['nodb']);
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ define('PROMOTEPRICE', 0.025); // Price to promote a site for PROMOTETIME long
|
|||||||
define('PROMOTETIME', 864000); // Time (in seconds) to promote a site payed with PROMOTEPRICE - 864000 equals 10 days
|
define('PROMOTETIME', 864000); // Time (in seconds) to promote a site payed with PROMOTEPRICE - 864000 equals 10 days
|
||||||
define('PER_PAGE', 50); // Sites listed per page
|
define('PER_PAGE', 50); // Sites listed per page
|
||||||
define('VERSION', '1'); // Script version
|
define('VERSION', '1'); // Script version
|
||||||
define('DBVERSION', 1); // Database layout version
|
define('DBVERSION', 2); // Database layout version
|
||||||
//Categories - new links will always be put into the first one, leave it to Unsorted
|
//Categories - new links will always be put into the first one, leave it to Unsorted
|
||||||
//once configured, only add new categories at the end or you have to manually adjust the database.
|
//once configured, only add new categories at the end or you have to manually adjust the database.
|
||||||
$categories=['Unsorted', 'Adult/Porn', 'Communication/Social', 'Cryptocurrencies', 'Empty/Error/Unknown', 'Forums', 'Hacking', 'Hosting', 'Libraries/Wikis', 'Link Lists', 'Market/Shop/Store', 'Other', 'Personal Sites/Blogs', 'Scam', 'Security/Privacy', 'Whistleblowing'];
|
$categories=['Unsorted', 'Adult/Porn', 'Communication/Social', 'Cryptocurrencies', 'Empty/Error/Unknown', 'Forums', 'Hacking', 'Hosting', 'Libraries/Wikis', 'Link Lists', 'Market/Shop/Store', 'Other', 'Personal Sites/Blogs', 'Scam', 'Security/Privacy', 'Whistleblowing'];
|
||||||
|
@ -23,7 +23,7 @@ if($_SERVER['REQUEST_METHOD']==='HEAD'){
|
|||||||
}
|
}
|
||||||
include('common_config.php');
|
include('common_config.php');
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
}
|
}
|
||||||
date_default_timezone_set('UTC');
|
date_default_timezone_set('UTC');
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
date_default_timezone_set('UTC');
|
date_default_timezone_set('UTC');
|
||||||
include('common_config.php');
|
include('common_config.php');
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
die($I['nodb']);
|
die($I['nodb']);
|
||||||
}
|
}
|
||||||
|
38
setup.php
38
setup.php
@ -28,20 +28,20 @@ if(!extension_loaded('pcre')){
|
|||||||
if(!extension_loaded('json')){
|
if(!extension_loaded('json')){
|
||||||
die($I['jsonextrequired']);
|
die($I['jsonextrequired']);
|
||||||
}
|
}
|
||||||
if(!extension_loaded('json')){
|
if(!extension_loaded('curl')){
|
||||||
die($I['curlextrequired']);
|
die($I['curlextrequired']);
|
||||||
}
|
}
|
||||||
if(!extension_loaded('date')){
|
if(!extension_loaded('date')){
|
||||||
die($I['dateextrequired']);
|
die($I['dateextrequired']);
|
||||||
}
|
}
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
try{
|
try{
|
||||||
//Attempt to create database
|
//Attempt to create database
|
||||||
$db=new PDO('mysql:host=' . DBHOST, DBUSER, DBPASS, $options);
|
$db=new PDO('mysql:host=' . DBHOST . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
if(false!==$db->exec('CREATE DATABASE ' . DBNAME)){
|
if(false!==$db->exec('CREATE DATABASE ' . DBNAME)){
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}else{
|
}else{
|
||||||
die($I['nodb']);
|
die($I['nodb']);
|
||||||
}
|
}
|
||||||
@ -51,12 +51,36 @@ try{
|
|||||||
}
|
}
|
||||||
if(!@$db->query('SELECT * FROM ' . PREFIX . 'settings LIMIT 1;')){
|
if(!@$db->query('SELECT * FROM ' . PREFIX . 'settings LIMIT 1;')){
|
||||||
//create tables
|
//create tables
|
||||||
$db->exec('CREATE TABLE ' . PREFIX . 'onions (id int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, address varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, md5sum binary(16) NOT NULL UNIQUE, lasttest int(10) UNSIGNED NOT NULL, lastup int(10) UNSIGNED NOT NULL, timediff int(10) UNSIGNED NOT NULL, timeadded int(10) UNSIGNED NOT NULL, description varchar(20000) CHARACTER SET utf8 NOT NULL, category smallint(6) NOT NULL, locked smallint(6) NOT NULL, special int(10) UNSIGNED NOT NULL, INDEX(address), INDEX(lasttest), INDEX(timediff), INDEX(category), INDEX(special));');
|
$db->exec('CREATE TABLE ' . PREFIX . 'onions (id int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, address varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, md5sum binary(16) NOT NULL UNIQUE, lasttest int(10) UNSIGNED NOT NULL, lastup int(10) UNSIGNED NOT NULL, timediff int(10) UNSIGNED NOT NULL, timeadded int(10) UNSIGNED NOT NULL, description text CHARACTER SET utf8mb4 NOT NULL, category smallint(6) NOT NULL, locked smallint(6) NOT NULL, special int(10) UNSIGNED NOT NULL, INDEX(address), INDEX(lasttest), INDEX(timediff), INDEX(category), INDEX(special));');
|
||||||
$db->exec('CREATE TABLE ' . PREFIX . 'phishing (id int(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, onion_id int(10) UNSIGNED NOT NULL UNIQUE, original varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, FOREIGN KEY (onion_id) REFERENCES onions(id) ON DELETE CASCADE ON UPDATE CASCADE);');
|
$db->exec('CREATE TABLE ' . PREFIX . 'phishing (onion_id int(10) UNSIGNED NOT NULL PRIMARY_KEY, original varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, FOREIGN KEY (onion_id) REFERENCES onions(id) ON DELETE CASCADE ON UPDATE CASCADE);');
|
||||||
$db->exec('CREATE TABLE ' . PREFIX . 'settings (setting varchar(50) NOT NULL PRIMARY KEY, value varchar(20000) NOT NULL);');
|
$db->exec('CREATE TABLE ' . PREFIX . 'settings (setting varchar(50) NOT NULL PRIMARY KEY, value varchar(20000) NOT NULL);');
|
||||||
$db->exec('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('version', '1');");
|
$stmt=$db->prepare('INSERT INTO ' . PREFIX . "settings (setting, value) VALUES ('version', ?);");
|
||||||
|
$stmt->execute([DBVERSION]);
|
||||||
echo "$I[succdbcreate]\n";
|
echo "$I[succdbcreate]\n";
|
||||||
}else{
|
}else{
|
||||||
|
$res=$db->query('SELECT value FROM ' . PREFIX . "settings WHERE setting='version';");
|
||||||
|
$version=$res->fetch(PDO::FETCH_NUM)[0];
|
||||||
|
if($version<2){
|
||||||
|
$olddb=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
|
$stmt=$olddb->query('SELECT onion_id, original FROM ' . PREFIX . 'phishing;');
|
||||||
|
$phishings=$stmt->fetchAll(PDO::FETCH_NUM);
|
||||||
|
$stmt=$olddb->query('SELECT id, address, md5sum, lasttest, lastup, timediff, timeadded, description, category, locked, special FROM ' . PREFIX . 'onions;');
|
||||||
|
$onions=$stmt->fetchAll(PDO::FETCH_NUM);
|
||||||
|
$db->exec('DROP TABLE ' . PREFIX . 'phishing;');
|
||||||
|
$db->exec('DROP TABLE ' . PREFIX . 'onions;');
|
||||||
|
$db->exec('CREATE TABLE ' . PREFIX . 'onions (id int(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, address varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, md5sum binary(16) NOT NULL UNIQUE, lasttest int(10) UNSIGNED NOT NULL, lastup int(10) UNSIGNED NOT NULL, timediff int(10) UNSIGNED NOT NULL, timeadded int(10) UNSIGNED NOT NULL, description text CHARACTER SET utf8mb4 NOT NULL, category smallint(6) NOT NULL, locked smallint(6) NOT NULL, special int(10) UNSIGNED NOT NULL, INDEX(address), INDEX(lasttest), INDEX(timediff), INDEX(category), INDEX(special));');
|
||||||
|
$db->exec('CREATE TABLE ' . PREFIX . 'phishing (onion_id int(10) UNSIGNED NOT NULL PRIMARY KEY, original varchar(16) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, FOREIGN KEY (onion_id) REFERENCES onions(id) ON DELETE CASCADE ON UPDATE CASCADE);');
|
||||||
|
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'onions (id, address, md5sum, lasttest, lastup, timediff, timeadded, description, category, locked, special) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
||||||
|
foreach($onions as $onion){
|
||||||
|
$stmt->execute($onion);
|
||||||
|
}
|
||||||
|
$stmt=$db->prepare('INSERT INTO ' . PREFIX . 'phishing (onion_id, original) VALUES (?, ?);');
|
||||||
|
foreach($phishings as $phishing){
|
||||||
|
$stmt->execute($phishing);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$stmt=$db->prepare('UPDATE ' . PREFIX . "settings SET value=? WHERE setting='version';");
|
||||||
|
$stmt->execute([DBVERSION]);
|
||||||
echo "$I[statusok]\n";
|
echo "$I[statusok]\n";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
2
test.php
2
test.php
@ -47,7 +47,7 @@ if(!empty($_REQUEST['addr'])){
|
|||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
}
|
}
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
}
|
}
|
||||||
if(!preg_match('~(^(https?://)?([a-z0-9]*\.)?([a-z2-7]{16})(\.onion(/.*)?)?$)~i', trim($_REQUEST['addr']), $addr)){
|
if(!preg_match('~(^(https?://)?([a-z0-9]*\.)?([a-z2-7]{16})(\.onion(/.*)?)?$)~i', trim($_REQUEST['addr']), $addr)){
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
// Executed every 24 hours via cron - checks for new sites.
|
// Executed every 24 hours via cron - checks for new sites.
|
||||||
include('common_config.php');
|
include('common_config.php');
|
||||||
try{
|
try{
|
||||||
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME, DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
$db=new PDO('mysql:host=' . DBHOST . ';dbname=' . DBNAME . ';charset=utf8mb4', DBUSER, DBPASS, [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING, PDO::ATTR_PERSISTENT=>PERSISTENT]);
|
||||||
}catch(PDOException $e){
|
}catch(PDOException $e){
|
||||||
die($I['nodb']);
|
die($I['nodb']);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user