ilch Forum » Ilch CMS 2.X » Allgemein » Benachrichtigung über PW

Geschlossen
  1. #1
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Hallo ilch Mein anligen ist das man keine Benachrichtigung über einen User erhält wenn er mir ne Private nachricht schreibt ist das so gewollt oder kann man es so einstellen das ich dann auch ne benachrichtigung bekomme und zwar im login pannel das man es auch gleich sieht wenn man sich angemeldet hat für die user ist nadürlich auch das gleiche die bekommen auch keine

    mit freundlichen Grüßen


    verwendete ilch Version: 2.1.x

    betroffene Homepage: externer Link


    Zuletzt modifiziert von Normen am 24.07.2023 - 13:56:13
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    blackcoder Entwickler
    Registriert seit
    22.05.2014
    Beiträge
    2.401
    Beitragswertungen
    389 Beitragspunkte
    Moin,

    ich habe es gerade getestet und keine Probleme festgestellt.



    Denke es liegt daran, dass bei deinem Layout/Design nicht die Login-Box eingebunden ist, sondern nur die Login-Seite oben verlinkt ist.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Mahlzeit, ok aber das liegt dann am Design selbst. Hm kann man das da irgendwie mit einbinden das es auch mit oben angezeit wird?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Slipi Hall Of Fame
    Registriert seit
    19.01.2018
    Beiträge
    954
    Beitragswertungen
    120 Beitragspunkte
    ZitatZitat geschrieben von Normen
    Mahlzeit, ok aber das liegt dann am Design selbst. Hm kann man das da irgendwie mit einbinden das es auch mit oben angezeit wird?


    Hallo

    An dem Design wurde das Modul User oder Box bearbeitet.
    PM werden unter github.com/IlchCMS/Ilch-2.0/blob/v2.1.51/application/modules/user/boxes/views/login.php#L8 ausgegeben, daher kontroliere bitt ob dies vorhanden ist.

    Slipi
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Hallo Slipi also der code ist vorhanden Ich wirde die login Box mit dem script mal posten


    <?php if ($this->getUser() !== null): ?>
        <?=$this->getTrans('hello') ?> <b><?=$this->escape($this->getUser()->getName()) ?></b>,
        <br />
        <a href="<?=$this->getUrl(['module' => 'user', 'controller' => 'panel', 'action' => 'index']) ?>">
            <?=$this->getTrans('userPanel') ?>
        </a>
        <br />
        <div class="ilch--new-message"></div>
        <?php if ($this->get('userAccesses') || $this->getUser()->isAdmin()): ?>
            <a target="_blank" href="<?=$this->getUrl(['module' => 'admin', 'controller' => 'admin', 'action' => 'index']) ?>">
                <?=$this->getTrans('admincenter') ?>
            </a>
            <br />
        <?php endif; ?>
        <a href="<?=$this->getUrl(['module' => 'admin/admin', 'controller' => 'login', 'action' => 'logout', 'from_frontend' => 1]) ?>">
            <?=$this->getTrans('logout') ?>
        </a>
    <?php else: ?>
        <script>$(document).ready(function(){
        $('.providers').on('click', function (e) {
            e.preventDefault();
            
            var myForm = $(this).closest('form')[0];
            myForm.action = this.href;// the href of the link
            myForm.method = "POST";
            myForm.submit();
            return false; // cancel the actual link
        });
        });</script>
        <form action="<?=$this->getUrl(['module' => 'user', 'controller' => 'login', 'action' => 'index']) ?>" class="form-horizontal" method="post">
            <input type="hidden" name="login_redirect_url" value="<?=$this->escape($this->get('redirectUrl')) ?>" />
            <?php
            echo $this->getTokenField();
            $errors = $this->get('errors');
            ?>
            <div class="form-group">
                <div class="col-lg-12">
                    <div class="input-group">
                        <span class="input-group-addon" id="basic-addon1"><i class="fa-solid fa-user"></i></span>
                        <input type="text"
                               class="form-control"
                               name="login_emailname"
                               placeholder="<?=$this->getTrans('nameEmail') ?>"
                               autocomplete="username" />
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="col-lg-12">
                    <div class="input-group">
                        <span class="input-group-addon" id="basic-addon1"><i class="fa-solid fa-lock"></i></span>
                        <input type="password"
                               class="form-control"
                               name="login_password"
                               placeholder="<?=$this->getTrans('password') ?>"
                               autocomplete="current-password" />
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="col-lg-12">
                    <div class="checkbox">
                        <label>
                            <input type="checkbox" name="rememberMe" value="rememberMe"> <?=$this->getTrans('rememberMe') ?>
                        </label>
                    </div>
                </div>
            </div>
            <div class="form-group">
                <div class="col-lg-12">
                    <button type="submit" class="btn" name="login">
                        <?=$this->getTrans('login') ?>
                    </button>
                    <span class="social-logins">
                        <?php if (count($this->get('providers')) > 0): ?>
                            <i class="fa-solid fa-fw fa-angle-right"></i>
                        <?php endif; ?>
                        <?php foreach ($this->get('providers') as $provider): ?>
                            <a 
                                class="btn btn-link providers provider-<?= $provider->getKey() ?>"
                                href="<?= $this->getUrl([
                                    'module' => $provider->getModule(),
                                    'controller' => $provider->getAuthController(),
                                    'action' => $provider->getAuthAction()
                                ]) ?>"
                            >
                                <i class="fa-solid fa-2x fa-fw <?= $provider->getIcon() ?>"></i>
                            </a>
                        <?php endforeach; ?>
                    </span>
                </div>
            </div>
        </form>
        <?php if ($this->get('regist_accept') == '1'): ?>
            <a href="<?=$this->getUrl(['module' => 'user', 'controller' => 'regist', 'action' => 'index']) ?>"><?=$this->getTrans('register') ?></a><br />
        <?php endif; ?>
        <a href="<?=$this->getUrl(['module' => 'user', 'controller' => 'login', 'action' => 'forgotpassword']) ?>"><?=$this->getTrans('forgotPassword') ?></a>
    <?php endif; ?>
    
    <?php if ($this->getUser() !== null): ?>
        <script>
            $(document).ready(function () {
                let notificationsDiv = $(".ilch--new-message"),
                    messageCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewmessage']) ?>",
                    openFriendRequestsCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewfriendrequests']) ?>",
                    globalStore = [];
    
                function loadNotifications()
                {
                    $.when(
                        $.get(messageCheckLink, function(newMessages) {
                            globalStore['newMessages'] = newMessages;
                        }),
    
                        $.get(openFriendRequestsCheckLink, function(newFriendRequests) {
                            globalStore['newFriendRequests'] = newFriendRequests;
                        }),
                    ).then(function() {
                        notificationsDiv.html(globalStore['newMessages']);
                        notificationsDiv.append(globalStore['newFriendRequests'])
                    });
                }
    
                loadNotifications();
                setInterval(loadNotifications, 60000);
            });
        </script>
    <?php endif; ?>



    Zuletzt modifiziert von blackcoder am 25.07.2023 - 19:54:20
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    ok hat sich erledigt,habe es in die index.php layouts esportlaouts geschrieben,jetzt wird es angezeigt




    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
      <?=$this->getHeader() ?>
      <link href="<?=$this->getVendorUrl('twbs/bootstrap/dist/css/bootstrap.min.css') ?>" rel="stylesheet">
      <link href="<?=$this->getLayoutUrl('css/flexslider.css') ?>" rel="stylesheet">
      <link href="<?=$this->getLayoutUrl('css/style.css') ?>" rel="stylesheet">
      <?=$this->getCustomCSS() ?>
      <script src="<?=$this->getVendorUrl('twbs/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
      <script src="<?=$this->getLayoutUrl('js/modernizr.min.js') ?>"></script>
      <script type="text/javascript">
        $(document).ready(function () {
          var top = $('header').offset().top - parseFloat($('header').css('marginTop').replace(/auto/, 10));
          $(window).scroll(function (event) {
            var y = $(this).scrollTop();
            if (y >= top) {
              $('header').addClass('fixed');
            } else {
              $('header').removeClass('fixed');
            }
            });
          });
      </script>
      <style>
      a {color:<?=$this->getLayoutSetting('linkColor') ?>;}
      a:hover {color:<?=$this->getLayoutSetting('linkHover') ?>;}
      </style>
    </head>
    
    <body id="top">
    
      <!-- top bar -->
      <div class="topbar">
        <div class="userpanel text-center">
          <?=$this->getBox('user', 'login', 'userpanel'); ?>
          <div class="ilch--new-message"></div>
        </div>
      </div>
    
      <!-- header area -->
      <header class="header_slider">
        <div class="navigation">
          <div class="ilch-flex container">
              <!-- navigation area -->
              <div id="banner">
              <ul class="list-unstyled"><li><a href="/"><img id="logo" src="<?=$this->getBaseUrl($this->getLayoutSetting('logourl')) ?>" alt="logo"></a></li></ul>
              </div>
              <div id="topnav" role="navigation">
                <div class="menu-toggle pull-right"><i class="fa fa-bars" aria-hidden="true"></i></div>
                <ul class="srt-menu" id="menu-main-navigation">
                <?php
                  echo $this->getMenu(1,
                  '<li><a href="#" title="%s">%s</a>%c</li>',
                  [
                    'menus' => [
                      'ul-class-root' => '',
                      'ul-class-child' => '',
                      'allow-nesting' => false
                    ],
                    'boxes' => [
                      'render' => false
                    ],
                  ]);
                ?>
                </ul>
              </div><!-- end navigation -->
          </div>
        </div>
    
        <section id="slider" class="clearfix">
            <?php include('slider.php'); ?>
        </section>
    
      </header>
      <!-- end header -->
      <!-- main area -->
      <div id="main" class="container">
        <div class="esport">
          <div class="row">
            <div class="col-xs-12 col-sm-9 content">
              <div class="panel panel-default">
                <div class="_main-bar"><?=$this->getHmenu() ?></div>
                <div class="panel-body">
                  <?=$this->getContent() ?>
                </div>
              </div>
            </div>
            <div class="col-xs-12 col-sm-3 sidebar">
              <?php
              echo $this->getMenu(2,
                '<div class="panel panel-default">
                <div class="box-header">%s</div>
                <div class="box-body">%c</div>
                </div>');
              ?>
            </div>
          </div>
        </div>
    
      </div>
      <!-- end main  -->
    
      <!-- footer area -->
      <footer>
        <div class="container clearfix">
          <div class="col-xs-12 col-sm-6 text-center">
            <ul>
             <li>ForGtaPlayers</li>
          </div>
          <div class="col-xs-12 col-sm-6 text-center">
            <ul>
              <li><a href="/"><?=$this->getTrans('home') ?></a></li>
              <li><a href="<?=$this->getUrl(['module' => 'contact', 'controller' => 'index', 'action' => 'index']) ?>"><?=$this->getTrans('contact') ?></a></li>
              <li><a href="<?=$this->getUrl(['module' => 'imprint', 'controller' => 'index', 'action' => 'index']) ?>"><?=$this->getTrans('imprint') ?></a></li>
              <li><a href="<?=$this->getUrl(['module' => 'privacy', 'controller' => 'index', 'action' => 'index']) ?>"><?=$this->getTrans('privacy') ?></a></li>
            </ul>
          </div>
          <a href="#top" class="totop"><div class="innertop"></div></a>
        </div>
      </footer><!-- end footer area -->
    
      <?=$this->getFooter() ?>
      <script>window.jQuery || document.write('<script src="<?=$this->getVendorUrl('components/jquery/jquery.min.js') ?>"></script>
      <script src="<?=$this->getLayoutUrl('js/jquery.flexslider.min.js') ?>" defer></script>
      <!-- settings -->
      <script src="<?=$this->getLayoutUrl('js/main.js') ?>"></script>
    
    </body>
    </html>



    Zuletzt modifiziert von blackcoder am 25.07.2023 - 19:54:36
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Es geht leider immer noch nicht sondern es wird jetzt nur angezeigt so lange ich die loginbox auch im menü habe ist sie aus dem menü raus ist auch oben der brief wieder weg
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Slipi Hall Of Fame
    Registriert seit
    19.01.2018
    Beiträge
    954
    Beitragswertungen
    120 Beitragspunkte
    Hallo

    Geht es um die Navigations Leiste wo die Box Userpanel eingebunden wurde??
    Wenn ja, diese Box gibt die Nachrichten nicht aus.

    Ich werde es mir genauer anschauen und versuchen es zu bearbeiten.

    Slipi
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Ja genau um die geht es. Habe erst mal die Standartbox im Menü drin. Die Navigationsleiste habe ich erst mal im Layout index.php entfernt so lange bis es was neues gibt danke schön für die mühe.


    Zuletzt modifiziert von Normen am 26.07.2023 - 16:39:22
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Slipi Hall Of Fame
    Registriert seit
    19.01.2018
    Beiträge
    954
    Beitragswertungen
    120 Beitragspunkte
    Guten Morgen

    Könntest du bitte in unter "application/layouts/esportlayout/views/modules/user/boxes/views/userpanel.php" folgendes hinzufügen ohne das die Login-Box im Menü vorhanden ist.

    <?php if ($this->getUser() !== null): ?>
        <script>
            $(document).ready(function () {
                let notificationsDiv = $(".ilch--new-message"),
                    messageCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewmessage']) ?>",
                    openFriendRequestsCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewfriendrequests']) ?>",
                    globalStore = [];
    
                function loadNotifications()
                {
                    $.when(
                        $.get(messageCheckLink, function(newMessages) {
                            globalStore['newMessages'] = newMessages;
                        }),
    
                        $.get(openFriendRequestsCheckLink, function(newFriendRequests) {
                            globalStore['newFriendRequests'] = newFriendRequests;
                        }),
                    ).then(function() {
                        notificationsDiv.html(globalStore['newMessages']);
                        notificationsDiv.append(globalStore['newFriendRequests'])
                    });
                }
    
                loadNotifications();
                setInterval(loadNotifications, 60000);
            });
        </script>
    <?php endif; ?>


    und folgendes in zeile 2. Der Code gibt die Nachrichten aus.
    <div class="ilch--new-message"></div>


    Slipi


    Zuletzt modifiziert von Slipi am 27.07.2023 - 12:41:29
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Ok ich mach mich mal an die Arbeit.Gebe dann rückmeldung danke schon mal für die mühe.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    application/layouts/esportlayout/views/modules/user/boxes/views/userpanel.php Die sieht bei mir aber mit der von dir nicht gleich aus ich Poste sie mal und hm wo ist da zeile 2 ? und selbst wo auch immer ich den code eingefügt habe ist nix passiert.Ich hatte es unter dem hier eingefügt <?php if ($this->getUser() !== null): ?> denke mal das damit die zeilen gemeint sind das wäre dann ja quasi zeile zwei wenn ich da richtig liegen sollte



    <?php if ($this->getUser() !== null): ?>
        
    	<a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'panel', 'action' => 'index']) ?>">
    	    <i class="fa fa-user" aria-hidden="true"></i> <?=$this->getTrans('hello') ?> <?=$this->escape($this->getUser()->getName()) ?>
        </a>
            
        <?php if ($this->get('userAccesses') || $this->getUser()->isAdmin()): ?>
            <a class="button" href="<?=$this->getUrl(['module' => 'admin', 'controller' => 'admin', 'action' => 'index']) ?>">
                <i class="fa fa-cogs" aria-hidden="true"></i> <?=$this->getTrans('admincenter') ?>
            </a>
        <?php endif; ?>
        
        <a class="button" href="<?=$this->getUrl(['module' => 'admin/admin', 'controller' => 'login', 'action' => 'logout', 'from_frontend' => 1]) ?>">
            <i class="fa fa-sign-out" aria-hidden="true"></i> <?=$this->getTrans('logout') ?>
        </a>
    
    <?php else: ?>
    
    	<a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'login', 'action' => 'index']) ?>">
    	    <i class="fa fa-sign-in" aria-hidden="true"></i> <?=$this->getTrans('login') ?>
        </a>
        
    	<?php if ($this->get('regist_accept') == '1'): ?>
            <a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'regist', 'action' => 'index']); ?>">
                <i class="fa fa-user-plus" aria-hidden="true"></i> <?=$this->getTrans('register'); ?>
            </a>
        <?php endif; ?>
    
    <?php endif; ?>



    Zuletzt modifiziert von Normen am 27.07.2023 - 14:56:16
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    application/layouts/esportlayout/views/modules/user/boxes/views/userpanel.php

    Probier mal folgende Anpassung. Habe es nicht getestet.

    <?php if ($this->getUser() !== null): ?>
        
    	<a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'panel', 'action' => 'index']) ?>">
    	    <i class="fa fa-user" aria-hidden="true"></i> <?=$this->getTrans('hello') ?> <?=$this->escape($this->getUser()->getName()) ?>
        </a>
        
        <div class="ilch--new-message"></div>
            
        <?php if ($this->get('userAccesses') || $this->getUser()->isAdmin()): ?>
            <a class="button" href="<?=$this->getUrl(['module' => 'admin', 'controller' => 'admin', 'action' => 'index']) ?>">
                <i class="fa fa-cogs" aria-hidden="true"></i> <?=$this->getTrans('admincenter') ?>
            </a>
        <?php endif; ?>
        
        <a class="button" href="<?=$this->getUrl(['module' => 'admin/admin', 'controller' => 'login', 'action' => 'logout', 'from_frontend' => 1]) ?>">
            <i class="fa fa-sign-out" aria-hidden="true"></i> <?=$this->getTrans('logout') ?>
        </a>
        
        <script>
            $(document).ready(function () {
                let notificationsDiv = $(".ilch--new-message"),
                    messageCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewmessage']) ?>",
                    openFriendRequestsCheckLink = "<?=$this->getUrl(['module' => 'user', 'controller' => 'ajax','action' => 'checknewfriendrequests']) ?>",
                    globalStore = [];
    
                function loadNotifications()
                {
                    $.when(
                        $.get(messageCheckLink, function(newMessages) {
                            globalStore['newMessages'] = newMessages;
                        }),
    
                        $.get(openFriendRequestsCheckLink, function(newFriendRequests) {
                            globalStore['newFriendRequests'] = newFriendRequests;
                        }),
                    ).then(function() {
                        notificationsDiv.html(globalStore['newMessages']);
                        notificationsDiv.append(globalStore['newFriendRequests'])
                    });
                }
    
                loadNotifications();
                setInterval(loadNotifications, 60000);
            });
        </script>
    
    <?php else: ?>
    
    	<a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'login', 'action' => 'index']) ?>">
    	    <i class="fa fa-sign-in" aria-hidden="true"></i> <?=$this->getTrans('login') ?>
        </a>
        
    	<?php if ($this->get('regist_accept') == '1'): ?>
            <a class="button" href="<?=$this->getUrl(['module' => 'user', 'controller' => 'regist', 'action' => 'index']); ?>">
                <i class="fa fa-user-plus" aria-hidden="true"></i> <?=$this->getTrans('register'); ?>
            </a>
        <?php endif; ?>
    
    <?php endif; ?>


    Wenn Du aber die Login-Box trotzdem einblendest müsste die Funktion loadNotifications() angepasst werden, da sie sonst doppelt aufgerufen wird.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    ok mach ich
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Jetzt geht es. Echt gute Arbeit vielen dank! Ich wollte ja nur die Navikationsleiste haben da man ja sonst auch noch eine Loginbox zsätzlich hätte und das wäre ja schwachsinn.
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Slipi Hall Of Fame
    Registriert seit
    19.01.2018
    Beiträge
    954
    Beitragswertungen
    120 Beitragspunkte
    Hallo

    Lord hatt es richtig dargestellt, ich hatte es in meiner arbeit nicht gesehen, das
    <?php if ($this->getUser() !== null): ?>
    schon vorhanden war. Danke lord

    Slipi
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Normen Mitglied
    Registriert seit
    20.01.2010
    Beiträge
    20
    Beitragswertungen
    0 Beitragspunkte
    Alles gut macht weiter so ihr seit ein gutes Team.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten