Sophie: PHP Kalender für Termine

0 46

PHP Kalender für Termine

Sophie
  • php
  1. 0
    dedlfix
    1. 0
      Sophie
      1. 0
        dedlfix
        1. 0
          Sophie
          1. 0
            Matthias Apsel
            1. 0
              Sophie
              1. 1
                Regina Schaukrug
                1. 0
                  Sophie
                  1. 2
                    Regina Schaukrug
                    1. 0
                      Sophie
                      1. 0
                        Regina Schaukrug
        2. 0
          Felix Riesterer
          1. 0
            dedlfix
            1. 0
              Felix Riesterer
              1. 0
                dedlfix
            2. 0
              Sophie
              1. 1
                dedlfix
                1. 0
                  Sophie
                  1. 2
                    MudGuard
                    • menschelei
              2. 1
                Regina Schaukrug
                1. 0
                  Sophie
                  1. 0
                    dedlfix
          2. 0
            Christian Kruse
            1. 4
              dedlfix
              • menschelei
              1. 1
                Christian Kruse
                • php
            2. 0
              Sophie
              1. 3
                dedlfix
                1. 0
                  Sophie
                  1. 0
                    Matthias Apsel
                    • selfhtml
                    1. 0
                      Tabellenkalk
                    2. 0

                      Doch. Hier gibt es Hilfe gegen Geld.

                      Regina Schaukrug
                      1. 0
                        Matthias Apsel
                        1. 0
                          Regina Schaukrug
                          • todos
  2. 0
    Felix Riesterer
  3. 0

    getcomposer

    Sophie
    1. 0
      dedlfix
      1. 0
        Sophie
        1. 0
          dedlfix
          1. 0

            Fehlerhafter Kalender

            Sophie
            1. 2
              dedlfix
              1. 0

                Jepp!

                Regina Schaukrug
                • sonstiges
              2. 0
                Sophie
                1. 0
                  dedlfix
                  1. 0
                    Regina Schaukrug
            2. 0
              Tabellenkalk

Hallo,

ich suche so einen Kalender für meine Webseite:
https://github.com/tlkshadow/example_calendar
http://example-calendar.marcel-domke.de/

bekomme den oben genannten Kalender nicht zum laufen. Es erscheint

Warning: include(/vendor/autoload.php): failed to open stream: No such file or directory in /www/bootstrap.php on line 4

Diese Datei gibt es auf github im Projekt nicht. Außerdem wird nicht erklärt, wie ich ein Termin eingefügt bekomme, wie hier angezeigt: http://example-calendar.marcel-domke.de/

Ich denke es hat etwas mit der bootstrap.php zu tun

$calendar->addAppointment(new DateTime('-2 week'), 'Ein Termin');

