Skip to content

Commit 378beec

Browse files
Merge remote-tracking branch 'upstream/master' into GH-6207
2 parents 0453a49 + 7a91fa0 commit 378beec

File tree

81 files changed

+1554
-660
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1554
-660
lines changed

assets/locales/lo.json

Lines changed: 1257 additions & 0 deletions
Large diffs are not rendered by default.

public/documentation/installation_guide.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h2>1. Requirements</h2>
4141
<li>zip</li>
4242
<li>zlib</li>
4343
<li>ldap</li>
44+
<li>apcu (optional)</li>
4445
<li>redis (optional)</li>
4546
<li>xapian (optional)</li>
4647
</ul>
@@ -114,7 +115,7 @@ <h3>3.1. Software stack</h3>
114115
<pre>
115116
sudo -s
116117
apt update && apt -y upgrade
117-
apt -y install apache2 libapache2-mod-php8.3 mariadb-client mariadb-server redis-server php8.3-{bcmath,curl,exif,gd,iconv,intl,ldap,mbstring,mysql,opcache,soap,xml,zip,redis}
118+
apt -y install apache2 libapache2-mod-php8.3 mariadb-client mariadb-server redis-server php8.3-{apcu,bcmath,curl,exif,gd,iconv,intl,ldap,mbstring,mysql,opcache,soap,xml,zip,redis}
118119
a2enmod rewrite
119120
cd /var/www/
120121
mkdir chamilo
@@ -515,7 +516,7 @@ <h2>7. Xapian text indexation</h2>
515516
This is probably not supported for Windows setups (untested), but it should work on Linux and macOS.<br>
516517
To install Xapian (a requirement to use the internal search engine), follow the instructions below.<br>
517518
<pre>
518-
sudo apt install libxapian-dev catdoc html2text unrtf ghostscript poppler-utils
519+
sudo apt install libxapian-dev catdoc html2text unrtf ghostscript poppler-utils build-essential
519520
cd /tmp
520521
wget https://oligarchy.co.uk/xapian/1.4.25/xapian-bindings-1.4.25.tar.xz
521522
# use 1.4.25 because this matches the version of the libxapian-dev package on Ubuntu 25.04
@@ -524,7 +525,7 @@ <h2>7. Xapian text indexation</h2>
524525
./configure
525526
make install
526527
cd /etc/php/8.3/mods-available
527-
cat "extension=xapian.so" &gt;&gt; xapian.ini
528+
echo "extension=xapian.so" &gt;&gt; xapian.ini
528529
cd /etc/php/8.3/apache2/conf.d
529530
ln -s ../../mods-available/xapian.ini 26-xapian.ini
530531
systemctl restart apache2

