Skip to content

Commit 597a745

Browse files
committed
Add setting "allow_base_course_category" see BT#13829
Show base course categories in portal children.
1 parent 5185bb8 commit 597a745

File tree

9 files changed

+245
-209
lines changed

9 files changed

+245
-209
lines changed

main/admin/course_add.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@
5959
$form->applyFilter('visual_code', 'api_strtoupper');
6060
$form->applyFilter('visual_code', 'html_filter');
6161

62-
$countCategories = $courseCategoriesRepo->countAllInAccessUrl($accessUrlId);
62+
$countCategories = $courseCategoriesRepo->countAllInAccessUrl(
63+
$accessUrlId,
64+
api_get_configuration_value('allow_base_course_category')
65+
);
6366

6467
if ($countCategories >= 100) {
6568
// Category code
@@ -73,9 +76,11 @@
7376
['url' => $url]
7477
);
7578
} else {
76-
$categories = $courseCategoriesRepo->findAllInAccessUrl($accessUrlId);
79+
$categories = $courseCategoriesRepo->findAllInAccessUrl(
80+
$accessUrlId,
81+
api_get_configuration_value('allow_base_course_category')
82+
);
7783
$categoriesOptions = [null => get_lang('None')];
78-
7984
/** @var CourseCategory $category */
8085
foreach ($categories as $category) {
8186
$categoriesOptions[$category->getCode()] = (string) $category;

main/admin/course_category.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
];
8181

8282
Display::display_header($tool_name);
83+
$urlId = api_get_current_access_url_id();
8384

8485
if ($action == 'add' || $action == 'edit') {
8586
echo '<div class="actions">';
@@ -168,26 +169,30 @@
168169
$form->display();
169170
} else {
170171
// If multiple URLs and not main URL, prevent deletion and inform user
171-
if ($action == 'delete' && api_get_multiple_access_url() && api_get_current_access_url_id() != 1) {
172+
if ($action == 'delete' && api_get_multiple_access_url() && $urlId != 1) {
172173
echo Display::return_message(get_lang('CourseCategoriesAreGlobal'), 'warning');
173174
}
174175
echo '<div class="actions">';
175176
$link = null;
176177
if (!empty($parentInfo)) {
177178
$parentCode = $parentInfo['parent_id'];
178179
echo Display::url(
179-
Display::return_icon('back.png', get_lang("Back"), '', ICON_SIZE_MEDIUM),
180+
Display::return_icon('back.png', get_lang('Back'), '', ICON_SIZE_MEDIUM),
180181
api_get_path(WEB_CODE_PATH).'admin/course_category.php?category='.$parentCode
181182
);
182183
}
183184

184185
if (empty($parentInfo) || $parentInfo['auth_cat_child'] == 'TRUE') {
185-
echo Display::url(
186-
Display::return_icon('new_folder.png', get_lang("AddACategory"), '', ICON_SIZE_MEDIUM),
186+
$newCategoryLink = Display::url(
187+
Display::return_icon('new_folder.png', get_lang('AddACategory'), '', ICON_SIZE_MEDIUM),
187188
api_get_path(WEB_CODE_PATH).'admin/course_category.php?action=add&category='.Security::remove_XSS($category)
188189
);
189-
}
190190

191+
if (!empty($parentInfo) && $parentInfo['access_url_id'] != $urlId) {
192+
$newCategoryLink = '';
193+
}
194+
echo $newCategoryLink;
195+
}
191196
echo '</div>';
192197
if (!empty($parentInfo)) {
193198
echo Display::page_subheader($parentInfo['name'].' ('.$parentInfo['code'].')');

main/admin/course_edit.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,10 @@
145145
$form->applyFilter('visual_code', 'strtoupper');
146146
$form->applyFilter('visual_code', 'html_filter');
147147

148-
$countCategories = $courseCategoriesRepo->countAllInAccessUrl($urlId);
148+
$countCategories = $courseCategoriesRepo->countAllInAccessUrl(
149+
$urlId,
150+
api_get_configuration_value('allow_base_course_category')
151+
);
149152
if ($countCategories >= 100) {
150153
// Category code
151154
$url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_category';
@@ -164,7 +167,10 @@
164167
}
165168
} else {
166169
$courseInfo['category_code'] = $courseInfo['categoryCode'];
167-
$categories = $courseCategoriesRepo->findAllInAccessUrl($urlId);
170+
$categories = $courseCategoriesRepo->findAllInAccessUrl(
171+
$urlId,
172+
api_get_configuration_value('allow_base_course_category')
173+
);
168174
$categoriesOptions = [null => get_lang('None')];
169175

170176
/** @var CourseCategory $category */

main/auth/courses.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use Chamilo\CoreBundle\Entity\SequenceResource;
55

66
/**
7-
* Template (front controller in MVC pattern) used for distpaching
7+
* Template (front controller in MVC pattern) used for dispatching
88
* to the controllers depend on the current action
99
* @author Christian Fasanando <christian1827@gmail.com> - Beeznest
1010
* @package chamilo.auth

0 commit comments

Comments
 (0)