Newsletter KW 30 and the weeks before
This commit is contained in:
@@ -38,10 +38,10 @@ require_once 'events.inc.php';
|
||||
<!-- Table with events-->
|
||||
<?php echo(eventPlaner::getHtmlEventTable(eventPlaner::getComingWkEvents())); ?>
|
||||
|
||||
<h2 id="detailedEventList">Detailansicht kommender Wettkämpfe</h2>
|
||||
<!-- <h2 id="detailedEventList">Detailansicht kommender Wettkämpfe</h2>
|
||||
<?php foreach (eventPlaner::getComingWkEvents() as $event) {
|
||||
echo($event->asHtmlCard());
|
||||
}?>
|
||||
}?> -->
|
||||
</main>
|
||||
<?php } ?>
|
||||
</body>
|
||||
|
||||
@@ -30,20 +30,19 @@
|
||||
<!-- brings its own li -->
|
||||
<?php require_once 'sidenav/loginStatus.php'; ?>
|
||||
<li class="bold">
|
||||
<a class="waves-effect waves-teal" href="/participo">zurück<i
|
||||
class="material-icons">home</i></a>
|
||||
<a class="waves-effect waves-teal" href="/participo">zurück<i class="material-icons">home</i></a>
|
||||
</li>
|
||||
<li class="bold">
|
||||
<a class="waves-effect waves-teal right-align" href="#comingStarts">Liste anstehender Starts<i
|
||||
<a class="waves-effect waves-teal right-align" href="#comingStarts">Starts<i
|
||||
class="material-icons">format_list_bulleted</i></a>
|
||||
</li>
|
||||
<li class="bold">
|
||||
<a class="waves-effect waves-teal right-align" href="#eventList">Liste anstehender Events<i
|
||||
<a class="waves-effect waves-teal right-align" href="#eventList">Events<i
|
||||
class="material-icons">view_list</i></a>
|
||||
</li>
|
||||
<li class="bold">
|
||||
<!-- <li class="bold">
|
||||
<a class="waves-effect waves-teal right-align" href="#detailedEventList">Eventdetails<i
|
||||
class="material-icons">event</i></a>
|
||||
</li>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div><!-- cwsvJudoApps SideNav -->
|
||||
@@ -122,7 +122,7 @@ class Event
|
||||
'<dt>Einschreibefrist</dt>' .
|
||||
'<dd>' . $this->deadline->format('Y-m-d') . '</dd>' .
|
||||
'<dt>Altersklassen</dt>' .
|
||||
'<dd>' . $this->shiai->getAgeClasses() . '</dd>' .
|
||||
'<dd>' . $this->shiai()->getHtmlDescriptiveAgeClasses() . '</dd>' .
|
||||
'</dl>' .
|
||||
'</div>' .
|
||||
'</div>';
|
||||
@@ -135,7 +135,7 @@ class Event
|
||||
'<tr>' .
|
||||
'<td>' . $this->date->format('Y-m-d') . '</td>' .
|
||||
'<td><a href="/participo/events#' . $this->id . '" >' . $shiai->getHtmlName() . '</a></td>' .
|
||||
'<td>' . $shiai->getAgeClasses() . '</td>' .
|
||||
'<td>' . $shiai->getHtmlDescriptiveAgeClasses() . '</td>' .
|
||||
'<td><a class="waves-effect waves-light btn modal-trigger" href="#event-modal-' . $this->id . '"><i class="material-icons">zoom_in</i></a></td>' .
|
||||
'</tr>';
|
||||
}
|
||||
@@ -148,7 +148,6 @@ class Event
|
||||
. $this->shiai->getHtml()
|
||||
. $this->getHtmlStarterStatistic()
|
||||
. $this->getHtmlStarterList();
|
||||
$kids = participo::getKids();
|
||||
$modal .= '<div class="row">';
|
||||
$modal .= '<div class="s12">Deadline zum Eintragen: ' . $this->deadline->format('Y-m-d') . '</div>';
|
||||
|
||||
@@ -157,9 +156,17 @@ class Event
|
||||
(isset($this->deadline) && ($today <= $this->deadline))
|
||||
|| participo::isUserAdmin($userData['id'])
|
||||
) {
|
||||
$kids = participo::getKids();
|
||||
foreach ($kids as $k) {
|
||||
$modal .= $this->getHtmlAddStarterForm($k, ['returnToUrl' => '/participo/events#' . $this->id]);
|
||||
}
|
||||
|
||||
// foreach ($this->shiai()->ageGroups() as $ageClass => $starterList) {
|
||||
// // $modal .= '<h3>' . $ageClass ?? 'keiner Altersklasse zugeordnet' . '</h3>';
|
||||
// foreach ($starterList as $starter) {
|
||||
// $modal .= $this->getHtmlAddStarterForm($k, ['returnToUrl' => '/participo/events#' . $this->id]);
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
$modal .= '<div>Es ist leider zu spät noch jemanden einzutragen!</div>';
|
||||
}
|
||||
@@ -175,6 +182,7 @@ class Event
|
||||
echo($modal);
|
||||
}
|
||||
|
||||
/** Get the list of starters as html list */
|
||||
public function getHtmlStarterList()
|
||||
{
|
||||
$listOfStarter = $this->getStarter();
|
||||
|
||||
@@ -10,7 +10,39 @@ class participo
|
||||
{
|
||||
private static $db = null;
|
||||
private static $message = ['error' => null, 'success' => null, 'notice' => null];
|
||||
|
||||
/** id of session user
|
||||
*
|
||||
* Session user describes the currently logged in user
|
||||
*
|
||||
* @var int>0
|
||||
*/
|
||||
private static $userId = null;
|
||||
private static $sessionUser = null;
|
||||
|
||||
/** get session users id
|
||||
*
|
||||
* if not set so far it is loaded from the session cookies
|
||||
*
|
||||
* @return int id of session user
|
||||
*/
|
||||
public static function getSessionUserId()
|
||||
{
|
||||
if (!isset(self::$userId)) {
|
||||
self::$userId = $_SESSION['user']['userId'] ?? null;
|
||||
}
|
||||
self::$userId = filterId(self::$userId);
|
||||
return self::$userId;
|
||||
}
|
||||
|
||||
/** lazy loading of the session user */
|
||||
public static function sessionUser(bool $forceLoading = true)
|
||||
{
|
||||
if (is_null($sessionUser) || $forceLoading) {
|
||||
self::$sessionUser = User::loadFromDb(self::getSessionUserId());
|
||||
}
|
||||
return self::$sessionUser;
|
||||
}
|
||||
|
||||
/** Returns the current login status
|
||||
*
|
||||
@@ -23,15 +55,6 @@ class participo
|
||||
return (isset($_SESSION) && array_key_exists('login', $_SESSION) && $_SESSION['login'] == true);
|
||||
}
|
||||
|
||||
public static function getSessionUserId()
|
||||
{
|
||||
$userId = null;
|
||||
if (isset($_SESSION) && array_key_exists('user', $_SESSION) && array_key_exists('userId', $_SESSION['user'])) {
|
||||
$userId = $_SESSION['user']['userId'];
|
||||
}
|
||||
return $userId;
|
||||
}
|
||||
|
||||
/** Remove all login data from the session data
|
||||
*
|
||||
* @return void
|
||||
@@ -175,6 +198,11 @@ class participo
|
||||
return self::hasUserAttribute($userId, 'isAdmin');
|
||||
}
|
||||
|
||||
public static function getUserId()
|
||||
{
|
||||
}
|
||||
|
||||
/** get current logged in users kids */
|
||||
public static function getKids($userId = null)
|
||||
{
|
||||
$userId = $userId ?? $_SESSION['user']['userId'] ?? null;
|
||||
@@ -568,6 +596,19 @@ function getHtmlSquareDate($date = null)
|
||||
. '</div>';
|
||||
}
|
||||
|
||||
/** filter_var for a pos int
|
||||
*
|
||||
* check for int; null is default; only values > 0 are excepted
|
||||
*
|
||||
* @param [type] $id
|
||||
* @retval int>0 filtered id
|
||||
* @retval null sth. went wrong
|
||||
* */
|
||||
function filterPosInt($id)
|
||||
{
|
||||
return filter_var($id, FILTER_VALIDATE_INT, ['options' => ['default' => null, 'min_range' => 1]]);
|
||||
}
|
||||
|
||||
/** filter_var for a (db)id
|
||||
*
|
||||
* check for valid id; null is default; only values > 0 are excepted
|
||||
@@ -578,7 +619,7 @@ function getHtmlSquareDate($date = null)
|
||||
*/
|
||||
function filterId($id)
|
||||
{
|
||||
return filter_var($id, FILTER_VALIDATE_INT, ['options' => ['default' => null, 'min_range' => 1]]);
|
||||
return filterPosInt($id);
|
||||
}
|
||||
|
||||
/** filter a variable as count
|
||||
@@ -590,7 +631,7 @@ function filterId($id)
|
||||
* @param integer $min
|
||||
* @return integer the input variable as integer >= 0
|
||||
*/
|
||||
function filterCount($variable, int $min = 0){
|
||||
function filterCount($variable, int $min = 0)
|
||||
{
|
||||
return filter_var($variable, FILTER_VALIDATE_INT, ['options' => ['default' => null, 'min_range' => 1]]);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ class Shiai
|
||||
$this->id = (int) $id;
|
||||
$this->date = DateTime::createFromFormat('Y-m-d', $date);
|
||||
$this->name = $name;
|
||||
$this->ageclasses = $ageclasses;
|
||||
$this->ageclasses = $ageclasses ? self::akListString2jgArray($ageclasses) : null;
|
||||
$this->place = $place;
|
||||
$this->announcementUrl = $announcementUrl;
|
||||
$this->routeUrl = $routeUrl;
|
||||
@@ -99,11 +99,150 @@ class Shiai
|
||||
'<div>' .
|
||||
'<h3>' . $this->getHtmlName() . '</h3>' .
|
||||
'<dl>' .
|
||||
'<dt>Datum:</dt><dd>' . $this->getHtmlDate() . '</dd>' .
|
||||
'<dt>Altersklassen</dt><dd>' . $this->getAgeClasses() . '</dd>' .
|
||||
'<dt>Datum</dt><dd>' . $this->getHtmlDate() . '</dd>' .
|
||||
'<dt>Altersklassen</dt><dd>' . $this->getHtmlDescriptiveAgeClasses() . '</dd>' .
|
||||
'<dt>Ort</dt><dd>' . $this->getPlace() . '</dd>' .
|
||||
'</dl>' .
|
||||
'</div>';
|
||||
return $retHtml;
|
||||
}
|
||||
|
||||
public function getHtmlDescriptiveAgeClasses()
|
||||
{
|
||||
$retList = [];
|
||||
foreach ($this->ageclasses as $ageclass => $years) {
|
||||
$htmlFragment = $ageclass;
|
||||
$years = $years[0];
|
||||
|
||||
if ($years[0] || $years[1]) {
|
||||
$htmlFragment .= '(';
|
||||
if ($years[1]) {
|
||||
$htmlFragment .= strval($years[0]) . '-' . strval($years[1]);
|
||||
} else {
|
||||
$htmlFragment .= '<=' . strval($years[0]);
|
||||
}
|
||||
$htmlFragment .= ')';
|
||||
}
|
||||
$retList[] = $htmlFragment;
|
||||
}
|
||||
return implode(', ', $retList);
|
||||
}
|
||||
|
||||
/** convert a list of age class formatted strings into a list of intervals of years
|
||||
*
|
||||
* @param string $akListString
|
||||
* @param int $year
|
||||
* @return list[array(int,int)] list of tupels with lower/upper bound in date year of the age classes
|
||||
*/
|
||||
private static function akListString2jgArray(string $akListString, int $year = null)
|
||||
{
|
||||
$year = filterPosInt($year) ?? filterPosInt((new DateTime)->format('Y'));
|
||||
$ret = [];
|
||||
foreach (explode(' ', $akListString) as $ak) {
|
||||
$ret[$ak] = self::akString2jgIntervall($ak, $year);
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/** convert age class from formatted string to interval of years
|
||||
*
|
||||
* @param [string] $akString
|
||||
* @param [type] $year
|
||||
* @return array(int,int) [x,y] with x the lower bound and y the upper bound of the age class in years. Both bounds are still included in the interval.
|
||||
*/
|
||||
private static function akString2jgIntervall(string $akString, int $year /*= null*/)
|
||||
{
|
||||
// input sanitation
|
||||
$year = filterPosInt($year) ?? filterPosInt((new DateTime)->format('Y'));
|
||||
|
||||
$ret = [null, null];
|
||||
|
||||
// Matching against the different age class formats
|
||||
// - ..Ux
|
||||
// - Jg.x-y
|
||||
|
||||
// Case Ux
|
||||
$akUmatchString = '/(.*)U(.*)/';
|
||||
|
||||
$matches = [];
|
||||
|
||||
preg_match($akUmatchString, $akString, $matches);
|
||||
// The found match should cover the whole string. Otherwise it isn't applicable.
|
||||
if ($matches[0] == $akString) {
|
||||
// The x in Ux should be a positive integer.
|
||||
$ageLimit = filterPosInt($matches[2]);
|
||||
if ($ageLimit) {
|
||||
$ret[0] = $year - $ageLimit + 1;
|
||||
// lowering the lower bound according to the modifiers
|
||||
if ($matches[1] == '') {
|
||||
$ret[1] = $year - $ageLimit + 2;
|
||||
} elseif ($matches[1] == '-') {
|
||||
$ret[1] = $year - $ageLimit + 3;
|
||||
} elseif ($matches[1] == '--') {
|
||||
$ret[1] = $year - $ageLimit + 4;
|
||||
} elseif (in_array($matches[1], ['<=', '≤', '≤', '≤', '≤'])) {
|
||||
$ret[1] = $year;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
// Case Jg.x-y
|
||||
$akUmatchString = "/Jg\.(.*)\-(.*)/";
|
||||
|
||||
$matches = [];
|
||||
|
||||
preg_match($akUmatchString, $akString, $matches);
|
||||
// The found match should cover the whole string. Otherwise it isn't applicable.
|
||||
|
||||
if ($matches[0] == $akString) {
|
||||
$ret[0] = filterPosInt($matches[1]);
|
||||
$ret[1] = filterPosInt($matches[2]);
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/** grouping users kids by ageGroups
|
||||
*
|
||||
* @return array(ageGroup => list(users in ageGroup))
|
||||
*/
|
||||
public function ageGroups()
|
||||
{
|
||||
$kids = participo::getKids();
|
||||
return self::ageClassGrouping($this->ageclasses, $kids);
|
||||
}
|
||||
|
||||
/** grouping users by given age class
|
||||
*
|
||||
* @param array $ageClassList as array string representation of age class => [lower year bound, upper year bound]
|
||||
* @param array $starterList list of starter (User)
|
||||
* @return array of string representation of age class => array of user in this class
|
||||
*/
|
||||
private static function ageClassGrouping(array $ageClassList, array $starterList)
|
||||
{
|
||||
$grouping = [];
|
||||
foreach ($ageClassList as $ageClass => $yearBoundaries) {
|
||||
$grouping[$ageClass] = [];
|
||||
}
|
||||
$grouping[null] = [];
|
||||
|
||||
foreach ($starterList as $starter) {
|
||||
$startersAgeClass = $starter->yearOfBirth() ? self::getAgeClassFromYear($starter->yearOfBirth(), $ageClassList) : null;
|
||||
array_push($grouping[$startersAgeClass], $starter);
|
||||
}
|
||||
return $grouping;
|
||||
}
|
||||
|
||||
private static function getAgeClassFromYear(int $year, array $ageClassList)
|
||||
{
|
||||
foreach ($ageClassList as $ageClass => $yearBoundaries) {
|
||||
if (($yearBoundaries[0] <= $year) && ($year <= $yearBoundaries[1])) {
|
||||
return $ageClass;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
} // end class shiai
|
||||
|
||||
@@ -22,28 +22,43 @@ class User
|
||||
$this->pwHash = $pwHash;
|
||||
}
|
||||
|
||||
/** return users year of birth as int
|
||||
*
|
||||
* @retval int>=0 on success,
|
||||
* @retval null failure
|
||||
*/
|
||||
public function yearOfBirth()
|
||||
{
|
||||
if (isset($this->dateOfBirth)) {
|
||||
return filterPosInt($this->dateOfBirth->format('Y'));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
////
|
||||
// dbInterface
|
||||
////
|
||||
|
||||
public function addToDb(){
|
||||
public function addToDb()
|
||||
{
|
||||
// if the user has an Id set it has to come from the Db. Hence don't add an User that is already added.
|
||||
if (isset($this->id) || !participo::isUserAdmin()) {
|
||||
return;
|
||||
}
|
||||
$this->id = self::dbInsert(
|
||||
$this->loginName
|
||||
, $this->name
|
||||
, $this->firstName
|
||||
, (isset($this->dateOfBirth))?($this->dateOfBirth->format('Y-m-d')):null
|
||||
, $this->eMail
|
||||
, $this->config
|
||||
, $this->pwHash
|
||||
$this->loginName,
|
||||
$this->name,
|
||||
$this->firstName,
|
||||
(isset($this->dateOfBirth)) ? ($this->dateOfBirth->format('Y-m-d')) : null,
|
||||
$this->eMail,
|
||||
$this->config,
|
||||
$this->pwHash
|
||||
);
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
private static function dbInsert($loginName, $name, $firstName, $dateOfBirth=null, $eMail=null, $config=null, $pwHash=null){
|
||||
private static function dbInsert($loginName, $name, $firstName, $dateOfBirth = null, $eMail = null, $config = null, $pwHash = null)
|
||||
{
|
||||
$query = 'INSERT INTO `' . self::$tableName . '` '
|
||||
. '(loginName, name, vorname, gebDatum, eMail, config, pwHash) '
|
||||
. ' VALUES (:loginName, :name, :vorname, :gebDatum, :eMail, :config, :pwHash);';
|
||||
@@ -81,7 +96,6 @@ class User
|
||||
'pwHash' => PDO::PARAM_STR
|
||||
];
|
||||
|
||||
|
||||
////
|
||||
// html interface
|
||||
////
|
||||
@@ -104,11 +118,11 @@ class User
|
||||
return $form;
|
||||
}
|
||||
|
||||
public static function htmlFormAddUser($options = []){
|
||||
public static function htmlFormAddUser($options = [])
|
||||
{
|
||||
echo(self::getHtmlFormAddUser($options));
|
||||
}
|
||||
|
||||
|
||||
// member variables
|
||||
private $id;
|
||||
private $loginName;
|
||||
@@ -119,6 +133,49 @@ class User
|
||||
private $config;
|
||||
private $pwHash;
|
||||
|
||||
// database member data
|
||||
/** List of ids of the users kids */
|
||||
private $kidIds = null;
|
||||
/** List of users kids */
|
||||
private $kids = null;
|
||||
|
||||
public function kidIds(bool $forceLoading = false)
|
||||
{
|
||||
if (is_null($this->kidIds) || $forceLoading) {
|
||||
$this->kidIds = self::getKidIds($id);
|
||||
}
|
||||
return self::$kidIds;
|
||||
}
|
||||
|
||||
public function kids(bool $forceLoading = false)
|
||||
{
|
||||
if (is_null($this->kids) || $forceLoading) {
|
||||
$this->kids = participo::getKids($this->id);
|
||||
}
|
||||
return $this->kids;
|
||||
}
|
||||
|
||||
private static function getKidIds(int $id)
|
||||
{
|
||||
$response = dbConnector::query(
|
||||
'SELECT * FROM `wkParticipo_Users` WHERE `' . $name . '` = :' . $name,
|
||||
[$name => ['value' => $value, 'data_type' => self::$dbColumns[$name]]]
|
||||
);
|
||||
|
||||
$query = <<<SQL
|
||||
SELECT *
|
||||
FROM `wkParticipo_Users`
|
||||
JOIN `vormundschaft`
|
||||
ON `wkParticipo_Users`.`id` = `vormundschaft`.`kidId`
|
||||
WHERE `vormundschaft`.`userId` = :userId;
|
||||
SQL;
|
||||
$params = [
|
||||
':userId' => ['value' => $userId, 'data_type' => PDO::PARAM_INT]
|
||||
];
|
||||
$response = dbConnector::query($query, $params);
|
||||
return $response;
|
||||
}
|
||||
|
||||
/** Export the User data into an associative array
|
||||
*
|
||||
* @return array associative array representing the user
|
||||
@@ -192,7 +249,9 @@ class User
|
||||
}
|
||||
|
||||
return new User(
|
||||
$member[$columnMappings['id']] ?? null,
|
||||
$member[
|
||||
$columnMappings['id']
|
||||
] ?? null,
|
||||
$member[$columnMappings['loginName']] ?? null,
|
||||
$member[$columnMappings['name']] ?? null,
|
||||
$member[$columnMappings['vorname']] ?? null,
|
||||
@@ -244,7 +303,6 @@ class User
|
||||
if (count($response) != 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return User::fromDbArray($response[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
|
||||
require_once './lib/db.php';
|
||||
require_once './lib/api.php';
|
||||
|
||||
|
||||
require_once $config['basePath'] . '/config/cwsvJudo.config.php';
|
||||
require_once $config['basePath'] . '/config/phpcount.config.php';
|
||||
|
||||
@@ -29,6 +28,7 @@ setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
@@ -54,16 +54,20 @@ setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<nav class="indigo darken-4">cwsvJudo Apps<a class="right top-nav sidenav-trigger waves-effect waves-light hide-on-large-only" href="#" data-target="nav-mobile">
|
||||
<nav class="indigo darken-4">cwsvJudo Apps<a
|
||||
class="right top-nav sidenav-trigger waves-effect waves-light hide-on-large-only" href="#"
|
||||
data-target="nav-mobile">
|
||||
<i class="material-icons">menu</i>
|
||||
</a></nav>
|
||||
<ul class="sidenav sidenav-fixed sidenav-close" id="nav-mobile">
|
||||
<li class="logo">
|
||||
<a style="height:auto;" class="brand-logo" id="logo-container" href="/participo/">
|
||||
<img style="max-width:100%;height:12vh;" class="responsive-img" src="http://cwsvjudo.bplaced.net/ressourcen/graphiken/logos/cwsvJudoLogoWappen.x256.png" />
|
||||
<img style="max-width:100%;height:12vh;" class="responsive-img"
|
||||
src="http://cwsvjudo.bplaced.net/ressourcen/graphiken/logos/cwsvJudoLogoWappen.x256.png" />
|
||||
</a>
|
||||
</li>
|
||||
<li><?php require_once 'sidenav/loginStatus.php'; ?></li>
|
||||
<li><?php require_once 'sidenav/loginStatus.php'; ?>
|
||||
</li>
|
||||
<li class="bold">
|
||||
<a class="waves-effect waves-teal" href="/participo">zurück</a>
|
||||
</li>
|
||||
@@ -98,12 +102,20 @@ if ($_SESSION['login']) {
|
||||
<div style="padding:1%;" class="col s12 m6">
|
||||
<div style="margin:1%;" class="card blue-grey darken-1">
|
||||
<div class="card-content white-text">
|
||||
<span class="card-title"><?php echo($userData['name']); ?>, <?php echo($userData['vorname']); ?></span>
|
||||
<span
|
||||
class="card-title"><?php echo($userData['name']); ?>,
|
||||
<?php echo($userData['vorname']); ?></span>
|
||||
<img style="max-height:10vh;" class="responsive-img" src="images/account.svg" />
|
||||
<dl>
|
||||
<dt>Name</dt><dd><?php echo($userData['name']); ?></dd>
|
||||
<dt>Vorname</dt><dd><?php echo($userData['vorname']); ?></dd>
|
||||
<dt>Email</dt><dd><?php echo($userData['eMail']); ?></dd>
|
||||
<dt>Name</dt>
|
||||
<dd><?php echo($userData['name']); ?>
|
||||
</dd>
|
||||
<dt>Vorname</dt>
|
||||
<dd><?php echo($userData['vorname']); ?>
|
||||
</dd>
|
||||
<dt>Email</dt>
|
||||
<dd><?php echo($userData['eMail']); ?>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
@@ -118,12 +130,17 @@ if ($_SESSION['login']) {
|
||||
<div style="margin:1%;" class="card blue-grey darken-1">
|
||||
<div class="card-content white-text">
|
||||
<span class="card-title">Passwort setzen</span>
|
||||
Im folgenden Formular kann das Passwort geändert werden. Man sollte darauf achten, dass man beim <a href="https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Passwoerter/Umgang/umgang_node.html">Umgang mit Passwörtern</a> die nötige Vorsicht walten lässt.
|
||||
Im folgenden Formular kann das Passwort geändert werden. Man sollte darauf achten, dass man beim
|
||||
<a
|
||||
href="https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Passwoerter/Umgang/umgang_node.html">Umgang
|
||||
mit Passwörtern</a> die nötige Vorsicht walten lässt.
|
||||
<form action="./user" method="post">
|
||||
<input name="action" type="hidden" value="changePassword" />
|
||||
<input name="redirectLocation" type="hidden" value="./user" />
|
||||
<input name="changerId" type="hidden" value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden" value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changerId" type="hidden"
|
||||
value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden"
|
||||
value="<?php echo($userData['id']); ?>" />
|
||||
<fieldset>
|
||||
<legend>Neues Passwort vergeben</legend>
|
||||
<div>
|
||||
@@ -155,36 +172,52 @@ if ($_SESSION['login']) {
|
||||
|
||||
<h2>Berechtigungen</h2>
|
||||
|
||||
<p>Liste der User, für die man meldeberechtigt ist (bzw. Änderungen vornehmen darf). In der Regel ist das das eigene Kind (bei Eltern) oder man selber (bei Volljährigen).</p>
|
||||
<p>Liste der User, für die man meldeberechtigt ist (bzw. Änderungen vornehmen darf). In der Regel ist das das
|
||||
eigene Kind (bei Eltern) oder man selber (bei Volljährigen).</p>
|
||||
<div class="row" id="kidsList">
|
||||
<?php
|
||||
foreach ($usersKids as $kid) { ?>
|
||||
<div style="padding:1%;" class="col s12 m6">
|
||||
<div style="margin:1%;" class="card blue-grey darken-1">
|
||||
<div class="card-content white-text">
|
||||
<span class="card-title"><?php echo($kid['name']); ?>, <?php echo($kid['vorname']); ?></span>
|
||||
<span
|
||||
class="card-title"><?php echo($kid['name']); ?>,
|
||||
<?php echo($kid['vorname']); ?></span>
|
||||
<img style="max-height:10vh;" class="responsive-img" src="images/account.svg" />
|
||||
<dl>
|
||||
<dt>Name</dt><dd><?php echo($kid['name']); ?></dd>
|
||||
<dt>Vorname</dt><dd><?php echo($kid['vorname']); ?></dd>
|
||||
<dt>Geb.datum</dt><dd><?php echo($kid['gebDatum']); ?></dd>
|
||||
<dt>Name</dt>
|
||||
<dd><?php echo($kid['name']); ?>
|
||||
</dd>
|
||||
<dt>Vorname</dt>
|
||||
<dd><?php echo($kid['vorname']); ?>
|
||||
</dd>
|
||||
<dt>Geb.datum</dt>
|
||||
<dd><?php echo($kid['gebDatum']); ?>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<span class="card-title">Passwort</span>
|
||||
<p>Im folgenden Formular kann das Passwort des Kindes gesetzt werden. Damit kann das Kind sich auch in das System einloggen - um z.B. die Wissens-Apps zu benutzen - kann sich aber nicht bei Wettkämpfen anmelden. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben werden. Das neue Passwort muss zweimal blind eingegeben.</p>
|
||||
<p>Im folgenden Formular kann das Passwort des Kindes gesetzt werden. Damit kann das Kind sich auch
|
||||
in das System einloggen - um z.B. die Wissens-Apps zu benutzen - kann sich aber nicht bei
|
||||
Wettkämpfen anmelden. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben
|
||||
werden. Das neue Passwort muss zweimal blind eingegeben.</p>
|
||||
<p>
|
||||
<?php
|
||||
if (($kid['pwHash'] == '') || ($kid['pwHash']) == null) {
|
||||
echo('<p>Derzeit ist kein Passwort gesetzt!</p>');
|
||||
} else {
|
||||
echo('<p>Es ist derzeit ein Passwort gesetzt!</p>'); ?>
|
||||
<p>Es besteht auch die Möglickeit, das Passwort ganz zu entfernen. Man kann sich dann nicht mehr mit diesem Konto einloggen. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben werden.</p>
|
||||
<p>Es besteht auch die Möglickeit, das Passwort ganz zu entfernen. Man kann sich dann nicht mehr mit
|
||||
diesem Konto einloggen. Das eigene Passwort muss dabei noch einmal zur Kontrolle eingegeben
|
||||
werden.</p>
|
||||
<form action="./user" method="post">
|
||||
<input name="action" type="hidden" value="changePassword" />
|
||||
<input name="redirectLocation" type="hidden" value="./user" />
|
||||
<input name="changerId" type="hidden" value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden" value="<?php echo($kid['kidId']); ?>" />
|
||||
<input name="changerId" type="hidden"
|
||||
value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden"
|
||||
value="<?php echo($kid['kidId']); ?>" />
|
||||
<input name="newPassword" type="hidden" value="" />
|
||||
<input name="newPasswordAgain" type="hidden" value="" />
|
||||
<fieldset>
|
||||
@@ -204,8 +237,10 @@ if ($_SESSION['login']) {
|
||||
<form action="./user" method="post">
|
||||
<input name="action" type="hidden" value="changePassword" />
|
||||
<input name="redirectLocation" type="hidden" value="./user" />
|
||||
<input name="changerId" type="hidden" value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden" value="<?php echo($kid['kidId']); ?>" />
|
||||
<input name="changerId" type="hidden"
|
||||
value="<?php echo($userData['id']); ?>" />
|
||||
<input name="changeeId" type="hidden"
|
||||
value="<?php echo($kid['kidId']); ?>" />
|
||||
<fieldset>
|
||||
<legend>Neues Passwort vergeben</legend>
|
||||
<div>
|
||||
@@ -240,4 +275,5 @@ if ($_SESSION['login']) {
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
2
infoZettelOrg/.gitignore
vendored
2
infoZettelOrg/.gitignore
vendored
@@ -1,4 +1,6 @@
|
||||
uploadTouch/*
|
||||
config.yaml
|
||||
|
||||
*.pdf
|
||||
|
||||
Makefile.private
|
||||
|
||||
28
infoZettelOrg/2023-07-06-Sommerferien.md
Normal file
28
infoZettelOrg/2023-07-06-Sommerferien.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: cwsvJudo - Newsletter KW 27
|
||||
---
|
||||
|
||||
# Sommerferien und Co.
|
||||
|
||||
## Training am 12.07. und 14.07.
|
||||
|
||||
Die Trainings nächste Woche (12.07. und 14.07.) werden im Freien stattfinden, da das Dojo anderweitig belegt sein wird.
|
||||
|
||||
## Sportabzeichentraining am 09.07.
|
||||
|
||||
Wegen des Sommercamps wird das Sportabzeichentraining diesen Sonntag (09.07.) leider ausfallen.
|
||||
|
||||
|
||||
## Sommerferien 2023 (10.07.--18.08.)
|
||||
|
||||
Wie immer kann während der Sommerferien wird weiter trainiert werden:
|
||||
|
||||
- Mittwoch 16:00-17:45 Uhr (alle AK)
|
||||
- Freitag 16:00-17:30 Uhr (Kinder/Jugend)
|
||||
- Freitag 17:00-19:15 Uhr (Jugend/EW)
|
||||
|
||||
Das Training wird (abhänging wom Wetter) nach draußen verlegt. Also die Trainingskleidung entsprechend anpassen.
|
||||
|
||||
## Little-Otto-Goshi-Liga
|
||||
|
||||
Gleich in der ersten Schulwoche nach den Ferien - am 27.08.23 - findet die für die U9/U11 die dritte Little-Otto-Goshi-Liga 2023 statt!
|
||||
12
infoZettelOrg/2023-07-18-Sommerlager-Mediasharing.md
Normal file
12
infoZettelOrg/2023-07-18-Sommerlager-Mediasharing.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Sommerlager MediaSharing
|
||||
---
|
||||
|
||||
Hier die Bilder, die während des Sommerlagers gemacht wurden:
|
||||
|
||||
- Link: https://magentacloud.de/s/kzmadt3W5eagf7T
|
||||
- Passwort: 9KaezjK8
|
||||
|
||||
Das Wurzelverzeichnis enthält eine nachbearbeitete Auswahl für die schnelle Diashow. Unter `original-images` finden sich die Originale.
|
||||
|
||||
MsG marko
|
||||
30
infoZettelOrg/2023-07-29-Newsletter-Kw30.md
Normal file
30
infoZettelOrg/2023-07-29-Newsletter-Kw30.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: cwsvJudo - Newsletter KW 30
|
||||
---
|
||||
|
||||
# Newsletter KW 30
|
||||
|
||||
## T-Shirts
|
||||
|
||||
Nach langer Zeit soll es dieses Jahr mal wieder gemeinsame Vereins-T-Shirts geben. Deshalb die Bitte an alle Judoka, mir bis Ende nächster Woche ihre T-Shirt Größen mitzuteilen. Und zwar sowohl als Körpergröße (z.b 128 (cm)) *und* als S/M/L/X.
|
||||
|
||||
## Wettkämpfe
|
||||
|
||||
Nach den Ferien ist bekanntlich vor den Wettkämpfen! Gleich nach den Sommerferien geht es mit den Wettkämpfen weiter:
|
||||
|
||||
- 2023-08-27 [The Little-Otto-Goshi-Liga 2023][wk185] (<=U9, U11)
|
||||
- Meldung mit Gewicht! Kann ich im Dojo nehmen. Wer allerdings in den Ferien voraussichtlich nicht noch einmal kommt, meldet es mir bis 11.07.
|
||||
- 2023-09-02 [3. Auto Gyra Kids Cup][wk195] (U11, U13, ab weiß-gelb)
|
||||
- 2023-09-24 [8. Internationaler AT-Cup Leipzig U13][wk196] (U13)
|
||||
- 2023-10-23 [21. Herbstkrümelrandori][wk197] (Jg.2013--2017)
|
||||
|
||||
Achtung: Da es in letzter Zeit mehrfach vorgekommen ist, dass wir aufgrund zu hoher Teilnehmerzahlen nicht zu den Wettkämpfen anreisen konnten/durften, werde ich unseren vereinsinternen Meldetermin auf eine Woche vor dem eigentlichen Meldeschluss legen. Bitte mit beachten und rechtzeitig im Planer einschreiben.
|
||||
|
||||
Die obigen Links sollten direkt zu den Terminen in unserem Wettkampfkalender führen. *Sie sind personalisiert und eine Woche lang gültig. Sei sollten nicht weiter geteilt werden.*
|
||||
|
||||
|
||||
|
||||
[wk185]: http://cwsvjudo.bplaced.net/participo/events#185
|
||||
[wk195]: http://cwsvjudo.bplaced.net/participo/events#195
|
||||
[wk196]: http://cwsvjudo.bplaced.net/participo/events#196
|
||||
[wk197]: http://cwsvjudo.bplaced.net/participo/events#197
|
||||
30
infoZettelOrg/eMailReceiverLists/ljs.json
Normal file
30
infoZettelOrg/eMailReceiverLists/ljs.json
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"loginName": "marko",
|
||||
"eMail": [
|
||||
"cwsvjudo@arcor.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
"loginName": "elternBrittnacher",
|
||||
"eMail": [
|
||||
"stephanie.brittnacher@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "59",
|
||||
"loginName": "fuchshund",
|
||||
"eMail": [
|
||||
"thomas@blankfuchs.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "94",
|
||||
"loginName": "elternBritvin",
|
||||
"eMail": [
|
||||
"luidmyla60@gmail.com"
|
||||
]
|
||||
}
|
||||
]
|
||||
39
infoZettelOrg/eMailReceiverLists/sommerlager.json
Normal file
39
infoZettelOrg/eMailReceiverLists/sommerlager.json
Normal file
@@ -0,0 +1,39 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"loginName": "marko",
|
||||
"eMail": [
|
||||
"cwsvjudo@arcor.de",
|
||||
"marko.bunzel@arcor.de",
|
||||
"cwsvjudo@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
"loginName": "elternBrittnacher",
|
||||
"eMail": [
|
||||
"stephanie.brittnacher@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "59",
|
||||
"loginName": "fuchshund",
|
||||
"eMail": [
|
||||
"thomas@blankfuchs.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "85",
|
||||
"loginName": "elternGerlach",
|
||||
"eMail": [
|
||||
"manja.bunzel@gmx.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "101",
|
||||
"loginName": "elternKraft",
|
||||
"eMail": [
|
||||
"a-kraft-@gmx.net"
|
||||
]
|
||||
}
|
||||
]
|
||||
30
infoZettelOrg/eMailReceiverLists/stiefel.json
Normal file
30
infoZettelOrg/eMailReceiverLists/stiefel.json
Normal file
@@ -0,0 +1,30 @@
|
||||
[
|
||||
{
|
||||
"id": "1",
|
||||
"loginName": "marko",
|
||||
"eMail": [
|
||||
"cwsvjudo@arcor.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "20",
|
||||
"loginName": "elternBrittnacher",
|
||||
"eMail": [
|
||||
"stephanie.brittnacher@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "59",
|
||||
"loginName": "fuchshund",
|
||||
"eMail": [
|
||||
"thomas@blankfuchs.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "94",
|
||||
"loginName": "elternBritvin",
|
||||
"eMail": [
|
||||
"luidmyla60@gmail.com"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -29,13 +29,6 @@
|
||||
"stephanie.brittnacher@gmail.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "50",
|
||||
"loginName": "elternCuric",
|
||||
"eMail": [
|
||||
"churicnate@yahoo.com"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "59",
|
||||
"loginName": "fuchshund",
|
||||
@@ -120,5 +113,19 @@
|
||||
"eMail": [
|
||||
"jortmans@gmx.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "113",
|
||||
"loginName": "ElternEberlein",
|
||||
"eMail": [
|
||||
"jana.eberlein@yahoo.de"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "115",
|
||||
"loginName": "elternKutschmann",
|
||||
"eMail": [
|
||||
"uwe.schwerdtfeger@uni-dortmund.de"
|
||||
]
|
||||
}
|
||||
]
|
||||
14
infoZettelOrg/wkZettel/2023-05-14-OGL2023-2-MediaSharing.md
Normal file
14
infoZettelOrg/wkZettel/2023-05-14-OGL2023-2-MediaSharing.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: OGL MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Bildern/Videos von der zweiten Otto-Goshi-Liga 2023 zum Sammeln und Tauschen:
|
||||
|
||||
- Link: https://magentacloud.de/s/6cjriA8tZNELDZy
|
||||
- Passwort: 75Z8RZLP
|
||||
|
||||
|
||||
Danke noch mal an alle Kameraleute für ihren Einsatz.
|
||||
|
||||
|
||||
MsG marko
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Stiefelpokal MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Videos der Kämpfe des Stiefelpokales:
|
||||
|
||||
- Link: https://magentacloud.de/s/BNN5dXyHW3X5xtN
|
||||
- Passwort: YNyBrz7G
|
||||
|
||||
|
||||
Mindestens ein Video fehlt mir leider. Wäre schön, wenn das mit hochgeladen werden könnte.
|
||||
|
||||
MsG marko
|
||||
38
infoZettelOrg/wkZettel/2023-06-17-Stiefelpokal.md
Normal file
38
infoZettelOrg/wkZettel/2023-06-17-Stiefelpokal.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Stiefelpokal
|
||||
---
|
||||
|
||||
# 12. Stiefelpokal der Stadt Döbeln
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen: U11, U13
|
||||
- Datum: Samstag, 17.06.2023
|
||||
- Ort: Stadtsporthalle Döbeln/Gymnasium, Straße des Friedens 9, Döbeln 04720 Döbeln
|
||||
- Kontrollwiegen:
|
||||
- U11: 9:15 Uhr
|
||||
- U13: 11:45 Uhr
|
||||
- Um das Gewicht noch korrigieren zu können, wollen wir eine halbe Stunde vor dem Kontrollwiegen in der Halle sein.
|
||||
- Wettkampferöffnung: ca.
|
||||
- U11: 10:00 Uhr
|
||||
- U13: 12:30 Uhr
|
||||
|
||||
## Treffpunkt
|
||||
|
||||
- Ort: Dojo Str. Usti nad Labem 42
|
||||
- Abfahrt: 10:15 Uhr
|
||||
|
||||
## Nicht vergessen
|
||||
|
||||
- *Testnachweis aus der Schule und vom Testzentrum*
|
||||
- Judopass
|
||||
- Judogi (d. h. Jacke, Hose und Gürtel)
|
||||
- *Hallenschuhe* (Auch die Fans!)
|
||||
- Essen/Trinken
|
||||
- Warme Socken und Pullover
|
||||
|
||||
Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans)
|
||||
nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe)
|
||||
mitbringen. Sonst muss in Socken gegangen werden!
|
||||
|
||||
MsG marko
|
||||
12
infoZettelOrg/wkZettel/2023-07-01-LJS-Mediasharing.md
Normal file
12
infoZettelOrg/wkZettel/2023-07-01-LJS-Mediasharing.md
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Landesjugenspiele MediaSharing
|
||||
---
|
||||
|
||||
Hier der Link zu den Videos der Kämpfe der Landesjugendspiele:
|
||||
|
||||
- Link: https://magentacloud.de/s/aiP76sBsgRSgbCS
|
||||
- Passwort: cTNpnx9w
|
||||
|
||||
Wie immer würde ich mich freuen, wenn auch alle anderen ihre gemachten Videos mit hochladen.
|
||||
|
||||
MsG marko
|
||||
36
infoZettelOrg/wkZettel/2023-07-01-LJS.md
Normal file
36
infoZettelOrg/wkZettel/2023-07-01-LJS.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Landesjugendspiele
|
||||
---
|
||||
|
||||
# Landesjugendspiele
|
||||
|
||||
## Wettkampfdaten
|
||||
|
||||
- Altersklassen: U13
|
||||
- Datum: Samstag, 01.07.2023
|
||||
- Ort: Turnhalle des Gymnasiums Pieschen, Erfurter Str. 17, 01127 Dresden
|
||||
- Zeitplan:
|
||||
- PassKontrolle: 9:00-9:20 Uhr
|
||||
- Erwärmung: 9:30 Uhr
|
||||
- Wettkampferöffnung: 10:00 Uhr
|
||||
|
||||
## Treffpunkt
|
||||
|
||||
Ich habe diesmal selber ein Auto zur Verfügung in dem alle Kämpfer und ein Zuschauer mitfahren kann (zur Not geht auf die Rückbank auch noch einer).
|
||||
|
||||
- Ort: Dojo Str. Usti nad Labem 42
|
||||
- Abfahrt: 7:30 Uhr
|
||||
|
||||
## Nicht vergessen
|
||||
|
||||
- Judopass
|
||||
- Judogi (d. h. Jacke, Hose und Gürtel)
|
||||
- *Hallenschuhe* (Auch die Fans!)
|
||||
- Essen/Trinken
|
||||
- Warme Socken und Pullover
|
||||
|
||||
Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans)
|
||||
nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe)
|
||||
mitbringen. Sonst muss in Socken gegangen werden!
|
||||
|
||||
MsG marko
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
include passwords
|
||||
|
||||
|
||||
.PHONY: updateSubmodules
|
||||
updateSubmodules: checkoutSubmodulesDefaultBranches
|
||||
git submodule foreach git pull
|
||||
@@ -18,6 +19,6 @@ buildMaterialize: updateSubmodules
|
||||
./buildMaterialize.sh
|
||||
|
||||
.PHONY: deployMaterialize
|
||||
deployMaterialize: buildMaterialize
|
||||
echo $(ftpPassword)
|
||||
find materialize/dist/ -type f -exec curl -u cwsvjudo:$(ftpPassword) --ftp-create-dirs -T {} ftp://cwsvjudo.bplaced.net/ressourcen/materializeCss/{} \;
|
||||
# deployMaterialize: buildMaterialize
|
||||
deployMaterialize: $(materialiceCssDist)
|
||||
cd materialize/dist/ && find . -type f -exec curl --verbose -u cwsvjudo:$(ftpPassword) --ftp-create-dirs -T {} ftp://cwsvjudo.bplaced.net/www/ressourcen/materializeCss/{} \;
|
||||
@@ -2,4 +2,5 @@
|
||||
|
||||
cd materialize
|
||||
npm install
|
||||
npm audit fix
|
||||
npm run release
|
||||
Submodule submodules/lite-youtube-embed updated: 32f4a55192...be6f03ef53
Submodule submodules/materialize updated: 0ada13a852...bf29da7b2a
Submodule submodules/wkOrg updated: 7e81899f08...3cfd922be7
Reference in New Issue
Block a user