Diskuse

Téma: Skupiny uživatel na dobu určitou

Ahoj,
chci se zeptat, zda by šlo do administrace přidat dočasné přidělení skupiny uživateli. Například registrovanému uživateli nastavit moderátora na z dní nebo do určeného data? (Případně i nastavení od kdy)
Děkuji :)
postZaslat odpověď
Nastavení cronu jsem jako formu volby v aktualizované verzi nenašel nebo nevím, kde hledat. Za oněch 12 hodin se mi uživatel vrátil zpět na původní pozici.
S tímo řešením je funkce s přesností na půl den nebo den takto zcela vyhovující :-)
Děkuji :-)
Nastavení cronu jsem jako formu volby v aktualizované verzi nenašel ...
Najdete v Nastavení systému -> Správa rozšíření -> v řádku rozšíření konfigurace.
Jinak také:
VaseDomena.tld/admin/index.php?p=settings-plugins&action=usergroup.config

EDIT:
ten link jsem opravil, vypadlo tam úvodní lomítko.
Díky za doplnění.
ten link na stazeni by bylo potreba asi doplnit cca takto (tecka lomitko)
./upload/usergroup.zip jinak po kliku se mi otvira adresa http://upload/usergroup.zip

trochu jsem potunil ten UPDATE, a nyni uz funguje 😲
/* ---- funkce pluginu nastaveni uzivatelu - CRON---- */
$config = include _plugin_dir . 'usergroup/config.php';
/* ---- registrace pluginu ---- */
_extend('reg', 'sys.cron.' . $config['cron'], function($args) {

$query = DB::query("UPDATE `" . _mysql_prefix . "-users` u
INNER JOIN `" . _mysql_prefix . "-usergroup` ug ON (u.id = ug.user_id)
SET u.group = ug.group_id
WHERE ug.group_out<=" . time() . " AND ug.user_id IS NOT NULL");

if (true === $query)
{
DB::query("DELETE FROM `" . _mysql_prefix . "-usergroup` WHERE group_out<=" . time());
}
});
Jasně, to mě nenapadlo taková banalita...
OPRAVENO

Jen jsem upravil podmínky:
Do proměnné před výmazem načten časový údaj a ten je pak vyhodnocován v obou dotazech. Sice je to z hlediska časového zatížení serveru pakatel a pár milisekund, ale z pohledu "čistoty" zpracování dat je to lepší.
Absurdní situace by mohla způsobit že budou ve dvou dotazech vyhodnocovány 2 odlišné časové údaje a to by v konečném důsledku mohlo způsobit, že někteří uživatelé by nemohli být vráceni do své původní skupiny, protože jejich data by byla vymazána dříve, než by byla vrácena zpět.

Předpokládám, že jste pochopil mé myšlenkové pochody.
pochopil jsem, to mi hned taky nedoslo... malinko se v tom taky vrtam... poslu Vám pak upravenou verzi, at mate predstavu co jsem menil a co bych udelal ja jinak
OK, alespoň se něco přiučím na stará kolena...
Je možné, že po manuálním odebrání pozice uživateli "A" se vymaže uživatele "B" z db?
v kodu jsem narazil na neco co maze uzivatele ze systemu
admin/usergroup/script.php radek 62

nevím jak to Lonanek zamyslel, ale ja bych to zakomentoval... nevim proc by plugin mazal uzivatele
Chyba opravena.
Soubor ke stažení byl aktualizován.

nevím jak to Lonanek zamyslel, ale ja bych to zakomentoval... nevim proc by plugin mazal uzivatele
Chyba ve scriptu - špatná tabulka. Myšleno to je tak, že pokud při nastavení uživatele dojde k chybě zápisu do tabulky uživatelů, je vymazán již vložený řádek z tabulky nastavení na určitou dobu aby takový uživatel mohl být znovu nastaven.

@Transcendentone:
Je možné, že po manuálním odebrání pozice uživateli "A" se vymaže uživatele "B" z db?
Ten "B" se vymaže z databáze uživatelů?
Při výmazu nastavení uživatele nedochází k žádným výmazům uživatelů z tabulky. Výmaz v podstatě provede vrácení původní skupiny a výmaz nastavení, tak aby mohl být uživatel znovu zařazen do jiné skupiny.
Popravdě nevím, co se stalo, ale měl jsem testovací dva uživatele a když jsem jednomu odebral dočasně přiřazenou pozici, druhý se změnil na "---" a nebyl nikde k nalezení.
Ovšem je možné, že jsem místo v administraci dočasného přiřazení práv byl v editaci uživatele jako takové. Nevylučuji to. Pak by se jednalo o planný poplach :-)