Příspěvky uživatele Lonánek

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.
Standardně to nezjistíte, pokud se nemýlím.
OK, alespoň se něco přiučím na stará kolena...
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.
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í.
Jirko, děkuji Vám za připomínky.
Směšný Update zapracuji, no hotl jsem začínal na phpRS...

Tohle je můj třetí plugin, takže se spíše se SL sžívám a občas i koukám co a jak autor řeší.
Samozřejmě použití funkcí je příjemnější, i když _get() a _post() vše zpracují jako řetězec.

Samozřejmě, že prvořadé bylo vytvořit funkční modul, Výpisy budou dopracovány, u některých nastavení jsem na to nějak v rychlosti pozapomněl. Ono něco udělat za pár hodin a dotáhnout k dokonalosti mi moc nejde. No už taky nejsem nejmladší a paměť už moc neslouží 😁

Ten hromadný update hlásí chybu syntaxe, ale zatím se mi nepodařilo přijít na to kde by mohla být. Někde drhne na FROM ...

Ovšem s ohledem na dobu nastavení CRONu by to zase taková zátěž nemusela být. Samozřejmě čím méně dotazů tím lépe.

EDIT:
Opravená verze je ve stejném odkazu.
Doplněny hlášky, opraven SQL dotaz výmazu dle JD, přidána volba nastavení CRONu -> konfigurace.
Platnost do je nastavený časový údaj po jehož uplynutí a spuštění cronu dojde k automatickému vrácení do původního stavu, tedy uživateli je vrácena jeho úroveň.
Cron se spouští po 12h, pokud chcete častější spuštění cronu, změňte si jeho hodnotu na Vámi požadovanou.
Změnu provedete v souboru plugins/extend/usergroup/usergroup.php na posledním řádku změnou hodnoty 12h
_extend('reg', 'sys.cron.12h', '_plugin_usergroup_cron');např. na 30 minut_extend('reg', 'sys.cron.30m', '_plugin_usergroup_cron');. Viz. dokumentace cronu sys.cron.x .

Odpoledne do konfigurace pluginu přidám možnost pro nastavení doby spuštění.
Moc jste to nerozvedl, tak jsem to udělal podle svého.
Váš návrh jsem zavrhl, protože by vyžadoval zásah do zdrojových souborů. To by mohl být problém při aktualizaci CMS.
Zvolil jsem formu rozšíření systému.

Zkuste otestovat tento výtvor.
Ponechávám bez komentáře a návodu. Jde mi také o intuitivnost celkového ovládání a instalace.
Tak upřesněte požadavky na funkčnost a co vše od modulu očekáváte.
Zkusím se na to zítra podívat.
Tak se zadařilo?
Pokud ne, kde je problém, nástin řešení, ...
Inspirovat se můžete např. ze souboru users-list.php.

Pokud alespoň trochu ovládáte php, pak by to neměl být problém. Dokumentace je velice srozumitelně zpracována.
Domnívám se, že v tomto případě by postačoval jednoduchý plugin v administraci, který by zabezpečil uživatelské nastavení (formulář) a uložení dat do tabulky (např. ID uživatele, původní level, čas vrácení) a extend plugin (CRON) by pak vše po platnosti časového údaje vracel zpět.
Šlo.
Všechno jde, jenom malé děti a noviny se musí nosit. I chcíplá koza jde, ta jde stáhnout.

Napsat si vlastní rozšíření, nebo si jej za určitý obolos nechat napsat.
Domnívám se, že jednodušší je si to v administraci nastavit. Kolik takových případů bude a jak často to budete využívat?
Jen mi to přijde dost složitý.
Je to přesně ten samý kód, který jste uvedl. Nic není upravováno, pouze jsem vypustil parsování.

To jak se vše zobrazuje je dáno dle Vás, tedy strukturou webu. Jen nepočítáte s tím, že rozcestníky mohou mít vlastní číslování od 1. Proto se Vám to zdá chaotické a nesmyslné, ale takto jste uvedl kód.

Váš kód:if(!defined('_core')) exit;
function _HCM_df_sqlshow(){
$output="";
$sql = DB::query("SELECT * FROM `"._mysql_prefix."-root` WHERE visible=1 AND public=1 ORDER BY ord ASC");
while ($item = DB::row($sql)){
$output.="<div id='".$item["title_seo"]."'>"; if($item['autotitle']==1) {$output.="<h1>".$item["title"]."</h1>";}
$output.=_parseHCM($item['content']);
if($item['type']==5) {$output.="<div id='gallery'>";$output.=_parseHCM('[hcm]galimage,'.$item["id"].',1,165,5000[/hcm]');$output.="</div>";
}
$output.="</div>";
}
return $output;
}
kód na mých stránkách:
if (!defined('_core'))
exit;

function _HCM_lon_sqlshow()
{
$output="";
$sql = DB::query("SELECT * FROM `"._mysql_prefix."-root` WHERE visible=1 AND public=1 ORDER BY ord ASC");
while ($item = DB::row($sql)){
$output.="<div id='".$item["title_seo"]."'>"; if($item['autotitle']==1) {$output.="<h1>".$item["title"]."</h1>";}
// $output.=_parseHCM($item['content']);
$output.=($item['content']);
if($item['type']==5) {$output.="<div id='gallery'>";
//$output.=_parseHCM('[hcm]galimage,'.$item["id"].',1,165,5000[/hcm]');
$output.=('[hcm]galimage,'.$item["id"].',1,165,5000[/hcm]');
$output.="</div>";
}
$output.="</div>";
}
return $output;
}
Jaký je tam tedy rozdíl, mimo toho co jsem popsal?

K načtení mé stránky jsem použil ten poslední vložený kód zde na fóru, proto se ty stránky zobrazují tak jak potřebuji i s galerií.
Není to o kódu, ale o struktuře menu, podle kterého třídíte pouze podle pořadí bez ohledu na další návaznosti. Proto jsem doporučoval třídit podle typu. Zobrazovalo by se pak v pořadí:
sekce, kategorie, kniha, oddělovač, galerie, odkaz, rozcestník, fórum a plugin stránka.
Nikde nezobrazujete články, ...

Jestli jsem to dobře pochopil při 50 galerií bych musel mít 100 položek ve Správě obsahu.
Ne, nepochopil jste to dobře. Při 50 galeriích budete mít "pouze" 50 dalších zbytečných dotazů do databáze.
Pokud jsem z ukázky správně pochopil, pak Vám nejde ani tak o to zobrazit vše, ale pouze galerie.
Nejprve by jste si měl ujasnit, co vlastně chcete zpracovávat, pak se dá pokračovat v něčem smysluplném.

Váš původní požadavek a zaslaný kód na klasickém SL se sekcemi, kategoriemi, články, ... pak vypadá nějak takto. Jen z nějakého, prozatím mne neznámého důvodu, nefunguje parsování.