Beispiel #1
0
 function store()
 {
     $st = new LDAP_Lehrer();
     $info = array_keys($this->mapping);
     $d = array();
     foreach ($info as $k) {
         $d[$k] = trim(stripslashes(core_get_param($k, $this->argv['prefix'])));
     }
     $mode = array_key_exists('mode', $this->argv) ? $this->argv['mode'] : "create";
     switch ($mode) {
         case "modify":
             if (!($dn = core_get_param('__schulv_record_dn', $this->argv['prefix']))) {
                 user_error("RecordDN not set. Cannot modify database entry");
                 return false;
             }
             $st->setDN($dn, true);
             break;
         case "create":
         default:
             $uid = sprintf("%s%d", stripslashes($d['nachname']), Schulv::nextUid());
             $st->setDN($uid);
             $st->setValue("uid", $uid);
             break;
     }
     $cn = sprintf("%s %s", $d['vorname'], $d['nachname']);
     $st->setValue("cn", $cn);
     $st->setValue("kuerzel", $d['kuerzel']);
     $st->setValue("givenname", $d['vorname']);
     $st->setValue("surname", $d['nachname']);
     $st->setValue("geschlecht", $d['geschlecht']);
     $st->setValue("telephonenumber", $d['telefonnummer']);
     $st->setValue("geburtsdatum", $d['geburtsdatum']);
     $st->setValue("lehramt", $d['lehramt']);
     $st->addMultiValue("lehrbefaehigung", split(",", $d['lehrbefaehigung']));
     $st->addMultiValue("postaladdress", $d['adresse']);
     $ldap = Schulv::ldapConnect();
     switch ($mode) {
         case "modify":
             if (!$ldap->attr_replace($st)) {
                 print "LDAP Error: " . sprintf("%d: %s", $ldap->errno(), $ldap->error());
                 return false;
             }
             break;
         case "create":
         default:
             if (!$ldap->add($st)) {
                 print "LDAP Error: " . sprintf("%d: %s", $ldap->errno(), $ldap->error());
                 return false;
             }
             break;
     }
     if (array_key_exists("onsuccess", $this->argv)) {
         header("Location: " . $this->argv['onsuccess']);
         exit;
     }
     return true;
 }
Beispiel #2
0
 function store()
 {
     $st = new LDAP_schulvSchule();
     $info = array_keys($this->mapping);
     $d = array();
     foreach ($info as $k) {
         $d[$k] = trim(stripslashes(core_get_param($k, $this->argv['prefix'])));
     }
     $mode = array_key_exists('mode', $this->argv) ? $this->argv['mode'] : "create";
     switch ($mode) {
         case "modify":
             if (!($dn = core_get_param('__schulv_record_dn', $this->argv['prefix']))) {
                 user_error("RecordDN not set. Cannot modify database entry");
                 return false;
             }
             $st->setDN($dn, true);
             break;
         case "create":
         default:
             $nr = stripslashes($d['schulnr']);
             $st->setDN($nr);
             $st->setValue("schulnr", $nr);
             break;
     }
     /* TODO: Aendern der SchulNR geht nur ueber ein zusaetzliches ModRDN */
     $st->setValue("o", $d['schulname']);
     $ldap = Schulv::ldapConnect();
     switch ($mode) {
         case "modify":
             if (!$ldap->attr_replace($st)) {
                 print "LDAP Error: " . sprintf("%d: %s", $ldap->errno(), $ldap->error());
                 return false;
             }
             break;
         case "create":
         default:
             if (!$ldap->add($st)) {
                 print "LDAP Error: " . sprintf("%d: %s", $ldap->errno(), $ldap->error());
                 return false;
             }
             break;
     }
     if (array_key_exists("onsuccess", $this->argv)) {
         header("Location: " . $this->argv['onsuccess']);
         exit;
     }
     return true;
 }