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') 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%') 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 2025-11-17 HG100FO 80 CW DJ5CW Hungary 2025-11-17 DL1VDL Hardy 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 OK1ES Josef 80 CW SO5CW Czech Republic 2025-11-17 OL8R Petr 80 CW SO5CW Czech Republic 2025-11-17 SP4TKR 80 CW SO5CW Poland 2025-11-17 OK1USP 80 CW SO5CW Czech Republic 2025-11-17 DR2C Adam 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 DD2ML 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 OK1VK Pavel 80 CW SO5CW Czech Republic 2025-11-17 OK2BFN Tom 80 CW SO5CW Czech Republic 2025-11-17 M1X Steve 80 CW SO5CW England 2025-11-17 HA5MA Laci 80 CW SO5CW Hungary 2025-11-17 DL1DWR 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 SP3MEP Jurek 80 CW SO5CW Poland 2025-11-17 DL8QS Heiko 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 OK1TRJ Michal 80 CW SO5CW Czech Republic 2025-11-17 DA1DX 80 CW SO5CW Fed. Rep. of Germany 2025-11-17 M4N Mike 40 CW SO5CW England 2025-11-17 DF7TS 40 CW SO5CW Fed. Rep. of Germany 2025-11-17 S51J 40 CW SO5CW Slovenia 2025-11-17 M1X Steve 40 CW SO5CW England 2025-11-17 ES3YJ Jos 80 CW SO5CW Estonia 2025-11-17 HG100RADIO 80 CW SO5CW Hungary 2025-11-17 HG100IT 20 CW SO5CW Hungary 2025-11-17 IK1WNO Enrico 20 CW SO5CW Italy 2025-11-17 F6FTI Pierre 20 CW SO5CW France 2025-11-17 F5LUX Chris 20 CW SO5CW France 2025-11-17 K5BI Mike 10 CW SO5CW United States 2025-11-17 CT9/OK2ZI 17 CW SO5CW Madeira Islands 2025-11-17 OL35MDXC 40 CW SO5CW Czech Republic |
Search LogUnique calls by first letter0 (0) 1 (5) 2 (76) 3 (153) 4 (370) 5 (193) 6 (45) 7 (82) 8 (65) 9 (741) A (695) B (148) C (500) D (5833) E (2467) F (1268) G (2153) H (1681) I (2461) J (1283) K (2137) L (1595) M (674) N (1292) O (3995) P (1270) Q (0) R (4393) S (3472) T (793) U (3162) V (782) W (1944) X (72) Y (1644) Z (343) Total unique calls: 47787 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||