W nowej pracy dowiedziałem się, że jeden z moich poprzedników na tym stanowisku napisał aplikację sklepu internetowego. W PHP. Co więcej, ten sklep działał. Przynajmniej tak się zdawało klientom - oni wszystko widzieli tak, jak trzeba :).
Niestety, "od środka" okazało się, że złożenie zamówienia przez klienta pociąga za sobą jedynie wysłanie maila do obsługi z zamówieniem - i ten mail był jedynym śladem w systemie, że jakiekolwiek zamówienie zostało złożone. Co ciekawe, ta aplikacja nawet miała opcję dla obsługi "pokaż historię zamówień", było tam jednak widać tylko kilka pozycji, ewidentnie wprowadzonych dla testów.
Ponieważ klienci nie narzekali (obsługa sobie radziła z tymi mailami, zamówienia były realizowane, wszystko "działało", wszyscy się przyzwyczaili), aplikacja działała w takim stanie przez prawie 2 lata (!). Autor "systemu" zdążył się zwolnić, jego następca także, zatrudniłem się ja.
Od początku mnie zastanawiało, dlaczego to nie działa, ale rzut oka w kod trochę odstraszał od grzebania w tym (wszystko na kupie - html+js+php przeplatające się w jednym pliku, oczywiście żadnej dokumentacji, komentarzy, nawet wcięć brakowało miejscami). W końcu znalazłem winowajcę...:
include("sklep/panel.php");
$id_konta = $_SESSION["id_konto"];
require("sklep/funkcje.php");
include("../../../../home/marekb/config.php");
//include("sklep/config.php");
Imię autora "systemu" litościwie zmieniłem...