diff --git a/src/de/superx/common/Maske.java b/src/de/superx/common/Maske.java
index 0d35b47..633f50c 100644
--- a/src/de/superx/common/Maske.java
+++ b/src/de/superx/common/Maske.java
@@ -7,6 +7,7 @@ import java.io.StringReader;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.sql.Connection;
+import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
@@ -986,6 +987,10 @@ public class Maske extends NamedIdObject implements Serializable {
sharedData.setErgebnisElementOrdNr(0);
HashMap map = new HashMap();
map.putAll(user.getBasicMap());
+ if (SxPools.get(mandantenID).getRepository().containsKey("K_Nutzungsstatistiken")&&SxPools.get(mandantenID).getRepository().get("K_Nutzungsstatistiken").toString().equals("2"))
+ {
+ insertIntoMaskenProtokoll(user,dbCon);
+ }
if (!isReuseResult()) {
String keyfieldsused = ServletHelper.getParameter(request, "keyfieldsused");
if (EqualsUtil.areEqual(keyfieldsused, "true")) {
@@ -1067,8 +1072,25 @@ public class Maske extends NamedIdObject implements Serializable {
return resultstr;
}
- // MB 17.8.2011 Defaultsicht setzen falls gewünscht
+
+ private void insertIntoMaskenProtokoll(SxUser user, Connection dbCon) throws SQLException {
+ Connection con=dbCon;
+ boolean conUebergeben=true;
+ if (dbCon==null)
+ {
+ conUebergeben=false;
+ con=SxPools.get(mandantenID).getConnection();
+ }
+ PreparedStatement pst=con.prepareStatement("insert into masken_protokoll (maskeninfo_id,user_id,zeitpunkt) values (?,?,now());");
+ pst.setInt(1, Integer.parseInt(this.getId().toString()));
+ pst.setInt(2, Integer.parseInt(user.getId().toString()));
+ pst.executeUpdate();
+ pst.close();
+ if (!conUebergeben) {con.close();}
+
+ }
+ // MB 17.8.2011 Defaultsicht setzen falls gewünscht
public void setFieldsDefaultSichten(SxUser user, HttpServletRequest request)
throws SQLException, DBServletException, KeyParentEqualException, CloneNotSupportedException,
SichtException, TemplateException, IOException, NoMainEntryException {
diff --git a/src/de/superx/servlet/SxPool.java b/src/de/superx/servlet/SxPool.java
index 24be64f..5694005 100644
--- a/src/de/superx/servlet/SxPool.java
+++ b/src/de/superx/servlet/SxPool.java
@@ -806,6 +806,7 @@ public class SxPool extends GenericObjectPool implements NamedObjectI {
initHasKontierungsrechte();
initJasper();
initSxMail();
+ deleteMaskenProtokoll();
SuperXmlAnmeldung.waitForPoolInit = false;
} catch (Exception e) {
SuperXmlAnmeldung.waitForPoolInit = false;
@@ -815,6 +816,19 @@ public class SxPool extends GenericObjectPool implements NamedObjectI {
}
}
+ private void deleteMaskenProtokoll() throws SQLException {
+ if (this.getRepository().containsKey("K_Nutzungsstatistiken loeschen nach Tagen")&&Integer.parseInt(getRepository().get("K_Nutzungsstatistiken loeschen nach Tagen").toString())>0)
+ {
+ Connection con=this.getConnection();
+ PreparedStatement pst=con.prepareStatement("delete from masken_protokoll where CURRENT_DATE - Zeitpunkt::date>=?");
+ pst.setInt(1, Integer.parseInt(getRepository().get("K_Nutzungsstatistiken loeschen nach Tagen").toString()));
+ pst.executeUpdate();
+ pst.close();
+ con.close();
+ }
+
+ }
+
/**
* Default jaxen Bibliothek wegen höherer Performance,
* falls nicht über Konstante ausgeschaltet
diff --git a/superx/WEB-INF/conf/edustore/db/install/conf/kern.xml b/superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
index 5f7099f..4a1e61e 100644
--- a/superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
+++ b/superx/WEB-INF/conf/edustore/db/install/conf/kern.xml
@@ -4066,9 +4066,9 @@
+ notnull="true" description="Maske" />
+ notnull="true" description="User" />