diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php index eacfb50bd9ced8620bf261ac3127e5c30c71e77a..dcc3690ea4b943116dbcb789d877365686842f7c 100644 --- a/app/controllers/admin/user.php +++ b/app/controllers/admin/user.php @@ -31,11 +31,10 @@ class Admin_UserController extends AuthenticatedController */ public function before_filter(&$action, &$args) { - global $perm; parent::before_filter($action, $args); // user must have root permission if restricted user management is disabled - $perm->check(Config::get()->RESTRICTED_USER_MANAGEMENT ? 'root' : 'admin'); + $GLOBALS['perm']->check(Config::get()->RESTRICTED_USER_MANAGEMENT ? 'root' : 'admin'); // set navigation Navigation::activateItem('/admin/user/index'); @@ -57,9 +56,7 @@ class Admin_UserController extends AuthenticatedController */ public function index_action($advanced = false) { - global $perm; - - $this->perm = $perm; + $this->perm = $GLOBALS['perm']; $request = ''; //Datafields @@ -91,7 +88,7 @@ class Admin_UserController extends AuthenticatedController //suche mit datafields $search_datafields = []; foreach ($this->datafields as $datafield) { - if (mb_strlen($request[$datafield->id]) > 0 + if (!empty($request[$datafield->id]) && !(in_array($datafield->type, words('selectbox radio')) && $request[$datafield->id] === '---ignore---') ) { $search_datafields[$datafield->id] = trim($request[$datafield->id]); @@ -271,7 +268,7 @@ class Admin_UserController extends AuthenticatedController /** * Deleting one or more users * - * @param md5 $user_id + * @param string $user_id * @param string $parent redirect to this page after deleting users */ public function delete_action($user_id = null, $parent = '') @@ -317,7 +314,7 @@ class Admin_UserController extends AuthenticatedController } //reavtivate messages - if (!Request::int('mail')) { + if (!Request::int('mail') && isset($default_mailer)) { StudipMail::setDefaultTransporter($default_mailer); } @@ -350,11 +347,11 @@ class Admin_UserController extends AuthenticatedController StudipMail::setDefaultTransporter($dev_null); } - foreach ($user_ids as $i => $user_id) { - $users[$i] = User::find($user_id); + foreach ($user_ids as $i => $_user_id) { + $users[$i] = User::find($_user_id); //preparing delete $umanager = new UserManagement(); - $umanager->getFromDatabase($user_id); + $umanager->getFromDatabase($_user_id); //delete if ($umanager->deleteUser($delete_documents, $delete_content_from_course, $delete_personal_documents, $delete_personal_content, $delete_names, $delete_memberships)) { @@ -367,7 +364,7 @@ class Admin_UserController extends AuthenticatedController } //reactivate messages - if (!Request::int('mail')) { + if (!Request::int('mail') && isset($default_mailer)) { StudipMail::setDefaultTransporter($default_mailer); } @@ -388,7 +385,7 @@ class Admin_UserController extends AuthenticatedController * Display all information according to the selected user. All details can * be changed and deleted. * - * @param md5 $user_id + * @param string $user_id */ public function edit_action($user_id = null) { @@ -409,7 +406,7 @@ class Admin_UserController extends AuthenticatedController // Änderungen speichern if (Request::submitted('edit')) { - if (Request::get('auth_plugin') == 'preliminary') { + if (Request::get('auth_plugin') === 'preliminary') { Request::set('auth_plugin', null); } $editPerms = Request::getArray('perms'); @@ -427,11 +424,11 @@ class Admin_UserController extends AuthenticatedController if (Request::get($param) !== null) $editUser['user_info.' . $param] = Request::get($param); } //change username - if (Request::get('username') && $this->user['username'] != Request::get('username')) { + if (Request::get('username') && $this->user['username'] !== Request::get('username')) { $editUser['auth_user_md5.username'] = Request::get('username'); } //change email - if (Request::get('Email') && $this->user['Email'] != Request::get('Email')) { + if (Request::get('Email') && $this->user['Email'] !== Request::get('Email')) { //disable mailbox validation if (Request::get('disable_mail_host_check')) { $GLOBALS['MAIL_VALIDATE_BOX'] = false; @@ -440,8 +437,12 @@ class Admin_UserController extends AuthenticatedController } //change password - if (($GLOBALS['perm']->have_perm('root') && Config::get()->ALLOW_ADMIN_USERACCESS) && (Request::get('pass_1') != '' || Request::get('pass_2') != '')) { - if (Request::get('pass_1') == Request::get('pass_2')) { + if ( + $GLOBALS['perm']->have_perm('root') + && Config::get()->ALLOW_ADMIN_USERACCESS + && (Request::get('pass_1') !== '' || Request::get('pass_2') !== '') + ) { + if (Request::get('pass_1') === Request::get('pass_2')) { $validator = new email_validation_class(); if (!$validator->ValidatePassword(Request::get('pass_1'))) { $details[] = _('Das Passwort ist zu kurz. Es sollte mindestens 8 Zeichen lang sein.'); @@ -492,6 +493,7 @@ class Admin_UserController extends AuthenticatedController // change version of studiengang if module management is enabled if (in_array($editPerms[0], ['autor', 'tutor', 'dozent'])) { $change_versions = Request::getArray('change_version'); + $any_change = false; foreach ($change_versions as $fach_id => $abschluesse) { foreach ($abschluesse as $abschluss_id => $version_id) { $version = StgteilVersion::findByFachAbschluss( @@ -611,13 +613,15 @@ class Admin_UserController extends AuthenticatedController } //save action and messages $um->changeUser($editUser); - if (!Request::int('u_edit_send_mail')) { + if (!Request::int('u_edit_send_mail') && isset($default_mailer)) { StudipMail::setDefaultTransporter($default_mailer); } //get message $umdetails = explode('§', str_replace(['msg§', 'info§', 'error§'], '', mb_substr($um->msg, 0, -1))); - $details = array_reverse(array_merge((array)$details, (array)$umdetails)); - PageLayout::postInfo(_('Hinweise:'), $details); + if (!empty($details)) { + $details = array_reverse(array_merge((array)$details, (array)$umdetails)); + PageLayout::postInfo(_('Hinweise:'), $details); + } $this->redirect('admin/user/edit/' . $user_id); } @@ -659,9 +663,7 @@ class Admin_UserController extends AuthenticatedController */ public function new_action($prelim = false) { - global $perm, $auth; - - $this->perm = $perm; + $this->perm = $GLOBALS['perm']; $this->prelim = $prelim; //check auth_plugins @@ -829,12 +831,15 @@ class Admin_UserController extends AuthenticatedController $i++; } } - $details[] = sprintf( - _('Es wurden ingesamt %s Mails an die %s der Einrichtung "%s" geschickt.'), - $i, - $wem, - htmlReady($institute->getFullname()) - ); + + if ($i >0 && isset($wem)) { + $details[] = sprintf( + _('Es wurden ingesamt %s Mails an die %s der Einrichtung "%s" geschickt.'), + $i, + $wem, + htmlReady($institute->getFullname()) + ); + } } $details[] = sprintf( @@ -855,7 +860,7 @@ class Admin_UserController extends AuthenticatedController //adding userdomain if (Request::get('select_dom_id')) { $domain = new UserDomain(Request::get('select_dom_id')); - if ($perm->have_perm('root') || in_array($domain, UserDomain::getUserDomainsForUser($GLOBALS['user']->id))) { + if ($GLOBALS['perm']->have_perm('root') || in_array($domain, UserDomain::getUserDomainsForUser($GLOBALS['user']->id))) { $domain->addUser($user_id); $details[] = sprintf(_('Person wurde in Nutzerdomäne "%s" eingetragen.'), htmlReady($domain->name)); } else { @@ -883,7 +888,7 @@ class Admin_UserController extends AuthenticatedController } } - if ($this->perm->have_perm('root')) { + if ($GLOBALS['perm']->have_perm('root')) { $sql = "SELECT Institut_id, Name, 1 AS is_fak FROM Institute @@ -899,9 +904,9 @@ class Admin_UserController extends AuthenticatedController WHERE a.user_id = ? AND a.inst_perms = 'admin' ORDER BY is_fak, Name"; $statement = DBManager::get()->prepare($sql); - $statement->execute([$auth->auth['uid']]); + $statement->execute([User::findCurrent()->id]); $faks = $statement->fetchAll(PDO::FETCH_ASSOC); - $domains = UserDomain::getUserDomainsForUser($auth->auth["uid"]); + $domains = UserDomain::getUserDomainsForUser(User::findCurrent()->id); } $query @@ -921,7 +926,7 @@ class Admin_UserController extends AuthenticatedController $this->domains = $domains; $this->faks = $faks; - $this->perms = $perm; + $this->perms = $GLOBALS['perm']; } /** @@ -970,7 +975,7 @@ class Admin_UserController extends AuthenticatedController /** * Set the password of an user to a new random password, without security-query * - * @param md5 $user_id + * @param string $user_id */ public function change_password_action($user_id) { @@ -1036,7 +1041,7 @@ class Admin_UserController extends AuthenticatedController /** * Unlock an user, without security-query * - * @param md5 $user_id + * @param string $user_id */ public function unlock_action($user_id) { @@ -1069,14 +1074,14 @@ class Admin_UserController extends AuthenticatedController /** * Display institute informations of an user and save changes to it. * - * @param md5 $user_id - * @param md5 $institute_id + * @param string $user_id + * @param string $institute_id */ public function edit_institute_action($user_id, $institute_id) { $this->user = User::find($user_id); + $institute = null; if (count($this->user->institute_memberships)) { - $institute = null; $this->user->institute_memberships->filter(function ($a) use ($institute_id, &$institute) { if ($a->institut_id === $institute_id) { $institute = $a; @@ -1093,8 +1098,8 @@ class Admin_UserController extends AuthenticatedController /** * Set user institute information - * @param $user_id - * @param $institute_id + * @param string $user_id + * @param string $institute_id */ public function store_user_institute_action($user_id, $institute_id) { @@ -1136,9 +1141,9 @@ class Admin_UserController extends AuthenticatedController /** * Delete an studycourse of an user , without a security-query * - * @param md5 $user_id - * @param md5 $fach_id - * @param md5 $abschluss_id + * @param string $user_id + * @param string $fach_id + * @param string $abschluss_id */ public function delete_studycourse_action($user_id, $fach_id, $abschlus_id) { @@ -1158,8 +1163,8 @@ class Admin_UserController extends AuthenticatedController /** * Delete an institute of an user , without a security-query * - * @param md5 $user_id - * @param md5 $institut_id + * @param string $user_id + * @param string $institut_id */ public function delete_institute_action($user_id, $institut_id) { @@ -1195,7 +1200,7 @@ class Admin_UserController extends AuthenticatedController /** * Delete an assignment of an user to an userdomain, without a security-query * - * @param md5 $user_id + * @param string $user_id */ public function delete_userdomain_action($user_id) { @@ -1293,8 +1298,7 @@ class Admin_UserController extends AuthenticatedController } if (in_array(Request::get('view'), words('courses closed_courses'))) { // check for closed courses - $closed_course - = $closed_course = DBManager::get()->fetchColumn('SELECT COUNT(sc.seminar_id) FROM seminar_courseset sc + $closed_course = DBManager::get()->fetchColumn('SELECT COUNT(sc.seminar_id) FROM seminar_courseset sc INNER JOIN courseset_rule cr ON cr.set_id=sc.set_id AND cr.type="ParticipantRestrictedAdmission" WHERE sc.seminar_id =?', [$membership->seminar_id]); @@ -1357,8 +1361,8 @@ class Admin_UserController extends AuthenticatedController /** * List files for course or institute - * @param $user_id - * @param $course_id + * @param string $user_id + * @param string $course_id */ public function list_files_action($user_id, $range_id) { @@ -1385,7 +1389,7 @@ class Admin_UserController extends AuthenticatedController /** * Create array - * @param $user_id + * @param string $user_id * @return array */ private function getActivities($user_id) diff --git a/lib/classes/AutoInsert.class.php b/lib/classes/AutoInsert.class.php index 8aac873a7564cf0a6d7995980464e87e933e8c28..6eb00974faa754fcea72d1b6e3bc97a064e8b3d9 100644 --- a/lib/classes/AutoInsert.class.php +++ b/lib/classes/AutoInsert.class.php @@ -88,8 +88,8 @@ class AutoInsert /** * Trägt den Benutzer in den Eingestellten veranstaltungen automatisch ein. - * @param type $user_id - * @param type $status Wenn Status nicht angegeben wird, wird der Status des Users aus user_id genommen + * @param string $user_id + * @param bool $status Wenn Status nicht angegeben wird, wird der Status des Users aus user_id genommen * @return array 'added' Namen der Seminare in die der User eingetragen wurde * array 'removed' Namen der Seminare aus denen der User ausgetragen wurde */ diff --git a/lib/classes/DataFieldEntry.class.php b/lib/classes/DataFieldEntry.class.php index 172b5e4ebda7d60cf33d0f504421c196bc6a6f7f..fd50a0bb673df91973a1da4d5d027fc8efffb893 100644 --- a/lib/classes/DataFieldEntry.class.php +++ b/lib/classes/DataFieldEntry.class.php @@ -91,10 +91,10 @@ abstract class DataFieldEntry /** * Enter description here... * - * @param unknown_type $range_id - * @param unknown_type $object_type - * @param unknown_type $object_class_hint - * @return unknown + * @param string $range_id + * @param string $object_type + * @param string $object_class_hint + * @return array */ public static function getDataFieldEntries($range_id, $object_type = '', $object_class_hint = '') {