Userauswahl für Portal an und abstellen

Hier gibt es kleinere Snippets für das Board3 Portal Version 2.0.x.
Benutzeravatar
reyno41
Administrator
Administrator
Offline
Beiträge: 265
Registriert: Sa 19. Jun 2010, 20:12
Quad/ATV: Can Am
Skype: canam800er
Wohnort: Bayern
Kontaktdaten:

Userauswahl für Portal an und abstellen

Beitragvon reyno41 » Fr 3. Jan 2014, 14:57


Autor: Kirk
Hinweis:
Dieses Snippet befindet sich noch in der Enwtwicklungsphase, biite nicht in einem produktiven Forum einsetzen!
Beschreibung:
Über eine Einstellung "Persönlichen Bereich" können die User selbst entscheiden, ob sie das Portal sehen oder zum Foren-Index weitergeleitet werden wollen.

Öffne: root/portal.php

Finde:

Code: Alles auswählen

$user->setup('mods/portal');

Danach einfügen:

Code: Alles auswählen

global $data;
if (!($user->optionset('u_viewportal', $data['user_otpions'])))
{
     redirect(append_sid($phpbb_root_path . 'index.' . $phpEx));
}


Öffne: root/includes/functions.php

Finde:

Code: Alles auswählen

      'S_USER_LOGGED_IN'      => ($user->data['user_id'] != ANONYMOUS) ? true : false,

Davor einfügen:

Code: Alles auswählen

        'S_PORTAL'              => $user->optionget('u_viewportal'),   


Öffne: root/includes/session.php

Finde:

Code: Alles auswählen

'sig_links' => 17

Danach in der selben Zeile einfügen:

Code: Alles auswählen

, 'u_viewportal' => 18


Öffne: includes/ucp/ucp_prefs.php

Finde:

Code: Alles auswählen

               'wordcensor'   => request_var('wordcensor', (bool) $user->optionget('viewcensors')),

Danach einfügen:

Code: Alles auswählen

                    'portal'        => request_var('u_portal', (bool) $user->optionget('u_viewportal')),


Finde:

Code: Alles auswählen

                  if ($auth->acl_get('u_chgcensors'))
                  {
                     $user->optionset('viewcensors', $data['wordcensor']);
                  }

Danach einfügen:

Code: Alles auswählen

                        $user->optionset('u_viewportal', $data['portal']);


Finde:

Code: Alles auswählen

               'S_DISABLE_CENSORS'   => $data['wordcensor'],

Danach einfügen:

Code: Alles auswählen

                    'S_PORTAL'          => $data['portal'],


Öffne: root/language/de/ucp.php

Finde:

Code: Alles auswählen

   'VIEW_POSTS_KEY'         => 'Zeige Beiträge sortiert nach',

Danach einfügen:

Code: Alles auswählen

    'VIEW_PORTAL'               => 'Portal anzeigen',

Anmerkung: Bitte beachte für das Abspeichern dieser Datei, dass in phpBB3 u.a. die Sprachdateien in einem speziellen Format, UTF-8 (ohne BOM), gespeichert werden müssen.


Für prosilver basierende Styles!

Öffne: root/styles/[stylename]/template/overall_header.html

Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Davor einfügen:

Code: Alles auswählen

<!-- IF SCRIPT_NAME == "portal" --><a href="{U_PORTAL}" accesskey="h">{L_PORTAL}</a> &#187; <!-- ENDIF -->


Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Ersetzen mit:

Code: Alles auswählen

<!-- IF U_PORTAL and S_PORTAL -->


Öffne: root/styles/[stylename]/template/overall_footer.html

Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Davor einfügen:

Code: Alles auswählen

<!-- IF SCRIPT_NAME == "portal" --><a href="{U_PORTAL}" accesskey="h">{L_PORTAL}</a> &#187; <!-- ENDIF -->


Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Ersetzen mit:

Code: Alles auswählen

<!-- IF U_PORTAL and S_PORTAL -->


Öffne: root/styles/[stylename]/template/ucp_prefs_view.html

Finde:

Code: Alles auswählen

      <!-- IF S_CHANGE_CENSORS -->
         <dl>
            <dt><label for="wordcensor1">{L_DISABLE_CENSORS}:</label></dt>
            <dd>
               <label for="wordcensor1"><input type="radio" name="wordcensor" id="wordcensor1" value="1"<!-- IF S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
               <label for="wordcensor0"><input type="radio" name="wordcensor" id="wordcensor0" value="0"<!-- IF not S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
            </dd>
         </dl>
      <!-- ENDIF -->


Danach einfügen:

Code: Alles auswählen

        <!-- IF U_PORTAL -->
      <dl>
            <dt><label for="u_portal1">{L_VIEW_PORTAL}:</label></dt>
            <dd>
                <label for="u_portal1"><input type="radio" name="u_portal" id="u_portal1" value="1"<!-- IF S_PORTAL --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
                <label for="u_portal0"><input type="radio" name="u_portal" id="u_portal0" value="0"<!-- IF not S_PORTAL --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
            </dd>
         </dl>
      <!-- ENDIF -->


