Szanowni Państwo,
dzisiaj w ISODzie odprowadzamy na emeryturę sędziwego „Matrixa”. Dowcip nawiązujący do filmu „Matrix” funkcjonujący w systemie od ponad 12 lat niestety, stał się niezrozumiały dla młodszego pokolenia. Nie zobaczymy więcej już 'Knock, knock…’ w godzinach 3:00-5:00 rano. W wyniku zgłoszenia dotyczącego domniemanego incydentu naruszenia bezpieczeństwa jesteśmy zmuszeni go usunąć. Jednocześnie oświadczamy z całą siłą: 'Matrix’ w ISODzie nigdy nie był incydentem naruszenia bezpieczeństwa.
„Matrix” w rozumieniu twórców systemu ISOD był swego rodzaju ich podpisem, tchnął duszę w bezduszny system, był oznaką wolności, nawet anarchii, na którą w dzisiejszych czasach jest niestety coraz mniej miejsca. Poniżej, w celach sentymentalnych zamieszczam ostatniego 'Matrixa’ ISODa. Jeszcze niżej, kod źródłowy, który przez 12 lat pilnował, aby okno wyświetlało się tylko w godzinach 3:00-5:00 rano.
Serdecznie pozdrawiam,
Robert Szmurło
package isod.app.eggs; import isod.app.session.BaseSession; import isod.dto.people.PersonTO; import isod.security.authorization.Right; import isod.security.authorization.SecurityConstraints; import java.util.Calendar; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.wicket.markup.html.IHeaderContributor; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; /** * * @author szmurlor * */ @SecurityConstraints public class MatrixPanel extends Panel implements IHeaderContributor { private static final long serialVersionUID = 1497577650531911405L; private static final Log log = LogFactory.getLog(MatrixPanel.class); public MatrixPanel(String id, IModel<PersonTO> model) { super(id, model); String c2 = "Knock, knock, " + model.getObject().getFirstname() + "..."; String title = "The ISOD has you. Follow the white rabbit. " + c2; add( new Label("caption", c2)); add( new Label("name", title).setRenderBodyOnly(true)); } public void renderHead(IHeaderResponse response) { if (isVisible()) { response.renderJavascriptReference("js/eastermatrix.js"); response.renderString("<style type=\"text/css\">.matrix { font-family:Lucida Console, Courier, Monotype; font-size:10pt; text-align:center; width:10px; padding:0px; margin:0px;}</style>"); } } @Override public boolean isVisible() { Date date = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(date); int h = cal.get(Calendar.HOUR_OF_DAY); boolean easter = super.isVisible() && ( h == 3 || h == 4 || BaseSession.get().getUser().isPermitted("easterEggMatrix", Right.READ) ); if (easter) log.info("Wyświetlam MatrixPanel. :-) "); return easter; } }