PHP Script zur Anzeige von Praxis Öffnungsstatus gesucht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Script zur Anzeige von Praxis Öffnungsstatus gesucht

    Hallo Leute,

    ich habe den ganzen Tag nach einem geeigneten Script gesucht, mit dem ich den Öffnungsstatus einer Praxis anzeigen kann. Da habe ich auch etwas gefunden und mit meinen Laienhaften Wissen nach meinen Bedürfnissen bearbeitet. Das Problem jedoch ist, dass es bei den Öffnungszeiten an einigen Tagen eine Mittagspause gibt und in den Fällen lediglich der Nachmittagsstatus angezeigt wird, während vormittags der Status für geschlossen ausgegeben wird, obwohl eigentlich geöffnet ist.
    Ich komme hier einfach nicht weiter und hoffe das mir hier jemand helfen kann.

    Hier das zusammengebastelte Script.

    PHP-Code:
    <?php
    function oeffnungszeiten()
    {
        
    // Wochentage (Montag = 1, Dienstag = 2, ... Sonntag = 7)
        
    $close = array('6','7');

        
            
    // Montag Vormittag von
        
    if (date('N')==1)
            
    $time_start '08:00';
            
           
    // Montag Vormittag bis
        
    if (date('N')==1)
            
    $time_stop '13:00';   
            
           
    // Montag Nachmittag von
        
    if (date('N')==1)
            
    $time_start '15:00';
            
           
    // Montag Nachmittag bis
        
    if (date('N')==1)
            
    $time_stop '18:00';        
            
           
    // Dienstag Vormittag von
        
    if (date('N')==2)
            
    $time_start '08:00';
            
           
    // Dienstag Vormittag bis
        
    if (date('N')==2)
            
    $time_stop '13:00';     
            
           
    // Dienstag Nachmittag von
        
    if (date('N')==2)
            
    $time_start '15:00';
            
           
    // Dienstag Nachmittag bis
        
    if (date('N')==2)
            
    $time_stop '18:00'
            
           
    // Mittwoch Vormittag von
        
    if (date('N')==3)
            
    $time_start '08:00';
            
           
    // Mittwoch Vormittag bis
        
    if (date('N')==3)
            
    $time_stop '13:00';     
            
           
    // Donnerstag Vormittag von
        
    if (date('N')==4)
            
    $time_start '08:00';
            
           
    // Donnerstag Vormittag bis
        
    if (date('N')==4)
            
    $time_stop '13:00';     
            
           
    // Donnerstag Nachmittag von
        
    if (date('N')==4)
            
    $time_start '15:00';
            
           
    // Donnerstag Nachmittag bis
        
    if (date('N')==4)
            
    $time_stop '18:00'
            
          
    // Freitag Vormittag von
        
    if (date('N')==5)
            
    $time_start '08:00';
            
          
    // Freitag Vormittag bis
        
    if (date('N')==5)
            
    $time_stop '14:00';                                           
       

        
    // Feste Feiertage
        
    $holiday = array('01.01','01.05','03.10','25.12','26.12');

        
    // Bewegliche Feiertage
        
    $intJahr date("Y");
        
    $intMon  date("m");
        
    $intTag  date("d");
        
    $feiertag ="keiner";
        
    $EasterSonday easter_date($intJahr);
        if ( (
    $intTag == date("j", ($EasterSonday 2*86400))) && ($intMonat == date("n", ($EasterSonday 2*86400))) )
        {
              
    $feiertag="Karfreitag";
        }
        if ( (
    $intTag == date("j", ($EasterSonday 86400))) && ($intMonat == date("n", ($EasterSonday 86400))) )
        {
              
    $feiertag="Ostermontag";
        }
        if ( (
    $intTag == date("j", ($EasterSonday 39*86400)))  && ($intMonat == date("n", ($EasterSonday 39*86400))) )
        {
              
    $feiertag="Christi Himmelfahrt";
        }
        if ( (
    $intTag == date"j", ($EasterSonday 50*86400))) && ($intMonat == date"n", ($EasterSonday 50*86400))) )
        {
              
    $feiertag="Pfingstmontag";
        }

        
    // Prüfen ob geöffnet ist [ WOCHENTAG | UHRZEIT | FEIERTAG ]
        // Wenn ja ...

        
    if (date('N') != in_array(date('N'), $close) && date('H:i') >= $time_start && date('H:i') <= $time_stop && date('d.m') != in_array(date('d.m'), $holiday))
        {
            
    // Ausgabe OFFEN
            
    $offen="Wir sind noch bis ".$time_stop." Uhr für Sie da!";
        }

        
    // Wenn nein ...
        
    else
        {
            if (
    date('d.m') == in_array(date('d.m'), $holiday))
            {
                if (
    date("d.m")=="01.01")
                    
    $feiertag="Neujahr";
                if (
    date("d.m")=="01.05")
                    
    $feiertag="Tag der Arbeit";
                if (
    date("d.m")=="03.10")
                    
    $feiertag="Tag der Deutschen Einheit";
                if (
    date("d.m")=="25.12")
                    
    $feiertag="1. Weihnachtstag";
                if (
    date("d.m")=="26.12")
                    
    $feiertag="2. Weihnachtstag";
            }
            else {}

            if (
    $feiertag != "keiner")
                
    $offen="Zur Zeit ist unsere Praxis wegen ".$feiertag." geschlossen.";
            else
                
    $offen="Zur Zeit ist unsere Praxis geschlossen.";
        }
        return(
    $offen);
    }

    $offen oeffnungszeiten();
    echo 
    $offen;
    ?>
    Vielen Dank schonmal, ich hoffe das ich im richtigen Forum geposted habe.

  • #2
    Du überschreibst an den Tagen mit Mittagspause die Variablen time_start und time_stop, und somit ist in deinem Script immer Nachmittags.

    Und
    PHP-Code:
    date('H:i') >= $time_start 
    geht sowieso in die Hose.

    Kommentar


    • #3
      Hiho,

      tjoar, verstehe, .. ich hab leider null Plan ob und wenn ja wie man das entsprechend anpassen kann, dafür kenn ich mich mit der Materie zuwenig aus, hatte gehofft das jemand evtl. ein passendes Script in der Schublade hat.

      Trotzdem Danke schonmal für die Aufklärung

      Gruß

      Lopi

      Kommentar


      • #4
        Ich habe vor grob einem Jahr mal ein wenig an diesem Package mitgearbeitet:

        - https://github.com/coryetzkorn/php-store-hours

        Ich kann aber nicht sagen, wie es sich seitdem entwickelt hat.

        Damals war es ganz gut, wenn auch nie so „richtig“ professionell. Dafür eben recht simpel verwendbar.

        Kommentar


        • #5
          Hallo mermshaus,

          das sieht so aus als könnte das für meine Zwecke ausreichen, werde das mal ausprobieren. Vielen Dank

          greetz

          Lopi

          Kommentar

          Lädt...
          X