Für subsilver2 basierende Styles!

Öffne: root/styles/[stylename]/template/breadcrumbs.html

Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Davor einfügen:

Code: Alles auswählen

<!-- IF SCRIPT_NAME == "portal" --><a href="{U_PORTAL}" accesskey="h">{L_PORTAL}</a> &#187; <!-- ENDIF -->


Finde:

Code: Alles auswählen

<!-- IF U_PORTAL -->

Ersetzen mit:

Code: Alles auswählen

<!-- IF U_PORTAL and S_PORTAL -->


Öffne: root/styles/[stylename]/template/ucp_prefs_view.html

Finde:

Code: Alles auswählen

<!-- IF S_CHANGE_CENSORS -->
   <tr>
      <td class="row1" width="50%"><b class="genmed">{L_DISABLE_CENSORS}:</b></td>
      <td class="row2"><input type="radio" class="radio" name="wordcensor" value="1"<!-- IF S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_YES}</span>&nbsp; &nbsp;<input type="radio" class="radio" name="wordcensor" value="0"<!-- IF not S_DISABLE_CENSORS --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_NO}</span></td>
   </tr>
<!-- ENDIF -->


Danach einfügen:

Code: Alles auswählen

<!-- IF U_PORTAL -->
<tr>
    <td class="row1" width="50%"><b class="genmed">{L_VIEW_PORTAL}:</b></td>
    <td class="row2"><input type="radio" class="radio" name="u_portal" value="1"<!-- IF S_PORTAL --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_YES}</span>&nbsp; &nbsp;<input type="radio" class="radio" name="u_portal" value="0"<!-- IF not S_PORTAL --> checked="checked"<!-- ENDIF --> /><span class="gen">{L_NO}</span></td>
</tr>
<!-- ENDIF -->


Aktualisiere deine Styles:
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"

Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"


Hinweis:
Diese Einstellung dafür findest du in Persönlicher Bereich/Einstellungen/Anzeigeoptionen ändern
vorausgesetzt die Gruppe oder der User hat die Berechtigung "Kann das Portal sehen"
Wenn du in diesen oben genannten Bereich bei Portal anzeigen auf nein gestellt hast,
wird kein Link zum Portal angezeigt.
Diese Option "Kann das Portal sehen" ist standardmäßig auf nein gestellt.
Schön ist es auf der Welt zu sein

Benutzeravatar
reyno41
Administrator
Administrator
Offline
Beiträge: 265
Registriert: Sa 19. Jun 2010, 20:12
Quad/ATV: Can Am
Skype: canam800er
Wohnort: Bayern
Kontaktdaten:

Userauswahl für Portal an und abstellen

Beitragvon reyno41 » Fr 3. Jan 2014, 15:21


Wenn du die Option im ACP bei der Benutzer-Verwaltung ebenfalls willst, gehe wie folgt vor:

Öffne: root/adm/style/acp_users_prefs.html

Finde:

Code: Alles auswählen

      <dl>
      <dt><label for="view_wordcensor">{L_DISABLE_CENSORS}:</label></dt>
      <dd><label><input type="radio" class="radio" name="view_wordcensor" value="1"<!-- IF VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
         <label><input type="radio" class="radio" name="view_wordcensor" value="0"<!-- IF not VIEW_WORDCENSOR --> id="view_wordcensor" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
   </dl>

Danach einfügen:

Code: Alles auswählen

   <dl>
      <dt><label for="u_viewportal">{L_VIEW_PORTAL}:</label></dt>
      <dd><label><input type="radio" class="radio" name="u_viewportal" value="1"<!-- IF U_VIEW_PORTAL --> id="u_viewportal" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
         <label><input type="radio" class="radio" name="u_viewportal" value="0"<!-- IF not U_VIEW_PORTAL --> id="u_viewportal" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
   </dl>


Öffne: root/includes/acp/acp_users.php

Finde:

Code: Alles auswählen

               'view_wordcensor'   => request_var('view_wordcensor', $this->optionget($user_row, 'viewcensors')),

Danach einfügen:

Code: Alles auswählen

                    'u_viewportal'     => request_var('u_viewportal', $this->optionget($user_row, 'u_viewportal')),


Finde:

Code: Alles auswählen

                  $this->optionset($user_row, 'viewcensors', $data['view_wordcensor']);

Danach einfügen:

Code: Alles auswählen

                        $this->optionset($user_row, 'u_viewportal', $data['u_viewportal']);


Finde:

Code: Alles auswählen

               'VIEW_WORDCENSOR'   => $data['view_wordcensor'],

Danach einfügen:

Code: Alles auswählen

                    'U_VIEW_PORTAL'     => $data['u_viewportal'],


Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"

Jetzt kannst du diese Option im ACP/Benutzer und Gruppen/Benutzer-Verwaltung ebenfalls auf deine User anwenden.
Schön ist es auf der Welt zu sein