LdapDTO Helper

$ucattribute = $entry[$attribute][0];
} else {
for ($j = 0; $j < $entry[$attribute][‘count’]; $j++) { $retEntry[$attribute][] = $entry[$attribute][$j]; } $this->$ucattribute = $retEntry[$attribute];
}
}
}
// undefined attributes are requested here
public function __get($name) {
return null;
}
}

Posted in IT

Build oci for PHP

mount DVD iso

vi /etc/yum.repos.d/CentOS-Media.repo

 add file:///media/xxx   corresponding to the DVD media

download php source

yum –enablerepo=c6-media install libxml-devel

yum –enablerepo=c6-media install httpd-devel

extract php sources

./confgure

make
make test
make install

Download Oracle Client & SDK

vi /etc/ld.so.conf.d/oracle-11g-64.conf
/opt/app/oracle/product/11.2.0

export ORACLE_HOME=/opt/app/oracle/product/11.2.0
ln -s libclntsh.so.11.1 libclntsh.so

/usr/sbin/setenforce 0     ??

export CFLAGS=-m64
export CPPFLAGS=-m64
export CCASFLAGS=-m64

cd php sources
cd ext
cd oci8
phpize
./configure –with-oci8=instantclient,/opt/app/oracle/product/11.2.0,11.2.0.3.0
make
ls modules

cd php sources
cd ext
cd pdo_oci
phpize
./configure –with-pdo-oci=shared,instantclient,/opt/app/oracle/product/11.2.0,11.2.0.3.0
make
ls modules

Posted in IT

Siedler 3 Gold Edition 1.60 Windows 10

Siedler 3 liess sich eigentlich ohne Probleme installieren (mit Kompatibilitätsmodus für  Windows 95 und Admin-Rechten für die Setup und Installer…
Allerdings zeigte sich beim Hauptfenster oben ein dicker weisser oder schwarzer Rand. Habe die S3.exe mal analysiert und die Stelle gefunden, wo der Fenster-Stil abgelegt ist.

Um den schwarzen Rand in Windows 10 wegzubekommen, kann man die Hex Zeichen 00 00 C8 90 ersetzen mit 00 00 00 94.

Gepatchte s3.exe als ZIP

Posted in IT

Praktische queryString Funktionen


else {
// nothing to remove, carry on.
urlParams = (null == queryString) ? “” : “?” + queryString;
}
urlParams+= urlParams.length()==0 ? “?” : “&”; urlParams+= “sso=false”;

Posted in IT

d3: keep first option in select

html:

<select id=”userMenu”><option value=””>– Please select –</option></select>

js:

d3.select(“select#userMenu”)
.on(‘change’, function() {
updateCheckboxes();
})
.selectAll(“option:not(:first-child)”)
.data(data)
.enter()
.append(“option”)
.attr(“value”, function(d) {return d.id; } )
.html( function(d) {return d.firstName + ‘ ‘ + d.lastName + ‘(‘ + d.id + ‘)’; } );

Posted in IT

Oracle 11g on localhost for dev

In case you cannot access console due to ssl_error_weak_server_cert_key,
you could switch it to unsecure:

set ORACLE_UNQNAME=orcl
set ORACLE_HOSTNAME=localhost
emctl unsecure dbconsole

 

Posted in IT

Attribute userAccountControl

Const ADS_UF_ACCOUNT_DISABLE = 2
Const ADS_UF_PASSWD_NOTREQD = 32
Const ADS_UF_DONT_EXPIRE_PASSWD = 65536

'Alle Accounts, die deaktiviert sind:
' => ADS_UF_ACCOUNT_DISABLE = 2
' => 
ldapFilter = "(userAccountControl:1.2.840.113556.1.4.803:=2)"

'Alle Accounts, die nicht deaktiviert sind:
' => ADS_UF_ACCOUNT_DISABLE = 2
' => 
ldapFilter = "(!(userAccountControl:1.2.840.113556.1.4.803:=2))"

'Alle Accounts, die kein Passwort benötigen ODER deren Passwort nie abläuft:
' => ADS_UF_PASSWD_NOTREQD And ADS_UF_DONT_EXPIRE_PASSWD = 32 + 65536 = 65568
' => 
ldapFilter = "(userAccountControl:1.2.840.113556.1.4.804:=65568)"

'Alle Accounts, die deaktiviert sind UND die kein Passwort benötigen:
' => ADS_UF_PASSWD_NOTREQD And ADS_UF_ACCOUNT_DISABLE = 32 + 2 = 34
' => 
ldapFilter = "(userAccountControl:1.2.840.113556.1.4.803:=34)"

mehr: http://www.selfadsi.de/ads-attributes/user-userAccountControl.htm

Posted in IT

MinifyFilter

package com.ofrick.filters;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.regex.*;

public class MinifyFilter implements Filter {

private Pattern regex = null;
 
 // This method is called once on server startup
 public void init(FilterConfig filterConfig) 
 {
 regex = Pattern.compile("^\\s*$\\n|\\t", Pattern.MULTILINE);
 }
 
 // This method is called for every request and needs to be thread safe.
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
 throws java.io.IOException, javax.servlet.ServletException 
 {
 HttpServletResponse resp = (HttpServletResponse) response;
 ResponseWrapper wrapper = new ResponseWrapper(resp);
 chain.doFilter(request, wrapper);
 
 String html = wrapper.toString();

html = regex.matcher(html).replaceAll("");
 //html = multipleSpaces.matcher(html).replaceAll(" ");
 resp.setContentLength(html.getBytes().length);
 PrintWriter out = resp.getWriter();
 out.write(html);
 out.flush();
 out.close();
 }
 
 // This method is called once on server shut down
 public void destroy() 
 {
 //
 }
 
 static class ResponseWrapper extends HttpServletResponseWrapper {
 private CharArrayWriter output;

public ResponseWrapper(HttpServletResponse response) {
 super(response);
 this.output = new CharArrayWriter();
 }

public String toString() {
 return output.toString();
 }

public PrintWriter getWriter() {
 return new PrintWriter(output);
 }
 }
 
}
Posted in IT