Kennt jemand ein anderes einfacheres Script welches ich verwenden kann? Sollte in etwas aussehen wie oben gezeigt?

  1. Tach!

    bekomme den oben genannten Kalender nicht zum laufen. Es erscheint

    Warning: include(/vendor/autoload.php): failed to open stream: No such file or directory in /www/bootstrap.php on line 4

    Diese Datei gibt es auf github im Projekt nicht.

    Die wird mit dem Ausführen des Composers-Kommandos besorgt. Da steht gleich als erstes, dass man den Composer starten soll. Dass der Composer selbst als Voraussetzung erstmal besorgt werden muss, steht da nicht, aber Composer ist kein ganz unbekanntes Projekt mehr, und der Autor hat wohl das Wissen darum vorausgesetzt. Also hol die den Composer, befrag das Internet, wie das geht, lass ihn wie angegeben laufen und alles wird gut.

    dedlfix.

    1. Nein, es wird gar nichts gut. Ich darf bei meinem Provider nichts auf dem Server installieren. Deshalb meine Frage ob jemand noch einen ähnlichen Kalender kennt.

      1. Tach!

        Nein, es wird gar nichts gut. Ich darf bei meinem Provider nichts auf dem Server installieren. Deshalb meine Frage ob jemand noch einen ähnlichen Kalender kennt.

        Du kannst dir auch einen eigenen Server aufsetzen, XAMPP tut es zum Beispiel, und den Composer dort laufen lassen. Die fertige Dateistruktur kannst du hochladen und es muss laufen.

        dedlfix.

        1. AHA! Fremde Software wo ich keine Ahnung habe was sie tut werde ich mir gewiss nicht installieren. Dazu sind auf meinem Rechner viel zu wichtige Dateien. Deshalb auch die Frage ob es etwas einfacheres gibt.

          1. Hallo Sophie,

            AHA! Fremde Software wo ich keine Ahnung habe was sie tut werde ich mir gewiss nicht installieren. Dazu sind auf meinem Rechner viel zu wichtige Dateien.

            Aha. Das trifft auf Marcel Domkes Kalender nicht zu?

            Bis demnächst
            Matthias

            --
            Rosen sind rot.
            1. Nein, weil das auf einem Server läuft. Damit habe ich nichts zu tun. Dafür sind Administratoren da. Aber lokal auf meinem Rechner installiere ich nichts wovon ich keine Ahnung habe.

              1. Dafür sind Administratoren da.

                Dann ist die Installation von composer & Co. ggf. auch deren Job. Maile den Damen und Herren folgenden Link:

                https://getcomposer.org/doc/00-intro.md

                Nein, weil das auf einem Server läuft. ... Aber lokal auf meinem Rechner installiere ich nichts wovon ich keine Ahnung habe.

                Aber auf einem Webserver? Wow! Außer Datenbankpasswörtern und Daten aus geschlossenen Bereichen gibt es da ja nichts zu holen und ein regelmäßiges Defacement der Firmenwebseite ist Werbung, weil man damit in die Nachrichten, Twitter und Facebook kommt. Ebenso wenn der Server auch ein paar Dinge für Dritte erledigt (Spam und Würmer verteilen oder als Command-Server in der Infrastruktur Krimineller zu dienen).

                Aber lokal auf meinem Rechner installiere ich nichts wovon ich keine Ahnung habe.

                Natürlich ist das ein Problem. Aber wenn Du Webseiten baust und dabei php benutzt dann solltest Du wenigstens einen ssh-Zugang (für Putty, WinSCP und dergleichen) zum Server haben.

                Virtuelle Maschinen für Deinen Rechner (z.B. mit VMWare Player, Virtual Host) sind kostenlos. Bringe auf denen ein Linux zu Laufen, installiere einen SSH-Server (wenn nicht automatisch geschehen) Webserver, PHP, MySQL... welche PHP-Bibliotheken der Hoster zur Verfügung stellt zeigt Dir ein Miniskript, welches dann aber nicht für jeden abrufbar sein sollte:

                <?php phpinfo(); ?>
                

                Je nach "Fremdwortanteil" wird Zeit fürs Lernen oder Geld für externe Hilfe absolut notwendig sein.

                Außerdem wird nicht erklärt, wie ich ein Termin eingefügt bekomme,

                Der vorgestellte "Kalender" gibt nur Daten aus, kümmert sich insbesondere gar nicht um das "rein-raus" der Termine. Geliefert wird nur das Rezept um die Daten in das Kalenderobjekt zu bekommen. Du müsstest also in der index.php für jeden Termin folgendes ausführen:

                  $calendar->addAppointment(
                        new DateTime('now'), 
                        'Ein Termin'
                 );
                

                Also etwas wie das hier veranstalten:

                $Termine = array();
                $Termine[] = array('2017-01-05', 'Erster Mai');
                $Termine[] = array('2017-12-24', 'Heiligabend');
                $Termine[] = array('2018-01-01T00:00:00', 'Neujahr');
                
                foreach ( $Termine as $termin ) {
                    $calendar->addAppointment( new DateTime( $termin[0] ), $termin[1] );
                }
                

                DateTime ist hier dokumentiert.

                Ich bin mir irgendwie nicht ganz sicher, ob Du diesen "Kalender" jetzt noch willst.

                Was mit @dedlfix momentan los ist kann ich Dir nicht sagen, eigentlich ist er einer der liebsten, klügsten und besten.

                @Felix Riesterer :

                Auf einem Shared Webhosting Konto dürfte das Ausführen des Composers wie von Sophie richtig beobachtet unmöglich sein...

                Jein. Der composer ist in PHP geschrieben. Hat man einen ssh-Zugang geht es einfach, ohne diesen geht es auch mit ein wenig "Budenzauber". Allerdings sollte man dann einen nicht für die Öffentlichkeit abrufbaren Bereich haben.

                1. Doch, ich möchte den Kalender noch haben. Mir war auch klar wie ich die Termine ausgebe, dieses geschieht in der bootstrap.php. Auch das Auslesen von Daten aus einer Datenbank macht mir keine Probleme. Mir macht nur Probleme diesen Kalender zum laufen zu bringen.

                  Ich kann leider keine zwei Systeme auf meinem Rechner laufen lassen. Hab nur 4GB an Speicher. Windows 10 frisst schon so viel dass ich kaum ein anderes Programm vernünftig öffnen kann.

                  Hab dieses Hosting-Paket: https://all-inkl.com/webhosting/privatplus/

                  1. Hab nur 4GB an Speicher. Windows 10 frisst schon so viel dass ich kaum ein anderes Programm vernünftig öffnen kann.

                    Speicher kostet fast nichts. Im übrigen reichen der virtuellen Maschine mit Linux und dem Webserver schon 512 MB Arbeitsspeicher und 2 GB "Festplatte".

                    Hab dieses Hosting-Paket.

                    Ups. 7,95€ Ocken im Monat und kein ssh. Dafür aber 100GB, 1000 Mailadressen, 25 MySQL-Datenbanken, das unsinnige "Catch All" und "WebFtp". Du hast Dich verkauft. Es gibt weitaus sinnvollere Angebote.

                    1. Speicher kostet fast nichts. Im übrigen reichen der virtuellen Maschine mit Linux und dem Webserver schon 512 MB Arbeitsspeicher und 2 GB "Festplatte".

                      Doch, wenn man ihn einbauen lassen muss, da ich nur ein Laptop besitze. Und was hätte mir das gebracht wenn ich jetzt Linux am laufen gehabt hätte? Dann hätte ich müssen dieses Teil doch auch installieren?

                      1. Und was hätte mir das gebracht wenn ich jetzt Linux am laufen gehabt hätte?

                        Virtuelle Maschinen brauchen kein Blech. Man kann solche man starten, anhalten, rebooten, zurücksetzen, kopieren, betreiben, löschen ... Das macht das Arbeiten angstfrei. Zudem läuft Dein Webauftritt unter Linux. Ab und an ist es eine gute Idee, notwendige Tests mit einem System zu fahren, das dem System, auf dem der Produktivbetrieb erfolgen soll, möglichst ähnlich ist.

                        Weiterer Vorteil: Virtuelle Maschinen sind, jedenfalls jenseits irgendwelcher speziellen Maßnahmen, aus dem Netz nicht erreichbar - oft nur vom Hostrechner (den nennen viele "Blech") und Geschwistern (weiteren virtuellen Maschinen auf dem selben Blech) aus.

                        Speicher kostet fast nichts. Doch, wenn man ihn einbauen lassen muss, da ich nur ein Laptop besitze.

                        Wenn es ein gutes ist, dann ist der Speicher unter einer eigenen Klappe und die Einbauanleitung gibt es vom Hersteller. Darüber hinaus habe ich erst neulich ein T530 mit 250er SSD und 16GB Speicher für 400 Euro gekauft. "Refurbished". Allerdings hat sich da der Händler wohl im Preis vertan.

                        Statt einer virtuellen Maschine tut es vielleicht auch ein Raspi. Ohne Netzteil (ist vielleicht wg. Smartphone schon vorhanden...), Gehäuse und anderen Stuff ca. 35 Euro. Kühler (ca. 3 Euro) würde ich aber empfehlen.

        2. Lieber dedlfix,

          Du kannst dir auch einen eigenen Server aufsetzen, XAMPP

          warum kann der Autor nicht eine lauffähige Version bereitstellen? Es ist eine völlig andere Komplexität, den Inhalt einer ZIP-Datei auf den eigenen Webspace hochzuladen, als eine Composer-Instanz auf einem eigens dafür eingerichteten Testsystem zu installieren. Auf einem Shared Webhosting Konto dürfte das Ausführen des Composers wie von Sophie richtig beobachtet unmöglich sein...

          Liebe Grüße,

          Felix Riesterer.

          1. Tach!

            Du kannst dir auch einen eigenen Server aufsetzen, XAMPP

            warum kann der Autor nicht eine lauffähige Version bereitstellen?

            Wegen der Abhängigkeiten. Er müsste dann ständig hinterher sein, die verwendeten Pakete aktuell zu halten und immer neue eigene Pakete schnüren, wenn sich Änderungen an diesen Drittkomponenten ergeben. Diese Arbeit nehmen einem Programme wie Composer und das damit angesprochenen Repository ab.

            Es ist eine völlig andere Komplexität, den Inhalt einer ZIP-Datei auf den eigenen Webspace hochzuladen, als eine Composer-Instanz auf einem eigens dafür eingerichteten Testsystem zu installieren.

            Wenn man kein Testsystem hat, ist das ärgerlich. Sich zu weigern, ein solches aufzusetzen, ist nun nicht mein Problem. Jeder muss selbst dafür sorgen, dass die Arbeitsumgebung für das angestrebte Ziel ausreicht oder wie man mit selbst auferlegten Beschränkungen zurechtkommt.

            Der Composer als solcher wird - installiertes PHP vorausgesetzt - mit einem einzelnen Befehl geladen und installiert. Das Installieren der Abhängigkeiten ist mit einem weiteren erledigt.

            Anschließend hat man nicht nur die Abhängigkeiten für den einen Kalender geklärt, man hat nun auch Zugriff auf viele weitere Dinge in dem vom Composer verwendeten Repository. Ziel beim Softwareentwickeln, vor allem auch im professionellen Umfeld, ist es, voranzukommen und nicht die Räder neu zu erfinden, die andere schon erfunden haben. Und sich auch nicht damit abplagen zu müssen, die individuellen Gegebenheiten der verwendeten Software zu erkunden. Deswegen gibt es solcherart Paketverwaltung, die es vereinfachen/vereinheitlichen, die Pakete zu instalieren, zu warten und auch anzusprechen.

            Auf einem Shared Webhosting Konto dürfte das Ausführen des Composers wie von Sophie richtig beobachtet unmöglich sein...

            Dann muss man halt andere Wege finden, wenn man da nur ein günstiges Webhosting genommen hat.

            dedlfix.

            1. Lieber dedlfix,

              warum kann der Autor nicht eine lauffähige Version bereitstellen?

              Wegen der Abhängigkeiten.

              moment! Wir reden von einer lauffähigen Demo! Das könnte man auch als Snapshot oder live-Installation oder wie auch immer nennen. Änderungen in Paketen kümmern in diesem Fall nicht, denn die Pakete werden nicht verändert - weil eben eine lauffähige Demo.

              Er müsste dann ständig hinterher sein, die verwendeten Pakete aktuell zu halten und immer neue eigene Pakete schnüren, wenn sich Änderungen an diesen Drittkomponenten ergeben.

              Nein, das müsste ein Seitenbetreiber, der diese Software einsetzt und sie aus Sicherheitsgründen aktuell halten möchte. Das ist ein Unterschied!

              Diese Arbeit nehmen einem Programme wie Composer und das damit angesprochenen Repository ab.

              Der Sinn hinter Composer steht nicht infrage. Aber für eine lauffähige Demo...

              Wenn man kein Testsystem hat, ist das ärgerlich. Sich zu weigern, ein solches aufzusetzen, ist nun nicht mein Problem. Jeder muss selbst dafür sorgen, dass die Arbeitsumgebung für das angestrebte Ziel ausreicht oder wie man mit selbst auferlegten Beschränkungen zurechtkommt.

              Dann konntest Du Sophie eben nicht helfen. Schon klar.

              Anschließend hat man nicht nur die Abhängigkeiten für den einen Kalender geklärt, man hat nun auch Zugriff auf viele weitere Dinge in dem vom Composer verwendeten Repository.

              Wenn nun Sophie aber nur diesen Kalender nutzen möchte, ohne andere Komponenten aus dem Composer-Repository? Sie will wirklich nur(!) den Kalender zum Laufen bringen.

              Ziel beim Softwareentwickeln, vor allem auch im professionellen Umfeld, ist es, voranzukommen und nicht die Räder neu zu erfinden, die andere schon erfunden haben.

              Und Sophie wollte keine Software entwickeln, sondern bereits entwickelte Software installieren und anwenden. Da sie offensichtlich nicht aus dem Entwickler-Umfeld kommt, ist das Einrichten eines Testsystems zuviel verlangt, nur um mal eben eine lauffähige Version dieses Kalenders zu erstellen. Da hätte es ein ZIP-File mit allen notwendigen Zutaten wirklich auch getan. Und selbst wenn alle darin enthaltenen Pakete inklusive dem Composer selbst gnadenlos veraltet sind - was kümmert das Sophie? Sie will doch nur den Kalender nutzen...

              Dann muss man halt andere Wege finden, wenn man da nur ein günstiges Webhosting genommen hat.

              Ich erlebe Dich sonst hilfreicher.

              Liebe Grüße,

              Felix Riesterer.

              1. Tach!

                warum kann der Autor nicht eine lauffähige Version bereitstellen?

                Wegen der Abhängigkeiten.

                moment! Wir reden von einer lauffähigen Demo!

                Ach, davon war bis jetzt aber nicht die Rede. Und eine lauffähige Demo existiert zu Anschauen auf einer Website. Warum sollte eine solche auch noch downloadbar sein? Noch dazu wenn die gesamte Komponente frei verfügbar ist und problemlos probiert werden kann (wenn man bereit ist, die Voraussetzungen zu schaffen)?

                Das könnte man auch als Snapshot oder live-Installation oder wie auch immer nennen.

                Was ist der Unterschied zwischen einer lauffähigen Demo und einer lauffähigen einsetzbaren Version?

                Änderungen in Paketen kümmern in diesem Fall nicht, denn die Pakete werden nicht verändert - weil eben eine lauffähige Demo.

                Eine lauffähige Demo mit Sicherheitslücken ist auch kaputt und benötigt die Erstellung eines neuen Paketes. Besonders kaputt sind lauffähige nicht aktualisierte Demos im Produktiveinsatz.

                Er müsste dann ständig hinterher sein, die verwendeten Pakete aktuell zu halten und immer neue eigene Pakete schnüren, wenn sich Änderungen an diesen Drittkomponenten ergeben.

                Nein, das müsste ein Seitenbetreiber, der diese Software einsetzt und sie aus Sicherheitsgründen aktuell halten möchte. Das ist ein Unterschied!

                Wenn der Autor ein Komplettpaket anbietet, ist es auch die Aufgabe des Autors, die Komponenten darin aktuell zu halten. Zusätzlich zu der Aufgabe des Seitenbetreibers, diese Aktualisierungen in seinem System einzuspielen.

                Diese Arbeit nehmen einem Programme wie Composer und das damit angesprochenen Repository ab.

                Der Sinn hinter Composer steht nicht infrage. Aber für eine lauffähige Demo...

                Die bis eben kein Gegenstand der Diskussion war.

                Anschließend hat man nicht nur die Abhängigkeiten für den einen Kalender geklärt, man hat nun auch Zugriff auf viele weitere Dinge in dem vom Composer verwendeten Repository.

                Wenn nun Sophie aber nur diesen Kalender nutzen möchte, ohne andere Komponenten aus dem Composer-Repository? Sie will wirklich nur(!) den Kalender zum Laufen bringen.

                Dann nutzt sie eben keine anderen Komponenten daraus. War ja nur ein Beispiel, was man damit noch anstellen kann.

                Dann muss man halt andere Wege finden, wenn man da nur ein günstiges Webhosting genommen hat.

                Ich erlebe Dich sonst hilfreicher.

                Ja, dann merke ich aber auch das Mitarbeitenwollen auf Seiten des Probleminhabers. Du hättest meinen Rückzug vermutlich gar nicht bemerkt, wenn ich nicht auf dein Posting geantwortet hätte.

                Außerdem gibt es ja einen Weg zur Lösung, nur fällt der wegen Befindlichkeiten aus. Hätte ich das Gesamtpaket schnüren und bereitstellen sollen?

                dedlfix.

            2. Dann muss man halt andere Wege finden, wenn man da nur ein günstiges Webhosting genommen hat.

              Sorry das ist eine sehr dumme Antwort. Darüber könnte ich mich schon wieder aufregen. Ich soll also nach deiner Meinung ein richtigen Server mieten um einen Kalender ans laufen zu bekommen wo ich Monatlich knapp 80,00 € bezahlen muss? Außerdem muss man Root Server auch pflegen, was ich absolut nicht kann. Wenn dieses mein Hoster übernehmen soll zahle ich pro 1/4 Stunde 125 €. Super!

              Auf solche Vorschläge kann man echt verzichten. Da sieht man mal deine Arroganz gegenüber Anfängern. Das erlebe ich bei euch Entwicklern leider immer öfters. Einfach ......

              1. Tach!

                Dann muss man halt andere Wege finden, wenn man da nur ein günstiges Webhosting genommen hat.

                Sorry das ist eine sehr dumme Antwort. Darüber könnte ich mich schon wieder aufregen. Ich soll also nach deiner Meinung ein richtigen Server mieten um einen Kalender ans laufen zu bekommen wo ich Monatlich knapp 80,00 € bezahlen muss? Außerdem muss man Root Server auch pflegen, was ich absolut nicht kann. Wenn dieses mein Hoster übernehmen soll zahle ich pro 1/4 Stunde 125 €. Super!

                Danke für die Bewertung. Aber das habe ich nicht gemeint. Mein Alternativvorschlag war, sich ein Testsystem kostenlos aufzusetzen. Aber abgesehen vom Aspekt der Pflege gibt es Server auch für einen niedrigen einstelligen Bereich zu mieten, preislich also in der Nähe der Kosten für Webhosting.

                Auf solche Vorschläge kann man echt verzichten. Da sieht man mal deine Arroganz gegenüber Anfängern. Das erlebe ich bei euch Entwicklern leider immer öfters. Einfach ...…

                Natürlich, man schlägt alle Vorschläge aus und bezichtigt dann den anderen der Arroganz. So findet man Lösungen ...

                dedlfix.

                1. Natürlich, man schlägt alle Vorschläge aus und bezichtigt dann den anderen der Arroganz. So findet man Lösungen ...

                  Und ich habe dir mehrfach gesagt dass ich keine Software auf meinem Rechner installiere von der ich nicht weiß was sie macht und was sie im schlimmsten Fall von meinem System ausspioniert. Außerdem ist mein englisch nicht gerade das beste um alles zu verstehen.

                  1. Hi,

                    Und ich habe dir mehrfach gesagt dass ich keine Software auf meinem Rechner installiere von der ich nicht weiß was sie macht und was sie im schlimmsten Fall von meinem System ausspioniert.

                    Oh - Du hast einen Rechner ohne Betriebssystem?

                    cu,
                    Andreas a/k/a MudGuard

              2. Sorry das ist eine sehr dumme Antwort.

                Nein. Da ist es nicht. Wer einen Trabbi kauft muss den eben teuer mit der Bahn verladen wenn er mit 180 Sachen gen Italien düsen will.

                Wenn dieses mein Hoster übernehmen soll zahle ich pro 1/4 Stunde 125 €. Super!

                Wow. Diese Preise sind aus Sicht des Dienstleisters wirklich super. Aber auch wenn die mir hoch erscheinen so gilt doch, dass Du hier etwas erlangen willst, was allerhand Geld wert ist. Also wenn ich von jemanden etwas wöllte, was derart wertvoll ist, dann würde ich sehr genau schauen, dass ich den nicht:

                • nerve
                • anfinse

                Deinen "Ton" kann man schon so wahrnehmen, dass man den als "nerviges anfinsen" begreift.

                Und ich würde alles vermeiden, was den Eindruck erweckt, dass ich nur fertig gebackene und geschmierte Brötchen akzeptiere wenn der mir den Teig und die Rezepte anbietet. Dedlfix wie auch ck (und ungenannte weitere aus dem Forum) gehören zum Kreis derer, die sich so ein Kalenderchen selbst bauen können. Deren Hilfe ist wertvoll. Meine übrigens auch.

                1. Mein Ton ist noch sehr freundlich. Ich war nie unverschämt oder beleidigend.

                  Aber ich habe es versucht und es hat nicht geklappt: https://forum.selfhtml.org/self/2017/may/28/php-kalender-fuer-termine/1695239#m1695239

                  Jetzt habe ich eine scheiß Software auf dem Rechner, die ich nicht mehr herunter bekomme. Kann ich also heute Abend mein System neu aufsetzten.

                  1. Tach!

                    Mein Ton ist noch sehr freundlich. Ich war nie unverschämt oder beleidigend.

                    Das magst du so empfinden, bei mir kommt aber genau das an, was du mir selbst vorwirfst.

                    Jetzt habe ich eine scheiß Software auf dem Rechner, die ich nicht mehr herunter bekomme. Kann ich also heute Abend mein System neu aufsetzten.

                    Nein, musst du nicht. Der Composer ist eine einzelne Datei (composer.phar), die einfach zu löschen ist. Sie ist in dem Verzeichnis zu finden, in das du den Download angestoßen hast. Es wird nichts außerhalb deines Arbeitsverzeichnisses abgelegt.

                    dedlfix.

          2. Hallo Felix,

            Du kannst dir auch einen eigenen Server aufsetzen, XAMPP

            warum kann der Autor nicht eine lauffähige Version bereitstellen?

            Ich kann dir sagen, warum ich keine fertigen Versionen für meine Software anbiete: ich möchte das Zielpublikum, dass das nötig hat, nicht bedienen. Ich habe keine Lust und kein Interesse, den dann zwangsläufig auftretenden Support-Bedarf bedienen zu müssen.

            LG,
            CK

            1. Tach!

              Ich kann dir sagen, warum ich keine fertigen Versionen für meine Software anbiete: ich möchte das Zielpublikum, dass das nötig hat, nicht bedienen. Ich habe keine Lust und kein Interesse, den dann zwangsläufig auftretenden Support-Bedarf bedienen zu müssen.

              Das mag man nun als Anwender als Arroganz auffassen, und das ist es gewissermaßen auch. Andererseits ist es nicht minder arrogant von einigen der Anwender, für kostenlose Software einen Support zu erwarten, wie ihn die Entwickler anbieten (können), die sich für ihre Arbeit bezahlen lassen.

              Um das nochmal zu betonen, es geht nicht um die vielen Anwender, die in der Lage sind, Probleme beim Installieren und ähnlichen Umfeld-Aufgaben selbst zu lösen. Auch nicht um die, die in der Lage sind, angemessen um Hilfe zu bitten. Es sind die wenigen, die ignorieren, dass auf der anderen Seite ein Mensch und kein grenzenloser Wohltäter sitzt, und nicht wissen, wann sie die Grenze des Zumutbaren überschreiten.

              Auch hier im Forum muss das Verhältnis von Geben und Zurückbekommen in einem gesunden Rahmen bleiben. Für das Zurückbekommen ist es im Prinzip ausreichend, dass man entweder sieht, dass die Hilfe angenommen wird, und damit sozusagen eine emotionale Belohnung bekommt. Andererseits ergibt sich durch das Beschäftigen mit dem fachlichen Aspekt auch, dass man sich selbst verbessern kann, zum Beispiel, wenn Themen dabei sind, die einem sonst nicht über den Weg gelaufen wären, oder für die man sein Wissen vertiefen oder auffrischen muss.

              Da ein solches Zurückbekommen nebenbei passiert, bekommen es die Nehmenden nicht unbedingt mit, dass es neben einem guten Klima eine solche Notwendigkeit gibt, um die Hilfsbereitschaft dauerhaft aufrecht erhalten zu können.

              dedlfix.

              1. Hallo dedlfix,

                Ich kann dir sagen, warum ich keine fertigen Versionen für meine Software anbiete: ich möchte das Zielpublikum, dass das nötig hat, nicht bedienen. Ich habe keine Lust und kein Interesse, den dann zwangsläufig auftretenden Support-Bedarf bedienen zu müssen.

                Das mag man nun als Anwender als Arroganz auffassen, und das ist es gewissermaßen auch.

                Das mag man so sehen. Für mich ist das Selbstschutz. Ich war bereits in Situationen, in denen ich solchen Support gegeben habe, und ich möchte das für mich einfach nicht mehr. Das ist nicht gesund für mich.

                Andererseits ist es nicht minder arrogant von einigen der Anwender, für kostenlose Software einen Support zu erwarten, wie ihn die Entwickler anbieten (können), die sich für ihre Arbeit bezahlen lassen.

                Ich halte auch das nicht für arrogant, sondern für nachvollziehbar. Diese Leute sitzen ja auch in ihrer Hilflosigkeit fest.

                Um das nochmal zu betonen, es geht nicht um die vielen Anwender, die in der Lage sind, Probleme beim Installieren und ähnlichen Umfeld-Aufgaben selbst zu lösen.

                Nein. Die sind von diesem Filter ja auch gar nicht betroffen.

                Auch nicht um die, die in der Lage sind, angemessen um Hilfe zu bitten. Es sind die wenigen, die ignorieren, dass auf der anderen Seite ein Mensch und kein grenzenloser Wohltäter sitzt, und nicht wissen, wann sie die Grenze des Zumutbaren überschreiten.

                Die Grenzen des Zumutbaren sind ausgesprochen individuell. Für mich liegen sie deutlich niedriger als sie bei anderen zu liegen scheinen, ich hatte ja schon einmal diese Artikel verlinkt:

                Ich halte FLOSS für wichtig und richtig, jedoch möchte ich auch ein Leben außerhalb des Computers haben. Wenn ich mich nicht so abgrenze, dann habe ich das nicht.

                LG,
                CK

            2. Ich kann dir sagen, warum ich keine fertigen Versionen für meine Software anbiete: ich möchte das Zielpublikum, dass das nötig hat, nicht bedienen.

              Hoffentlich bist DU irgendwann in einer Situation wo du Hilfe benötigst und so eine Arrogante Aussage an den Kopf geschmissen bekommst.

              1. Tach!

                Ich kann dir sagen, warum ich keine fertigen Versionen für meine Software anbiete: ich möchte das Zielpublikum, dass das nötig hat, nicht bedienen.

                Hoffentlich bist DU irgendwann in einer Situation wo du Hilfe benötigst und so eine Arrogante Aussage an den Kopf geschmissen bekommst.

                Dann hat man sich das in der Regel auch verdient, falls man nicht nur eine schlechten Tag erwischt hat. Man kann auch als Hilfehabenwollende(r) zurückstecken und freundlich bleiben, und so versuchen, das Blatt zu wenden. Man muss es nur wollen. Du redest nicht mit einer Maschine, mit festem Programmablauf. Mach es dir zunutze mit deinen Fähigkeiten als Mensch, dein menschliches Gegenüber für deine Zwecke zu gewinnen, statt gegen dich aufzubringen.

                dedlfix.

                1. Gegen arrogante Menschen kann man leider nichts machen! Doch eines, man biete ihnen viel Geld dass sie einem helfen! Das willst du hier doch nur erreichen!

                  1. Hallo Sophie,

                    Doch eines, man biete ihnen viel Geld dass sie einem helfen! Das willst du hier doch nur erreichen!

                    Nein, mit Sicherheit nicht. Hier gibt es keine Hilfe gegen Geld.

                    Bis demnächst
                    Matthias

                    --
                    Rosen sind rot.
                    1. Hallo,

                      Nein, mit Sicherheit nicht.

                      Was sich auch daran zeigt, dass dedlfix trotz solcher Anschuldigungen weiterhin freundlich hilft!

                      Gruß
                      Kalk

                    2. Nein, mit Sicherheit nicht. Hier gibt es keine Hilfe gegen Geld.

                      Gab es schon ("schwör ich")- wenn man das "Hier" auf die hier antwortenden Personen bezieht und das Forum als "Ort der ersten Kontaktaufnahme" betrachten will. Allerdings ist es wohl eher "vergebliche Liebesmüh" hier auf Aufträge zu hoffen, also darauf, dass aus guten Antworten auch Aufträge resultieren. Die Quote liegt nämlich deutlich unter einem 1 Euro/10 Punkte.

                      1. Hallo Regina Schaukrug,

                        Nein, mit Sicherheit nicht. Hier gibt es keine Hilfe gegen Geld.

                        Gab es schon ("schwör ich")- wenn man das "Hier" auf die hier antwortenden Personen bezieht und das Forum als "Ort der ersten Kontaktaufnahme" betrachten will.

                        Ja, unter dem Tag Jobangebot.

                        Bis demnächst
                        Matthias

                        --
                        Rosen sind rot.
                        1. Wollen wir doch mal sehen, wie weit ich heute mit "Kalender" gekommen bin. Ich habe das einfach mal angefangen.

                          Alternativ-TextAlternativ-Text

                          Soweit ist mein Kalender. Zwischen den beiden Fotos wurde in den Caller

                          $o -> setLocale('de_DE.UTF-8');
                          

                          eingefügt und F5 gedrückt. Geht auch mit 'fi_FI', wenn (ich sah die Notwendigkeit gerade nach dem Umzug vom Notebook auf den raspi) die passenden translating-libs des OS installiert sind. Wie man das jetzt unter Windows machen würde (oder ob man es muss) weiß ich nicht einmal.

                          Die nächsten Schritte: Login (lib ist fertig), Feiertage (lib ist fertig) integrieren, Terminverwaltung integrieren, Daten-Ex und Import für Fremdsoftware (erstmal nur im ICS-Format für thunderbird), möglicherweise Gruppenfunktionen (Gemeinsame Termine, Ressorcenverwaltung, Einladen) und wahrscheinlich ToDo-Liste. Auch schauen wie ich die Ausgaben "responsive" bekomme. Handbuch schreiben darf ich nicht vergessen.

                          Wenn das Ding im Browser sowie mit thunderbird, smartphones und outlook läuft schaue ich mal ob sich jemand gegen kleines Geld von Drittanbietern wie Google frei machen will.

  2. Liebe Sophie,

    Kennt jemand ein anderes einfacheres Script welches ich verwenden kann? Sollte in etwas aussehen wie oben gezeigt?

    es sieht zwar absolut nicht so aus wie Dein Beispiel, aber vor vielen Jahren hatte ich einmal ein Kalender-Script gebastelt. Damit darfst Du tun, was Du willst.

    Liebe Grüße,

    Felix Riesterer.

  3. Ich habe auch wenn ich es eigentlich nicht wollte den getcomposer installiert. Ich habe nachdem ich das Teil installiert habe, wie hier geschrieben https://getcomposer.org/doc/00-intro.md folgendes eingegeben:

    composer -V

    Erhalten habe ich dieses

    Alternativ-Text

    hat also geklappt? Jetzt habe ich wie hier geschrieben https://github.com/tlkshadow/example_calendar folgendes eingegeben

    run composer install

    und erhalte diese Meldung

    Alternativ-Text

    die Installation hat also nicht geklappt? Und wie bekomme ich das jetzt wieder herunter? In der Sytemsteuerung unter Programmen ist nichts zu finden.

    Ich wusste dass das nicht klappt.

    1. Tach!

      Jetzt habe ich wie hier geschrieben https://github.com/tlkshadow/example_calendar folgendes eingegeben

      run composer install

      Das run steht außerhalb der grauen Box. Das ist in der Tat kaum wahrzunehmen. Das heißt, das run ist nur die Aufforderung an dich als Leser, "composer install" auszuführen, laufen zu lassen.

      dedlfix.

      1. Ich habe jetzt in den htdocs Ordner eine composer.json Datei gelegt, wie hier angegeben: https://github.com/tlkshadow/example_calendar/blob/master/composer.json

        Dann habe ich nochmals composer install ausgeführt und folgendes erhalten

        Alternativ-Text

        Gehe ich jetzt in den htdocs Ordner sehe ich dieses

        Alternativ-Text

        Da ist jetzt alles durcheinander und ich sehe den Order vendor. Dieses hat mir gefehlt. Kann ich mit diesem nun hochladen?

        Hätte dieses NICHT einfacher gehen können?

        1. Tach!

          Gehe ich jetzt in den htdocs Ordner sehe ich dieses

          Alternativ-Text

          Das vendor-Verzeichnis ist das, was der Composer anlegt, und darin befinden sich die notwendigen Abhängigkeiten, die der Kalender so braucht. Das muss zusätzlich zum Kalender hochgeladen werden und dem was du sonst noch so hast.

          Hätte dieses NICHT einfacher gehen können?

          Das war doch einfach, wenn du es direkt gemacht hättest.

          Und ja, es geht als Komplettpaket noch einfacher, aber das hat seine eigenen Nachteile, wie an anderer Stelle schon besprochen.

          dedlfix.

          1. Danke für deine Hilfe. Jetzt läuft er. Allerdings hätte ich mir die ganze Arbeit sparen können :/ Schau mal auf den Kalender: http://example-calendar.marcel-domke.de Der Mai hat 31 Tage. Laut seiner Demo hat er nur 30 Tage. Da stimmt etwas nicht.

            Scheiße, hab es zu spät gesehen.

            1. Tach!

              Danke für deine Hilfe. Jetzt läuft er. Allerdings hätte ich mir die ganze Arbeit sparen können :/ Schau mal auf den Kalender: http://example-calendar.marcel-domke.de Der Mai hat 31 Tage. Laut seiner Demo hat er nur 30 Tage. Da stimmt etwas nicht.

              Ja, und es gibt dazu bereits ein Eintrag auf Github unter Issue. Anscheinend hat der AUtor aber den Fix noch nicht durchgeführt.

              In der Datei App/Calendar/Renderer/CalendarRenderer.php gibt es ab Zeile 74 dieses Konstrukt

                      $this->dateEnd->setDate(
                          $this->date->format('Y'),
                          $this->date->format('m'),
                          $this->date->format('t')
                      );
              

              Das End-Date wird später für die DatePeriod-Klasse verwendet und der Autor hat nicht bemerkt, dass das Ende-Datum ausschließend wirkt. Das ist auch so nicht im PHP-Handbuch dokumentiert, lediglich einen Kommentar gibts da. Das 't' in obigem Konstrukt steht für Anzahl der Tage im Monat, da muss noch ein Tag hinzugerechnet werden. Füge nach der zitierten Stelle (als neue Zeile 79) folgendes ein:

                  $this->dateEnd->modify('+1 day');
              

              Ich habs aber nicht geprüft, wenn es doch nicht geht, sag Bescheid.

              dedlfix.

              1.         $this->dateEnd->modify('+1 day');
                

                Ich habs aber nicht geprüft, wenn es doch nicht geht, sag Bescheid.

                Hurra! Da "issawida", unser dedlfix.

              2. Hallo,

                vielen vielen vielen Dank für deine Hilfe. Jetzt klappt es auch mit dem richtigen Datum. Ich habe in der letzten Stunde sämtliche Dateien nach den Wochentagen und Monatsnamen durchschaut, aber keine englischen Versionen davon gefunden außer diesem hier

                private function getDays()
                    {
                        $days = ['Sun', 'Mon','Tue','Wed','Thu','Fri','Sat'];
                        if ($this->options['start_with_sunday'] == false) {
                            $sun = array_shift($days);
                            $days[] = $sun;
                        }
                
                        return $days;
                    }
                

                Ich hab den Sun, Mo usw.. auf Deutsch geschrieben aber keine Veränderung. Weißt du zufällig wie ich den Kalender auf Deutsch umstellen kann?

                1. Tach!

                  Ich habe in der letzten Stunde sämtliche Dateien nach den Wochentagen und Monatsnamen durchschaut, aber keine englischen Versionen davon gefunden außer diesem hier

                  private function getDays()
                      {
                          $days = ['Sun', 'Mon','Tue','Wed','Thu','Fri','Sat'];
                          if ($this->options['start_with_sunday'] == false) {
                              $sun = array_shift($days);
                              $days[] = $sun;
                          }
                  
                          return $days;
                      }
                  

                  Ich hab den Sun, Mo usw.. auf Deutsch geschrieben aber keine Veränderung.

                  Es sollte sich geändert haben, dass der Kalender nun nicht mehr so funktioniert wie vorgesehen. Diese Tagesnamen werden nicht zum Formatieren verwendet, sondern zum Finden der Nummer des Wochentages. Warum auch immer der Autor das darüber gelöst hat.

                  Weißt du zufällig wie ich den Kalender auf Deutsch umstellen kann?

                  Nicht ganz einfach. Er verwendet zur Ausgabe eine Funktion, die generell nur alle Namen, die in Datümern vorkommen können, auf Englisch ausgibt. Diese Funktion ignoriert auch, was man mit setlocale für eine Sprache eingestellt hat.

                  Das Problem liegt in der Datei CalendarRenderer.php in der Methode renderADay() in Zeile 196

                  $content = sprintf($this->templates['highlight'], $date->format($this->formats['day']));
                  

                  Es hilft auch nicht, den Inhalt von $this->formats['day'] umzuschreiben, der irgendwo am Anfang der Datei auf l, d gesetzt wurde, zu ändern. Man muss den Teil $date->format($this->formats['day']) ersetzen, durch etwas, das den Inhalt von $date so formatiert, wie man das haben möchte.

                  Die Ausgabe des Monatsnamens arbeitet in ähnlicher Weise und versteckt sich in der /web/index.php in Zeile 19

                  <h4><?php echo $currentMonth->format('F Y'); ?></h4>
                  

                  Man müsste jeweils die Ausgabe (oder die Erzeugung des Ausgabewertes) trennen in den Teil mit der Zahl und den mit dem Namen. Den Monats/Tagesnamen kann man sich von der Methode format() auch als Zahl ausgeben lassen, mit der man dann in einer Namenstabelle den richtigen Wert heraussucht. format() nutzt übrigens die Kürzel von date().

                  dedlfix.

                  1. Warum auch immer der Autor das darüber gelöst hat.

                    Ganz offensichtlich wollte er es möglichst kompliziert machen und hat dann die Lust verloren. 😟

                    class MonthCalendar
                    {
                        public $locale             = 'en_US.utf-8'; 
                        # show https://msdn.microsoft.com/en-us/library/39cwe7zf(v=vs.90).aspx
                        # show https://msdn.microsoft.com/en-us/library/cdax410z(v=vs.90).aspx
                        # show ~> locale -a in a Linux-Shell
                                                         
                        public $maxDayNamesLength  = 2;      # 1 | 2 | 3 | 99
                    
                        public $daysLinkSprintf    = 'calendar.php?y=%04d&amp;m=%02d&amp;d=%02d';
                        public $daysSprintf        = '%02d';  # %d, %02d
                        public $outsideDaysShow    = '&nbsp;';  
                        
                        public $htmlCalendarId     = 'Calendar';
                        public $htmlCalendarClass  = 'Calendar';
                        public $htmlThisDayId      = 'ThisDay';
                        public $htmlHolidayClass   = 'Holyday';
                        public $htmlPartialHolidayClass   = 'PartialHolyday';
                        public $htmlSondayClass    = 'Son';
                        public $htmlSaturdayClass  = 'Sat';
                        public $yearNextSymbol     = '⇨';
                        public $yearBeforeSymbol   = '⇦';
                        public $monthNextSymbol    = '→';
                        public $monthBeforeSymbol  = '←';
                        public $arMonthList        = false;
                        public $arWeekdayList      = false;
                        
                        public $showYear           = true;
                        public $showMonth          = true;
                        public $showWeekNr         = true;
                        public $datum              = false;
                    
                        public function __construct() {
                            $this -> datum  = mktime( 0,0,0, date('n'), 1, date('Y') );
                            if ( $this -> locale ) {
                                $this -> setLocale ( $this -> locale );
                            }
                        }
                        
                        private function getMonthNames() {
                            for ( $i = 1; $i < 13; $i++ ) {
                                $d = mkTime( 0, 0, 0, $i, 1, 1971 );
                                $names[$i] = strftime( '%B', $d );
                            }
                            $names[0] = false;
                            return $names;
                        }
                        
                        private function getWeekDayNames() {
                            for ( $i = 1; $i < 8; $i++ ) {
                                $d = mkTime(0, 0, 0, 1, 3+$i, 1971);
                                $names[$i] = substr( utf8_encode( strftime( '%A', $d ) ), 0, $this -> maxDayNamesLength);
                            }
                            $names[0] = false;
                            return $names;
                        }
                        
                        public function setLocale( $locale ) {
                            if ( false === setlocale( LC_TIME, $locale ) ) {
                                trigger_error("Ungültige Locale-Einstellung: $locale", E_USER_NOTICE);
                            }
                            $this -> arMonthList = $this -> getMonthNames();
                            $this -> arWeekdayList = $this -> getWeekDayNames();        
                        }
                    
                    
                    ### …
                    

                    Geht.

            2. Hallo,

              Laut seiner Demo hat er nur 30 Tage. Da stimmt etwas nicht.

              Das ist systematisch, jeder Monat hat einen Tag zuwenig. Wenigstens stimmt die Anzahl Monate pro Jahr!

              Gruß
              Kalk