diff --git a/homepage/participo/lib/participoLib/event.php b/homepage/participo/lib/participoLib/event.php
index 89b9a37..7d71195 100644
--- a/homepage/participo/lib/participoLib/event.php
+++ b/homepage/participo/lib/participoLib/event.php
@@ -74,17 +74,17 @@ class Event
}
/** Getter for the linked Shiai
- *
+ *
* - lazy loading: only load if not already loaded (overridable by the $forceLoading param)
*
- * @param boolean $forceLoading if true, the loading is enforced even if there already is a shiai linked
- *
+ * @param boolean $forceLoading if true, the loading is enforced even if there already is a shiai linked
+ *
* @return Shiai reference to the linked Shiai
*/
public function shiai($forceLoading = false)
{
// We want to load if it isn't loaded yet or we want to enforce it. But in either case we need an id to load
- if( (!isset($this->shiai) || $forceLoading) && isset($this->shiaiId) ){
+ if ((!isset($this->shiai) || $forceLoading) && isset($this->shiaiId)) {
$this->shiai = Shiai::loadFromDb($this->shiaiId);
}
return $this->shiai;
@@ -123,7 +123,7 @@ class Event
'
' . $this->deadline->format('Y-m-d') . '' .
'Altersklassen' .
'' . $this->shiai->getAgeClasses() . '' .
- ''.
+ '' .
'' .
'';
}
@@ -150,19 +150,17 @@ class Event
. $this->getHtmlStarterList();
$kids = participo::getKids();
$modal .= '';
- $modal .= '
Deadline zum Eintragen: '.$this->deadline->format('Y-m-d').'
';
-
+ $modal .= '
Deadline zum Eintragen: ' . $this->deadline->format('Y-m-d') . '
';
+
$today = new DateTime();
- if(
+ if (
(isset($this->deadline) && ($today <= $this->deadline))
|| participo::isUserAdmin($userData['id'])
- ){
+ ) {
foreach ($kids as $k) {
- $modal .= $this->getHtmlAddStarterForm($k, ['returnToUrl'=>'/participo/events#' . $this->id]);
+ $modal .= $this->getHtmlAddStarterForm($k, ['returnToUrl' => '/participo/events#' . $this->id]);
}
- }
- else{
-
+ } else {
$modal .= '
Es ist leider zu spät noch jemanden einzutragen!
';
}
$modal .= '
';
@@ -187,7 +185,7 @@ class Event
foreach ($listOfStarter as $start) {
$startingUser = $start->loadStarter();
$starterList .= ''
- . '
' . $startingUser->getName() . ', ' . $startingUser->getFirstname() . ' ('.StartingType::$AsString[$start->getTypeId()].'):
'
+ . '
' . $startingUser->getName() . ', ' . $startingUser->getFirstname() . ' (' . StartingType::$AsString[$start->getTypeId()] . '):
'
. '
' . $start->getHtmlFormRemove() . '
'
. '
';
}
@@ -236,14 +234,21 @@ class Event
return intval($response[0]['starterCount']);
}
- public function getHtmlStarterStatistic(){
+ public function getSeatCount()
+ {
+ return self::getSeatCountOf($this->id);
+ }
+
+ public function getHtmlStarterStatistic()
+ {
$retHtml = '';
- foreach([StartingType::Fighter, StartingType::NoParticipation, StartingType::Audience] as $type){
+ foreach ([StartingType::Fighter, StartingType::NoParticipation, StartingType::Audience] as $type) {
$count = $this->getStarterCount($type);
- if($count > 0){
- $retHtml .= '- '.StartingType::$AsString[$type].'
- '.$count.'
';
+ if ($count > 0) {
+ $retHtml .= '- ' . StartingType::$AsString[$type] . '
- ' . $count . '
';
}
}
+ $retHtml .= '- Mitfahrgelegenheiten
- ' . $this->getSeatCount() . '
';
$retHtml .= '
';
return $retHtml;
}
@@ -266,8 +271,6 @@ class Event
/// Es erfolgt keine Überprüfung der Meldeberechtigung!
public static function addStarter($dbConnection, $starter)
{
- $retMessage = [];
-
$query = 'INSERT INTO `wkParticipo_Starter` (eventId, userId, type) values (:eventId, :userId, :typeId);';
$params = [
':eventId' => ['value' => $starter->getEventId(), 'data_type' => PDO::PARAM_INT],
@@ -278,12 +281,23 @@ class Event
return dbConnector::query($query, $params);
}
+ public static function getSeatCountOf(int $id)
+ {
+ $query = 'SELECT SUM(plaetze) AS sumSeats FROM `cwsvjudo`.`wkParticipo_Fahrten` WHERE eventId = :eventId;';
+ $params = [
+ 'eventId' => ['value' => $id, 'data_type' => PDO::PARAM_INT]
+ ];
+ $response = dbConnector::query($query, $params);
+ $sumSeats = filterCount($response[0]['sumSeats']);
+ return $sumSeats;
+ }
+
public function getHtmlAddStarterForm($user, $options = [])
{
$defaults = [
- 'formClass' =>'card col s12 m6 l3',
- 'inputClass' =>'input-field',
- 'buttonClass'=>'btn'
+ 'formClass' => 'card col s12 m6 l3',
+ 'inputClass' => 'input-field',
+ 'buttonClass' => 'btn'
];
$options = array_merge($defaults, $options);
@@ -292,7 +306,7 @@ class Event
$key = isset($_SESSION['apiKey']) ? $_SESSION['apiKey'] : null;
$form =
- '';
return $form;
diff --git a/homepage/participo/lib/participoLib/ride.php b/homepage/participo/lib/participoLib/ride.php
index 46b9f3f..9d6941e 100644
--- a/homepage/participo/lib/participoLib/ride.php
+++ b/homepage/participo/lib/participoLib/ride.php
@@ -3,145 +3,170 @@
require_once 'participoLib/participo.php';
/** Frame for a variable synced with a db*/
-class PdoCellValue{
- public function __construct(string $name, $value, $type){
- $this->name = $name;
- $this->value = $value;
- $this->type = $type;
- }
- static public function collect(array $row){
- $names = [];
- foreach($row as $entry){
- if(isset($entry->name)){
- $names[] = $entry->name;
- }
- }
- return $names;
- }
- public function value(){return $this->value;}
- public function setValue($value){$this->value = $value;}
- private string $name = null;
- private $value = null;
- private int $data_type = null;
+class PdoCellValue
+{
+ public function __construct(string $name, $value, $type)
+ {
+ $this->name = $name;
+ $this->value = $value;
+ $this->type = $type;
+ }
+
+ public static function collect(array $row)
+ {
+ $names = [];
+ foreach ($row as $entry) {
+ if (isset($entry->name)) {
+ $names[] = $entry->name;
+ }
+ }
+ return $names;
+ }
+
+ public function value()
+ {
+ return $this->value;
+ }
+
+ public function setValue($value)
+ {
+ $this->value = $value;
+ }
+
+ // private member variables
+ private ?string $name = null;
+ private $value = null;
+ private ?int $type = null;
}
-class Ride{
- /** Constructor
- *
- * - filters/sanitizes all inputs
- * - sets all members
- *
- * @param mixed $id setValue for the id
- * @param mixed $eventId setValue for the eventId
- * @param mixed $driverId setValue for the driverId
- * @param mixed $seats setValue for the seats
- * @param string $passengerIds string of comma separated values
- */
- public function __construct($id, $eventId, $driverId, $seats, string $passengerIds){
- $this->id = new PdoCellValue('id', filterId($id), PDO::PARAM_INT);
- $this->eventId = new PdoCellValue('eventId', filterId($eventId), PDO::PARAM_INT);
- $this->driverId = new PdoCellValue('fahrerId', filterId($driverId), PDO::PARAM_INT);
- $this->seats= new PdoCellValue('plaetze', filterCount($seats), PDO::PARAM_INT);
- $this->passengerIds = new PdoCellValue('mitfahrer', filterCsv($passengerIds, filterId), PDO::PARAM_STRING);
- }
+class Ride
+{
+ /** Constructor
+ *
+ * - filters/sanitizes all inputs
+ * - sets all members
+ *
+ * @param mixed $id setValue for the id
+ * @param mixed $eventId setValue for the eventId
+ * @param mixed $driverId setValue for the driverId
+ * @param mixed $seats setValue for the seats
+ * @param string $passengerIds string of comma separated values
+ */
+ public function __construct($id, $eventId, $driverId, $seats, string $passengerIds)
+ {
+ $this->id = new PdoCellValue('id', filterId($id), PDO::PARAM_INT);
+ $this->eventId = new PdoCellValue('eventId', filterId($eventId), PDO::PARAM_INT);
+ $this->driverId = new PdoCellValue('fahrerId', filterId($driverId), PDO::PARAM_INT);
+ $this->seats = new PdoCellValue('plaetze', filterCount($seats), PDO::PARAM_INT);
+ $this->passengerIds = new PdoCellValue('mitfahrer', filterCsv($passengerIds, filterId), PDO::PARAM_STRING);
+ }
- /** parse and sanitize a csvFormatted string */
- function filterCsv(string $list, $callback, string $separator=',', bool $dontTrim = false){
- $list = explode($separator, $list);
- foreach($list as &$element){
- $element = $callback($element);
- if(!$dontTrim){
- $element = trim($element);
- }
- }
- return $list;
- }
+ /** parse and sanitize a csvFormatted string */
+ public function filterCsv(string $list, $callback, string $separator = ',', bool $dontTrim = false)
+ {
+ $list = explode($separator, $list);
+ foreach ($list as &$element) {
+ $element = $callback($element);
+ if (!$dontTrim) {
+ $element = trim($element);
+ }
+ }
+ return $list;
+ }
////
// private functions
////
// DbInterface
- private static $dbName = 'cwsvjudo';
- private static $dbTableName = 'wkParticipo_Fahrten';
- private static $dbFullTableNameString = '`'.$dbName.'`.`'.$dbTableName.'`';
+ private const dbName = 'cwsvjudo';
+ private const dbTableName = 'wkParticipo_Fahrten';
+ private const dbFullTableNameString = '`' . self::dbName . '`.`' . self::dbTableName . '`';
- /** Slice a list of arrays 'horizontal' through a specific key
- *
- * - iterate through a list of arrays and collect the values under a specific key
- * - if the key doesn't exist nothing (not even null) will be collected
- *
- * @param array $array source array
- * @param mixed $key key to collect
- * @return array list of array entries
- */
- function sliceArrayByKey(array $array, $key){
- $sliced = [];
- foreach($array as $entry){
- if(isset($entry[$key])){
- $sliced[] = $entry[$key];
- }
- }
- return $sliced;
- }
+ /** Slice a list of arrays 'horizontal' through a specific key
+ *
+ * - iterate through a list of arrays and collect the values under a specific key
+ * - if the key doesn't exist nothing (not even null) will be collected
+ *
+ * @param array $array source array
+ * @param mixed $key key to collect
+ * @return array list of array entries
+ */
+ public function sliceArrayByKey(array $array, $key)
+ {
+ $sliced = [];
+ foreach ($array as $entry) {
+ if (isset($entry[$key])) {
+ $sliced[] = $entry[$key];
+ }
+ }
+ return $sliced;
+ }
- private static function dbSelect(){}
- private static function dbInsert(array $values){
- $names = [];
- $binds = [];
- $params = [];
- foreach($values as $value){
- $names[] = $value->name;
- $binds[] = ':'.$value->name;
- $params[':'.$value->name] = [
- 'value' => $value->name
- , 'data_type' => $value->type
- ];
- }
+ private static function dbSelect()
+ {
+ }
- $query = 'INSERT INTO '.$dbFullTableNameString.' ('.implode(',', $names).') values ('.implode(',', $binds).');';
+ private static function dbInsert(array $values)
+ {
+ $names = [];
+ $binds = [];
+ $params = [];
+ foreach ($values as $value) {
+ $names[] = $value->name;
+ $binds[] = ':' . $value->name;
+ $params[':' . $value->name] = [
+ 'value' => $value->name, 'data_type' => $value->type
+ ];
+ }
- // @todo remove ignoreErrors again
- // @todo Inserting-Starter-Statement returns false on execution: Why? It seems to succeed!
- $response = dbConnector::query($query, $params, ['ignoreErrors'=>true]);
+ $query = 'INSERT INTO ' . $dbFullTableNameString . ' (' . implode(',', $names) . ') values (' . implode(',', $binds) . ');';
+
+ // @todo remove ignoreErrors again
+ // @todo Inserting-Starter-Statement returns false on execution: Why? It seems to succeed!
+ $response = dbConnector::query($query, $params, ['ignoreErrors' => true]);
return dbConnector::getLastInsertId();
- }
- private static function dbDelete(){}
- private static function dbUpdate(){}
+ }
- private
+ private static function dbDelete()
+ {
+ }
+
+ private static function dbUpdate()
+ {
+ }
////
// private variables
////
- /** Unique Identifier for the Ride
- *
- * @var int > 0
- */
- private $id=null;
- /** Id of the event for the ride
- *
- * @var int > 0
- */
- private $eventId = null;
- /** Id of the user who offered the drive
- *
- * @var int > 0
- */
- private $driverId = null;
- /** number of seats the drive offers
- *
- * @var int > 0
- */
- private $seats = null;
- /** List of Ids of the users this ride chauffeurs
- *
- * @var array(int > 0)
- */
- private $passengerIds = null;
+ /** Unique Identifier for the Ride
+ *
+ * @var int > 0
+ */
+ private $id = null;
+ /** Id of the event for the ride
+ *
+ * @var int > 0
+ */
+ private $eventId = null;
+ /** Id of the user who offered the drive
+ *
+ * @var int > 0
+ */
+ private $driverId = null;
+ /** number of seats the drive offers
+ *
+ * @var int > 0
+ */
+ private $seats = null;
+ /** List of Ids of the users this ride chauffeurs
+ *
+ * @var array(int > 0)
+ */
+ private $passengerIds = null;
- private $event = null;
- private $driver = null;
- private $passengers = null;
-}
\ No newline at end of file
+ private $event = null;
+ private $driver = null;
+ private $passengers = null;
+}
diff --git a/homepage/participo/lib/participoLib/shiai.php b/homepage/participo/lib/participoLib/shiai.php
index 8d11037..bf685df 100644
--- a/homepage/participo/lib/participoLib/shiai.php
+++ b/homepage/participo/lib/participoLib/shiai.php
@@ -98,7 +98,7 @@ class Shiai
$retHtml =
'' .
'
' . $this->getHtmlName() . '
' .
- '
' .
+ ''.
'- Datum:
- ' . $this->getHtmlDate() . '
' .
'- Altersklassen
- ' . $this->getAgeClasses() . '
' .
'- Ort
- ' . $this->getPlace() . '
' .