Přeskočit na obsah

Jak přispět

phpRS je svobodný software a vyvíjí se veřejně na GitHubu v repozitáři phprs-cms/cms. Přispět můžete hlášením chyby, překladem, opravou nebo námětem. Tato stránka říká, jak na to, aby se váš příspěvek dal snadno přijmout.

Hlášení chyb

Běžnou chybu nahlaste v Issues repozitáře. Dobré hlášení obsahuje:

  • verzi phpRS – je v administraci dole v patičce a v Nastavení → Zálohy a aktualizace,
  • verzi PHP a databáze – ukazuje je Nastavení → Stav systému,
  • přesný postup, jak chybu vyvolat, co jste čekali a co se stalo,
  • znění chybové zprávy; podrobnosti bývají v souboru storage/log/chyby.log,
  • u chyb vzhledu použitou šablonu, prohlížeč a šířku okna, případně snímek obrazovky.

Než chybu nahlásíte, ověřte, že máte poslední verzi, a projděte stránku Řešení potíží. Z logů a snímků odstraňte hesla, tokeny a osobní údaje čtenářů.

Bezpečnostní chyby

Bezpečnostní chybu nehlaste veřejně v Issues. Použijte soukromé hlášení na GitHubu – v repozitáři záložka Security → Report a vulnerability – nebo e-mail uvedený na webu projektu. Popište verzi, postup a dopad.

Co se děje potom:

  1. Ozveme se do 3 pracovních dnů.
  2. Oprava vzniká neveřejně. Běžně vychází do 14 dnů, u kritických chyb co nejdříve.
  3. Vyjde jako verze označená za bezpečnostní. Instalace se po novinkách dívají dvakrát denně a takovou verzi si – pokud to správce nevypnul – nainstalují samy; správce dostane e-mail.
  4. Po vydání opravy zveřejníme bezpečnostní oznámení s popisem, zasaženými verzemi a poděkováním nálezci.

Podporovaná je vždy poslední vydaná verze. Pravidla jsou i v souboru SECURITY.md.

Překlady

Systém je přeložen do češtiny, slovenštiny, angličtiny a němčiny. Zdrojem je čeština; klíčem každého překladu je český text.

CoKde
Texty webu a e-maily čtenářůmsystem/jazyky/en.php, sk.php, de.php
Administracesystem/jazyky/admin-en.php, admin-sk.php, admin-de.php
Vizuální editor bloků a editor článkuimage/jazyky/admin-<kód>.js
Instalátorsystem/jazyky/install-<kód>.php
Ukázkový obsahsystem/demo/
Příručkadocs/prirucka/<jazyk>/ – soubory se ve všech jazycích jmenují stejně, česky

Opravu překladu pošlete jako pull request, nebo ji popište v Issues: původní znění, navržené znění a místo, kde jste text viděli. Chybějící překlady doplňujte nástrojem tools/slovnik.py, ne ruční úpravou slovníku – viz Zásady projektu. Formát data pro jazyk určují ve slovníku webu klíče datum_formatdatum_slovy.

Přidání dalšího jazyka je větší práce: tři slovníky, slovník pro JavaScript, instalátor, ukázkový obsah a zápis do Core\Jazyk. Domluvte se předem v Issues.

Pull requesty

  1. U větší změny se nejdřív domluvte. Založte Issue a popište záměr. Projekt drží úzký záběr – redakční systém pro magazíny – a jednoduchost má přednost před počtem funkcí. Ušetříte si práci na něčem, co by se nepřijalo.
  2. Přečtěte si Zásady projektuStrukturu projektu.
  3. Pracujte ve vlastní větvi. Jeden pull request řeší jednu věc.
  4. Držte se stylu okolního kódu: declare(strict_types=1), identifikátory domény česky bez diakritiky, komentáře česky. Komentář vysvětluje, proč kód něco dělá – ne co dělá.
  5. Před odesláním spusťte tools/test.sh, nebo aspoň php tools/testy.php. K opravě chyby přidejte test, který by ji příště zachytil, pokud jde o logiku bez databáze.
  6. Změna databáze potřebuje migraci, úpravu schema.sql a zvýšení PHPRS_VERZE_DB.
  7. Nový text pro uživatele potřebuje překlad ve všech slovnících.
  8. Mění-li se chování nebo popisek v administraci, upravte i českou příručku v docs/prirucka/cs/.
  9. V popisu pull requestu uveďte, co a proč měníte a jak jste to vyzkoušeli. U změn vzhledu přiložte snímky ve světlém i tmavém režimu a v šířce telefonu.

Každý pull request projde kontrolou na GitHubu: kouřový test na podporovaných verzích PHP, Semgrep a Gitleaks. Podrobnosti jsou na stránce Testy a vydávání.

Co se nepřijímá

  • nové závislosti, frameworky, kroky sestavení, externí písma a CDN,
  • zásuvné moduly třetích stran a nahrávání kódu z administrace – rozšíření jsou uzavřená sada,
  • nástroje napojení na Claude, které by sahaly mimo obsah a vlastní šablony,
  • funkce pro jediný web. Vlastní vzhled patří do vlastní šablony, ne do jádra.

Licence

phpRS je vydán pod licencí GNU General Public License verze 2 nebo novější. Text je v souboru LICENSE. Odesláním příspěvku souhlasíte s jeho zveřejněním pod stejnou licencí. Nepřidávejte kód ani obrázky, jejichž licence s ní není slučitelná. Písmo administrace Noto Sans má vlastní licenci OFL, přiloženou v image/pisma/OFL.txt.

Podpora projektu

Vývoj můžete podpořit i finančně přes GitHub Sponsors. Odkaz Podpořit phpRS je v patičce administrace; správce ho může vypnout v Nastavení → Zálohy a aktualizace.

Související