From f3a49e4b12e50a04b2e9fb27580dd7e57c4a9e52 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Wed, 8 Mar 2023 15:58:42 +0000 Subject: [PATCH] prevent php-warnings, closes #2302 Closes #2302 Merge request studip/studip!1521 --- lib/functions.php | 94 +++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 53 deletions(-) diff --git a/lib/functions.php b/lib/functions.php index e5ac0c957bb..144b6f580ff 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -67,6 +67,8 @@ function get_object_name($range_id, $object_type) { global $SEM_TYPE,$INST_TYPE, $SEM_TYPE_MISC_NAME; + $name = ''; + $type = ''; if ($object_type == "sem") { $query = "SELECT status, Name FROM seminare WHERE Seminar_id = ?"; $statement = DBManager::get()->prepare($query); @@ -105,7 +107,7 @@ function get_object_name($range_id, $object_type) * Returns a sorm object for a given range_id * * @param string the range_id - * @return SimpleORMap Course/Institute/User/Statusgruppen/ + * @return bool|SimpleORMap Course/Institute/User/Statusgruppen/ */ function get_object_by_range_id($range_id) { $possible_sorms = "Course Institute User"; @@ -256,13 +258,11 @@ function get_object_type($id, $check_only = []) function select_group($sem_start_time) { //Farben Algorhytmus, erzeugt eindeutige Farbe fuer jedes Semester. Funktioniert ab 2001 die naechsten 1000 Jahre..... - $year_of_millenium=date ("Y", $sem_start_time) % 1000; - $index=$year_of_millenium * 2; - if (date ("n", $sem_start_time) > 6) + $year_of_millenium = date ('Y', $sem_start_time) % 1000; + $index = $year_of_millenium * 2; + if (date('n', $sem_start_time) > 6) $index++; - $group=($index % 7) + 1; - - return $group; + return ($index % 7) + 1; } /** @@ -281,7 +281,7 @@ function select_group($sem_start_time) */ function my_substr($what, $start, $end) { - $length=$end-$start; + $length = $end - $start; $what_length = mb_strlen($what); // adding 5 because: mb_strlen("[...]") == 5 if ($what_length > $length + 5) { @@ -436,11 +436,11 @@ function get_sem_tree_path($seminar_id, $depth = false, $delimeter = ">") { $the_tree = TreeAbstract::GetInstance("StudipSemTree"); $view = DbView::getView('sem_tree'); - $ret = null; + $ret = []; $view->params[0] = $seminar_id; $rs = $view->get_query("view:SEMINAR_SEM_TREE_GET_IDS"); while ($rs->next_record()){ - $ret[$rs->f('sem_tree_id')] = $the_tree->getShortPath($rs->f('sem_tree_id'), NULL, $delimeter, $depth ? $depth - 1 : 0); + $ret[$rs->f('sem_tree_id')] = $the_tree->getShortPath($rs->f('sem_tree_id'), null, $delimeter, $depth ? $depth - 1 : 0); } return $ret; } @@ -463,8 +463,7 @@ function get_sem_tree_path($seminar_id, $depth = false, $delimeter = ">") */ function check_and_set_date($tag, $monat, $jahr, $stunde, $minute, &$arr, $field) { - - $check=TRUE; // everything ok? + $check = true; // everything ok? if (($jahr>0) && ($jahr<100)) $jahr=$jahr+2000; @@ -476,16 +475,16 @@ function check_and_set_date($tag, $monat, $jahr, $stunde, $minute, &$arr, $field if (($monat) && ($tag) && ($jahr)) { if ($stunde==_("hh")) { - $check=FALSE; + $check = false; } if ((!checkdate((int)$monat, (int)$tag, (int)$jahr) && ((int)$monat) && ((int)$tag) && ((int)$jahr))) { - $check=FALSE; + $check = false; } if (($stunde > 24) || ($minute > 59) || ($stunde == 24 && $minute > 0) ) { - $check=FALSE; + $check = false; } if ($stunde == 24) { @@ -612,12 +611,11 @@ function StringToFloat($str) function archiv_check_perm($seminar_id) { static $archiv_perms; - global $perm, $user; - $u_id = $user->id; + $u_id = $GLOBALS['user']->id; // root darf sowieso ueberall dran - if ($perm->have_perm('root')) { + if ($GLOBALS['perm']->have_perm('root')) { return 'admin'; } @@ -627,7 +625,7 @@ function archiv_check_perm($seminar_id) $statement->execute([$u_id]); $archiv_perms = $statement->fetchGrouped(PDO::FETCH_COLUMN); - if ($perm->have_perm("admin")){ + if ($GLOBALS['perm']->have_perm('admin')) { $query = "SELECT archiv.seminar_id, 'admin' FROM user_inst INNER JOIN archiv ON (heimat_inst_id = institut_id) @@ -638,7 +636,7 @@ function archiv_check_perm($seminar_id) $archiv_perms = array_merge($archiv_perms, $temp_perms); } - if ($perm->is_fak_admin()){ + if ($GLOBALS['perm']->is_fak_admin()) { $query = "SELECT archiv.seminar_id, 'admin' FROM user_inst INNER JOIN Institute ON (user_inst.institut_id = Institute.fakultaets_id) @@ -651,7 +649,7 @@ function archiv_check_perm($seminar_id) $archiv_perms = array_merge($archiv_perms, $temp_perms); } } - return $archiv_perms[$seminar_id]; + return $archiv_perms[$seminar_id] ?? ''; } /** @@ -761,7 +759,7 @@ function check_ticket($studipticket) */ function search_range($search_str = false, $search_user = false, $show_sem = true) { - global $perm, $user, $_fullname_sql; + global $_fullname_sql; // Helper function that obtains the correct name for an entity taking // in account whether the semesters should be displayed or not @@ -781,7 +779,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru $show_sem_sql2 = "LEFT JOIN semester_courses ON (semester_courses.course_id = s.Seminar_id) "; - if ($search_str && $perm->have_perm('root')) { + if ($search_str && $GLOBALS['perm']->have_perm('root')) { if ($search_user) { $query = "SELECT user_id, CONCAT({$_fullname_sql['full']}, ' (', username, ')') AS name FROM auth_user_md5 AS a @@ -830,7 +828,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru 'name' => $row['Name'], ]; } - } elseif ($search_str && $perm->have_perm('admin')) { + } elseif ($search_str && $GLOBALS['perm']->have_perm('admin')) { $_hidden = _('(versteckt)'); $query = "SELECT s.Seminar_id, IF(s.visible = 0, CONCAT(s.Name, ' {$_hidden}'), s.Name) AS Name %s FROM user_inst AS a @@ -841,7 +839,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ? sprintf($query, $show_sem_sql1, $show_sem_sql2) : sprintf($query, '', ''); $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id, $search_str]); + $statement->execute([$GLOBALS['user']->id, $search_str]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Seminar_id']] = [ 'type' => 'sem', @@ -858,14 +856,14 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru AND a.institut_id != b.fakultaets_id AND b.Name LIKE CONCAT('%', ?, '%') ORDER BY Name"; $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id, $search_str]); + $statement->execute([$GLOBALS['user']->id, $search_str]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Institut_id']] = [ 'type' => 'inst', 'name' => $row['Name'], ]; } - if ($perm->is_fak_admin()) { + if ($GLOBALS['perm']->is_fak_admin()) { $_hidden = _('(versteckt)'); $query = "SELECT s.Seminar_id, IF(s.visible = 0, CONCAT(s.Name, ' {$_hidden}'), s.Name) AS Name %s FROM user_inst AS a @@ -879,7 +877,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ? sprintf($query, $show_sem_sql1, $show_sem_sql2) : sprintf($query, '', ''); $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id, $search_str]); + $statement->execute([$GLOBALS['user']->id, $search_str]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Seminar_id']] = [ 'type' => 'sem', @@ -897,7 +895,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru AND c.Name LIKE CONCAT('%', ?, '%') ORDER BY Name"; $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id, $search_str]); + $statement->execute([$GLOBALS['user']->id, $search_str]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Institut_id']] = [ 'type' => 'inst', @@ -912,7 +910,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru AND b.Name LIKE CONCAT('%', ?, '%') ORDER BY Name"; $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id, $search_str]); + $statement->execute([$GLOBALS['user']->id, $search_str]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Institut_id']] = [ 'type' => 'inst', @@ -920,7 +918,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ]; } } - } elseif ($perm->have_perm('tutor') || $perm->have_perm('autor')) { + } elseif ($GLOBALS['perm']->have_perm('tutor') || $GLOBALS['perm']->have_perm('autor')) { // autors my also have evaluations and news in studygroups with proper rights $_hidden = _('(versteckt)'); $query = "SELECT s.Seminar_id, IF(s.visible = 0, CONCAT(s.Name, ' {$_hidden}'), s.Name) AS Name %s @@ -932,7 +930,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ? sprintf($query, $show_sem_sql1, $show_sem_sql2) : sprintf($query, '', ''); $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id]); + $statement->execute([$GLOBALS['user']->id]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Seminar_id']] = [ 'type' => 'sem', @@ -949,7 +947,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru WHERE a.user_id = ? AND a.inst_perms IN ('dozent','tutor') ORDER BY Name"; $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id]); + $statement->execute([$GLOBALS['user']->id]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Institut_id']] = [ 'name' => $row['Name'], @@ -971,7 +969,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ? sprintf($query, $show_sem_sql1, $show_sem_sql2) : sprintf($query, '', ''); $statement = DBManager::get()->prepare($query); - $statement->execute([$user->id]); + $statement->execute([$GLOBALS['user']->id]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['Seminar_id']] = [ 'type' => 'sem', @@ -990,7 +988,7 @@ function search_range($search_str = false, $search_user = false, $show_sem = tru ORDER BY name ASC"; $statement = DBManager::get()->prepare($query); $statement->execute([ - $user->id + $GLOBALS['user']->id ]); while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $search_result[$row['user_id']] = $row; @@ -1021,9 +1019,7 @@ function format_help_url($keyword) preg_match('/^\d+/', $GLOBALS['SOFTWARE_VERSION'], $v); $version = $v[0]; - $help_query = sprintf('https://hilfe.studip.de/help/%s/%s/%s', - $version, $lang, $keyword); - return $help_query; + return sprintf('https://hilfe.studip.de/help/%s/%s/%s', $version, $lang, $keyword); } /** @@ -1116,9 +1112,7 @@ function legacy_studip_utf8decode($data) */ function studip_json_decode($json, $assoc = true, $depth = 512, $options = 0) { - $data = json_decode($json, $assoc, $depth, $options); - - return $data; + return json_decode($json, $assoc, $depth, $options); } /** @@ -1132,9 +1126,7 @@ function studip_json_decode($json, $assoc = true, $depth = 512, $options = 0) */ function studip_json_encode($data, $options = 0) { - $json = json_encode($data, $options); - - return $json; + return json_encode($data, $options); } /** @@ -1181,10 +1173,8 @@ function get_title_for_status($type, $count, $sem_type = NULL) $index = $count == 1 ? 0 : 1; $class_index = $count == 1 ? $atype : $atype . '_plural'; - $title = $SEM_CLASS[$SEM_TYPE[$sem_type]['class']][$class_index] ?? + return $SEM_CLASS[$SEM_TYPE[$sem_type]['class']][$class_index] ?? $DEFAULT_TITLE_FOR_STATUS[$type][$index] ?? _('unbekannt'); - - return $title; } /** @@ -1569,8 +1559,7 @@ function strtocamelcase($string, $ucfirst = false) { function strtosnakecase($string) { $string = preg_replace('/\W+/', '_', $string); $string = preg_replace('/(?<!^)[A-Z]/', '_$0', $string); - $string = mb_strtolower($string); - return $string; + return mb_strtolower($string); } /** @@ -1582,8 +1571,7 @@ function strtosnakecase($string) { function strtokebabcase($string) { $string = preg_replace('/\W+/', '-', $string); $string = preg_replace('/(?<!^)[A-Z]/', '-$0', $string); - $string = mb_strtolower($string); - return $string; + return mb_strtolower($string); } /** @@ -1643,8 +1631,8 @@ function array_to_csv($data, $filename = null, $caption = null, $delimiter = ';' foreach ($data as $row) { if (is_array($caption)) { $fields = []; - foreach(array_keys($caption) as $fieldname) { - $fields[] = $row[$fieldname]; + foreach (array_keys($caption) as $fieldname) { + $fields[] = $row[$fieldname] ?? ''; } } else { $fields = $row; -- GitLab