comparison admajax.php @ 1092:95b74632cfe2

Rename votekeys table to userkeys, and all related variables and settings.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 26 Jan 2017 13:38:19 +0200
parents c4b93729269d
children 0a2117349f46 0eca3f1b1d48
comparison
equal deleted inserted replaced
1091:c4b93729269d 1092:95b74632cfe2
378 if ($tr) 378 if ($tr)
379 echo " </div>\n"; 379 echo " </div>\n";
380 } 380 }
381 381
382 382
383 function stGetVoteKeyClass($item) 383 function stGetUserKeyClass($item)
384 { 384 {
385 global $setVoteKeyMode; 385 global $setUserKeyMode;
386 386
387 switch ($setVoteKeyMode) 387 switch ($setUserKeyMode)
388 { 388 {
389 case VOTE_FREELY: 389 case VOTE_FREELY:
390 $cond = 0; 390 $cond = 0;
391 break; 391 break;
392 392
398 $cond = $item["key_id"] > 0; 398 $cond = $item["key_id"] > 0;
399 break; 399 break;
400 } 400 }
401 401
402 return 402 return
403 "votekey ".($cond ? "vkeyActive" : "vkeyInactive"). 403 "userkey ".($cond ? "vkeyActive" : "vkeyInactive").
404 " ".($item["nvotes"] > 0 ? "vkeyUsed" : "vkeyUnused"); 404 " ".($item["nvotes"] > 0 ? "vkeyUsed" : "vkeyUnused");
405 } 405 }
406 406
407 407
408 function stGetVoteKeyInfo() 408 function stGetUserKeyInfo()
409 { 409 {
410 $nkeys = stFetchSQLColumn("SELECT COUNT(*) FROM votekeys WHERE active=1"); 410 $nkeys = stFetchSQLColumn("SELECT COUNT(*) FROM userkeys WHERE active=1");
411 $totalKeys = stFetchSQLColumn("SELECT COUNT(*) FROM votekeys"); 411 $totalKeys = stFetchSQLColumn("SELECT COUNT(*) FROM userkeys");
412 412
413 $nvoters = stFetchSQLColumn("SELECT COUNT(DISTINCT(key_id)) FROM votes"); 413 $nvoters = stFetchSQLColumn("SELECT COUNT(DISTINCT(key_id)) FROM votes");
414 414
415 return 415 return
416 "Info: <b>".$nkeys."</b> of <b>".$totalKeys."</b> votekeys are activated. ". 416 "Info: <b>".$nkeys."</b> of <b>".$totalKeys."</b> userkeys are activated. ".
417 "Also, <b>".$nvoters."</b> keys have been used for voting."; 417 "Also, <b>".$nvoters."</b> keys have been used for voting.";
418 } 418 }
419 419
420 420
421 function stGetVoteKeyItemData($id, $item, $prefix) 421 function stGetUserKeyItemData($id, $item, $prefix)
422 { 422 {
423 global $setVoteKeyMode, $setVoteKeyLen; 423 global $setUserKeyMode, $setUserKeyLen;
424 424
425 switch ($setVoteKeyMode) 425 switch ($setUserKeyMode)
426 { 426 {
427 case VOTE_FREELY: 427 case VOTE_FREELY:
428 case VOTE_ACTIVATE: 428 case VOTE_ACTIVATE:
429 $klen = $setVoteKeyLen - strlen($item["key"]); 429 $klen = $setUserKeyLen - strlen($item["key"]);
430 $str = sprintf( 430 $str = sprintf(
431 "<span class=\"keyid\">%03d</span>&nbsp;:&nbsp;". 431 "<span class=\"keyid\">%03d</span>&nbsp;:&nbsp;".
432 "<span class=\"keycode\">%s</span>", 432 "<span class=\"keycode\">%s</span>",
433 $id, 433 $id,
434 (($klen > 0) ? str_repeat("&nbsp;", $klen) : "").$item["key"]); 434 (($klen > 0) ? str_repeat("&nbsp;", $klen) : "").$item["key"]);
435 435
436 if ($setVoteKeyMode == VOTE_ACTIVATE) 436 if ($setUserKeyMode == VOTE_ACTIVATE)
437 { 437 {
438 $str .= stGetFormCheckBoxInput("active", $id, $prefix, $item["active"], FALSE, 438 $str .= stGetFormCheckBoxInput("active", $id, $prefix, $item["active"], FALSE,
439 "class=\"keyactive\" onChange=\"voteKeySetActive(".$id.")\"", ""); 439 "class=\"keyactive\" onChange=\"userKeySetActive(".$id.")\"", "");
440 } 440 }
441 441
442 return $str; 442 return $str;
443 443
444 case VOTE_ASSIGN: 444 case VOTE_ASSIGN:
445 $str = 445 $str =
446 " <td class=\"name\">".chentities($item["name"])."</td>\n". 446 " <td class=\"name\">".chentities($item["name"])."</td>\n".
447 " <td class=\"groups\">".chentities($item["groups"])."</td>\n". 447 " <td class=\"groups\">".chentities($item["groups"])."</td>\n".
448 " <td class=\"vkeynum\">". 448 " <td class=\"vkeynum\">".
449 stGetFormTextInput(5, 5, "key_id", $id, $prefix, $item["key_id"]). 449 stGetFormTextInput(5, 5, "key_id", $id, $prefix, $item["key_id"]).
450 stGetFormButtonInput("assign", $id, $prefix, "Set", "voteKeyAssign(".$id.",1)"); 450 stGetFormButtonInput("assign", $id, $prefix, "Set", "userKeyAssign(".$id.",1)");
451 451
452 if ($item["key_id"] != 0) 452 if ($item["key_id"] != 0)
453 $str .= stGetFormButtonInput("clear", $id, $prefix, "Clear", "voteKeyAssign(".$id.",0)"); 453 $str .= stGetFormButtonInput("clear", $id, $prefix, "Clear", "userKeyAssign(".$id.",0)");
454 454
455 $str .= 455 $str .=
456 "</td>\n". 456 "</td>\n".
457 " <td class=\"vkey\">"; 457 " <td class=\"vkey\">";
458 458
804 stReloadSettings(); 804 stReloadSettings();
805 stReloadDisplayVars(); 805 stReloadDisplayVars();
806 stSessionExpire(SESS_ADMIN, FALSE); 806 stSessionExpire(SESS_ADMIN, FALSE);
807 807
808 808
809 $setVoteKeyMode = stGetSetting("voteKeyMode"); 809 $setUserKeyMode = stGetSetting("userKeyMode");
810 $setVoteKeyLen = stGetSetting("userKeyLength"); 810 $setUserKeyLen = stGetSetting("userKeyLength");
811 $type = stGetRequestItem("type", ""); 811 $type = stGetRequestItem("type", "");
812 switch (stGetRequestItem("action", "")) 812 switch (stGetRequestItem("action", ""))
813 { 813 {
814 case "upload": 814 case "upload":
815 // 815 //
1404 stPrintAttendee($res, -1, FALSE, TRUE, stGetRequestItem("edit", FALSE)); 1404 stPrintAttendee($res, -1, FALSE, TRUE, stGetRequestItem("edit", FALSE));
1405 else 1405 else
1406 stError("No such attendee ID!"); 1406 stError("No such attendee ID!");
1407 break; 1407 break;
1408 1408
1409 case "votekeyinfo": 1409 case "userkeyinfo":
1410 echo stGetVoteKeyInfo(); 1410 echo stGetUserKeyInfo();
1411 break; 1411 break;
1412 1412
1413 case "votekey": 1413 case "userkey":
1414 case "votekeyclass": 1414 case "userkeyclass":
1415 switch ($setVoteKeyMode) 1415 switch ($setUserKeyMode)
1416 { 1416 {
1417 case VOTE_FREELY: 1417 case VOTE_FREELY:
1418 case VOTE_ACTIVATE: 1418 case VOTE_ACTIVATE:
1419 $sql = stPrepareSQL("SELECT (SELECT COUNT(id) FROM votes WHERE key_id=%D) AS nvotes,votekeys.* FROM votekeys WHERE id=%D", "id", "id"); 1419 $sql = stPrepareSQL("SELECT (SELECT COUNT(id) FROM votes WHERE key_id=%D) AS nvotes,userkeys.* FROM userkeys WHERE id=%D", "id", "id");
1420 break; 1420 break;
1421 1421
1422 case VOTE_ASSIGN: 1422 case VOTE_ASSIGN:
1423 $sql = stPrepareSQL("SELECT (SELECT COUNT(id) FROM votes WHERE key_id=%D) AS nvotes,votekeys.key,attendees.* FROM attendees ". 1423 $sql = stPrepareSQL("SELECT (SELECT COUNT(id) FROM votes WHERE key_id=%D) AS nvotes,userkeys.key,attendees.* FROM attendees ".
1424 "LEFT JOIN votekeys ON votekeys.id=attendees.key_id ". 1424 "LEFT JOIN userkeys ON userkeys.id=attendees.key_id ".
1425 "WHERE attendees.id=%D", "id", "id"); 1425 "WHERE attendees.id=%D", "id", "id");
1426 break; 1426 break;
1427 } 1427 }
1428 if (($res = stFetchSQL($sql)) !== FALSE) 1428 if (($res = stFetchSQL($sql)) !== FALSE)
1429 { 1429 {
1430 if ($type == "votekeyclass") 1430 if ($type == "userkeyclass")
1431 echo stGetVoteKeyClass($res); 1431 echo stGetUserKeyClass($res);
1432 else 1432 else
1433 echo stGetVoteKeyItemData($res["id"], $res, "vk"); 1433 echo stGetUserKeyItemData($res["id"], $res, "vk");
1434 } 1434 }
1435 break; 1435 break;
1436 1436
1437 case "voters": 1437 case "voters":
1438 // Generate vote keys, if needed 1438 // Generate user keys, if needed
1439 $numVKeys = stFetchSQLColumn("SELECT COUNT(*) FROM votekeys"); 1439 $numVKeys = stFetchSQLColumn("SELECT COUNT(*) FROM userkeys");
1440 $numUsers = stFetchSQLColumn("SELECT COUNT(*) FROM attendees"); 1440 $numUsers = stFetchSQLColumn("SELECT COUNT(*) FROM attendees");
1441 if (($tmp = stGetSetting("maxAttendeesHard")) > $numUsers) 1441 if (($tmp = stGetSetting("maxAttendeesHard")) > $numUsers)
1442 $numUsers = $tmp; 1442 $numUsers = $tmp;
1443 else 1443 else
1444 if (($tmp = stGetSetting("maxAttendeesSoft")) > $numUsers) 1444 if (($tmp = stGetSetting("maxAttendeesSoft")) > $numUsers)
1446 1446
1447 while ($numVKeys <= $numUsers) 1447 while ($numVKeys <= $numUsers)
1448 { 1448 {
1449 if (($key = stGenerateUserKey()) !== false) 1449 if (($key = stGenerateUserKey()) !== false)
1450 { 1450 {
1451 if (stExecSQL(stPrepareSQL("INSERT INTO votekeys (key) VALUES (%s)", $key)) !== false) 1451 if (stExecSQL(stPrepareSQL("INSERT INTO userkeys (key) VALUES (%s)", $key)) !== false)
1452 $numVKeys++; 1452 $numVKeys++;
1453 } 1453 }
1454 } 1454 }
1455 1455
1456 // Some information 1456 // Some information
1457 echo 1457 echo
1458 "<div class=\"tabHeadersSub\">\n". 1458 "<div class=\"tabHeadersSub\">\n".
1459 " <a href=\"print.php?type=votekeys\" target=\"_blank\">Show printable key list</a>\n". 1459 " <a href=\"print.php?type=userkeys\" target=\"_blank\">Show printable key list</a>\n".
1460 " <a href=\"print.php?type=results&flags=".(RFLAG_NORMAL)."\" target=\"_blank\">Printable results</a>\n". 1460 " <a href=\"print.php?type=results&flags=".(RFLAG_NORMAL)."\" target=\"_blank\">Printable results</a>\n".
1461 " <a href=\"print.php?type=results&flags=".(RFLAG_DISQUALIFIED)."\" target=\"_blank\">Printable full results</a> (shows also disqualified entries)\n". 1461 " <a href=\"print.php?type=results&flags=".(RFLAG_DISQUALIFIED)."\" target=\"_blank\">Printable full results</a> (shows also disqualified entries)\n".
1462 " <a href=\"print.php?type=results&flags=".(RFLAG_DISQUALIFIED | RFLAG_HIDDEN_COMPOS)."\" target=\"_blank\">Printable FULL results</a> (shows also hidden and empty compos)\n". 1462 " <a href=\"print.php?type=results&flags=".(RFLAG_DISQUALIFIED | RFLAG_HIDDEN_COMPOS)."\" target=\"_blank\">Printable FULL results</a> (shows also hidden and empty compos)\n".
1463 " <div id=\"vkeyInfo\">".stGetVoteKeyInfo()."</div>\n". 1463 " <div id=\"vkeyInfo\">".stGetUserKeyInfo()."</div>\n".
1464 "</div>\n"; 1464 "</div>\n";
1465 1465
1466 echo 1466 echo
1467 "<div class=\"info\"><b>Voting mode: "; 1467 "<div class=\"info\">".
1468 "User key length ".stGetSetting("userKeyLength")." ".
1469 "<b>Voting mode: ";
1468 1470
1469 if (isset($voteModeData[$setVoteKeyMode])) 1471 if (isset($voteModeData[$setUserKeyMode]))
1470 echo $voteModeData[$setVoteKeyMode][0]."</b>. ".$voteModeData[$setVoteKeyMode][1]; 1472 echo $voteModeData[$setUserKeyMode][0]."</b>. ".$voteModeData[$setUserKeyMode][1];
1471 else 1473 else
1472 echo "VOTE MODE NOT SET! CHECK CONFIGURATION!</b>"; 1474 echo "VOTE MODE NOT SET! CHECK CONFIGURATION!</b>";
1473 1475
1474 echo "</div>\n"; 1476 echo "</div>\n";
1475 1477
1476 // List of votekeys 1478 // List of userkeys
1477 switch ($setVoteKeyMode) 1479 switch ($setUserKeyMode)
1478 { 1480 {
1479 case VOTE_FREELY: 1481 case VOTE_FREELY:
1480 case VOTE_ACTIVATE: 1482 case VOTE_ACTIVATE:
1481 $sql = "SELECT votekeys.*,COUNT(votes.id) AS nvotes FROM votekeys ". 1483 $sql = "SELECT userkeys.*,COUNT(votes.id) AS nvotes FROM userkeys ".
1482 "LEFT JOIN votes ON votes.key_id=votekeys.id ". 1484 "LEFT JOIN votes ON votes.key_id=userkeys.id ".
1483 "GROUP BY votekeys.id ". 1485 "GROUP BY userkeys.id ".
1484 "ORDER BY votekeys.id ASC"; 1486 "ORDER BY userkeys.id ASC";
1485 1487
1486 foreach (stExecSQL($sql) as $item) 1488 foreach (stExecSQL($sql) as $item)
1487 { 1489 {
1488 echo 1490 echo
1489 "<div class=\"".stGetVoteKeyClass($item). 1491 "<div class=\"".stGetUserKeyClass($item).
1490 "\" id=\"vkey".$item["id"]."\">". 1492 "\" id=\"vkey".$item["id"]."\">".
1491 stGetVoteKeyItemData($item["id"], $item, "vk"). 1493 stGetUserKeyItemData($item["id"], $item, "vk").
1492 "</div>\n"; 1494 "</div>\n";
1493 } 1495 }
1494 break; 1496 break;
1495 1497
1496 case VOTE_ASSIGN: 1498 case VOTE_ASSIGN:
1497 $sql = "SELECT votekeys.*,attendees.*,COUNT(votes.id) AS nvotes FROM attendees ". 1499 $sql = "SELECT userkeys.*,attendees.*,COUNT(votes.id) AS nvotes FROM attendees ".
1498 "LEFT JOIN votekeys ON votekeys.id=attendees.key_id ". 1500 "LEFT JOIN userkeys ON userkeys.id=attendees.key_id ".
1499 "LEFT JOIN votes ON votes.key_id=attendees.key_id ". 1501 "LEFT JOIN votes ON votes.key_id=attendees.key_id ".
1500 "GROUP BY votekeys.id ". 1502 "GROUP BY userkeys.id ".
1501 "ORDER BY attendees.regtime DESC"; 1503 "ORDER BY attendees.regtime DESC";
1502 1504
1503 echo 1505 echo
1504 "<table class=\"attendees\">\n". 1506 "<table class=\"attendees\">\n".
1505 " <tr>\n". 1507 " <tr>\n".
1506 " <th class=\"name\">Name</th>\n". 1508 " <th class=\"name\">Name</th>\n".
1507 " <th class=\"groups\">Groups</th>\n". 1509 " <th class=\"groups\">Groups</th>\n".
1508 " <th class=\"vkeynum\">Key #</th>\n". 1510 " <th class=\"vkeynum\">Key #</th>\n".
1509 " <th class=\"vkey\">Votekey</th>\n". 1511 " <th class=\"vkey\">Userkey</th>\n".
1510 " </tr>\n"; 1512 " </tr>\n";
1511 1513
1512 $index = 0; 1514 $index = 0;
1513 foreach (stExecSQL($sql) as $item) 1515 foreach (stExecSQL($sql) as $item)
1514 { 1516 {
1515 echo 1517 echo
1516 " <tr class=\"".stGetVoteKeyClass($item). 1518 " <tr class=\"".stGetUserKeyClass($item).
1517 "\" id=\"vkey".$item["id"]."\">\n". 1519 "\" id=\"vkey".$item["id"]."\">\n".
1518 stGetVoteKeyItemData($item["id"], $item, "vk"). 1520 stGetUserKeyItemData($item["id"], $item, "vk").
1519 " </tr>\n"; 1521 " </tr>\n";
1520 } 1522 }
1521 1523
1522 echo 1524 echo
1523 "</table>\n"; 1525 "</table>\n";
1714 if (($attn = stFetchSQL($sql)) !== false) 1716 if (($attn = stFetchSQL($sql)) !== false)
1715 { 1717 {
1716 $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id); 1718 $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id);
1717 stExecSQLCond($sql, "OK, attendee ".$id." deleted."); 1719 stExecSQLCond($sql, "OK, attendee ".$id." deleted.");
1718 1720
1719 // If assigned votekey mode, delete the key and votes as well 1721 // If assigned userkey mode, delete the key and votes as well
1720 if ($setVoteKeyMode == VOTE_ASSIGN && $attn["key_id"] != 0) 1722 if ($setUserKeyMode == VOTE_ASSIGN && $attn["key_id"] != 0)
1721 { 1723 {
1722 $sql = stPrepareSQL("DELETE FROM votekeys WHERE id=%d", $attn["key_id"]); 1724 $sql = stPrepareSQL("DELETE FROM userkeys WHERE id=%d", $attn["key_id"]);
1723 stExecSQLCond($sql, "OK, attendee ".$id." votekey deleted."); 1725 stExecSQLCond($sql, "OK, attendee ".$id." userkey deleted.");
1724 1726
1725 $sql = stPrepareSQL("DELETE FROM votes WHERE key_id=%d", $attn["key_id"]); 1727 $sql = stPrepareSQL("DELETE FROM votes WHERE key_id=%d", $attn["key_id"]);
1726 stExecSQLCond($sql, "OK, attendee ".$id." votes deleted."); 1728 stExecSQLCond($sql, "OK, attendee ".$id." votes deleted.");
1727 } 1729 }
1728 } 1730 }
1746 "DELETE FROM compos WHERE id=".$id, 1748 "DELETE FROM compos WHERE id=".$id,
1747 "OK, compo ".$id." deleted."); 1749 "OK, compo ".$id." deleted.");
1748 } 1750 }
1749 } 1751 }
1750 else 1752 else
1751 if ($type == "votekeys") 1753 if ($type == "userkeys")
1752 { 1754 {
1753 $sql = stPrepareSQL("DELETE FROM votekeys"); 1755 $sql = stPrepareSQL("DELETE FROM userkeys");
1754 stExecSQLCond($sql, "OK, all votekeys purged"); 1756 stExecSQLCond($sql, "OK, all userkeys purged");
1755 } 1757 }
1756 1758
1757 stDBCommitTransaction(); 1759 stDBCommitTransaction();
1758 break; 1760 break;
1759 1761
1938 } 1940 }
1939 } 1941 }
1940 stDBCommitTransaction(); 1942 stDBCommitTransaction();
1941 break; 1943 break;
1942 1944
1943 case "votekey": 1945 case "userkey":
1944 // 1946 //
1945 // Votekey activation/deactivation handling 1947 // Userkey activation/deactivation handling
1946 // 1948 //
1947 stDBBeginTransaction(); 1949 stDBBeginTransaction();
1948 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data."))) 1950 if (stChkRequestItem("id", $id, array(CHK_TYPE, VT_INT, "Invalid data.")))
1949 { 1951 {
1950 switch ($type) 1952 switch ($type)
1951 { 1953 {
1952 case "assign": 1954 case "assign":
1953 // Check if already assigned to someone .. 1955 // Check if already assigned to someone ..
1954 $key_id = intval(stGetRequestItem("key_id", 0)); 1956 $key_id = intval(stGetRequestItem("key_id", 0));
1955 $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%d", $key_id); 1957 $sql = stPrepareSQL("SELECT * FROM userkeys WHERE id=%d", $key_id);
1956 if (stFetchSQL($sql) === false) 1958 if (stFetchSQL($sql) === false)
1957 stError("Invalid key ID #."); 1959 stError("Invalid key ID #.");
1958 else 1960 else
1959 { 1961 {
1960 $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%d", $key_id); 1962 $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%d", $key_id);
1974 stExecSQLCond($sql, "Assigned key cleared."); 1976 stExecSQLCond($sql, "Assigned key cleared.");
1975 break; 1977 break;
1976 1978
1977 case "active": 1979 case "active":
1978 // Autobots activate! 1980 // Autobots activate!
1979 $sql = stPrepareSQL("UPDATE votekeys SET active=%B WHERE id=%d", "active", $id); 1981 $sql = stPrepareSQL("UPDATE userkeys SET active=%B WHERE id=%d", "active", $id);
1980 stExecSQLCond($sql, "Votekey status changed."); 1982 stExecSQLCond($sql, "Userkey status changed.");
1981 break; 1983 break;
1982 } 1984 }
1983 } 1985 }
1984 stDBCommitTransaction(); 1986 stDBCommitTransaction();
1985 break; 1987 break;