Subversion Repositories oidplus

Rev

Rev 1266 | Rev 1268 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1266 Rev 1267
Line 153... Line 153...
153
                                if ($plugin instanceof INTF_OID_1_3_6_1_4_1_37476_2_5_2_3_3) {
153
                                if ($plugin instanceof INTF_OID_1_3_6_1_4_1_37476_2_5_2_3_3) {
154
                                        $plugin->beforeObjectDelete($id);
154
                                        $plugin->beforeObjectDelete($id);
155
                                }
155
                                }
156
                        }
156
                        }
157
 
157
 
158
                        OIDplus::logger()->log("[WARN]OID(%1)+[?WARN/!OK]SUPOIDRA(%1)?/[?INFO/!OK]A?", "Object '%1' (recursively) deleted", $id);
158
                        OIDplus::logger()->log("V2:[WARN]OID(%1)+[OK/WARN]SUPOIDRA(%1)+[OK/INFO]A", "Object '%1' (recursively) deleted", $id);
159
                        OIDplus::logger()->log("[CRIT]OIDRA(%1)!", "Lost ownership of object '%1' because it was deleted", $id);
159
                        OIDplus::logger()->log("V2:[CRIT]OIDRA(%1)", "Lost ownership of object '%1' because it was deleted", $id);
160
 
160
 
161
                        if ($parentObj = $obj->getParent()) {
161
                        if ($parentObj = $obj->getParent()) {
162
                                $parent_oid = $parentObj->nodeId();
162
                                $parent_oid = $parentObj->nodeId();
163
                                OIDplus::logger()->log("[WARN]OID(%2)", "Object '%1' (recursively) deleted", $id, $parent_oid);
163
                                OIDplus::logger()->log("V2:[WARN]OID(%2)", "Object '%1' (recursively) deleted", $id, $parent_oid);
164
                        }
164
                        }
165
 
165
 
166
                        // Delete object
166
                        // Delete object
167
                        OIDplus::db()->query("delete from ###objects where id = ?", array($id));
167
                        OIDplus::db()->query("delete from ###objects where id = ?", array($id));
168
                        OIDplusObject::resetObjectInformationCache();
168
                        OIDplusObject::resetObjectInformationCache();
Line 175... Line 175...
175
                                                                    "where tchild.parent <> ? and tchild.id like ? and tparent.id is null;", array($ot::root(), $ot::root().'%'));
175
                                                                    "where tchild.parent <> ? and tchild.id like ? and tparent.id is null;", array($ot::root(), $ot::root().'%'));
176
                                        if (!$res->any()) break;
176
                                        if (!$res->any()) break;
177
 
177
 
178
                                        while ($row = $res->fetch_array()) {
178
                                        while ($row = $res->fetch_array()) {
179
                                                $id_to_delete = $row['id'];
179
                                                $id_to_delete = $row['id'];
180
                                                OIDplus::logger()->log("[CRIT]OIDRA(%2)!", "Lost ownership of object '%2' because one of the superior objects ('%1') was recursively deleted", $id, $id_to_delete);
180
                                                OIDplus::logger()->log("V2:[CRIT]OIDRA(%2)", "Lost ownership of object '%2' because one of the superior objects ('%1') was recursively deleted", $id, $id_to_delete);
181
                                                OIDplus::db()->query("delete from ###objects where id = ?", array($id_to_delete));
181
                                                OIDplus::db()->query("delete from ###objects where id = ?", array($id_to_delete));
182
                                                OIDplusObject::resetObjectInformationCache();
182
                                                OIDplusObject::resetObjectInformationCache();
183
                                        }
183
                                        }
184
                                } while (true);
184
                                } while (true);
185
                        }
185
                        }
Line 254... Line 254...
254
                                }
254
                                }
255
 
255
 
256
                                // Change RA recursively
256
                                // Change RA recursively
257
                                $current_ra = $obj->getRaMail() ?? '';
257
                                $current_ra = $obj->getRaMail() ?? '';
