WebsiteBaker Logo
  • *
  • Templates
  • Help
  • Add-ons
  • Download
  • Home
*
Welcome, Guest. Please login or register.

Login with username, password and session length
 

News


WebsiteBaker 2.13.6 is now available!


Will it continue with WB? It goes on! | Geht es mit WB weiter? Es geht weiter!
https://forum.websitebaker.org/index.php/topic,32340.msg226702.html#msg226702


The forum email address board@websitebaker.org is working again
https://forum.websitebaker.org/index.php/topic,32358.0.html


R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WB
https://forum.websitebaker.org/index.php/topic,32355.0.html


* Support WebsiteBaker

Your donations will help to:

  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!

You can donate by clicking on the button below.


  • Home
  • Help
  • Search
  • Login
  • Register

  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.13.x) »
  • Modules »
  • ProCalendar - EventList
  • Print
Pages: [1]   Go Down

Author Topic: ProCalendar - EventList  (Read 1606 times)

Offline FrankHA

  • Posts: 22
  • Marmot
ProCalendar - EventList
« on: June 07, 2025, 05:23:31 PM »
Hallo zusammen,

gibt es eine Möglichkeit nur die Beschreibung eines Termins, die zuvor in ProCalendar erstellt wurde,
auf eine Seite zu bringen. Also ohne den entsprechenden Link zu betätigen.
Vielleicht mit Hilfe des EventList-Droplets ?
Ich bin für jede Hilfe dankbar.  :-)

Danke und Gruß
Frank
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 608
Re: ProCalendar - EventList
« Reply #1 on: June 07, 2025, 06:09:50 PM »
Ich kenne und nutze weder das eine, noch das andere Modul. Mit einem Droplet sollte es aber gehen, abhängig von dem Modul, wo es am Ende dargestellt werden soll.
Der Punkt ist halt, das Ganze funktioniert nur auf dieser Domain, wo beide Module laufen und es wäre die alt bekannte "Todsünde", für die ich von den alten Hasen welche auf die Finger bekommen würde, wenn man Abhängigkeiten zwischen verschiedenen Modulen herstellt  :-D

Nun bin ich aber bei der Lösung keine große Hilfe, weil ich halt kein Nutzer bin.
In der Theorie - als Beispiel: ein Text, der dann die gesuchte Beschreibung einliest und darstellt. Das sollte mit jedem Modul möglich sein, das Droplets erlaubt, also z.b. Wysiwyg, nicht aber News (kein Droplet erlaubt)
Das wäre die einfachste Lösung
Logged

Offline hgs

  • WebsiteBaker Org e.V.
  • **
  • Posts: 1888
    • EFG MG
Re: ProCalendar - EventList
« Reply #2 on: June 07, 2025, 08:22:36 PM »
Schau mal hier-->
Da ist die Liste rechts mit EventList gemacht und natürlich ein bisschen css drumherum.Vieleicht hilft dir das schon weiter.
Eingebunden wird es im mit diesem Aufruf
Code: [Select]
[[eventlist?section_id=55&flags=5&days=14]]wobei die id= die SID vom ProCalendar ist
Logged
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Offline FrankHA

  • Posts: 22
  • Marmot
Re: ProCalendar - EventList
« Reply #3 on: June 07, 2025, 08:23:03 PM »
EventList ist sozusagen in ProCalendar integriert aber ein eigenständige Droplet um Daten entsprechend an anderer Stelle wiederzugebeben.
Ich bin kein PHP-Programmierer und wäre an einer praxisnahen Lösung interesssiert evtl. mit Code-Vorschlag.
Soweit die Module das überhaupt hergeben.
Ich denke aber auch das die Beschreibung aus der Datenbank herausgelesen werden muß um sie an anderer Stelle wiederzugeben.
Vielleicht hat ja igendmande/irgendjemand eine Idee wie das funktionieren kann ?

Danke schon einmal
Frank
Logged

Offline dbs

  • Betatester
  • **
  • Posts: 8917
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: ProCalendar - EventList
« Reply #4 on: June 07, 2025, 09:13:30 PM »
Also rein theoretisch, wenn das Droplet Datum und Titel anzeigen kann, dann sicher auch (nur) die Beschreibung.
Kann jemand das Droplet mal hier als Code posten?
Unklar ist welche Beschreibunbg von welchem Event du eigentlich willst.
Logged
https://onkel-franky.de

Offline FrankHA

  • Posts: 22
  • Marmot
