HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 22.11.2024 - 20:45 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Dooki Männlicher Benutzer 16.07.2024 - 19:47 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 WEBI Männlicher Benutzer 24.06.2024 - 12:58 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 12:36 Zeit der letzten Antwort
 55.324 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.4 & 1.6.5 & 1.6.6 » Support » Navbox nur für bestimmte User

Navbox nur für bestimmte User
9 Beiträge in diesem Thema
 Seiten (1):    1  
21.02.2013 - 09:49 Uhr
Beitrag: #1
Hallo,
bin seid längerem auf der suche und bin bisher nicht richtig fündig geworden.
Wie kann ich es einrichten das ich eine Navbox nur für bestimmte User anlege.
Das heist jeder User hat seine Navbox mit Inhalten die nur für Ihn angelegt werden.?

thx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von eddie074 - 21.02.2013 - 09:50 Uhr
 
Zum Anfang der Seite
21.02.2013 - 16:07 Uhr
Beitrag: #2
Von Hause aus nicht - höchstens den Userstatus. Aber was meinst du genau? Soll der Admin gewisse Boxen einrichten können und selber sagen, was der User sehen soll? Oder kann der User selber diese Box(en) mit Inhalten füllen?


 
Zum Anfang der Seite
21.02.2013 - 17:17 Uhr
Beitrag: #3
Eigentlich vom Prinzip wie mit dem Benutzergruppen Status :Gast ,User,Moderator ,Admin nur
das ich also der admin besimmten Benutzer zb. Eddie innerhalb des Benutzerstatuses Users wo auch andere sind, eine Navbox mit inhalt anlegt den die anderen nicht sehen.
Wenn der User x sich anmeldet öffnet sich die Navbox wo ihm spezifische links, downloads , Statistiken usw. angelegt wurden.
Also zb.30 User und jeder User erhält seine Spezielle Navbox .

Ich hoffe das ich das verständlich erklärt habe

thx

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von eddie074 - 21.02.2013 - 17:18 Uhr
 
Zum Anfang der Seite
21.02.2013 - 22:07 Uhr
Beitrag: #4
Ich denke, ich hab es so, wie du es dir vorgestellt hast. Führe einfach unten stehende Änderungen durch, lass die Installation wie unten beschrieben durchlaufen und dann sollte alles ohne Probleme laufen ;o Wenn doch was ist, einfach meckern ;o