258
                                if ($new_ra != $current_ra) {
258
                                if ($new_ra != $current_ra) {
259
                                        OIDplus::logger()->log("[INFO]OID(%1)+[?INFO/!OK]SUPOIDRA(%1)?/[?INFO/!OK]A?", "RA of object '%1' changed from '%2' to '%3'", $id, $current_ra, $new_ra);
259
                                        OIDplus::logger()->log("V2:[INFO]OID(%1)+[OK/INFO]SUPOIDRA(%1)+[OK/INFO]A", "RA of object '%1' changed from '%2' to '%3'", $id, $current_ra, $new_ra);
260
                                        OIDplus::logger()->log("[WARN]RA(%2)!", "Lost ownership of object '%1' due to RA transfer of superior RA / admin.", $id, $current_ra, $new_ra);
260
                                        OIDplus::logger()->log("V2:[WARN]RA(%2)", "Lost ownership of object '%1' due to RA transfer of superior RA / admin.", $id, $current_ra, $new_ra);
261
                                        OIDplus::logger()->log("[INFO]RA(%3)!", "Gained ownership of object '%1' due to RA transfer of superior RA / admin.", $id, $current_ra, $new_ra);
261
                                        OIDplus::logger()->log("V2:[INFO]RA(%3)", "Gained ownership of object '%1' due to RA transfer of superior RA / admin.", $id, $current_ra, $new_ra);
262
                                        if ($parentObj = $obj->getParent()) {
262
                                        if ($parentObj = $obj->getParent()) {
263
                                                $parent_oid = $parentObj->nodeId();
263
                                                $parent_oid = $parentObj->nodeId();
264
                                                OIDplus::logger()->log("[INFO]OID(%4)", "RA of object '%1' changed from '%2' to '%3'", $id, $current_ra, $new_ra, $parent_oid);
264
                                                OIDplus::logger()->log("V2:[INFO]OID(%4)", "RA of object '%1' changed from '%2' to '%3'", $id, $current_ra, $new_ra, $parent_oid);
265
                                        }
265
                                        }
266
                                        $this->ra_change_rec($id, $current_ra, $new_ra); // Recursively change inherited RAs
266
                                        $this->ra_change_rec($id, $current_ra, $new_ra); // Recursively change inherited RAs
267
                                }
267
                                }
268
                        }
268
                        }
269
 
269
 
270
                        // Log if confidentially flag was changed
270
                        // Log if confidentially flag was changed
271
                        OIDplus::logger()->log("[INFO]OID(%1)+[?INFO/!OK]SUPOIDRA(%1)?/[?INFO/!OK]A?", "Identifiers/Confidential flag of object '%1' updated", $id); // TODO: Check if they were ACTUALLY updated!
271
                        OIDplus::logger()->log("V2:[INFO]OID(%1)+[OK/INFO]SUPOIDRA(%1)+[OK/INFO]A", "Identifiers/Confidential flag of object '%1' updated", $id); // TODO: Check if they were ACTUALLY updated!
272
                        if ($parentObj = $obj->getParent()) {
272
                        if ($parentObj = $obj->getParent()) {
273
                                $parent_oid = $parentObj->nodeId();
273
                                $parent_oid = $parentObj->nodeId();
274
                                OIDplus::logger()->log("[INFO]OID(%2)", "Identifiers/Confidential flag of object '%1' updated", $id, $parent_oid); // TODO: Check if they were ACTUALLY updated!
274
                                OIDplus::logger()->log("V2:[INFO]OID(%2)", "Identifiers/Confidential flag of object '%1' updated", $id, $parent_oid); // TODO: Check if they were ACTUALLY updated!
275
                        }
275
                        }
276
 
276
 
277
                        // Replace ASN.1 IDs und IRIs
277
                        // Replace ASN.1 IDs und IRIs