Re: ProCalendar - EventList
« Reply #5 on: June 07, 2025, 09:16:26 PM »
Danke Harald, soweit (ähnlich) habe ich es auch so auf der von mir betreuten Website www.philatelistenverband-norddeutschland.de gehandhabt.
Jetzt möchte ich aber gerne die Beschreibung des Termines der bei Dir nach dem Klick bsw.  auf den 07.06. im mittleren Teil erscheint gleich auf einer Seite
erscheinen lassen ohne vorher etwas anzuklicken.
Der aktuelle Termin/ aktuellen Termine sollen also mit dem Text direkt z.B. beim Aufrufen der Website erscheinen.
Gibt es da eine Möglichkeit ?

Danke und Gruß
Frank
Logged

Offline sternchen8875

  • Global Moderator
  • *****
  • Posts: 608
Re: ProCalendar - EventList
« Reply #6 on: June 08, 2025, 01:19:44 AM »
mal mit Name und Adresse gesprochen:
Ich verstand es anfangs so, das der gewünschte Text außerhalb des ProCalendar angezeigt werden soll. Das wäre mal Variante #1
Nach Lesen eurer Antworten ist es aber auch möglich, das praktisch die Eventliste, die aktuell nur den Titel anzeigt, erweitert werden soll, Variante #2.

Beides wäre möglich, in dem man entweder das Droplet, das aktuell im Einsatz ist, erweitert oder ein neues anfertigt, das nur diesem Zweck dient.
Aber in beiden Fällen braucht es mehr Informationen, was genau es werden soll. Wenn der Link im letzten Post die richtige Adresse ist, haben wir schon mal einen Ansatz.
Wäre es z.b. die Liste der Termine ganz rechts, ist das auch ein Droplet. Dann bräuchte es diesen Droplet-Code, wie dbs schon schrieb, und eine genaue Beschreibung, was da alles mit dabei sein soll.
Logged

Offline hgs

  • WebsiteBaker Org e.V.
  • **
  • Posts: 1888
    • EFG MG
Re: ProCalendar - EventList
« Reply #7 on: June 08, 2025, 09:50:42 AM »
Der ProCalendar selber bietet doch auf der eigendlichen Seite eine Übersicht mit der Kurzbeschreibung unter "Bezeichnung"



Hier die Ausgabe


oder soll der WYSIWYG Inhalt direkt zu sehen sein.



zur Zeit wird dieser ja nur bei jedem Termin nach klick auf den Link in einem extra Fenster angezeigt.
Logged
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Offline hgs

  • WebsiteBaker Org e.V.
  • **
  • Posts: 1888
    • EFG MG
Re: ProCalendar - EventList
« Reply #8 on: June 08, 2025, 09:56:15 AM »
Quote from: dbs on June 07, 2025, 09:13:30 PM
Also rein theoretisch, wenn das Droplet Datum und Titel anzeigen kann, dann sicher auch (nur) die Beschreibung.
Kann jemand das Droplet mal hier als Code posten?
Unklar ist welche Beschreibunbg von welchem Event du eigentlich willst.

So ist es im Modul mitgeliefert und dann auch unter "AdminTools--->Droplets" zu finden

Quote
<?php
//:Shows an event list from ProCalendar
//:usage: [[eventlist?section_id=xx&flags=xx&max=xx&dateformat=xxxxxx&year=xx&month=xx]]
//:parameters:
//:-    section_id     : Section id from procalendar module
//:-                     on default all events of the current month are shown but you can custumize by using flags:
//:-    max (integer)  : limits event list to max items (if no other limit is reached already)
//:-    year (integer) : year of start date
//:-    month (integer): month of start date
//:-    Set dateformat to suit your needs, add timeformat if needed
//:-    dateformat (string): format of date representation as described in
//:-                         http:www.php.net/manual/en/function.date.php#refsect1-function.date-parameters
//:-    flags (integer): kein flag = 0, startnow=1, bTimeEnd=2, bMonthHeading=4
//:-                    (standard=1) flags can be combine
$oReg = bin\WbAdaptor::getInstance();
$database = $oDb = $oReg->getDatabase();
$wb = $oReg->getApplication();
$oTrans = $oReg->getTranslate();
$oTrans->enableAddon('modules\\\procalendar');
if (!defined('PHP_TAB')){define("PHP_TAB", "\t");}
if (!defined('PHP_TAB2')){define("PHP_TAB2", "\t\t");}
if (!defined('PHP_TAB3')){define("PHP_TAB3", "\t\t\t");}
if (!function_exists('fillActionArray')){require(WB_PATH."/modules/procalendar/functions.php");}
$page_id       = 0;
$page_link     = '';
$eventlist     = '';
$sOldMonth     = 0;
$sNewMonth     = 0;

$year          = ((isset($year)  && $year)   ? intval($year)  : date('Y'));
$month         = (int)($month  ?? 1);
$days          = (int)($days ?? 0);
$flags         = (int)($flags ?? 1);
// Set dateformat to suit your needs, add timeformat if needed
$dateformat    = ($dateformat ?? 'd.m H:i'); // Standard php date formats 'd-m-Y'

