Fix c_student_publication.post_group_id update see BT#12609

pull/2487/head
jmontoyaa 8 years ago
parent b3e2a2b8b5
commit 29dbe08690
  1. 38
      main/install/install.lib.php

@ -3241,35 +3241,37 @@ function fixPostGroupIds($connection)
error_log('Fix c_student_publication.post_group_id');
// Fix post_group_id
$sql = "SELECT * FROM c_student_publication WHERE (post_group_id <> 0 AND post_group_id is not null)";
$sql = "SELECT * FROM c_student_publication
WHERE (post_group_id <> 0 AND post_group_id is not null)";
$statement = $connection->executeQuery($sql);
$result = $statement->fetchAll();
foreach ($result as $row) {
$groupId = $row['post_group_id'];
$courseId = $row['c_id'];
$workIid = $row['iid'];
$sql = "SELECT iid from c_group_info WHERE c_id = $courseId AND iid = $groupId";
$sql = "SELECT iid from c_group_info
WHERE c_id = $courseId AND id = $groupId";
$statement = $connection->executeQuery($sql);
$count = $statement->rowCount();
if ($count == 0) {
$sql = "SELECT iid from c_group_info WHERE c_id = $courseId AND id = $groupId";
$statement = $connection->executeQuery($sql);
$count = $statement->rowCount();
if ($count > 0) {
$rowGroup = $statement->fetch();
$newGroupId = $rowGroup['iid'];
if ($newGroupId) {
$sqlUpdate = "UPDATE c_student_publication
SET post_group_id = $newGroupId
WHERE
c_id = $courseId AND
iid = $workIid
";
$connection->executeQuery($sqlUpdate);
}
if ($count > 0) {
$rowGroup = $statement->fetch();
$newGroupId = $rowGroup['iid'];
if ($newGroupId == $groupId) {
continue;
}
if ($newGroupId) {
$sql = "UPDATE c_student_publication
SET post_group_id = $newGroupId
WHERE
c_id = $courseId AND
iid = $workIid
";
$connection->executeQuery($sql);
}
}
}
error_log('End - Fix c_student_publication.post_group_id');
// Delete c_student_publication from any session that doesn't exist anymore

Loading…
Cancel
Save