mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Remove duration_pages/duration_minutes/file_size_info; rename cc4r → cc2r in DB and code
This commit is contained in:
@@ -201,7 +201,6 @@ class ExportController
|
||||
'Langue',
|
||||
'Autorisation',
|
||||
'Licence',
|
||||
'Taille',
|
||||
'Points sur 20',
|
||||
'Lien BAIU',
|
||||
];
|
||||
@@ -296,7 +295,6 @@ class ExportController
|
||||
implode(', ', $langList),
|
||||
$t['access_type'] ?? '',
|
||||
$t['license_name'] ?? '',
|
||||
$t['file_size_info'] ?? '',
|
||||
isset($t['jury_points']) ? (string) $t['jury_points'] : '',
|
||||
$t['baiu_link'] ?? '',
|
||||
];
|
||||
|
||||
@@ -185,9 +185,6 @@ class ThesisCreateController
|
||||
'subtitle' => $data['subtitle'],
|
||||
'synopsis' => $data['synopsis'],
|
||||
'context_note' => $data['contextNote'],
|
||||
'file_size_info' => $data['durationInfo'],
|
||||
'duration_pages' => $data['durationPages'],
|
||||
'duration_minutes'=> $data['durationMinutes'],
|
||||
'baiu_link' => $data['lien'],
|
||||
'license_id' => $data['licenseId'],
|
||||
'license_custom' => $data['licenseCustom'],
|
||||
@@ -197,7 +194,7 @@ class ThesisCreateController
|
||||
'jury_points' => $data['juryPoints'],
|
||||
'exemplaire_baiu' => $data['exemplaireBaiu'],
|
||||
'exemplaire_erg' => $data['exemplaireErg'],
|
||||
'cc4r' => $data['cc4r'],
|
||||
'cc2r' => $data['cc2r'],
|
||||
]);
|
||||
|
||||
$identifier = $this->db->getThesisIdentifier($thesisId);
|
||||
@@ -347,20 +344,6 @@ class ThesisCreateController
|
||||
$subtitle = $this->sanitiseString($post['subtitle'] ?? '');
|
||||
$synopsis = $this->validateRequired($this->sanitiseString($post['synopsis'] ?? ''), 'Synopsis');
|
||||
|
||||
$durationPages = $this->sanitiseString($post['duration_pages'] ?? '');
|
||||
$durationMinutes = $this->sanitiseString($post['duration_minutes'] ?? '');
|
||||
$durationInfo = '';
|
||||
if ($durationPages !== '' && $durationMinutes !== '') {
|
||||
$durationInfo = $durationPages . ' pages + ' . $durationMinutes . ' minutes';
|
||||
} elseif ($durationMinutes !== '') {
|
||||
$durationInfo = $durationMinutes . ' minutes';
|
||||
} elseif ($durationPages !== '') {
|
||||
$durationInfo = $durationPages . ' pages';
|
||||
}
|
||||
if (!empty($post['has_annexes'])) {
|
||||
$durationInfo = $durationInfo ? $durationInfo . ' + annexe(s)' : 'Annexe(s)';
|
||||
}
|
||||
|
||||
// Jury members — new structure: separate interne/externe lecteurs
|
||||
$juryMembers = [];
|
||||
$hasPromoteur = false;
|
||||
@@ -519,7 +502,7 @@ class ThesisCreateController
|
||||
}
|
||||
$exemplaireBaiu = !empty($post['exemplaire_baiu']);
|
||||
$exemplaireErg = !empty($post['exemplaire_erg']);
|
||||
$cc4r = !empty($post['cc2r']);
|
||||
$cc2r = !empty($post['cc2r']);
|
||||
|
||||
return compact(
|
||||
'authorNames',
|
||||
@@ -533,9 +516,6 @@ class ThesisCreateController
|
||||
'titre',
|
||||
'subtitle',
|
||||
'synopsis',
|
||||
'durationInfo',
|
||||
'durationPages',
|
||||
'durationMinutes',
|
||||
'juryMembers',
|
||||
'keywords',
|
||||
'languageIds',
|
||||
@@ -550,7 +530,7 @@ class ThesisCreateController
|
||||
'juryPoints',
|
||||
'exemplaireBaiu',
|
||||
'exemplaireErg',
|
||||
'cc4r'
|
||||
'cc2r'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ class ThesisEditController
|
||||
*
|
||||
* Runs the full update inside a transaction:
|
||||
* 1. Thesis metadata (title, subtitle, year, orientation, ap, finality,
|
||||
* synopsis, context_note, file_size_info, baiu_link, license_id,
|
||||
* synopsis, context_note, baiu_link, license_id,
|
||||
* access_type_id, is_published)
|
||||
* 2. Authors (setThesisAuthors)
|
||||
* 3. Jury (setThesisJury)
|
||||
@@ -201,9 +201,6 @@ class ThesisEditController
|
||||
'finality_id' => intval($post['finality'] ?? 0),
|
||||
'synopsis' => trim($post['synopsis'] ?? ''),
|
||||
'context_note' => trim($post['context_note'] ?? ''),
|
||||
'file_size_info' => $this->buildFileSizeInfo($post),
|
||||
'duration_pages' => trim($post['duration_pages'] ?? ''),
|
||||
'duration_minutes'=> trim($post['duration_minutes'] ?? ''),
|
||||
'baiu_link' => trim($post['lien'] ?? ''),
|
||||
'license_id' => filter_var($post['license_id'] ?? '', FILTER_VALIDATE_INT) ?: null,
|
||||
'access_type_id' => filter_var($post['access_type_id'] ?? '', FILTER_VALIDATE_INT) ?: null,
|
||||
@@ -212,7 +209,7 @@ class ThesisEditController
|
||||
'jury_points' => $post['jury_points'] ?? null,
|
||||
'exemplaire_baiu' => !empty($post['exemplaire_baiu']),
|
||||
'exemplaire_erg' => !empty($post['exemplaire_erg']),
|
||||
'cc4r' => !empty($post['cc2r']),
|
||||
'cc2r' => !empty($post['cc2r']),
|
||||
'license_custom' => trim($post['license_custom'] ?? ''),
|
||||
]);
|
||||
|
||||
@@ -667,27 +664,6 @@ class ThesisEditController
|
||||
return $members;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build file_size_info from separate duration fields.
|
||||
*/
|
||||
protected function buildFileSizeInfo(array $post): string
|
||||
{
|
||||
$pages = trim($post['duration_pages'] ?? '');
|
||||
$minutes = trim($post['duration_minutes'] ?? '');
|
||||
$info = '';
|
||||
if ($pages !== '' && $minutes !== '') {
|
||||
$info = $pages . ' pages + ' . $minutes . ' minutes';
|
||||
} elseif ($minutes !== '') {
|
||||
$info = $minutes . ' minutes';
|
||||
} elseif ($pages !== '') {
|
||||
$info = $pages . ' pages';
|
||||
}
|
||||
if (!empty($post['has_annexes'])) {
|
||||
$info = $info ? $info . ' + annexe(s)' : 'Annexe(s)';
|
||||
}
|
||||
return $info;
|
||||
}
|
||||
|
||||
/**
|
||||
* Upload a video or audio file to PeerTube when the feature is enabled.
|
||||
*
|
||||
|
||||
@@ -1598,7 +1598,7 @@ class Database
|
||||
public function getThesisRawFields(int $thesisId): ?array
|
||||
{
|
||||
$stmt = $this->pdo->prepare(
|
||||
'SELECT license_id, license_custom, access_type_id, context_note, remarks, jury_points, exemplaire_baiu, exemplaire_erg, cc4r, duration_pages, duration_minutes FROM theses WHERE id = ? LIMIT 1'
|
||||
'SELECT license_id, license_custom, access_type_id, context_note, remarks, jury_points, exemplaire_baiu, exemplaire_erg, cc2r FROM theses WHERE id = ? LIMIT 1'
|
||||
);
|
||||
$stmt->execute([$thesisId]);
|
||||
$row = $stmt->fetch();
|
||||
@@ -1689,7 +1689,7 @@ class Database
|
||||
* Expected keys in $data:
|
||||
* year (int), orientation_id (int), ap_program_id (int), finality_id (int),
|
||||
* title (string), subtitle (?string), synopsis (string),
|
||||
* file_size_info (?string), baiu_link (?string), license_id (?int),
|
||||
* baiu_link (?string), license_id (?int),
|
||||
* author_id (int)
|
||||
*
|
||||
* The identifier is generated automatically from $data['year'].
|
||||
@@ -1713,9 +1713,6 @@ class Database
|
||||
finality_id = ?,
|
||||
synopsis = ?,
|
||||
context_note = ?,
|
||||
file_size_info = ?,
|
||||
duration_pages = ?,
|
||||
duration_minutes = ?,
|
||||
baiu_link = ?,
|
||||
license_id = ?,
|
||||
license_custom = ?,
|
||||
@@ -1725,7 +1722,7 @@ class Database
|
||||
jury_points = ?,
|
||||
exemplaire_baiu = ?,
|
||||
exemplaire_erg = ?,
|
||||
cc4r = ?,
|
||||
cc2r = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE id = ?
|
||||
');
|
||||
@@ -1738,9 +1735,6 @@ class Database
|
||||
(int)$data['finality_id'],
|
||||
$data['synopsis'],
|
||||
!empty($data['context_note']) ? $data['context_note'] : null,
|
||||
!empty($data['file_size_info']) ? $data['file_size_info'] : null,
|
||||
isset($data['duration_pages']) && $data['duration_pages'] !== '' ? (int)$data['duration_pages'] : null,
|
||||
isset($data['duration_minutes']) && $data['duration_minutes'] !== '' ? (int)$data['duration_minutes'] : null,
|
||||
!empty($data['baiu_link']) ? $data['baiu_link'] : null,
|
||||
$data['license_id'] ?? null,
|
||||
!empty($data['license_custom']) ? $data['license_custom'] : null,
|
||||
@@ -1750,7 +1744,7 @@ class Database
|
||||
isset($data['jury_points']) && $data['jury_points'] !== '' ? (float)$data['jury_points'] : null,
|
||||
!empty($data['exemplaire_baiu']) ? 1 : 0,
|
||||
!empty($data['exemplaire_erg']) ? 1 : 0,
|
||||
!empty($data['cc4r']) ? 1 : 0,
|
||||
!empty($data['cc2r']) ? 1 : 0,
|
||||
$thesisId,
|
||||
]);
|
||||
}
|
||||
@@ -1785,17 +1779,16 @@ class Database
|
||||
INSERT INTO theses (
|
||||
identifier, title, subtitle, year,
|
||||
orientation_id, ap_program_id, finality_id,
|
||||
synopsis, context_note, file_size_info,
|
||||
duration_pages, duration_minutes,
|
||||
synopsis, context_note,
|
||||
baiu_link, license_id, license_custom,
|
||||
access_type_id,
|
||||
objet,
|
||||
is_published,
|
||||
remarks, jury_points,
|
||||
exemplaire_baiu, exemplaire_erg,
|
||||
cc4r,
|
||||
cc2r,
|
||||
submitted_at
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
||||
');
|
||||
|
||||
$validObjet = ['tfe', 'thèse', 'frart'];
|
||||
@@ -1811,9 +1804,6 @@ class Database
|
||||
(int)$data['finality_id'],
|
||||
$data['synopsis'],
|
||||
!empty($data['context_note']) ? $data['context_note'] : null,
|
||||
!empty($data['file_size_info']) ? $data['file_size_info'] : null,
|
||||
isset($data['duration_pages']) && $data['duration_pages'] !== '' ? (int)$data['duration_pages'] : null,
|
||||
isset($data['duration_minutes']) && $data['duration_minutes'] !== '' ? (int)$data['duration_minutes'] : null,
|
||||
!empty($data['baiu_link']) ? $data['baiu_link'] : null,
|
||||
$data['license_id'] ?? null,
|
||||
!empty($data['license_custom']) ? $data['license_custom'] : null,
|
||||
@@ -1823,7 +1813,7 @@ class Database
|
||||
isset($data['jury_points']) && $data['jury_points'] !== '' ? (float)$data['jury_points'] : null,
|
||||
!empty($data['exemplaire_baiu']) ? 1 : 0,
|
||||
!empty($data['exemplaire_erg']) ? 1 : 0,
|
||||
!empty($data['cc4r']) ? 1 : 0,
|
||||
!empty($data['cc2r']) ? 1 : 0,
|
||||
]);
|
||||
|
||||
return (int)$this->pdo->lastInsertId();
|
||||
@@ -2057,7 +2047,6 @@ class Database
|
||||
t.synopsis,
|
||||
t.context_note,
|
||||
t.remarks,
|
||||
t.file_size_info,
|
||||
t.jury_points,
|
||||
t.baiu_link
|
||||
FROM theses t
|
||||
|
||||
@@ -36,7 +36,6 @@ class StudentEmail
|
||||
'Président·e du jury' => $thesis['jury_president'] ?? '',
|
||||
'Lecteurs·rices (interne)' => $thesis['jury_lecteurs_internes'] ?? '',
|
||||
'Lecteurs·rices (externe)' => $thesis['jury_lecteurs_externes'] ?? '',
|
||||
'Durée / Taille' => $thesis['file_size_info'] ?? '',
|
||||
'Lien' => $thesis['baiu_link'] ?? '',
|
||||
'Type d\'accès' => $thesis['access_type'] ?? '',
|
||||
'Licence' => $thesis['license_type'] ?? '',
|
||||
|
||||
Reference in New Issue
Block a user