2022-11-27 18:07:43 +00:00
< ? php
header ( 'Content-Type: text/html; charset=utf-8' );
require ( " /*mysql config file*/ " );
$mysqli = mysqli_connect ( $host , $user , $pass , $nazwa_bazy ) or die ( 'ERROR TD01' );
mysqli_set_charset ( $mysqli , " utf8mb4 " );
$query = " SELECT * FROM connections WHERE twitter_verified='1' AND mastodon_verified='1' " ;
$result = mysqli_query ( $mysqli , $query ) or die ( 'ERROR TD02' );
mysqli_close ( $mysqli );
//Change language
$full_url = " https://pl.twittodon.com " . $_SERVER [ 'REQUEST_URI' ];
?>
<! DOCTYPE html >
< html lang = " en " >
< head >
< meta http - equiv = " content-type " content = " text/html; charset=utf-8 " >
< meta name = " Author " content = " Tomasz Dunia " >
< meta name = " Description " content = " Twittodon.com - Connect your Twitter and Mastodon accounts and verify it to let you followers be sure that those are your official accounts! " />
< meta name = " Keywords " content = " twitter, mastodon, fediverse, connect, verify " />
< meta name = " viewport " content = " width=device-width, initial-scale=0.5 " >
< title > Verified - Twittodon . com - Connect your Twitter and Mastodon accounts and verify it !</ title >
< link rel = " icon " href = " favicon.ico " type = " image/x-icon " />
< link rel = " shortcut icon " href = " favicon.ico " type = " image/x-icon " />
< link rel = " stylesheet " type = " text/css " href = " /dist/jstable.css " >
< script type = " text/javascript " src = " /dist/jstable.min.js " ></ script >
< script type = " text/javascript " src = " /dist/jstable.es5.min.js " ></ script >
< script type = " text/javascript " src = " /dist/polyfill-fetch.min.js " ></ script >
< style >
body {
font - family : Verdana ;
font - size : 14 px ;
margin : 40 px ;
background : #333333;
display : flex ;
align - items : center ;
text - align : center ;
justify - content : center ;
place - items : center ;
}
. container {
position : relative ;
width : 900 px ;
border - radius : 20 px ;
padding : 40 px ;
box - sizing : border - box ;
background : #333333;
box - shadow : 10 px 10 px 20 px 10 px #000000, -10px -10px 20px 10px #666666;
}
. home {
font - family : Verdana ;
font - size : 12 px ;
color : #ffffff;
text - shadow : 0 0 0.5 em #000000, 0 0 0.5em #000000, 0 0 0.5em #000000;
height : 100 px ;
width : 100 px ;
background : url ( " /img/twittodon_logo_800x800_white_transparent.png " );
background - size : cover ;
margin : auto ;
border - radius : 50 % ;
box - sizing : border - box ;
box - shadow : 7 px 7 px 10 px #000000, -7px -7px 10px #666666;
cursor : pointer ;
transition : 0.5 s ;
}
home : hover {
box - shadow : none ;
}
. inputs {
text - align : center ;
margin - top : 30 px ;
}
label , label_red , label_green , input , textarea , button {
display : block ;
width : 100 % ;
padding : 0 ;
border : none ;
outline : none ;
box - sizing : border - box ;
}
label {
margin - bottom : 10 px ;
text - align : center ;
color : #ffffff;
}
label_red {
margin - bottom : 10 px ;
text - align : center ;
color : #ff0000;
}
label_green {
margin - bottom : 10 px ;
text - align : center ;
color : #0ffff0;
}
header {
margin - bottom : 10 px ;
text - align : center ;
color : #ffffff;
font - size : 20 px ;
font - weight : bold ;
}
label : nth - of - type ( 2 ) {
margin - top : 12 px ;
}
label_red : nth - of - type ( 2 ) {
margin - top : 12 px ;
}
label_green : nth - of - type ( 2 ) {
margin - top : 12 px ;
}
message - green {
margin - bottom : 4 px ;
color : green ;
font - size : 12 px ;
}
message - green : nth - of - type ( 2 ) {
margin - top : 12 px ;
}
message - red {
margin - bottom : 4 px ;
color : red ;
font - size : 12 px ;
}
message - red : nth - of - type ( 2 ) {
margin - top : 12 px ;
}
input :: placeholder {
color : #ffffff;
opacity : 0.5 ;
}
input {
font - family : Verdana ;
font - size : 12 px ;
background : #333333;
color : #ffffff;
padding : 10 px ;
padding - left : 20 px ;
height : 50 px ;
text - align : center ;
border - radius : 25 px ;
box - shadow : inset 5 px 5 px 5 px #000000, inset -5px -5px 5px #666666;
- webkit - appearance : none ;
- webkit - text - fill - color : #ffffff;
opacity : 1 ;
}
textarea {
font - family : Verdana ;
font - size : 12 px ;
background : #333333;
color : #ffffff;
padding : 10 px ;
padding - left : 20 px ;
height : 25 px ;
text - align : center ;
border - radius : 25 px ;
box - shadow : inset 5 px 5 px 5 px #000000, inset -5px -5px 5px #666666;
- webkit - appearance : none ;
- webkit - text - fill - color : #ffffff;
opacity : 1 ;
resize : none ;
}
button {
font - family : Verdana ;
font - size : 14 px ;
color : #ffffff;
margin - top : 20 px ;
background : none ;
height : 40 px ;
border - radius : 20 px ;
cursor : pointer ;
font - weight : 900 ;
box - shadow : 5 px 5 px 5 px #000000, -5px -5px 5px #666666;
transition : 0.5 s ;
}
button : hover {
box - shadow : none ;
}
a , a : hover , a : active , a : visited { color : white ; }
highlight_blue {
color : #1DA1F2;
}
highlight_purple {
color : #6364ff;
}
. lang {
font - family : Verdana ;
font - size : 12 px ;
color : #ffffff;
text - shadow : 0 0 0.5 em #000000, 0 0 0.5em #000000, 0 0 0.5em #000000;
height : 30 px ;
width : 30 px ;
margin : auto ;
border - radius : 50 % ;
box - sizing : border - box ;
box - shadow : 7 px 7 px 10 px #000000, -7px -7px 10px #666666;
cursor : pointer ;
transition : 0.5 s ;
position : absolute ;
top : 15 px ;
right : 15 px ;
}
. plflag {
background : url ( " /img/pl_flag.png " );
background - size : cover ;
}
. ukflag {
background : url ( " /img/uk_flag.png " );
background - size : cover ;
}
</ style >
</ head >
< body >
< div class = " container " >
< button type = " button " class = " lang plflag " onClick = " location.href='<?php echo " $full_url " ; ?>'; " ></ button >
< button type = " button " class = " home " onClick = " location.href='https://twittodon.com'; " ></ button >
< div class = " inputs " >
< header > VERIFIED LIST </ header >
< label >& bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; & bull ; </ label >
< br >
< table id = " verified_table " >
< thead >
< tr >
< th width = " 40% " >< highlight_blue > Twitter </ highlight_blue ></ th >
< th width = " 40% " >< highlight_purple > Mastodon </ highlight_purple ></ th >
< th width = " 20% " data - sort = " desc " > Added </ th >
</ tr >
</ thead >
< tbody >
< ? php
2022-11-29 12:56:36 +00:00
$export_arr = array ();
while ( $fromdb = mysqli_fetch_row ( $result ))
2022-11-27 18:07:43 +00:00
{
//$fromdb[0] - id
//$fromdb[1] - twitter_login
//$fromdb[2] - twitter_verified
//$fromdb[3] - mastodon_login
//$fromdb[4] - mastodon_verified
//$fromdb[5] - twitter_name
//$fromdb[6] - twitter_img
//$fromdb[7] - mastodon_name
//$fromdb[8] - mastodon_img
//$fromdb[9] - date
echo " <tr> " ;
echo " <td style= \" white-space: normal \" ><a href= \" https://twitter.com/ " . $fromdb [ 1 ] . " \" target= \" _blank \" >@ " . $fromdb [ 1 ] . " </a><br> " . $fromdb [ 5 ] . " </td> " ;
$explode = explode ( " @ " , $fromdb [ 3 ]);
$mastodon_user = $explode [ 0 ];
$mastodon_server = $explode [ 1 ];
$mastodon_link = " https:// " . $explode [ 1 ] . " /@ " . $explode [ 0 ];
echo " <td style= \" white-space: normal \" ><a href= \" " . $mastodon_link . " \" target= \" _blank \" > " . $fromdb [ 3 ] . " </a><br> " . $fromdb [ 7 ] . " </highlight_purple></td> " ;
echo " <td style= \" white-space: nowrap \" > " . $fromdb [ 9 ] . " </td> " ;
echo " </tr> " ;
2022-11-29 12:56:36 +00:00
$export_arr [] = array ( $fromdb [ 1 ], $fromdb [ 3 ], $fromdb [ 9 ]);
2022-11-27 18:07:43 +00:00
}
2022-11-29 12:56:36 +00:00
$serialize_export_arr = serialize ( $export_arr );
2022-11-27 18:07:43 +00:00
?>
</ tbody >
</ table >
2022-11-29 12:56:36 +00:00
< br >
< form method = " post " action = " download.php " >
< textarea name = " export_data " style = " display: none; " >< ? php echo $serialize_export_arr ; ?> </textarea>
< button type = " submit " name = " Export " > Download entire table as a CSV file </ button >
</ form >
< br >
2022-11-27 18:07:43 +00:00
< label >
< center >
< table style = " font-size: 12px; " >
< tr >
< td style = " text-align: center; padding-right: 15px; border-right: solid 1px white; " >
< a href = " https://tomaszdunia.pl " target = " _blank " >< img src = " /img/author.gif " style = " border-radius: 50%; height: 80px; " /></ a >< br >
Author :< br >
Tomasz Dunia < br >
< i > to3k </ i >
</ td >
< td style = " vertical-align: top; padding-left: 15px; border-left: solid 1px white; " >
< img src = " /img/website_icon.png " height = " 10px " /> Website : < a href = " https://tomaszdunia.pl " target = " _blank " > tomaszdunia . pl </ a >< br >
< img src = " /img/twitter_icon.png " height = " 10px " /> Twitter : < a href = " https://twitter.com/theto3k " target = " _blank " >@ theto3k </ a >< br >
< img src = " /img/mastodon_icon.png " height = " 10px " /> Mastodon : < a href = " https://mstdn.social/@to3k " target = " _blank " > to3k @ mstdn . social </ a >< br >
< img src = " /img/email_icon.png " height = " 10px " /> Write to me using < a href = " contact.php " > contact form </ a > ( 🇬🇧 / 🇵🇱 ) .< br >
< img src = " /img/no_icon.png " height = " 10px " /> < img src = " /img/cookies_icon.png " height = " 10px " /> This site is not using cookies .< br >
< img src = " /img/no_icon.png " height = " 10px " /> < img src = " /img/eye_icon.png " height = " 10px " /> This site is free of any tracking scripts .< br >
This site is transparent so :< br >
< img src = " /img/stats_icon.png " height = " 10px " /> < a href = " stats.php " > You have an access to it ' s statistics !</ a >< br >
</ td >
</ tr >
</ table >
</ center >
</ label >
</ div >
< script >
new JSTable ( " #verified_table " , {
perPage : 10 ,
perPageSelect : [ 10 , 50 , 100 , 500 , 1000 , 5000 , 10000 ],
nextPrev : true ,
firstLast : false ,
prevText : " ‹ " ,
nextText : " › " ,
firstText : " « " ,
lastText : " » " ,
ellipsisText : " … " ,
truncatePager : true ,
pagerDelta : 2 ,
searchable : true ,
sortable : true ,
labels :
{
placeholder : " Search... " ,
perPage : " { select} entries per page " ,
noRows : " No entries found " ,
info : " From { start} to { end} of { rows} entries " ,
loading : " Loading... " ,
infoFiltered : " From { start} to { end} of { rows} entries<br>(filtered from { rowsTotal} entries) "
},
layout :
{
top : " { select} { search} " ,
bottom : " { info} { pager} "
}
});
</ script >
</ body >
2022-11-29 12:56:36 +00:00
</ html >