Du kannst dann einfach im AdminCenter > Navigation > Kategorien > Kategorie erstellen / bearbeiten unterhalb der Status-Wahl die User auswählen, die diese erstelle / bearbeitete Kategorie sehen dürfen.

  • pkinc/admin/navigationcategory.php
    • Öffne o.g. Datei und suche dies:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13

      PHP-Quelltext

              $SQL->query("UPDATE ".pkSQLTAB_NAVIGATION_CATEGORY."
                  SET navigationcat_title='"
      .$SQL->f($_POST['cat_title'])."',
                      navigationcat_align='"
      .$SQL->f($_POST['cat_align'])."',
                      navigationcat_status='"
      .$SQL->f($_POST['cat_status'])."',
                      navigationcat_rights='"
      .$SQL->f($_POST['cat_rights'])."',
                      navigationcat_template='"
      .$SQL->f($_POST['cat_template'])."',
                      navigationcat_open='"
      .$SQL->f($_POST['cat_open'])."',
                      navigationcat_showtitle='"
      .$SQL->f($_POST['cat_showtitle'])."',
                      navigationcat_box='"
      .$SQL->f($cat_navbox)."',
                      navigationcat_link='"
      .$SQL->f($_POST['cat_link'])."',
                      navigationcat_link_target='"
      .$SQL->f($_POST['cat_link_target'])."',
                      navigationcat_order='"
      .$SQL->i($_POST['cat_order'])."'
                  WHERE navigationcat_id='"
      .$select_navcat."'");

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23

      PHP-Quelltext

              # pkOnlyUserNav
              
      $pkOnlyUserNav=$SQL->fetch_array($SQL->query("SELECT navigationcat_access_user FROM ".pkSQLTAB_NAVIGATION_CATEGORY." LIMIT 1"));

              if (
      $pkOnlyUserNav!==NULL)
                  {
                  
      $pkOnlyUserNav
                      
      =
                         isset          (
      $_POST['pkOnlyUserNav'])
                      && 
      is_array       ($_POST['pkOnlyUserNav'])
                      && 
      count          ($_POST['pkOnlyUserNav']) > 0
                      
      '-'.implode('-'$_POST['pkOnlyUserNav']).'-'
                      
      NULL
                      
      ;
                  
      $SQL->query("
                      UPDATE
                          "
      .pkSQLTAB_NAVIGATION_CATEGORY."
                      SET
                          navigationcat_access_user='"
      .$pkOnlyUserNav."'
                      WHERE
                          navigationcat_id='"
      .$select_navcat."'
                      "
      );
                  }
              
      # pkOnlyUserNav

    • Suche weiter:



      1
      2
      3

      PHP-Quelltext

          $info['navigationcat_title']=pkEntities($info['navigationcat_title']);
          
      $info['navigationcat_template']=pkEntities($info['navigationcat_template']);
          
      $info['navigationcat_link']=pkEntities($info['navigationcat_link']);

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38

      PHP-Quelltext

          # pkOnlyUserNav
          
      $pkOnlyUserNav=$SQL->fetch_array($SQL->query("SELECT navigationcat_access_user FROM ".pkSQLTAB_NAVIGATION_CATEGORY." LIMIT 1"));

          if (
      $pkOnlyUserNav!==NULL)
              {
              
      $queryLoopUser  =
              
      $loopUser       =
              
      $loopUsers      =
              
      $loopCheck      =NULL;
              
      $loopID         =0;
              
      $loopNick       =NULL;
              
      $navAccessUser  =trim($info['navigationcat_access_user']);


              
      $queryLoopUser=$SQL->query("SELECT user_id, user_nick FROM ".pkSQLTAB_USER." WHERE user_activate='1' ORDER by user_nick ASC");
              while (
      $loopUser=$SQL->fetch_assoc($queryLoopUser))
                  {
                  
      $loopID         =intval($loopUser['user_id']);
                  
      $loopNick       =stripslashes(trim($loopUser['user_nick']));
                  
      $loopNick       =pkStringCut($loopNick35);
                  
      $loopCheck
                      
      =
                      
      stristr($navAccessUser'-'.$loopID.'-')
                      ? 
      ' checked="checked"'
                      
      NULL
                      
      ;
                  
      $loopUsers     .='<div style="float: left; width: 30%; margin: 1px; padding: 2px 3px; background: #d8d8f8;"><input type="checkbox" class="checkbox" name="pkOnlyUserNav[]" value="'.$loopID.'"'.$loopCheck.' /> '.$loopNick.'</div>';
                  }
              unset(
                  
      $queryLoopUser,
                  
      $loopUser,
                  
      $loopCheck,
                  
      $loopID,
                  
      $loopNick,
                  
      $navAccessUser
                  
      );
              }
          
      # pkOnlyUserNav

  • pkinc/admintpl/editnavcat_edit.htm
    • Öffne o.g. Datei und suche das:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12

      PHP-Quelltext

       <tr>
        <
      td class="left">Benutzerstatus<br />
          <
      font class="small">Benutzerstatus der notwendig ist damit die Kategorie angezeigt wird.</font></td>
        <
      td class="right">
          <
      select name="cat_rights" size="1" class="w90">
          <
      option value="guest" $rights0>$lang[guest]</option>
          <
      option value="user" $rights1>$lang[user]</option>
          <
      option value="member" $rights2>$lang[member]</option>
          <
      option value="mod" $rights3>$lang[mod]</option>
          <
      option value="admin" $rights4>$lang[admin]</option>
          </
      select></td>
       </
      tr>

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14

      PHP-Quelltext

          <!-- pkOnlyUserNav -->
          <
      tr>
              <
      td class="left">
                  
      Wer darf diese Box sehen?
                  <
      br />
                  <
      font class="small">W&auml;hle die User, die diese Navigationbox sehen d&uuml;rfenDer Userstatus ist irrelevant.</font>
              </
      td>
              <
      td class="right">
                  <
      div style="overflow: auto; width: 100%; height: 120px;">
                  
      $loopUsers
                  
      </div>
              </
      td>
          </
      tr>
          <!-- 
      pkOnlyUserNav -->

  • pkinc/publicinc/navigation.php
    • Öffne o.g. Datei und suche das:



      1
      2
      3
      4
      5
      6
      7
      8

      PHP-Quelltext

      $query $SQL->query("SELECT 
              *
          FROM "
      .pkSQLTAB_NAVIGATION_CATEGORY.
          WHERE navigationcat_status='1' AND "
      .
          
      sqlrights('navigationcat_rights').
          (
      $pkNAVIGATIONHIDE['left'] ? ' AND navigationcat_align<>0' '').
          (
      $pkNAVIGATIONHIDE['right'] ? ' AND navigationcat_align<>1' '')."
          ORDER by navigationcat_order ASC"
      );

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17

      PHP-Quelltext

      # pkOnlyUserNav
      $pkNowQuery   =$SQL->querystring;
      $pkOnlyUserNav=$SQL->fetch_array($SQL->query("SELECT navigationcat_access_user FROM ".pkSQLTAB_NAVIGATION_CATEGORY." LIMIT 1"));

      if (
      $pkOnlyUserNav!==NULL)
          {
          
      $pkNowQuery
              
      =
              
      str_replace(
                  
      sqlrights('navigationcat_rights'),
                  
      '(('.sqlrights('navigationcat_rights').' AND navigationcat_access_user=\'\') OR (navigationcat_access_user!=\'\' AND navigationcat_access_user LIKE \'%-'.pkGetUservalue('id').'-%\'))',
                  
      $pkNowQuery
                  
      )
              ;
          
      $query  =$SQL->query($pkNowQuery);
          }
      # pkOnlyUserNav

  • pkinc/public/install.php
    • Erstelle* o.g. Datei und füge folgenden Code ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42

      PHP-Quelltext

      <?php
      if (pkGetUservalue('status')!=='admin')
          {
          
      pkEvent('page_not_found');
          return;
          }
      echo 
      '
      Willkommen bei der Installation von <span style="font-weight: bold;">pkUserOnlyNav</span>.
      <br /><br />
      <form action="?path=install" method="post">
          <input type="submit" name="install" value="Installieren" />
          <input type="submit" name="deinstall" value="DeInstallieren" />
          <input type="submit" name="cancel" value="Abrechen" />
      </form>
      '
      ;


      if (isset(
      $_POST['cancel']))
          {
          
      pkHeaderLocation('start');
          }


      if (isset(
      $_POST['install']))
          {
          echo
              
      $SQL->query("ALTER TABLE ".pkSQLTAB_NAVIGATION_CATEGORY." ADD navigationcat_access_user TEXT NOT NULL")
              ? 
      '<span style="color: green;">Das Script wurde erfolgreich installiert.</span>'
              
      '<span style="color: red;">Beim installieren gab es einen Fehler.</span>'
              
      ;
          }


      if (isset(
      $_POST['deinstall']))
          {
          echo
              
      $SQL->query("ALTER TABLE ".pkSQLTAB_NAVIGATION_CATEGORY." DROP navigationcat_access_user")
              ? 
      '<span style="color: green;">Das Script wurde erfolgreich deinstalliert.</span>'
              
      '<span style="color: red;">Beim deinstallieren gab es einen Fehler.</span>'
              
      ;
          }
      ?>

      * = Kopiere einfach eine vorhandene .php-Datei und benennen sie wie o.g. genannt um und schiebe sie in den o.g. Ordner.

      Sobald du alle Dateien geändert hast, und die Install-Datei hochgeladen hast, führe sie einfach aus, indem du www.deineSeite.de/?path=install öffnest und der (simplen) Anleitung folgt.

      Nach der Installation (updaten der Datenbank) kann die Datei auch wieder gelöscht werden, oder auch nicht - wie du magst ;o Es können eh nur Administratoren diese Datei öffnen. Und sollte mal ein Admin bei dir die Datei öffnen und (ausversehen) auf DeInstallieren klicken, dann wird nur die Installation rückgängig gemacht. Das macht ansich aber nichts, da das Script immer abfragt, ob die Datenbank die nötige Spalte besitzt - es wird also keine Fehler oder so geben. Einzig werden die bisher gespeicherten Daten für dieses Script dann weg seien. Und optisch gäbe es dann nur ein Menupunkt im AdminCenter, der ohne Funktion wäre - mehr nicht.


Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von k!r!ka - 23.02.2013 - 13:49 Uhr
 
