Dzięki za wkład, super, że się podjąłeś.
Na gorąco zajrzałem do kodu i chce się podzielić kilkoma uwagami:
1. Dobrą praktyką jest używać języka angielskiego w nazewnictwie zmiennych czy funkcji
2. Używaj stałych językowych - nie hardkoduj tekstów
3. Stała DS jest deprecated od Joomla 1.6 należy używać slasha (https://docs.joomla.org/Potential_ba..._Platform_12.2 )
Tak wiem użyłeś:
Kod PHP:
if (!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
Tylko to jest nie potrzebne.
4. Netykieta - nie używaj kapitalików jako tekstu na przyciskach.
5. "Konfiguracja pamięci podręcznej Joomla powinna być włączona" - dlaczego "powinna"? Włącza ten kto potrzebuje.
6. "Raportowanie błędów powinno być ustawione na Brak" dlaczego powinno być na "Brak"? Raczej właśnie powinno być na "Default" bo jak się pojawi błąd to przynajmniej go zobaczę. "Brak" tylko w przypadku gdy ktoś ma na serwerze źle skonfigurowane wyświetlanie błędów.
7. "Captcha powinna być włączona w konfiguracji, a także powinien być opublikowany plugin "CAPTCHA - reCAPTCHA"" dlaczego "powinna"? A jak na stronie nie ma rejestracji ani formularzy? Komponent "Kontakty" jest wyłączony?
8. "Występują nie potrzebne pliki". Lista "niepotrzebnych" plików jest dość kontrowersyjna:
Kod PHP:
if (file_exists($path . '/.drone.yml')) unlink($path . '/.drone.yml');
if (file_exists($path . '/robots.txt.dist')) unlink($path . '/robots.txt.dist');
if (file_exists($path . '/web.config.txt')) unlink($path . '/web.config.txt');
if (file_exists($path . '/joomla.xml')) unlink($path . '/joomla.xml');
if (file_exists($path . '/build.xml')) unlink($path . '/build.xml');
if (file_exists($path . '/LICENSE.txt')) unlink($path . '/LICENSE.txt');
if (file_exists($path . '/README.txt')) unlink($path . '/README.txt');
if (file_exists($path . '/htaccess.txt')) unlink($path . '/htaccess.txt');
if (file_exists($path . '/LICENSES.php')) unlink($path . '/LICENSES.php');
if (file_exists($path . '/configuration.php-dist')) unlink($path . '/configuration.php-dist');
if (file_exists($path . '/CHANGELOG.php')) unlink($path . '/CHANGELOG.php');
if (file_exists($path . '/COPYRIGHT.php')) unlink($path . '/COPYRIGHT.php');
if (file_exists($path . '/CREDITS.php')) unlink($path . '/CREDITS.php');
if (file_exists($path . '/INSTALL.php')) unlink($path . '/INSTALL.php');
if (file_exists($path . '/LICENSE.php')) unlink($path . '/LICENSE.php');
if (file_exists($path . '/CONTRIBUTING.md')) unlink($path . '/CONTRIBUTING.md');
if (file_exists($path . '/phpunit.xml.dist')) unlink($path . '/phpunit.xml.dist');
if (file_exists($path . '/README.md')) unlink($path . '/README.md');
if (file_exists($path . '/.travis.yml')) unlink($path . '/.travis.yml');
if (file_exists($path . '/travisci-phpunit.xml')) unlink($path . '/travisci-phpunit.xml');
if (file_exists($path . '/images/banners/osmbanner1.png')) unlink($path . '/images/banners/osmbanner1.png');
if (file_exists($path . '/images/banners/osmbanner2.png')) unlink($path . '/images/banners/osmbanner2.png');
if (file_exists($path . '/images/banners/shop-ad-books.jpg')) unlink($path . '/images/banners/shop-ad-books.jpg');
if (file_exists($path . '/images/banners/shop-ad.jpg')) unlink($path . '/images/banners/shop-ad.jpg');
if (file_exists($path . '/images/banners/white.png')) unlink($path . '/images/banners/white.png');
if (file_exists($path . '/images/headers/blue-flower.jpg')) unlink($path . '/images/headers/blue-flower.jpg');
if (file_exists($path . '/images/headers/maple.jpg')) unlink($path . '/images/headers/maple.jpg');
if (file_exists($path . '/images/headers/raindrops.jpg')) unlink($path . '/images/headers/raindrops.jpg');
if (file_exists($path . '/images/headers/walden-pond.jpg')) unlink($path . '/images/headers/walden-pond.jpg');
if (file_exists($path . '/images/headers/windows.jpg')) unlink($path . '/images/headers/windows.jpg');
if (file_exists($path . '/images/joomla_black.gif')) unlink($path . '/images/joomla_black.gif');
if (file_exists($path . '/images/joomla_black.png')) unlink($path . '/images/joomla_black.png');
if (file_exists($path . '/images/joomla_green.gif')) unlink($path . '/images/joomla_green.gif');
if (file_exists($path . '/images/joomla_logo_black.jpg')) unlink($path . '/images/joomla_logo_black.jpg');
if (file_exists($path . '/images/powered_by.png')) unlink($path . '/images/powered_by.png');
if (file_exists($path . '/images/sampledata/fruitshop/apple.jpg')) unlink($path . '/images/sampledata/fruitshop/apple.jpg');
if (file_exists($path . '/images/sampledata/fruitshop/bananas_2.jpg')) unlink($path . '/images/sampledata/fruitshop/bananas_2.jpg');
if (file_exists($path . '/images/sampledata/fruitshop/fruits.gif')) unlink($path . '/images/sampledata/fruitshop/fruits.gif');
if (file_exists($path . '/images/sampledata/fruitshop/tamarind.jpg')) unlink($path . '/images/sampledata/fruitshop/tamarind.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/180px_koala_ag1.jpg')) unlink($path . '/images/sampledata/parks/animals/180px_koala_ag1.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/180px_wobbegong.jpg')) unlink($path . '/images/sampledata/parks/animals/180px_wobbegong.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/200px_phyllopteryx_taeniolatus1.jpg')) unlink($path . '/images/sampledata/parks/animals/200px_phyllopteryx_taeniolatus1.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/220px_spottedquoll_2005_seanmcclean.jpg')) unlink($path . '/images/sampledata/parks/animals/220px_spottedquoll_2005_seanmcclean.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/789px_spottedquoll_2005_seanmcclean.jpg')) unlink($path . '/images/sampledata/parks/animals/789px_spottedquoll_2005_seanmcclean.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/800px_koala_ag1.jpg')) unlink($path . '/images/sampledata/parks/animals/800px_koala_ag1.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/800px_phyllopteryx_taeniolatus1.jpg')) unlink($path . '/images/sampledata/parks/animals/800px_phyllopteryx_taeniolatus1.jpg');
if (file_exists($path . '/images/sampledata/parks/animals/800px_wobbegong.jpg')) unlink($path . '/images/sampledata/parks/animals/800px_wobbegong.jpg');
if (file_exists($path . '/images/sampledata/parks/banner_cradle.jpg')) unlink($path . '/images/sampledata/parks/banner_cradle.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/120px_pinnacles_western_australia.jpg')) unlink($path . '/images/sampledata/parks/landscape/120px_pinnacles_western_australia.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/120px_rainforest_bluemountainsnsw.jpg')) unlink($path . '/images/sampledata/parks/landscape/120px_rainforest_bluemountainsnsw.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/180px_ormiston_pound.jpg')) unlink($path . '/images/sampledata/parks/landscape/180px_ormiston_pound.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/250px_cradle_mountain_seen_from_barn_bluff.jpg')) unlink($path . '/images/sampledata/parks/landscape/250px_cradle_mountain_seen_from_barn_bluff.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/727px_rainforest_bluemountainsnsw.jpg')) unlink($path . '/images/sampledata/parks/landscape/727px_rainforest_bluemountainsnsw.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/800px_cradle_mountain_seen_from_barn_bluff.jpg')) unlink($path . '/images/sampledata/parks/landscape/800px_cradle_mountain_seen_from_barn_bluff.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/800px_ormiston_pound.jpg')) unlink($path . '/images/sampledata/parks/landscape/800px_ormiston_pound.jpg');
if (file_exists($path . '/images/sampledata/parks/landscape/800px_pinnacles_western_australia.jpg')) unlink($path . '/images/sampledata/parks/landscape/800px_pinnacles_western_australia.jpg');
if (file_exists($path . '/images/sampledata/parks/parks.gif')) unlink($path . '/images/sampledata/parks/parks.gif');
Zgoda, ze pliki "sample" nie są w sumie potrzebne bo to dane demonstracyjne. Ale pliki informacyjne? Licencja? szablony plików htaccess.txt czy robots.txt.dist sa nawet potzrebne jak ktoś namiesza w swoich. Tak samo configuration.php-dist. Raczej nie usuwałbym tych plików.
Generalnie komponent jest fajną check listą dla początkujących i faktycznie moze pomóc. Ale w obecnej formie moze też nieco zepchnać na manowce sugerując, ze coś "powinno" być kiedy to zależy od danej sytuacji i potrzeby.
Sugerowałbym podzielenie listy na:
Krytyczne
Ważne
Zalecane
I uszeregować konkretne ustawienia (odpowiednio też ikonki w kolorach by nie straszyć czerwonym x)