Hallo ich hab eine kleine Frage ich suche nach einer Möglichkeit den Add Identity bzw Neuer Absender Button bei den Identitäten auszublenden so wie es auch geschieht wenn die $rcmail_config['identities_level'] var auf zb. 2 gesetzt ist.
Grund die User sollen natürlich Identitäten anlegen können jedoch nur 3 Alias Identitäten also global habe ich $rcmail_config['identities_level'] auf 0 so das der Button angezeigt wird und der User neue Identitäten anlegen kann hat der User aber schon 3 Aliase soll er keine neue Identität anlegen können und der Button verschwinden.
Ich finde einfach nicht wo und wie dies definiert wird und ist wo ich eine kleine if anweisung einhängen muss um dies umzusetzten.
Eine funktion zum Identitäten zählen habe ich schon per
$sql_result = $USER->list_identities();
while($row = $DB->fetch_assoc($sql_result))
{
$origin_idents[] = $row;
}
$idents = count($origin_idents[]);
Evtl. kann mir ja wer helfen bin für jeden Denkanstoß und Tipp dankbar
Danke rosali hab es etwas anders gelöst ... in der main.inc.php
eine neue var die die max anzahl der Identitäten bereistellt hinzufügen.
$rcmail_config['max_identities'] = 4;
in der identities.inc oben einfügen
define('MAX_IDENTITIES', intval($RCMAIL->config->get('max_identities', 0)));
und
$OUTPUT->send('identities');
durch
$sql_result = $USER->list_identities();
while($row = $DB->fetch_assoc($sql_result))
{
$origin_idents[] = $row;
}
if(count($origin_idents) < MAX_IDENTITIES)
$OUTPUT->send('identities');
else
$OUTPUT->send('identities_noadd');
ersetzten
dann das template identities.html ändern und Zeile
löschen und als neue Datei speichern unter dem namen identities_noadd.html
und zu guter letzt um illegale versuche identitäten anzulegen zu unterbinden
die save_identity.inc bearbeiten oben
define('MAX_IDENTITIES', intval($RCMAIL->config->get('max_identities', 0)));
$sql_result = $USER->list_identities();
while($row = $DB->fetch_assoc($sql_result))
{
$origin_idents[] = $row;
}
einfügen und
// insert a new identity record
else if (IDENTITIES_LEVEL < 2)
durch
// insert a new identity record
else if (IDENTITIES_LEVEL < 2 and count($origin_idents) < MAX_IDENTITIES)
ersetzten.
fertig.
Edit: wer will kann auch die edit_identity.inc noch anpassen so würde es bei einem illegalen versuch schon eher stoppen.
oben
define('MAX_IDENTITIES', intval($RCMAIL->config->get('max_identities', 0)));
hinzufügen
und
// add-identity
else {
if (IDENTITIES_LEVEL > 1) {
durch
// add-identity
else {
$sql_result = $USER->list_identities();
while($row = $DB->fetch_assoc($sql_result))
{
$origin_idents[] = $row;
}
if (IDENTITIES_LEVEL > 1 or count($origin_idents) >= MAX_IDENTITIES) {
ersetzten.
Ist sicher bisserl umständlich aber eine andere Lösung hab ich nicht gefunden.