[ISOD] Matrix odchodzi na emeryturę


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;
	}
}
 

W sprawie aktualizacji treści niniejszej strony należy kontaktować się z: Obsługą strony wydziałowej (info.ee@pw.edu.pl).