Zum Anfang der Seite
22.02.2013 - 14:33 Uhr
Beitrag: #5
Hab den obigen Code mal gefixt, da mir heute morgen eingefallen ist, das etwas fehlte - im AdminCenter steht in den Menupunkt ja, das Userstatuse irrelevant sind. Dies war nicht ganz richtig drin. In obigen Post ist die Änderung bereits drin, und in diesen Post erkläre ich nochmal den Weg, sofern du bereits obigen Code benutzt.

  • pkinc/publicinc/navigation.php
    • Öffne o.g. Datei und suche dies (alter Code von gestern Abend):



      1
      2
      3
      4
      5
      6

      PHP-Quelltext

          # pkOnlyUserNav
          
      if (isset($navcat['navigationcat_access_user']) && trim($navcat['navigationcat_access_user'])!='' && !stristr(trim($navcat['navigationcat_access_user']), '-'.pkGetUservalue('id').'-'))
              {
              continue;
              }
          
      # pkOnlyUserNav

      Und entferne diesen.

      ---

      Suche jetzt das:



      1
      2
      3
      4
      5
      6
      7
      8

      PHP-Quelltext

      $query $SQL->query("SELECT 
              *
          FROM "
      .pkSQLTAB_NAVIGATION_CATEGORY.
          WHERE navigationcat_status='1' AND "
      .
          
      sqlrights('navigationcat_rights').
          (
      $pkNAVIGATIONHIDE['left'] ? ' AND navigationcat_align<>0' '').
          (
      $pkNAVIGATIONHIDE['right'] ? ' AND navigationcat_align<>1' '')."
          ORDER by navigationcat_order ASC"
      );

      Und füge darunter das ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17

      PHP-Quelltext

      # pkOnlyUserNav
      $pkNowQuery   =$SQL->querystring;
      $pkOnlyUserNav=$SQL->fetch_array($SQL->query("SELECT navigationcat_access_user FROM ".pkSQLTAB_NAVIGATION_CATEGORY." LIMIT 1"));

      if (
      $pkOnlyUserNav!==NULL)
          {
          
      $pkNowQuery
              
      =
              
      str_replace(
                  
      sqlrights('navigationcat_rights'),
                  
      '(('.sqlrights('navigationcat_rights').' AND navigationcat_access_user=\'\') OR (navigationcat_access_user!=\'\' AND navigationcat_access_user LIKE \'%-'.pkGetUservalue('id').'-%\'))',
                  
      $pkNowQuery
                  
      )
              ;
          
      $query  =$SQL->query($pkNowQuery);
          }
      # pkOnlyUserNav