$startnow      = $flags & 1;   //  BIT #0  = 1
$bTimeEnd      = $flags & 2;   //  BIT #1  = 2
$bMonthHeading = $flags & 4;   //  BIT #2  = 4
$iDateWidth    = ($bTimeEnd ? 140 : 90);
if (isset($year) && $year) {
//    $month = ((isset($month) && empty($month)) ? '1' : $month);
    $t1      = (($year > date('Y')) ? strtotime($year.'-'.$month.'-01') : time());
//    $t1      = strtotime($year.'-'.$month.'-01');
    $t2      = strtotime($year.'-12-31');
    $diff    = (floor(abs($t2-$t1)));
    $divisor = 86400; # a day has 24*60*60 sec
    $days    = isset($days) && $days ? $days : (floor($diff / $divisor));
//    $time = time (); date('Y-n-j',$t2)
//    $part = $time - $time % $divisor;
    $aTimeDiff = [
        'year'=> $year,
        'month'=> $month,
        'act_year'=> date('Y'),
        'start_date'=> date('Y-m-d',$t1),
        'end_date'=> date('Y-m-d',$t2),
        'days'=> $days,
    ];
}
$fixdays    = isset($days);
//$startnow   = isset($startnow)        ? intval($startnow)   : 0;
$max        = isset($max) && $max     ? intval($max)        : 1000;
//$section_id = isset($section_id)      ? intval($section_id) : 0 ;

// Fetch base page link
if ($section_id != 0) {
    $sql  = 'SELECT `p`.`link` FROM `'.TABLE_PREFIX.'sections` `s` '
          . 'INNER JOIN `'.TABLE_PREFIX.'pages` `p` ON (`s`.`page_id` = `p`.`page_id`) '
          . 'WHERE `s`.`section_id` = '.$section_id.' ';
    if (($link = $oDb->get_one($sql))){
      $page_link = $wb->page_link($link);
    }
}

// Set start- and end date for query
$datestart = ($startnow ? date('Y-m-d') : $year.'-'.$month.'-1');
$sParm1    = date('Y-m-d', strtotime("+".($days-1)." day"));
$sParm2    = date('Y-n-j', strtotime($datestart." + ".($days-1)." day"));
$sRequest1 = ("$year-$month-".($days < cal_days_in_month(CAL_GREGORIAN, $month,$year)));
$sParam3   = cal_days_in_month(CAL_GREGORIAN, $month,$year);
$dateend   = ($startnow ? $sParm1 : ($fixdays ? $sParm2 : ($sRequest1 ? $days : $sParam3)));
/*  */
if (isset($archive)) {
    $dateend   = date('Y-n-j');
    $datestart = date('Y-n-j', strtotime(" ".($days-1)." day"));
}
$aDebug = [
        'year' => $year,
        'month' => $month,
        'days' => $days,
        'datestart' => $datestart,
        'dateend' => $dateend,
        'date_start' => date('Y-n-j', strtotime(" ".($days-1)." day")),
        'date_end' => date('Y-n-j'),
    ];
$eventlist .= '<div class="info_body" style="text-align:left;font-family:sans-serif,monospace;">';
// Fetch the items
if (!isset($actions) || (isset($actions) && empty($actions))){
    $actions  = fillActionArray($datestart, $dateend, $section_id);
}
if (is_array($actions) && sizeof($actions)){
    $eventlist .= '<ul class="event-list w3-ul" style="margin-left:0;padding-left:0;list-style-type: none !important;">'.PHP_EOL;
    $sOldMonth = strtotime($datestart);
    $sNewMonth = 0;
    if ($bMonthHeading && ($year) || ($bMonthHeading && (date('m',$sNewMonth) != date('m',$sOldMonth)))){
        $iMonth = date('n',$sOldMonth);
        $sTmpMonat = "monthnames_".$iMonth;
        $sMonthName = $oTrans->$sTmpMonat;
        $eventlist .= '<li class="event-header"><h4>'.$sMonthName.' '.date('Y',$sOldMonth).'</h4></li>'.PHP_EOL;
    }

    foreach($actions as $row){
        if ($max > 0) {
            if (!isset($kat) || (isset($kat) && in_array($row["acttype"], explode(',',$kat)))) {
                $max--;
                $ds = ($row['date_start'].' '.$row['time_start']);
                $de = ($row['date_end']  .' '.$row['time_end']);
                $sNewMonth = strtotime($ds);
                if ($bMonthHeading && (date('m',$sNewMonth) != date('m',$sOldMonth))){
                    $sOldMonth = strtotime($ds);
                    $iMonth = date('n',$sOldMonth);
                    $sTmpMonat = "monthnames_".$iMonth;
                    $sMonthName = $oTrans->$sTmpMonat;
                    $eventlist .= '<li class="event-header"><h4>'.$sMonthName.' '.date('Y',$sOldMonth).'</h4></li>'.PHP_EOL;
                }
                // Build url like : pages/kalendar.php?year=1900&month=01&day=03&id=2&detail=1
                $page_url = $page_link.'?year='.(substr($ds,0,4)).'&month='.(substr($ds,5,2)).'&day='.(substr($ds,8,2)).'&id='.$row['id'].'&amp;detail=1';
                $datetime_start = mktime(substr($ds,11,2),substr($ds,14,2),0,substr($ds,5,2),substr($ds,8,2),substr($ds,0,4));
                $datetime_end   = mktime(substr($de,11,2),substr($de,14,2),0,substr($de,5,2),substr($de,8,2),substr($de,0,4));
                $time_end       = ($bTimeEnd ? ' - '.(substr($de,11,2).':'.substr($de,14,2)) : '');
                $eventlist .= '<li class="eventlist" style="padding:4px 0;">'.PHP_EOL;
                $eventlist .= PHP_TAB.'<div class="w3-display-container">'.PHP_EOL;
                if ($bTimeEnd && ($datetime_start != $datetime_end)) {
                    $eventlist .= PHP_TAB2.'<span style="width:'.$iDateWidth.'px;" class="c_date1 w3-display-topleft" >'.date($dateformat,$datetime_start).' -'.date('H:i',$datetime_end).'</span>'.PHP_EOL;
                } else {
                    $eventlist .= PHP_TAB2.'<span style="width:'.$iDateWidth.'px;" class="c_date2 w3-display-topleft" >'.date($dateformat,$datetime_start).$time_end.'</span>'.PHP_EOL;
                }
                $eventlist .= PHP_TAB.'<span style="margin:0px;display:inline-block;">'.PHP_EOL.PHP_TAB2.'<a href="'.$page_url.'">'.PHP_EOL.PHP_TAB3.'<span class="c_name"><b>'.$row["name"].'</b></span>'.PHP_EOL.PHP_TAB2.'</a>'.PHP_EOL.PHP_TAB.'</span>'.PHP_EOL;
                $eventlist .= PHP_TAB.'</div>'.PHP_EOL;
                if ($row["custom1"]) {
                    $eventlist .= PHP_TAB.'<div class="c_desc">'.$row["custom1"].'</div>'.PHP_EOL;
                }
                $eventlist .= '</li>'.PHP_EOL;
                }
            }
    } // end for
    $eventlist .= '</ul>';
}
return $eventlist .= "</div>";
« Last Edit: June 08, 2025, 02:50:27 PM by dbs »
Logged
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Offline FrankHA

  • Posts: 22
  • Marmot
Re: ProCalendar - EventList
« Reply #9 on: June 08, 2025, 10:58:15 AM »
Genau, nur der WYSIWYG Inhalt soll direkt angezeigt werden,
Bsw. wenn die Website aufgerufen wird auf der entsprechenden Seite.
Der WYSIWYG Inhalt kann z.B. den aktuellen Monat beinhalten.

Es soll aber auch die bisherige Struktur beibehalten werden, sprich
das Hauptmodul ProCalendar und auch das Droplet auf der rechten
Seite.

Danke und Gruß
Frank
Logged

Offline hgs

  • WebsiteBaker Org e.V.
  • **
  • Posts: 1888
    • EFG MG
Re: ProCalendar - EventList
« Reply #10 on: June 09, 2025, 08:08:14 PM »
Da ich "nur Nutzer" bin kann ich dir da leider kein angepasstets Droplet coden.
Aber vielleicht liest ja ein Coder mit, der Lust und Zeit hat.
Logged
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

"Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

Offline dbs

  • Betatester
  • **
  • Posts: 8917
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: ProCalendar - EventList
« Reply #11 on: June 09, 2025, 10:55:02 PM »
Ich muss leider zugeben, dass mir nicht klar ist was du gern wie möchtest.
Aber auf dieser Testseite, auf der Startseite siehst du im Mittelteil unten und in der Sidebar unter dem normalen Droplet, ein Testdroplet mit Datum und Name + Beschreibung. Eine Kopie des normalen Droplets mit kleinen Änderungen.
https://efg-mg.WebsiteBaker.org/
Logged
https://onkel-franky.de

  • Print
Pages: [1]   Go Up
  • WebsiteBaker Community Forum »
  • WebsiteBaker Support (2.13.x) »
  • Modules »
  • ProCalendar - EventList
 

  • SMF 2.0.19 | SMF © 2017, Simple Machines
  • XHTML
  • RSS
  • WAP2