Příspěvky uživatele Shira

Jen takový postřeh - přes ten skript si může kdokoliv stáhnout cokoliv z daného webového prostoru, včetné PHP skriptů, protože $file není absolutně nijak ošetřené.

/download.php?file=../config.php a dík za přístupové údaje 🙂
Login skript je společný pro web i administraci, takže nezdařilé pokusy se počítají všude. Uživ. jméno není v systému nic tajného, takže neúspěšný pokus se zaznamenává až po nalezení uživatele a nesprávném heslu. Nastavit jde jen počet pokusů a délka blokování.. v nastavení systému. Blokuje se IP adresa, ne uživ. účet.
V template.php:

<body class="<?php if (_templatePageIsIndex()): ?>no-column<?php else: ?>has-column<?php endif ?>">

<?php if (!_templatePageIsIndex()): ?>
<div id="column">
<?php _templateBoxes(1) ?>
</div>
<?php endif ?>

<div id="content">
<?php _templateContent() ?>
</div>

atd.. pak můžeš i stylovat podle třídy na body ve stylu:

body.has-column #content { ... }
body.no-column #content { ... }
Našel jsem /upload/stahuj/misc/custom_page_example.zip, ale nemám tušení, jak moc je to aktuální.
Upload limit určuje nastavení php.ini a serveru, takže to řídí poskytovatel tvého hostingu. SL pouze reportuje to, co je nastaveno.
Přímo do stránky PDF nevložíš nijak. Budeš to muset převést do HTML nebo na obrázek.

Doporučuji použít Google Docs Viewer. Zadáš url, klikneš na Generate link a dole pod Pro integrovaný prohlížeč použijte tuto značku HTML: si okopíruješ HTML kód, který vložíš tam, kde chceš PDF zobrazit. Tomu se těžko vyrovnáš něčím vlastním.
Funkce _captchaInit() a _captchaCheck(), příklady použití najdeš na x místech v SL.
Pokud máš přístup na FTP, tak /ke-stazeni/obnova-admin-uctu. Pokud ne, máš smůlu.
Jmeno uzivatele muzes v databazi klidne prepsat. Kazdopadne doporucuji pouzit aktualni verzi.
Zazalohuj databazi napr pres phpMyAdmin do .sql souboru, smaz vsechny tabulky a obnov je ze zalohy.
Uděláš si na to plugin (BBCode), viz /dokumentace/pluginy/extend#a_cat_6_bbcode a jeho výstup si nastyluješ a obsloužíš třeba přes JS.

Složité to není ale primitivní taky ne.. 🙂
Devkit není určen pro produkci. Každopádně v SL::$registry['devkit_error_handler'] je dostupná instance error handleru, která obsahuje event dispatcher (getEventDispatcher()), přes který jsou propagovány události:

- error_handler.error
- error_handler.fatal

Zbytek budeš muset vyčíst z api.

Napojení bych provedl v události sys.init, kdy jsou již všechny pluginy načtené.
posts.submit je správná cesta. V callbacku můžeš provést nějakou svou validaci (abys uživatele identifikoval, ale fakt ne podle přístupových údajů.. třeba nějaký token) a pokud je vše ok, můžeš změnit globální proměnné $guest = ""; a $author = id uživatele;.
Viz [neexistující odkaz]:

má-li PHP kód na místo vložení vypsat nějaký text, nepoužívejte funkce echo ani print, ale požadovaný výstup uložte do proměnné $output.

Můžeš použít třeba output buffering.

[hcm]php, "ob_start(); include 'mujskript.php'; $output = ob_get_clean();"[/hcm]
Do další verze tam asi ob implicitně zapnu. Je to třeba pořád.
Ahoj, nastavit to nejde, ale jde na to udělat plugin.