WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 23.06.2017 11:36:03

byteworker
Mitglied

Login Zeile als Droplet?

Hallo Zusammen,
ich suche ein kleines Droplet, mit dem ich eine einfache Zeile ala:

"Anmelden"

im Kopf meines Templates bauen kann. Es soll im angemeldeten Zustand dann "Abmelden" und eventuell in Klammern dahinter "meine Daten" stehen und dann eben abmelden bzw. zu /account/preferences.php verlinken.

Grüße Norbert

Offline

#2 23.06.2017 11:55:47

florian
Administrator

Re: Login Zeile als Droplet?

So?

//:Absolute or relative url possible
//:Remember to enable frontend login in your website settings.

	global $wb,$page_id,$TEXT, $MENU, $HEADING;

	$return_value = '';
	$return_admin = ' ';
	// Return a system permission
	function get_permission($name, $type = 'system')
	{
	   	global $wb;
	// Append to permission type
		$type .= '_permissions';
		// Check if we have a section to check for
		if($name == 'start') {
			return true;
		} else {
			// Set system permissions var
			$system_permissions = $wb->get_session('SYSTEM_PERMISSIONS');
			// Set module permissions var
			$module_permissions = $wb->get_session('MODULE_PERMISSIONS');
			// Set template permissions var
			$template_permissions = $wb->get_session('TEMPLATE_PERMISSIONS');
			// Return true if system perm = 1
			if (isset($$type) && is_array($$type) && is_numeric(array_search($name, $$type))) {
				if($type == 'system_permissions') {
					return true;
				} else {
					return false;
				}
			} else {
				if($type == 'system_permissions') {
					return false;
				} else {
					return true;
				}
			}
		}
	}

	function get_page_permission($page, $action='admin') {
		if ($action!='viewing'){ $action='admin';}
		$action_groups=$action.'_groups';
		$action_users=$action.'_users';
		if (is_array($page)) {
				$groups=$page[$action_groups];
				$users=$page[$action_users];
		} else {
			global $database,$wb;
			$results = $database->query("SELECT $action_groups,$action_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page'");
			$result = $results->fetchRow();
			$groups = explode(',', str_replace('_', '', $result[$action_groups]));
			$users = explode(',', str_replace('_', '', $result[$action_users]));
		}

		$in_group = FALSE;
		foreach($wb->get_groups_id() as $cur_gid){
		    if (in_array($cur_gid, $groups)) {
		        $in_group = TRUE;
		    }
		}
		if((!$in_group) AND !is_numeric(array_search($wb->get_user_id(), $users))) {
			return false;
		}
		return true;
	}


	
	if ( ( FRONTEND_LOGIN == 'enabled') &&
		    ( VISIBILITY != 'private') &&
		        ( $wb->get_session('USER_ID') == '')  )
	{
		$return_value .= '<a href="'.LOGIN_URL.'">Anmelden</a>';
		

	} elseif( (FRONTEND_LOGIN == 'enabled') &&
				(is_numeric($wb->get_session('USER_ID'))) )
	{
			$return_value .= '<a href="'.LOGOUT_URL.'">Abmelden</a> | <a href="'.PREFERENCES_URL.'">Meine Daten</a>'."\n";
        	
	}

	return $return_value;

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 23.06.2017 12:05:37

byteworker
Mitglied

Re: Login Zeile als Droplet?

Oh danke, ich teste es sofort.-  smile

Edit:
Bekomme eine allgemeine Schutzverletzung angezeigt beim Speichern des Codes, ich habe vermutlich noch eine alte Modul Version nach Upgrade auf WBCE 1.2 .
werde das Modul frisch installieren und dann berichten.

Beitrag geändert von byteworker (23.06.2017 12:12:34)

Offline

#4 23.06.2017 17:38:29

byteworker
Mitglied

Re: Login Zeile als Droplet?

Funkioniert, danke!

Offline

Fußzeile des Forums

up