public function __construct($lockedBy, $object = null, $comment = '', $code = 0, Exception $previous = null)
{
if (is_array($object)) {
throw new InvalidArgumentException("Second argument can not be an array");
}
$this->lockedBy = $lockedBy;
$this->object = $object;
/* @var $user User */
$user = User::findPk($lockedBy);
$userName = empty($user) ? $lockedBy : $user->email;
if (!empty($comment)) {
$comment = " with comment: '{$comment}'";
}
if (is_object($object)) {
$nameParts = explode('\\', get_class($object));
$object = array_pop($nameParts);
}
parent::__construct((empty($object) ? "Locked" : "{$object} locked") . " by {$userName}{$comment}", $code, $previous);
}