Dočasný přístup do členské sekce Miowebu

Mioweb

Mioweb je rozšíření WordPressu doplňující do něj možnosti prodeje infoproduktů (on-line kurzy, školení, e-booky,…) a snadné tvoření propracovaných stránek „skládáním“ mnoha rozmanitých prvků (nadpisy, obrázky, videa, formuláře, …) v tzv. „builderu“. Nechci rozepisovat, co Mioweb umí – už proto, že jej jako programátor nemám rád 😀 Proč to? Protože na Miowebem poháněném webu je spousta úkonů snadných v tradiční instalaci WordPressu najednou extrémně komplikovaná až nemožná, a klienti to obtížně chápou.

Obrátil se na mě klient s požadavkem: „Mám na webu členskou sekci rozdělenou do sedmi kapitol, a registrační formulář. Chci, aby se každý registrovaný uživatel mohl na 15 minut podívat do každé kapitoly (obsahují videa a články), ale pak mu bylo toto oprávnění zrušeno. Po 15 minutách by se mu již zobrazil pouze objednávkový formulář a za přístup do všech kapitol by musel zaplatit.“ 

Toto Mioweb také umí – jenže lze nastavit pouze lhůtu ve dnech. A pokud nabízíte v členské sekci videa a články, tak 24 hodin je spousta času na jejich zhlédnutí a přečtení (zdarma).

Zpočátku jsem to viděl velmi skepticky, protože na jeho rozsáhlém webu je členských sekcí více, a Mioweb mi dával jen omezené možnosti, jak zjistit, do jaké z nich se kdo registruje. Můj plugin si musel být 100% jistý, že nastavuje (nebo odebírá) dočasný přístup správnému uživateli, a ne někomu, kdo se přihlašuje k něčemu jinému, nebo již má přístup zaplacen, atd.

A nakonec jsem se k řešení dopracoval. Můj plugin ve WordPressu „naslouchá“, jestli se někdo právě neregistruje. A pokud ano, tak jestli zpracovávaná data odpovídají registračnímu formuláři do členské sekce. Takového uživatele si pak označí a čeká, až se bude přihlašovat. Ihned po registraci totiž není uživatel přihlášený, to musí provést následně ručně. Což znamená, že s oním 15 minutovým odpočtem musím počkat až na jeho první přihlášení, a nikoli jej počítat hned od registrace. Kdyby si mezitím odešel uvařit kávu, aby si zpříjemnil nakouknutí do členské sekce, tak mu 5-10 minut z této lhůty uteče, aniž by se byl vůbec přihlásil. Teprve s jeho prvním přihlášením si plugin spočítá, za kolik sekund mu má přístup vypršet, a při každém načtení stránky členské sekce se podívá, jestli již uživatel „nepřesluhuje“. Pokud ano, odebere mu přístupy do ostatních kapitol mimo objednávkového formuláře.

Problém ale je, že tuto kontrolu může plugin provádět jen přechází-li uživatel mezi stránkami webu. Kdyby si všechny kapitoly pozotevíral najednou do nových záložek, tak by je mohl mít otevřené hodiny, vše přečíst, zhlédnout všechna videa … a já bych s tím nic nenadělal. A tak do každé stránky vkládám kód, který odpočítává zbývající čas přístupu, a pokud se dopočítá až k nule, tak vyvolá obnovení stránky automaticky. A pak může proběhnout odebrání přístupů do placených kapitol.

Napsal Marek Klusák, programátor a webdesigner. Kontakt