Add fallback for array_column function - refs BT#9433

1.10.x
Angel Fernando Quiroz Campos 10 years ago
parent cbc2a1b0f0
commit 7155e9ce57
  1. 6
      main/inc/ajax/model.ajax.php
  2. 26
      main/inc/lib/api.lib.php
  3. 2
      main/survey/survey.lib.php

@ -198,14 +198,14 @@ switch ($action) {
'admin',
null
);
$userIdList = array_column($userIdList, 'user_id');
$userIdList = api_array_column($userIdList, 'user_id');
$sessionList = SessionManager::get_sessions_list();
$sessionIdList = array_column($sessionList, 'id');
$sessionIdList = api_array_column($sessionList, 'id');
$courseCodeList = array();
foreach ($sessionList as $session) {
$courses = SessionManager::get_course_list_by_session_id($session['id']);
$courseCodeList = array_merge($courseCodeList, array_column($courses, 'code'));
$courseCodeList = array_merge($courseCodeList, api_array_column($courses, 'code'));
}
}

@ -8078,3 +8078,29 @@ function apiIsSystemInstalled()
$version = $settingsRow['selected_value'];
return array('installed' => 1, 'message' => $version);
}
/**
* Fallback for PHP 5.5 array_colum function.
* Return the values from a single column in the $input array
* @param array $input Array from which to pull a column of values
* @param string $columnName The column of values to return
* @return array
*/
function api_array_column($input, $columnName)
{
if (function_exists('array_column')) {
return array_column($input, $columnName);
}
$result = array();
foreach ($input as $value) {
if (!array_key_exists($columnName, $value)) {
continue;
}
$result[] = $value[$columnName];
}
return $result;
}

@ -3405,7 +3405,7 @@ class SurveyUtil
foreach ($groupList as $groupId) {
$userGroupList = GroupManager::getStudents($groupId);
$userGroupIdList = array_column($userGroupList, 'user_id');
$userGroupIdList = api_array_column($userGroupList, 'user_id');
$users_array = array_merge($users_array, $userGroupIdList);
$params = array(

Loading…
Cancel
Save