278
                        if ($obj::ns() == 'oid') {
278
                        if ($obj::ns() == 'oid') {
279
                                assert($obj instanceof OIDplusOid); //assert(get_class($obj) === "ViaThinkSoft\OIDplus\OIDplusOid");
279
                                assert($obj instanceof OIDplusOid); //assert(get_class($obj) === "ViaThinkSoft\OIDplus\OIDplusOid");
Line 355... Line 355...
355
                                if ($plugin instanceof INTF_OID_1_3_6_1_4_1_37476_2_5_2_3_3) {
355
                                if ($plugin instanceof INTF_OID_1_3_6_1_4_1_37476_2_5_2_3_3) {
356
                                        $plugin->beforeObjectUpdateSelf($id, $params);
356
                                        $plugin->beforeObjectUpdateSelf($id, $params);
357
                                }
357
                                }
358
                        }
358
                        }
359
 
359
 
360
                        OIDplus::logger()->log("[INFO]OID(%1)+[?INFO/!OK]OIDRA(%1)?/[?INFO/!OK]A?", "Title/Description of object '%1' updated", $id);
360
                        OIDplus::logger()->log("V2:[INFO]OID(%1)+[OK/INFO]OIDRA(%1)+[OK/INFO]A", "Title/Description of object '%1' updated", $id);
361
 
361
 
362
                        if (isset($params['title'])) {
362
                        if (isset($params['title'])) {
363
                                $title = $params['title'];
363
                                $title = $params['title'];
364
                                OIDplus::db()->query("UPDATE ###objects SET title = ? WHERE id = ?", array($title, $id));
364
                                OIDplus::db()->query("UPDATE ###objects SET title = ? WHERE id = ?", array($title, $id));
365
                                OIDplusObject::resetObjectInformationCache();
365
                                OIDplusObject::resetObjectInformationCache();
Line 483... Line 483...
483
                        if (!empty($ra_email) && !OIDplus::mailUtils()->validMailAddress($ra_email)) {
483
                        if (!empty($ra_email) && !OIDplus::mailUtils()->validMailAddress($ra_email)) {
484
                                throw new OIDplusException(_L('Invalid RA email address'));
484
                                throw new OIDplusException(_L('Invalid RA email address'));
485
                        }
485
                        }
486
 
486
 
487
                        if (empty($ra_email)) {
487
                        if (empty($ra_email)) {
488
                                        OIDplus::logger()->log("[INFO]OID(%2)+[INFO]OID(%1)+[?INFO/!OK]OIDRA(%2)?/[?INFO/!OK]A?", "Object '%1' created, without defined RA, superior object is '%2'", $id, $parent);
488
                                OIDplus::logger()->log("V2:[INFO]OID(%2)+[INFO]OID(%1)+[OK/INFO]OIDRA(%2)+[OK/INFO]A", "Object '%1' created, without defined RA, superior object is '%2'", $id, $parent);
489
                        } else {
489
                        } else {
490
                                        OIDplus::logger()->log("[INFO]OID(%2)+[INFO]OID(%1)+[?INFO/!OK]OIDRA(%2)?/[?INFO/!OK]A?", "Object '%1' created, given to RA '%3', superior object is '%2'", $id, $parent, $ra_email);
490
                                OIDplus::logger()->log("V2:[INFO]OID(%2)+[INFO]OID(%1)+[OK/INFO]OIDRA(%2)+[OK/INFO]A", "Object '%1' created, given to RA '%3', superior object is '%2'", $id, $parent, $ra_email);
491
                        }
491
                        }
492
                        if (!empty($ra_email)) {
492
                        if (!empty($ra_email)) {
493
                                OIDplus::logger()->log("[INFO]RA(%2)!", "Gained ownership of newly created object '%1'", $id, $ra_email);
493
                                OIDplus::logger()->log("V2:[INFO]RA(%2)", "Gained ownership of newly created object '%1'", $id, $ra_email);
494
                        }
494
                        }
495
 
495
 
496
                        $confidential = isset($params['confidential']) && $params['confidential'] == 'true';
496
                        $confidential = isset($params['confidential']) && $params['confidential'] == 'true';
497
                        $comment = $params['comment'] ?? '';
497
                        $comment = $params['comment'] ?? '';
498
                        $title = '';
498
                        $title = '';