public/main/auth/registration.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ function ($email) {
686686
$form->addHtml('<div id="final_button" style="display: none">');
687687
$form->addLabel(
688688
null,
689-
Display::return_message(get_lang('You confirm that you really want to subscribe to this plateform.'), 'info', false)
689+
Display::return_message(get_lang('You confirm that you really want to subscribe to this platform.'), 'info', false)
690690
);
691691
$form->addButton('submit', get_lang('Register'), '', 'primary');
692692
$form->addHtml('</div>');
@@ -937,7 +937,7 @@ function ($email) {
937937

938938
Display::addFlash(
939939
Display::return_message(
940-
get_lang('You need confirm your account via e-mail to access the platform'),
940+
get_lang('You need to confirm your account via e-mail to access the platform'),
941941
'warning'
942942
)
943943
);

public/main/exercise/question.class.php

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,11 +1551,29 @@ public static function displayTypeMenu(Exercise $objExercise)
15511551
// Add all other non-open question types.
15521552
$allTypes = self::getQuestionTypeList();
15531553

1554-
// The task explicitly mentions NOT including free-answer questions.
1555-
// So we only exclude FREE_ANSWER here.
1554+
// Exclude the classic open question types from the filter list
1555+
// as the system cannot provide immediate feedback on these.
15561556
if (isset($allTypes[FREE_ANSWER])) {
15571557
unset($allTypes[FREE_ANSWER]);
15581558
}
1559+
if (isset($allTypes[ORAL_EXPRESSION])) {
1560+
unset($allTypes[ORAL_EXPRESSION]);
1561+
}
1562+
if (isset($allTypes[ANNOTATION])) {
1563+
unset($allTypes[ANNOTATION]);
1564+
}
1565+
if (isset($allTypes[MULTIPLE_ANSWER_TRUE_FALSE_DEGREE_CERTAINTY])) {
1566+
unset($allTypes[MULTIPLE_ANSWER_TRUE_FALSE_DEGREE_CERTAINTY]);
1567+
}
1568+
if (isset($allTypes[UPLOAD_ANSWER])) {
1569+
unset($allTypes[UPLOAD_ANSWER]);
1570+
}
1571+
if (isset($allTypes[ANSWER_IN_OFFICE_DOC])) {
1572+
unset($allTypes[ANSWER_IN_OFFICE_DOC]);
1573+
}
1574+
if (isset($allTypes[PAGE_BREAK])) {
1575+
unset($allTypes[PAGE_BREAK]);
1576+
}
15591577

15601578
// Append remaining types, without overriding the original ones.
15611579
foreach ($allTypes as $typeId => $def) {

public/main/exercise/question_pool.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,10 +445,30 @@ function confirm_your_choice() {
445445
// Start from all known types.
446446
$allTypes = $question_list;
447447

448-
// Exclude the classic open question type from the filter list.
448+
// Exclude the classic open question types from the filter list
449+
// as the system cannot provide immediate feedback on these.
449450
if (isset($allTypes[FREE_ANSWER])) {
450451
unset($allTypes[FREE_ANSWER]);
451452
}
453+
if (isset($allTypes[ORAL_EXPRESSION])) {
454+
unset($allTypes[ORAL_EXPRESSION]);
455+
}
456+
if (isset($allTypes[ANNOTATION])) {
457+
unset($allTypes[ANNOTATION]);
458+
}
459+
if (isset($allTypes[MULTIPLE_ANSWER_TRUE_FALSE_DEGREE_CERTAINTY])) {
460+
unset($allTypes[MULTIPLE_ANSWER_TRUE_FALSE_DEGREE_CERTAINTY]);
461+
}
462+
if (isset($allTypes[UPLOAD_ANSWER])) {
463+
unset($allTypes[UPLOAD_ANSWER]);
464+
}
465+
if (isset($allTypes[ANSWER_IN_OFFICE_DOC])) {
466+
unset($allTypes[ANSWER_IN_OFFICE_DOC]);
467+
}
468+
if (isset($allTypes[PAGE_BREAK])) {
469+
unset($allTypes[PAGE_BREAK]);
470+
}
471+
452472

453473
// Append remaining non-open types (do not override base ones).
454474
foreach ($allTypes as $key => $item) {

public/main/inc/lib/display.lib.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ public static function return_icon(
714714
// it checks if there is an SVG version. If so, it uses it.
715715
// When moving this to production, the return_icon() calls should
716716
// ask for the SVG version directly
717-
$svgIcons = api_get_setting('icons_mode_svg');
717+
$svgIcons = 'true';
718718
if ('true' == $svgIcons && false == $return_only_path) {
719719
$svgImage = substr($image, 0, -3).'svg';
720720
if (is_file($code_path.$theme.'svg/'.$svgImage)) {

public/main/inc/lib/usermanager.lib.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5598,7 +5598,7 @@ public static function sendUserConfirmationMail(User $user)
55985598
$url .= '&s='.$sessionToRedirect;
55995599
}
56005600
$mailSubject = get_lang('Registration confirmation');
5601-
$mailBody = get_lang('To complete your platform registration you need confirm your account by clicking the following link')
5601+
$mailBody = get_lang('To complete your platform registration you need to confirm your account by clicking the following link')
56025602
.PHP_EOL
56035603
.Display::url($url, $url);
56045604

src/CoreBundle/Controller/Admin/IndexBlocksController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,8 @@ private function getItemsHealthCheck(): array
958958
// Check if dsn or email is defined :
959959
$mailDsn = $this->settingsManager->getSetting('mail.mailer_dsn', true);
960960
$mailSender = $this->settingsManager->getSetting('mail.mailer_from_email', true);
961-
if ((empty($mailDsn) || 'null://null' == $mailDsn) && empty($mailSender)) {
961+
$nameSender = $this->settingsManager->getSetting('mail.mailer_from_name', true);
962+
if ((empty($mailDsn) || 'null://null' == $mailDsn) || empty($mailSender) || empty($nameSender)) {
962963
$items[] = [
963964
'className' => 'item-health-check-mail-settings text-error',
964965
'url' => '/admin/settings/mail',

src/CoreBundle/DataFixtures/SettingsCurrentFixtures.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -687,11 +687,6 @@ public static function getExistingSettings(): array
687687
'title' => 'Hide logout button',
688688
'comment' => 'Hide the logout button. This is usually only interesting when using an external login/logout method, for example when using Single Sign On of some sort.',
689689
],
690-
[
691-
'name' => 'icons_mode_svg',
692-
'title' => 'SVG icons mode',
693-
'comment' => 'By enabling this option, all icons that have an SVG version will prefer the SVG format to PNG. This will give a much better icons quality but some icons might still have some rendering size issue, and some browsers might not support it.',
694-
],
695690
],
696691
'language' => [
697692
[

src/CoreBundle/Helpers/ChamiloHelper.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,17 +113,13 @@ public static function getPlatformLogoPath(
113113
}
114114
$themeDir = Template::getThemeDir($theme);
115115
$customLogoPath = $themeDir.\sprintf('images/header-logo-custom%s.png', $accessUrlId);
116-
117-
$svgIcons = api_get_setting('icons_mode_svg');
118-
if ('true' === $svgIcons) {
119-
$customLogoPathSVG = substr($customLogoPath, 0, -3).'svg';
120-
if (file_exists(api_get_path(SYS_PUBLIC_PATH).\sprintf('css/%s', $customLogoPathSVG))) {
121-
if ($getSysPath) {
122-
return api_get_path(SYS_PUBLIC_PATH).\sprintf('css/%s', $customLogoPathSVG);
123-
}
124-
125-
return api_get_path(WEB_CSS_PATH).$customLogoPathSVG;
116+
$customLogoPathSVG = substr($customLogoPath, 0, -3).'svg';
117+
if (file_exists(api_get_path(SYS_PUBLIC_PATH).\sprintf('css/%s', $customLogoPathSVG))) {
118+
if ($getSysPath) {
119+
return api_get_path(SYS_PUBLIC_PATH).\sprintf('css/%s', $customLogoPathSVG);
126120
}
121+
122+
return api_get_path(WEB_CSS_PATH).$customLogoPathSVG;
127123
}
128124
if (file_exists(api_get_path(SYS_PUBLIC_PATH).\sprintf('css/%s', $customLogoPath))) {
129125
if ($getSysPath) {

0 commit comments

Comments
 (0)