Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Nette Begrüßung im Admin?

    sixtyseven

    • Fördermitglied
    • Beiträge: 107
    • Geschlecht:
    Nette Begrüßung im Admin?
    am: 06. Dezember 2014, 12:52:36
    Ich würde gerne im Admin den jeweils eingeloggten User persönlich begrüßen und habe mir dazu folgende Mini-Funktion gebastelt, die ich in der start.php aufrufe:

    Code: PHP  [Auswählen]
    function admingreeting(){
            $output = '';
           
            //Mal die Tagesstunde ausgeben
            $tageszeit = date('G');
            if($tageszeit > 1 && $tageszeit < 13) {
                    // Zwischen 2 und 12 Uhr
                    $tageszeitgruss = "Guten Morgen";
            } else if($tageszeit > 12 || $tageszeit < 17) {
                    // Zwischen 13 und 16 Uhr
                    $tageszeitgruss = "Guten Tag";
            } else {
                    $tageszeitgruss = "Guten Abend";
            }
           
            // Anrede
            if($_SESSION['customer_gender'] == 'm'){
                    $salutation = 'Herr';
            } else {
                    $salutation = 'Frau';
            }
           
            $output .= '<p class="user_salutation">';
            $output .= $tageszeitgruss.' '.$salutation.' '.$_SESSION['customer_last_name'].'.';
            $output .= '</p>';
           
            echo $output;
    }

    Ich würde nun zusätzlich gerne den Zeitpunkt der letzten Anmeldung ausgeben, a la "Ihr letzer Besuch war am xx. xx. xxxx um xx:xx Uhr". Hat da jemand einen Tip für mich? Da in besagter Session ja auch die customer_id steht, müsste das doch eigentlich irgendwie gehen.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=31690.0

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Nette Begrüßung im Admin?
    Antwort #1 am: 06. Dezember 2014, 16:24:53
    Code: PHP  [Auswählen]
    $q = xtc_db_query("
        SELECT customers_ip, customers_ip_date
          FROM "
    . TABLE_CUSTOMERS_IP . "
         WHERE customers_id = "
    .$_SESSION['customer_id']."
      ORDER BY customers_ip_date DESC
         LIMIT 2,1"
    );
    if($r = xtc_db_fetch_array($q)) {
      $output .= '<b title="IP: '.$r['customers_ip'].'"> Ihr letzer Besuch war ';
      $output .= date("\a\m d.m.Y \u\m H:i:s ", strtotime($r['customers_ip_date']));
      $output .= 'Uhr</b>';
    }

    LG, h-h-h

    sixtyseven

    • Fördermitglied
    • Beiträge: 107
    • Geschlecht:
    Re: Nette Begrüßung im Admin?
    Antwort #2 am: 06. Dezember 2014, 22:31:58
    .... Vielen Dank, sowas hatte ich gesucht! Und sogar noch mit aufbereitetem timestamp ;-)

    sixtyseven

    • Fördermitglied
    • Beiträge: 107
    • Geschlecht:
    Re: Nette Begrüßung im Admin?
    Antwort #3 am: 07. Dezember 2014, 10:50:06
    So, für alle, die es interessiert, hier mal die fertige Funktion mit deutscher und englischer Sprachausgabe.

    Code: PHP  [Auswählen]
    function admingreeting(){
            $output = '';
            $last_visit_date = '';
            $last_visit_hour = '';
            $customers_ip = '';
           
            $lang = array();
            $lang['german'] = array(
                    'good_morning' => 'Guten Morgen',
                    'good_day' => 'Guten Tag',
                    'good_evening' => 'Guten Abend',
                    'salutation_male' => 'Herr',
                    'salutation_female' => 'Frau',
                    'last_visit' => 'Ihr letzter Besuch war am %s um %s Uhr.'
            );
            $lang['english'] = array(
                    'good_morning' => 'Good morning',
                    'good_day' => 'Good day',
                    'good_evening' => 'Good evening',
                    'salutation_male' => 'Mr.',
                    'salutation_female' => 'Mrs.',
                    'last_visit' => 'Your last visit was on %s at %s.'
            );
           
            $language = 'german';
            if(!empty($_SESSION['language'])){
                    if(is_array($lang[$_SESSION['language']])){
                            $language = $_SESSION['language'];
                    }
            }
           
            $q = xtc_db_query('SELECT
                                                    customers_ip, customers_ip_date
                                            FROM '
    . TABLE_CUSTOMERS_IP . '
                                            WHERE
                                                    customers_id = '
    .$_SESSION['customer_id'].'
                                            ORDER BY customers_ip_date DESC
                                            LIMIT 2,1'
    );
        if($r = xtc_db_fetch_array($q)) {
              $last_visit_date = date('d. m. Y', strtotime($r['customers_ip_date']));
              $last_visit_hour = date('H:i:s', strtotime($r['customers_ip_date']));
              $customers_ip = ' title="IP: '.$r['customers_ip'].'"';
        }
           
            //Mal die Tagesstunde ausgeben
            $tageszeit = date('G');
            if($tageszeit > 1 && $tageszeit < 13) {
                    // Zwischen 2 und 12 Uhr
                    $tageszeitgruss = $lang[$language]['good_morning'];
            } else if($tageszeit > 12 || $tageszeit < 17) {
                    // Zwischen 13 und 16 Uhr
                    $tageszeitgruss = $lang[$language]['good_day'];
            } else {
                    $tageszeitgruss = $lang[$language]['good_evening'];
            }
           
            // Anrede
            if($_SESSION['customer_gender'] == 'm'){
                    $salutation = $lang[$language]['salutation_male'];
            } else {
                    $salutation = $lang[$language]['salutation_female'];
            }
           

           
            $output .= '<p class="user_salutation">';
            $output .= $tageszeitgruss.' '.$salutation.' '.$_SESSION['customer_last_name'].'.';
            if(!empty($last_visit_date)){
                    $output .= ' '.sprintf($lang[$language]['last_visit'], '<span '.$customers_ip.'>'.$last_visit_date.'</span>', $last_visit_hour);
            }
            $output .= '</p>';
           
            echo $output;
    }

    Ausgabe an beliebiger Stelle mit
    Code: PHP  [Auswählen]
    <?php admingreeting(); ?>
    Shop Hosting
    2 Antworten
    2012 Aufrufe
    14. April 2009, 08:30:49 von Hanbaishi
    0 Antworten
    2348 Aufrufe
    04. April 2010, 20:05:05 von Haxley
    6 Antworten
    4013 Aufrufe
    14. Oktober 2011, 19:36:43 von peterpan19
    2 Antworten
    2926 Aufrufe
    15. Dezember 2009, 11:31:26 von Bruno
               
    anything