if ($_GET["printsource"]) { header("Content-type: text/plain"); $fc = file_get_contents("./index.php"); $fc = preg_replace('/\$mysql_pass\s=.*/', '$mysql_pass'.' = "...";', $fc, 2); echo "$fc"; } ?>
$mysql_host = "localhost"; $mysql_user = "fabian"; $mysql_pass = "..."; $mysql_dbname = "YFKlog"; $db = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_dbname) or die ("Since I am doing all of my logging online (with YFKlog), my logs (going back to my first contacts in 1998) are already in a SQL database and can easily be accessed for this website.
Note that between 2011 and 2015, I mostly operated in contests at DL1A. After moving to a new location in 2015, I have a station of my own again, so QSOs with my own callsign have become a less rare. Starting September 2024, my remote station at SO5CW is fully operational, so expect a lot of QSOs from there, too.
The last few QSOs are shown below, updated as they are entered to the log. You can also select a year and see the QSOs from that year, or check out how I am doing in the "Worked All Suffixes" challenge.
Logs by year
|
Last contacts$hdr = "Date Call Name Band MyCall DXCC\n"; $q = mysqli_query($db, "SELECT date, `call` as cs, mycall as mc, band, mode, name, dxcc FROM yfklogtbl where `mycall` in ('DJ5CW', 'DJ1YFK', 'SO5CW', 'OK/DJ5CW', 'DF0HSC') and DATE LIKE '%$year%' ORDER BY date desc, t_on desc, nr desc limit 30;"); if (!$q) { echo "Database error!\n"; return; } $tmp = ''; $cnt = 0; include_once("dxccs.php"); while ($o = mysqli_fetch_object($q)) { $cnt++; if ($o->name) { $name = iconv('latin1', 'utf8', $o->name); } else { $name = ''; } $tmp .= sprintf("%s %-11s %-10s %3s %3s %-7s %s\n", $o->date, $o->cs, $name, $o->band, $o->mode, $o->mc, $dxcc[$o->dxcc]); } echo "".$hdr.$tmp.""; ?> |
Search Logsearch_results(); ?> Unique calls by first letter
$arr = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
"L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
"W", "X", "Y", "Z");
$k=0;
$sum = 0;
foreach ($arr as $c) {
$k++;
$cnt = count(file("static/unique-$c.html")) - 16;
$sum += $cnt;
$tmp = "$c ($cnt)";
$x = sprintf("%-45s", $tmp);
echo "$x";;
if (!($k % 5)) {
echo "\n";
}
}
?>
Total unique calls: =$sum;?> |
|||||||||
=$mycall; ?> Logs for ($i = 1998; $i <= (getdate()['year']); $i++) { echo "- $i"; } ?>
# For all years before the current one, we will serve
# a static file, if it is less than 60 days old.
$sfn = "static/log-$year.html";
$sfnl = "static/log-$year-length.txt";
if ($year < getdate()['year'] and
file_exists($sfn) and
(time() - filemtime($sfn)) < (60*24*60*60)) {
/* Do nothing, we do the include later */
}
else {
$mycall = array(strtolower($mycall));
if ($year == 2021) { # dj1yfk + dj5cw
$mycall = array("dj5cw");
}
$tmp = '';
foreach ($mycall as $cl) {
$q = mysqli_query($db, "SELECT date, `mycall` as mc, `call` as cs, band, mode, name FROM yfklogtbl where (`mycall` like '%YFK%' or mycall like '%5CW%' or mycall like 'DF0HSC') and DATE LIKE '$year%' ORDER BY date asc, t_on asc");
if (!$q) {
echo "Database error!\n";
return;
}
while ($o = mysqli_fetch_object($q)) {
$cnt++;
if ($o->name) {
$name = iconv('latin1', 'utf8', $o->name);
}
else {
$name = '';
}
$tmp .= sprintf("%s %-11s %-10s %3s %-5s %s\n",
$o->date, $o->cs, $name, $o->band, $o->mode, $o->mc);
}
}
$fh = fopen($sfn, 'w');
if (!$fh) {
echo "Error (fopen).";
return;
}
fputs($fh, $tmp);
fclose($fh);
$fh = fopen($sfnl, 'w');
if (!$fh) {
echo "Error (fopen).";
return;
}
fputs($fh, $cnt);
fclose($fh);
}
include($sfn);
?>
}
function search_results () {
global $db;
$c = strtoupper($_POST['call']);
$tmp = '';
$cnt = 0;
$sc = 0;
$rc = 0;
$nomail = false;
if (substr($c, 0, 1) == "*") {
$c = substr($c, 1);
$nomail = true;
}
if (preg_match('/^[A-Z0-9\/]{2,30}$/', $c)) {
foreach (array("dj1yfk") as $call) {
$q = mysqli_query($db, "SELECT date, `call` as cs, band, mode, name, qsls, qslr, mycall FROM yfklogtbl where `call` = '$c' or `call` like '%/$c' or `call` like '$c/%' or `call` like '%/$c/%' ORDER BY date asc, t_on asc");
if (!$q) {
echo "Database error.";
return;
}
while ($o = mysqli_fetch_object($q)) {
$cnt++;
if ($o->name) {
$name = iconv('latin1', 'utf8', $o->name);
}
else {
$name = '';
}
$tmp .= sprintf("%s %-11s %-10s %3s %s %s %s %s\n",
$o->date, $o->cs, $name, $o->band, $o->mode, $o->qsls, $o->qslr, $o->mycall);
if ($o->qsls == "Y") $sc++;
if ($o->qslr == "Y") $rc++;
}
}
echo "$c found $cnt times. Sent QSLs: $sc, Received QSLs: $rc$tmp"; $tmp .= "\nIP: ".getenv('REMOTE_ADDR')."\n"; if (!$nomail) mail("fabian@fkurz.net", "Log search $c", $tmp, "From: www@fkurz.net"); } } ?>
Since I am doing all of my logging online (with YFKlog), my logs (going back to my first contacts in 1998) are already in a SQL database and can easily be accessed for this website.
Note that between 2011 and 2015, I mostly operated in contests at DL1A. After moving to a new location in 2015, I have a station of my own again, so QSOs with my own callsign have become a less rare. Starting September 2024, my remote station at SO5CW is fully operational, so expect a lot of QSOs from there, too.
The last few QSOs are shown below, updated as they are entered to the log. You can also select a year and see the QSOs from that year, or check out how I am doing in the "Worked All Suffixes" challenge.
Logs by year
|
Last contactsDate Call Name Band MyCall DXCC 2026-01-08 II3WWA 80 CW SO5CW Italy 2026-01-07 DL8RDL Lenz 80 CW SO5CW Fed. Rep. of Germany 2026-01-07 SP3DGV Genek 80 CW SO5CW Poland 2026-01-07 DH6YAG Alfred 80 CW SO5CW Fed. Rep. of Germany 2026-01-07 S53R Robert 80 CW SO5CW Slovenia 2026-01-07 OZ3SM Steve 80 CW SO5CW Denmark 2026-01-07 PA3DBS Peter 80 CW SO5CW Netherlands 2026-01-07 SA2OLM Alex 80 CW SO5CW Sweden 2026-01-07 UR8UQ Alex 80 CW SO5CW Ukraine 2026-01-07 SM0D Kari 80 CW SO5CW Sweden 2026-01-07 SM5ACQ Don 80 CW SO5CW Sweden 2026-01-07 SM6F Lars 80 CW SO5CW Sweden 2026-01-07 SD6F Klas 80 CW SO5CW Sweden 2026-01-07 SC6O Ben 80 CW SO5CW Sweden 2026-01-07 SP9ERY Alex 80 CW SO5CW Poland 2026-01-06 LA1TV Trond 160 CW SO5CW Norway 2026-01-06 DJ6ZM Tof 80 CW SO5CW Fed. Rep. of Germany 2026-01-06 OH2NC Kalevi 80 CW SO5CW Finland 2026-01-06 OM4RF Vilo 80 CW SO5CW Slovak Republic 2026-01-06 DA0WWA 80 CW SO5CW Fed. Rep. of Germany 2026-01-06 DL2GAN Clemens 60 CW SO5CW Fed. Rep. of Germany 2026-01-06 SM5HQN Classe 60 CW SO5CW Sweden 2026-01-06 SN0WWA 40 CW SO5CW Poland 2026-01-06 LX26HNY 40 CW SO5CW Luxembourg 2026-01-06 UP7WWA 80 CW SO5CW Kazakhstan 2026-01-06 DF100KWTJ 80 CW SO5CW Fed. Rep. of Germany 2026-01-06 UR4HD Igorx 20 CW SO5CW Ukraine 2026-01-06 N5KD Pete 10 CW SO5CW United States 2026-01-06 RA7KQ Alan 40 CW SO5CW 2026-01-06 K3WW Chas 15 CW SO5CW United States |
Search LogUnique calls by first letter0 (0) 1 (5) 2 (76) 3 (156) 4 (372) 5 (195) 6 (45) 7 (83) 8 (67) 9 (749) A (697) B (155) C (506) D (5886) E (2490) F (1273) G (2164) H (1693) I (2484) J (1286) K (2145) L (1604) M (683) N (1297) O (4020) P (1286) Q (0) R (4423) S (3499) T (805) U (3171) V (787) W (1949) X (73) Y (1656) Z (347) Total unique calls: 48127 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||