com_login

yaml_com_login Modulausgabe

Auch der Ausgabeteil des Moduls ist dem Quelltext des com_login-Templates sehr ähnlich. Der HTML-Code des resultierenden Formulars wird in den Bereichen “//Login-Fenster aufbauen” und “//Logout-Fenster aufbauen” generiert.

In diesen Bereichen können einfach Anpassungen des Layouts vorgenommen werden.

<?php
/**
 * ==================================================
 * Modulausgabe: yaml_com_basis_login
 * Version: 1.0
 * Redaxo Version: 4.2
 * HTML-/XHTML-Version: XHTML 1.0
 * Hinweise:
 * Modul für Community-Basis-Login als
 * Alternative zu einem Login-Template
 *
 * Bearbeitung: Peter Reiche
 *        www.raybeam.de
 *
 * Datum: 19.12.2009
 * Ursprung: Template des Community-Basis-Addon
 * Ursprungsname: com_login_Modul
 * Ursprung-Datum: 16.08.2008
 * ================================================== */


 // Einrichten des Loginbereichs bei Status Logout
$oTextStatus      = 'REX_VALUE[1]'; // Text mit aktuellem Login-Status anzeigen
$oLoginInput      = 'REX_VALUE[2]'; // Login-Inputfelder Name/Passwort anzeigen
$oLinkRegister      = 'REX_VALUE[3]'; // "Registrieren?"-Link anzeigen
$oLinkPassword      = 'REX_VALUE[4]'; // "Passwort vergessen"-Link anzeigen

// Einrichten des Loginbereichs bei Status Login
$iTextStatus      = 'REX_VALUE[5]'; // Text mit aktuellem Login-Status anzeigen
$iLoginUser       = 'REX_VALUE[6]'; // "User: Username" anzeigen
$iLinkMyProfile     = 'REX_VALUE[7]'; // "Mein Profil"-Link anzeigen
$iLinkLogout      = 'REX_VALUE[8]'; // "Logout"-Link anzeigen

// Einrichten des Loginbereichs Bezeichner / Textvorgaben
$msgLinkRegisterTxt   = 'REX_VALUE[9]'// Text für Registrierungs-Link
$msgLinkPasswordTxt   = 'REX_VALUE[10]'// Text für Link Passwort vergessen
$msgLoginUserTxt    = 'REX_VALUE[11]'// Text vor aktuellem User
$msgLinkMyProfileTxt  = 'REX_VALUE[12]'// Bezeichnung des "Mein Profil"-Links
$msgStatusTxt     = 'REX_VALUE[13]'// Text vor Statusanzeige
$msgStatusLogin     = 'REX_VALUE[14]'// Statusanzeige "angemeldet"
$msgStatusLogout    = 'REX_VALUE[15]'// Statusanzeige "abgemeldet"
$msgLinkLogoutTxt   = 'REX_VALUE[16]'// Bezeichnung des "Logout"-Links

// Initialisierung
$login = '';
$status = '';
$msgStatus = '';
$msgLinkRegister = '';
$msgLinkPassword = '';
$msgLinkMyProfile = '';
$msgLinkLogout = '';

$now = time();
$gab = 60*60;
$ti = $now-$gab;

// Community-User ist eingeloggt
if (isset($REX['COM_USER']) && is_object($REX['COM_USER']))
{
  // Status anzeigen
  if($iTextStatus == 'true')
  {
    $msgStatus = $msgStatusTxt.$msgStatusLogin;
  }

  // Namen des angemeldeten Benutzers ermitteln
  if($iLoginUser == 'true')
  {
    $msgLoginUser = $msgLoginUserTxt.$REX['COM_USER']->getValue('firstname');
  }

  // Link "Mein Profil" anzeigen
  if($iLinkMyProfile == 'true')
  {
    $msgLinkMyProfile = '<a href="'.rex_getUrl($REX["ADDON"]["COMMUNITY_VARS"]["COM_PAGE_MYPROFIL_ID"]).'">'.$msgLinkMyProfileTxt.'</a>';
  }

  // Logout-Link anzeigen
  if($iLinkLogout == 'true')
  {
    $msgLinkLogout = '<a href="'.rex_getUrl($REX["ADDON"]["COMMUNITY_VARS"]["COM_PAGE_LOGOUT_ID"],'',array('logout'=>1)).'">'.$msgLinkLogoutTxt.'</a>';
  }

  // Login-Fenster aufbauen
  $login = '<div class="floatbox">'."\n";
  if($iTextStatus == 'true')$login .='  <h2>'.$msgStatus."</h2>\n"// Loginstatus anzeigen
  if($iLoginUser == 'true')$login .='  <p>'.$msgLoginUser."</p>\n"// Loginuser anzeigen
  if($iLinkMyProfile == 'true' || $iLinkLogout == 'true')       // "Logout"- und "Mein Profil"-Link anzeigen
  {
    $login .= "  <ul>\n";
    if($iLinkMyProfile == 'true')$login .= '    <li>'.$msgLinkMyProfile."</li>\n";
    if($iLinkLogout == 'true')$login .= '    <li>'.$msgLinkLogout."</li>\n";
    $login .= "  </ul>\n";
  }
  $login .= "</div>\n";
}
// Anmeldung liegt nicht vor
else
{
  // Status anzeigen
  if($oTextStatus == 'true')
  {
    $msgStatus = $msgStatusTxt.$msgStatusLogout;
  }

  // Loginfelder anzeigen
  if($oLoginInput == 'true')
  {
    $msgLoginInput = '<form action="'.rex_getUrl($REX["ADDON"]["COMMUNITY_VARS"]["COM_PAGE_LOGIN_ID"]).'" class="yform" method="post">
        <fieldset>
        <div class="type-text">
          <label for="name" class="hidden">Benutzername:</label>
          <input type="text" id="name" name="login_name" value="Benutzername..." onblur="if(this.value == \'\') this.value=\'Benutzername...\'" onfocus="if(this.value == \'Benutzername...\') this.value=\'\'" />
        </div>
        <div class="type-text">
          <label for="password" class="hidden">Passwort:</label>
          <input type="password" id="password" name="login_psw" value="Passwort..." onblur="if(this.value == \'\') this.value=\'Passwort...\'" onfocus="if(this.value == \'Passwort...\') this.value=\'\'" />
        </div>
        <div class="type-button">
          <input class="submit" type="submit" value="Login" title="Anmeldung durchführen" name="login"/>
        </div>
        </fieldset>
      </form>'
."\n";
  }

  // Registrierungslink anzeigen
  if($oLinkRegister == 'true')
  {
    $msgLinkRegister = '<a href="'.rex_getUrl($REX["ADDON"]["COMMUNITY_VARS"]["COM_PAGE_REGISTER_ID"]).'">'.$msgLinkRegisterTxt.'</a>';
  }

  // Passwort-Link anzeigen
  if($oLinkPassword == 'true')
  {
    $msgLinkPassword = '<a href="'.rex_getUrl($REX["ADDON"]["COMMUNITY_VARS"]["COM_PAGE_PSWFORGOTTEN_ID"]).'">'.$msgLinkPasswordTxt.'</a>';
  }

  // Logout-Fenster aufbauen
  $login = '<div class="floatbox">'."\n";
  if($oTextStatus == 'true')$login .='  <h2>'.$msgStatus."</h2>\n";  // Loginstatus anzeigen
  if($oLoginInput == 'true')$login .= $msgLoginInput;                // Loginname/Passwort anzeigen
  $login .= "</div>\n";
}
echo $login;
 ?>