Hab das alles nochmal bei mir probiert und es hat alles geklappt. Wenn doch nicht, einfach meckern ;o


 
Zum Anfang der Seite
23.02.2013 - 12:50 Uhr
Beitrag: #6
Hallo k!r!ka,

habe es mal eingebaut, eine seperate Navbox erstellt und ausprobiert.
Klappt alles wunderbar ohne Fehler.

Ist auch eine gute Idee und feine Sache, die da eddi074 hatte. Kann man gebrauchen.

Aber eine Kleinigkeit ist ein wenig umständlich.

Wenn ich eine neue Navbox Katergorie erstelle und die Box auswähle, muss ich erst
ganz normal alles erstellen.
Danach muss ich dann auf Verweise gehen, die Box raussuchen und kann dann erst bestimmen,
welcher User oder mehrere User die Box sehen dürfen.
Von Vorteil wäre eventuell noch, so als kleine Erweiterung, dass man noch zusätzlich neben
den einzelnen Usernamen das Geschlecht auswählen könnte.

Z:B: Man möchte Navbox nur für Frauen oder Männer erstellen, dann muss man alle Männer oder Frauen anklicken.
Bei 50 oder mehr Usern eine Tagesaufgabe    Bääääh

mfg

micha

 
Zum Anfang der Seite
23.02.2013 - 14:34 Uhr
Beitrag: #7
  • Kleine Änderung für die Standard-Version:
    Hier klicken zum aufklappen


  • Erweiterung für die Standard-Version > Geschlechter-spezifische Auswahl:
    Hier klicken zum aufklappen


 
Zum Anfang der Seite
23.02.2013 - 18:36 Uhr
Beitrag: #8
Hallo,

hat alles hingehauen und funktioschnackelt alles korrekt.

mfg

micha

 
Zum Anfang der Seite
23.02.2013 - 21:01 Uhr
Beitrag: #9
So habe endlich Zeit gehabt und es ausprobiert.
Hatt alles wunderbar geklappt!!

 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Support Support » Smilies, nur für bestimmte Benutzerstatus - Letzte Antwort von Nashorn am 05.02.08, 22:29 Smilies, nur für bestimmte Benutzerstatus  (05.02.08, 22:29)
Verschiedenes Verschiedenes » Suche bestimmte ( Erweiterungen ) für PHPKIT 1.6.4 pl3 - Letzte Antwort von ResidentAJP am 19.08.08, 11:24 Suche bestimmte ( Erweiterungen ) für PHPKIT 1.6.4..  (19.08.08, 11:24)
Support Support » Navigation Entfernen auf Bestimmte Seiten - Letzte Antwort von WEBI am 22.09.12, 17:19 Navigation Entfernen auf Bestimmte Seiten  (22.09.12, 17:19)
Modifikationen Modifikationen » User Map - Letzte Antwort von -=]LCL[=-|BuLLeT| am 05.09.08, 16:38 User Map  (05.09.08, 16:38)
Support Support » user-map - Letzte Antwort von Everpower am 26.01.09, 12:05 user-map  (26.01.09, 12:05)

HTH-C.com - Webmedien & Community