diff --git a/db/migrations/5.4.13_add_unlock_action.php b/db/migrations/5.4.13_add_unlock_action.php new file mode 100644 index 0000000000000000000000000000000000000000..d3834a12d4177cf9d1e19985de5e8995c660b9e7 --- /dev/null +++ b/db/migrations/5.4.13_add_unlock_action.php @@ -0,0 +1,33 @@ +<?php + +final class AddUnlockAction extends Migration +{ + public function description() + { + return 'add an unlock action'; + } + + public function up() + { + DBManager::get()->exec(" + INSERT IGNORE INTO `log_actions` + SET `action_id` = MD5('USER_UNLOCK'), + `name` = 'USER_UNLOCK', + `description` = 'Nutzer wird entsperrt', + `info_template` = '%user entsperrt %user(%affected) (%info)', + `active` = '1', + `expires` = '0' + "); + } + + public function down() + { + $actions = ['USER_UNLOCK']; + + DBManager::get()->execute( + "DELETE `log_events` FROM `log_events` JOIN `log_actions` USING (`action_id`) WHERE `name` IN (?)", + [$actions] + ); + DBManager::get()->execute("DELETE FROM `log_actions` WHERE `name` IN (?)", [$actions]); + } +} diff --git a/lib/models/User.class.php b/lib/models/User.class.php index 47ad6f63d7850571851847a1f3d5c5e3dfb1362d..780c7fca9addca3a86c72d64c2ff9d0b7f74d2ed 100644 --- a/lib/models/User.class.php +++ b/lib/models/User.class.php @@ -231,15 +231,21 @@ class User extends AuthUserMd5 implements Range, PrivacyObject protected function cbStudipLog($type) { if ($type == 'before_store' && !$this->isNew()) { - if ($this->isFieldDirty('locked') && $this->isFieldDirty('lock_comment') && (int)$this->locked === 1) { - StudipLog::log('USER_LOCK', - $this->user_id, - null, - sprintf( - 'Kommentar: %s', - $this->lock_comment - ) - ); + if ($this->isFieldDirty('locked') && $this->isFieldDirty('lock_comment')) { + if ((int)$this->locked === 1) { + StudipLog::log('USER_LOCK', + $this->user_id, + null, + sprintf( + 'Kommentar: %s', + $this->lock_comment + ) + ); + } else { + StudipLog::log('USER_UNLOCK', + $this->user_id + ); + } } } }