Přihlásit se

Joomla 6.0

Dne 14. října 2025 bylo oficiálně vydáno Joomla 6.0 (kódové jméno Kuimarisha) společně s Joomla 5.4 (Kutegemea). Joomla 5.1 přinesla zabezpečené TUF aktualizace, ale s Joomla 5.4 / 6.0 přichází automatické aktualizace jádra, které budou probíhat bezpečně a bez nutnosti manuálního zásahu.

Adsmanager 2.7

29. bře 2013 13:17 #106135
Odpověď od Cony
Moderátor
Neznám AdsManager, nedám Vám tedy konkrétní radu jak to v něm pořešit. Možností může být několik, může mít nějakou nativní podporu, např. volání události při uložení dat, nebo podporuje-li klasickou Joomla CAPTCHA, podíval bych se po nějakém CAPTCHA pluginu. Nejvíce se mi zatím osvědčil řešení založená na stopforumspam.com a podobných službách.

30. bře 2013 11:15 - 30. bře 2013 11:18 #106151
Odpověď od Petr
Začátečník
tak snad toto

tohle zapsat do controller.php komponenty adsmanager do funkce "save"
Code:
$email1 = JRequest::getVar('email', "" ); if (strpos($email1,'@aol.com') == true) { $app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list'),' '); }

když bude email s koncovkou @aol.com tak se to přesměruje na uvodní stranku a nic se neodešle do databaze .

30. bře 2013 23:18 #106160
Odpověď od Cony
Moderátor
Máte tam překlep, ne TRoute ale JRoute.

Principielně ano, ale o změnu přijdete s příští aktualizací AdsManager. Lepší způsob by byl vytvořit si jednoduchý systémový plugin reagující na událost onAfterRoute, tam si zkontrolovat zda se aktuálně odesílá AdsManager formulář (na základě option, task atd...) a tam provést případné přesměrování. Bude to fungovat stejně a nebudete riskovat, že při upgrade zapomenete změnu znovu provést.

30. bře 2013 23:57 #106161
Odpověď od Petr
Začátečník
Zní to dobře.;) Bohužel nějaky onAfterRoute vytvořit plugin je zatím pro mě vyšší dívčí..

Přesto díky za tip, že to lze řešit takto ...Jsem provedl v adsmanager již plno změn.

Jinak TRoute jsem vzal přímo z adsmanageru ...kde takový příkaz je tam používany na přesměrovaní běžně....

a funguje to.

31. bře 2013 00:52 #106163
Odpověď od Cony
Moderátor
Pak to asi bude nějaká třída toho AdsManageru, standardně je v Joomle JRoute.

Ten plugin - není to nic zas až tak těžkého, když se podíváte jak jsou udělané pluginy v adresáři system, rychle pochopíte princip...

01. dub 2013 23:04 #106198
Odpověď od Petr
Začátečník
Paráda

tak spamy již nechodí ...mam klid;)

02. dub 2013 08:26 #106203
Odpověď od jenik
Uživatel

Sonicer napsal: Paráda

tak spamy již nechodí ...mam klid;)


Jak jsi to nakonec vyresil? Diky

02. dub 2013 08:39 #106204
Odpověď od karel
Zkušený uživatel

Znáte-li řešení, sdělte ho - pomůžete ostatním při řešení stejného problému, i případný "rádce" bude vědět, poradil-li správně nebo špatně.

04. dub 2013 08:12 #106300
Odpověď od jenik
Uživatel

Sonicer napsal: tak snad toto

tohle zapsat do controller.php komponenty adsmanager do funkce "save"

Code:
$email1 = JRequest::getVar('email', "" ); if (strpos($email1,'@aol.com') == true) { $app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list'),' '); }

když bude email s koncovkou @aol.com tak se to přesměruje na uvodní stranku a nic se neodešle do databaze .


super, uz mam par dni klid :).

DIKY!!!

06. dub 2013 20:17 #106424
Odpověď od Petr
Začátečník
zda se že to funguje..

ted mi však začali chodit různé nesmysly..:D

emaily z domeny .de ale i .br a ruské .ru.

uvidíme

07. dub 2013 16:34 - 07. dub 2013 16:35 #106434
Odpověď od Petr
Začátečník
tak mi chodily spamy, kde robot vyplnitl misto tel čísla jen text...
řešení : už nic nechodí ..zatím klid:D uvidíme co vymyslí robot nového:D

tento kod povolí jen tel číslo ...jako čísla nebo čísla s mezerama. pismena nepovolí
Code:
$tel= JRequest::getVar('ad_phone', "post" ); if (ereg(" ", $tel)) { $tel1 = str_replace(' ', '', $tel); if(!is_numeric($tel1)){ $app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list'),'' ); } } else if(!is_numeric($tel)){ $app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list'),'' ); }

08. dub 2013 00:18 #106458
Odpověď od Cony
Moderátor
Jen poznámka - funkce ereg je deprecated, měl by jste místo ní používat funkci preg_match, tedy celá podmínka např. takto
Code:
$tel= JRequest::getVar('ad_phone', "post" ); if (!preg_match("/^(\+)?[0-9\s]+$/", $tel)) $app->redirect( TRoute::_('index.php?option=com_adsmanager&view=list'),'' );
(je tam přidaná ještě podmínka na + na začátku)

08. dub 2013 09:43 #106463
Odpověď od jenik
Uživatel
ufff koukam ze tech zmen je nejak vic :-(, jak tedy maji ty zmeny vypadat dohromady?

Diky moc

08. dub 2013 10:37 #106467
Odpověď od Cony
Moderátor
To co jsem psal by mělo nahradit kompletně Váš kód s předchozího příspěvku.

08. dub 2013 18:32 #106477
Odpověď od Petr
Začátečník
díky opravím

jen se zeptam
když takto získám data
$tel= JRequest::getVar('ad_phone', "post" );
jak můžu ad_phone přiřadit jiný obsah?

díky

Powered by Fórum