Seite 1 von 1

[3.2] Benutzerdefiniertes Feld in die Spalte "Inaktive Benutzer" einfügen

Verfasst: 17.03.2019 14:27
von stefan-franz
Hallo allerseits,

gibt es die Möglichkeit, die Auflistung "Inaktive Benutzer" um ein Feld zu erweitern? Der Grund ist, dass bei uns einige Leute freischalten - aber nur jeweils die Leute die in ihrem eigenem Vertriebs-Team sind, freischalten dürften. Zur besseren Bedienung wäre noch 1 Feld hilfreich, das in einer spalte angezeigt wird. Das Feld heißt "sponsor_name" und sollte in der Spalte an 3. Stelle (nach der Mail Adresse) stehen - auch in der Ansicht am Smartphone erscheinen.

Wie und wo könnte ich es einbauen?

Notfalls könnte auch auf die Spalte "letzter Besuch" verzichten und dafür eben als Überschrift "Sponsor" und das Feld "sponsor_name" auflisten (falls Obiges zu aufwändig ist).

Lg Stefan

Re: [3.2] Benutzerdefiniertes Feld in die Spalte "Inaktive Benutzer" einfügen

Verfasst: 16.04.2019 14:37
von Mahony
Hallo

Hier nun die Lösung des Problems:

Suche in der includes/acp/acp_inactive.php

Code: Alles auswählen

'USERNAME'			=> get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
				'USER_COLOR'		=> get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
				'USER_EMAIL'		=> $row['user_email'],
Ersetze mit

Code: Alles auswählen

'USERNAME'			=> get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
				'USER_COLOR'		=> get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
				'USER_EMAIL'		=> $row['user_email'],
				'SPONSOR'		    => $row['pf_sponsor_name'],
Suche in der includes/functions_admin.php

Code: Alles auswählen

$sql = 'SELECT *
		FROM ' . USERS_TABLE . '
		WHERE user_type = ' . USER_INACTIVE .
		(($limit_days) ? " AND user_inactive_time >= $limit_days" : '') . "
		ORDER BY $sort_by";
	$result = $db->sql_query_limit($sql, $limit, $offset);

Ersetze mit

Code: Alles auswählen

$sql = 'SELECT u.* , p.pf_sponsor_name
		FROM ' . USERS_TABLE . ' u JOIN ' . PROFILE_FIELDS_DATA_TABLE . ' p
		WHERE u.user_type = ' . USER_INACTIVE .
		(($limit_days) ? " AND u.user_inactive_time >= $limit_days" : '') . " AND u.user_id = p.user_id
		ORDER BY $sort_by";
	$result = $db->sql_query_limit($sql, $limit, $offset);

Suche in der adm/style/acp_inactive.html

Code: Alles auswählen

<tr>
	<th>{L_USERNAME}</th>
	<th>{L_EMAIL}</th>
Ersetze mit

Code: Alles auswählen

<tr>
	<th>{L_USERNAME}</th>
	<th>{L_EMAIL}</th>
	<th>{L_SPONSOR}</th>
Suche

Code: Alles auswählen

<tr>
		<td style="vertical-align: top;">
			{inactive.USERNAME_FULL}
			<!-- IF inactive.POSTS --><br />{L_POSTS}{L_COLON} <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
		</td>
		<td style="vertical-align: top;">{inactive.USER_EMAIL}</td>
Ersetze mit

Code: Alles auswählen

<tr>
		<td style="vertical-align: top;">
			{inactive.USERNAME_FULL}
			<!-- IF inactive.POSTS --><br />{L_POSTS}{L_COLON} <strong>{inactive.POSTS}</strong> [<a href="{inactive.U_SEARCH_USER}">{L_SEARCH_USER_POSTS}</a>]<!-- ENDIF -->
		</td>
		<td style="vertical-align: top;">{inactive.USER_EMAIL}</td>
		<td style="vertical-align: top;">{inactive.SPONSOR}</td>

Suche in der language/xx/common.php (im Beispiel hier für de)

Code: Alles auswählen

'EMAIL'								=> 'E-Mail', // Short form for EMAIL_ADDRESS
	'EMAIL_ADDRESS'						=> 'E-Mail-Adresse',
Ersetze mit

Code: Alles auswählen

'EMAIL'								=> 'E-Mail', // Short form for EMAIL_ADDRESS
	'EMAIL_ADDRESS'						=> 'E-Mail-Adresse',
	'SPONSOR'							=> 'Sponsor',
EDIT: Soll auch nach Sponsor sortiert werden können, dann

Suche in der includes/acp/acp_inactive.php

Code: Alles auswählen

$limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
		$sort_by_text = array('i' => $user->lang['SORT_INACTIVE'], 'j' => $user->lang['SORT_REG_DATE'], 'l' => $user->lang['SORT_LAST_VISIT'], 'd' => $user->lang['SORT_LAST_REMINDER'], 'r' => $user->lang['SORT_REASON'], 'u' => $user->lang['SORT_USERNAME'], 'p' => $user->lang['SORT_POSTS'], 'e' => $user->lang['SORT_REMINDER']);
		$sort_by_sql = array('i' => 'user_inactive_time', 'j' => 'user_regdate', 'l' => 'user_lastvisit', 'd' => 'user_reminded_time', 'r' => 'user_inactive_reason', 'u' => 'username_clean', 'p' => 'user_posts', 'e' => 'user_reminded');
Ersetze mit

Code: Alles auswählen

$limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']);
		$sort_by_text = array('i' => $user->lang['SORT_INACTIVE'], 'j' => $user->lang['SORT_REG_DATE'], 'l' => $user->lang['SORT_LAST_VISIT'], 'd' => $user->lang['SORT_LAST_REMINDER'], 'r' => $user->lang['SORT_REASON'], 'u' => $user->lang['SORT_USERNAME'], 'p' => $user->lang['SORT_POSTS'], 'e' => $user->lang['SORT_REMINDER'], 's' => $user->lang['SPONSOR']);
		$sort_by_sql = array('i' => 'user_inactive_time', 'j' => 'user_regdate', 'l' => 'user_lastvisit', 'd' => 'user_reminded_time', 'r' => 'user_inactive_reason', 'u' => 'username_clean', 'p' => 'user_posts', 'e' => 'user_reminded', 's' => 'pf_sponsor_name');

Grüße: Mahony