Minor - partial merge with 1.11.x

pull/3006/head
Julio Montoya 6 years ago
parent ea7397bbd8
commit b3ebd5d221
  1. 20
      main/announcements/announcements.php
  2. 1
      main/calendar/agenda_js.php
  3. 4
      main/calendar/ical_export.php
  4. 2
      main/course_description/add.php
  5. 2
      main/course_description/edit.php
  6. 29
      main/course_home/course_home.php
  7. 2
      main/course_progress/thematic.php
  8. 38
      main/cron/import_csv.php
  9. 2
      main/exercise/ReadingComprehension.php
  10. 208
      main/exercise/exercise.class.php
  11. 19
      main/exercise/exercise.php
  12. 51
      main/exercise/exercise_submit.php
  13. 83
      main/exercise/exercise_submit_modal.php
  14. 2
      main/exercise/question.class.php
  15. 39
      main/exercise/question_pool.php
  16. 17
      main/forum/viewforum.php
  17. 4
      main/glossary/index.php
  18. 12
      main/gradebook/lib/fe/flatviewtable.class.php
  19. 68
      main/gradebook/lib/flatview_data_generator.class.php
  20. 20
      main/group/group_space.php
  21. 4
      main/inc/ajax/message.ajax.php
  22. 49
      main/inc/ajax/model.ajax.php
  23. 22
      main/inc/email_editor.php
  24. 49
      main/inc/lib/AnnouncementManager.php
  25. 4
      main/inc/lib/Compilatio.php
  26. 55
      main/inc/lib/CoursesAndSessionsCatalog.class.php
  27. 2
      main/inc/lib/api.lib.php
  28. 7
      main/inc/lib/auth.lib.php
  29. 15
      main/inc/lib/display.lib.php
  30. 17
      main/inc/lib/exercise.lib.php
  31. 2
      main/inc/lib/formvalidator/Element/HtmlEditor.php
  32. 7
      main/inc/lib/formvalidator/FormValidator.class.php
  33. 42
      main/inc/lib/groupmanager.lib.php
  34. 2
      main/inc/lib/notification.lib.php
  35. 8
      main/inc/lib/pear/HTML/QuickForm/textarea.php
  36. 66
      main/inc/lib/sessionmanager.lib.php
  37. 56
      main/inc/lib/social.lib.php
  38. 191
      main/inc/lib/sortable_table.class.php
  39. 6
      main/inc/lib/tracking.lib.php
  40. 152
      main/inc/lib/usergroup.lib.php
  41. 3
      main/inc/lib/usermanager.lib.php
  42. 312
      main/inc/lib/userportal.lib.php
  43. 2
      main/inc/lib/webservices/Rest.php
  44. 347
      main/lang/arabic/trad4all.inc.php
  45. 2
      main/lang/asturian/trad4all.inc.php
  46. 1199
      main/lang/basque/trad4all.inc.php
  47. 30
      main/lang/brazilian/trad4all.inc.php
  48. 2
      main/lang/bulgarian/trad4all.inc.php
  49. 6
      main/lang/catalan/trad4all.inc.php
  50. 2
      main/lang/croatian/trad4all.inc.php
  51. 2
      main/lang/danish/trad4all.inc.php
  52. 4
      main/lang/dutch/trad4all.inc.php
  53. 20
      main/lang/english/trad4all.inc.php
  54. 2
      main/lang/esperanto/trad4all.inc.php
  55. 2
      main/lang/faroese/trad4all.inc.php
  56. 2
      main/lang/finnish/trad4all.inc.php
  57. 29
      main/lang/french/trad4all.inc.php
  58. 4
      main/lang/galician/trad4all.inc.php
  59. 197
      main/lang/german/trad4all.inc.php
  60. 42
      main/lang/greek/trad4all.inc.php
  61. 2
      main/lang/hungarian/trad4all.inc.php
  62. 2
      main/lang/indonesian/trad4all.inc.php
  63. 2
      main/lang/italian/trad4all.inc.php
  64. 2
      main/lang/japanese/trad4all.inc.php
  65. 2
      main/lang/korean/trad4all.inc.php
  66. 48
      main/lang/latvian/trad4all.inc.php
  67. 2
      main/lang/lithuanian/trad4all.inc.php
  68. 2
      main/lang/macedonian/trad4all.inc.php
  69. 74
      main/lang/persian/trad4all.inc.php
  70. 194
      main/lang/polish/trad4all.inc.php
  71. 58
      main/lang/portuguese/trad4all.inc.php
  72. 2
      main/lang/quechua_cusco/trad4all.inc.php
  73. 6
      main/lang/romanian/trad4all.inc.php
  74. 2
      main/lang/russian/trad4all.inc.php
  75. 2
      main/lang/serbian/trad4all.inc.php
  76. 2
      main/lang/simpl_chinese/trad4all.inc.php
  77. 350
      main/lang/slovak/trad4all.inc.php
  78. 90
      main/lang/slovenian/trad4all.inc.php
  79. 329
      main/lang/spanish/trad4all.inc.php
  80. 2
      main/lang/spanish_latin/trad4all.inc.php
  81. 6
      main/lang/swedish/trad4all.inc.php
  82. 2
      main/lang/tagalog/trad4all.inc.php
  83. 2
      main/lang/thai/trad4all.inc.php
  84. 2
      main/lang/trad_chinese/trad4all.inc.php
  85. 2
      main/lang/turkish/trad4all.inc.php
  86. 522
      main/lp/learnpath.class.php
  87. 10
      main/lp/lp_add.php
  88. 2
      main/lp/lp_add_audio.php
  89. 2
      main/lp/lp_add_category.php
  90. 2
      main/lp/lp_add_item.php
  91. 4
      main/lp/lp_admin_view.php
  92. 2
      main/lp/lp_build.php
  93. 2
      main/lp/lp_content.php
  94. 112
      main/lp/lp_controller.php
  95. 18
      main/lp/lp_edit.php
  96. 9
      main/lp/lp_edit_item.php
  97. 2
      main/lp/lp_edit_item_prereq.php
  98. 3
      main/lp/lp_final_item.php
  99. 2
      main/lp/lp_impress.php
  100. 2
      main/lp/lp_list.php
  101. Some files were not shown because too many files have changed in this diff Show More

@ -27,8 +27,6 @@ $token = Security::get_existing_token();
$courseId = api_get_course_int_id();
$_course = api_get_course_info_by_id($courseId);
$group_id = api_get_group_id();
$sessionId = api_get_session_id();
$current_course_tool = TOOL_ANNOUNCEMENT;
$this_section = SECTION_COURSES;
$nameTools = get_lang('ToolAnnouncement');
@ -46,19 +44,6 @@ if (!empty($sessionId) && $drhHasAccessToSessionContent) {
}
// Configuration settings
$display_announcement_list = true;
$display_form = false;
$display_title_list = true;
// Maximum title messages to display
$maximum = '12';
// Length of the titles
$length = '36';
// Database Table Definitions
$tbl_courses = Database::get_main_table(TABLE_MAIN_COURSE);
$tbl_sessions = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
$tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);
@ -100,8 +85,6 @@ $searchFormToString = '';
$logInfo = [
'tool' => TOOL_ANNOUNCEMENT,
'tool_id' => 0,
'tool_id_detail' => 0,
'action' => $action,
];
Event::registerLog($logInfo);
@ -128,7 +111,6 @@ switch ($action) {
$sortDirection = 'ASC';
}
$announcementInfo = AnnouncementManager::get_by_id($courseId, $thisAnnouncementId);
$sql = "SELECT DISTINCT announcement.id, announcement.display_order
FROM $tbl_announcement announcement
INNER JOIN $tbl_item_property itemproperty
@ -322,7 +304,7 @@ switch ($action) {
break;
case 'delete':
/* Delete announcement */
$id = intval($_GET['id']);
$id = (int) $_GET['id'];
if ($sessionId != 0 && api_is_allowed_to_session_edit(false, true) == false) {
api_not_allowed();
}

@ -267,6 +267,7 @@ $form->addHtmlEditor(
[
'ToolbarSet' => 'TestProposedAnswer',
'Height' => '120',
'id' => 'content',
]
);

@ -58,10 +58,12 @@ if (!empty($event)) {
case 'public':
$vevent->setClass('PUBLIC');
break;
case 'private':
$vevent->setClass('PRIVATE');
break;
case 'confidential':
$vevent->setClass('CONFIDENTIAL');
break;
case 'private':
default:
$vevent->setClass('PRIVATE');
break;

@ -68,7 +68,7 @@ if (api_get_configuration_value('save_titles_as_html')) {
get_lang('Title'),
true,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addText('title', get_lang('Title'));

@ -86,7 +86,7 @@ if (api_get_configuration_value('save_titles_as_html')) {
get_lang('Title'),
true,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addText('title', get_lang('Title'));

@ -326,8 +326,6 @@ if ($documentAutoLaunch == 1) {
}
$tool_table = Database::get_course_table(TABLE_TOOL_LIST);
$temps = time();
$reqdate = "&reqdate=$temps";
/* Introduction section (editable by course admins) */
$content = Display::return_introduction_section(
@ -349,16 +347,22 @@ if (!empty($autoLaunchWarning)) {
);
}
if (api_get_setting('homepage_view') === 'activity' ||
api_get_setting('homepage_view') === 'activity_big'
) {
require 'activity.php';
} elseif (api_get_setting('homepage_view') === '2column') {
require '2column.php';
} elseif (api_get_setting('homepage_view') === '3column') {
require '3column.php';
} elseif (api_get_setting('homepage_view') === 'vertical_activity') {
require 'vertical_activity.php';
$homePageView = api_get_setting('homepage_view');
switch ($homePageView) {
case 'activity':
case 'activity_big':
require 'activity.php';
break;
case '2column':
require '2column.php';
break;
case '3column':
require '3column.php';
break;
case 'vertical_activity':
require 'vertical_activity.php';
break;
}
// Get session-career diagram
@ -417,6 +421,7 @@ Session::erase('_gid');
Session::erase('oLP');
Session::erase('lpobject');
api_remove_in_gradebook();
Exercise::cleanSessionVariables();
DocumentManager::removeGeneratedAudioTempFile();
$tpl = new Template(null);

@ -243,7 +243,7 @@ if ($action == 'thematic_list') {
get_lang('Title'),
true,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addText('title', get_lang('Title'), true, ['size' => '50']);

@ -1429,28 +1429,46 @@ class ImportCsv
$courseTitle = $courseInfo['title'];
// Get the value of the "careerid" extra field of this
// session
$sessionExtraFieldValue = new ExtraFieldValue('session');
$values = $sessionExtraFieldValue->get_values_by_handler_and_field_variable(
$externalCareerIdList = $sessionExtraFieldValue->get_values_by_handler_and_field_variable(
$event['session_id'],
$this->extraFieldIdNameList['session_career']
'careerid'
);
$externalCareerIdList = $externalCareerIdList['value'];
$externalCareerIds = [];
if (substr($externalCareerIdList, 0, 1) === '[') {
$externalCareerIdList = substr($externalCareerIdList, 1, -1);
$externalCareerIds = preg_split('/,/', $externalCareerIdList);
} else {
$externalCareerIds = [$externalCareerIdList];
}
$careerExtraFieldValue = new ExtraFieldValue('career');
$career = new Career();
$careerName = '';
if (!empty($values)) {
foreach ($values as $value) {
if (isset($value['value'])) {
$careerName = $value['value'];
// Concat the names of each career linked to this session
foreach ($externalCareerIds as $externalCareerId) {
// Using the external_career_id field (from above),
// find the career ID
$careerValue = $careerExtraFieldValue->get_item_id_from_field_variable_and_field_value(
'external_career_id',
$externalCareerId
);
$career = $career->find($careerValue['item_id']);
$careerName .= $career['name'].', ';
}
}
}
// Remove trailing comma
$careerName = substr($careerName, 0, -2);
$subject = sprintf(
get_lang('WelcomeToPortalXInCourseSessionX'),
api_get_setting('siteName'),
api_get_setting('Institution'),
$courseInfo['title']
);
$tpl->assign('site_name', api_get_setting('siteName'));
$tpl->assign('course_title', $courseTitle);
$tpl->assign('career_name', $careerName);
$tpl->assign('first_lesson', $date);

@ -141,7 +141,7 @@ class ReadingComprehension extends UniqueAnswer
$form->addTextarea('questionDescription', get_lang('Text'), ['rows' => 20]);
// question name
if (api_get_configuration_value('save_titles_as_html')) {
$editorConfig = ['ToolbarSet' => 'Minimal'];
$editorConfig = ['ToolbarSet' => 'TitleAsHtml'];
$form->addHtmlEditor(
'questionName',
get_lang('Question'),

@ -22,6 +22,7 @@ use Doctrine\DBAL\Types\Type;
*/
class Exercise
{
const PAGINATION_ITEMS_PER_PAGE = 5;
public $iId;
public $id;
public $name;
@ -1048,18 +1049,18 @@ class Exercise
switch ($questionSelectionType) {
case EX_Q_SELECTION_ORDERED:
$questionList = $this->getQuestionOrderedList();
$questionList = $this->getQuestionOrderedList($adminView);
break;
case EX_Q_SELECTION_RANDOM:
// Not a random exercise, or if there are not at least 2 questions
if ($this->random == 0 || $nbQuestions < 2) {
$questionList = $this->getQuestionOrderedList();
$questionList = $this->getQuestionOrderedList($adminView);
} else {
$questionList = $this->getRandomList($adminView);
}
break;
default:
$questionList = $this->getQuestionOrderedList();
$questionList = $this->getQuestionOrderedList($adminView);
$result = $this->getQuestionListWithCategoryListFilteredByCategorySettings(
$questionList,
$questionSelectionType
@ -1577,7 +1578,9 @@ class Exercise
$allow = api_get_configuration_value('allow_exercise_categories');
if ($allow === true) {
$paramsExtra['exercise_category_id'] = $this->getExerciseCategoryId();
if (!empty($this->getExerciseCategoryId())) {
$paramsExtra['exercise_category_id'] = $this->getExerciseCategoryId();
}
}
$allow = api_get_configuration_value('allow_notification_setting_per_exercise');
@ -1657,7 +1660,9 @@ class Exercise
$allow = api_get_configuration_value('allow_exercise_categories');
if ($allow === true) {
$params['exercise_category_id'] = $this->getExerciseCategoryId();
if (!empty($this->getExerciseCategoryId())) {
$params['exercise_category_id'] = $this->getExerciseCategoryId();
}
}
$allow = api_get_configuration_value('allow_quiz_show_previous_button_setting');
@ -1908,7 +1913,7 @@ class Exercise
get_lang('ExerciseName'),
false,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addElement(
@ -2939,6 +2944,7 @@ class Exercise
// Hides the new exercise
$exerciseObject->updateStatus(false);
$exerciseObject->updateId(0);
$exerciseObject->sessionId = api_get_session_id();
$exerciseObject->save();
$newId = $exerciseObject->selectId();
if ($newId && !empty($questionList)) {
@ -3112,6 +3118,7 @@ class Exercise
if ($questionNum == count($this->questionList)) {
$urlTitle = get_lang('EndTest');
}
$url = api_get_path(WEB_CODE_PATH).'exercise/exercise_submit_modal.php?'.api_get_cidreq();
$url .= '&'.http_build_query([
'learnpath_id' => $safe_lp_id,
@ -3124,14 +3131,23 @@ class Exercise
'exerciseId' => $this->id,
'reminder' => empty($myRemindList) ? null : 2,
]);
$params = [
'class' => 'ajax btn btn-default no-close-button',
'data-title' => Security::remove_XSS(get_lang('Comment')),
'data-size' => 'md',
'id' => "button_$question_id",
];
if ($this->getFeedbackType() === EXERCISE_FEEDBACK_TYPE_POPUP) {
//$params['data-block-div-after-closing'] = "question_div_$question_id";
$params['data-block-closing'] = 'true';
}
$html .= Display::url(
$urlTitle,
$url,
[
'class' => 'ajax btn btn-default',
'data-title' => Security::remove_XSS(get_lang('Comment')),
'data-size' => 'md',
]
$params
);
$html .= '<br />';
} else {
@ -4687,12 +4703,13 @@ class Exercise
// THIS is very important otherwise the poly_compile will throw an error!!
// round-up the coordinates
$coords = explode('/', $user_answer);
$coords = array_filter($coords);
$user_array = '';
foreach ($coords as $coord) {
list($x, $y) = explode(';', $coord);
$user_array .= round($x).';'.round($y).'/';
}
$user_array = substr($user_array, 0, -1);
$user_array = substr($user_array, 0, -1) ?: '';
} else {
if (!empty($studentChoice)) {
$newquestionList[] = $questionId;
@ -4884,6 +4901,7 @@ class Exercise
// Round-up the coordinates
$coords = explode('/', $user_answer);
$coords = array_filter($coords);
$user_array = '';
foreach ($coords as $coord) {
if (!empty($coord)) {
@ -4893,7 +4911,7 @@ class Exercise
}
}
}
$user_array = substr($user_array, 0, -1);
$user_array = substr($user_array, 0, -1) ?: '';
if ($next) {
$user_answer = $user_array;
// We compare only the delineation not the other points
@ -5459,20 +5477,6 @@ class Exercise
}
if ($answerType === HOT_SPOT_DELINEATION) {
if ($showHotSpotDelineationTable) {
$overlap_color = 'red';
if ($overlap_color) {
$overlap_color = 'green';
}
$missing_color = 'red';
if ($missing_color) {
$missing_color = 'green';
}
$excess_color = 'red';
if ($excess_color) {
$excess_color = 'green';
}
if (!is_numeric($final_overlap)) {
$final_overlap = 0;
}
@ -5496,20 +5500,20 @@ class Exercise
<tr class="row_even">
<td><b>'.get_lang('Overlap').'</b></td>
<td>'.get_lang('Min').' '.$threadhold1.'</td>
<td><div style="color:'.$overlap_color.'">'
.(($final_overlap < 0) ? 0 : intval($final_overlap)).'</div></td>
<td class="text-right '.($overlap_color ? 'text-success' : 'text-danger').'">'
.(($final_overlap < 0) ? 0 : intval($final_overlap)).'</td>
</tr>
<tr>
<td><b>'.get_lang('Excess').'</b></td>
<td>'.get_lang('Max').' '.$threadhold2.'</td>
<td><div style="color:'.$excess_color.'">'
.(($final_excess < 0) ? 0 : intval($final_excess)).'</div></td>
<td class="text-right '.($excess_color ? 'text-success' : 'text-danger').'">'
.(($final_excess < 0) ? 0 : intval($final_excess)).'</td>
</tr>
<tr class="row_even">
<td><b>'.get_lang('Missing').'</b></td>
<td>'.get_lang('Max').' '.$threadhold3.'</td>
<td><div style="color:'.$missing_color.'">'
.(($final_missing < 0) ? 0 : intval($final_missing)).'</div></td>
<td class="text-right '.($missing_color ? 'text-success' : 'text-danger').'">'
.(($final_missing < 0) ? 0 : intval($final_missing)).'</td>
</tr>
</table>';
if ($next == 0) {
@ -7920,6 +7924,10 @@ class Exercise
*/
public function getExerciseCategoryId()
{
if (empty($this->exerciseCategoryId)) {
return null;
}
return (int) $this->exerciseCategoryId;
}
@ -7928,7 +7936,9 @@ class Exercise
*/
public function setExerciseCategoryId($value)
{
$this->exerciseCategoryId = (int) $value;
if (!empty($value)) {
$this->exerciseCategoryId = (int) $value;
}
}
/**
@ -8348,17 +8358,17 @@ class Exercise
}
/**
* Return an HTML table of exercises for on-screen printing, including
* action icons. If no exercise is present and the user can edit the
* course, show a "create test" button.
*
* @param int $categoryId
* @param int $page
* @param int $from
* @param int $limit
* @param string $keyword
*
* @throws \Doctrine\ORM\Query\QueryException
*
* @return string
*/
public static function exerciseGrid($categoryId, $page, $from, $limit, $keyword = '')
public static function exerciseGrid($categoryId, $keyword = '')
{
$TBL_DOCUMENT = Database::get_course_table(TABLE_DOCUMENT);
$TBL_ITEM_PROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY);
@ -8366,9 +8376,10 @@ class Exercise
$TBL_EXERCISES = Database::get_course_table(TABLE_QUIZ_TEST);
$TBL_TRACK_EXERCISES = Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES);
$page = (int) $page;
$from = (int) $from;
$limit = (int) $limit;
$categoryId = (int) $categoryId;
$keyword = Database::escape_string($keyword);
$learnpath_id = isset($_REQUEST['learnpath_id']) ? (int) $_REQUEST['learnpath_id'] : null;
$learnpath_item_id = isset($_REQUEST['learnpath_item_id']) ? (int) $_REQUEST['learnpath_item_id'] : null;
$autoLaunchAvailable = false;
if (api_get_course_setting('enable_exercise_auto_launch') == 1 &&
@ -8389,29 +8400,36 @@ class Exercise
$charset = 'utf-8';
$token = Security::get_token();
$userId = api_get_user_id();
$isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh(
$userId,
$courseInfo
);
$isDrhOfCourse = CourseManager::isUserSubscribedInCourseAsDrh($userId, $courseInfo);
$documentPath = api_get_path(SYS_COURSE_PATH).$courseInfo['path'].'/document';
$limitTeacherAccess = api_get_configuration_value('limit_exercise_teacher_access');
$learnpath_id = isset($_REQUEST['learnpath_id']) ? (int) $_REQUEST['learnpath_id'] : null;
$learnpath_item_id = isset($_REQUEST['learnpath_item_id']) ? (int) $_REQUEST['learnpath_item_id'] : null;
// Condition for the session
$condition_session = api_get_session_condition($sessionId, true, true);
$content = '';
$table = new SortableTableFromArrayConfig(
[],
1,
self::PAGINATION_ITEMS_PER_PAGE,
'exercises_cat_'.$categoryId
);
$limit = self::PAGINATION_ITEMS_PER_PAGE;
$page = $table->page_nr;
$from = $limit * ($page - 1);
$categoryCondition = '';
$categoryId = (int) $categoryId;
if (api_get_configuration_value('allow_exercise_categories')) {
$categoryCondition = " AND exercise_category_id = $categoryId ";
if (!empty($categoryId)) {
$categoryCondition = " AND exercise_category_id = $categoryId ";
} else {
$categoryCondition = ' AND exercise_category_id IS NULL ';
}
}
$keywordCondition = '';
if (!empty($keyword)) {
$keyword = Database::escape_string($keyword);
$keywordCondition = " AND title LIKE '%$keyword%' ";
}
@ -8421,7 +8439,7 @@ class Exercise
FROM $TBL_EXERCISES
WHERE
c_id = $courseId AND
active<>'-1'
active <> -1
$condition_session
$categoryCondition
$keywordCondition
@ -8429,7 +8447,7 @@ class Exercise
$sql = "SELECT * FROM $TBL_EXERCISES
WHERE
c_id = $courseId AND
active <> '-1'
active <> -1
$condition_session
$categoryCondition
$keywordCondition
@ -8441,18 +8459,21 @@ class Exercise
FROM $TBL_EXERCISES
WHERE
c_id = $courseId AND
active = '1'
active = 1
$condition_session
$categoryCondition
$keywordCondition
";
$sql = "SELECT * FROM $TBL_EXERCISES
WHERE c_id = $courseId AND
active='1' $condition_session
active = 1
$condition_session
$categoryCondition
$keywordCondition
ORDER BY title LIMIT $from , $limit";
ORDER BY title
LIMIT $from , $limit";
}
$result = Database::query($sql);
$result_total = Database::query($total_sql);
@ -8477,7 +8498,7 @@ class Exercise
WHERE
ip.tool = '".TOOL_DOCUMENT."' AND
d.path LIKE '".Database::escape_string($uploadPath.'/%/%')."' AND
ip.visibility ='1' AND
ip.visibility = 1 AND
d.c_id = $courseId AND
ip.c_id = $courseId";
$res = Database::query($sql);
@ -8486,9 +8507,8 @@ class Exercise
$total = $total_exercises + $hp_count;
$exerciseList = [];
$list_ordered = null;
while ($row = Database::fetch_array($result, 'ASSOC')) {
$exerciseList[$row['iid']] = $row;
$exerciseList[] = $row;
}
if (!empty($exerciseList) &&
@ -8535,18 +8555,9 @@ class Exercise
}
}
if (isset($list_ordered) && !empty($list_ordered)) {
$new_question_list = [];
foreach ($list_ordered as $exercise_id) {
if (isset($exerciseList[$exercise_id])) {
$new_question_list[] = $exerciseList[$exercise_id];
}
}
$exerciseList = $new_question_list;
}
if (!empty($exerciseList)) {
if ($origin !== 'learnpath') {
$visibilitySetting = api_get_configuration_value('show_hidden_exercise_added_to_lp');
//avoid sending empty parameters
$mylpid = empty($learnpath_id) ? '' : '&learnpath_id='.$learnpath_id;
$mylpitemid = empty($learnpath_item_id) ? '' : '&learnpath_item_id='.$learnpath_item_id;
@ -8631,6 +8642,7 @@ class Exercise
);
}
// Get visibility in base course
$visibility = api_get_item_visibility(
$courseInfo,
TOOL_QUIZ,
@ -8639,17 +8651,16 @@ class Exercise
);
if (!empty($sessionId)) {
$setting = api_get_configuration_value('show_hidden_exercise_added_to_lp');
if ($setting) {
if ($exercise->exercise_was_added_in_lp == false) {
// If we are in a session, the test is invisible
// in the base course, it is included in a LP
// *and* the setting to show it is *not*
// specifically set to true, then hide it.
if ($visibility == 0) {
if (!$visibilitySetting) {
if ($exercise->exercise_was_added_in_lp == true) {
continue;
}
}
} else {
if ($visibility == 0) {
continue;
}
}
$visibility = api_get_item_visibility(
@ -8744,7 +8755,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=enable_launch&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=enable_launch&sec_token='.$token.'&exerciseId='.$row['id']
);
} else {
$actions .= Display::url(
@ -8754,7 +8765,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=disable_launch&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=disable_launch&sec_token='.$token.'&exerciseId='.$row['id']
);
}
}
@ -8815,7 +8826,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=enable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=enable&sec_token='.$token.'&exerciseId='.$row['id']
);
} else {
// else if not active
@ -8826,7 +8837,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=disable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=disable&sec_token='.$token.'&exerciseId='.$row['id']
);
}
}
@ -8877,7 +8888,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=enable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=enable&sec_token='.$token.'&exerciseId='.$row['id']
);
} else {
// else if not active
@ -8888,7 +8899,7 @@ class Exercise
'',
ICON_SIZE_SMALL
),
'exercise.php?'.api_get_cidreq().'&choice=disable&sec_token='.$token.'&page='.$page.'&exerciseId='.$row['id']
'exercise.php?'.api_get_cidreq().'&choice=disable&sec_token='.$token.'&exerciseId='.$row['id']
);
}
}
@ -9232,10 +9243,10 @@ class Exercise
// if active
if ($visibility != 0) {
$nbrActiveTests = $nbrActiveTests + 1;
$actions .= ' <a href="'.$exercisePath.'?'.api_get_cidreq().'&hpchoice=disable&page='.$page.'&file='.$path.'">'.
$actions .= ' <a href="'.$exercisePath.'?'.api_get_cidreq().'&hpchoice=disable&file='.$path.'">'.
Display::return_icon('visible.png', get_lang('Deactivate'), '', ICON_SIZE_SMALL).'</a>';
} else { // else if not active
$actions .= ' <a href="'.$exercisePath.'?'.api_get_cidreq().'&hpchoice=enable&page='.$page.'&file='.$path.'">'.
$actions .= ' <a href="'.$exercisePath.'?'.api_get_cidreq().'&hpchoice=enable&file='.$path.'">'.
Display::return_icon('invisible.png', get_lang('Activate'), '', ICON_SIZE_SMALL).'</a>';
}
$actions .= '<a href="'.$exercisePath.'?'.api_get_cidreq().'&hpchoice=delete&file='.$path.'" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('AreYouSureToDeleteJS'), ENT_QUOTES, $charset)).'\')) return false;">'.
@ -9279,7 +9290,6 @@ class Exercise
)
);
$actions = '';
if (!empty($attempt)) {
$actions = '<a href="hotpotatoes_exercise_report.php?'.api_get_cidreq().'&path='.$path.'&filter_by_user='.$userId.'">'.Display::return_icon('test_results.png', get_lang('Results'), '', ICON_SIZE_SMALL).'</a>';
$attemptText = get_lang('LatestAttempt').' : ';
@ -9326,17 +9336,10 @@ class Exercise
if (empty($tableRows)) {
return '';
}
$table = new SortableTableFromArrayConfig(
$tableRows,
0,
20,
'exercises_cat'.$categoryId,
[],
[]
);
$table->setTotalNumberOfItems($total);
$table->setTableData($tableRows);
$table->setTotalNumberOfItems($total);
$table->set_additional_parameters([
'cidReq' => api_get_course_id(),
'id_session' => api_get_session_id(),
@ -9629,9 +9632,11 @@ class Exercise
/**
* Gets the question list ordered by the question_order setting (drag and drop).
*
* @param bool $adminView Optional.
*
* @return array
*/
private function getQuestionOrderedList()
private function getQuestionOrderedList($adminView = false)
{
$TBL_EXERCICE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
$TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
@ -9667,8 +9672,13 @@ class Exercise
$counter = 1;
$questionList = [];
while ($new_object = Database::fetch_object($result)) {
// Correct order.
$questionList[$new_object->question_order] = $new_object->question_id;
if (!$adminView) {
// Correct order.
$questionList[$new_object->question_order] = $new_object->question_id;
} else {
$questionList[$counter] = $new_object->question_id;
}
// Just in case we save the order in other array
$temp_question_list[$counter] = $new_object->question_id;
$counter++;

@ -78,15 +78,10 @@ $exerciseId = isset($_REQUEST['exerciseId']) ? (int) $_REQUEST['exerciseId'] : n
$file = isset($_REQUEST['file']) ? Database::escape_string($_REQUEST['file']) : null;
$learnpath_id = isset($_REQUEST['learnpath_id']) ? (int) $_REQUEST['learnpath_id'] : null;
$learnpath_item_id = isset($_REQUEST['learnpath_item_id']) ? (int) $_REQUEST['learnpath_item_id'] : null;
$page = isset($_REQUEST['page']) ? (int) $_REQUEST['page'] : null;
$categoryId = isset($_REQUEST['category_id']) ? (int) $_REQUEST['category_id'] : 0;
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
$keyword = isset($_REQUEST['keyword']) ? Security::remove_XSS($_REQUEST['keyword']) : '';
if ($page < 0) {
$page = 1;
}
if (api_is_in_gradebook()) {
$interbreadcrumb[] = [
'url' => Category::getUrl(),
@ -279,7 +274,6 @@ Event::event_access_tool(TOOL_QUIZ);
$logInfo = [
'tool' => TOOL_QUIZ,
'tool_id' => (int) $exerciseId,
'tool_id_detail' => 0,
'action' => isset($_REQUEST['learnpath_id']) ? 'learnpath_id' : '',
'action_details' => isset($_REQUEST['learnpath_id']) ? (int) $_REQUEST['learnpath_id'] : '',
];
@ -520,10 +514,8 @@ Display::display_introduction_section(TOOL_QUIZ);
// Selects $limit exercises at the same time
// maximum number of exercises on a same page
$limit = 50;
$limit = Exercise::PAGINATION_ITEMS_PER_PAGE;
// Display the next and previous link if needed
$from = $page * $limit;
HotPotGCt($documentPath, 1, $userId);
$token = Security::get_token();
@ -619,13 +611,12 @@ if ($is_allowedToEdit) {
[6, 1, 5]
);
}
if (api_get_configuration_value('allow_exercise_categories') === false) {
echo Exercise::exerciseGrid(0, $page, $from, $limit, $keyword);
echo Exercise::exerciseGrid(0, $keyword);
} else {
if (empty($categoryId)) {
echo Display::page_subheader(get_lang('NoCategory'));
echo Exercise::exerciseGrid(0, $page, $from, $limit, $keyword);
echo Exercise::exerciseGrid(0, $keyword);
$counter = 0;
$manager = new ExerciseCategoryManager();
$categories = $manager->getCategories($courseId);
@ -651,13 +642,13 @@ if (api_get_configuration_value('allow_exercise_categories') === false) {
}
}
echo Display::page_subheader($category->getName().$up.$down);
echo Exercise::exerciseGrid($category->getId(), $page, $from, $limit, $keyword);
echo Exercise::exerciseGrid($category->getId(), $keyword);
}
} else {
$manager = new ExerciseCategoryManager();
$category = $manager->get($categoryId);
echo Display::page_subheader($category['name']);
echo Exercise::exerciseGrid($category['id'], $page, $from, $limit, $keyword);
echo Exercise::exerciseGrid($category['id'], $keyword);
}
}

@ -151,6 +151,7 @@ if (!isset($exerciseInSession) || isset($exerciseInSession) && ($exerciseInSessi
Session::write('firstTime', false);
}
//2. Checking if $objExercise is set
/** @var |Exercise $objExercise */
if (!isset($objExercise) && isset($exerciseInSession)) {
if ($debug) {
error_log('2. Loading $objExercise from session');
@ -1123,6 +1124,16 @@ if (!empty($error)) {
return event.keyCode != 13;
});
$(".checkCalculatedQuestionOnEnter").keypress(function(event) {
if (event.keyCode === 13) {
event.preventDefault();
var id = $(this).attr("id");
var parts = id.split("_");
var buttonId = "button_" + parts[1];
document.getElementById(buttonId).click();
}
});
$(".main_question").mouseover(function() {
//$(this).find(".exercise_save_now_button").show();
//$(this).addClass("question_highlight");
@ -1462,21 +1473,33 @@ if (!empty($error)) {
echo '<div id="question_div_'.$questionId.'" class="main-question '.$remind_highlight.'" >';
$showQuestion = true;
$exerciseResultFromSession = Session::read('exerciseResult');
if ($objExercise->getFeedbackType() === EXERCISE_FEEDBACK_TYPE_POPUP &&
isset($exerciseResultFromSession[$questionId])
) {
$showQuestion = false;
}
// Shows the question and its answers
ExerciseLib::showQuestion(
$objExercise,
$questionId,
false,
$origin,
$i,
$objExercise->getHideQuestionTitle() ? false : true,
false,
$user_choice,
false,
null,
false,
true
);
// Shows the question and its answers
if ($showQuestion) {
ExerciseLib::showQuestion(
$objExercise,
$questionId,
false,
$origin,
$i,
$objExercise->getHideQuestionTitle() ? false : true,
false,
$user_choice,
false,
null,
false,
true
);
} else {
echo Display::return_message(get_lang('AlreadyAnswered'));
}
// Button save and continue
switch ($objExercise->type) {

@ -16,6 +16,7 @@ require_once api_get_path(LIBRARY_PATH).'geometry.lib.php';
/** @var Exercise $objExercise */
$objExercise = Session::read('objExercise');
$exerciseResult = Session::read('exerciseResult');
if (empty($objExercise)) {
api_not_allowed();
@ -27,19 +28,20 @@ if (!in_array($feedbackType, [EXERCISE_FEEDBACK_TYPE_DIRECT, EXERCISE_FEEDBACK_T
api_not_allowed();
}
$exerciseResult = Session::read('exerciseResult');
$learnpath_id = isset($_REQUEST['learnpath_id']) ? (int) $_REQUEST['learnpath_id'] : 0;
$learnpath_item_id = isset($_REQUEST['learnpath_item_id']) ? (int) $_REQUEST['learnpath_item_id'] : 0;
$questionList = Session::read('questionList');
$exerciseId = (int) $_GET['exerciseId'];
//$exerciseType = (int) $_GET['exerciseType'];
$questionNum = (int) $_GET['num'];
//$nbrQuestions = isset($_GET['nbrQuestions']) ? (int) $_GET['nbrQuestions'] : null;
$questionId = $questionList[$questionNum];
$choiceValue = isset($_GET['choice']) ? $_GET['choice'] : '';
$hotSpot = isset($_GET['hotspot']) ? $_GET['hotspot'] : '';
$loaded = isset($_GET['loaded']);
if (empty($choiceValue) && isset($exerciseResult[$questionId])) {
$choiceValue = $exerciseResult[$questionId];
}
if (!empty($hotSpot)) {
if (isset($hotSpot[$questionId])) {
@ -53,8 +55,61 @@ if (!empty($choiceValue)) {
}
}
echo '<script>
function tryAgain() {
$(function () {
$("#global-modal").modal("hide");
});
}
function SendEx(num) {
if (num == -1) {
window.location.href = "exercise_result.php?'.api_get_cidreq().'&take_session=1&exerciseId='.$exerciseId.'&num="+num+"&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
} else {
num -= 1;
window.location.href = "exercise_submit.php?'.api_get_cidreq().'&tryagain=1&exerciseId='.$exerciseId.'&num="+num+"&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
}
return false;
}
</script>';
echo '<div id="delineation-container">';
// Getting the options by js
if (empty($choiceValue) && empty($hotSpot) && $loaded) {
$nextQuestion = $questionNum + 1;
$destinationId = isset($questionList[$nextQuestion]) ? $questionList[$nextQuestion] : -1;
$icon = Display::return_icon(
'reload.png',
'',
['style' => 'width:22px; height:22px; padding-left:0px;padding-right:5px;']
);
$links = '<a onclick="tryAgain();" href="#">'.get_lang('TryAgain').'</a>&nbsp;'.$icon.'&nbsp;';
// the link to finish the test
if ($destinationId == -1) {
$links .= Display::return_icon(
'finish.gif',
'',
['style' => 'width:22px; height:22px; padding-left:0px;padding-right:5px;']
).'<a onclick="SendEx(-1);" href="#">'.get_lang('EndActivity').'</a><br /><br />';
} else {
// the link to other question
if (in_array($destinationId, $questionList)) {
$num_value_array = array_keys($questionList, $destinationId);
$icon = Display::return_icon(
'quiz.png',
'',
['style' => 'padding-left:0px;padding-right:5px;']
);
$links .= '<a onclick="SendEx('.$num_value_array[0].');" href="#">'.
get_lang('Question').' '.$num_value_array[0].'</a>&nbsp;';
$links .= $icon;
}
}
echo '<div class="row"><div class="col-md-5 col-md-offset-7"><h5 class="pull-right">'.$links.'</h5></div></div>';
exit;
}
if (empty($choiceValue) && empty($hotSpot)) {
echo "<script>
// this works for only radio buttons
@ -89,16 +144,16 @@ if (empty($choiceValue) && empty($hotSpot)) {
}
var my_choice = $('*[name*=\"choice[".$questionId."]\"]').serialize();
var hotspot = $('*[name*=\"hotspot[".$questionId."]\"]').serialize();
//var my_choiceDc = $('*[name*=\"choiceDegreeCertainty['+question_id+']\"]').serialize();
var hotspot = $('*[name*=\"hotspot[".$questionId."]\"]').serialize();
";
// IMPORTANT
// This is the real redirect function
$extraUrl = '&exerciseId='.$exerciseId.'&num='.$questionNum.'&learnpath_id='.$learnpath_id.'&learnpath_item_id='.$learnpath_item_id;
$extraUrl = '&loaded=1&exerciseId='.$exerciseId.'&num='.$questionNum.'&learnpath_id='.$learnpath_id.'&learnpath_item_id='.$learnpath_item_id;
$url = api_get_path(WEB_CODE_PATH).'exercise/exercise_submit_modal.php?'.api_get_cidreq().$extraUrl;
echo ' url = "'.addslashes($url).'&hotspotcoord="+ hotspotcoord + "&"+ hotspot + "&"+ my_choice;';
echo "$('#global-modal .modal-body').load(url);";
echo '</script>';
exit;
}
@ -131,8 +186,6 @@ Session::write('exerciseResult', $exerciseResult);
$objQuestionTmp = Question::read($questionId);
$answerType = $objQuestionTmp->selectType();
$objAnswerTmp = new Answer($questionId);
$nbrAnswers = $objAnswerTmp->selectNbrAnswers();
$showResult = false;
$objAnswerTmp = new Answer($questionId, api_get_course_int_id());
@ -296,18 +349,6 @@ if ($destinationId == -1) {
}
}
echo '<script>
function SendEx(num) {
if (num == -1) {
window.location.href = "exercise_result.php?'.api_get_cidreq().'&take_session=1&exerciseId='.$exerciseId.'&num="+num+"&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
} else {
num -= 1;
window.location.href = "exercise_submit.php?'.api_get_cidreq().'&tryagain=1&exerciseId='.$exerciseId.'&num="+num+"&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
}
return false;
}
</script>';
if (!empty($links)) {
echo '<div>'.$contents.'</div>';
echo '<div style="padding-left: 450px"><h5>'.$links.'</h5></div>';

@ -1606,7 +1606,7 @@ abstract class Question
// question name
if (api_get_configuration_value('save_titles_as_html')) {
$editorConfig = ['ToolbarSet' => 'Minimal'];
$editorConfig = ['ToolbarSet' => 'TitleAsHtml'];
$form->addHtmlEditor(
'questionName',
get_lang('Question'),

@ -312,7 +312,6 @@ echo '</div>';
if ($displayMessage != '') {
echo Display::return_message($displayMessage, 'confirm');
$displayMessage = '';
}
// Form
@ -396,8 +395,6 @@ if ($course_id_changed) {
reset_menu_exo_lvl_type();
}
$course_id = $course_info['real_id'];
// Get category list for the course $selected_course
$categoryList = TestCategory::getCategoriesIdAndName($selected_course);
$selectCourseCategory = Display::select(
@ -532,7 +529,8 @@ function getQuestions(
$exerciseLevel,
$answerType,
$questionId,
$description
$description,
$fromExercise = 0
) {
$start = (int) $start;
$length = (int) $length;
@ -543,6 +541,7 @@ function getQuestions(
$exerciseLevel = (int) $exerciseLevel;
$answerType = (int) $answerType;
$questionId = (int) $questionId;
$fromExercise = (int) $fromExercise;
$description = Database::escape_string($description);
$TBL_EXERCISE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
@ -550,6 +549,16 @@ function getQuestions(
$TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
$TBL_COURSE_REL_CATEGORY = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);
$currentExerciseCondition = '';
if (!empty($fromExercise)) {
$currentCourseId = api_get_course_int_id();
$currentExerciseCondition = "
AND qu.id NOT IN (
SELECT question_id FROM $TBL_EXERCISE_QUESTION
WHERE exercice_id = $fromExercise AND c_id = $currentCourseId
)";
}
// if we have selected an exercise in the list-box 'Filter'
if ($exerciseId > 0) {
$where = '';
@ -587,15 +596,16 @@ function getQuestions(
}
$sql = "SELECT $select
FROM
$TBL_EXERCISE_QUESTION qt,
$TBL_QUESTIONS qu
$TBL_EXERCISE_QUESTION qt
INNER JOIN $TBL_QUESTIONS qu
ON qt.question_id = qu.id
$from
WHERE
qt.question_id = qu.id AND
qt.exercice_id = $exerciseId AND
qt.c_id = $selected_course AND
qu.c_id = $selected_course
$where
$currentExerciseCondition
ORDER BY question_order";
} elseif ($exerciseId == -1) {
// If we have selected the option 'Orphan questions' in the list-box 'Filter'
@ -727,7 +737,10 @@ function getQuestions(
$sessionCondition AND
q.id = qt.exercice_id
$filter
ORDER BY session_id ASC";
$currentExerciseCondition
GROUP BY qu.iid
ORDER BY session_id ASC
";
}
if ($getCount) {
@ -760,7 +773,8 @@ $nbrQuestions = getQuestions(
$exerciseLevel,
$answerType,
$questionId,
$description
$description,
$fromExercise
);
$length = api_get_configuration_value('question_pagination_length');
@ -804,7 +818,8 @@ $mainQuestionList = getQuestions(
$exerciseLevel,
$answerType,
$questionId,
$description
$description,
$fromExercise
);
// build the line of the array to display questions
@ -867,7 +882,7 @@ if (is_array($mainQuestionList)) {
continue;
}
$sessionId = isset($question['session_id']) ? $question['session_id'] : null;
$exerciseName = isset($question['exercise_name']) ? '<br />('.$question['exercise_id'].') ' : null;
//$exerciseName = isset($question['exercise_name']) ? '<br />('.$question['exercise_id'].') ' : null;
if (!$objExercise->hasQuestion($question['id'])) {
$row[] = Display::input(
@ -888,7 +903,7 @@ if (is_array($mainQuestionList)) {
$question['question'],
$sessionId,
$question['exerciseId']
).$exerciseName;
);
$row[] = $question_type;
$row[] = TestCategory::getCategoryNameForQuestion($question['id'], $selected_course);

@ -32,7 +32,6 @@ api_protect_course_group(GroupManager::GROUP_TOOL_FORUM);
// The section (tabs).
$this_section = SECTION_COURSES;
$nameTools = get_lang('ToolForum');
// Are we in a lp ?
@ -46,7 +45,6 @@ $groupId = api_get_group_id();
$courseId = api_get_course_int_id();
$groupInfo = GroupManager::get_group_properties($groupId);
$isTutor = GroupManager::is_tutor_of_group($userId, $groupInfo, $courseId);
$isAllowedToEdit = api_is_allowed_to_edit(false, true) && api_is_allowed_to_session_edit(false, true);
/* MAIN DISPLAY SECTION */
@ -58,7 +56,7 @@ $isForumOpenByDateAccess = api_is_date_in_date_range($current_forum['start_time'
if (!$isForumOpenByDateAccess && !$isAllowedToEdit) {
if ($origin) {
api_not_allowed();
api_not_allowed(true);
} else {
api_not_allowed(true);
}
@ -81,8 +79,10 @@ if (!empty($groupId)) {
// Course
if (!api_is_allowed_to_edit(false, true) && //is a student
(($current_forum_category && $current_forum_category['visibility'] == 0) ||
$current_forum['visibility'] == 0)
(
($current_forum_category && $current_forum_category['visibility'] == 0) ||
$current_forum['visibility'] == 0
)
) {
api_not_allowed(true);
}
@ -93,7 +93,7 @@ if (!empty($groupId)) {
$current_forum['visibility'] == 0
) //forum category or forum visibility is false
) {
api_not_allowed();
api_not_allowed(true);
}
}
@ -185,7 +185,7 @@ if ($my_action == 'delete' &&
$link_info = GradebookUtils::isResourceInCourseGradebook(
api_get_course_id(),
5,
intval($_GET['id']),
$_GET['id'],
api_get_session_id()
);
$link_id = $link_info['id'];
@ -326,15 +326,12 @@ if ($origin == 'learnpath') {
}
/* Display the action messages */
if (!empty($message)) {
echo Display::return_message($message, 'confirm');
}
/* Action links */
echo '<div class="actions">';
if ($origin != 'learnpath') {
if (!empty($groupId)) {
echo '<a href="'.api_get_path(WEB_CODE_PATH).'group/group_space.php?'.api_get_cidreq().'">'

@ -93,7 +93,7 @@ switch ($action) {
get_lang('TermName'),
false,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addElement('text', 'name', get_lang('TermName'), ['id' => 'glossary_title']);
@ -157,7 +157,7 @@ switch ($action) {
get_lang('TermName'),
false,
false,
['ToolbarSet' => 'Minimal']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addElement('text', 'name', get_lang('TermName'), ['id' => 'glossary_title']);

@ -455,7 +455,7 @@ class FlatViewTable extends SortableTable
);
foreach ($headerData['items'] as $item) {
$firstHeader[] = '<center>'.$item.'</center>';
$firstHeader[] = '<span class="text-center">'.$item.'</span>';
}
} else {
$this->set_header($column, $headerData, false, $thAttributes);
@ -477,25 +477,27 @@ class FlatViewTable extends SortableTable
$table_data[] = $firstHeader;
}
$columnOffset = empty($this->datagen->params['show_official_code']) ? 0 : 1;
foreach ($data_array as $user_row) {
$user_id = $user_row[0];
unset($user_row[0]);
$userInfo = api_get_user_info($user_id);
if ($is_western_name_order) {
$user_row[1] = $this->build_name_link(
$user_row[1 + $columnOffset] = $this->build_name_link(
$user_id,
$userInfo['firstname']
);
$user_row[2] = $this->build_name_link(
$user_row[2 + $columnOffset] = $this->build_name_link(
$user_id,
$userInfo['lastname']
);
} else {
$user_row[1] = $this->build_name_link(
$user_row[1 + $columnOffset] = $this->build_name_link(
$user_id,
$userInfo['lastname']
);
$user_row[2] = $this->build_name_link(
$user_row[2 + $columnOffset] = $this->build_name_link(
$user_id,
$userInfo['firstname']
);

@ -111,6 +111,8 @@ class FlatViewDataGenerator
$headers[] = get_lang('Username');
$this->addExtraFieldColumnsHeaders($headers);
if (!isset($items_count)) {
$items_count = count($this->evals_links) - $items_start;
}
@ -199,10 +201,10 @@ class FlatViewDataGenerator
$list = [];
$list['items'] = $finalList;
$list['header'] = '<center>'.$mainHeader.'</center>';
$list['header'] = '<span class="text-center">'.$mainHeader.'</span>';
$headers[] = $list;
} else {
$headers[] = '<center>'.$mainHeader.'</center>';
$headers[] = '<span class="text-center">'.$mainHeader.'</span>';
}
}
} else {
@ -241,7 +243,7 @@ class FlatViewDataGenerator
}
}
$headers[] = '<center>'.api_strtoupper(get_lang('GradebookQualificationTotal')).'</center>';
$headers[] = '<span class="text-center">'.api_strtoupper(get_lang('GradebookQualificationTotal')).'</span>';
return $headers;
}
@ -442,6 +444,8 @@ class FlatViewDataGenerator
$row[] = $user[1];
$this->addExtraFieldColumnsData($row, $user[0]);
$item_value_total = 0;
$item_total = 0;
@ -542,7 +546,7 @@ class FlatViewDataGenerator
}
$finalList[] = round($average, 2);
foreach ($finalList as $finalValue) {
$row[] = '<center>'.$finalValue.'</center>';
$row[] = '<span class="text-center">'.$finalValue.'</span>';
}
} else {
$row[] = $temp_score.' ';
@ -587,13 +591,11 @@ class FlatViewDataGenerator
$total_score = [$item_value_total, $item_total];
$style = api_get_configuration_value('gradebook_report_score_style');
$defaultStyle = SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS;
if (!empty($style)) {
$defaultStyle = (int) $style;
}
if (!$show_all) {
$displayScore = $scoreDisplay->display_score($total_score);
$defaultStyle = empty($style) ? SCORE_DIV_PERCENT : (int) $style;
$displayScore = $scoreDisplay->display_score($total_score, $defaultStyle);
if (!empty($model)) {
$displayScore = ExerciseLib::show_score($total_score[0], $total_score[1]);
}
@ -603,6 +605,8 @@ class FlatViewDataGenerator
$row[] = $displayScore;
}
} else {
$defaultStyle = empty($style) ? SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS : (int) $style;
$displayScore = $scoreDisplay->display_score($total_score, $defaultStyle);
if (!empty($model)) {
$displayScore = ExerciseLib::show_score($total_score[0], $total_score[1]);
@ -1023,4 +1027,50 @@ class FlatViewDataGenerator
{
return api_strcmp($item1[3], $item2[3]);
}
/**
* Add columns heders according to gradebook_flatview_extrafields_columns conf setting.
*
* @param array $headers
*/
private function addExtraFieldColumnsHeaders(array &$headers)
{
$extraFieldColumns = api_get_configuration_value('gradebook_flatview_extrafields_columns');
if (!$extraFieldColumns || !is_array($extraFieldColumns)) {
return;
}
foreach ($extraFieldColumns['variables'] as $extraFieldVariable) {
$extraField = new ExtraField('user');
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($extraFieldVariable);
$headers[] = $extraFieldInfo['display_text'];
}
}
/**
* Add columns data according to gradebook_flatview_extrafields_columns conf setting.
*
* @param array $row
* @param int $userId
*/
private function addExtraFieldColumnsData(array &$row, $userId)
{
$extraFieldColumns = api_get_configuration_value('gradebook_flatview_extrafields_columns');
if (!$extraFieldColumns || !is_array($extraFieldColumns)) {
return;
}
foreach ($extraFieldColumns['variables'] as $extraFieldVariable) {
$extraFieldValue = new ExtraFieldValue('user');
$extraFieldValueInfo = $extraFieldValue->get_values_by_handler_and_field_variable(
$userId,
$extraFieldVariable
);
$row[] = $extraFieldValueInfo ? $extraFieldValueInfo['value'] : null;
}
}
}

@ -47,7 +47,7 @@ if (!empty($_GET['selfReg']) &&
GroupManager :: is_self_registration_allowed($user_id, $current_group)
) {
GroupManager::subscribe_users($user_id, $current_group);
Display::addFlash(Display::return_message(get_lang('GroupNowMember'), 'normal'));
Display::addFlash(Display::return_message(get_lang('GroupNowMember')));
}
/*
@ -86,7 +86,7 @@ echo '<a href="'.api_get_path(WEB_CODE_PATH).'group/group.php?'.api_get_cidreq()
$subscribe_group = '';
if (GroupManager :: is_self_registration_allowed($user_id, $current_group)) {
$subscribe_group = '<a class="btn btn-default" href="'.api_get_self().'?selfReg=1&group_id='.$current_group['id'].'" onclick="javascript: if(!confirm('."'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"), ENT_QUOTES))."'".')) return false;">'.
get_lang("RegIntoGroup").'</a>';
get_lang('RegIntoGroup').'</a>';
}
/*
@ -95,7 +95,7 @@ if (GroupManager :: is_self_registration_allowed($user_id, $current_group)) {
$unsubscribe_group = '';
if (GroupManager :: is_self_unregistration_allowed($user_id, $current_group)) {
$unsubscribe_group = '<a class="btn btn-default" href="'.api_get_self().'?selfUnReg=1" onclick="javascript: if(!confirm('."'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"), ENT_QUOTES))."'".')) return false;">'.
get_lang("StudentUnsubscribe").'</a>';
get_lang('StudentUnsubscribe').'</a>';
}
echo '&nbsp;</div>';
@ -103,7 +103,7 @@ echo '&nbsp;</div>';
$edit_url = '';
if (api_is_allowed_to_edit(false, true) ||
GroupManager::is_tutor_of_group(api_get_user_id(), $current_group)
GroupManager::is_tutor_of_group($user_id, $current_group)
) {
$edit_url = '<a href="'.api_get_path(WEB_CODE_PATH).'group/settings.php?'.api_get_cidreq().'">'.
Display::return_icon('edit.png', get_lang('EditGroup'), '', ICON_SIZE_SMALL).'</a>';
@ -117,17 +117,13 @@ if (!empty($current_group['description'])) {
echo '<p>'.Security::remove_XSS($current_group['description']).'</p>';
}
/*
* Group Tools
*/
//if (GroupManager::userHasAccessToBrowse($user_id, $this_group, $session_id)) {
// If the user is subscribed to the group or the user is a tutor of the group then
if (api_is_allowed_to_edit(false, true) ||
GroupManager::is_user_in_group(api_get_user_id(), $current_group)
GroupManager::userHasAccessToBrowse($user_id, $current_group, api_get_session_id())
) {
$actions_array = [];
// Link to the forum of this group
$forums_of_groups = get_forums_of_group($current_group);
if (is_array($forums_of_groups)) {
if ($current_group['forum_state'] != GroupManager::TOOL_NOT_AVAILABLE) {
foreach ($forums_of_groups as $key => $value) {
@ -227,8 +223,6 @@ if (api_is_allowed_to_edit(false, true) ||
}
} else {
$actions_array = [];
// Link to the forum of this group
$forums_of_groups = get_forums_of_group($current_group);
if (is_array($forums_of_groups)) {
if ($current_group['forum_state'] == GroupManager::TOOL_PUBLIC) {
foreach ($forums_of_groups as $key => $value) {

@ -96,6 +96,8 @@ switch ($action) {
echo json_encode($invitations);
break;
case 'send_message':
api_block_anonymous_users(false);
$subject = isset($_REQUEST['subject']) ? trim($_REQUEST['subject']) : null;
$messageContent = isset($_REQUEST['content']) ? trim($_REQUEST['content']) : null;
@ -135,6 +137,8 @@ switch ($action) {
}
break;
case 'send_invitation':
api_block_anonymous_users(false);
$subject = isset($_REQUEST['subject']) ? trim($_REQUEST['subject']) : null;
$invitationContent = isset($_REQUEST['content']) ? trim($_REQUEST['content']) : null;

@ -801,14 +801,28 @@ switch ($action) {
$obj->protectScript();
$type = isset($_REQUEST['type']) ? $_REQUEST['type'] : 'registered';
$groupFilter = isset($_REQUEST['group_filter']) ? (int) $_REQUEST['group_filter'] : 0;
$keyword = isset($_REQUEST['keyword']) ? $_REQUEST['keyword'] : '';
$course_id = api_get_course_int_id();
if ($type === 'registered') {
$count = $obj->getUserGroupByCourseWithDataCount(
$course_id,
$groupFilter
);
} else {
$count = $obj->get_count($groupFilter);
$options = [];
$options['course_id'] = $course_id;
switch ($type) {
case 'not_registered':
$options['where'] = [' (course_id IS NULL OR course_id != ?) ' => $course_id];
if (!empty($keyword)) {
$options['where']['AND name like %?% '] = $keyword;
}
$count = $obj->getUserGroupNotInCourse($options, $groupFilter, true);
break;
case 'registered':
$options['where'] = [' usergroup.course_id = ? ' => $course_id];
$count = $obj->getUserGroupInCourse(
$options,
$groupFilter,
true
);
break;
}
break;
default:
@ -2166,37 +2180,35 @@ switch ($action) {
$obj = new ExtraFieldOption($type);
$columns = ['display_text', 'option_value', 'option_order'];
$result = $obj->get_all([
'where' => ["field_id = ? " => $field_id],
'where' => ['field_id = ? ' => $field_id],
'order' => "$sidx $sord",
'LIMIT' => "$start , $limit",
]);
break;
case 'get_usergroups_teacher':
$columns = ['name', 'users', 'status', 'group_type', 'actions'];
$options = ['order' => "name $sord", 'LIMIT' => "$start , $limit"];
$options['course_id'] = $course_id;
$options['order'] = "name $sord";
$options['limit'] = "$start , $limit";
switch ($type) {
case 'not_registered':
$options['where'] = [' (course_id IS NULL OR course_id != ?) ' => $course_id];
$result = $obj->getUserGroupNotInCourse($options, $groupFilter);
break;
case 'registered':
$options['where'] = [' usergroup.course_id = ? ' => $course_id];
$result = $obj->getUserGroupInCourse($options, $groupFilter);
break;
}
$new_result = [];
$currentUserId = api_get_user_id();
if (!empty($result)) {
$urlUserGroup = api_get_path(WEB_CODE_PATH).'admin/usergroup_users.php?'.api_get_cidreq();
foreach ($result as $group) {
$count = count($obj->get_users_by_usergroup($group['id']));
$group['users'] = $count;
$countUsers = count($obj->get_users_by_usergroup($group['id']));
$group['users'] = $countUsers;
if ($obj->allowTeachers()) {
$group['users'] = Display::url(
$count,
$countUsers,
$urlUserGroup.'&id='.$group['id']
);
}
@ -2221,10 +2233,9 @@ switch ($action) {
$role = $obj->getUserRoleToString(api_get_user_id(), $group['id']);
$group['status'] = $role;
$group['actions'] = '';
if ($obj->allowTeachers()) {
if ($obj->allowTeachers() && $group['author_id'] == $currentUserId) {
$group['actions'] .= Display::url(
Display::return_icon('statistics.png'),
Display::return_icon('statistics.png', get_lang('Stats')),
$urlUserGroup.'&id='.$group['id']
).'&nbsp;';
}

@ -18,6 +18,8 @@ if (empty(api_get_user_id())) {
api_not_allowed(true);
}
$_user = api_get_user_info();
$originUrl = Session::read('origin_url');
if (empty($originUrl)) {
Session::write('origin_url', $_SERVER['HTTP_REFERER']);
@ -51,9 +53,10 @@ switch ($action) {
$emailText = $objTemplate->fetch($mailTemplate);
break;
default:
$emailDest = Security::remove_XSS($_REQUEST['dest']);
$emailTitle = Security::remove_XSS($_REQUEST['email_title']);
$emailText = Security::remove_XSS($_REQUEST['email_text']);
$emailDest = isset($_REQUEST['dest']) ? Security::remove_XSS($_REQUEST['dest']) : '';
$emailTitle = isset($_REQUEST['subject']) ? Security::remove_XSS($_REQUEST['subject']) : '';
$emailText = isset($_REQUEST['body']) ? Security::remove_XSS($_REQUEST['body']) : '';
break;
}
$defaults = [
@ -62,15 +65,13 @@ $defaults = [
'email_title' => $emailTitle,
'email_text' => $emailText,
];
$form->setDefaults($defaults);
if ($form->validate()) {
$text = Security::remove_XSS($_POST['email_text'])."\n\n---\n".get_lang('EmailSentFromLMS').' '.api_get_path(WEB_PATH);
$email_administrator = Security::remove_XSS($_POST['dest']);
$user_id = api_get_user_id();
$title = Security::remove_XSS($_POST['email_title']);
$content = Security::remove_XSS($_POST['email_text']);
$values = $form->getSubmitValues();
$text = Security::remove_XSS($values['email_text'])."\n\n---\n".get_lang('EmailSentFromLMS').' '.api_get_path(WEB_PATH);
$email_administrator = Security::remove_XSS($values['dest']);
$title = Security::remove_XSS($values['email_title']);
if (!empty($_user['mail'])) {
api_mail_html(
'',
@ -79,7 +80,8 @@ if ($form->validate()) {
$text,
api_get_person_name($_user['firstname'], $_user['lastname']),
'',
['reply_to' => [
[
'reply_to' => [
'mail' => $_user['mail'],
'name' => api_get_person_name($_user['firstname'], $_user['lastname']),
],

@ -25,8 +25,6 @@ class AnnouncementManager
}
/**
* @param int $sessionId
*
* @return array
*/
public static function getTags()
@ -137,7 +135,7 @@ class AnnouncementManager
}
}
if (!empty(api_get_session_id())) {
if (!empty($sessionId)) {
$data['coaches'] = $coaches;
$data['general_coach'] = $generalCoachName;
$data['general_coach_email'] = $generalCoachEmail;
@ -1018,64 +1016,49 @@ class AnnouncementManager
}
/**
* Gets all announcements from a user by course.
*
* @param string course db
* @param int user id
* @param int $user_id
*
* @return array html with the content and count of announcements or false otherwise
* @return array|bool
*/
public static function get_all_annoucement_by_user_course($course_code, $user_id)
public static function getAnnoucementCourseTotalByUser($user_id)
{
$course_info = api_get_course_info($course_code);
$courseId = $course_info['real_id'];
$user_id = (int) $user_id;
if (empty($user_id)) {
return false;
}
$tbl_announcement = Database::get_course_table(TABLE_ANNOUNCEMENT);
$tbl_item_property = Database::get_course_table(TABLE_ITEM_PROPERTY);
if (!empty($user_id) && is_numeric($user_id)) {
$user_id = (int) $user_id;
$sql = "SELECT DISTINCT
announcement.title,
announcement.content,
display_order
announcement.c_id,
count(announcement.id) count
FROM $tbl_announcement announcement
INNER JOIN $tbl_item_property ip
ON (announcement.id = ip.ref AND announcement.c_id = ip.c_id)
WHERE
announcement.c_id = $courseId AND
ip.c_id = $courseId AND
ip.tool='announcement' AND
(
ip.insert_user_id='$user_id' AND
ip.to_user_id = '$user_id' AND
(ip.to_group_id='0' OR ip.to_group_id IS NULL)
)
AND ip.visibility='1'
AND announcement.session_id = 0
ORDER BY display_order DESC";
GROUP BY announcement.c_id";
$rs = Database::query($sql);
$num_rows = Database::num_rows($rs);
$content = '';
$i = 0;
$result = [];
if ($num_rows > 0) {
while ($myrow = Database::fetch_array($rs)) {
$content .= '<strong>'.$myrow['title'].'</strong><br /><br />';
$content .= $myrow['content'];
$i++;
while ($row = Database::fetch_array($rs, 'ASSOC')) {
if (empty($row['c_id'])) {
continue;
}
$result['content'] = $content;
$result['count'] = $i;
return $result;
$result[] = ['course' => api_get_course_info_by_id($row['c_id']), 'count' => $row['count']];
}
return false;
}
return false;
return $result;
}
/**

@ -601,12 +601,12 @@ class Compilatio
$actionCompilatio .= $loading.'&nbsp;'.get_lang('CompilatioAwaitingAnalysis');
break;
case 'BAD_FILETYPE':
$actionCompilatio .= get_lang('CompilatioFileIsNotSupported')
$actionCompilatio .= get_lang('FileFormatNotSupported')
.'<br/>'
.get_lang('CompilatioProtectedPdfVerification');
break;
case 'BAD_FILESIZE':
$actionCompilatio .= get_lang('CompilatioFileIsTooBig');
$actionCompilatio .= get_lang('UplFileTooBig');
break;
}
}

@ -566,46 +566,55 @@ class CoursesAndSessionsCatalog
*
* @return array The session list
*/
public static function browseSessions($date = null, $limit = [])
public static function browseSessions($date = null, $limit = [], $returnQueryBuilder = false)
{
$em = Database::getManager();
$urlId = api_get_current_access_url_id();
$sql = "SELECT s.id FROM session s
INNER JOIN access_url_rel_session ars
ON s.id = ars.session_id
WHERE
s.nbr_courses > 0 AND
ars.access_url_id = $urlId";
$dql = "SELECT s
FROM ChamiloCoreBundle:Session s
WHERE EXISTS
(
SELECT url.sessionId FROM ChamiloCoreBundle:AccessUrlRelSession url
WHERE url.sessionId = s.id AND url.accessUrlId = $urlId
) AND
s.nbrCourses > 0
";
if (!is_null($date)) {
$date = Database::escape_string($date);
$sql .= "
$dql .= "
AND (
('$date' BETWEEN DATE(s.access_start_date) AND DATE(s.access_end_date)) OR
(s.access_end_date IS NULL) OR
(s.accessEndDate IS NULL)
OR
(
s.accessStartDate IS NOT NULL AND
s.accessEndDate IS NOT NULL AND
s.accessStartDate >= '$date' AND s.accessEndDate <= '$date')
OR
(
s.access_start_date IS NULL AND
s.access_end_date IS NOT NULL AND
DATE(s.access_end_date) >= '$date'
s.accessStartDate IS NULL AND
s.accessEndDate IS NOT NULL AND
s.accessStartDate >= '$date'
)
)
";
}
$qb = Database::getManager()->createQuery($dql);
if (!empty($limit)) {
$limit['start'] = (int) $limit['start'];
$limit['length'] = (int) $limit['length'];
$sql .= "LIMIT {$limit['start']}, {$limit['length']} ";
$qb
->setFirstResult($limit['start'])
->setMaxResults($limit['length'])
;
}
$list = Database::store_result(Database::query($sql), 'ASSOC');
$sessions = [];
foreach ($list as $sessionData) {
$sessions[] = $em->find('ChamiloCoreBundle:Session', $sessionData['id']);
if ($returnQueryBuilder) {
return $qb;
}
return $sessions;
return $qb->getResult();
}
/**
@ -683,7 +692,7 @@ class CoursesAndSessionsCatalog
'frt.fieldId = f.id'
)
->where(
$qb->expr()->like('t.tag', ":tag")
$qb->expr()->like('t.tag', ':tag')
)
->andWhere(
$qb->expr()->eq('f.extraFieldType', ExtraField::COURSE_FIELD_TYPE)

@ -22,7 +22,7 @@ use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
*/
// PHP version requirement.
define('REQUIRED_PHP_VERSION', '7.1.3');
define('REQUIRED_PHP_VERSION', '7.2');
define('REQUIRED_MIN_MEMORY_LIMIT', '128');
define('REQUIRED_MIN_UPLOAD_MAX_FILESIZE', '10');
define('REQUIRED_MIN_POST_MAX_SIZE', '10');

@ -32,6 +32,7 @@ class Auth
$TABLECOURS = Database::get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$avoidCoursesCondition = CoursesAndSessionsCatalog::getAvoidCourseCondition();
$visibilityCondition = CourseManager::getCourseVisibilitySQLCondition('course', true);
// Secondly we select the courses that are in a category (user_course_cat<>0) and
// sort these according to the sort of the category
@ -54,7 +55,9 @@ class Auth
course_rel_user.relation_type <> ".COURSE_RELATION_TYPE_RRHH." AND
course_rel_user.user_id = '".$user_id."'
$avoidCoursesCondition
$visibilityCondition
ORDER BY course_rel_user.sort ASC";
$result = Database::query($sql);
$courses = [];
while ($row = Database::fetch_array($result)) {
@ -78,7 +81,7 @@ class Auth
}
/**
* This function get all the courses in the particular user category;.
* This function get all the courses in the particular user category.
*
* @return array
*/
@ -90,6 +93,7 @@ class Auth
$TABLECOURS = Database::get_main_table(TABLE_MAIN_COURSE);
$TABLECOURSUSER = Database::get_main_table(TABLE_MAIN_COURSE_USER);
$avoidCoursesCondition = CoursesAndSessionsCatalog::getAvoidCourseCondition();
$visibilityCondition = CourseManager::getCourseVisibilitySQLCondition('course', true);
$sql = "SELECT
course.code, course.visual_code, course.subscribe subscr, course.unsubscribe unsubscr,
@ -102,6 +106,7 @@ class Auth
course_rel_user.user_id = '".$user_id."' AND
course_rel_user.relation_type <> ".COURSE_RELATION_TYPE_RRHH."
$avoidCoursesCondition
$visibilityCondition
ORDER BY course_rel_user.user_course_cat, course_rel_user.sort ASC";
$result = Database::query($sql);
$data = [];

@ -74,7 +74,11 @@ class Display
$showHeader = false;
}
self::$global_template = new Template($tool_name, $showHeader, $showHeader);
/* USER_IN_ANON_SURVEY is defined in fillsurvey.php when survey is marked as anonymous survey */
$userInAnonSurvey = defined('USER_IN_ANON_SURVEY') && USER_IN_ANON_SURVEY;
self::$global_template = new Template($tool_name, $showHeader, $showHeader, false, $userInAnonSurvey);
self::$global_template->assign('user_in_anon_survey', $userInAnonSurvey);
// Fixing tools with any help it takes xxx part of main/xxx/index.php
if (empty($help)) {
@ -539,12 +543,12 @@ class Display
}
// "mailto:" already present?
if (substr($email, 0, 7) != 'mailto:') {
if (substr($email, 0, 7) !== 'mailto:') {
$email = 'mailto:'.$email;
}
// Class (stylesheet) defined?
if ($style_class != '') {
if ($style_class !== '') {
$style_class = ' class="'.$style_class.'"';
}
@ -557,7 +561,10 @@ class Display
$value = api_get_configuration_value('add_user_course_information_in_mailto');
if ($value) {
$hmail .= '?';
if (api_get_setting('allow_email_editor') === 'false') {
$hmail .= '?';
}
if (!api_is_anonymous()) {
$hmail .= '&subject='.Security::remove_XSS(api_get_setting('siteName'));
}

@ -185,9 +185,10 @@ class ExerciseLib
$form = new FormValidator('free_choice_'.$questionId);
$config = [
'ToolbarSet' => 'TestFreeAnswer',
'id' => 'choice['.$questionId.']',
];
$form->addHtmlEditor(
"choice[".$questionId."]",
'choice['.$questionId.']',
null,
false,
false,
@ -1019,10 +1020,7 @@ class ExerciseLib
api_strlen($studentItem) - 2
);
$size = strlen($studentItem);
$attributes['class'] = self::detectInputAppropriateClass(
$size
);
$attributes['class'] = self::detectInputAppropriateClass($size);
$answer .= $tabComments[$i].
Display::input(
'text',
@ -1038,9 +1036,12 @@ class ExerciseLib
// every [xxx] are replaced with an empty input field
foreach ($correctAnswerList[0] as $item) {
$size = strlen($item);
$attributes['class'] = self::detectInputAppropriateClass(
$size
);
$attributes['class'] = self::detectInputAppropriateClass($size);
if ($exercise->getFeedbackType() == EXERCISE_FEEDBACK_TYPE_POPUP) {
$attributes['id'] = "question_$questionId";
$attributes['class'] .= ' checkCalculatedQuestionOnEnter ';
}
$answer = str_replace(
$item,
Display::input(

@ -35,12 +35,14 @@ class HtmlEditor extends HTML_QuickForm_textarea
}
parent::__construct($name, $label, $attributes);
$id = $this->getAttribute('id');
$this->_persistantFreeze = true;
$this->_type = 'html_editor';
$editor = Container::getHtmlEditor();
if ($editor) {
$this->editor = $editor;
$this->editor->setTextareaId($id);
$this->editor->setName($name);
$this->editor->processConfig($config);
}

@ -263,14 +263,17 @@ EOT;
* @param array $options
* @param array $attributes
*
* @throws
* @throws Exception
*
* @return HTML_QuickForm_element
*/
public function addSelectAjax($name, $label, $options = [], $attributes = [])
{
if (!isset($attributes['url'])) {
throw new \Exception('select_ajax needs an URL');
}
$this->addElement(
return $this->addElement(
'select_ajax',
$name,
$label,

@ -1972,8 +1972,8 @@ class GroupManager
return false;
}
$user_id = intval($user_id);
$group_id = intval($groupInfo['id']);
$user_id = (int) $user_id;
$group_id = (int) $groupInfo['id'];
$table = Database::get_course_table(TABLE_GROUP_TUTOR);
@ -1985,9 +1985,9 @@ class GroupManager
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
return true;
} else {
return false;
}
return false;
}
/**
@ -2008,12 +2008,16 @@ class GroupManager
public static function is_user_in_group($user_id, $groupInfo)
{
$member = self::is_subscribed($user_id, $groupInfo);
if ($member) {
return true;
}
$tutor = self::is_tutor_of_group($user_id, $groupInfo);
if ($member || $tutor) {
if ($tutor) {
return true;
} else {
return false;
}
return false;
}
/**
@ -2079,7 +2083,7 @@ class GroupManager
}
// Course admin also have access to everything
if (api_is_allowed_to_edit()) {
if (api_is_allowed_to_edit(false, true, true)) {
return true;
}
@ -2124,10 +2128,6 @@ class GroupManager
return false;
}
if (api_is_allowed_to_edit(false, true)) {
return true;
}
$status = $groupInfo[$key];
switch ($status) {
@ -2172,14 +2172,24 @@ class GroupManager
return true;
}
if (api_is_allowed_to_edit(false, true)) {
if (api_is_allowed_to_edit(false, true, true)) {
return true;
}
$groupId = $groupInfo['iid'];
$tutors = self::get_subscribed_tutors($groupInfo, true);
if (!empty($sessionId)) {
if (api_is_coach($sessionId, api_get_course_int_id())) {
return true;
}
if (in_array($userId, $tutors)) {
if (api_is_drh()) {
if (SessionManager::isUserSubscribedAsHRM($sessionId, $userId)) {
return true;
}
}
}
$groupId = $groupInfo['iid'];
if (self::is_tutor_of_group($userId, $groupInfo)) {
return true;
}

@ -528,9 +528,9 @@ class Notification extends Model
'notification' => [
'title' => $title,
'body' => $content,
'sound' => 'default',
],
'collapse_key' => get_lang('Messages'),
'sound' => true,
]);
$ch = curl_init();

@ -58,6 +58,14 @@ class HTML_QuickForm_textarea extends HTML_QuickForm_element
$columnsSize = isset($attributes['cols-size']) ? $attributes['cols-size'] : null;
$this->setColumnsSize($columnsSize);
parent::__construct($elementName, $label, $attributes);
$id = $this->getAttribute('id');
if (empty($id)) {
$name = $this->getAttribute('name');
$this->setAttribute('id', uniqid($name.'_'));
}
$this->_persistantFreeze = true;
$this->_type = 'textarea';
$this->_value = null;

@ -3386,9 +3386,9 @@ class SessionManager
}
return $sessions;
} else {
return false;
}
return false;
}
/**
@ -4452,8 +4452,13 @@ class SessionManager
$create_new_courses = false,
$set_exercises_lp_invisible = false
) {
$id = intval($id);
$id = (int) $id;
$s = self::fetch($id);
if (empty($s)) {
return false;
}
// Check all dates before copying
// Get timestamp for now in UTC - see http://php.net/manual/es/function.time.php#117251
$now = time() - date('Z');
@ -4478,6 +4483,17 @@ class SessionManager
if (api_strtotime($s['coach_access_end_date']) < $now) {
$s['coach_access_end_date'] = $inOneMonth;
}
// Now try to create the session
$extraFieldValue = new ExtraFieldValue('session');
$extraFieldsValues = $extraFieldValue->getAllValuesByItem($id);
$extraFieldsValuesToCopy = [];
if (!empty($extraFieldsValues)) {
foreach ($extraFieldsValues as $extraFieldValue) {
//$extraFieldsValuesToCopy['extra_'.$extraFieldValue['variable']] = $extraFieldValue['value'];
$extraFieldsValuesToCopy['extra_'.$extraFieldValue['variable']]['extra_'.$extraFieldValue['variable']] = $extraFieldValue['value'];
}
}
// Now try to create the session
$sid = self::create_session(
$s['name'].' '.get_lang('CopyLabelSuffix'),
@ -4490,7 +4506,11 @@ class SessionManager
(int) $s['id_coach'],
$s['session_category_id'],
(int) $s['visibility'],
true
true,
$s['duration'],
$s['description'],
$s['show_description'],
$extraFieldsValuesToCopy
);
if (!is_numeric($sid) || empty($sid)) {
@ -4569,24 +4589,38 @@ class SessionManager
$short_courses = null;
}
}
if ($copy_users) {
// Register users from the original session to the new session
$users = self::get_users_by_session($id);
$short_users = [];
if (is_array($users) && count($users) > 0) {
foreach ($users as $user) {
$short_users[] = $user['user_id'];
if (!empty($users)) {
$userListByStatus = [];
foreach ($users as $userData) {
$userData['relation_type'] = (int) $userData['relation_type'];
$userListByStatus[$userData['relation_type']][] = $userData;
}
}
$users = null;
//Subscribing in read only mode
foreach ($userListByStatus as $status => $userList) {
$userList = array_column($userList, 'user_id');
switch ($status) {
case 0:
self::subscribeUsersToSession(
$sid,
$short_users,
$userList,
SESSION_VISIBLE_READ_ONLY,
false,
true
);
$short_users = null;
break;
case 1:
foreach ($userList as $drhId) {
$drhId = api_get_user_info($drhId);
self::subscribeSessionsToDrh($drhId, [$sid], false);
}
break;
}
}
}
}
return $sid;
@ -6879,8 +6913,8 @@ SQL;
public static function isUserSubscribedAsStudent($sessionId, $userId)
{
$sessionRelUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sessionId = intval($sessionId);
$userId = intval($userId);
$sessionId = (int) $sessionId;
$userId = (int) $userId;
// COUNT(1) actually returns the number of rows from the table (as if
// counting the results from the first column)
@ -6911,8 +6945,8 @@ SQL;
{
$sessionRelUserTable = Database::get_main_table(TABLE_MAIN_SESSION_USER);
$sessionId = intval($sessionId);
$userId = intval($userId);
$sessionId = (int) $sessionId;
$userId = (int) $userId;
// COUNT(1) actually returns the number of rows from the table (as if
// counting the results from the first column)

@ -293,13 +293,19 @@ class SocialManager extends UserManager
} else {
// invitation already exist
$sql = 'SELECT COUNT(*) AS count, id FROM '.$tbl_message.'
WHERE user_sender_id='.$user_id.' AND user_receiver_id='.$friend_id.' AND msg_status = 7';
WHERE
user_sender_id='.$user_id.' AND
user_receiver_id='.$friend_id.' AND
msg_status = 7';
$res_if_exist = Database::query($sql);
$row_if_exist = Database::fetch_array($res_if_exist, 'ASSOC');
if ($row_if_exist['count'] == 1) {
$sql = 'UPDATE '.$tbl_message.' SET
msg_status=5, content = "'.$clean_message_content.'"
WHERE user_sender_id='.$user_id.' AND user_receiver_id='.$friend_id.' AND msg_status = 7 ';
WHERE
user_sender_id='.$user_id.' AND
user_receiver_id='.$friend_id.' AND
msg_status = 7 ';
Database::query($sql);
return true;
@ -1227,44 +1233,22 @@ class SocialManager extends UserManager
);
if ($show_full_profile && $user_id == api_get_user_id()) {
$personal_course_list = UserManager::get_personal_session_course_list($user_id);
$course_list_code = [];
$i = 1;
if (is_array($personal_course_list)) {
foreach ($personal_course_list as $my_course) {
if ($i <= 10) {
$course_list_code[] = ['code' => $my_course['code']];
} else {
break;
}
$i++;
}
// To avoid repeated courses
$course_list_code = array_unique_dimensional($course_list_code);
}
// Announcements
$announcements = [];
foreach ($course_list_code as $course) {
$course_info = api_get_course_info($course['code']);
if (!empty($course_info)) {
$content = AnnouncementManager::get_all_annoucement_by_user_course(
$course_info['code'],
$user_id
$announcementsByCourse = AnnouncementManager::getAnnoucementCourseTotalByUser($user_id);
if (!empty($announcementsByCourse)) {
foreach ($announcementsByCourse as $announcement) {
$url = Display::url(
Display::return_icon(
'announcement.png',
get_lang('Announcements')
).$announcement['course']['name'].' ('.$announcement['count'].')',
api_get_path(WEB_CODE_PATH).'announcements/announcements.php?cidReq='.$announcement['course']['code']
);
if (!empty($content)) {
$url = Display::url(
Display::return_icon(
'announcement.png',
get_lang('Announcements')
).$course_info['name'].' ('.$content['count'].')',
api_get_path(WEB_CODE_PATH).'announcements/announcements.php?cidReq='.$course['code']
);
$announcements[] = Display::tag('li', $url);
}
$announcements[] = Display::tag('li', $url);
}
}
if (!empty($announcements)) {
$html .= '<div class="social_menu_items">';
$html .= '<ul>';
@ -1656,7 +1640,7 @@ class SocialManager extends UserManager
";
if ($getCount) {
$select = ' SELECT count(id) count ';
$select = ' SELECT count(id) as count_items ';
}
$sql = "$select

@ -95,6 +95,11 @@ class SortableTable extends HTML_Table
public $use_jqgrid = false;
public $table_id = null;
public $headers = [];
/**
* The array containing all data for this table.
*/
public $table_data;
/**
* @var array Columns to hide
*/
@ -1070,194 +1075,12 @@ class SortableTable extends HTML_Table
return $data;
}
}
/**
* Sortable table which can be used for data available in an array.
*
* @package chamilo.library
* @param array $data
*/
class SortableTableFromArray extends SortableTable
public function setTableData($data)
{
/**
* The array containing all data for this table.
*/
public $table_data;
/**
* Constructor.
*
* @param array $table_data
* @param int $default_column
* @param int $default_items_per_page
* @param string $tableName
* @param string $get_total_number_function
* @param string $tableId
*/
public function __construct(
$table_data,
$default_column = 1,
$default_items_per_page = 20,
$tableName = 'tablename',
$get_total_number_function = null,
$tableId = ''
) {
parent:: __construct(
$tableName,
$get_total_number_function,
null,
$default_column,
$default_items_per_page,
null,
$tableId
);
$this->table_data = $table_data;
}
/**
* Get table data to show on current page.
*
* @see SortableTable#get_table_data
*/
public function get_table_data(
$from = 1,
$per_page = null,
$column = null,
$direction = null,
$sort = true
) {
if ($sort) {
$content = TableSort::sort_table(
$this->table_data,
$this->column,
$this->direction === 'ASC' ? SORT_ASC : SORT_DESC
);
} else {
$content = $this->table_data;
}
return array_slice($content, $from, $this->per_page);
}
/**
* Get total number of items.
*
* @see SortableTable#get_total_number_of_items
*/
public function get_total_number_of_items()
{
if (isset($this->total_number_of_items) && !empty($this->total_number_of_items)) {
return $this->total_number_of_items;
} else {
if (!empty($this->table_data)) {
return count($this->table_data);
}
return 0;
}
}
}
/**
* Sortable table which can be used for data available in an array.
*
* Is a variation of SortableTableFromArray because we add 2 new arrays $column_show and $column_order
* $column_show is an array that lets us decide which are going to be the columns to show
* $column_order is an array that lets us decide the ordering of the columns
* i.e: $column_header=array('a','b','c','d','e'); $column_order=array(1,2,5,4,5);
* These means that the 3th column (letter "c") will be sort like the order we use in the 5th column
*
* @package chamilo.library
*/
class SortableTableFromArrayConfig extends SortableTable
{
/**
* The array containing the columns that will be show
* i.e $column_show=array('1','0','0'); we will show only the 1st column.
*/
private $column_show;
/**
* The array containing the real sort column
* $column_order=array('1''4','3','4');
* The 2nd column will be order like the 4th column.
*/
private $column_order;
/**
* The array containing all data for this table.
*/
private $table_data;
private $doc_filter;
/**
* Constructor.
*
* @param array $data All the information of the table
* @param int $column Default column that will be use in the sorts functions
* @param int $itemsPerPage quantity of pages that we are going to see
* @param string $tableName Name of the table
* @param array $column_show An array with binary values 1: we show the column 2: we don't show it
* @param array $column_order an array of integers that let us decide how the columns are going to be sort
* @param string $direction
* @param bool $doc_filter special modification to fix the document name order
*/
public function __construct(
$data,
$column = 1,
$itemsPerPage = 20,
$tableName = 'tablename',
$column_show = [],
$column_order = [],
$direction = 'ASC',
$doc_filter = false
) {
$this->column_show = $column_show;
$this->column_order = $column_order;
$this->doc_filter = $doc_filter;
parent::__construct(
$tableName,
null,
null,
$column,
$itemsPerPage,
$direction
);
$this->table_data = $data;
}
/**
* Get table data to show on current page.
*
* @see SortableTable#get_table_data
*/
public function get_table_data(
$from = 1,
$per_page = null,
$column = null,
$direction = null,
$sort = true
) {
$content = TableSort::sort_table_config(
$this->table_data,
$this->column,
$this->direction === 'ASC' ? SORT_ASC : SORT_DESC,
$this->column_show,
$this->column_order,
SORT_REGULAR,
$this->doc_filter
);
return array_slice($content, $from, $this->per_page);
}
/**
* Get total number of items.
*
* @see SortableTable#get_total_number_of_items
*/
public function get_total_number_of_items()
{
return count($this->table_data);
}
}

@ -1984,7 +1984,9 @@ class Tracking
// fin de acceso a la sesión
$sessionInfo = SessionManager::fetch($session_id);
$last_access = $sessionInfo['access_end_date'];
$where_condition = ' AND logout_course_date < "'.$last_access.'" ';
if (!empty($last_access)) {
$where_condition = ' AND logout_course_date < "'.$last_access.'" ';
}
}
$sql = "SELECT logout_course_date
FROM $table
@ -4817,7 +4819,7 @@ class Tracking
$extraInnerJoin = null;
if (SessionManager::orderCourseIsEnabled() && !empty($session_id)) {
$orderBy = ' ORDER BY s.id, position ';
$orderBy = ' ORDER BY s.id, src.position ';
$tableSessionRelCourse = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
$extraInnerJoin = " INNER JOIN $tableSessionRelCourse src
ON (cu.c_id = src.c_id AND src.session_id = $session_id) ";

@ -191,10 +191,9 @@ class UserGroup extends Model
*
* @return int
*/
public function get_count($type = -1)
public function get_count()
{
$authorCondition = '';
$type = (int) $type;
if ($this->allowTeachers()) {
if (!api_is_platform_admin()) {
@ -218,17 +217,10 @@ class UserGroup extends Model
return $row['count'];
}
return 0;
} else {
$typeCondition = '';
if ($type != -1) {
$typeCondition = " AND group_type = $type ";
}
$sql = "SELECT count(a.id) as count
FROM {$this->table} a
WHERE 1 =1
$typeCondition
$authorCondition
";
$result = Database::query($sql);
@ -238,56 +230,8 @@ class UserGroup extends Model
return $row['count'];
}
}
}
/**
* @param int $course_id
* @param int $type
*
* @return mixed
*/
public function getUserGroupByCourseWithDataCount($course_id, $type = -1)
{
if ($this->getUseMultipleUrl()) {
$course_id = (int) $course_id;
$urlId = api_get_current_access_url_id();
$sql = "SELECT count(c.usergroup_id) as count
FROM {$this->usergroup_rel_course_table} c
INNER JOIN {$this->access_url_rel_usergroup} a
ON (c.usergroup_id = a.usergroup_id)
WHERE access_url_id = $urlId AND course_id = $course_id
";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$row = Database::fetch_array($result);
return $row['count'];
}
return 0;
} else {
$typeCondition = '';
if ($type != -1) {
$type = (int) $type;
$typeCondition = " AND group_type = $type ";
}
$sql = "SELECT count(c.usergroup_id) as count
FROM {$this->usergroup_rel_course_table} c
INNER JOIN {$this->table} a
ON (c.usergroup_id = a.id)
WHERE
course_id = $course_id
$typeCondition
";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$row = Database::fetch_array($result);
return $row['count'];
}
return 0;
}
}
/**
@ -424,11 +368,16 @@ class UserGroup extends Model
*
* @return array
*/
public function getUserGroupInCourse($options = [], $type = -1)
public function getUserGroupInCourse($options = [], $type = -1, $getCount = false)
{
$select = 'DISTINCT u.*';
if ($getCount) {
$select = 'count(u.id) as count';
}
if ($this->getUseMultipleUrl()) {
$urlId = api_get_current_access_url_id();
$sql = "SELECT u.* FROM {$this->usergroup_rel_course_table} usergroup
$sql = "SELECT $select
FROM {$this->usergroup_rel_course_table} usergroup
INNER JOIN {$this->table} u
ON (u.id = usergroup.usergroup_id)
INNER JOIN {$this->table_course} c
@ -437,7 +386,8 @@ class UserGroup extends Model
ON (a.usergroup_id = u.id)
";
} else {
$sql = "SELECT u.* FROM {$this->usergroup_rel_course_table} usergroup
$sql = "SELECT $select
FROM {$this->usergroup_rel_course_table} usergroup
INNER JOIN {$this->table} u
ON (u.id = usergroup.usergroup_id)
INNER JOIN {$this->table_course} c
@ -445,36 +395,28 @@ class UserGroup extends Model
";
}
$conditions = Database::parse_conditions($options);
$typeCondition = '';
if ($type != -1) {
$type = (int) $type;
$typeCondition = " AND group_type = $type ";
$options['where']['AND group_type = ? '] = $type;
}
if (empty($conditions)) {
$conditions .= "WHERE 1 = 1 $typeCondition ";
} else {
$conditions .= " $typeCondition ";
if ($this->getUseMultipleUrl()) {
$urlId = api_get_current_access_url_id();
$options['where']['AND access_url_id = ? '] = $urlId;
}
$conditions = Database::parse_conditions($options);
$sql .= $conditions;
if ($this->getUseMultipleUrl()) {
$urlId = api_get_current_access_url_id();
$sql .= " AND access_url_id = $urlId ";
}
$result = Database::query($sql);
if (isset($options['LIMIT'])) {
$limits = explode(',', $options['LIMIT']);
$limits = array_map('intval', $limits);
if (isset($limits[0]) && isset($limits[1])) {
$sql .= ' LIMIT '.$limits[0].', '.$limits[1];
if ($getCount) {
if (Database::num_rows($result)) {
$row = Database::fetch_array($result);
return $row['count'];
}
}
$result = Database::query($sql);
$array = Database::store_result($result, 'ASSOC');
return $array;
@ -483,10 +425,11 @@ class UserGroup extends Model
/**
* @param array $options
* @param int $type
* @param bool $getCount
*
* @return array|bool
*/
public function getUserGroupNotInCourse($options = [], $type = -1)
public function getUserGroupNotInCourse($options = [], $type = -1, $getCount = false)
{
$course_id = null;
if (isset($options['course_id'])) {
@ -498,14 +441,13 @@ class UserGroup extends Model
return false;
}
$typeCondition = '';
if ($type != -1) {
$type = (int) $type;
$typeCondition = " AND group_type = $type ";
$select = 'DISTINCT u.*';
if ($getCount) {
$select = 'count(u.id) as count';
}
if ($this->getUseMultipleUrl()) {
$sql = "SELECT DISTINCT u.*
$sql = "SELECT $select
FROM {$this->table} u
INNER JOIN {$this->access_url_rel_usergroup} a
ON (a.usergroup_id = u.id)
@ -513,35 +455,39 @@ class UserGroup extends Model
ON (u.id = urc.usergroup_id AND course_id = $course_id)
";
} else {
$sql = "SELECT DISTINCT u.*
$sql = "SELECT $select
FROM {$this->table} u
LEFT OUTER JOIN {$this->usergroup_rel_course_table} urc
ON (u.id = urc.usergroup_id AND course_id = $course_id)
";
}
$conditions = Database::parse_conditions($options);
if (empty($conditions)) {
$conditions .= "WHERE 1 = 1 $typeCondition ";
} else {
$conditions .= " $typeCondition ";
if ($type != -1) {
$type = (int) $type;
$options['where']['AND group_type = ? '] = $type;
}
$sql .= $conditions;
if ($this->getUseMultipleUrl()) {
$urlId = api_get_current_access_url_id();
$sql .= " AND access_url_id = $urlId";
$options['where']['AND access_url_id = ? '] = $urlId;
}
if (isset($options['LIMIT'])) {
$limits = explode(',', $options['LIMIT']);
$limits = array_map('intval', $limits);
if (isset($limits[0]) && isset($limits[1])) {
$sql .= ' LIMIT '.$limits[0].', '.$limits[1];
/*if ($this->allowTeachers()) {
if (!api_is_platform_admin()) {
$userId = api_get_user_id();
$options['where']['AND author_id = ? '] = $userId;
}
}
}*/
$conditions = Database::parse_conditions($options);
$sql .= $conditions;
if ($getCount) {
$result = Database::query($sql);
$array = Database::fetch_array($result, 'ASSOC');
return $array['count'];
}
$result = Database::query($sql);
$array = Database::store_result($result, 'ASSOC');
@ -2895,7 +2841,7 @@ class UserGroup extends Model
api_block_anonymous_users();
if (!api_is_platform_admin()) {
if ($this->allowTeachers() && api_is_teacher()) {
if (api_is_teacher()) {
if (!empty($userGroupInfo)) {
if ($userGroupInfo['author_id'] != api_get_user_id()) {
api_not_allowed(true);

@ -3060,6 +3060,9 @@ class UserManager
$order = ' ORDER BY _isFieldNull asc, s.accessEndDate asc';
}
break;
case 'name':
$order = " ORDER BY s.name $orderSetting ";
break;
}
}

@ -934,6 +934,9 @@ class IndexManager
*/
public function return_course_block()
{
if (api_get_configuration_value('hide_course_sidebar')) {
return '';
}
$isHrm = api_is_drh();
$show_create_link = false;
$show_course_link = false;
@ -976,12 +979,14 @@ class IndexManager
}
// Sort courses
$items[] = [
'class' => 'order-course',
'icon' => Display::return_icon('order-course.png', get_lang('SortMyCourses')),
'link' => api_get_path(WEB_CODE_PATH).'auth/courses.php?action=sortmycourses',
'title' => get_lang('SortMyCourses'),
];
if (api_get_configuration_value('view_grid_courses') != true) {
$items[] = [
'class' => 'order-course',
'icon' => Display::return_icon('order-course.png', get_lang('SortMyCourses')),
'link' => api_get_path(WEB_CODE_PATH).'auth/courses.php?action=sortmycourses',
'title' => get_lang('SortMyCourses'),
];
}
// Session history
if (isset($_GET['history']) && intval($_GET['history']) == 1) {
@ -1262,23 +1267,61 @@ class IndexManager
}
}
if ($viewGridCourses) {
$coursesWithoutCategoryTemplate = '/user_portal/grid_courses_without_category.tpl';
$coursesWithCategoryTemplate = '/user_portal/grid_courses_with_category.tpl';
}
if ($specialCourses) {
if ($categoryCodeFilter) {
$specialCourses = self::filterByCategory($specialCourses, $categoryCodeFilter);
}
$this->tpl->assign('courses', $specialCourses);
$specialCourseList = $this->tpl->fetch($this->tpl->get_template($coursesWithoutCategoryTemplate));
$courseCompleteList = array_merge($courseCompleteList, $specialCourses);
}
if ($courses['in_category'] || $courses['not_category']) {
foreach ($courses['in_category'] as $courseData) {
if (!empty($courseData['courses'])) {
$coursesInCategoryCount += count($courseData['courses']);
$courseCompleteList = array_merge($courseCompleteList, $courseData['courses']);
}
}
$coursesNotInCategoryCount += count($courses['not_category']);
$courseCompleteList = array_merge($courseCompleteList, $courses['not_category']);
$this->tpl->assign('courses', $courseCompleteList);
$listCourse = $this->tpl->fetch($this->tpl->get_template($coursesTemplate));
$courseCount = count($courseCompleteList);
if ($categoryCodeFilter) {
$courses['in_category'] = self::filterByCategory(
$courses['in_category'],
$categoryCodeFilter
);
$courses['not_category'] = self::filterByCategory(
$courses['not_category'],
$categoryCodeFilter
);
}
$listSessions = null;
$this->tpl->assign('courses', $courses['not_category']);
$this->tpl->assign('categories', $courses['in_category']);
$listCourse = $this->tpl->fetch($this->tpl->get_template($coursesWithCategoryTemplate));
$listCourse .= $this->tpl->fetch($this->tpl->get_template($coursesWithoutCategoryTemplate));
}
$courseCount = count($specialCourses) + $coursesInCategoryCount + $coursesNotInCategoryCount;
}
/*$collapsable = api_get_configuration_value('allow_user_session_collapsable');
$sessions_with_category = '';
$sessions_with_no_category = '';
$collapsable = api_get_configuration_value('allow_user_session_collapsable');
$collapsableLink = '';
if ($collapsable) {
$collapsableLink = api_get_path(WEB_PATH).'user_portal.php?action=collapse_session';
}*/
}
//$extraFieldValue = new ExtraFieldValue('session');
$extraFieldValue = new ExtraFieldValue('session');
if ($showSessions) {
$coursesListSessionStyle = api_get_configuration_value('courses_list_session_title_link');
$coursesListSessionStyle = $coursesListSessionStyle === false ? 1 : $coursesListSessionStyle;
@ -1292,9 +1335,13 @@ class IndexManager
$listSession = [];
// Get timestamp in UTC to compare to DB values (in UTC by convention)
$session_now = strtotime(api_get_utc_datetime(time()));
if (is_array($session_categories)) {
foreach ($session_categories as $session_category) {
$session_category_id = $session_category['session_category']['id'];
if (is_array($sessionCategories)) {
foreach ($sessionCategories as $session_category) {
if (empty($session_category_id) &&
isset($session_category['sessions'])
) {
// Independent sessions
foreach ($session_category['sessions'] as $session) {
$session_id = $session['session_id'];
@ -1312,7 +1359,7 @@ class IndexManager
$count_courses_session = 0;
// Loop course content
$list_courses_session = [];
$html_courses_session = [];
$atLeastOneCourseIsVisible = false;
$markAsOld = false;
$markAsFuture = false;
@ -1428,7 +1475,7 @@ class IndexManager
}
}
}
$list_courses_session[] = $course_session;
$html_courses_session[] = $course_session;
}
}
$count_courses_session++;
@ -1437,7 +1484,7 @@ class IndexManager
// No courses to show.
if ($atLeastOneCourseIsVisible === false) {
if (empty($list_courses_session)) {
if (empty($html_courses_session)) {
continue;
}
}
@ -1447,8 +1494,13 @@ class IndexManager
'id' => $session_id,
];
$session_box = Display::getSessionTitleBox($session_id);
$coachId = $session_box['coach_id'];
$coachId = $session_box['id_coach'];
$imageField = $extraFieldValue->get_values_by_handler_and_field_variable(
$session_id,
'image'
);
$params['category_id'] = $session_box['category_id'];
$params['title'] = $session_box['title'];
$params['id_coach'] = $coachId;
$params['coach_url'] = api_get_path(WEB_AJAX_PATH).
@ -1459,11 +1511,12 @@ class IndexManager
USER_IMAGE_SIZE_SMALL
);
$params['date'] = $session_box['dates'];
$params['image'] = isset($imageField['value']) ? $imageField['value'] : null;
$params['duration'] = isset($session_box['duration']) ? ' '.$session_box['duration'] : null;
$params['show_actions'] = SessionManager::cantEditSession($session_id);
/*
if ($collapsable) {
$collapsableData = Sessionmanager::getCollapsableData(
$collapsableData = SessionManager::getCollapsableData(
$user_id,
$session_id,
$extraFieldValue,
@ -1471,9 +1524,8 @@ class IndexManager
);
$params['collapsed'] = $collapsableData['collapsed'];
$params['collapsable_link'] = $collapsableData['collapsable_link'];
}*/
$params['image'] = $session_box['image'];
$params['url'] = $session_box['url'];
}
$params['show_description'] = $session_box['show_description'] == 1 && $portalShowDescription;
$params['description'] = $session_box['description'];
$params['visibility'] = $session_box['visibility'];
@ -1482,17 +1534,15 @@ class IndexManager
$params['num_users'] = $session_box['num_users'];
$params['num_courses'] = $session_box['num_courses'];
$params['course_categories'] = CourseManager::getCourseCategoriesFromCourseList(
$list_courses_session
$html_courses_session
);
$params['courses'] = $list_courses_session;
$params['courses'] = $html_courses_session;
$params['is_old'] = $markAsOld;
$params['is_future'] = $markAsFuture;
//$params['category'] = $session_box['category'];
//$params['color'] = Display::randomColor($session_box['category']['id']);
if ($showSimpleSessionInfo) {
$params['subtitle'] = self::getSimpleSessionDetails(
$session_box['coach_name'],
$session_box['coach'],
$session_box['dates'],
isset($session_box['duration']) ? $session_box['duration'] : null
);
@ -1514,6 +1564,190 @@ class IndexManager
}
$listSession[] = $params;
$sessionCount++;
}
}
} else {
// All sessions included in
$count_courses_session = 0;
$html_sessions = '';
if (isset($session_category['sessions'])) {
foreach ($session_category['sessions'] as $session) {
$session_id = $session['session_id'];
// Don't show empty sessions.
if (count($session['courses']) < 1) {
continue;
}
$date_session_start = $session['access_start_date'];
$date_session_end = $session['access_end_date'];
$coachAccessStartDate = $session['coach_access_start_date'];
$coachAccessEndDate = $session['coach_access_end_date'];
$html_courses_session = [];
$count = 0;
$markAsOld = false;
$markAsFuture = false;
foreach ($session['courses'] as $course) {
$is_coach_course = api_is_coach($session_id, $course['real_id']);
$allowed_time = 0;
$allowedEndTime = true;
if (!empty($date_session_start)) {
if ($is_coach_course) {
$allowed_time = api_strtotime($coachAccessStartDate);
} else {
$allowed_time = api_strtotime($date_session_start);
}
if (!isset($_GET['history'])) {
if (!empty($date_session_end)) {
if ($is_coach_course) {
// if coach end date is empty we use the default end date
if (empty($coachAccessEndDate)) {
$endSessionToTms = api_strtotime($date_session_end);
if ($session_now > $endSessionToTms) {
$allowedEndTime = false;
}
} else {
$endSessionToTms = api_strtotime($coachAccessEndDate);
if ($session_now > $endSessionToTms) {
$allowedEndTime = false;
}
}
} else {
$endSessionToTms = api_strtotime($date_session_end);
if ($session_now > $endSessionToTms) {
$allowedEndTime = false;
}
}
}
}
}
if ($showAllSessions) {
if ($allowed_time < $session_now && $allowedEndTime == false) {
$markAsOld = true;
}
if ($allowed_time > $session_now && $endSessionToTms > $session_now) {
$markAsFuture = true;
}
$allowedEndTime = true;
$allowed_time = 0;
}
if ($session_now >= $allowed_time && $allowedEndTime) {
if (api_get_setting('hide_courses_in_sessions') === 'false') {
$c = CourseManager::get_logged_user_course_html(
$course,
$session_id,
'session_course_item'
);
if (isset($c[1])) {
$html_courses_session[] = $c[1];
}
}
$count_courses_session++;
$count++;
}
}
$sessionParams = [];
// Category
if ($count > 0) {
$session_box = Display::getSessionTitleBox($session_id);
$sessionParams[0]['id'] = $session_id;
$sessionParams[0]['date'] = $session_box['dates'];
$sessionParams[0]['duration'] = isset($session_box['duration']) ? ' '.$session_box['duration'] : null;
$sessionParams[0]['course_list_session_style'] = $coursesListSessionStyle;
$sessionParams[0]['title'] = $session_box['title'];
$sessionParams[0]['subtitle'] = (!empty($session_box['coach']) ? $session_box['coach'].' | ' : '').$session_box['dates'];
$sessionParams[0]['show_actions'] = SessionManager::cantEditSession($session_id);
$sessionParams[0]['courses'] = $html_courses_session;
$sessionParams[0]['show_simple_session_info'] = $showSimpleSessionInfo;
$sessionParams[0]['coach_name'] = !empty($session_box['coach']) ? $session_box['coach'] : null;
$sessionParams[0]['is_old'] = $markAsOld;
$sessionParams[0]['is_future'] = $markAsFuture;
if ($collapsable) {
$collapsableData = SessionManager::getCollapsableData(
$user_id,
$session_id,
$extraFieldValue,
$collapsableLink
);
$sessionParams[0]['collapsable_link'] = $collapsableData['collapsable_link'];
$sessionParams[0]['collapsed'] = $collapsableData['collapsed'];
}
if ($showSimpleSessionInfo) {
$sessionParams[0]['subtitle'] = self::getSimpleSessionDetails(
$session_box['coach'],
$session_box['dates'],
isset($session_box['duration']) ? $session_box['duration'] : null
);
}
$this->tpl->assign('session', $sessionParams);
$this->tpl->assign('show_tutor', (api_get_setting('show_session_coach') === 'true' ? true : false));
$this->tpl->assign('gamification_mode', $gameModeIsActive);
$this->tpl->assign('remove_session_url', api_get_configuration_value('remove_session_url'));
if ($viewGridCourses) {
$html_sessions .= $this->tpl->fetch(
$this->tpl->get_template('/user_portal/grid_session.tpl')
);
} else {
$html_sessions .= $this->tpl->fetch(
$this->tpl->get_template('user_portal/classic_session.tpl')
);
}
$sessionCount++;
}
}
}
if ($count_courses_session > 0) {
$categoryParams = [
'id' => $session_category['session_category']['id'],
'title' => $session_category['session_category']['name'],
'show_actions' => api_is_platform_admin(),
'subtitle' => '',
'sessions' => $html_sessions,
];
$session_category_start_date = $session_category['session_category']['date_start'];
$session_category_end_date = $session_category['session_category']['date_end'];
if ($session_category_start_date == '0000-00-00') {
$session_category_start_date = '';
}
if ($session_category_end_date == '0000-00-00') {
$session_category_end_date = '';
}
if (!empty($session_category_start_date) &&
!empty($session_category_end_date)
) {
$categoryParams['subtitle'] = sprintf(
get_lang('FromDateXToDateY'),
$session_category_start_date,
$session_category_end_date
);
} else {
if (!empty($session_category_start_date)) {
$categoryParams['subtitle'] = get_lang('From').' '.$session_category_start_date;
}
if (!empty($session_category_end_date)) {
$categoryParams['subtitle'] = get_lang('Until').' '.$session_category_end_date;
}
}
$this->tpl->assign('session_category', $categoryParams);
$sessions_with_category .= $this->tpl->fetch(
$this->tpl->get_template('user_portal/session_category.tpl')
);
}
}
}
@ -1530,22 +1764,26 @@ class IndexManager
$this->tpl->assign('all_courses', $allCoursesInSessions);
$this->tpl->assign('session', $listSession);
//$this->tpl->assign('show_tutor', (api_get_setting('show_session_coach') === 'true' ? true : false));
$this->tpl->assign('show_tutor', (api_get_setting('show_session_coach') === 'true' ? true : false));
$this->tpl->assign('gamification_mode', $gameModeIsActive);
$this->tpl->assign('remove_session_url', api_get_configuration_value('remove_session_url'));
//$this->tpl->assign('remove_session_url', api_get_setting('session.remove_session_url'));
$listSessions = $this->tpl->fetch(
$this->tpl->get_template('/user_portal/list_sessions.html.twig')
if ($viewGridCourses) {
$sessions_with_no_category = $this->tpl->fetch(
$this->tpl->get_template('/user_portal/grid_session.tpl')
);
} else {
$sessions_with_no_category = $this->tpl->fetch(
$this->tpl->get_template('user_portal/classic_session.tpl')
);
}
}
}
return [
'courses' => $courseCompleteList,
'sessions' => $listSession,
'session_category' => $sessionCategories,
'html_courses' => trim($listCourse),
'html_sessions' => trim($listSessions),
'sessions' => $session_categories,
'html' => trim($specialCourseList.$sessions_with_category.$sessions_with_no_category.$listCourse),
'session_count' => $sessionCount,
'course_count' => $courseCount,
];

@ -14,7 +14,7 @@ use Chamilo\UserBundle\Entity\User;
*/
class Rest extends WebService
{
const SERVIVE_NAME = 'MsgREST';
const SERVICE_NAME = 'MsgREST';
const EXTRA_FIELD_GCM_REGISTRATION = 'gcm_registration_id';
const GET_AUTH = 'authenticate';

@ -2,7 +2,7 @@
/*
for more information: see languages.txt in the lang folder.
*/
$OpenBadgesBannerText = "يمكنك توليد اوسمة للمهارات التي تعلمها الطالب، من اجل منحهم التقدير على جهودهم، اذ ستظهر هذه الاوسمة في حسابهم الشخصي، لمزيد من المعلومات حول الاوسمة، يرجى الاطلاع على الموقع التالي
$OpenBadgesBannerText = "يمكنك توليد اوسمة للمهارات التي تعلمها الطالب، من اجل منحهم التقدير على جهودهم، اذ ستظهر هذه الاوسمة في حسابهم الشخصي، لمزيد من المعلومات حول الاوسمة، يرجى الاطلاع على الموقع التالي
http://openbadges.org";
$OpenBadgesIntroduction = "يمكنك الان تصميم اوسمة مهارات التعلم من خلال المقررات في النظام";
$DesignANewBadgeComment = "تصميم وسام جديد، قم بتحميله من اداة التصميم وارفعه الى النظام";
@ -266,10 +266,10 @@ $AreYouSureDeleteTestResultBeforeDateD = "هل انت متأكد من حذف ن
$CleanStudentsResultsBeforeDate = "حذف كافة النتائج قبل التاريخ المحدد";
$HGlossary = "مساعدة القاموس";
$GlossaryContent = "هذه الاداة تسمح لك بانشاء قاموس المصطلحات لهذا المقرر والذي يمكن ان يستخدم من اداة المستندات";
$ForumContent = "يعد المنتدى بانه اداة للمناقشة للتعليم غير المتزامن، وبخلاف البريد الذي يكون سريا، فان المنتدى يمكن ان يكون عاما او نصف عاما.
لغرض تنظيم المنتدى فان عليك النقر على اداة المنتديات، ويتم ترتيب المناقشات بشكل هرمي وبالشكل التالي: الفئة←المنتدى←الموضوع، من اجل ضمان ان يتفاعل الاعضاء بشكل مرتب وفعال. وبالتالي فان من الضروري انشاء الفئات والمنتديات، ثم يمكن للاعضاء انشاء المواضيع والمنشورات
\n
يمكن ان يتضمن وصف المنتدى على قائمة للاعضاء وتعريف بهدف المنتدى وموضوع المنتدى..الخ
$ForumContent = "يعد المنتدى بانه اداة للمناقشة للتعليم غير المتزامن، وبخلاف البريد الذي يكون سريا، فان المنتدى يمكن ان يكون عاما او نصف عاما.
لغرض تنظيم المنتدى فان عليك النقر على اداة المنتديات، ويتم ترتيب المناقشات بشكل هرمي وبالشكل التالي: الفئة←المنتدى←الموضوع، من اجل ضمان ان يتفاعل الاعضاء بشكل مرتب وفعال. وبالتالي فان من الضروري انشاء الفئات والمنتديات، ثم يمكن للاعضاء انشاء المواضيع والمنشورات
\n
يمكن ان يتضمن وصف المنتدى على قائمة للاعضاء وتعريف بهدف المنتدى وموضوع المنتدى..الخ
ملاحظة: تختلف المنتديات في هذا النظام عن المنتديات الموجودة في الانترنت، اذ ان الفرق الجوهري هنا هو ان الطالب لا يستطيع تعديل المنشور في المنتدى بعد ان تم نشره، كذلك فقد تم تصميم المنتدى بالشكل الذي يسمح للمدرسين بتصحيح منشورات الطلبة في حال وجود خطأ فيها من خلال تحديد موضع الخطأ بلون اصفر وهذا ما يسمح لبقية الطلبة من الانتفاع بها، في حين ان الطلبة لا يسمح لهم في تصحيح منشورات بعضهم البعض";
$HForum = "مساعدة المنتدى";
$LoginToGoToThisCourse = "يرجى تسجيل الدخول لغرض الانتقال الى المقرر";
@ -418,9 +418,9 @@ $VersionUpToDate = "اصدار النظام هو الاحدث";
$LatestVersionIs = "الاصدار الاحدث هو";
$YourVersionNotUpToDate = "ان اصدارك ليس الاحدث";
$Hotpotatoes = "Hotpotatoes";
$ZeroMeansNoQuestionWillBeSelectedMinusOneMeansThatAllQuestionsWillBeSelected = "-1= كافة الاسئلة سوف يتم تحديدها
$ZeroMeansNoQuestionWillBeSelectedMinusOneMeansThatAllQuestionsWillBeSelected = "-1= كافة الاسئلة سوف يتم تحديدها
0 = لا يتم تحديد اي سؤال";
$EmailNotificationTemplateDescription = "يمكنك تخصيص البريد المرسل الى المستخدمين عند نهاية التمرين. يمكنك استخدام الوسوم كما يلي
$EmailNotificationTemplateDescription = "يمكنك تخصيص البريد المرسل الى المستخدمين عند نهاية التمرين. يمكنك استخدام الوسوم كما يلي
1. {{ student.username }} 2. {{ student.firstname }} 3. {{ student.lastname }} 4. {{ student.official_code }} 5. {{ exercise.title }} 6. {{ exercise.start_time }} 7. {{ exercise.end_time }} 8. {{ course.title }} 9. {{ course.code }}";
$EmailNotificationTemplate = "قالب اشعار البريد";
$ExerciseEndButtonDisconnect = "الخروج";
@ -734,7 +734,7 @@ $ToExportLearnpathWithQuizYouHaveToSelectQuiz = "اذا اردت تصدير مق
$ArchivesDirectoryNotWriteableContactAdmin = "لايمكن التعديل على هذه الاداة، يرجى مراسلة مدير النظام";
$DestinationCourse = "المقرر المستهدف";
$ConvertToMultipleAnswer = "تحويل الى اجابات متعددة";
$CasMainActivateComment = "CAS ان تفعيل هذا التوثيق سوف يسمح للمستخدمين بتوثيق بياناتهم من خلال
$CasMainActivateComment = "CAS ان تفعيل هذا التوثيق سوف يسمح للمستخدمين بتوثيق بياناتهم من خلال
عليك اولا ان تقوم بتفعيل المكون الاضافي الخاص به";
$UsersRegisteredInAnyGroup = "المستخدمين المسجلين في أي مجموعة";
$Camera = "كاميرا";
@ -921,7 +921,7 @@ $NotebookDeleted = "تم حذف الملاحظة";
$DeleteAllAttendances = "الغاء كل الحضور";
$AssignSessionsTo = "تخصيص موسم لـ";
$Upload = "رفع الملف";
$MailTemplateRegistrationTitle = "مستخدم جديد على
$MailTemplateRegistrationTitle = "مستخدم جديد على
((اسم الموقع))";
$Unsubscribe = "الغاء التسجيل";
$AlreadyRegisteredToCourse = "لقد تم التسجيل من قيل";
@ -1901,12 +1901,12 @@ $FieldPossibleValues = "القيم المحتملة";
$FieldPossibleValuesComment = "القيم المحتملة";
$FieldTypeDate = "التاريخ";
$FieldTypeDatetime = "التاريخ و الوقت";
$UserFieldsAddHelp = ": يمكنك اضافة حقل مستخدم بسهولة من خلال
- اختيار كلمة واحدة ذات محدد باحرف صغيرة
- اختيار النوع
- اختيار النص الذي سيظهر للمستخدم - في حالة اختيارك لاسم موجود مسبقا في النظام مثل تاريخ الولادة فان ذلك الاسم سوف يتم ترجمته للغة الموجودة
- بالنسبة للانواع النصية فان يمكن اختيار القيمة الافتراضية
$UserFieldsAddHelp = ": يمكنك اضافة حقل مستخدم بسهولة من خلال
- اختيار كلمة واحدة ذات محدد باحرف صغيرة
- اختيار النوع
- اختيار النص الذي سيظهر للمستخدم - في حالة اختيارك لاسم موجود مسبقا في النظام مثل تاريخ الولادة فان ذلك الاسم سوف يتم ترجمته للغة الموجودة
- بالنسبة للانواع النصية فان يمكن اختيار القيمة الافتراضية
عندما تنتهي من ذلك، قم باضافة حقل واختيار كونه مرئي وقابل للتعديل او غير مرئي وقابل للتعديل";
$AllowCourseThemeTitle = "اسمح لموضوعات الدروس";
$AllowCourseThemeComment = "السماح بالمظاهر التصميمية في المقررات مع امكانية تغيير ذلك، وبالتالي فانه عندما يدخل المستخدم الى المقرر الدراسي فان المظهر التصميمي الخاص بالمقرر سوف تكون له الاولوية على المظهر التصميمي الخاص بالنظام";
@ -1921,36 +1921,36 @@ $ShowClosedCoursesComment = "عرض المقررات المغلقة في واج
$LDAPConnectionError = "LDAP خطأ الاتصال في";
$LDAP = "LDAP";
$LDAPEnableTitle = "LDAP تمكين";
$LDAPEnableComment = "LDAP في حالة توفر لديك خادم انترنت من نوع
فانه يجب عليك تهيئة الاعدادات الخاصة به بالاسفل وكما ذكر ذلك في دليل التنصيب ومن ثم تفعيله، وبالتالي فان سوف يتم توثيق تسجيل دخول المستخدمين وفقا لذلك الخادم
$LDAPEnableComment = "LDAP في حالة توفر لديك خادم انترنت من نوع
فانه يجب عليك تهيئة الاعدادات الخاصة به بالاسفل وكما ذكر ذلك في دليل التنصيب ومن ثم تفعيله، وبالتالي فان سوف يتم توثيق تسجيل دخول المستخدمين وفقا لذلك الخادم
اما اذا لم يكن لديك هذا النوع من الخادم فانه يجب عدم تفعيله";
$LDAPMainServerAddressTitle = "LDAP عنوان الخادم الرئيسي من نوع";
$LDAPMainServerAddressComment = "LDAP عنوان الآي بي او الرابط الخاص بالخادم الرئيسي من نوع";
$LDAPMainServerPortTitle = "LDAP منفذ الخادم الرئيسي من نوع";
$LDAPMainServerPortComment = "المنفذ الذي يستجيب من خلاله الخادم الرئيسي (والذي يكون عادة 389)، من الالزامي اجراء هذا الاعداد";
$LDAPDomainTitle = "LDAP الدومين الخاص بخادم";
$LDAPDomainComment = "LDAP الدومين الخاص بخادم
والذي يستخدم لايجاد جهات الاتصال في الخادم مثل
$LDAPDomainComment = "LDAP الدومين الخاص بخادم
والذي يستخدم لايجاد جهات الاتصال في الخادم مثل
dc=xx, dc=yy, dc=zz";
$LDAPReplicateServerAddressTitle = "تكرار عنوان الخادم";
$LDAPReplicateServerAddressComment = "عندما لا يتوفر الخادم الرئيسي، فان هذا الخادم سيتم الوصول اليه. اترك هذا الحقل فارغا او استخدم ذات القيم في الخادم الرئيسي في حال عدم توفر الخادم المكرر";
$LDAPReplicateServerPortTitle = "المنفذ الخاص بالخادم المكرر";
$LDAPReplicateServerPortComment = "المنفذ الذي يستجيب من خلاله الخادم المكرر";
$LDAPSearchTermTitle = "ابحث عن المصطلح";
$LDAPSearchTermComment = "LDAP سيستخدم هذا المصطلح لفلترة البحث عن جهات الاتصال في الخادم من نوع
$LDAPSearchTermComment = "LDAP سيستخدم هذا المصطلح لفلترة البحث عن جهات الاتصال في الخادم من نوع
اذا لم تكن متأكدا من ما يجب ان تكتبه فعليك الرجوع الى الاعدادات الخاصة بالخادم";
$LDAPVersionTitle = "LDAP الاصدار الخاص بخادم";
$LDAPVersionComment = "LDAP يرجى اختيار الاصدار الخاص بالخادم
$LDAPVersionComment = "LDAP يرجى اختيار الاصدار الخاص بالخادم
ان اختيار الاصدار يعتمد على الاعدادات الخاصة بالخادم";
$LDAPVersion2 = "LDAP 2";
$LDAPVersion3 = "LDAP 3";
$LDAPFilledTutorFieldTitle = "الحقل التعريفي الخاص بالمعلم";
$LDAPFilledTutorFieldComment = "سوف يتم التحقق من الاتصال بالخادم عند ادخال المستخدمين الجدد، في حال عدم كون الحقل فارغا فان المستخدم سوف يعد معلما عند تسجيله بالنظام، فاذا اردت اني يكون كافة المستخدمين المسجلين كطلبة فانه يجب عليك ترك هذا الحقل فارغا. كذلك يمكن تغيير هذا الاجراء من خلال الرجوع الى دليل التنصيب";
$LDAPAuthenticationLoginTitle = "توثيق تسجيل الدخول";
$LDAPAuthenticationLoginComment = "LDAP في حال كونك تستخدم خادم من نوع
$LDAPAuthenticationLoginComment = "LDAP في حال كونك تستخدم خادم من نوع
والذي لا يدعم او يقبل الوصول المجهول، فان عليك ملئ الحقل التالي مع رمز الدخول لتسجيل المستخدمين";
$LDAPAuthenticationPasswordTitle = "توثيق رمز المرور";
$LDAPAuthenticationPasswordComment = "LDAP في حال كونك تستخدم خادم
$LDAPAuthenticationPasswordComment = "LDAP في حال كونك تستخدم خادم
والذي لا يدعم الوصول المجهول، فان عليك ملئ الحقل التالي مع رمز المرور الخاص بالمستخدم";
$LDAPImport = "LDAP استيراد";
$EmailNotifySubscription = "اخطار المستخدمين المسجلين عبر البريد";
@ -1993,7 +1993,7 @@ $LDAPSelectFilterOnUsersOU = "اختيار التصفية من اجل البحث
$LDAPOUAttributeFilter = "OU تصفية السمات";
$SelectSessionToImportUsersTo = "اختيار الموسم الذي تود استيراد المستخدمين فيه";
$VisioUseRtmptTitle = "RTMPT استخدام بروتوكول";
$VisioUseRtmptComment = "RTMPT يسمح هذا البروتوكول
$VisioUseRtmptComment = "RTMPT يسمح هذا البروتوكول
بالوصول الى خاصية مؤتمر الفيديو خلف الجدار الناري، من خلال اعادة توجيه الاتصالات عبر المنفذ 80، الا ان ذلك سوف يبطئ تدفق البث ولذا ينصح بتجنبه ما لم يكن ذلك مطلوب";
$UploadNewStylesheet = "ملف ورقة تصميم جديدة";
$NameStylesheet = "اسم الورقة التصميمية";
@ -2557,7 +2557,7 @@ $NoItemsInLp = "في هذه اللحظة لا يوجد أية عناصر في ا
$FirstPosition = "الوضعية الأولى";
$NewQuiz = "اختبار جديد";
$CreateTheForum = "قم بإضافة المنتدى";
$AddLpIntro = "مرحبا في اداة تصميم المقررات
$AddLpIntro = "مرحبا في اداة تصميم المقررات
نمكنك من انشاء مقررات خطوة بخطوة، مع جدول محتويات يظهر في الجانب الايسر";
$AddLpToStart = "للبدء ، قم بإعطاء عنوانا لمسارك التعليمي";
$CreateTheLink = "قم باستيراد رابط";
@ -2594,10 +2594,10 @@ $OogieUnknownError = "فشلت عملية التحويل لسبب غير معر
$OogieBadExtension = ".ppt or .odp يرجى رفع العروض التقديمية فقط، اذ يجب ان يكون امتداد الملف";
$WoogieBadExtension = ".doc, .docx or .odt يرجى رفع المستندات النصية فقط، اذ يجب ان يكون امتداد الملف";
$ShowAudioRecorder = "اظهار مسجل الصوت";
$SearchFeatureSearchExplanation = "من اجل البحث في قاعدة بيانات المقرر، يرجى استخدام التركيبة التالية
term tag:tag_name -exclude +include \"exact phrase\"
فمثلا
car tag:truck -ferrari +ford \"high consumption\".
$SearchFeatureSearchExplanation = "من اجل البحث في قاعدة بيانات المقرر، يرجى استخدام التركيبة التالية
term tag:tag_name -exclude +include \"exact phrase\"
فمثلا
car tag:truck -ferrari +ford \"high consumption\".
هذه سوف تعرض كافة النتائج لمفردة السيارة الموسومة بمفردة \"مركبة\" مع استبعاد كلمة فيراري لكن تضمين مفردة فورد والجملة بين علامات الاقتباس \"الاستهلاك العالي\" معا";
$ViewLearningPath = "عرض المقرر";
$SearchFeatureDocumentTagsIfIndexing = "اضافة الوسوم الى المستند، عند الفهرسة";
@ -3840,7 +3840,7 @@ $SaveEditPresence = "حفظ التغييرات في ورقة الحضور";
$Training = "المقرر";
$Present = "الحضور";
$Numero = "ت";
$PresentAbsent = "0 = غائب
$PresentAbsent = "0 = غائب
1 = حاضر";
$ExampleXLSFile = "مثال ملف اكسل";
$NoResultsInPresenceSheet = "لا يوجد حضور مسجل";
@ -3902,7 +3902,7 @@ $NewMessageInForum = "نشر رسالة جديدة في المنتدى";
$FolderCreated = "تم إنشاء مجلد جديد";
$AgendaAdded = "اضافة حدث";
$ShouldBeCSVFormat = "الملف يجب أن يكون بتنسيق CSV . لا تدخل مسافات. البنية يجب أن تكون مضبوطة";
$Enter2passToChange = "ادخل كلمة المرور مرتين لتغييرها. أو اترك الحقول فارغة";
$TypeCurrentPassword = "ادخل كلمة المرور مرتين لتغييرها. أو اترك الحقول فارغة";
$AuthInfo = "التحقق";
$ImageWrong = "يجب أن يكون حجم الملف أقل من";
$NewPass = "كلمة المرور";
@ -4013,7 +4013,7 @@ $UserInSession = "تم اضافة المستخدم الى الموسم";
$UserNotAdded = "لم يتم اضافة المستخدم";
$NoSessionId = "لم يتم تحديد الموسم";
$NoUsersRead = "XML/CVS يرجى التحقق من ملف";
$UserImportFileMessage = "في حالة عدم وجود رمز الدخول، فان الاسم الاول والاسم الاخير سوف يندمجان من اجل انشاء رمز دخول مثل
$UserImportFileMessage = "في حالة عدم وجود رمز الدخول، فان الاسم الاول والاسم الاخير سوف يندمجان من اجل انشاء رمز دخول مثل
ulio Montoya into jmontoya";
$UserAlreadyRegisteredByOtherCreator = "تم تسجيل المستخدم مسبقا من قبل معلم اخر";
$NewUserInTheCourse = "مستخدم جديد في المقرر";
@ -5324,23 +5324,23 @@ $MoveElement = "أنقل العنصر";
$ShowGlossaryInExtraToolsTitle = "اعرض مفردات المصطلحات في أدوات إضافية";
$ShowGlossaryInExtraToolsComment = "من هنا يمكنك معرفة طريقة إضافة المصطلح في أدوات إضافية كمسار تعلم و أداة تمرين";
$HSurvey = "مساعدة الاستبيان";
$SurveyContent = "من المهم جدا الحصول على معلومات ارتجاعية حول المقررات الدراسية وهنا ياتي دور اداة الاستبيان
انشاء استبيان جديد
انقر على رابط انشاء استبيان جديد وقم بملأ رمز الاستبيان وعنوان الاستبيان، ومن خلال التقويم يمكن تحديد مدة الاستبيان، اذ ينصح بتحديد مدة الاستبيان لبضعة ايام في نهاية المقرر الدراسي، ومن المناسب ان يتم اضافة مقدمة للاستبيان وتقديم الشكر للمستخدمين الذين يكملون الاستبيان
اضافة اسئلة الى الاستبيان
عند الاكتمال من محتويات الاستبيان فان عليك وضع الاسئلة، اذ تتضمن اداة الاستبيان عدة انواع من الاسئلة: مفتوحة، مغلقة، نسبية، اجابات متعددة... وتوجد في هذه الاداة كافة ما تحتاجه للحصول على المعلومات الارتجاعية
معاينة الاستبيان
عندما تكتمل من وضع اسئلة الاستبيان فانك ستود في مشاهدة كيف سيبدو الاستبيان للطلبة، ولذا يمكنك النقر على ايقونة المعاينة
نشر الاستبيان
عندما يعجبك الاستبيان عند المعاينة وعدم وجود حاجة للتعديل، فانه يمكنك النقر على ايقونة نشر الاستبيان من اجل ارسال الاستبيان الى المستخدمين المستهدفين، ويمكنك ترتيب المجاميع من خلال ايقونة المستلمين، ثم بعد ذلك قم بملأ موضوع البريد ومحتواه، اذ سيتم اخطار المستجيبين حول وجود الاستبيان لذا يجب صياغة البريد باهتمام لكونه يلعب دور هام في تحفيز المستخدمين للاجابة عن الاستبيان
تقارير الاستبيان
ستساعدك اداة تقرير الاستبيان في تحليل النتائج وتوزيعها وفقا للسؤال والمستخدم...الخ
ادارة الاستبيانات
$SurveyContent = "من المهم جدا الحصول على معلومات ارتجاعية حول المقررات الدراسية وهنا ياتي دور اداة الاستبيان
انشاء استبيان جديد
انقر على رابط انشاء استبيان جديد وقم بملأ رمز الاستبيان وعنوان الاستبيان، ومن خلال التقويم يمكن تحديد مدة الاستبيان، اذ ينصح بتحديد مدة الاستبيان لبضعة ايام في نهاية المقرر الدراسي، ومن المناسب ان يتم اضافة مقدمة للاستبيان وتقديم الشكر للمستخدمين الذين يكملون الاستبيان
اضافة اسئلة الى الاستبيان
عند الاكتمال من محتويات الاستبيان فان عليك وضع الاسئلة، اذ تتضمن اداة الاستبيان عدة انواع من الاسئلة: مفتوحة، مغلقة، نسبية، اجابات متعددة... وتوجد في هذه الاداة كافة ما تحتاجه للحصول على المعلومات الارتجاعية
معاينة الاستبيان
عندما تكتمل من وضع اسئلة الاستبيان فانك ستود في مشاهدة كيف سيبدو الاستبيان للطلبة، ولذا يمكنك النقر على ايقونة المعاينة
نشر الاستبيان
عندما يعجبك الاستبيان عند المعاينة وعدم وجود حاجة للتعديل، فانه يمكنك النقر على ايقونة نشر الاستبيان من اجل ارسال الاستبيان الى المستخدمين المستهدفين، ويمكنك ترتيب المجاميع من خلال ايقونة المستلمين، ثم بعد ذلك قم بملأ موضوع البريد ومحتواه، اذ سيتم اخطار المستجيبين حول وجود الاستبيان لذا يجب صياغة البريد باهتمام لكونه يلعب دور هام في تحفيز المستخدمين للاجابة عن الاستبيان
تقارير الاستبيان
ستساعدك اداة تقرير الاستبيان في تحليل النتائج وتوزيعها وفقا للسؤال والمستخدم...الخ
ادارة الاستبيانات
تساعدك ادارة الاستبيانات في التعديل والحذف فضلا عن المعاينة ومتابعة الاستجابات";
$HBlogs = "مساعدة المشروع";
$BlogsContent = "تساعدك اداة المشروع في تسهيل العمل التعاوني لمشروع العمل
اذ يمكن استخدام هذه الاداة في تخصيص الافراد المسؤولين عن متابعة تقارير الانشطة اليومية او الاسبوعية
فضلا عن اداة ادارة المهام التي تمكنك من تخصيص المهام الى الافراد المعنيين مثل انشاء تقرير تقييم معايير السلامة في العمل
$BlogsContent = "تساعدك اداة المشروع في تسهيل العمل التعاوني لمشروع العمل
اذ يمكن استخدام هذه الاداة في تخصيص الافراد المسؤولين عن متابعة تقارير الانشطة اليومية او الاسبوعية
فضلا عن اداة ادارة المهام التي تمكنك من تخصيص المهام الى الافراد المعنيين مثل انشاء تقرير تقييم معايير السلامة في العمل
تسمى كل فقرة في هذه الاداة بالمقالة، ولانشاء مقالة فيجب عليك اتباع الرابط في القائمة، ولغرض التحرير او اضافة تعليق فانه عليك النقر على عنوان المقال";
$FirstSlide = "الشريحة الاولى";
$LastSlide = "الشريحة الاخيرة";
@ -5514,14 +5514,14 @@ $StartToType = "ابدأ الكتابة ثم انقر على هذا الشريط
$InstallChamilo = "تنصيب كاميلو";
$ChamiloURL = "رابط كاميلو";
$YouDoNotHaveAnySessionInItsHistory = "لا بوجد محاضرات في سجل محاضراتك";
$PortalHomepageDefaultIntroduction = "تهانينا! لقد نجحت بتنصيب نظام التعليم الالكتروني
يمكنك الان اكمال التنصيب من خلال اتباع الخطوات الثلاثة البسيطة التالية
1. تهيئة النظام من خلال الذهاب الى قسم الادارة واختيار النظام
2. احياء النظام من خلال انشاء مستخدمين ومقررات، اذ يمكنك ذلك من خلال دعوة الافراد الى انشاء حساباتهم او ان تقوم انت بانشاء الحسابات لهم من خلال قسم المستخدمين في الادارة، كذلك انشاء المقررات من خلال قسم المقررات في الادارة
3. تحرير هذه الصفحة من خلال الذهاب الى تحرير الصفحة الرئيسية للنظام في القسم الاداري
يمكنك دائما الحصول على معلومات اكثر حول النظام في الموقع الرسمي
http://www.chamilo.org
استمتع بوقتك ولا تتردد في الانضمام الى المجتمع وابداء الرأي من خلال المنتدى عبر الرابط التالي
$PortalHomepageDefaultIntroduction = "تهانينا! لقد نجحت بتنصيب نظام التعليم الالكتروني
يمكنك الان اكمال التنصيب من خلال اتباع الخطوات الثلاثة البسيطة التالية
1. تهيئة النظام من خلال الذهاب الى قسم الادارة واختيار النظام
2. احياء النظام من خلال انشاء مستخدمين ومقررات، اذ يمكنك ذلك من خلال دعوة الافراد الى انشاء حساباتهم او ان تقوم انت بانشاء الحسابات لهم من خلال قسم المستخدمين في الادارة، كذلك انشاء المقررات من خلال قسم المقررات في الادارة
3. تحرير هذه الصفحة من خلال الذهاب الى تحرير الصفحة الرئيسية للنظام في القسم الاداري
يمكنك دائما الحصول على معلومات اكثر حول النظام في الموقع الرسمي
http://www.chamilo.org
استمتع بوقتك ولا تتردد في الانضمام الى المجتمع وابداء الرأي من خلال المنتدى عبر الرابط التالي
http://www.chamilo.org/forum";
$WithTheFollowingSettings = "مع الاعدادات التالية";
$ThePageHasBeenExportedToDocArea = "تم تصدير الصفحة الى اداة المستند";
@ -5903,13 +5903,13 @@ $SearchProfileMatches = "تطابقات البحث عن الحساب الشخص
$IsThisWhatYouWereLookingFor = "هل هذا ما تبحث عنه؟";
$WhatSkillsAreYouLookingFor = "ما هي المهارات التي تبحث عنها؟";
$ProfileSearch = "البحث عن الحساب الشخصي";
$CourseSettingsRegisterDirectLink = "اذا كان مقررك عام او مفتوح، فبامكانك استخدام الرابط المباشر التالي لارسال دعوة للمستخدمين الجدد، اذ بعد ان يقوموا بالتسجيل فانهم سوف يتم ارسالهم بشكل مباشر الى المقرر
Also, you can add the e=1 parameter to the URL, replacing \"1\" by an exercise ID to send them directly to a specific exam. The exercise ID can be discovered in the URL when clicking on an exercise to open it.
$CourseSettingsRegisterDirectLink = "اذا كان مقررك عام او مفتوح، فبامكانك استخدام الرابط المباشر التالي لارسال دعوة للمستخدمين الجدد، اذ بعد ان يقوموا بالتسجيل فانهم سوف يتم ارسالهم بشكل مباشر الى المقرر
Also, you can add the e=1 parameter to the URL, replacing \"1\" by an exercise ID to send them directly to a specific exam. The exercise ID can be discovered in the URL when clicking on an exercise to open it.
%s";
$DirectLink = "الرابط المباشر";
$here = "هنا";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "تفضل بتصفح دليل المقررات %s لغرض التسجيل في اي مقرر يعجبك، وعند التسجيل سوف تشاهد المقرر %s, بدلا من هذه الرسالة";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "السلام علبكم اخي الكريم
$HelloXAsYouCanSeeYourCourseListIsEmpty = "السلام علبكم اخي الكريم
لا يوجد دورات في قائمتك وذلك تعدم تسجيلك في اي منها";
$UnsubscribeUsersAlreadyAddedInCourse = "ازالة تسجيل المستخدمين الذين تم اضافتهم بشكل مسبق";
$ImportUsers = "استيراد المستخدمين";
@ -5991,12 +5991,12 @@ $ContactInformationHasBeenSent = "تم ارسال معلومات الاتصال"
$EditExtraFieldOptions = "تحرير خيارات الحقل الاضافي";
$ExerciseDescriptionLabel = "الوصف";
$UserInactivedSinceX = "المستخدم غير نشط منذ %s";
$ContactInformationDescription = "عزيزي المستخدم
\n
انت على وشك البدأ باستخدام احد افضل منصات التعليم الالكترونية المفتوحة المصدر في السوق، ومثل الكثير من المشاريع المفتوحة المصدر، فان المشروع مدعوم من قبل مجتمع كبير من الطلبة والمدرسين والمطورين ومطوري المحتوى الذين يسعوون للترويج عن المشروع
\n
\n من خلال ملئك لهذه الاستمارة فانك توافق على ان جمعية كاميلو او احد اعضاءها قد يرسل لك المعلومات عبر البريد حول الاحداث المهمة والتحديثات الخاصة بالنظام والمجتمع. وهذا ما سيساعد المجتمع من النمو كوحدة منظمة تجري فيها المعلومات مع الحفاظ على وقتك وخصوصيتك
\n
$ContactInformationDescription = "عزيزي المستخدم
\n
انت على وشك البدأ باستخدام احد افضل منصات التعليم الالكترونية المفتوحة المصدر في السوق، ومثل الكثير من المشاريع المفتوحة المصدر، فان المشروع مدعوم من قبل مجتمع كبير من الطلبة والمدرسين والمطورين ومطوري المحتوى الذين يسعوون للترويج عن المشروع
\n
\n من خلال ملئك لهذه الاستمارة فانك توافق على ان جمعية كاميلو او احد اعضاءها قد يرسل لك المعلومات عبر البريد حول الاحداث المهمة والتحديثات الخاصة بالنظام والمجتمع. وهذا ما سيساعد المجتمع من النمو كوحدة منظمة تجري فيها المعلومات مع الحفاظ على وقتك وخصوصيتك
\n
\n يرجى ملاحظة بانك غير ملزم بملأ هذه الاستمارة في حالة كونك تفضل ان تبقى مجهولا، الا اننا سنفقد الفرصة في منحك مزايا التسجيل كمدير للنظام، الا اننا سنحترم رأيك، ولذا يمكنك ترك هذه الاستمارة فارغة";
$CompanyActivity = "نشاطات منظمتك";
$PleaseAllowUsALittleTimeToSubscribeYouToOneOfOurCourses = "يرجى منحنا بعض الوقت لغرض تسجيلك في احدى المقررات، اذا كنت تعتقد باننا قد نسيناك، فيرجى الاتصال بمدير النظام، والذي توجد معلومات الاتصال به عادة في اسفل الصفحة";
@ -6133,7 +6133,7 @@ $CourseRequestAcceptedEmailText = "ان طلبك لانشاء المقرر %s ق
$CourseRequestRejectedEmailSubject = "%s ان طلب انشاء المقرر %s قد تم رفضه";
$CourseRequestRejectedEmailText = "نأسف لاعلامك بان طلبك لانشاء المقرر %s قد تم رفضه بسبب عدم تلبيته لمتطلبات الشروط والاحكام";
$CourseValidationTermsAndConditionsLink = "التحقق من المقرر - رابط للشروط والاحكام";
$CourseValidationTermsAndConditionsLinkComment = "هذا الرابط لمستند \"الشروط والاحكام\" الذي يستخدم عند طلب انشاء مقرر، اذ انه عند وضع العنوان فان المستخدم سوف يقرأ ويوافق على الشروط والاحكام قبل ارسال طلب انشاء المقرر
$CourseValidationTermsAndConditionsLinkComment = "هذا الرابط لمستند \"الشروط والاحكام\" الذي يستخدم عند طلب انشاء مقرر، اذ انه عند وضع العنوان فان المستخدم سوف يقرأ ويوافق على الشروط والاحكام قبل ارسال طلب انشاء المقرر
في حالة اذا قمت بتفعيل شروط واحكام استخدام نظام كاميلو وتريد استخدامها هنا فيجب عليك ترك هذا الحقل فارغا";
$CourseCreationFailed = "لم يتم انشاء المقرر بسبب وجود خطأ داخلي";
$CourseRequestCreationFailed = "لم يتم انشاء الطلب الخاص بانشاء المقرر بسبب حدوث خطأ داخلي";
@ -6154,15 +6154,15 @@ $SSOServerUnAuthURIComment = "عنوان صفحة الخادم الذي يقوم
$SSOServerProtocolTitle = "تسجيل الخروج المنفرد في بروتوكول الخادم";
$SSOServerProtocolComment = "https:// البروتوكول الخاص بعنوان خادم تسجيل الدخول المنفرد والذي يفضل ان يكون";
$EnabledWirisTitle = "WIRIS محرر المعادلات الرياضية";
$EnabledWirisComment = "تفعيل محرر الرموز الرياضية من خلال تنصيب المكون الاضافي
PHP plugin for CKeditor WIRIS ملاحظة: لا يمكن ان يتم التفعيل ما لم تقم بتنصيب المكون الاضافي
$EnabledWirisComment = "تفعيل محرر الرموز الرياضية من خلال تنصيب المكون الاضافي
PHP plugin for CKeditor WIRIS ملاحظة: لا يمكن ان يتم التفعيل ما لم تقم بتنصيب المكون الاضافي
main/inc/lib/javascript/ckeditor/plugins/. ومن ثم وضع محتويات الملف المضغوط في مسار النظام";
$FileSavedAs = "الملف حفظ باسم";
$FileExportAs = "تصدير الملف كـ";
$AllowSpellCheckTitle = "التحقق من الاخطاء الاملائية";
$AllowSpellCheckComment = "تفعيل التحقق من الاخطاء الاملائية";
$EnabledSVGTitle = "SVG انشاء وتعديل ملفات";
$EnabledSVGComment = "SVG هذا الخيار يتيح لك تعديل ملفات
$EnabledSVGComment = "SVG هذا الخيار يتيح لك تعديل ملفات
png والتي هي احد انواع صيغ صور فيكتور، كذلك فانه سوف يتاح لك تصدير هذه الصورة الى صيغة";
$ForceWikiPasteAsPlainTextTitle = "الزام النسخ كنص بسيط في اداة الويكي";
$ForceWikiPasteAsPlainTextComment = "هذا سوف يمنع الكثير من الوسوم المخفية، من اجل تقليل الاخطاء في نصوص الويكي الا انه سوف يتم فقدان بعض المزايا اثناء التحرير";
@ -6181,7 +6181,7 @@ $AverageScore = "متوسط الدرجات";
$LastConnexionDate = "اخر تاريخ للاتصال";
$ToolVideoconference = "مؤتمرات الفيديو";
$BigBlueButtonEnableTitle = "BigBlueButton اداة مؤتمرات الفيديو";
$BigBlueButtonEnableComment = "BigBlueButton يتيح لك امكانية تفعيل اداة مؤتمرات الفيديو
$BigBlueButtonEnableComment = "BigBlueButton يتيح لك امكانية تفعيل اداة مؤتمرات الفيديو
وعند تفعيلها فانه سوف تظهر اداة جديدة ضمن ادوات المقرر والتي تمكن المدرس من تشغيل مؤتمر فيديو في اي وقت، الا انه لا يسمح للطلبة من تشغيل هذه الاداة وانما يمكنهم الانضمام فقط. كذلك لغرض استخدام هذه الاداة فان يجب ان يتوفر لديك خادم لاداة مؤتمر الفيديو، وبالرغم من الاداة مجانية الا ان تنصيبها يتطلب مجموعة من المهارات التقنية ولذا يمكنك الرجوع الى اجد مقدمي خدمة كاميلو الرسميين لغرض مساعدتك في ذلك";
$BigBlueButtonHostTitle = "BigBlueButton خادم استضافة اداة مؤتمر الفيديو";
$BigBlueButtonHostComment = "هذا هو اسم الخادم لاداة مؤتمر الفيديو، والذي قد يكون استضافة محلية او عنوان الآي بي او اسم نطاق";
@ -6192,7 +6192,7 @@ $OnlyAccessFromYourGroup = "يمكن الوصول من خلال المجموعة
$CreateAssignmentPage = "هذا سوف يؤدي ال انشاء صفحة ويكي خاصة والتي يمكن من خلالها للمدرس ان يحدد مهمة للطلبة ومن ثم يتم انشاء الصفحات بشكل تلقائي، والتي يمكن فيها للطلبة ان يحرروا ويعرضوا الصفحات، ويمكن تغيير هذه الصلاحيات عند حاجتك الى ذلك";
$UserFolders = "مجلدات المستخدمين";
$UserFolder = "مجلد المستخدم";
$HelpUsersFolder = "هذه المعلومات مرئية للمدرس فقط:\n يتضمن مجلد المستخدمين مجلد لكل مستخدم قام بالدخول اليه من خلال اداة المستند او اي ملف تم ارساله الى المقرر من خلال محرر النصوص
$HelpUsersFolder = "هذه المعلومات مرئية للمدرس فقط:\n يتضمن مجلد المستخدمين مجلد لكل مستخدم قام بالدخول اليه من خلال اداة المستند او اي ملف تم ارساله الى المقرر من خلال محرر النصوص
ويوجد تفاصيل اخرى لهذا المجلد";
$HelpFolderChat = "هذه المعلومات تظهر للمدرس فقط :\n هذا المجلد يتضمن كافة المواسم التي فتحت في الدردشة، ويفضل ان تجعل الملف مرئيا للجميع";
$HelpFolderCertificates = "هذه المعلومات تظهر للمدرس فقط:\n هذا المجلد يتضمن مختلف النماذج للشهادات التي تم انشاءها لاداة التقييم، ولا ينصح بجعل هذه الاداة مرئية للجميع";
@ -6595,7 +6595,7 @@ $ExtensionSessionsNotAvailable = "اضافات الموسم غير متوفرة"
$ExtensionZlibNotAvailable = "Zlib لا تتوفر اضافة";
$ExtensionPCRENotAvailable = "PCRE لا تتوفر اضافة";
$ToGroup = "الذهاب الى المجموعة الاجتماعية";
$XWroteY = "%s مكتوب:
$XWroteY = "%s مكتوب:
%s";
$BackToGroup = "العودة الى المجموعة";
$GoAttendance = "الذهاب الى الحضور";
@ -6676,7 +6676,7 @@ $ArchiveDirCleanup = "تنظيف ذاكرة التخزين المؤقت والم
$ArchiveDirCleanupDescr = "يحتفظ نظام كاميلو بنسخة من جميع الملفات المؤقتة التي يولدها في مسار الذاكرة المؤقتة. ومع مرور الوقت سوف تتجمع كمية كبيرة من الملفات التي لا طائل منها، انقر الزر ادناه لتنظيف هذه الذاكرة المؤقتة، وينصح باجراء هذا التنظيف بصورة دورية";
$ArchiveDirCleanupProceedButton = "الاستمرار بعملية التنظيف";
$ArchiveDirCleanupSucceeded = "app/cache/ ان التنظيف بنجاح لمسار";
$ArchiveDirCleanupFailed = "chamilo/app/cache/ لسبب ما فان عملية التنظيم لم تتم، يرجى القيام بهذه العملية يدويا من خلال حذف الملفات في المسار
$ArchiveDirCleanupFailed = "chamilo/app/cache/ لسبب ما فان عملية التنظيم لم تتم، يرجى القيام بهذه العملية يدويا من خلال حذف الملفات في المسار
.htaccess file. On Linux: # find app/cache/ \( -type f -or -type l \) -not -name .htaccess -exec echo rm -v \{} \; فيما عدا ملف";
$EnableStartTime = "تفعيل وقت البدأ";
$EnableEndTime = "تفعيل وقت الانتهاء";
@ -6951,7 +6951,7 @@ $ReplaceGlossary = "استبدل المصطلح";
$CannotDeleteGlossary = "لايمكن حذف المصطلح";
$TermsImported = "تم استيراد المفردات";
$TermsNotImported = "لم يتم استيراد المفردات";
$ExportGlossaryAsCSV = "صدِّر المصطلحات كملف
$ExportGlossaryAsCSV = "صدِّر المصطلحات كملف
CSV";
$SelectAnAction = "اختر اجراء";
$LoginX = "تسجيل الدخول: %s";
@ -7023,68 +7023,68 @@ $ResourceLockedByGradebook = "هذا الخيار غير متوفر بسبب ا
$GradebookLockedAlert = "تم قفل التقييم، اذا اردت الغاء القفل فعليك الاتصال بمدير النظام موضحا سبب الغاء القفل";
$GradebookEnableLockingTitle = "تفعيل قفل التقييمات من قبل المدرسين";
$GradebookEnableLockingComment = "ان تفعيل ذلك سوف يؤدي الى قفل كافة التقييمات من قبل المدرس، وهذا سوف يمنع اي محاولة لتغيير النتائج من قبل المدرس، والشخص الوحيد المخول بالغاء القفل هو مدير النظام، كما ان القفل والغاء القفل سوف يذكر في تقرير الاحداث الهامة في للنظام";
$LdapDescriptionComment = "LDAP authentication :
See I. below to configure LDAP
See II. below to activate LDAP authentication
Update user attributes, with LDAP data, after CAS authentication(see CAS configuration ) :
See I. below to configure LDAP
CAS manage user authentication, LDAP activation isn't required.
I. LDAP configuration
Edit file app/config/auth.conf.php
-> Edit values of array \$extldap_config
base domain string (ex : 'base_dn' => 'DC=cblue,DC=be')
admin distinguished name (ex : 'admin_dn' =>'CN=admin,dc=cblue,dc=be')
admin password (ex : 'admin_password' => '123456')
ldap host (ex : 'host' => array('1.2.3.4', '2.3.4.5', '3.4.5.6'))
filter (ex : 'filter' => '')
port (ex : 'port' => 389)
protocol version (2 or 3) (ex : 'protocol_version' => 3)
user_search (ex : 'user_search' => 'sAMAccountName=%username%')
encoding (ex : 'encoding' => 'UTF-8')
update_userinfo (ex : 'update_userinfo' => true)
-> To update correspondences between user and LDAP attributes, edit array \$extldap_user_correspondance
Array values are <chamilo_field> => >ldap_field>
II. Activate LDAP authentication
Edit file app/config/configuration.php
-> Uncomment lines:
\$extAuthSource['extldap']['login'] = \$_configuration['root_sys'].'main/auth/external_login/login.ldap.php';
\$extAuthSource['extldap']['newUser'] = \$_configuration['root_sys'].'main/auth/external_login/newUser.ldap.php';
N.B.: LDAP users use same fields than platform users to login.
$LdapDescriptionComment = "LDAP authentication :
See I. below to configure LDAP
See II. below to activate LDAP authentication
Update user attributes, with LDAP data, after CAS authentication(see CAS configuration ) :
See I. below to configure LDAP
CAS manage user authentication, LDAP activation isn't required.
I. LDAP configuration
Edit file app/config/auth.conf.php
-> Edit values of array \$extldap_config
base domain string (ex : 'base_dn' => 'DC=cblue,DC=be')
admin distinguished name (ex : 'admin_dn' =>'CN=admin,dc=cblue,dc=be')
admin password (ex : 'admin_password' => '123456')
ldap host (ex : 'host' => array('1.2.3.4', '2.3.4.5', '3.4.5.6'))
filter (ex : 'filter' => '')
port (ex : 'port' => 389)
protocol version (2 or 3) (ex : 'protocol_version' => 3)
user_search (ex : 'user_search' => 'sAMAccountName=%username%')
encoding (ex : 'encoding' => 'UTF-8')
update_userinfo (ex : 'update_userinfo' => true)
-> To update correspondences between user and LDAP attributes, edit array \$extldap_user_correspondance
Array values are <chamilo_field> => >ldap_field>
II. Activate LDAP authentication
Edit file app/config/configuration.php
-> Uncomment lines:
\$extAuthSource['extldap']['login'] = \$_configuration['root_sys'].'main/auth/external_login/login.ldap.php';
\$extAuthSource['extldap']['newUser'] = \$_configuration['root_sys'].'main/auth/external_login/newUser.ldap.php';
N.B.: LDAP users use same fields than platform users to login.
N.B.: LDAP activation adds a menu External authentication [LDAP] in \"add or modify\" user pages.";
$ShibbolethMainActivateTitle = "Shibboleth توثيق";
$ShibbolethMainActivateComment = "First of all, you have to configure Shibboleth for your web server.
To configure it for Chamilo
edit file main/auth/shibboleth/config/aai.class.php
Modify object \$result values with the name of your Shibboleth attributes
\$result->unique_id = 'mail';
\$result->firstname = 'cn';
\$result->lastname = 'uid';
\$result->email = 'mail';
\$result->language = '-';
\$result->gender = '-';
\$result->address = '-';
\$result->staff_category = '-';
\$result->home_organization_type = '-';
\$result->home_organization = '-';
\$result->affiliation = '-';
\$result->persistent_id = '-';
...
$ShibbolethMainActivateComment = "First of all, you have to configure Shibboleth for your web server.
To configure it for Chamilo
edit file main/auth/shibboleth/config/aai.class.php
Modify object \$result values with the name of your Shibboleth attributes
\$result->unique_id = 'mail';
\$result->firstname = 'cn';
\$result->lastname = 'uid';
\$result->email = 'mail';
\$result->language = '-';
\$result->gender = '-';
\$result->address = '-';
\$result->staff_category = '-';
\$result->home_organization_type = '-';
\$result->home_organization = '-';
\$result->affiliation = '-';
\$result->persistent_id = '-';
...
Go to Plugin to add a configurable 'Shibboleth Login' button for your Chamilo campus.";
$LdapDescriptionTitle = "LDAP توثيق";
$FacebookMainActivateTitle = "توثيق الفيسبوك";
$FacebookMainActivateComment = "Create your Facebook Application
First of all, you have to create a Facebook Application (see https://developers.facebook.com/apps) with your Facebook account. In the Facebook Apps settings, the site URL value should be the URL of this campus. Enable the Web OAuth Login option. And add the site URL of your campus to the Valid OAuth redirect URIs field
Uncomment the line \$_configuration['facebook_auth'] = 1; to enable the Facebook Auth.
Then, edit the app/config/auth.conf.php file and enter 'appId' and 'secret' values for \$facebook_config.
$FacebookMainActivateComment = "Create your Facebook Application
First of all, you have to create a Facebook Application (see https://developers.facebook.com/apps) with your Facebook account. In the Facebook Apps settings, the site URL value should be the URL of this campus. Enable the Web OAuth Login option. And add the site URL of your campus to the Valid OAuth redirect URIs field
Uncomment the line \$_configuration['facebook_auth'] = 1; to enable the Facebook Auth.
Then, edit the app/config/auth.conf.php file and enter 'appId' and 'secret' values for \$facebook_config.
Go to Plugins to add a configurable Facebook Login button for your Chamilo campus.";
$AnnouncementForGroup = "تبليغ للمجموعة";
$AllGroups = "كافة المجاميع";
@ -7350,7 +7350,7 @@ $SessionDaysBeforeCoachAccessComment = "عدد الايام الافتراضية
$SessionDaysAfterCoachAccessTitle = "عدد الايام الافتراضية لدخول المعلم بعد نهاية الموسم";
$SessionDaysAfterCoachAccessComment = "عدد الايام الافتراضية التي يمكن فيها للمعلم من دخول الموسم بعد تاريخ الانتهاء الرسمي للموسم";
$PdfLogoHeaderTitle = "الشعار في رأس الصفحة في ملفات بي دي اف";
$PdfLogoHeaderComment = "يتيح فيما اذا يمكن استخدام الشعار في راس الصفحة لملفات البي دي اف التي يتم تصديرها، بدلا من الشعار الاعتيادي للنظام، ملاحظة مسار الصورة هو
$PdfLogoHeaderComment = "يتيح فيما اذا يمكن استخدام الشعار في راس الصفحة لملفات البي دي اف التي يتم تصديرها، بدلا من الشعار الاعتيادي للنظام، ملاحظة مسار الصورة هو
css/themes/[your-css]/images/pdf_logo_header.png";
$OrderUserListByOfficialCodeTitle = "ترتيب المستخدمين وفقا للرمز الرسمي";
$OrderUserListByOfficialCodeComment = "استخدم الرمز الرسمي في توزيع اغلب قوائم الطلبة في النظام بدلا من الاسم الاول والاخير";
@ -7397,10 +7397,10 @@ $SoapRegistrationDecodeUtf8Comment = "ازالة هذا الترميز من ات
$AttendanceDeletionEnableTitle = "الحضور: تمكين الحذف";
$AttendanceDeletionEnableComment = "السلوك الافتراضي في النظام هو اخفاء اوراق الحضور بدلا من حذفها، وذلك لتجنب الحذف عن طريق الخطأ";
$GravatarPicturesTitle = "الصور المستعارة للمستخدم";
$GravatarPicturesComment = "قم بتفعيل هذا الخيار من اجل توليد صور مستعارة للمستخدمين الذين لم يختاروا صورة شخصية لهم. وهذا الخاصية مفيدة لملأ الموقع بالصور، ويمكن تخصيص الصور المستعارة بسهولة بالاستناد الى بريد المستخدم. للمزيد من المعلومات يمكنك زيارة الموقع
$GravatarPicturesComment = "قم بتفعيل هذا الخيار من اجل توليد صور مستعارة للمستخدمين الذين لم يختاروا صورة شخصية لهم. وهذا الخاصية مفيدة لملأ الموقع بالصور، ويمكن تخصيص الصور المستعارة بسهولة بالاستناد الى بريد المستخدم. للمزيد من المعلومات يمكنك زيارة الموقع
http://en.gravatar.com";
$GravatarPicturesTypeTitle = "نوع الصورة المستعارة";
$GravatarPicturesTypeComment = "اذا تم تفعيل خاصية الصور المستعارة فان هذا الخيار يسمح باختيار صورة مستعارة للمستخدمين الذين لم يحددوا صورة شخصية لهم، للاطلاع على انواع الصور المستعارة، يمكنكم زيارة الموقع التالي
$GravatarPicturesTypeComment = "اذا تم تفعيل خاصية الصور المستعارة فان هذا الخيار يسمح باختيار صورة مستعارة للمستخدمين الذين لم يحددوا صورة شخصية لهم، للاطلاع على انواع الصور المستعارة، يمكنكم زيارة الموقع التالي
http://en.gravatar.com/site/implement/images#default-image";
$SessionAdminPermissionsLimitTitle = "تقييد صلاحيات مدراء الموسم";
$SessionAdminPermissionsLimitComment = "عند تفعيل هذا الخيار فان مدراء الموسم سوف يشاهدون قسم اضافة مستخدم وقسم المواسم مع خيارات قائمة المواسم";
@ -7513,8 +7513,8 @@ $AreYouSureToSubscribe = "هل انت متأكد من القيام بالتسج
$CheckYourEmailAndFollowInstructions = "تحقق من البريد واتبع الارشادات";
$LinkExpired = "انتهت صلاحية الرابط، يرجى المحاولة من جديد";
$ResetPasswordInstructions = "ارشادات تغيير رمز المرور";
$ResetPasswordCommentWithUrl = "لقد استلمت هذه الرسالة بسبب انك (او شخص ينتحل هويتك) قد طلبت اعادة تعيين رمز مرور جديد، لغرض اعداد رمز المرور الجديد فانه يجب عليك تفعيل ذلك من خلال النقر على الرابط التالي
%s
$ResetPasswordCommentWithUrl = "لقد استلمت هذه الرسالة بسبب انك (او شخص ينتحل هويتك) قد طلبت اعادة تعيين رمز مرور جديد، لغرض اعداد رمز المرور الجديد فانه يجب عليك تفعيل ذلك من خلال النقر على الرابط التالي
%s
اذا لم تكن قد طلبت اعادة تعيين رمز مرور جديد، فيجب عليك اهمال هذه الرسالة، واذا استلمت الرسالة بشكل متكرر، فعليك مراسلة مدير النظام";
$CronRemindCourseExpirationActivateTitle = "التذكير بجدولة انتهاء المقرر";
$CronRemindCourseExpirationActivateComment = "تفعيل التذكير بجدولة انتهاء المقرر";
@ -7523,10 +7523,10 @@ $CronRemindCourseExpirationFrequencyComment = "عدد الايام التي يت
$CronCourseFinishedActivateText = "جدولة انتهاء المقرر";
$CronCourseFinishedActivateComment = "تفعيل جدولة انتهاء المقرر";
$MailCronCourseFinishedSubject = "انتهاء المقرر %s";
$MailCronCourseFinishedBody = "عزيزي %s,
نشكر مشاركتك في مقرر %s. نأمل بانك قد اكتسبت معرفة جديدة واستمتعت في المقرر
يمكنك التحقق من ادائك في المقرر من خلال قسم التقدم
تحياتي,
$MailCronCourseFinishedBody = "عزيزي %s,
نشكر مشاركتك في مقرر %s. نأمل بانك قد اكتسبت معرفة جديدة واستمتعت في المقرر
يمكنك التحقق من ادائك في المقرر من خلال قسم التقدم
تحياتي,
%s فريق";
$GenerateDefaultContent = "توليد محتوى افتراضي";
$ThanksForYourSubscription = "شكرا لتسجيلك";
@ -7552,7 +7552,7 @@ $OnlyLettersAndNumbersAndSpaces = "فقط حروف وارقام وفراغات";
$FieldTypeLettersSpaces = "نص ذو حروف وفراغات";
$CronRemindCourseFinishedActivateTitle = "ارسال اشعار بانهاء المقرر";
$FieldTypeAlphanumericSpaces = "نص ذو حروف وارقام وفراغات";
$CronRemindCourseFinishedActivateComment = "فيما لو يتم ارسال بريد الى الطلبة عندما ينتهي المقرر (او الموسم). وهذا يتطلب تهيئة جدولة المهام، انظر مسار
$CronRemindCourseFinishedActivateComment = "فيما لو يتم ارسال بريد الى الطلبة عندما ينتهي المقرر (او الموسم). وهذا يتطلب تهيئة جدولة المهام، انظر مسار
main/cron/ directory";
$ThanksForRegisteringToSite = "شكرا لتسجيلك في %s.";
$AllowCoachFeedbackExercisesTitle = "السماح للمعلمين في التعليق عند مراجعة التمارين";
@ -7684,7 +7684,7 @@ $ThereAreUsersUsingThisLanguagesDisableItManually = "يوجد مستخدمين
$MessagingAllowSendPushNotificationTitle = "السماح بارسال اشعارات الى تطبيق كاميلو للمراسلة";
$MessagingAllowSendPushNotificationComment = "Google's Firebase Console ارسال اشعارات باستخدام خدمة";
$MessagingGDCProjectNumberTitle = "Firebase Console هوية المرسل للمراسلة السحابية في خدمة";
$MessagingGDCProjectNumberComment = "Google Firebase Console يجب عليك تسجيل مشروع في
$MessagingGDCProjectNumberComment = "Google Firebase Console يجب عليك تسجيل مشروع في
https://console.firebase.google.com/";
$MessagingGDCApiKeyTitle = "Firebase Console مفتاح الخادم للمراسلة السحابية لخدمة";
$MessagingGDCApiKeyComment = "project credentials مفتاح الخدمة من اعتمادات المشروع";
@ -7750,7 +7750,7 @@ $LegalAccepted = "تمت الموافقة القانونية";
$LoadTermConditionsSectionTitle = "تحميل قسم الاحكام والشروط";
$LoadTermConditionsSectionDescription = "الاتفاق القانوني سوف يعرض اثناء التسجيل او الدخول الى المقرر";
$SendTermsSubject = "الاحكام والشروط جاهزة لان يتم الموافقة عليها";
$SendTermsDescriptionToUrlX = "مرحبا
$SendTermsDescriptionToUrlX = "مرحبا
معلمك قد ارسل اليك الاحكام والشروط، يمكنك التوقيع عليها في الرابط التالي: %s";
$UserXSignedTheAgreement = "المستخدم %s قد وقعك على الاتفاق.";
$UserXSignedTheAgreementTheY = "المستخدم %s قد وقع على الاتفاق %s.";
@ -7836,8 +7836,8 @@ $ShowLinkTicketNotificationTitle = "عرض رابط انشاء البطاقة";
$ShowLinkTicketNotificationComment = "عرض رابط انشاء البطاقة الى المستخدمين في الجانب الايمن من النظام";
$LastSentWorkDate = "اخر تاريخ لارسال العمل";
$SSOSubclassTitle = "تسجيل الدخول المنفرد في الصف الفرعي";
$SSOSubclassComment = "Ticket %s created لغرض تفعيل تسجيل الدخول المنفرد، فعليك انشاء صف فرعي في
sso.Drupal.class.php بالاستناد الى الصف الافتراضي وقم بتسمية الصف الافتراضي فمثلا لو كان الملف
$SSOSubclassComment = "Ticket %s created لغرض تفعيل تسجيل الدخول المنفرد، فعليك انشاء صف فرعي في
sso.Drupal.class.php بالاستناد الى الصف الافتراضي وقم بتسمية الصف الافتراضي فمثلا لو كان الملف
Drupal ففي الحقل قم بوضع";
$CourseCreationSplashScreenTitle = "انشاء شاشة البداية للمقرر";
$CourseCreationSplashScreenComment = "شاشة البداية للمقرر تعرض مجموعة من الخيارات المقترحة الى المدرس عند انشاء مقرر جديد، قم بتعطيلها لجعل المدرس يصل بشكل مباشر الى الصفحة الرئيسية للمقرر";
@ -7848,19 +7848,19 @@ $CalendarStartDate = "تاريخ البداية";
$DownloadTasksPackage = "تحميل حزمة الواجبات";
$UploadCorrectionsPackage = "رفع حزمة التصحيحات";
$IconsModeSVGTitle = "SVG نمط الايقونات";
$IconsModeSVGComment = "PNG بدلا من صيغة SVG من خلال تفعيل هذا الخيار فان كافة الايقونات ستكون بهذه بصيغة
$IconsModeSVGComment = "PNG بدلا من صيغة SVG من خلال تفعيل هذا الخيار فان كافة الايقونات ستكون بهذه بصيغة
هذا الخيار سوف يعرض ايقونات يجودة فائقة ولكن قد تكون هنالك مشاكل في بعض الايقونات مع بعض المتصفحات التي لا تدعمها";
$FilterByTags = "تصفية وفقا للوسوم";
$ImportFromMoodle = "Moodle استيراد من الموودل";
$ImportFromMoodleInfo = "استيراد النسخة الاحتياطية من مقرر الموودل في مقرر كاميلو";
$ImportFromMoodleInstructions = "ان خاصية استيراد الموودل قد لا تدعم كافة انواع المحتوى من الموودل، وهي خاصية ما زالت في وضع التطوير، يرجى مراجعة الرابط
$ImportFromMoodleInstructions = "ان خاصية استيراد الموودل قد لا تدعم كافة انواع المحتوى من الموودل، وهي خاصية ما زالت في وضع التطوير، يرجى مراجعة الرابط
https://support.chamilo.org/projects/chamilo-18/wiki/Moodle_import for more information";
$MoodleFile = "Moodle ملف مقرر الموودل";
$FailedToImportThisIsNotAMoodleFile = ".mbz فشل الاستيراد: هذا الملف لا يبدو بصيغة ملف الاستعادة لمقرر موودل";
$ThisQuestionIsNotSupportedYet = "هذا النوع من السؤال غير مدعوم حتى الان";
$ProcessingImportPleaseDontCloseThisWindowThisActionMayTakeLongTimePlaseWait = "جاري معالجة الاستيراد... يرجى عدم غلق هذه النافذة. هذه العملية قد تستغرق بعض الوقت، يرجى التحلي بالصبر";
$Contact = "جهة الاتصال";
$WarningForDeprecatedDirectoriesForUpgrade = "lp and exercise قد تم اعادة تسميتها الى newscorm and exercice بسبب ان مسارات
$WarningForDeprecatedDirectoriesForUpgrade = "lp and exercise قد تم اعادة تسميتها الى newscorm and exercice بسبب ان مسارات
newscorm_old and exercice_old. ولذا فمن الضروري حذف او عادة التسمية لـ";
$ExtensionNotAvailable = "الاضافة غير متوفرة";
$EnableRecordAudioComment = "تفعيل مسجل الصوت في عدة مواقع داخل النظام";
@ -7916,7 +7916,7 @@ $TooManyRepetitions = "توجد تكرارات كثيرة جدا";
$YourPasswordContainsSequences = "يتضمن رمز المرور متتابعات";
$PasswordVeryWeak = "ضعيف جدا";
$UserXHasBeenAssignedToBoss = "تم تعيينك كمشرف للطالب %s";
$UserXHasBeenAssignedToBossWithUrlX = "لقد تم تعيينك كمعلم للطالب %s.
$UserXHasBeenAssignedToBossWithUrlX = "لقد تم تعيينك كمعلم للطالب %s.
يمكنك الولوج الى حسابه هنا: %s";
$ShortName = "الاسم المختصر";
$Portal = "النظام";
@ -8181,10 +8181,10 @@ $RedirectToTheDocumentList = "اعادة توجيه الى قائمة المست
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "ان خاصية التشغيل التلقائي للتمارين مفعلة، وبالتالي فان الطلبة سوف يتم اعادة توجيههم مباشرة الى قائمة التمارين";
$PostedExpirationDate = "الموعد النهائي المنشور لارسال العمل - مرئي للطالب";
$BossAlertMsgSentToUserXTitle = "رسالة تتبع حول الطالب %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "مرحبا
المستخدم %s قد ارسل رسالة تتبع حول الطالب %s.
$BossAlertUserXSentMessageToUserYWithLinkZ = "مرحبا
المستخدم %s قد ارسل رسالة تتبع حول الطالب %s.
يمكن مشاهدة الرسالة هنا %s";
$include_services = "تضمين الخدمات";
$culqi_enable = "culqi تفعيل";
@ -8226,11 +8226,11 @@ $ResultAccomplishedTest = "نتائج الاختبار المنجز";
$YourResultsByDiscipline = "نتائجك وفقا للمقرر";
$ForComparisonYourLastResultToThisTest = "كمقارنةـ فان نتائجك المؤخرة لهذا الاختبار";
$YourOverallResultForTheTest = "نتائجك الكلية لهذا الاختبار";
$QuestionDegreeCertaintyHTMLMail = "سوف تجد نتائجك للاختبار %s ادناه.
لمشاهدة تفاصيل هذه النتائج:
1. قم بتسجيل الدخول الى النظام %s
$QuestionDegreeCertaintyHTMLMail = "سوف تجد نتائجك للاختبار %s ادناه.
لمشاهدة تفاصيل هذه النتائج:
1. قم بتسجيل الدخول الى النظام %s
2. انقر على الرابط التالي %s";
$DegreeOfCertaintyVerySure = "متأكد جدا";
$DegreeOfCertaintyVerySureDescription = "اجابتك كانت صحيحة وكنت متأكد بنسبة 80% من ذلك. تهانينا";
@ -8292,9 +8292,9 @@ $SubSkill = "المهارة الفرعية";
$AddMultipleUsersToCalendar = "اضافة مستخدمين متعددين الى التقويم";
$UpdateCalendar = "تحديث التقويم";
$ControlPoint = "نقطة السيطرة";
$MessageQuestionCertainty = "يرجى تتبع الارشادات ادناه للتحقق من نتائجك في الاختبار %s.
1. الاتصال بالنظام عبر اسم المستخدم/رمز المرور في: %s
$MessageQuestionCertainty = "يرجى تتبع الارشادات ادناه للتحقق من نتائجك في الاختبار %s.
1. الاتصال بالنظام عبر اسم المستخدم/رمز المرور في: %s
2.النقر لى الرابط التالي: %s";
$SessionMinDuration = "الحد الادنى لمدة الموسم";
$CanNotTranslate = "لم يتمكن من الترجمة";
@ -8319,8 +8319,8 @@ $RemoveTerms = "ازالة الاتفاق القانوني";
$InformationRightToBeForgottenLinkX = "يمكنك العثور على معلومات اكثر حول ازالة معلومات المستخدم في هذه الصفحة: %s";
$ExplanationDeleteLegal = "يرجى اخبارنا بسبب سحب الصلاحيات التي قد منحتنا اياها مسبقا";
$ExplanationDeleteAccount = "اشرح لماذا تريد حذف حسابك";
$WhyYouWantToDeleteYourLegalAgreement = "يمكنك الطلب ادناه لحذف الاتفاق القانوني حول حسابك الذي سوف يحذف.
بخصوص الاتفاق القانوني، فانه بمجرد حذفك اياه فسوف يطلب منك الموافقة عليه من جديد عند تسجيل الدخول من جديد
$WhyYouWantToDeleteYourLegalAgreement = "يمكنك الطلب ادناه لحذف الاتفاق القانوني حول حسابك الذي سوف يحذف.
بخصوص الاتفاق القانوني، فانه بمجرد حذفك اياه فسوف يطلب منك الموافقة عليه من جديد عند تسجيل الدخول من جديد
اما بخصوص حذف الحساب فان حسابك سوف يحذف مع كافة اشتراكاتك وكافة المعلومات المرتبطة بحسابك، احد المدراء سوف يراجع طلبك قبل تفعيله، من اجل تفادي سوء الفهم وفقدان بياناتك النهائي";
$PersonalDataPrivacy = "حماية البيانات الشخصية";
$RequestForAccountDeletion = "طلب ازالة الحساب";
@ -8430,4 +8430,27 @@ $WelcomeToPortalXInCourseSessionX = "مرحبا بك في منصة %s مقرر
$WelcomeToPortalXInCourseSessionXCoursePartOfCareerX = "مرحبا بك في منصة %s في مقرر %s, جزء من وظيفة %s";
$YourNextModule = "درسك التالي";
$FirstLesson = "الدرس الاول";
$ImportCourseTeachersAsCourseCoach = "استيراد مدرسي المقرر كمدرسين للمقرر في الموسم";
$ResumeImport = "استئناف الاستيراد";
$Candidate = "مرشح";
$GeneralTotal = "المجموع العام";
$Domains = "Domains";
$ScormStartAttemptDate = "التاريخ";
$LoginsByDate = "تسجيلات الدخول وفقا للتاريخ";
$AllowHtaccessScormImport = "السماح لـ htaccess عند استيراد ملف سكورم";
$ExerciseAutoEvaluationAndRankingMode = "وضع التقييم والترتيب التلقائي";
$YouAreReceivingACopyBecauseYouAreACourseCoach = "لقد استلمت نسخة بسبب كونك معلم للمقرر الدراسي";
$GenerateReport = "انشاء تقرير";
$VersionFromVersionFile = "الاصدار من ملف الاصدار";
$VersionFromConfigFile = "الاصدار من ملف التهيئة config";
$TheVersionFromTheVersionFileIsUpdatedWithEachVersionIfMainInstallDirectoryIsPresent = "يتم تحديث الاصدار مع كل اصدار في حال كان مسار التنصيب الافتراضي موجودا";
$TheVersionFromTheConfigurationFileShowsOnTheAdminPageButHasToBeChangedManuallyOnUpgrade = "الاصدار من ملف التهيئة الرئيسي يتم عرضه في صفحة الادارة الرئيسية، الا انه يجب تحديثه يدويا عند ترقية الاصدار";
$ResultsConfigurationPage = "تهيئة صفحة النتائج";
$HideExpectedAnswer = "اخفاء عمود الاجابات المتوقعة";
$HideTotalScore = "اخفاء مجموع الدرجات";
$HideQuestionScore = "اخفاء درجة السؤال";
$SaveAnswers = "حفظ الاجابات";
$SaveAllAnswers = "ملئ مسبق للاجوبة من المحاولة السابقة";
$SubscribeUsersToAllForumNotifications = "التسجيل التلقائي لكافة المستخدمين في جميع اشعارات المنتدى";
$ExerciseDirectPopUp = "المعلومات المرتجعة المباشرة بشكل منبثق";
?>

@ -3351,7 +3351,7 @@ $NewMessageInForum = "Espublizóse un mensaxe nuevu nel foru";
$FolderCreated = "Creóse un direutoriu nuevu";
$AgendaAdded = "Amestóse un eventu a la axenda";
$ShouldBeCSVFormat = "L'archivu tien de tar en formatu CSV. Nun ponga espacios. La estructura tien de ser, esautamente:";
$Enter2passToChange = "Pa cambiar la seña, escriba la nueva nestos dos campos. Si quier caltener l'actual, nun escriba nada.";
$TypeCurrentPassword = "Pa cambiar la seña, escriba la nueva nestos dos campos. Si quier caltener l'actual, nun escriba nada.";
$AuthInfo = "Identificación";
$ImageWrong = "L'archivu tien de tener un tamañu menor de";
$NewPass = "Contraseña nueva";

File diff suppressed because it is too large Load Diff

@ -3872,7 +3872,7 @@ $NewMessageInForum = "Nova mensagem publicada no fórum";
$FolderCreated = "Criada nova pasta";
$AgendaAdded = "Acrescentado ítem na agenda";
$ShouldBeCSVFormat = "O arquivo precisa estar no formato CSV. Não adicione espaços. A estrutura deve ser exatamente :";
$Enter2passToChange = "Informe a sua senha duas vezes para modificá-la. Caso não o queira, deixe os campos em branco.";
$TypeCurrentPassword = "Informe a sua senha duas vezes para modificá-la. Caso não o queira, deixe os campos em branco.";
$AuthInfo = "Autenticação";
$ImageWrong = "O arquivo deve ser menor que";
$NewPass = "Nova senha";
@ -8034,10 +8034,10 @@ $RedirectToTheDocumentList = "Redirecionar para a lista de documentos";
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "A configuração do recurso de início automático de exercícios está ativada. Os alunos serão automaticamente redirecionados para a lista de exercícios.";
$PostedExpirationDate = "Prazo publicado para envio do trabalho (visível ao aluno)";
$BossAlertMsgSentToUserXTitle = "Mensagem de acompanhamento sobre o aluno %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Oi, o
usuário %s enviou uma mensagem de acompanhamento sobre o aluno %s.
$BossAlertUserXSentMessageToUserYWithLinkZ = "Oi, o
usuário %s enviou uma mensagem de acompanhamento sobre o aluno %s.
A mensagem pode ser vista aqui %s";
$include_services = "Incluir serviços";
$culqi_enable = "Habilitar culqi";
@ -8079,11 +8079,11 @@ $ResultAccomplishedTest = "Resultados para o teste realizado";
$YourResultsByDiscipline = "Seus resultados por disciplina";
$ForComparisonYourLastResultToThisTest = "Em comparação, seus resultados mais recentes para este teste";
$YourOverallResultForTheTest = "Seus resultados gerais para o teste";
$QuestionDegreeCertaintyHTMLMail = "Você encontrará seus resultados para o teste %s abaixo.
Para ver os detalhes destes resultados:
1. Conecte-se à plataforma (login/senha): Para a plataforma.
$QuestionDegreeCertaintyHTMLMail = "Você encontrará seus resultados para o teste %s abaixo.
Para ver os detalhes destes resultados:
1. Conecte-se à plataforma (login/senha): Para a plataforma.
2. Clique neste link: veja os resultados detalhados.";
$DegreeOfCertaintyVerySure = "Muita certeza";
$DegreeOfCertaintyVerySureDescription = "Sua resposta estava correta e você tinha 80% de certeza sobre isso. Parabéns!";
@ -8145,9 +8145,9 @@ $SubSkill = "Sub-skill";
$AddMultipleUsersToCalendar = "Adicione vários usuários ao calendário";
$UpdateCalendar = "Atualizar calendário";
$ControlPoint = "Ponto de controlo";
$MessageQuestionCertainty = "Por favor, siga as instruções abaixo para verificar seus resultados para o teste %s.
1. Conecte-se à plataforma (nome de usuário/senha) em: %s
$MessageQuestionCertainty = "Por favor, siga as instruções abaixo para verificar seus resultados para o teste %s.
1. Conecte-se à plataforma (nome de usuário/senha) em: %s
2. Clique no link a seguir: %s";
$SessionMinDuration = "Duração mínima da sessão";
$CanNotTranslate = "Não foi possível traduzir";
@ -8172,8 +8172,8 @@ $RemoveTerms = "Remover acordo legal";
$InformationRightToBeForgottenLinkX = "Você pode encontrar mais informações sobre o direito do usuário de ser esquecido na seguinte página: %s";
$ExplanationDeleteLegal = "Por favor, diga-nos por que você deseja retirar os direitos que você nos deu anteriormente, para que possamos fazê-lo da maneira mais suave possível.";
$ExplanationDeleteAccount = "Explique nesta caixa porque você quer que sua conta seja excluída";
$WhyYouWantToDeleteYourLegalAgreement = "Você pode perguntar abaixo se seu contrato legal foi excluído ou se sua conta foi excluída.
No caso do contrato legal, uma vez excluído, você terá que aceitá-lo novamente em seu próximo login para poder acessar a plataforma e recuperar seu acesso, porque não podemos, ao mesmo tempo, fornecer um ambiente pessoal e não tratar sua conta. dados pessoais.
$WhyYouWantToDeleteYourLegalAgreement = "Você pode perguntar abaixo se seu contrato legal foi excluído ou se sua conta foi excluída.
No caso do contrato legal, uma vez excluído, você terá que aceitá-lo novamente em seu próximo login para poder acessar a plataforma e recuperar seu acesso, porque não podemos, ao mesmo tempo, fornecer um ambiente pessoal e não tratar sua conta. dados pessoais.
No caso de uma exclusão de conta, sua conta será excluída juntamente com todas as suas assinaturas de curso e todas as informações relacionadas à sua conta. Por favor, selecione a opção correspondente com cuidado. Em ambos os casos, um dos nossos administradores analisará sua solicitação antes de ser eficaz, para evitar qualquer mal-entendido e perda definitiva de seus dados.";
$PersonalDataPrivacy = "Proteção de dados pessoais";
$RequestForAccountDeletion = "Pedido de remoção da conta";

@ -3324,7 +3324,7 @@ $NewMessageInForum = "Изпратено е съобщение във форум
$FolderCreated = "Създадена е папка.";
$AgendaAdded = "Добавено е събитие в програмата.";
$ShouldBeCSVFormat = "Файлът трябва да е в CSV-формат. Не вмъквайте интервали. Структурата трябва да е както следва: \"";
$Enter2passToChange = "Въведете вашата парола два пъти, за да я смените.<br/>Оставете двете полета празни, ако не искате да смените паролата.";
$TypeCurrentPassword = "Въведете вашата парола два пъти, за да я смените.<br/>Оставете двете полета празни, ако не искате да смените паролата.";
$AuthInfo = "Автентикация";
$ImageWrong = "Размерът на файла трябва да е по-малък от";
$NewPass = "Нова парола";

@ -1135,7 +1135,7 @@ $EnrollToCourseSuccessful = "Has estat matriculat en el curs";
$SubCat = "Subcategories";
$UnsubscribeNotAllowed = "No està permès abandonar el curs abans que finalitzi";
$CourseAdminUnsubscribeNotAllowed = "Ets l'administrador d'aquest curs";
$CourseManagement = "Administrador del curs";
$CourseManagement = "Catálogo de cursos";
$SortMyCourses = "Ordenar els meus cursos";
$SubscribeToCourse = "Matricular al curs";
$UnsubscribeFromCourse = "Retirar la subscripció del curs";
@ -3230,7 +3230,7 @@ $Inbox = "Safata d'entrada";
$ComposeMessage = "Redactar";
$Other = "Altre";
$AddRight = "Afegir";
$CampusHomepage = "Pàgina principal";
$CampusHomepage = "Página d'inici";
$YouHaveNewMessage = "Té un nou missatge";
$myActiveSessions = "Les meues sessions actives";
$myInactiveSessions = "Les meves sessions no actives";
@ -3801,7 +3801,7 @@ $NewMessageInForum = "Un nou missatge ha estat publicat en el fòrum";
$FolderCreated = "S'ha creat un nou directori";
$AgendaAdded = "S'ha afegit un esdeveniment de l'agenda";
$ShouldBeCSVFormat = "L'arxiu ha d'estar format CSV. No afegeixi espais. L'estructura ha de ser exactament:";
$Enter2passToChange = "Per a canviar la contrasenya, introdueixi la nova contrasenya en aquests dos camps. Si desitja mantenir l'actual, deixi buits els dos camps.";
$TypeCurrentPassword = "Per a canviar la contrasenya, introdueixi la nova contrasenya en aquests dos camps. Si desitja mantenir l'actual, deixi buits els dos camps.";
$AuthInfo = "Autentificació";
$ImageWrong = "L'arxiu ha de tenir una grandària menor de";
$NewPass = "Nova contrasenya";

@ -2306,7 +2306,7 @@ $NewMessageInForum = "Objavljena nova poruka na forumu";
$FolderCreated = "Dodana nova datoteka";
$AgendaAdded = "Dodan novi zapis u raspored";
$ShouldBeCSVFormat = "Datoteka treba biti formata CSV. Ne dodavajte razmake. Struktura bi trebala biti upravo:";
$Enter2passToChange = "Unesite zaporku dvaput kako biste je promijenili. U suprotnome ostavite polja praznima.";
$TypeCurrentPassword = "Unesite zaporku dvaput kako biste je promijenili. U suprotnome ostavite polja praznima.";
$AuthInfo = "Autentifikacija";
$ImageWrong = "Veličina datoteke treba biti manja od";
$NewPass = "Nova zaporka";

@ -2151,7 +2151,7 @@ $NewMessageInForum = "Der er skrevet et nyt indlæg i diskussionsforummet";
$FolderCreated = "Ny mappe er oprettet";
$AgendaAdded = "Aftale er tilføjet";
$ShouldBeCSVFormat = "Filen ska være i CSV format. Tilføj ikke mellemrum. Strukturen skal nøjagtigt være:";
$Enter2passToChange = "Indtast dit adgangskode to gange for at ændre det. Hvis ikke, skal du lade felterne stå tomme.";
$TypeCurrentPassword = "Indtast dit adgangskode to gange for at ændre det. Hvis ikke, skal du lade felterne stå tomme.";
$AuthInfo = "Godkendelse";
$ImageWrong = "Filstørrelsen skal være mindre end";
$password_request = "Du har bedt om at få nulstille din adgangskode. Hvis du ikke har bedt om dette, skal du se bort fra denne mail. For at nulstille din adgangskode, skal du klikke på \"nulstil\" linket.";

@ -3851,7 +3851,7 @@ $NewMessageInForum = "Nieuw bericht geplaatst in het forum";
$FolderCreated = "Nieuwe folder aangemaakt";
$AgendaAdded = "Agenda item toegevoegd";
$ShouldBeCSVFormat = "Het bestand moet in CSV-formaat zijn. Voeg geen spaties toe. De structuur moet exact zijn zoals:";
$Enter2passToChange = "Nieuw wachtwoord tweemaal invullen, of blanco laten om het huidige te behouden.";
$TypeCurrentPassword = "Nieuw wachtwoord tweemaal invullen, of blanco laten om het huidige te behouden.";
$AuthInfo = "Authenticatie";
$ImageWrong = "De bestandsgrootte voor de foto moet kleiner zijn dan";
$NewPass = "Nieuw wachtwoord";
@ -6874,6 +6874,6 @@ Het eerstvolgende moment dat voor deze module werd ingevuld is: <br />
$WelcomeToPortalXInCourseSessionX = "Welkom bij %s: informatie over de module %s";
$WelcomeToPortalXInCourseSessionXCoursePartOfCareerX = "Welkom bij %s. Je bent ingeschreven voor de module %s.
Deze module maakt deel uit van de opleiding %s.";
$YourNextModule = "Jouw eerstvolgende lesmoment voor deze module:";
$YourNextModule = "Jouw eerstvolgende lesmoment voor de module";
$FirstLesson = "Eerste lesmoment";
?>

@ -2896,7 +2896,7 @@ $TryAgain = "Try again";
$SeeTheory = "Theory link";
$EndActivity = "End of activity";
$NoFeedback = "Exam (no feedback)";
$DirectFeedback = "Self-evaluation (immediate feedback)";
$DirectFeedback = "Adaptative test with immediate feedback";
$FeedbackType = "Feedback";
$Scenario = "Scenario";
$VisitUrl = "Visit this link";
@ -3855,7 +3855,7 @@ $NoResultsInPresenceSheet = "No presence registered";
$EditPresences = "Modify presences";
$TotalWeightMustNotBeMoreThan = "Total weight must not be more than";
$ThereIsNotACertificateAvailableByDefault = "There is no certificate available by default";
$CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan = "Certificate minimun score is required and must not be more than";
$CertificateMinimunScoreIsRequiredAndMustNotBeMoreThan = "Certificate minimum score is required and must not be more than";
$CourseProgram = "Description";
$ThisCourseDescriptionIsEmpty = "There is no course description so far.";
$Vacancies = "Vacancies";
@ -3910,7 +3910,7 @@ $NewMessageInForum = "New message posted in the forum";
$FolderCreated = "New folder created";
$AgendaAdded = "Event added";
$ShouldBeCSVFormat = "File should be CSV format. Do not add spaces. Structure should be exactly :";
$Enter2passToChange = "To change your password, enter your current password in the field above and your new password in both fields below. To maintain the current password, leave the three fields empty.";
$TypeCurrentPassword = "To change your password, enter your current password in the field above and your new password in both fields below. To maintain the current password, leave the three fields empty.";
$AuthInfo = "Authentication";
$ImageWrong = "The file size should be smaller than";
$NewPass = "New password";
@ -4378,7 +4378,7 @@ $Annotate = "Notify";
$DayOfDelay = "Day of delay";
$NoProduction = "No production";
$NoComment = "No comment";
$LatestLogin = "Latest";
$LatestLogin = "Latest login";
$TimeSpentOnThePlatform = "Time spent in portal";
$AveragePostsInForum = "Posts in forum";
$AverageAssignments = "Average assignments per learner";
@ -6062,7 +6062,7 @@ $TotalStudents = "Total learners";
$FilteringWithScoreX = "Filtering with score %s";
$ExamTaken = "Taken";
$ExamNotTaken = "Not taken";
$ExamPassX = "Pass minimun %s";
$ExamPassX = "Pass minimum %s";
$ExamFail = "Fail";
$ExamTracking = "Exam tracking";
$NoAttempt = "No attempts";
@ -8420,4 +8420,14 @@ $HideTotalScore = "Hide total score";
$HideQuestionScore = "Hide question score";
$SaveAnswers = "Save answers";
$SaveAllAnswers = "Pre-fill with answers from previous attempt";
$SubscribeUsersToAllForumNotifications = "Subscribe automatically all users to all forum notifications";
$ExerciseDirectPopUp = "Direct feedback as pop-up";
$MinStartDate = "First connection";
$MaxEndDate = "Last connection";
$TotalDuration = "Total time spent";
$RealisationCertificate = "Certificate of achievement";
$SurveysReport = "Surveys report";
$EnterYourNewPassword = "Enter your new password here.";
$RepeatYourNewPassword = "Type your new password once again, to reduce the likeliness of typing errors.";
$ExtractionFromX = "Extraction from %s";
?>

@ -1804,7 +1804,7 @@ $UsageDatacreated = "Uzulaj datumoj kreitaj";
$SessionView = "Prezenti la kursojn laŭ sesioj";
$CourseView = "Prezenti la kompletan liston da kursoj";
$ShouldBeCSVFormat = "La dosiero estu CSV-formata. Ne enmetu spacetojn. La strukturo estu precize kiel:";
$Enter2passToChange = "Dufoje enigi novan pasvorton, aŭ enigi nenion por konservi vian aktualan";
$TypeCurrentPassword = "Dufoje enigi novan pasvorton, aŭ enigi nenion por konservi vian aktualan";
$AuthInfo = "Aŭtentikigo";
$ImageWrong = "La grando de la foto estu maksimume";
$password_request = "Vi petis sendi vian pasvorton. Se vi ne faris tion, ignoru ĉi-mesaĝon. Por reagordi vian mesaĝon, musklaku sur la reagordan ligilon.";

@ -180,7 +180,7 @@ $Helptwo = "Hjálp";
$MenuGeneral = "Hjálp";
$UsersOnLineList = "Innritaðir brúkarar";
$HelpMaj = "Hjálp";
$Enter2passToChange = "Ynskir tú at broyta loyniorð, skriva so núverandi loyniorðið inn omanfyri, og skriva nýggja loyniorðið í báðar kassarnar niðanfyri. Letur tú allar tríggjar kassarnar vera blankar, varðveitir tú verandi loyniorðið.";
$TypeCurrentPassword = "Ynskir tú at broyta loyniorð, skriva so núverandi loyniorðið inn omanfyri, og skriva nýggja loyniorðið í báðar kassarnar niðanfyri. Letur tú allar tríggjar kassarnar vera blankar, varðveitir tú verandi loyniorðið.";
$NewPass = "Nýtt loyniorð";
$UserPicture = "Mynd";
$Confirmation = "Endurtak nýggja loyniorðið";

@ -2504,7 +2504,7 @@ $NewMessageInForum = "Uusi viesti keskustelualueella";
$FolderCreated = "Uusi kansio tehty";
$AgendaAdded = "Tapahtuma lisätty";
$ShouldBeCSVFormat = "Tiedoston tulee olla CSV-formaatissa. Älä lisää välilyöntejä. Tiedoston rakenteen tulee olla tarkasti seuraava:";
$Enter2passToChange = "Vaihtaaksesi salasanasi syötä se kaksi kertaa. Muussa tapauksessa jätä kentät tyhjiksi.";
$TypeCurrentPassword = "Vaihtaaksesi salasanasi syötä se kaksi kertaa. Muussa tapauksessa jätä kentät tyhjiksi.";
$AuthInfo = "Tunnistaminen";
$ImageWrong = "Tiedoston koon pitäisi olla pienempi kuin";
$NewPass = "Uusi salasana";

@ -2886,7 +2886,7 @@ $TryAgain = "Réessayer";
$SeeTheory = "Voir la théorie";
$EndActivity = "Fin de l'activité";
$NoFeedback = "Pas de feedback";
$DirectFeedback = "Immédiat en popup";
$DirectFeedback = "Test adaptatif avec feedback immédiat";
$FeedbackType = "Feedback";
$Scenario = "Scénario";
$VisitUrl = "Suivre ce lien";
@ -3900,7 +3900,7 @@ $NewMessageInForum = "Un nouveau message a été posté dans le forum";
$FolderCreated = "Un nouveau dossier a été créé";
$AgendaAdded = "Un évènement d'agenda a été ajouté";
$ShouldBeCSVFormat = "Le fichier devrait être au format CSV. N'ajoutez pas d'espaces. La structure devrait être exactement :";
$Enter2passToChange = "La saisie du nouveau mot de passe ainsi que sa confirmation sont nécessaires en cas de modification de votre mot de passe. <br />Dans tous les autres cas, laissez ces deux champs vides.";
$TypeCurrentPassword = "Saisissez votre mot de passe actuel ci-dessus pour autoriser le changement de mot de passe. Ensuite, introduisez votre nouveau mot de passe deux fois de suite, ci-dessous. Pour ne pas changer votre mot de passe, laissez ces 3 champs vides.";
$AuthInfo = "Paramètres de connexion";
$ImageWrong = "La taille du fichier doit être inférieure à";
$NewPass = "Nouveau mot de passe";
@ -8352,4 +8352,29 @@ $HideTotalScore = "Cacher le score total";
$HideQuestionScore = "Cacher le score de chaque question";
$SaveAnswers = "Garder les réponses";
$SaveAllAnswers = "Préremplir avec les réponses de la tentative précédente";
$SubscribeUsersToAllForumNotifications = "Abonner automatiquement tous les utilisateurs";
$ExerciseDirectPopUp = "Feedback immédiat en pop-up";
$MinStartDate = "Première connexion";
$MaxEndDate = "Dernière connexion";
$TotalDuration = "Temps passé total";
$RealisationCertificate = "Certificat de réalisation";
$SurveysReport = "Rapport d'enquêtes";
$EnterYourNewPassword = "Saisissez votre nouveau mot de passe ici.";
$RepeatYourNewPassword = "Saisissez votre nouveau mot de passe une fois de plus ici, pour éviter les erreurs.";
$ExtractionFromX = "Extraction du: %s";
$Compilatio = "Compilatio";
$CompilatioDocumentTextNotImage = "Vérifiez qu'il contient bien du texte (et non que des images)";
$CompilatioDocumentNotCorrupt = "t qu'il n'est pas endomagé";
$CompilatioAnalysis = "Analyser";
$CompilatioAnalysisPercentage = "(%age d'analyse du fichier)";
$CompilatioWaitingAnalysis = "Analyse en attente";
$CompilatioAwaitingAnalysis = "En attente d'analyse";
$CompilatioAnalysisEnding = "Finalisation de l'analyse";
$CompilatioProtectedPdfVerification = "Si le fichier est au format pdf, vérifiez qu'il ne soit pas protégé en modification.";
$CompilatioConnectionWithServer = "Connexion avec le serveur Compilatio";
$CompilatioWithCompilatio = "avec Compilatio.";
$CompilatioStartAnalysis = "lancer l'analyse Compilatio";
$CompilatioSeeReport = "Voir le rapport";
$CompilatioNonToAnalyse = "Votre sélection ne contient aucun travaux à analyser. Seul les travaux gérés par Compilatio et non déjà analysés peuvent être envoyés.";
$CompilatioComunicationAjaxImpossible = "Communication AJAX avec le serveur Compilatio impossible. Veuillez reessayer ultérieurement.";
?>

@ -1195,7 +1195,7 @@ $EnrollToCourseSuccessful = "Foi inscrito no curso";
$SubCat = "sub-categorías";
$UnsubscribeNotAllowed = "Non se permite a desubscrición deste curso.";
$CourseAdminUnsubscribeNotAllowed = "Vostede é administrador deste curso";
$CourseManagement = "Xestión dos Cursos";
$CourseManagement = "Catálogo de cursos";
$SortMyCourses = "Ordenar os meus cursos";
$SubscribeToCourse = "Subscribir a Cursos";
$UnsubscribeFromCourse = "Desubscribir ós cursos";
@ -3878,7 +3878,7 @@ $NewMessageInForum = "Publicouse unha nova mensaxe no foro";
$FolderCreated = "Creouse un novo directorio";
$AgendaAdded = "Engadíuse un evento da axenda";
$ShouldBeCSVFormat = "O arquivo debe estar en formato CSV. Non engada espazos. A estrutura debe ser exactamente:";
$Enter2passToChange = "Introuduce o teu contrasinal dúas veces para cambialo. Se non queres cambialo, deixa o espazo en branco.";
$TypeCurrentPassword = "Introuduce o teu contrasinal dúas veces para cambialo. Se non queres cambialo, deixa o espazo en branco.";
$AuthInfo = "Autentificación";
$ImageWrong = "O ficheiro coa imaxe debe ser menor de";
$NewPass = "Novo contrasinal";

@ -3870,7 +3870,7 @@ $NewMessageInForum = "Neuer Beitrag wurde im Forum hinzugefügt";
$FolderCreated = "Neues Verzeichnis wurde erstellt";
$AgendaAdded = "Kalender Eintrag wurde hinzugefügt";
$ShouldBeCSVFormat = "Die Datei sollte im CSV-Fomrat sein. Fügen Sie keine Leerzeichen ein. Die Struktur sollte wie folgt aussehen:";
$Enter2passToChange = "Wenn Sie Ihr Passwort ändern möchten, geben Sie das neue Passwort bitte zweimal ein. Andernfalls lassen Sie diese Felder einfach frei.";
$TypeCurrentPassword = "Wenn Sie Ihr Passwort ändern möchten, geben Sie das neue Passwort bitte zweimal ein. Andernfalls lassen Sie diese Felder einfach frei.";
$AuthInfo = "Authentifizierung";
$ImageWrong = "Die Dateigröße sollte geringer sein als";
$NewPass = "Neues Kennwort";
@ -5850,8 +5850,8 @@ $CourseSettingsRegisterDirectLink = "Wenn Ihr Kurs öffentlich oder offen ist k
$DirectLink = "Direkte Verbindung";
$here = "hier";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "Im Kursverzeichnis %s einen der bestehenden Kurse auswählen. Mit erfolgreicher Anmeldung wird dann der jeweilige Kurs anstelle dieser Nachricht %s erscheinen.";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Hallo <strong>%s</strong> herzlich willkommen,
Deine Kursliste ist im Moment noch leer.
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Hallo <strong>%s</strong> herzlich willkommen,
Deine Kursliste ist im Moment noch leer.
Zeit, sich für ein paar Kurse anzumelden!";
$UnsubscribeUsersAlreadyAddedInCourse = "Benutzer bereits ausgewählt.";
$ImportUsers = "Benutzer importieren";
@ -6725,7 +6725,7 @@ $Reports = "Berichte";
$ResultsNotRevised = "Nicht bewertete Ergebnisse";
$ResultNotRevised = "Nicht bewertetes Ergebnis";
$dateFormatShortNumber = "%d/%m/%Y";
$dateTimeFormatLong24H = "
$dateTimeFormatLong24H = "
%B %d, %Y um %H:%M Uhr";
$ActivateLegal = "Nutzungsbedingungen aktivieren";
$ShowALegalNoticeWhenEnteringTheCourse = "Nutzungsbedingungen aktivieren, wenn dieser Kurs erstmals aufgerufen wird";
@ -6950,101 +6950,101 @@ $ResourceLockedByGradebook = "Diese Option ist nicht verfügbar, da diese Funkti
$GradebookLockedAlert = "Diese Bewertung wurde gesperrt. Sie können sie nicht entsperren. Wenn Sie sie wirklich entsperren möchten, kontaktieren Sie den Portal-Administrator.Erklären Sie ihm, warum es für Sie notwendig ist die Enstperrung vorzunehmen, ansonsten kann dies als Betrugsversuch gewertet werden.";
$GradebookEnableLockingTitle = "Kursleitern das Sperren von Bewertungen erlauben";
$GradebookEnableLockingComment = "Wenn diese Funktion aktiviert wird, können Kursleiter keinerlei Änderungen an Bewertungen mehr vornehmen (Übungen, Lernpfade, Aufgaben, etc.). Diese Sperre kann nur durch einen Administrator aufgehoben werden. Der Kursleiter wird explizit darauf hingewiesen, und eine Eintragung im Systemprotokoll verzeichnet";
$LdapDescriptionComment = "<div class='normal-message'>
<br />
<ul>
<li>
LDAP Authentifizierung:
<br />
Unter I. wie LDAP konfiguriert wird
<br />
Unter II. wie LDAP aktiviert wird
</li>
<br />
<br />
<li>
Update user attributes, with LDAP data, after CAS authentication(see <a href='settings.php?category=CAS'>CAS configuration </a>) :
<br />
See I. below to configure LDAP
<br />
CAS manage user authentication, LDAP activation isn't required.
</li>
<br />
</ul>
</div>
<br />
<h4>I. LDAP configuration</h4>
<h5>Edit file app/config/auth.conf.php </h5>
-&gt; Edit values of array <code>&#36;extldap_config</code>
<br />
<br />
Parameter:
<br />
<ul>
<li>base domain string (z.B. 'base_dn' =&gt; 'DC=example,DC=org')</li>
<li>Admin distinguished name (z.B. 'admin_dn' =&gt;'CN=admin,dc=cblue,dc=be')</li>
<li>Admin Kennwort (z.B. 'admin_password' =&gt; '123456')</li>
<li>LDAP Server (z.B. 'host' =&gt; array('1.2.3.4', '2.3.4.5', '3.4.5.6'))</li>
<li>Filter (z.B. 'filter' =&gt; '')</li>
<li>Port (z.B. 'port' =&gt; 389)</li>
<li>Protokoll-Version (2 oder 3) (z.B. 'protocol_version' =&gt; 3)</li>
<li>user_search (z.B. 'user_search' =&gt; 'sAMAccountName=%username%')</li>
<li>Zeichensatz (z.B. 'encoding' =&gt; 'UTF-8')</li>
<li>update_userinfo (z.B. 'update_userinfo' =&gt; true)</li>
</ul>-&gt; Um die Verkn&uuml;pfung zwischen Usern und LDAP-Attributen herzustellen, bitte das Array <code>&#36;extldap_user_correspondance</code> verwenden.
<br />
Array-Werte sind &lt;chamilo_field&gt; =&gt; &gt;ldap_field&gt;
<br />
Die Array-Struktur wird in Datei main/auth/external_login/ldap.conf.php erkl&auml;rt.
<br />
<br />
<br />
<h4>II. LDAP-Authentifizierung aktivieren</h4>
<h5>In der Datei app/config/configuration.php</h5>-&gt; folgende Zeilen auskommentieren
<br />
&#36;extAuthSource[&quot;extldap&quot;][&quot;login&quot;] =&#36;_configuration['root_sys'].&quot;main/auth/external_login/login.ldap.php&quot;;
<br />
&#36;extAuthSource[&quot;extldap&quot;][&quot;newUser&quot;] =&#36;_configuration['root_sys'].&quot;main/auth/external_login/newUser.ldap.php&quot;;
<br />
<br />
N.B. : LDAP users use same fields than platform users to login.
<br />
$LdapDescriptionComment = "<div class='normal-message'>
<br />
<ul>
<li>
LDAP Authentifizierung:
<br />
Unter I. wie LDAP konfiguriert wird
<br />
Unter II. wie LDAP aktiviert wird
</li>
<br />
<br />
<li>
Update user attributes, with LDAP data, after CAS authentication(see <a href='settings.php?category=CAS'>CAS configuration </a>) :
<br />
See I. below to configure LDAP
<br />
CAS manage user authentication, LDAP activation isn't required.
</li>
<br />
</ul>
</div>
<br />
<h4>I. LDAP configuration</h4>
<h5>Edit file app/config/auth.conf.php </h5>
-&gt; Edit values of array <code>&#36;extldap_config</code>
<br />
<br />
Parameter:
<br />
<ul>
<li>base domain string (z.B. 'base_dn' =&gt; 'DC=example,DC=org')</li>
<li>Admin distinguished name (z.B. 'admin_dn' =&gt;'CN=admin,dc=cblue,dc=be')</li>
<li>Admin Kennwort (z.B. 'admin_password' =&gt; '123456')</li>
<li>LDAP Server (z.B. 'host' =&gt; array('1.2.3.4', '2.3.4.5', '3.4.5.6'))</li>
<li>Filter (z.B. 'filter' =&gt; '')</li>
<li>Port (z.B. 'port' =&gt; 389)</li>
<li>Protokoll-Version (2 oder 3) (z.B. 'protocol_version' =&gt; 3)</li>
<li>user_search (z.B. 'user_search' =&gt; 'sAMAccountName=%username%')</li>
<li>Zeichensatz (z.B. 'encoding' =&gt; 'UTF-8')</li>
<li>update_userinfo (z.B. 'update_userinfo' =&gt; true)</li>
</ul>-&gt; Um die Verkn&uuml;pfung zwischen Usern und LDAP-Attributen herzustellen, bitte das Array <code>&#36;extldap_user_correspondance</code> verwenden.
<br />
Array-Werte sind &lt;chamilo_field&gt; =&gt; &gt;ldap_field&gt;
<br />
Die Array-Struktur wird in Datei main/auth/external_login/ldap.conf.php erkl&auml;rt.
<br />
<br />
<br />
<h4>II. LDAP-Authentifizierung aktivieren</h4>
<h5>In der Datei app/config/configuration.php</h5>-&gt; folgende Zeilen auskommentieren
<br />
&#36;extAuthSource[&quot;extldap&quot;][&quot;login&quot;] =&#36;_configuration['root_sys'].&quot;main/auth/external_login/login.ldap.php&quot;;
<br />
&#36;extAuthSource[&quot;extldap&quot;][&quot;newUser&quot;] =&#36;_configuration['root_sys'].&quot;main/auth/external_login/newUser.ldap.php&quot;;
<br />
<br />
N.B. : LDAP users use same fields than platform users to login.
<br />
N.B. : LDAP activation adds a menu External authentication [LDAP] in &quot;add or modify&quot; user pages.";
$ShibbolethMainActivateTitle = "Authentifizierung über Shibboleth";
$ShibbolethMainActivateComment = "Zuerst muß Shibboleth für die Nutzung mit Ihrem Webserver konfiguriert sein.
<br />
Anschließend muß für die Nutzung mit Chamilo die Datei:
<br /><br />
<strong>main/auth/shibboleth/config/aai.class.php</strong>
<br /><br />
geändert werden. Hierzu werden die folgenden Werte für object \$result mit den eigenen Werten ergänzt.
<br />
<ul>
<li>\$result->unique_id = 'mail';</li>
<li>\$result->firstname = 'cn';</li>
<li>\$result->lastname = 'uid';</li>
<li>\$result->email = 'mail';</li>
<li>\$result->language = '-';</li>
<li>\$result->gender = '-';</li>
<li>\$result->address = '-';</li>
<li>\$result->staff_category = '-';</li>
<li>\$result->home_organization_type = '-';</li>
<li>\$result->home_organization = '-';</li>
<li>\$result->affiliation = '-';</li>
<li>\$result->persistent_id = '-';</li>
<li>...</li>
</ul>
$ShibbolethMainActivateComment = "Zuerst muß Shibboleth für die Nutzung mit Ihrem Webserver konfiguriert sein.
<br />
Anschließend muß für die Nutzung mit Chamilo die Datei:
<br /><br />
<strong>main/auth/shibboleth/config/aai.class.php</strong>
<br /><br />
geändert werden. Hierzu werden die folgenden Werte für object \$result mit den eigenen Werten ergänzt.
<br />
<ul>
<li>\$result->unique_id = 'mail';</li>
<li>\$result->firstname = 'cn';</li>
<li>\$result->lastname = 'uid';</li>
<li>\$result->email = 'mail';</li>
<li>\$result->language = '-';</li>
<li>\$result->gender = '-';</li>
<li>\$result->address = '-';</li>
<li>\$result->staff_category = '-';</li>
<li>\$result->home_organization_type = '-';</li>
<li>\$result->home_organization = '-';</li>
<li>\$result->affiliation = '-';</li>
<li>\$result->persistent_id = '-';</li>
<li>...</li>
</ul>
Anschließend unter <a href=\"/settings.php?category=Shibboleth\">Plugins</a> den 'Shibboleth Login' Button für die Plattform freischalten.";
$LdapDescriptionTitle = "LDAP Authentifizierung";
$FacebookMainActivateTitle = "Authentifizierung über Facebook";
$FacebookMainActivateComment = "Zuerst muß eine Facebook Anwendung erstellt werden (siehe hierzu <a href=\"https://developers.facebook.com/apps\" target=\"_blank\">https://developers.facebook.com/apps</a>). In den Einstellungen der Anwendung wird nach einer URL gefragt, diese sollte den Parameter 'action=fbconnect' (z.B. http://mychamilo.com/?action=fbconnect) haben.
<br /><br />
Danach die Datei
<br /><br />
<strong>app/config/auth.conf.php</strong>
<br /><br />
öffnen und 'appId' und 'secret' für \$facebook_config aus der FB-Anwendung einfügen.
$FacebookMainActivateComment = "Zuerst muß eine Facebook Anwendung erstellt werden (siehe hierzu <a href=\"https://developers.facebook.com/apps\" target=\"_blank\">https://developers.facebook.com/apps</a>). In den Einstellungen der Anwendung wird nach einer URL gefragt, diese sollte den Parameter 'action=fbconnect' (z.B. http://mychamilo.com/?action=fbconnect) haben.
<br /><br />
Danach die Datei
<br /><br />
<strong>app/config/auth.conf.php</strong>
<br /><br />
öffnen und 'appId' und 'secret' für \$facebook_config aus der FB-Anwendung einfügen.
Anschließend zu den <a href=\"/settings.php?category=Facebook\">Plugins</a> wechseln und 'Facebook Login' Button für die Plattform aktivieren.";
$AnnouncementForGroup = "Ankündigung für eine Gruppe";
$AllGroups = "Alle Gruppen";
@ -7978,12 +7978,13 @@ $GoToSurvey = "Zur Umfrage";
$OralExpressionHelpText = "Du kannst während der Aufnahme auf « Aufnahme anhalten » klicken. Wenn du nicht zufrieden bist, nimm dich erneut auf. Dies wird die vorherige Aufnahme überschreiben. Zufrieden? Um deine Aufnahme zu senden, klick einfach auf « Übung beenden ».";
$MyGeneralCertificate = "Mein Zertifikat";
$BossAlertMsgSentToUserXTitle = "Follow-up Nachricht über Lernende %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hallo,<br/><br/>
Benutzer %s hat eine Follow-up-Nachricht zum Lernenden %s gesendet.<br/><br/>
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hallo,<br/><br/>
Benutzer %s hat eine Follow-up-Nachricht zum Lernenden %s gesendet.<br/><br/>
Die Nachricht ist an %s sichtbar";
$PersonalDataReport = "Persönliche Daten";
$FromTimeX = "Von %s";
$ToTimeX = "bis %s";
$SubscribeUsersToAllForumNotifications = "Automatisch alle Benutzer anmelden";
?>

@ -33,17 +33,17 @@ $CotangentCot = "Συνεφαπτομένη:\t\t\tcot(x)";
$HyperbolicCotangentCoth = "Υπερβολική συνεφαπτομένη:\t\tcoth(x)";
$ArccotangentArccot = "Arccotangent:\t\t\tarccot(x)";
$HyperbolicArccotangentArccoth = "Υπερβολική συνεφαπτομένη";
$HelpCookieUsageValidation = "Για να λειτουργήσει το site και να είναι σε θέση να κάνει μέτρηση χρήσης περιεχομένου, αυτή η πλατφόρμα χρησιμοποιεί cookies.
Εάν θέλετε να ρυθμίσετε τα cookies επισκεφθείτε την ενότητα \"Βοήθεια/Help\" του προγράμματος περιήγησης σας.
$HelpCookieUsageValidation = "Για να λειτουργήσει το site και να είναι σε θέση να κάνει μέτρηση χρήσης περιεχομένου, αυτή η πλατφόρμα χρησιμοποιεί cookies.
Εάν θέλετε να ρυθμίσετε τα cookies επισκεφθείτε την ενότητα \"Βοήθεια/Help\" του προγράμματος περιήγησης σας.
Για περισσότερες πληροφορίες σχετικά με τα cookies, μπορείτε να επισκεφθείτε την ιστοσελίδα About Cookies.";
$YouAcceptCookies = "Με τη χρήση αυτής της ιστοσελίδας, δηλώνετε ότι αποδέχεστε τη χρήση των cookies.";
$TemplateCertificateComment = "Δείγμα μορφής πιστοποιητικού";
$TemplateCertificateTitle = "Πιστοποιητικό";
$ResultsVisibility = "Προβολή αποτελεσμάτων";
$DownloadCertificate = "Λήψη πιστοποιητικού";
$PortalActiveCoursesLimitReached = "Δυστυχώς έχετε υπερβεί το όριο ενεργών συνεδριών. Για να ξεκινήσετε μια νέα συνεδρία, πρέπει να τερματίσετε τη λειτουργία τουλάχιστον μιας τρέχουσας.
$PortalActiveCoursesLimitReached = "Δυστυχώς έχετε υπερβεί το όριο ενεργών συνεδριών. Για να ξεκινήσετε μια νέα συνεδρία, πρέπει να τερματίσετε τη λειτουργία τουλάχιστον μιας τρέχουσας.
Στη λίστα των μαθημάτων διοίκησης αλλάξτε την ορατότητα σε \"κρυφή\" και στη συνέχεια ανανεώστε τη συνεδρία. Για να αυξήσετε τον μέγιστο αριθμό μαθημάτων που επιτρέπονται στην παρούσα εγκατάσταση \"Chamilo\", παρακαλώ επικοινωνήστε με τον διαχειριστή της εφαρμογής ή αναβαθμίστε το πακέτο σας.";
$WelcomeToInstitution = "Καλώς ήρθατε στο campus %";
$WelcomeToSiteName = "Καλώς ήρθατε στο %s";
@ -270,16 +270,16 @@ $AreYouSureDeleteTestResultBeforeDateD = "Είστε σίγουροι ότι θ
$CleanStudentsResultsBeforeDate = "Καθαρίστε όλα τα αποτελέσματα πριν από την επιλεγμένη ημερομηνία";
$HGlossary = "Γλωσσάριο βοήθεια";
$GlossaryContent = "Αυτό το εργαλείο σας επιτρέπει να δημιουργήσετε γλωσσάρι όρων για το συγκεκριμένο μάθημα, το οποίο μπορεί στη συνέχεια να χρησιμοποιηθεί από το εργαλείο εγγράφων";
$ForumContent = "The forum is an discussion tool for asynchronous written work. In contrast to email, a forum is for public, or semi-public, group discussion.
To use the Chamilo forum, members can simply use their browser - they do not require separate client software.
To organize forums, clickon the Forums tool. Discussions are organized hierarchically according to the following structure: Category> Forum> Topic> Post To ensure members can participate in the forum tidily and effectively, it is essential in th first instance to create categories and forums; it's then up to the participants to create topics and posts. By default, the forum contains a single (public) category, an example topic and an example post. You can add forums to the category, change its title or create other categories within which you could then create new forums. (Don't confuse categories and forums, and remember that a category that contains no forum is useless and is not displayed.)
\n
The forum description might include a list of its members, a definition of its purpose, a target a task, a theme etc.
Group forums should not be created via the Forum tool but instead via the Groups tool, where you can determinewhether your group forums should be private or public, at the same time providing a location for sharing groups of documents.
Teaching Tips A learning forum is not quite the same as the forums you are used to seeing on the internet. For one thing, it is not possible for learners to alter their posts once they have been published as the course is logically archived to allow tracking of what has been said in the past. Furthermore, Chamilo forums allow for specific uses relevant to teaching. For example, some teachers/trainers publish corrections directly within forums in the following way:
$ForumContent = "The forum is an discussion tool for asynchronous written work. In contrast to email, a forum is for public, or semi-public, group discussion.
To use the Chamilo forum, members can simply use their browser - they do not require separate client software.
To organize forums, clickon the Forums tool. Discussions are organized hierarchically according to the following structure: Category> Forum> Topic> Post To ensure members can participate in the forum tidily and effectively, it is essential in th first instance to create categories and forums; it's then up to the participants to create topics and posts. By default, the forum contains a single (public) category, an example topic and an example post. You can add forums to the category, change its title or create other categories within which you could then create new forums. (Don't confuse categories and forums, and remember that a category that contains no forum is useless and is not displayed.)
\n
The forum description might include a list of its members, a definition of its purpose, a target a task, a theme etc.
Group forums should not be created via the Forum tool but instead via the Groups tool, where you can determinewhether your group forums should be private or public, at the same time providing a location for sharing groups of documents.
Teaching Tips A learning forum is not quite the same as the forums you are used to seeing on the internet. For one thing, it is not possible for learners to alter their posts once they have been published as the course is logically archived to allow tracking of what has been said in the past. Furthermore, Chamilo forums allow for specific uses relevant to teaching. For example, some teachers/trainers publish corrections directly within forums in the following way:
A learner is asked to post a report directly into the forum, The teacher corrects it by clicking Edit (yellow pencil) and marking it using the graphics editor (color, underlining, etc.) Finally, other learners benefit from viewing the corrections was made on the production of one of of them, Note that the same principle can be applied between learners, but will require his copying/pasting the message of his fellow student because students / trainees can not edit one another's posts. <. li>";
$HForum = "Φόρουμ βοήθειας";
$LoginToGoToThisCourse = "Παρακαλούμε συνδεθείτε για να δείτε ε αυτό το μάθημα";
@ -3092,9 +3092,9 @@ $NameOfLang['dutch'] = "ïëëáíäéêÜ";
$NameOfLang['english'] = "áããëéêÜ";
$NameOfLang['finnish'] = "öéíëáíäéêÜ";
$NameOfLang['french'] = "ãáëëéêÜ";
$NameOfLang['french_corporate'] = "
$NameOfLang['french_corporate'] = "
french_corporate";
$NameOfLang['french_KM'] = "
$NameOfLang['french_KM'] = "
french_KM";
$NameOfLang['galician'] = "galician";
$NameOfLang['german'] = "ãåñìáíéêÜ";
@ -3881,7 +3881,7 @@ $NewMessageInForum = "Νέο μήνυμα αναρτήθηκε στο forum";
$FolderCreated = "Δημιουγήθηκε νέος φάκελος";
$AgendaAdded = "Προστέθηκε γεγονός";
$ShouldBeCSVFormat = "Το αρχείο πρέπει να είναι σε τύπου CSV. Να μην υπάρχουν κενά. Η δομή πρέπει να είναι ακτιβώς η";
$Enter2passToChange = "Για να αλλάξετε το συνθηματικό σας, εισάγεται το τρέχων συνθηματικό σας στο παραπάνω πεδίο και το νέο στα 2 παρακάτω πεδία. Για να διατηρηθεί το τρέχων συνθηματικό, μην βάζετε τίποτα κια στα τρι (3) πεδία.";
$TypeCurrentPassword = "Για να αλλάξετε το συνθηματικό σας, εισάγεται το τρέχων συνθηματικό σας στο παραπάνω πεδίο και το νέο στα 2 παρακάτω πεδία. Για να διατηρηθεί το τρέχων συνθηματικό, μην βάζετε τίποτα κια στα τρι (3) πεδία.";
$AuthInfo = "Πιστοποίηση";
$ImageWrong = "Το μέγεθος του αρχείου πρέπει να είναι μικρότερο από";
$NewPass = "Νέο συνθηματικό";
@ -5285,7 +5285,7 @@ $NameOfLang['macedonian'] = "macedonian";
$NameOfLang['norwegian'] = "norwegian";
$NameOfLang['pashto'] = "pashto";
$NameOfLang['persian'] = "persian";
$NameOfLang['quechua_cusco'] = "
$NameOfLang['quechua_cusco'] = "
quechua from Cusco";
$NameOfLang['romanian'] = "romanian";
$NameOfLang['serbian'] = "serbian";
@ -5603,7 +5603,7 @@ $FilterByUser = "Φίλτρο ανά χρήστη";
$FilterByGroup = "Φίλτρο ανά ομάδα";
$FilterAll = "Καθένας";
$AllQuestionsMustHaveACategory = "Όλες οι ερωτήσεις πρέπει να έχουν μία κατηγορία για να χρησιμοποιήσετε τη λειτουργία τυχαία ανά κατηγορία.";
$PaginationXofY = "
$PaginationXofY = "
%s από %s";
$SelectedMessagesUnRead = "Επιλογή μηνυμάτων που έχουν επισυμανθεί ως Μη Αναγνωσμένα";
$SelectedMessagesRead = "Επιλογή μηνυμάτων που έχουν επισυμανθεί ως Αναγνωσμένα";
@ -7160,7 +7160,7 @@ $SaveBadge = "Αποθήκευση Badge";
$BadgeMeasuresXPixelsInPNG = "Μέγεθος Badge 200x200 pixel σε PNG";
$SetTutor = "Ορισμός καθηγητή";
$UniqueAnswerImage = "Μοναδική εικόνα απάντησης";
$TimeSpentByStudentsInCoursesGroupedByCode = "
$TimeSpentByStudentsInCoursesGroupedByCode = "
Ο χρόνος που δαπανάται από τους μαθητές στα μαθήματα, ομαδοποίηση ανά κωδικό";
$TestResultsByStudentsGroupesByCode = "Tests results by student groups, by code";
$TestResultsByStudents = "Tests results by student";

@ -2568,7 +2568,7 @@ $NewMessageInForum = "Új üzenet lett a létrehozva a fórumban";
$FolderCreated = "Az új mappa létrehozva";
$AgendaAdded = "Naptári elem hozzáadva";
$ShouldBeCSVFormat = "A fájlnak CSV formátumúnak kell lennie. Ne tegyen bele szóközöket. A struktúra pontosan az alábbiak szerinti legyen:";
$Enter2passToChange = "Írja be kétszer jelszavát a megváltoztatásához. Hagyja üresen a mezőket, ha nem kívánja megváltoztatni jelszavát.";
$TypeCurrentPassword = "Írja be kétszer jelszavát a megváltoztatásához. Hagyja üresen a mezőket, ha nem kívánja megváltoztatni jelszavát.";
$AuthInfo = "Ellenőrzés";
$ImageWrong = "A fájl mérte nem lehet nagyobb, mint";
$NewPass = "Új jelszó";

@ -1615,7 +1615,7 @@ $UsageDatacreated = "Penggunaan data yang dibuat";
$SessionView = "Tampilkan mata kuliah diurut menurut sesi";
$CourseView = "Tampilkan daftar lengkap mata kuliah";
$ShouldBeCSVFormat = "File haru dalam format CSV. Jangan tambah spasi. Struk harus seperti ini:";
$Enter2passToChange = "Masukkan password dua kali untuk merubahnya. Jika tidak ingin merubah, biarkan kosong.";
$TypeCurrentPassword = "Masukkan password dua kali untuk merubahnya. Jika tidak ingin merubah, biarkan kosong.";
$AuthInfo = "Autentikasi";
$ImageWrong = "Ukuran file harus lebih kecil dari";
$password_request = "Anda mengajukan me-reset password. Jika anda merasa tidak memohon, abaikan sja email ini. Untuk mereset password klik pada link reset.";

@ -3887,7 +3887,7 @@ $NewMessageInForum = "Nuovo messaggio inviato nel forum";
$FolderCreated = "Nuova cartella creata";
$AgendaAdded = "Voce nell'agenda aggiunta";
$ShouldBeCSVFormat = "Il file deve essere in formato CSV. Non aggiungere spazi. L'esatta struttura deve essere:";
$Enter2passToChange = "Inserisci due volte la password per cambiarla. Altrimenti, lascia i campi vuoti.";
$TypeCurrentPassword = "Inserisci due volte la password per cambiarla. Altrimenti, lascia i campi vuoti.";
$AuthInfo = "Autenticazione";
$ImageWrong = "La dimensione del file deve essere minore di";
$NewPass = "Nuova password";

@ -961,7 +961,7 @@ $UsersOnLineList = "オンライン ユーザー一覧";
$SystemAnnouncements = "プラットフォームのお知らせ";
$HelpMaj = "へルプ";
$Login = "ログイン";
$Enter2passToChange = "パスワードを変更するには、上のフィールドに現在のパスワードを入力して、下の両方のフィールドに新しいパスワードを入力します。現在のパスワードを維持するには、3 つのフィールドを空のままにします。";
$TypeCurrentPassword = "パスワードを変更するには、上のフィールドに現在のパスワードを入力して、下の両方のフィールドに新しいパスワードを入力します。現在のパスワードを維持するには、3 つのフィールドを空のままにします。";
$NewPass = "新しいパスワード";
$AddAU = "ユ〖ザを裁える";
$AddedU = "has been added. An email has been sent to give him his username";

@ -1318,7 +1318,7 @@ $Teach = "수업 가능 과목";
$Productions = "저작물";
$SendChatRequest = "이 사람에게 대화신청 하기";
$RequestDenied = "대화신청이 거부되었습니다.";
$Enter2passToChange = "변경하려면 패스워드를 두 번 입력하십시오. 아니면, 필드를 비워주십시오.";
$TypeCurrentPassword = "변경하려면 패스워드를 두 번 입력하십시오. 아니면, 필드를 비워주십시오.";
$password_request = "패스워드를 재설정하려면 요청을 하시기 바랍니다. 요청하지 않으면 이 메일은 무시됩니다. 패스워드를 재설정하기 위해서는 reset 링크를 클릭하십시오.";
$YourPasswordHasBeenEmailed = "패스워드가 메일로 전송되었습니다.";
$EnterEmailAndWeWillSendYouYourPassword = "등록 시에 사용한 이메일 주소를 입력하시면 패스워드를 전송하겠습니다.";

@ -403,7 +403,7 @@ $CatagoryGroup = "Grupu forumi";
$Ln = "Valoda";
$FieldsRequ = "Visi lauciņi ir jāaizpilda";
$Ex = "piem. <i>\"E-mācību ieviešanas vadība\"";
$Fac = "Mācību kursu / priekšmetu Kategorija,
$Fac = "Mācību kursu / priekšmetu Kategorija,
kurā kursu ievietot / pārvietot";
$TargetFac = "Departaments, kategorija vai kāda cita struktūrvienība, zem kura būs šis kurss";
$Doubt = "Lūdzu <b>konsulējaties ar atbildīgo personu, par kursa kodu.</b> Tas ir svarīgi!";
@ -980,8 +980,8 @@ $OnTheHardDisk = "uz cietņa";
$IsVirtualCourse = "Ir virtuāls kurss";
$AnnouncementUpdated = "Paziņojums tika labots";
$PermissionsForNewFiles = "Atļauja jauniem failiem";
$PermissionsForNewFilesComment = "Spēja definēt atļaujas iestatījumus, katram jaunizveidotam failam, ļauj uzlabot drošību pret uzbrukumiem ar hakeriem, augšupielādējot bīstamu saturu uz jūsu portālā. <br>Noklusējuma iestatījums (0550) būtu pietiekams, lai dotu savam serverim saprātīgu aizsardzības līmeni.
Esošais formāts izmanto UNIX terminoloģiju Owner-Group-Others with Read-Write-Execute atļaujas.
$PermissionsForNewFilesComment = "Spēja definēt atļaujas iestatījumus, katram jaunizveidotam failam, ļauj uzlabot drošību pret uzbrukumiem ar hakeriem, augšupielādējot bīstamu saturu uz jūsu portālā. <br>Noklusējuma iestatījums (0550) būtu pietiekams, lai dotu savam serverim saprātīgu aizsardzības līmeni.
Esošais formāts izmanto UNIX terminoloģiju Owner-Group-Others with Read-Write-Execute atļaujas.
<br>Ja jūs izmantojat Oogie, parūpējaties, lai tie Lietotāji, kuri lietos OpenOffice, var ierakstīt failus Kursa mapē.";
$Guest = "Viesis";
$LoginAsThisUserColumnName = "Pieteikties kā";
@ -1022,7 +1022,7 @@ $HomepageViewFixed = "Izkārtojums trijās kolonās. Neaktīvās lietas ir pelē
$ShowToolShortcutsTitle = "Satura vadības instrumentu saīsne (shortcuts)";
$ShowToolShortcutsComment = "Rādīt Satura vadības instrumentu saīsnes bannerī? <br>[Ļauj pa tiešo pārvietoties starp dažādiem satura instrumentiem kursā]";
$ShowStudentViewTitle = "Kursanta skats";
$ShowStudentViewComment = "Aktivizēt Kursanta skatu?
$ShowStudentViewComment = "Aktivizēt Kursanta skatu?
<br>[ Šāda iespēja ļauj Lektoram, mācību satura izstrādes laikā, redzēt kursu tā, kā to redzēs students.]";
$AllowGroupCategories = "Atļaut veidot Grupu nodaļas";
$AllowGroupCategoriesComment = "Atļaut kursu administratoriem veidot nodaļas grupu modulī?";
@ -1176,7 +1176,7 @@ $ActiveExtensions = "Aktivizēt šo servisu";
$Visioconf = "Chamilo LIVE";
$VisioconfDescription = "Chamilo LIVE ir videokonferenču rīks, kas piedāvā: prezentāciju slaidu apmaiņu, tāfele ar iespēju zīmēt un rakstīt virsū slaidiem, audio / video duplekss un tērzēšana. Tā nodrošināšanai ir nepieciešams vismaz Flash Player 9 vai augstāks. Instruments piedāvā 2 veidu konferences iespējas: viens daudziem, un daudzi daudziem.";
$Ppt2lp = "Chamilo RAPID";
$Ppt2lpDescription = "Chamilo RAPID ir ātrs un spēcīgs Mācību satura veidošanas līdzeklis. Tas ļauj jums pārvērst Powerpoint prezentācijas un OpenOffice ekvivalenti, SCORM saskanīgos e-kursos.
$Ppt2lpDescription = "Chamilo RAPID ir ātrs un spēcīgs Mācību satura veidošanas līdzeklis. Tas ļauj jums pārvērst Powerpoint prezentācijas un OpenOffice ekvivalenti, SCORM saskanīgos e-kursos.
Pēc konversijas, Jums ir iespēja slaidiem pievienot audio piezīmes par to saturu. Starp slaidiem pievienot lapas, testus un mijiedarbību darbības, piemēram, forumu diskusijām un mājas darbu augšupielādi. Katrs prezentācijas slaids kļūst par neatkarīgu mācību kursa stundu . Viss jaunizveidotais kurss rada precīzu SCORM ziņojumu turpmākam mācību procesam.";
$BandWidthStatistics = "Joslas izmantošanas statistika";
$BandWidthStatisticsDescription = "MRTG ļauj iepazīties ar uzlabotas statistikas datiem par servera stāvokli pēdējo 24 stundu laikā.";
@ -1204,7 +1204,7 @@ $ErrorsWhenImportingFile = "Kļūda failu importēšanas laikā";
$ServiceActivated = "Serviss aktivizēts";
$ActivateExtension = "Pieslēgt pakalpojumu / servisu";
$InvalidExtension = "Kļūdains faila paplašinājums";
$VersionCheckExplanation = "Lai ļautu versiju pārbaudīt automātiski, Jums portāls ir jāreģistrē vietnē <b>chamilo.org.</b><br> Reģistrācijā iegūtā informācija ir tikai iekšējai lietošanai un tikai apkopos datus, kas būs publiski pieejami ( portālu kopskaits, kopējais Chamilo kursu skaits, kopējais Chamilo lietotāju skaits, ...) (skatīt <a href=\"http://www.chamilo.org/stats/\">http://www.chamilo.org/stats/</a>)<br>Reģistrējoties, arī Jūs tiksiet iekļauti kopējā pasaules sarakstā - (<a href=\"http://www.chamilo.org/community.php\">http://www.chamilo.org/community.php</a>)<br>Tai pašā laikā Reģistrācija ir viegla: Jums tikai jāuzklikšķina uz versijas pārbaudes pogas.<br>
$VersionCheckExplanation = "Lai ļautu versiju pārbaudīt automātiski, Jums portāls ir jāreģistrē vietnē <b>chamilo.org.</b><br> Reģistrācijā iegūtā informācija ir tikai iekšējai lietošanai un tikai apkopos datus, kas būs publiski pieejami ( portālu kopskaits, kopējais Chamilo kursu skaits, kopējais Chamilo lietotāju skaits, ...) (skatīt <a href=\"http://www.chamilo.org/stats/\">http://www.chamilo.org/stats/</a>)<br>Reģistrējoties, arī Jūs tiksiet iekļauti kopējā pasaules sarakstā - (<a href=\"http://www.chamilo.org/community.php\">http://www.chamilo.org/community.php</a>)<br>Tai pašā laikā Reģistrācija ir viegla: Jums tikai jāuzklikšķina uz versijas pārbaudes pogas.<br>
Ja Jūs nevēlaties, lai dati par Jums parādās šajā sarakstā, Jums ir jāiezīmē rūtiņa zemāk.";
$AfterApproval = "Pēc apstiprināšanas";
$StudentViewEnabledTitle = "Ieslēgt kursanta skatu";
@ -1365,7 +1365,7 @@ $ExtendedProfileRegistrationComment = "Kuri no šiem paplašinātā profila lauk
$ExtendedProfileRegistrationRequiredTitle = "Nepieciešamie paplašinātā profila lauki reģistrācijas lapā";
$ExtendedProfileRegistrationRequiredComment = "Kurš no šiem laukiem paplašinātajā profilā ir nepieciešams lietotāja reģistrācijas procesā? <br>Tas nozīmē, ka paplašinātais profils ir aktivizēts un ka lauks ir pieejams arī reģistrācijas veidlapā (sk. iepriekš).";
$NoReplyEmailAddress = "E-pasta adrese vēstulēm, uz kurām nav jāatbild";
$NoReplyEmailAddressComment = "Šī ir e-pasta adrese, ko izmanto, tiešai e-pasta sūtīšnai bez atbildes vēstules.
$NoReplyEmailAddressComment = "Šī ir e-pasta adrese, ko izmanto, tiešai e-pasta sūtīšnai bez atbildes vēstules.
<br>Vispārīgi skatoties, šī e-pasta adrese ir konfigurēta uz servera ar iestatījumu ignorēt jebkuru ienākošo e-pastu.";
$SurveyEmailSenderNoReply = "Aptaujas uzaicinājuma e-pasta sūtītājs (bez atbildes)";
$SurveyEmailSenderNoReplyComment = "Izsūtot aptaujas uzaicinājumus lietot Lektora e-pasta adresi, jeb bez atbildes e-pasta adresi?";
@ -1412,10 +1412,10 @@ $FieldPossibleValues = "Iespējamās vērtības";
$FieldPossibleValuesComment = "Izkrītošo izvēlņu informatīvo tekstu, ierakstīt vienu pēc otra, atdalot ar semikolu (;)";
$FieldTypeDate = "Datums";
$FieldTypeDatetime = "Datums un laiks";
$UserFieldsAddHelp = "Lietotāja informatīvā lauka pievienošana ir vienkārša:<br>- pick a one-word, lowercase identifier,
- select a type,
<br>- pick a text that should appear to the user (if you use an existing translated name like BirthDate or UserSex, it will automatically get translated to any language),
<br>- if you picked a multiple type (radio, select, multiple select), provide the possible choices (again, it can make use of the language variables defined in Chamilo), split by semi-column characters,
$UserFieldsAddHelp = "Lietotāja informatīvā lauka pievienošana ir vienkārša:<br>- pick a one-word, lowercase identifier,
- select a type,
<br>- pick a text that should appear to the user (if you use an existing translated name like BirthDate or UserSex, it will automatically get translated to any language),
<br>- if you picked a multiple type (radio, select, multiple select), provide the possible choices (again, it can make use of the language variables defined in Chamilo), split by semi-column characters,
<br>- for text types, you can choose a default value.<br><br>Once you're done, add the field and choose whether you want to make it visible and modifiable. Making it modifiable but not visible is useless.";
$AllowCourseThemeTitle = "Atļaut mainīt Kursa dizaina tēmas";
$AllowCourseThemeComment = "Dod pieeju kursa grafiskajiem dizainiem un ļauj mainīt stilu lapām, ko izmanto kurss pamatojoties uz kādu no iespējamajām stilu lapām kas pieejamas Chamilo. Kad lietotājs atvērs kursu, definētajai kursa stila lapai būs prioritāte pār lietotāja paša stila lapām un platformas noklusējuma stila lapām.";
@ -1424,7 +1424,7 @@ $DisplayMiniMonthCalendarComment = "Šis iestatījums, ieslēdz vai atslēdz nel
$DisplayUpcomingEventsTitle = "Attēlot gaidāmos notikumus instrumentā \"Kursa plānotājs\"";
$DisplayUpcomingEventsComment = "Šis iestatījums ieslēdz vai atslēdz gaidāmo notikumu attēlojumu, kas parādās instrumenta \"Kursa Plānotājs\" kreisajā slejā";
$NumberOfUpcomingEventsTitle = "Gaidāmiem notikumu skaits, kas tiek attēlots.";
$NumberOfUpcomingEventsComment = "Gaidāmo notikumu skaits tiek attēlots Kursa plānotājā.<br>
$NumberOfUpcomingEventsComment = "Gaidāmo notikumu skaits tiek attēlots Kursa plānotājā.<br>
Tas nozīmē, ka notikumu funkcionalitāte ir aktivizēta (skatīt iestatījumu iepriekš).";
$ShowClosedCoursesTitle = "Rādīt slēgtos apmācības kursus galvenajā reģistrācijas lapā un portāla sākuma lapā?";
$ShowClosedCoursesComment = "Rādīt slēgtos kursus Portāla sākuma lapā un kursu sarakstā ? Portāla sākuma lapā ikona parādīsies blakus kategorijām, lai ātri varētu pierakstīties uz kursiem. <br>Ikonas parādās portālā sākuma lapā tikai tad, kad lietotājs ir ielogojies.";
@ -1964,7 +1964,7 @@ $OogieUnknownError = "Konvertācija nezināma iemesla dēļ ir atcelta. <br>Lūd
$OogieBadExtension = "Lūdzu augšupielādējiet tikai prezentācijas. Faila beigu paplašinājumam ir jābūt .ppt vai .odp";
$WoogieBadExtension = "Lūdzu augšupielādējiet tikai dokumentus. <br>Faila beigu paplašinājumam ir jābūt .doc, .docx vai .odt";
$ShowAudioRecorder = "Rādīt audio rakstītāju";
$SearchFeatureSearchExplanation = "Lai atrastu kursa datubāzi, lūdzu lietojiet sekojošu sintaksi:
$SearchFeatureSearchExplanation = "Lai atrastu kursa datubāzi, lūdzu lietojiet sekojošu sintaksi:
termina pazīme:pazīme_nosaukums -exclude +include \"exact phrase\" <br>Piemēram: car pazīme:vilcējs -ferrari +ford \"high consumption\". This will show all the results for the word \'car\' tagged as \'truck\', not including the word \'ferrari\' but including the word \'ford\' and the exact phrase \'high consumption\'.";
$ViewLearningPath = "Skatīt tēmu";
$SearchFeatureDocumentTagsIfIndexing = "Pazīmes, lai pievienotu dokumentam, ja ir indeksēts";
@ -2780,9 +2780,9 @@ $UplGenericError = "Fails, ko jūs augšupielādējāt, netika saņemts. Lūdzu,
$MyGradebook = "Ieskaišu grāmatiņas iestatījumi";
$Gradebook = "Ieskaišu grāmatiņas iestatījumi";
$OpenIDWhatIs = "Kas ir OpenID?";
$OpenIDDescription = "OpenID novērš vajadzību pēc vairākiem pieteikumiem dažādās mājas lapās, kā arī vienkāršo Jūsu tiešsaistes pieredzi. Jums tikai jāizvēlas OpenID sniedzējs, kas vislabāk atbilst jūsu vajadzībām un vissvarīgākais, kam jūs uzticaties.
<br>Tajā pašā laikā, jūsu OpenID var palikt ar Jums, neatkarīgu kādu pārvaldītāju Jūs izvēlaties.
<br>Visabākās no visiām OpenID tehnoloģijām, ir tās kuras tas nav patentētas un ir pilnīgi bezmaksas. Uzņēmumam tas nozīmē zemākas izmaksas paroles un konta pārvaldību, kamēr ievieš jaunu interneta satiksmi.
$OpenIDDescription = "OpenID novērš vajadzību pēc vairākiem pieteikumiem dažādās mājas lapās, kā arī vienkāršo Jūsu tiešsaistes pieredzi. Jums tikai jāizvēlas OpenID sniedzējs, kas vislabāk atbilst jūsu vajadzībām un vissvarīgākais, kam jūs uzticaties.
<br>Tajā pašā laikā, jūsu OpenID var palikt ar Jums, neatkarīgu kādu pārvaldītāju Jūs izvēlaties.
<br>Visabākās no visiām OpenID tehnoloģijām, ir tās kuras tas nav patentētas un ir pilnīgi bezmaksas. Uzņēmumam tas nozīmē zemākas izmaksas paroles un konta pārvaldību, kamēr ievieš jaunu interneta satiksmi.
<br>OpenID pazemina lietotāju neapmierinātību, ļaujot lietotājiem kontrolēt savu reģistrācijas parametrus <br /> <br /> <a href=\"http://openid.net/what/\"> lasiet vairāk ...</ a>.";
$NoManager = "Nav vadītāja";
$ExportiCal = "iCal eksports";
@ -3244,7 +3244,7 @@ $NewMessageInForum = "Jauns ziņojums publicēts forumā";
$FolderCreated = "Izveidota jauna direktorija";
$AgendaAdded = "Pievienots notikums";
$ShouldBeCSVFormat = "Failam jābūt CSV formātā. Nepievienojiet tukšumus. Struktūrai jābūt tieši šādai:";
$Enter2passToChange = "Lai veiktu paroles maiņu, ievadiet to abos lauciņos zemāk. Ja nevēlaties to darīt, atstājiet lauciņus tukšus.";
$TypeCurrentPassword = "Lai veiktu paroles maiņu, ievadiet to abos lauciņos zemāk. Ja nevēlaties to darīt, atstājiet lauciņus tukšus.";
$AuthInfo = "Autorizēšanās";
$ImageWrong = "Dokumenta izmēram jābūt mazākam par";
$NewPass = "Jauna parole";
@ -5033,12 +5033,12 @@ $SendInformation = "Sūtīt informāciju";
$YouMustAcceptLicence = "Jums ir jāakceptē licence";
$SelectOne = "Izvēlieties vienu";
$ContactInformationHasBeenSent = "Kontaktinformācija ir nosūtīta";
$ContactInformationDescription = "Cienījamais lietotāj,
Jūs gatavojaties sākt izmantot vienu no labākajām atvērtā koda e-apmācības platformām tirgū. Tāpat, kā daudzi citi atvērtā koda projekti, šis projekts ir pamatots ar plašu studentu, skolotāju, izstrādātāju un satura veidotāju sabiedrības darbu, kuri vēlētos, lai projekta attīstība noritētu labāk.
Zinot, mazliet vairāk par jums, kā ir vienu no mūsu svarīgajiem lietotājiem, kas vadīs šo e-apmācības sistēmu, mēs varēsim ļaut cilvēkiem zināt, kā mūsu programmatūra tiek izmantota, un dos mums iespēju jums paziņot, kad mēs organizēsim pasākumus, kas varētu būt nozīmīgi jums.<br>
Aizpildot šo veidlapu, jūs piekrītat, ka Chamilo asociācija vai tās locekļi var nosūtīt jums informāciju pa e-pastu, par svarīgiem notikumiem, vai jaunumiem Chamilo programmatūrā, vai sabiedrībā. Tas palīdzēs sabiedrībai attīstīties, jo organizēs informācijas plūsmu, ar pastāvīgu attieksmi pret jūsu laiku un jūsu privātumu.<br>
$ContactInformationDescription = "Cienījamais lietotāj,
Jūs gatavojaties sākt izmantot vienu no labākajām atvērtā koda e-apmācības platformām tirgū. Tāpat, kā daudzi citi atvērtā koda projekti, šis projekts ir pamatots ar plašu studentu, skolotāju, izstrādātāju un satura veidotāju sabiedrības darbu, kuri vēlētos, lai projekta attīstība noritētu labāk.
Zinot, mazliet vairāk par jums, kā ir vienu no mūsu svarīgajiem lietotājiem, kas vadīs šo e-apmācības sistēmu, mēs varēsim ļaut cilvēkiem zināt, kā mūsu programmatūra tiek izmantota, un dos mums iespēju jums paziņot, kad mēs organizēsim pasākumus, kas varētu būt nozīmīgi jums.<br>
Aizpildot šo veidlapu, jūs piekrītat, ka Chamilo asociācija vai tās locekļi var nosūtīt jums informāciju pa e-pastu, par svarīgiem notikumiem, vai jaunumiem Chamilo programmatūrā, vai sabiedrībā. Tas palīdzēs sabiedrībai attīstīties, jo organizēs informācijas plūsmu, ar pastāvīgu attieksmi pret jūsu laiku un jūsu privātumu.<br>
Ņemiet vērā, ka Jums <b>nav nepieciešams</b> aizpildīt šo veidlapu. Tikai, ja jūs vēlaties palikt anonīms, mēs zaudēsim iespēju piedāvāt jums visas privilēģijas, kādas ir reģistrētiem portāla administratoriem, bet mēs respektēsim jūsu lēmumu. Vienkārši atstājiet šo formu tukšu un noklikšķiniet uz \"Next\".";
$CompanyActivity = "Jūsu uzņēmuma darbības veids";
$DateUnLock = "Atbloķēt datumus";
@ -5434,7 +5434,7 @@ $ExtensionSessionsNotAvailable = "Sesijas paplašinājums nav pieejams";
$ExtensionZlibNotAvailable = "Zlib paplašinājums nav pieejams";
$ExtensionPCRENotAvailable = "PCRE paplašinājums nav pieejams";
$ToGroup = "Uz sociālo grupu";
$XWroteY = "%s rakstīja:
$XWroteY = "%s rakstīja:
%s";
$BackToGroup = "Atgriezties Grupā";
$GoAttendance = "Doties uz Klātienes reģistru";

@ -2007,7 +2007,7 @@ $NewMessageInForum = "New message posted in the forum";
$FolderCreated = "New folder created";
$AgendaAdded = "Agenda item added";
$ShouldBeCSVFormat = "Failas turi buti CSV formato. Napalikite tarpų. Struktūra turi būti tiksli :";
$Enter2passToChange = "Keisdami įveskite savo slaptažodį dukart. Kitaip palikite šiuos laukus tuščius.";
$TypeCurrentPassword = "Keisdami įveskite savo slaptažodį dukart. Kitaip palikite šiuos laukus tuščius.";
$AuthInfo = "Autentifikacija";
$ImageWrong = "Failo dydis turi buti mažesnis negu";
$password_request = "Jūsų paprašė pakeisti slaptažodį į pradinį.Jei jūs neprašėte, ignoruokite šį laišką.Kad pakeisti slaptažodį į pradinį, spauskite ant nuorodos.";

@ -1975,7 +1975,7 @@ $NewMessageInForum = "Новата порака е објавена на фор
$FolderCreated = "Новата папка е креирана";
$AgendaAdded = "Додаден е елементот на календарот";
$ShouldBeCSVFormat = "Датотеката реба да биде во CSV формат. Не додавајте празни места. Структирата треба да е точно:";
$Enter2passToChange = "Внесете ја вашата лозинка двапати за да ја промените. Во спротивно, оставете ги полињата празни.";
$TypeCurrentPassword = "Внесете ја вашата лозинка двапати за да ја промените. Во спротивно, оставете ги полињата празни.";
$AuthInfo = "Проверка на автентичноста";
$ImageWrong = "Гоемината на датотеката треба да е помала од";
$password_request = "Побаравте да преправите Вашата лозинка. Ако не сте побарале, тогаш игнорирајте ја оваа порака. За да ја преправите Вашата лозинка кликнете на врската преправи.";

@ -213,7 +213,7 @@ $AllowUserEditAnnouncementActivate = "فعال سازی نسخه توسط کار
$AllowUserEditAnnouncementDeactivate = "غیر فعال کردن نسخه توسط کاربر";
$OrInTime = "یا در";
$CourseRegistrationPassword = "کلمه عبور ثبت نام درس";
$DescriptionDeleteCourse = "جهت حذف کامل درس از روی سرور بر روی این پیوند کلیک کنید.
$DescriptionDeleteCourse = "جهت حذف کامل درس از روی سرور بر روی این پیوند کلیک کنید.
مواظب باشید، هیچ راه برگشتی وجود ندارد!";
$DescriptionCopyCourse = "کپی کردن درس و یا ابزار های آموزشی در یک درس دیگر. شما به دو درس جهت انجام این کار نیاز دارید: یک درس اصلی و دیگر درس مقصد.";
$DescriptionRecycleCourse = "این ابزار درس را خالی می کند. یعنی اسناد، انجمن ها، پیوندها و غیره را حذف می کند. البته به شما اجازه انتخاب بخش های جهت حذف داده می شود و یا اینکه قصد حذف کل آن را دارید.";
@ -635,12 +635,12 @@ $CsvFileLine1 = "... - line 1 =";
$CsvLinesFailed = "وارد کردن پیوند در خط مورد نظر با شکست روبرو شد. علت این مشکل می تواند عدم وجود اطلاعات مربوط به عنوان و یا آدرس اینترنتی باشد.";
$CsvLinesOld = "پیوندهای مورد نظر به روز گردیدند : همان دسته و همان آدرس اینترنتی";
$CsvLinesNew = "پیوند جدید ساخته شد";
$CsvExplain = "فایل باید به این شکل باشد:
URL;category;title;description;http://www.aaa.org/...;Important links;Name 1;Description 1;http://www.bbb.net/...;;Name 2;\"Description 2\";
If URL and category are equal to those of an existing link, its title and description are updated. In all other cases a new link is created.
$CsvExplain = "فایل باید به این شکل باشد:
URL;category;title;description;http://www.aaa.org/...;Important links;Name 1;Description 1;http://www.bbb.net/...;;Name 2;\"Description 2\";
If URL and category are equal to those of an existing link, its title and description are updated. In all other cases a new link is created.
Bold = mandatory. Fields can be in any order, names in upper- or lowercase. Additional fields are added to description. Separator: comma or semicolon. Values may be quoted, but not the field names. Some [b]HTML tags[/b] can be imported in the description field.";
$LinkUpdated = "پیوند بروز رسانی شد";
$OnHomepage = "نمایش پیوند در صفحه اصلی آموزشی";
@ -2556,7 +2556,7 @@ $NewMessageInForum = "پیام جدید در انجمن ارسال شد";
$FolderCreated = "پوشه جدید ساخته شد";
$AgendaAdded = "رویداد اضافه شد";
$ShouldBeCSVFormat = "فایل مورد نظر باید از نوع سی اس وی باشد. هیچ فاصلۀ اضافی نمی بایست افزوده شود . ساختار باید عیناً به صورت زیر باشد";
$Enter2passToChange = "در صورتی که می خواهید رمز ورود خود را تغییر دهید، می بایست رمز جدید خود را دو بار وارد کنید. اگر نمی خواهید رمز ورود خود را تغییر دهید خانه های مربوط به تغییر رمز ورود را خالی بگذارید";
$TypeCurrentPassword = "در صورتی که می خواهید رمز ورود خود را تغییر دهید، می بایست رمز جدید خود را دو بار وارد کنید. اگر نمی خواهید رمز ورود خود را تغییر دهید خانه های مربوط به تغییر رمز ورود را خالی بگذارید";
$AuthInfo = "تصدیق";
$ImageWrong = "حجم فایل مورد نظر باید کاهش یابد";
$NewPass = "کلمه عبور جدید";
@ -2646,7 +2646,7 @@ $CorrespondsToAccounts = "این پست الکترونیک مربوط به حس
$AccountExternalAuthSource = "سیستم قادر به انجام درخواست بصورت اتوماتیک نبود چون حساب کاربری یک مجوز ورودی خارجی دارد. لطفا اقدامات مناسب را مبذول داشته و به کاربر اطلاع دهید.";
$AccountsExternalAuthSource = "سیستم قادر به انجام درخواست بصورت اتوماتیک نبود چون حداقل یکی از حساب های کاربری یک مجوز ورودی خارجی دارد. لطفا اقدامات مناسب را برای همه حساب های کاربرب مبذول داشته و به کاربر اطلاع دهید.";
$RequestSentToPlatformAdmin = "سیستم قادر به انجام درخواست شما برای این نوع حساب کاربری نیست. درخواست شما برای مدیر سیستم ارسال شد که اقدامات مناسب را مبذول داشته و نتیجه را به شما اطلاع خواهند داد.";
$ProgressIntroduction = "با انتخاب یک جلسه آموزشی در پایین شروع کنید.
$ProgressIntroduction = "با انتخاب یک جلسه آموزشی در پایین شروع کنید.
شما بعد از آن قادر به مشاهده روند پیشرفت هر یک دروس ثبت نام شده خواهد بود.";
$NeverExpires = "هرگز منقضی نمی شود";
$ActiveAccount = "حساب کاربری";
@ -3325,35 +3325,35 @@ $SessionData = "اطلاعات جلسه";
$ShowGlossaryInExtraToolsTitle = "واژه های واژه نامه را در ایزار اضافی نمایش داده شود";
$ShowGlossaryInExtraToolsComment = "از این بخش قادر به پیکربندی نحوه افزودن واژه های واژه نامه در ابزار اضافی بعنوان مسیر آموزشی و ابزار تمرین هستید";
$HSurvey = "راهنمای بررسی";
$SurveyContent = "Getting proper feedback on your courses is extremely important. You will find the dedicated Survey tool invaluable for getting effective feedback from users.
Creating a new survey
Click on the link 'Create a new survey' and fill in the fields 'Survey code' and 'Survey title'. With the help of the calendar, you can control the duration of your survey. There's no need to keep it open for a whole year; allow access for a few days at the end of the training program. Filling in the text fields 'Survey introduction' and 'Survey thanks' is also good practice; this will add clarity and a certain friendliness to your survey.
Adding questions to the survey
Once the survey outline is created, it is up to you to create the questions. The 'Survey' tool has many question types: open/closed questions, percentage, QCM, multiple responses... You should certainly find everything you need for your (ever increasing) feedback requirements.
Previewing the survey
Once you have created questions, you may want to check what the survey will look like to learners. Click on the 'Preview' icon and the preview screen will show you exactly this.
Publishing the survey
Happy with the preview? Any modifications to be made? No? Then click on the icon 'Publish survey' to send the survey to the selected list of recipients. As with creating groups, use the list 'Users of this course' on the left and the one for 'receivers' on its right to arrrange this. Next, fill in the email subject 'Title of the email' and the content, 'Text of the email'. Potential surveyees will be alerted by email of the availability of a survey. Think carefully about the wording of the email because it will play a big part in motivating users to take the survey.
Survey reports
Analyzing surveys is a tedious task. The survey Reporting tool will help with analysis as it sorts reports according to question, user, comparisons etc...
Managing surveys
$SurveyContent = "Getting proper feedback on your courses is extremely important. You will find the dedicated Survey tool invaluable for getting effective feedback from users.
Creating a new survey
Click on the link 'Create a new survey' and fill in the fields 'Survey code' and 'Survey title'. With the help of the calendar, you can control the duration of your survey. There's no need to keep it open for a whole year; allow access for a few days at the end of the training program. Filling in the text fields 'Survey introduction' and 'Survey thanks' is also good practice; this will add clarity and a certain friendliness to your survey.
Adding questions to the survey
Once the survey outline is created, it is up to you to create the questions. The 'Survey' tool has many question types: open/closed questions, percentage, QCM, multiple responses... You should certainly find everything you need for your (ever increasing) feedback requirements.
Previewing the survey
Once you have created questions, you may want to check what the survey will look like to learners. Click on the 'Preview' icon and the preview screen will show you exactly this.
Publishing the survey
Happy with the preview? Any modifications to be made? No? Then click on the icon 'Publish survey' to send the survey to the selected list of recipients. As with creating groups, use the list 'Users of this course' on the left and the one for 'receivers' on its right to arrrange this. Next, fill in the email subject 'Title of the email' and the content, 'Text of the email'. Potential surveyees will be alerted by email of the availability of a survey. Think carefully about the wording of the email because it will play a big part in motivating users to take the survey.
Survey reports
Analyzing surveys is a tedious task. The survey Reporting tool will help with analysis as it sorts reports according to question, user, comparisons etc...
Managing surveys
When managing surveys you will see some new icons, apart from the usual 'Edit' and 'Delete' options.You can preview, publish and keep track of your surveys and responses using these.";
$HBlogs = "راهنمای پروژه";
$BlogsContent = "The Project tool facilitates collaborative project work.
One way to use the tool is to use it to assign authors charged with keeping written reports on activities throughout the day/week.
Coupled with this is a task management tool through which you can assign a relevant task to any of the designated authors (eg to report on the evolution of safety standards in the business).
$BlogsContent = "The Project tool facilitates collaborative project work.
One way to use the tool is to use it to assign authors charged with keeping written reports on activities throughout the day/week.
Coupled with this is a task management tool through which you can assign a relevant task to any of the designated authors (eg to report on the evolution of safety standards in the business).
An item representing new content is called an article . To create a new article, just follow the link in the menu prompting you to do. To edit (if you are the author of the article) or add a comment to an article, just click on the title of this article.";
$FirstSlide = "اولین اسلاید";
$LastSlide = "آخرین اسلاید";
@ -3698,7 +3698,7 @@ $CourseSettingsRegisterDirectLink = "اگر درس شما عمومی و باز
$DirectLink = "پیوند مستقیم";
$here = "اینجا";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "پیش بروید و کاتالوگ دروس خود را بگردید و به هر درسی که خواستید ثبت نام کنید. پس از ثبت نام، شما خواهید دید که بجای این پیام درس در سمت راست %s نمایش داده می شود.";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "سلام علیکم %s ، خوش آمدید،
$HelloXAsYouCanSeeYourCourseListIsEmpty = "سلام علیکم %s ، خوش آمدید،
همانطور که می بینید، فهرست دروس شما هنوز خالی هست. به این خاطر هست که شما تا بحال در هیچ درسی ثبت نام نکرده اید!";
$UnsubscribeUsersAlreadyAddedInCourse = "کاربران لغو شده قبلا اضافه شده اند";
$ImportUsers = "درون ریزی کاربران";

@ -193,7 +193,7 @@ $Stats = "Statystyki";
$UplPage = "Załaduj stronę i przyłącz do strony głównej";
$LinkSite = "Dodaj łącze do strony głównej";
$HasDel = "została usunięta";
$ByDel = "Skasowanie kursu trwale usunie wszystkie dokumenty kursu i wyrejestruje z kursu wszystkich studentów (nie usunie ich z innych kursów).
$ByDel = "Skasowanie kursu trwale usunie wszystkie dokumenty kursu i wyrejestruje z kursu wszystkich studentów (nie usunie ich z innych kursów).
Czy na pewno chcesz usunąć kurs?";
$Y = "Tak";
$N = "Nie";
@ -328,7 +328,7 @@ $DocumentsWillBeAddedToo = "Dokumenty zostaną dodane";
$ToExportLearnpathWithQuizYouHaveToSelectQuiz = "Jeśli chcesz wyeksportować ścieżki nauczania zawierające test, upewnij się, że odpowiednie testy zostały włączone do eksportu. Należy je wybrać z listy testów.";
$ArchivesDirectoryNotWriteableContactAdmin = "Archiwa katalogu wykorzystywane przez to narzędzie, nie posiadają prawa zapisu. Skontaktuj się z administratorem platformy.";
$DestinationCourse = "Kurs docelowy";
$CasMainActivateComment = "Włączanie uwierzytelniania CAS pozwoli użytkownikom na uwierzytelnianie poświadczeń CAS.
$CasMainActivateComment = "Włączanie uwierzytelniania CAS pozwoli użytkownikom na uwierzytelnianie poświadczeń CAS.
Idź do zakładki Wtyczki, aby dodać przycisk konfigurowalny 'login CAS' dla całego kampusu Chamilo.";
$UsersRegisteredInAnyGroup = "Użytkownicy zarejestrowani w każdej grupie";
$Camera = "Kamera";
@ -420,14 +420,14 @@ $ThisItemIsInvisibleForStudentsButYouHaveAccessAsTeacher = "Ten element jest nie
$EnableIframeInclusionComment = "Zezwalając na użycie ramek Iframe wewnątrz edytora HTML ulepszysz możliwości edycji dla użytkowników, ale wiąże się to z pewnym ryzykiem. Upewnij się, że możesz zaufać swoim użytkownikom (np. Jeśli wiesz kim są) przed włączeniem tego rozszerzenia.";
$AddedToLPCannotBeAccessed = "Ćwiczenie zostało włączone do ścieżki nauki, nie może być dostępne bezpośrednio stąd. Jeśli chcesz udostępnić to samo ćwiczenie poprzez narzędzie ćwiczeń, należy zrobić kopię obecnego zadania przy użyciu ikony kopiowania.";
$EnableIframeInclusionTitle = "Zezwól na użycie ramek Iframe w edytorze HTML";
$MailTemplateRegistrationMessage = "Szanowny/a ((firstname)) ((lastname)),\n\n
Jesteś zarejestrowany na ((sitename)) z następującymi ustawieniami:\n\n
Nazwa użytkownika: ((username))\nHasło: ((password))\n\n
Adres strony ((sitename)) to:. ((url))\n\n
ln W przypadku jakichkolwiek problemów, prosimy o kontakt.\n\n
$MailTemplateRegistrationMessage = "Szanowny/a ((firstname)) ((lastname)),\n\n
Jesteś zarejestrowany na ((sitename)) z następującymi ustawieniami:\n\n
Nazwa użytkownika: ((username))\nHasło: ((password))\n\n
Adres strony ((sitename)) to:. ((url))\n\n
ln W przypadku jakichkolwiek problemów, prosimy o kontakt.\n\n
Administrator\n((admin_name)) ((admin_surname)).";
$Explanation = "Kliknięcie OK spowoduje utworzenie stron kursu z Forum, Terminarzem, Obszarem dokumentów itd. Tylko Ty, jako twórca kursu możesz te strony modyfikować";
$CodeTaken = "Kod kursu jest już podany.
$CodeTaken = "Kod kursu jest już podany.
Użyj przycisku Wstecz i spróbuj jeszcze raz";
$ExerciceEx = "Przykładowe ćwiczenie";
$Antique = "Historia Filozofii Starożytnej";
@ -1065,7 +1065,7 @@ $SettingsStored = "Ustawienia zostały zachowane";
$InstitutionTitle = "Nazwa instytucji";
$InstitutionComment = "Nazwa instytucji (pojawi się w nagłówku po prawej stronie)";
$InstitutionUrlTitle = "Strona www Instytucji";
$InstitutionUrlComment = "Strona www Instytucji
$InstitutionUrlComment = "Strona www Instytucji
(link zlokalizowany po prawej stronie nagłówka)";
$SiteNameTitle = "Nazwa platformy e-learningowej";
$SiteNameComment = "Nazwa Twojej Strony (pojawi się w nagłówku)";
@ -1395,10 +1395,10 @@ $UploadExtensionsSkipComment = "Jeśli zdecydujesz się pominąć, pliki przefil
$UploadExtensionsReplaceBy = "Zmiana rozszerzenia";
$UploadExtensionsReplaceByComment = "Wpisz rozszerzenie, które chcesz użyć do zastąpienia niebezpiecznych rozszerzeń wykrytych przez filtr. Potrzebne tylko po wybraniu opcji zmiana filtru.";
$ShowNumberOfCoursesComment = "Pokaż liczbę kursów w każdej kategorii w polu kategorii kursów na stronie głównej.";
$EphorusDescription = "Zacznij korzystać z usługi anty plagiatu Ephorus w Chamilo.<br>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>Z usługą Ephorus można uniknąć plagiatu w Internecie bez dodatkowego wysiłku.</b><br>
$EphorusDescription = "Zacznij korzystać z usługi anty plagiatu Ephorus w Chamilo.<br>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t<b>Z usługą Ephorus można uniknąć plagiatu w Internecie bez dodatkowego wysiłku.</b><br>
\t\t\t\t\t\t\t\t\t\t\t\t\t\t Możesz skorzystać z unikalnej standardowej usługi, aby zbudować własną integrację lub użyć jednego z naszych modułów integracyjnych.";
$EphorusLeadersInAntiPlagiarism = "<b>Liderzy w <br>
$EphorusLeadersInAntiPlagiarism = "<b>Liderzy w <br>
anty plagiacie</b> \t\t\t\t";
$EphorusClickHereForInformationsAndPrices = "Kliknij tutaj, aby uzyskać więcej informacji oraz cennik\t\t\t";
$NameOfTheSession = "Nazwa sesji";
@ -1477,13 +1477,13 @@ $FieldPossibleValues = "Możliwe wartości";
$FieldPossibleValuesComment = "Wpisujemy wartości do wyboru, pola rozdzielane średnikami (;)";
$FieldTypeDate = "Data";
$FieldTypeDatetime = "Data i czas";
$UserFieldsAddHelp = "Dodawanie pola użytkownika jest bardzo proste:
- Wybierz jeden wyraz, identyfikator wpisany z małych liter,
- Wybierz typ,
- Wybierz tekst, który ma się pojawić użytkownikowi(jeśli użyjesz istniejącej przetłumaczonej nazwy jak DataUrodzenia lub PłećUżytkownika, to zostanie to przetłumaczone automatycznie na dowolny język),
- jeśli wybrałeś wielokrotny typ (radio,wybór, wielokrotny wybór), masz zapewnioną możliwość wyboru (ponownie, można skorzystać ze zmiennych językowych określonych w Chamilo), oddzielonego średnikiem,
- dla typów tekstowych, możesz wybrać wartość domyślną.
$UserFieldsAddHelp = "Dodawanie pola użytkownika jest bardzo proste:
- Wybierz jeden wyraz, identyfikator wpisany z małych liter,
- Wybierz typ,
- Wybierz tekst, który ma się pojawić użytkownikowi(jeśli użyjesz istniejącej przetłumaczonej nazwy jak DataUrodzenia lub PłećUżytkownika, to zostanie to przetłumaczone automatycznie na dowolny język),
- jeśli wybrałeś wielokrotny typ (radio,wybór, wielokrotny wybór), masz zapewnioną możliwość wyboru (ponownie, można skorzystać ze zmiennych językowych określonych w Chamilo), oddzielonego średnikiem,
- dla typów tekstowych, możesz wybrać wartość domyślną.
Kiedy skończysz, dodaj pole i wybierz, czy chcesz, aby było widoczne i modyfikowalne. Ustawienie modyfikowalnego, ale nie widocznego jest bezużyteczne";
$AllowCourseThemeTitle = "Umożliwiaj tematy kursów";
$AllowCourseThemeComment = "Umożliwia graficzne tematy kursu i pozwala zmienić arkusz stylów używany w kursie do każdego z możliwych dostępnych arkuszy stylów Chamilo. Gdy użytkownik wchodzi na kurs, arkusz stylów kursu będzie miał pierwszeństwo nad arkuszem stylów użytkownika i domyślnego arkusza stylów platformy.";
@ -2136,9 +2136,9 @@ $CreateANewLink = "Utwórz nowy link";
$CreateANewForum = "Utwórz nowe forum";
$WoogieConversionPowerPoint = "Woogie: konwersja słowa";
$WelcomeWoogieSubtitle = "MS Word na konwerter kursu";
$WelcomeWoogieConverter = "Witamy w Woogie Rapid Learning
- Wybierz plik .doc, .sxw, .odt
- Wyślij je do Woogie. To będzie przekonwertowane do kursu SCORM
$WelcomeWoogieConverter = "Witamy w Woogie Rapid Learning
- Wybierz plik .doc, .sxw, .odt
- Wyślij je do Woogie. To będzie przekonwertowane do kursu SCORM
- Wtedy będziesz mógł dodawać komentarze audio na każdej stronie i wstawiać quizy oraz inne działania pomiędzy stronami";
$WoogieError = "Błąd podczas konwersji dokumentu programu Word. Sprawdź, czy istnieją specjalne znaki w nazwie dokumentu ..";
$WordConvert = "Konwersja plików Word";
@ -2151,17 +2151,17 @@ $SplitStepsPerPage = "Strona, Przedmiot nauczania";
$SplitStepsPerChapter = "Moduł, Przedmiot nauczania";
$TakeSlideName = "Użyj nazw slajdów jako nazw przedmiotów nauczania kursu";
$CannotConnectToOpenOffice = "Połączenie z konwerterem dokumentu nie powiodło się. Skontaktuj się z administratorem platformy, aby rozwiązać problem.";
$OogieConversionFailed = "Konwersja nie powiodła się.
Niektóre dokumenty są zbyt skomplikowane,by mogły być potraktowane automatycznie przez konwerter dokumentów.
$OogieConversionFailed = "Konwersja nie powiodła się.
Niektóre dokumenty są zbyt skomplikowane,by mogły być potraktowane automatycznie przez konwerter dokumentów.
Staramy się go poprawić.";
$OogieUnknownError = "Konwersja nie powiodła się z nieznanych przyczyn. Skontaktuj się z administratorem, aby uzyskać więcej informacji.";
$OogieBadExtension = "Prześlij tylko prezentacje. Pliki muszą mieć rozszerzenie .ppt lub .odp";
$WoogieBadExtension = "Prześlij tylko dokumenty tekstowe. Pliki muszą mieć rozszerzenie .doc, .docx lub .odt";
$ShowAudioRecorder = "Pokaż rejestrator dźwięku";
$SearchFeatureSearchExplanation = "Aby przeszukać bazę danych kursów, użyj następujących składni:
<i>term tag:tag_name -exclude +include \"exact phrase\"</i>
Na przykład:
 <i> car tag:truck -ferrari +ford \"high consumption\".</i>
$SearchFeatureSearchExplanation = "Aby przeszukać bazę danych kursów, użyj następujących składni:
<i>term tag:tag_name -exclude +include \"exact phrase\"</i>
Na przykład:
 <i> car tag:truck -ferrari +ford \"high consumption\".</i>
Spowoduje to wyświetlenie wszystkich wyników dla słowa \"samochód\", oznaczone jako \"ciężarówki\", wyłączając \"ferrari\", ale zawierając słowa\"ford\" i wyrażenie \"wysoka konsumpcja\".";
$ViewLearningPath = "Widok kursu";
$SearchFeatureDocumentTagsIfIndexing = "Tagi do dodania do dokumentu, jeśli indeksowanie";
@ -2249,12 +2249,12 @@ $LessAnswers = "-odp";
$MoreElements = "+elem";
$LessElements = "-elem";
$TypeTextBelow = "Wpisz tekst poniżej";
$DefaultTextInBlanks = "Przykład wypełnienia formularza: obliczenia wskaźnika masy ciała
Wiek: [25 lat]
Płeć: [M] (M lub F)
Waga: 95 kg
Wysokość: 1,81 m
$DefaultTextInBlanks = "Przykład wypełnienia formularza: obliczenia wskaźnika masy ciała
Wiek: [25 lat]
Płeć: [M] (M lub F)
Waga: 95 kg
Wysokość: 1,81 m
Wskaźnik masy ciała: [29]BMI = Waga/Rozmiar2 (zob. artykuł w Wikipedii)";
$DefaultMatchingOptA = "Zanotuj adres";
$DefaultMatchingOptB = "Skontaktuj się ze służbami ratowniczymi";
@ -2968,8 +2968,8 @@ $AccessToFaq = "Dostęp do najczęściej zadawanych pytań";
$Faq = "Najczęściej zadawane pytania";
$RemindInactivesLearnersSince = "Przypomnij użytkownikom nieaktywnym od";
$RemindInactiveLearnersMailSubject = "Brak aktywności od %s";
$RemindInactiveLearnersMailContent = "Drogi użytkowniku,
<br><br>
$RemindInactiveLearnersMailContent = "Drogi użytkowniku,
<br><br>
nie byłeś aktywny na %s, więcej niż %s dni.";
$OpenIdAuthentication = "Autoryzacja OpenID";
$UploadMaxSize = "Maksymalny rozmiar plików";
@ -2983,8 +2983,8 @@ $UplGenericError = "Przesłanie pliku nie powiodło się. Spróbuj ponownie pó
$MyGradebook = "Moje Oceny";
$Gradebook = "Oceny";
$OpenIDWhatIs = "Co to jest OpenID?";
$OpenIDDescription = "OpenID eliminuje potrzebę stosowania wielu loginów w różnych stronach internetowych, upraszczając Ci korzystanie z Internetu. Musisz wybrać dostawcę OpenID, który najlepiej spełnia Twoje potrzeby i co najważniejsze, któremu możesz zaufać. Twój OpenID zostaje z Tobą, bez względu na to, czy przeniesiesz się do innego Dostawcy. A najlepsze jest to, że technologia OpenID nie jest zastrzeżona i jest całkowicie darmowa. Dla firm oznacza to niższe koszty hasła i zarządzania kontem, czerpiąc z nowego ruchu w sieci. OpenID zmniejsza frustrację użytkownika, dając użytkownikom kontrolę nad ich loginem.
$OpenIDDescription = "OpenID eliminuje potrzebę stosowania wielu loginów w różnych stronach internetowych, upraszczając Ci korzystanie z Internetu. Musisz wybrać dostawcę OpenID, który najlepiej spełnia Twoje potrzeby i co najważniejsze, któremu możesz zaufać. Twój OpenID zostaje z Tobą, bez względu na to, czy przeniesiesz się do innego Dostawcy. A najlepsze jest to, że technologia OpenID nie jest zastrzeżona i jest całkowicie darmowa. Dla firm oznacza to niższe koszty hasła i zarządzania kontem, czerpiąc z nowego ruchu w sieci. OpenID zmniejsza frustrację użytkownika, dając użytkownikom kontrolę nad ich loginem.
Czytaj dalej ...";
$NoManager = "Brak administratora";
$ExportiCal = "Eksport iCal";
@ -3139,8 +3139,8 @@ $SearchResetKeywords = "Resetuj słowa kluczowe";
$SearchKeywords = "Słowa kluczowe";
$IntroductionTextDeleted = "Wprowadzenie zostało usunięte";
$SearchKeywordsHelpTitle = "Pomoc przy Wyszukiwaniu słów kluczowych";
$SearchKeywordsHelpComment = "Wybierz słowa kluczowe w jednym lub kilku polach, a następnie kliknij przycisk wyszukiwania.<br><br>
$SearchKeywordsHelpComment = "Wybierz słowa kluczowe w jednym lub kilku polach, a następnie kliknij przycisk wyszukiwania.<br><br>
Aby wybrać więcej niż jedno słowo kluczowe w polu, należy użyć Ctrl + kliknij.";
$Validate = "OK";
$SearchCombineSearchWith = "Połącz słowa kluczowe z";
@ -3445,7 +3445,7 @@ $NewMessageInForum = "Nowa wiadomość wysłana na forum";
$FolderCreated = "Nowy katalog utworzony";
$AgendaAdded = "Dodano zdarzenia";
$ShouldBeCSVFormat = "Plik powinien być w formacie CSV. Nie dodawaj spacji. Plik powinien mieć strukturę:";
$Enter2passToChange = "Podaj nowe hasło dwukrotnie";
$TypeCurrentPassword = "Podaj nowe hasło dwukrotnie";
$AuthInfo = "Autoryzacja";
$ImageWrong = "Rozmiar pliku powinien być mniejszy niż";
$NewPass = "Nowe hasło";
@ -3713,7 +3713,7 @@ $Changes = "Zmiany";
$MostActiveUsers = "Najbardziej aktywni użytkownicy";
$Contributions = "Składki";
$UserContributions = "Składki użytkownika";
$WarningDeleteMainPage = "Usunięcie strony głównej Wiki nie jest zalecane, ponieważ jest to główny dostęp do Wiki.
$WarningDeleteMainPage = "Usunięcie strony głównej Wiki nie jest zalecane, ponieważ jest to główny dostęp do Wiki.
Jeśli jednak chcesz to zrobić, nie zapomnij, aby ponownie utworzyć Stronę Główną. Do tego czasu, inni użytkownicy nie będą mogli dodawać nowych stron.";
$ConvertToLastVersion = "Aby ustawić tę wersję jako najnowszą, kliknij";
$CurrentVersion = "Aktualna wersja";
@ -4047,9 +4047,9 @@ $UploadTo = "Załaduj do";
$fileModified = "Plik został zmodyfikowany";
$DocumentsOverview = "podgląd dokumentów";
$Options = "Opcje";
$WelcomeOogieConverter = "Witaj w Chamilo RAPID
Sprawdź twardy dysk aby znaleźć plik .ppt lub .odp.
Prześlij go do Oogie. Zostanie przekształcony w kurs SCORM.
$WelcomeOogieConverter = "Witaj w Chamilo RAPID
Sprawdź twardy dysk aby znaleźć plik .ppt lub .odp.
Prześlij go do Oogie. Zostanie przekształcony w kurs SCORM.
Wówczas będziesz mógł dodawać komentarze audio do każdego slajdu. Będziesz mógł również wstawiać testy i aktywności pomiędzy slajdami.";
$ConvertToLP = "Konwertuj do kursu";
$AdvancedSettings = "Ustawienia zaawansowane";
@ -4749,7 +4749,7 @@ $NewCourseCreatedIn = "Nowy kurs utworzony w";
$ExplicationTrainers = "Jesteś teraz zapisany/ustawiony jako nauczyciel. Możesz zmienić to ustawienie później w ustawieniach konfiguracyjnych kursu";
$InstallationLanguage = "Język instalacji";
$ReadThoroughly = "Przeczytaj uważnie";
$WarningExistingLMSInstallationDetected = "Uwaga!<br><br>
$WarningExistingLMSInstallationDetected = "Uwaga!<br><br>
Instalator wykrył instalację Chamilo w Twoim systemie.";
$NewInstallation = "Nowa instalacja";
$CheckDatabaseConnection = "Sprawdź połączenie z bazą danych";
@ -4845,23 +4845,23 @@ $MoveElement = "Przenieś element";
$ShowGlossaryInExtraToolsTitle = "Pokaż wyrażenia w dodatkowych narzędziach";
$ShowGlossaryInExtraToolsComment = "Tutaj możesz skonfigurować jak dodawać wyrażenia słowniczka do dodatkowych narzędzi, takich jak ścieżki edukacyjne i ćwiczenia";
$HSurvey = "Pomoc - Ankiety";
$SurveyContent = "Uzyskanie właściwej informacji zwrotnej z Twoich kursów jest niezwykle ważne. Znajdziesz dedykowane nieocenione narzędzie Ankiety do uzyskania skutecznej informacji zwrotnej od użytkowników.<br><br>
<b>Tworzenie nowej ankiety</b><br><br>
Kliknij na link 'Utwórz nową ankietę' i wypełnij 'kod Ankiety' oraz 'tytuł Ankiety'. Z pomocą kalendarza, można kontrolować czas trwania ankiety. Nie ma potrzeby, aby była dostępna przez cały rok. Umożliwiaj dostęp do niej pod koniec programu szkoleniowego. Wypełniając pola tekstowe 'Wprowadzenie do ankiety' oraz \"Podziękowanie za udział w ankiecie' jest dobrą praktyką. To sprawi, że ankieta będzie jasna i przyjazna dla ankietowanych.<br><br>
<b>Dodawanie pytań do ankiety</b><br><br>
Kiedy zarys ankiety, jest już utworzony, czas na tworzenie pytań. Narzędzie \"Ankiety\" ma wiele typów pytań: otwarte/ zamknięte pytania, skuteczność, QCM, wielokrotne odpowiedzi... Należy znaleźć z pewnością wszystko, co będzie potrzebne dla (coraz większych) wymagań zwrotnych.<br>
<b>Podgląd ankiety</b><br><br>
Po utworzeniu pytań, możesz sprawdzić, jak będzie wyglądać ankieta. Kliknij na ikonę \"Podgląd\" a podgląd ekranu pokaże jej wygląd.<br><br>
<b>Publikowanie ankiety</b><br><br>
Zadowolony z podglądu? Jakieś zmiany do wykonania? Nie? W takim razie kliknij na ikonę 'Publikuj ankietę', aby wysłać ją do wybranej listy odbiorców. Tak jak w przypadku tworzenia grup, skorzystaj z listy 'Użytkownicy kursu' po lewej oraz z listy 'Odbiorcy' po prawej, aby tego dokonać. Następnie wypełnij pole 'Tytuł emaila' oraz 'Tekst wiadomości e-mail'. Potencjalni ankietowani będą powiadamiani drogą elektroniczną o dostępności ankiety. Pomyśl dokładnie o treści wiadomości e-mail, ponieważ będzie ona odgrywać dużą rolę w motywowaniu użytkownikom do jej wypełnienia.<br><br>
<b>Sprawozdania z ankiet</b><br><br>
Analiza ankiet jest żmudnym zadaniem. Narzędzie raportowania ankiet pomoże z analizami, sortuje raporty według pytań, użytkowników, porównań itp. ..<br><br>
<b>Zarządzanie ankietami</b><br><br>
$SurveyContent = "Uzyskanie właściwej informacji zwrotnej z Twoich kursów jest niezwykle ważne. Znajdziesz dedykowane nieocenione narzędzie Ankiety do uzyskania skutecznej informacji zwrotnej od użytkowników.<br><br>
<b>Tworzenie nowej ankiety</b><br><br>
Kliknij na link 'Utwórz nową ankietę' i wypełnij 'kod Ankiety' oraz 'tytuł Ankiety'. Z pomocą kalendarza, można kontrolować czas trwania ankiety. Nie ma potrzeby, aby była dostępna przez cały rok. Umożliwiaj dostęp do niej pod koniec programu szkoleniowego. Wypełniając pola tekstowe 'Wprowadzenie do ankiety' oraz \"Podziękowanie za udział w ankiecie' jest dobrą praktyką. To sprawi, że ankieta będzie jasna i przyjazna dla ankietowanych.<br><br>
<b>Dodawanie pytań do ankiety</b><br><br>
Kiedy zarys ankiety, jest już utworzony, czas na tworzenie pytań. Narzędzie \"Ankiety\" ma wiele typów pytań: otwarte/ zamknięte pytania, skuteczność, QCM, wielokrotne odpowiedzi... Należy znaleźć z pewnością wszystko, co będzie potrzebne dla (coraz większych) wymagań zwrotnych.<br>
<b>Podgląd ankiety</b><br><br>
Po utworzeniu pytań, możesz sprawdzić, jak będzie wyglądać ankieta. Kliknij na ikonę \"Podgląd\" a podgląd ekranu pokaże jej wygląd.<br><br>
<b>Publikowanie ankiety</b><br><br>
Zadowolony z podglądu? Jakieś zmiany do wykonania? Nie? W takim razie kliknij na ikonę 'Publikuj ankietę', aby wysłać ją do wybranej listy odbiorców. Tak jak w przypadku tworzenia grup, skorzystaj z listy 'Użytkownicy kursu' po lewej oraz z listy 'Odbiorcy' po prawej, aby tego dokonać. Następnie wypełnij pole 'Tytuł emaila' oraz 'Tekst wiadomości e-mail'. Potencjalni ankietowani będą powiadamiani drogą elektroniczną o dostępności ankiety. Pomyśl dokładnie o treści wiadomości e-mail, ponieważ będzie ona odgrywać dużą rolę w motywowaniu użytkownikom do jej wypełnienia.<br><br>
<b>Sprawozdania z ankiet</b><br><br>
Analiza ankiet jest żmudnym zadaniem. Narzędzie raportowania ankiet pomoże z analizami, sortuje raporty według pytań, użytkowników, porównań itp. ..<br><br>
<b>Zarządzanie ankietami</b><br><br>
Podczas zarządzania ankietami pojawi się kilka nowych ikon, oprócz zwykłych opcji \"Edytuj\" i \"Usuń\". Możesz przeglądać, publikować i śledzić swoje ankiety i odpowiedzi za ich pomocą.<br>";
$HBlogs = "Pomoc - Projekt";
$BlogsContent = "Narzędzie Projektu ułatwia pracę przy wspólnych projektach.
Jednym ze sposobów wykorzystania tego narzędzia jest użycie go, do przypisania autorom zobowiązanych do prowadzenia pisemnych sprawozdań z działalności w ciągu dnia/tygodnia.
W połączeniu z tym, jest to narzędzie do zarządzania zadaniami, przez które można przypisać odpowiednie zadania do każdego z wyznaczonych autorów (np. zgłosić do ewolucji norm bezpieczeństwa w biznesie).
$BlogsContent = "Narzędzie Projektu ułatwia pracę przy wspólnych projektach.
Jednym ze sposobów wykorzystania tego narzędzia jest użycie go, do przypisania autorom zobowiązanych do prowadzenia pisemnych sprawozdań z działalności w ciągu dnia/tygodnia.
W połączeniu z tym, jest to narzędzie do zarządzania zadaniami, przez które można przypisać odpowiednie zadania do każdego z wyznaczonych autorów (np. zgłosić do ewolucji norm bezpieczeństwa w biznesie).
Pozycja reprezentująca nowe treści to artykuł. Aby utworzyć nowy artykuł, kliknij na link w menu, który podpowie ci co zrobić. Aby edytować (jeśli jesteś autorem artykułu) lub dodać komentarz do artykułu, po prostu kliknij na tytuł tego artykułu.";
$FirstSlide = "Pierwszy slajd";
$LastSlide = "Ostatni slajd";
@ -5030,15 +5030,15 @@ $StartToType = "Zacznij od typu, a następnie kliknij na pasek, aby potwierdzić
$InstallChamilo = "Instaluj Chamilo";
$ChamiloURL = "URL Chamilo";
$YouDoNotHaveAnySessionInItsHistory = "Nie masz sesji w historii";
$PortalHomepageDefaultIntroduction = "<b>Gratulacje!
Z powodzeniem zainstalowałeś portal e-learningowy! </b><br><br>
Instalacja będzie całkowicie zakończona po wykonaniu poniższych kroków:<br><br>
1. Skonfiguruj portal w sekcji administracja > Portal -> Konfiguracja.<br><br>
2. Dodaj kursy, użytkowników i nauczycieli. Użytkownicy mogą również samodzielnie zakładać konta.<br><br>
3. Możesz zmienić stronę startową szkoły/Kampusu. <br><br>
$PortalHomepageDefaultIntroduction = "<b>Gratulacje!
Z powodzeniem zainstalowałeś portal e-learningowy! </b><br><br>
Instalacja będzie całkowicie zakończona po wykonaniu poniższych kroków:<br><br>
1. Skonfiguruj portal w sekcji administracja > Portal -> Konfiguracja.<br><br>
2. Dodaj kursy, użytkowników i nauczycieli. Użytkownicy mogą również samodzielnie zakładać konta.<br><br>
3. Możesz zmienić stronę startową szkoły/Kampusu. <br><br>
Więcej informacji znajdziesz na stronie: http://www.chamilo.org. Ciesz się z nowych możliwości i podziel się wrażeniami na naszym forum http://www.chamilo.org/forum";
$WithTheFollowingSettings = "z następującymi ustawieniami:";
$ThePageHasBeenExportedToDocArea = "Strona została eksportowana do narzędzi dokumentów";
@ -5087,7 +5087,7 @@ $AssignedCoursesListToHumanResourceManager = "Kursy przypisane do HR managera";
$AssignedCoursesTo = "Kursy przypisane do";
$AssignCoursesToHumanResourcesManager = "Przypisz kursy do HR managera";
$TimezoneValueTitle = "Wartość strefy czasowej";
$TimezoneValueComment = "Strefa czasowa na tym portalu powinna być ustawiona w tej samej strefie czasowej co siedziba organizacji. Jeżeli lewe pole jest puste, będzie używać strefy czasowej serwera.
$TimezoneValueComment = "Strefa czasowa na tym portalu powinna być ustawiona w tej samej strefie czasowej co siedziba organizacji. Jeżeli lewe pole jest puste, będzie używać strefy czasowej serwera.
Jeśli skonfigurowane, wszystkie strefy czasowe w systemie będą drukowane na podstawie tej strefy czasowej. To ustawienie ma niższy priorytet niż strefa czasowa użytkownika, jeśli jest włączona i wybrana przez użytkownika w jego rozszerzonym profilu.";
$UseUsersTimezoneTitle = "Włącz strefy czasowe użytkowników";
$UseUsersTimezoneComment = "Włącz użytkownikom możliwość wyboru swojej strefy czasowej. Pole stref czasowych należy ustawić jako widoczne i zmienne w menu profilu sekcji administracji, zanim użytkownicy będą mogli wybrać własne. Po skonfigurowaniu, użytkownicy będą mogli zobaczyć przypisane terminy i inne odniesienia w swojej strefie czasowej, co doprowadzi do zmniejszenia błędów w czasie dostawy.";
@ -5498,14 +5498,14 @@ $ContactInformationHasBeenSent = "Dane kontaktowe zostały przesłane";
$EditExtraFieldOptions = "Edytuj opcje dodatkowych pól";
$ExerciseDescriptionLabel = "Opis";
$UserInactivedSinceX = "Użytkownik nieaktywny od %s";
$ContactInformationDescription = "Drogi użytkowniku,
<br><br>
Masz zamiar zacząć korzystać z jednej z najlepszych platform e-learningowych na rynku. Podobnie jak wiele innych projektów open-source, projekt ten jest wspierany przez dużą społeczność studentów, nauczycieli, programistów i twórców treści, którzy chcą lepiej promować projekt.
<br><br>
Wiedząc o Tobie trochę więcej, jako o jednym z naszych najważniejszych użytkowników, który z Nami będzie zarządzał tą platformą e-learningową, będziemy mogli informować Cię o działaniu naszego oprogramowania. Będziesz informowany również o organizowanych wydarzeniach, które mogą być dla Ciebie istotne.
<br><br>
Wypełniając ten formularz, wyrażasz zgodę, aby Chamilo lub jego członkowie, wysyłali informacje przez e-mail o ważnych wydarzeniach lub aktualizacjach w oprogramowaniu Chamilo lub społeczności. Dzięki temu społeczność będzie się rozwijać, jako zorganizowana jednostka, z przepływem informacji w odniesieniu do czasu i Twojej prywatności.
<br><br>
$ContactInformationDescription = "Drogi użytkowniku,
<br><br>
Masz zamiar zacząć korzystać z jednej z najlepszych platform e-learningowych na rynku. Podobnie jak wiele innych projektów open-source, projekt ten jest wspierany przez dużą społeczność studentów, nauczycieli, programistów i twórców treści, którzy chcą lepiej promować projekt.
<br><br>
Wiedząc o Tobie trochę więcej, jako o jednym z naszych najważniejszych użytkowników, który z Nami będzie zarządzał tą platformą e-learningową, będziemy mogli informować Cię o działaniu naszego oprogramowania. Będziesz informowany również o organizowanych wydarzeniach, które mogą być dla Ciebie istotne.
<br><br>
Wypełniając ten formularz, wyrażasz zgodę, aby Chamilo lub jego członkowie, wysyłali informacje przez e-mail o ważnych wydarzeniach lub aktualizacjach w oprogramowaniu Chamilo lub społeczności. Dzięki temu społeczność będzie się rozwijać, jako zorganizowana jednostka, z przepływem informacji w odniesieniu do czasu i Twojej prywatności.
<br><br>
Wypełnienie formularza <b>nie jest obowiązkowe</b>. Jeśli chcesz pozostać anonimowy, stracimy możliwość zaoferowania Ci wszystkich przywilejów bycia zarejestrowanym administratorem portalu, ale szanujemy Twoją decyzję. Wystarczy zostawić formularz pusty i kliknąć \"\"Dalej\"\".";
$CompanyActivity = "Działalność Twojej firmy";
$PleaseAllowUsALittleTimeToSubscribeYouToOneOfOurCourses = "Zgłoszenie na kurs zostało przyjęte i jest w fazie rejestracji. Jeśli trwa to zbyt długo, skontaktuj się z administratorem. Dane kontaktowe znajdziesz w stopce strony.";
@ -5629,7 +5629,7 @@ $CourseRequestPageForApproval = "Zamówienie na kurs może zostać zatwierdzone
$PleaseActivateCourseValidationFeature = "Funkcja \"Akceptacja kursu\" nie jest włączona. Włącz poprzez funkcję %s.";
$CourseRequestLegalNote = "Informacje na temat zamówienia są chronione. Wymagane informacje potrzebne tylko do utworzenia nowego kursu na platformie e-learningowej. Nie powinny być ujawniane osobom trzecim.";
$EnableCourseValidation = "Wartość kursu";
$EnableCourseValidationComment = "Kiedy funkcja \"Wartość kursu\" jest włączona, nauczyciel nie może sam stworzyć kursu. On/ona wypełnia wniosek o kurs. Administrator platformy przegląda wniosek i go zatwierdza lub odrzuca.
$EnableCourseValidationComment = "Kiedy funkcja \"Wartość kursu\" jest włączona, nauczyciel nie może sam stworzyć kursu. On/ona wypełnia wniosek o kurs. Administrator platformy przegląda wniosek i go zatwierdza lub odrzuca.
Funkcja ta polega na wysłaniu automatycznej wiadomości e-mail, ustaw w Chamilo możliwość dostępu do serwera e-mail oraz korzystania z dedykowanego adresu e-mail.";
$CourseRequestAskInfoEmailSubject = "%s Prośba o dodatkowe informacje na temat zamówienia kursu %s";
$CourseRequestAskInfoEmailText = "Otrzymaliśmy Twoje zamówienie kursu o kodzie %s. Zanim zostanie zatwierdzone, wymagane są dodatkowe informacje.\n\nProszę podać krótkie informacje na temat treści kursu (opis), celów, uczniów lub użytkowników, którzy mają brać udział w proponowanym kursie. Jeśli są prawidłowe, proszę podać nazwę instytucji lub jednostki, w której imieniu składane jest zamówienie na kurs.";
@ -5638,7 +5638,7 @@ $CourseRequestAcceptedEmailText = "Zamówienie kursu %s zostało zatwierdzone. N
$CourseRequestRejectedEmailSubject = "%s Zamówienie na kurs %s zostało odrzucone";
$CourseRequestRejectedEmailText = "Z przykrością informujemy, że Twoje zamówienie kursu %s zostało odrzucone. Nie spełniono wymagań.";
$CourseValidationTermsAndConditionsLink = "Wartość kursu - link do regulaminu";
$CourseValidationTermsAndConditionsLinkComment = "Adres URL do \"Regulaminu\", który jest ważny do złożenia wniosku o kurs. Jeśli adres jest tutaj ustawiony, użytkownik powinien przeczytać i zaakceptować regulamin przed wysłaniem wniosku o kurs.
$CourseValidationTermsAndConditionsLinkComment = "Adres URL do \"Regulaminu\", który jest ważny do złożenia wniosku o kurs. Jeśli adres jest tutaj ustawiony, użytkownik powinien przeczytać i zaakceptować regulamin przed wysłaniem wniosku o kurs.
Jeśli włączysz \"Regulamin\" Chamilo i jeśli chcesz, aby był wykorzystany jego URL, pozostaw to ustawienie puste.";
$CourseCreationFailed = "Kurs nie został utworzony. Wystąpił błąd.";
$CourseRequestCreationFailed = "Zamówienie kursu nie zostało utworzone. Wystąpił błąd.";
@ -5659,8 +5659,8 @@ $SSOServerUnAuthURIComment = "Adres strony, na serwerze, który wylogowuje użyt
$SSOServerProtocolTitle = "Protokół serwera Rejestracji jednokrotnej";
$SSOServerProtocolComment = "Ciąg protokołu poprzedzającego domenę serwera Rejestracji jednokrotnej (zalecamy użycie https://, jeśli serwer jest w stanie zapewnić tą funkcję, ponieważ wszystkie niezabezpieczone protokoły są niebezpieczne dla spraw uwierzytelniania)";
$EnabledWirisTitle = "Edytor matematyczny WIRIS";
$EnabledWirisComment = "Włącz edytor matematyczny WIRIS. Instalując tą wtyczkę dostajesz edytor WIRIS i WIRIS CAS.
Aktywacja ta nie jest w pełni wykorzystywana, jeżeli nie została wcześniej pobrana wtyczka PHP dla CKeditor WIRIS i rozpakowana jej zawartość w katalogu głównym na Chamilo /inc/lib/fckeditor/editor/plugins/fckeditor_wiris/
$EnabledWirisComment = "Włącz edytor matematyczny WIRIS. Instalując tą wtyczkę dostajesz edytor WIRIS i WIRIS CAS.
Aktywacja ta nie jest w pełni wykorzystywana, jeżeli nie została wcześniej pobrana wtyczka PHP dla CKeditor WIRIS i rozpakowana jej zawartość w katalogu głównym na Chamilo /inc/lib/fckeditor/editor/plugins/fckeditor_wiris/
Jest to konieczne, ponieważ Wiris jest własnym oprogramowaniem i jego usługi są płatne. Aby dokonać zmiany ustawień wtyczki, edytuj plik configuration.ini lub wymień jego treść przez plik Chamilo configuration.ini.default.";
$FileSavedAs = "Plik zapisany jako";
$FileExportAs = "Plik eksportowano jako";
@ -5694,15 +5694,15 @@ $OnlyAccessFromYourGroup = "Dostępne tylko z grupy";
$CreateAssignmentPage = "To utworzy specjalną stronę wiki, na której nauczyciel może opisać zadanie. Zostanie ona automatycznie połączona ze stronami Wiki, gdzie uczniowie wykonują zadanie. Zarówno strony Trenera jak i studentów są tworzone automatycznie. W tych zadaniach, studenci mogą tylko edytować i przeglądać swoje strony. Można jednak to zmienić, jeśli będzie taka potrzeba.";
$UserFolders = "Foldery użytkowników";
$UserFolder = "Katalog użytkownika";
$HelpUsersFolder = "INFORMACJE WIDOCZNE tylko dla nauczyciela:\n
Folder użytkowników zawiera folder każdego użytkownika, który ma dostęp do niego przez narzędzie dokumentów, lub gdy jakiś plik został przesłany w kursie za pośrednictwem internetowego edytora. Jeśli nie doszło do żadnych okoliczności, to nie powstał żaden folder użytkownika. W przypadku grup, pliki, które są wysyłane za pośrednictwem edytora zostaną dodane w folderze każdej grupy, który jest dostępny tylko dla studentów z tej grupy.
Folder użytkowników i każdy z zawartych w nim folderów będą domyślnie ukryte dla wszystkich studentów, ale każdy student może zobaczyć zawartość jego/jej katalogu poprzez internetowy edytor. Jeśli jednak student zna adres pliku lub folderu innego studenta, może uzyskać do niego dostęp.
Jeśli folder studenta jest widoczny, inni studenci mogą zobaczyć, co zawiera. W tym przypadku, student, który jest właścicielem folderu może też (w narzędziach dokumentów tylko w jego/jej folderze): tworzyć i edytować dokumenty internetowe, konwertować dokument na szablon do użytku osobistego, tworzyć i edytować rysunki w formatach SVG i PNG, zapisywać pliki audio w formacie WAV, tworzyć pliki audio w formacie MP3 z tekstu, tworzyć snapshops z kamery internetowej, wysyłać dokumenty, tworzyć foldery,przenosić foldery i pliki, usuwać pliki i foldery, oraz pobrać kopię zapasową jego/jej folderu.
Ponadto, narzędzie dokumentów jest zsynchronizowane z menedżerem plików edytora internetowego, więc zmiany w dokumentach dokonywane w którymkolwiek z nich będą widoczne w obu miejscach.
$HelpUsersFolder = "INFORMACJE WIDOCZNE tylko dla nauczyciela:\n
Folder użytkowników zawiera folder każdego użytkownika, który ma dostęp do niego przez narzędzie dokumentów, lub gdy jakiś plik został przesłany w kursie za pośrednictwem internetowego edytora. Jeśli nie doszło do żadnych okoliczności, to nie powstał żaden folder użytkownika. W przypadku grup, pliki, które są wysyłane za pośrednictwem edytora zostaną dodane w folderze każdej grupy, który jest dostępny tylko dla studentów z tej grupy.
Folder użytkowników i każdy z zawartych w nim folderów będą domyślnie ukryte dla wszystkich studentów, ale każdy student może zobaczyć zawartość jego/jej katalogu poprzez internetowy edytor. Jeśli jednak student zna adres pliku lub folderu innego studenta, może uzyskać do niego dostęp.
Jeśli folder studenta jest widoczny, inni studenci mogą zobaczyć, co zawiera. W tym przypadku, student, który jest właścicielem folderu może też (w narzędziach dokumentów tylko w jego/jej folderze): tworzyć i edytować dokumenty internetowe, konwertować dokument na szablon do użytku osobistego, tworzyć i edytować rysunki w formatach SVG i PNG, zapisywać pliki audio w formacie WAV, tworzyć pliki audio w formacie MP3 z tekstu, tworzyć snapshops z kamery internetowej, wysyłać dokumenty, tworzyć foldery,przenosić foldery i pliki, usuwać pliki i foldery, oraz pobrać kopię zapasową jego/jej folderu.
Ponadto, narzędzie dokumentów jest zsynchronizowane z menedżerem plików edytora internetowego, więc zmiany w dokumentach dokonywane w którymkolwiek z nich będą widoczne w obu miejscach.
Folder użytkownika jest nie tylko miejscem do plików depozytowych, użytkownik staje się menedżerem dokumentów, z których studenci korzystają w trakcie kursu. Pamiętaj też, że każdy użytkownik może skopiować plik, który jest widoczny z dowolnego folderu w narzędziach Dokumentów (niezależnie czy on jest właścicielem folderu czy nie) do jego/jej portfolio lub osobistych dokumentów w sieci społecznej, która będzie dostępna dla niego/niej w innych kursach.";
$HelpFolderChat = "INFORMACJE WIDOCZNE tylko dla nauczyciela: \nFolder zawiera wszystkie sesje, które zostały otwarte w czacie. Chociaż sesje czatu często mogą być banalne, inne mogą być bardzo interesujące i godne włączenia ich jako dodatkowego dokumentu roboczego. Aby to zrobić, nie zmieniając widoczności folderu, należy ustawić plik jako widoczny i połącz go tam, gdzie uznasz za stosowne. Nie jest zalecane, aby katalog był widoczny dla wszystkich.";
$HelpFolderCertificates = "INFORMACJE WIDOCZNE tylko dla nauczyciela:\nFolder zawiera różne certyfikaty szablonów, które zostały utworzone za pomocą narzędzia oceny. Nie jest zalecane, aby katalog był widoczny dla wszystkich.";
@ -5749,8 +5749,8 @@ $Pediaphon = "Użyj usługi dźwiękowej Pediaphon";
$HelpPediaphon = "Obsługuje tekst z kilku tysięcy znaków, w różnych typach męskich i żeńskich głosów (w zależności od języka). Pliki audio zostaną wygenerowane i automatycznie zapisane w folderze Chamilo, w którym jesteś.";
$FirstSelectALanguage = "Wybierz język";
$MoveUserStats = "Przenieś wyniki użytkowników z/do sesji";
$CompareUserResultsBetweenCoursesAndCoursesInASession = "To zaawansowane narzędzie pozwala ręcznie poprawić śledzenie wyników użytkowników podczas przemieszczania się z metodologi kursów do sesji. W większości przypadków nie trzeba go używać.
Na ekranie, można porównać wyniki użytkowników między kontekstem samodzielnego kursu, a kontekstem tego samego kursu w środku sesji.
$CompareUserResultsBetweenCoursesAndCoursesInASession = "To zaawansowane narzędzie pozwala ręcznie poprawić śledzenie wyników użytkowników podczas przemieszczania się z metodologi kursów do sesji. W większości przypadków nie trzeba go używać.
Na ekranie, można porównać wyniki użytkowników między kontekstem samodzielnego kursu, a kontekstem tego samego kursu w środku sesji.
Po upewnieniu się, co zrobić, możesz przenieść dane śledzenia uczniów (wyniki ćwiczeń i śledzenie ścieżek eduukacyjnych) z kursu na sesji.";
$PDFExportWatermarkEnableTitle = "Włącz znak wodny w eksporcie PDF";
$PDFExportWatermarkEnableComment = "Po włączeniu tej opcji, można przesłać obraz lub tekst, który będzie automatycznie dodawany jako znak wodny do wszystkich dokumentów PDF eksportowanych w systemie.";
@ -5878,8 +5878,8 @@ $MailNotifyInvitation = "Powiadamiaj mailem o nowych zaproszeniach";
$MailNotifyMessage = "Powiadamiaj mailem o nowej personalnej wiadomości";
$MailNotifyGroupMessage = "Powiadamiaj mailem o nowej wiadomości w grupie";
$SearchEnabledTitle = "Wyszukiwanie pełnotekstowe";
$SearchEnabledComment = "Funkcja pozwala na indeksowanie większości dokumentów wysyłanych do portalu, a następnie zapewnia funkcję wyszukiwania dla użytkowników.
Funkcja nie będzie indeksować dokumentów, które zostały już przesłane, więc ważne jest, aby ją włączyć (jeśli chcemy) na początku.
$SearchEnabledComment = "Funkcja pozwala na indeksowanie większości dokumentów wysyłanych do portalu, a następnie zapewnia funkcję wyszukiwania dla użytkowników.
Funkcja nie będzie indeksować dokumentów, które zostały już przesłane, więc ważne jest, aby ją włączyć (jeśli chcemy) na początku.
Gdy jest włączona, pole wyszukiwania będzie wyświetlane na liście kursów każdego użytkownika. Wyszukiwanie określonego terminu pokaże listę odpowiednich dokumentów, ćwiczeń lub tematów forum, filtrowanych w zależności od dostępności tych treści użytkownikowi.";
$SpecificSearchFieldsAvailable = "Dostępne dodatkowe pola wyszukiwania";
$XapianModuleInstalled = "Zainstalowano Moduł Xapian";
@ -6098,7 +6098,7 @@ $ExtensionSessionsNotAvailable = "Rozszerzenie sesji jest niedostępne";
$ExtensionZlibNotAvailable = "Rozszerzenie Zlib jest niedostępne";
$ExtensionPCRENotAvailable = "Rozszerzenie PCRE jest niedostępne";
$ToGroup = "Grupa społeczna";
$XWroteY = "%s napisał:<br>
$XWroteY = "%s napisał:<br>
%s";
$BackToGroup = "Powrót do grupy";
$GoAttendance = "Przejdź do frekwencji";

@ -30,7 +30,7 @@ $CotangentCot = "Co-tangente:\t\t\tcot(x)";
$HyperbolicCotangentCoth = "Co-tangente hiperbólico:\t\tcoth(x)";
$ArccotangentArccot = "Arcoco-tangente:\t\t\tarccot(x)";
$HyperbolicArccotangentArccoth = "Arco-cotangente hiperbólico:\t\tarccoth(x)";
$HelpCookieUsageValidation = "Para o bom funcionamento do site e medir a sua utilização, esta plataforma usa cookies.<br /><br />\nSe que julgar necessário, a seção de ajuda do seu navegador vai falar sobre as prcedimientos para definir cookies.<br /><br />\nPara obter mais informações sobre cookies, você pode visitar o site <a href='http://www.aboutcookies.org/'>About Cookies</a> (em inglês) ou qualquer equivalente em
$HelpCookieUsageValidation = "Para o bom funcionamento do site e medir a sua utilização, esta plataforma usa cookies.<br /><br />\nSe que julgar necessário, a seção de ajuda do seu navegador vai falar sobre as prcedimientos para definir cookies.<br /><br />\nPara obter mais informações sobre cookies, você pode visitar o site <a href='http://www.aboutcookies.org/'>About Cookies</a> (em inglês) ou qualquer equivalente em
português.";
$YouAcceptCookies = "Ao continuar a utilizar este site, você declara aceitar o uso de cookies.";
$TemplateCertificateComment = "Certificado de exemplo";
@ -263,11 +263,11 @@ $AreYouSureDeleteTestResultBeforeDateD = "Tem a certeza que deseja apagar os res
$CleanStudentsResultsBeforeDate = "Apagar todos os resultados antes da data selecionada";
$HGlossary = "Ajuda glossário";
$GlossaryContent = "Esta ferramenta permite que você crie termos do glossário para o seu curso, que pode então ser usado na ferramenta de documentos";
$ForumContent = "<p>O fórum é uma ferramenta de discussão para trabalho escrito assíncrona. Em contraste com e-mail, um fórum é para o público ou semi- público, discussão em grupo</p>
<p>Para usar o fórum Chamilo , usuários podem simplesmente usar o seu navegador - eles não exigem software cliente separado.</p>
<p>Para organizar fóruns, clickon a ferramenta Forums. As discussões são organizadas hierarquicamente de acordo com a seguinte estrutura: Categoria > Fórum> Tópico > Post. Para garantir os membros podem participar do fórum tidily e eficaz , é essencial em primeira instância th para criar categorias e fóruns. É então até aos participantes para criar tópicos e mensagens. Por padrão, o fórum contém uma única categoria (público), um tema exemplo e um exemplo post. Você pode adicionar fóruns para a categoria, alterar o título ou criar outras categorias dentro do qual você pode então criar novos fóruns (não confundir categorias e fóruns, e lembre-se que uma categoria que não contém qualquer fórum é inútil e não é exibido).</p>
<p>A descrição do fórum pode incluir uma lista de seus membros, a definição de seu propósito, uma tarefa, um objetivo, um assunto , etc.</p>
<p>Os fóruns de grupos não são criados pelos fóruns de ferramentas diretamente, mas os grupos de ferramentas, que pode determinar se os fóruns será pública ou privada, enquanto permitindo que os membros de seus grupos para compartilhar documentos e outros recursos.</p>
$ForumContent = "<p>O fórum é uma ferramenta de discussão para trabalho escrito assíncrona. Em contraste com e-mail, um fórum é para o público ou semi- público, discussão em grupo</p>
<p>Para usar o fórum Chamilo , usuários podem simplesmente usar o seu navegador - eles não exigem software cliente separado.</p>
<p>Para organizar fóruns, clickon a ferramenta Forums. As discussões são organizadas hierarquicamente de acordo com a seguinte estrutura: Categoria > Fórum> Tópico > Post. Para garantir os membros podem participar do fórum tidily e eficaz , é essencial em primeira instância th para criar categorias e fóruns. É então até aos participantes para criar tópicos e mensagens. Por padrão, o fórum contém uma única categoria (público), um tema exemplo e um exemplo post. Você pode adicionar fóruns para a categoria, alterar o título ou criar outras categorias dentro do qual você pode então criar novos fóruns (não confundir categorias e fóruns, e lembre-se que uma categoria que não contém qualquer fórum é inútil e não é exibido).</p>
<p>A descrição do fórum pode incluir uma lista de seus membros, a definição de seu propósito, uma tarefa, um objetivo, um assunto , etc.</p>
<p>Os fóruns de grupos não são criados pelos fóruns de ferramentas diretamente, mas os grupos de ferramentas, que pode determinar se os fóruns será pública ou privada, enquanto permitindo que os membros de seus grupos para compartilhar documentos e outros recursos.</p>
<p><b>Tips de ensino:</b>Um fórum de aprendizagem não é o mesmo como um fórum para aqueles que vão na Internet. Por um lado, não é possível para estudantes modificar as suas respostas, uma vez uma conversa foi encerrada. Isto é, a fim de avaliar a sua contribuição fórum. Em seguida, alguns usuários privilegiados (professor, tutor, assistentes) podem corrigir as respostas diretamente dentro do fórum.<br /> Para fazer isso, você pode seguir o seguinte procedimento:<br /> clique no ícone de edição (lápis amarelo) e marcar utilizando a funcionalidade edição (cor, sublinhado, etc). Finalmente, outros alunos podem se beneficiar dessa correção vendo o fórum novamente. Ideia de massa pode ser aplicado entre alunos, mas requer o uso da citação ferramenta para, em seguida, indicar os elementos errados (como eles não podem ser editados diretamente a resposta de outro estudante) </p>";
$HForum = "Ajuda de fórum";
$LoginToGoToThisCourse = "Por favor, faça o login para ir para este curso";
@ -2610,14 +2610,14 @@ $NoPosts = "Sem posts";
$WithoutAchievedSkills = "Sem competências adquiridas";
$TypeMessage = "Por favor, escreva a sua mensagem!";
$ConfirmReset = "Tem a certeza que deseja eliminar todas as mensagens?";
$MailCronCourseExpirationReminderBody = "Caro %s, chegou ao nosso conhecimento que você não tenha concluído o curso %s apesar de sua data de validade tenha sido definido como %s, %s dias restantes para terminar.
Lembramos que só tem a oportunidade de acompanhar este curso uma vez por ano, o que é por isso que convidamos você insistentemente para completar seu curso no tempo restante.
Você pode retornar ao curso, registando-se a plataforma neste endereço: %s
Com os melhores cumprimentos,
$MailCronCourseExpirationReminderBody = "Caro %s, chegou ao nosso conhecimento que você não tenha concluído o curso %s apesar de sua data de validade tenha sido definido como %s, %s dias restantes para terminar.
Lembramos que só tem a oportunidade de acompanhar este curso uma vez por ano, o que é por isso que convidamos você insistentemente para completar seu curso no tempo restante.
Você pode retornar ao curso, registando-se a plataforma neste endereço: %s
Com os melhores cumprimentos,
A equipe de %s";
$MailCronCourseExpirationReminderSubject = "Urgente: Lembre-se oportunamente %s";
$ExerciseAndLearningPath = "Exercícios e lições";
@ -3877,7 +3877,7 @@ $NewMessageInForum = "Nova mensagem publicada no fórum";
$FolderCreated = "Nova pasta/directório criado";
$AgendaAdded = "Evento adicionado";
$ShouldBeCSVFormat = "O ficheiro deve de estar no formato CSV. Não adicione espaços. A estrutura deve ser exactamente :";
$Enter2passToChange = "Para modificar a sua senha/password, introduza a sua senha/password actual no campo acima e a nova senha/password em ambos os campos abaixo desse. Para manter a senha/password actual, deixe os três campos vazios.";
$TypeCurrentPassword = "Para modificar a sua senha/password, introduza a sua senha/password actual no campo acima e a nova senha/password em ambos os campos abaixo desse. Para manter a senha/password actual, deixe os três campos vazios.";
$AuthInfo = "Autenticação";
$ImageWrong = "O tamanho do ficheiro deve ser menor que";
$NewPass = "Nova senha/password";
@ -5471,13 +5471,13 @@ $StartToType = "Comece a escrever, depois clique para validar";
$InstallChamilo = "Instalar Chamilo";
$ChamiloURL = "Chamilo URL";
$YouDoNotHaveAnySessionInItsHistory = "Não possui qualquer sessão do curso no seu histórico";
$PortalHomepageDefaultIntroduction = "Parabéns! Você instalou com sucesso seu portal de e-learning!
Você agora pode terminar a instalação seguindo três etapas fáceis:
Configurar seu portal indo à seção de administração, e selecionando -> Configurações gerais do Chamilo.
Adicione alguma vida a seu portal criando usuários e/ou cursos. Você pode convidar novas pessoas para criar seus cursos ou criar você mesmo através da seção de adminitração usuários e cursos.
Edite a página inicial do portal através da opção de Edição da Página Inicial.
Você pode sempre encontrar mais informação sobre este software em nosso Web site: http://www.chamilo.org.
$PortalHomepageDefaultIntroduction = "Parabéns! Você instalou com sucesso seu portal de e-learning!
Você agora pode terminar a instalação seguindo três etapas fáceis:
Configurar seu portal indo à seção de administração, e selecionando -> Configurações gerais do Chamilo.
Adicione alguma vida a seu portal criando usuários e/ou cursos. Você pode convidar novas pessoas para criar seus cursos ou criar você mesmo através da seção de adminitração usuários e cursos.
Edite a página inicial do portal através da opção de Edição da Página Inicial.
Você pode sempre encontrar mais informação sobre este software em nosso Web site: http://www.chamilo.org.
Divirta-se, e não hesite em juntar-se à comunidade e dar-nos o feedback através de nosso fórum.";
$WithTheFollowingSettings = "com as seguintes configurações:";
$ThePageHasBeenExportedToDocArea = "A página foi exportada para a ferramenta de documento";
@ -5527,7 +5527,7 @@ $AssignedCoursesListToHumanResourceManager = "Cursos atribuídos ao gestor de RH
$AssignedCoursesTo = "Cursos atribuídos a";
$AssignCoursesToHumanResourcesManager = "Atribuir cursos ao gestor de RH";
$TimezoneValueTitle = "Fuso horário";
$TimezoneValueComment = "O fuso horário deste portal deve ser definido para o mesmo fuso horário da sede da organização.
$TimezoneValueComment = "O fuso horário deste portal deve ser definido para o mesmo fuso horário da sede da organização.
Se não for definido, o sistema utilizará o fuso horário do servidor. Se for definido, todas as horas exibidas no sistema utilizarão este fuso horário. Esta definição tem uma prioridade menor do que o fuso horário do utilizador, se assim for ativado por este.";
$UseUsersTimezoneTitle = "Permitir fusos horários definidos por utilizadores";
$UseUsersTimezoneComment = "Ativar a possibilidade do utilizador definir o seu próprio fuso horário. O campo de fuso horário deve ser visível e editável na seção de administração antes do utilizador escolher o seu fuso horário.\r\nUma vez configurado, os utilizadores serão capazes de ver as possibilidades de fuso horário.";
@ -5862,7 +5862,7 @@ $ProfileSearch = "Busca do perfil";
$CourseSettingsRegisterDirectLink = "Se o seu curso é público ou aberto, pode usar o link direto abaixo para enviar um convite para novos utilizadores. Desta forma, após o registo, estes serão encaminhados diretamente para o curso. Para além disso, pode adicionar o parâmetro e = 1 para o endereço URL, substituindo \"1\" por um ID de exercício para enviá-lo diretamente para um exame específico. O ID de exercício pode ser encontrado no endereço URL ao clicar num dos exercícios para abri-lo. % s";
$DirectLink = "Link Directo";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "Continue e veja o nosso catálogo de cursos % para que se possa registar naquele que desejar. Uma vez registado, verá o curso % aparecer em vez desta mensagem.";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Olá %s, seja bem-vindo,
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Olá %s, seja bem-vindo,
Como pode ver, a sua lista de cursos ainda está vazia. Isso é porque não está ainda registado em qualquer curso!";
$UnsubscribeUsersAlreadyAddedInCourse = "Cancelamento de assinatura de utilizadores já foi adicionado";
$ImportUsers = "Importar usuários";
@ -6076,7 +6076,7 @@ $CourseRequestAcceptedEmailText = "Seu petição do curso %s foi aprovado. Um no
$CourseRequestRejectedEmailSubject = "%s A petição do curso %s foi rejeitada";
$CourseRequestRejectedEmailText = "Lamentamos que o pedido do curso% s foi rejeitada porque não está em conformidade com os nossos termos e condições.";
$CourseValidationTermsAndConditionsLink = "Petição do cursos - link para termos e condições";
$CourseValidationTermsAndConditionsLinkComment = "A URL que liga o documento 'Termos e Condições' que regem a aplicação de um curso. Se este endereço
$CourseValidationTermsAndConditionsLinkComment = "A URL que liga o documento 'Termos e Condições' que regem a aplicação de um curso. Se este endereço
é definido, o usuário terá que ler e aceitar os termos e condições antes de submeter o seu pedido claro. Se você ativar o módulo 'Termos e Condições' Chamilo e quiser usá-lo, em vez de termos e condições próprias, deixe este campo em branco.";
$CourseCreationFailed = "O curso não tiver sido criado devido a um erro interno.";
$CourseRequestCreationFailed = "A petição do curso não tiver sido criada devido a um erro interno.";
@ -6179,8 +6179,8 @@ $Pediaphon = "Usar os serviços de áudio da Pediaphon";
$HelpPediaphon = "Suporta texto com milhares de caracteres, com vários tipos de vozes masculinas e femininas (dependendo do idioma). Os arquivos de áudio serão gerados e guardados automaticamente no diretório Chamilo em que se encontra atualmente.";
$FirstSelectALanguage = "Por favor selecione um idioma";
$MoveUserStats = "Mova usuários resultados de/para uma sessão de formação";
$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta ferramenta avançada permite melhorar manualmente o acompanhamento dos resultados de usuários quando se deslocam de metodologia de cursos a metodologia de sessões. Na maioria dos casos, você não vai precisar usá-lo.<br />
Nesta tela, é possível comparar os resultados de usuários entre o contexto de um curso autônomo, e no contexto do mesmo curso dentro de uma sessão.<br />
$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta ferramenta avançada permite melhorar manualmente o acompanhamento dos resultados de usuários quando se deslocam de metodologia de cursos a metodologia de sessões. Na maioria dos casos, você não vai precisar usá-lo.<br />
Nesta tela, é possível comparar os resultados de usuários entre o contexto de um curso autônomo, e no contexto do mesmo curso dentro de uma sessão.<br />
Quando tiver a certeza sobre o que fazer, você pode optar por mover os dados de acompanhamento dos alunos (exercícios resultados e caminhos de aprendizagem de rastreamento) a partir de um curso para uma sessão.";
$PDFExportWatermarkEnableTitle = "Marcas d'água em exportações para PDF";
$PDFExportWatermarkEnableComment = "Se você selecionar esta opção, você pode fazer upload de uma imagem ou texto que será adicionado automaticamente como marca d'água nos documentos finais de todas as exportações para o sistema execute PDF.";
@ -6309,8 +6309,8 @@ $MailNotifyInvitation = "Notificar invitações por e-mail";
$MailNotifyMessage = "Notificar mensagens por e-mail";
$MailNotifyGroupMessage = "Notificar sobre grupos os mensagens por e-mail";
$SearchEnabledTitle = "Procura texto completo";
$SearchEnabledComment = "Este recurso permite que você índice maior parte dos documentos enviados ao seu portal, em seguida, fornecer um recurso de procura para os usuários.<br />
Este recurso não indexar documentos que já foram carregados, por isso é importante para permitir que (se queria), no início de sua implementação.<br />
$SearchEnabledComment = "Este recurso permite que você índice maior parte dos documentos enviados ao seu portal, em seguida, fornecer um recurso de procura para os usuários.<br />
Este recurso não indexar documentos que já foram carregados, por isso é importante para permitir que (se queria), no início de sua implementação.<br />
Uma vez ativado, uma caixa de pesquisa aparece na lista de cursos de cada usuário. Procurando por um termo específico trará uma lista de documentos correspondentes, exercícios ou tópicos do fórum, filtrada, dependendo da disponibilidade destes conteúdos para o usuário.";
$SpecificSearchFieldsAvailable = "Campos de procura personalizados disponíveis";
$XapianModuleInstalled = "Módulo Xapian instalado";

@ -3070,7 +3070,7 @@ $NewMessageInForum = "Churarikun huj willakuy k'itirimanapii";
$FolderCreated = "Hoq musuq wayaqan ruwachikun";
$AgendaAdded = "Yapachikun huj ruway";
$ShouldBeCSVFormat = "Khipuqa CSV nisqapi kashan. Ama imatapas yapankichu. Imayna kasqanta kikillanpuni kanqa:";
$Enter2passToChange = "Qelqa pakata t'ijrachinapqa haykuchiy hoq musuq qelqa pakata kay kanchakunapi. Sichus qepakuyta munaq ñaupaqwan chayqa, ajnallata saqey iskhay kanchakunata.";
$TypeCurrentPassword = "Qelqa pakata t'ijrachinapqa haykuchiy hoq musuq qelqa pakata kay kanchakunapi. Sichus qepakuyta munaq ñaupaqwan chayqa, ajnallata saqey iskhay kanchakunata.";
$AuthInfo = "Cheqaqchana";
$ImageWrong = "Khipuqa kanqapuni kay yupamanta huch'uykama";
$NewPass = "Musuq qelqa-paka";

@ -23,8 +23,8 @@ $AssignUsersToBoss = "Atribuirea utilizatorilor la superior";
$RoleStudentBoss = "Superior de elev(i)";
$CosecantCsc = "Cosecant:\t\t\t\tcsc(x)";
$HyperbolicCosecantCsch = "Cosecant hiperbolic:\t\tcsch(x)";
$HelpCookieUsageValidation = "Pentru buna funcționare a acestui site și măsurare utilizarii sale, această platformă foloseste cookie-uri.<br /><br />\n
Dacă consideră necesar, secțiunea de ajutor a browser-ului dumneavoastră vă va spune despre prcedimientos pentru a seta cookie-uri.<br /><br />\n
$HelpCookieUsageValidation = "Pentru buna funcționare a acestui site și măsurare utilizarii sale, această platformă foloseste cookie-uri.<br /><br />\n
Dacă consideră necesar, secțiunea de ajutor a browser-ului dumneavoastră vă va spune despre prcedimientos pentru a seta cookie-uri.<br /><br />\n
Pentru mai multe informații cu privire la cookie-uri, puteți vizita site-ul <a href=\"http://www.aboutcookies.org/\">Despre cookie-urile</a> (în limba engleză) sau echivalent in spaniolă.";
$YouAcceptCookies = "Prin utilizarea acestui site, acceptă utilizarea cookie-urilor.";
$TemplateCertificateComment = "Exemplu de certificat";
@ -3761,7 +3761,7 @@ $NewMessageInForum = "Mesaj nou postat pe forum";
$FolderCreated = "Creaza un nou folder";
$AgendaAdded = "Adauga agendei";
$ShouldBeCSVFormat = "Fisierul este in format CSV. Nu adaugati spatii. Structura treubie sa fie exact ca :";
$Enter2passToChange = "Introdu parola de doua ori pentru a o schimba. Altfel lasa campurile libere";
$TypeCurrentPassword = "Introdu parola de doua ori pentru a o schimba. Altfel lasa campurile libere";
$AuthInfo = "Autentificare";
$ImageWrong = "Fisierul trebuie sa fie mai mic de";
$NewPass = "Nou pin";

@ -2301,7 +2301,7 @@ $NewMessageInForum = "Новое сообщение разослано на фо
$FolderCreated = "Новая папка создана";
$AgendaAdded = "Пункты повестки дня добавлены";
$ShouldBeCSVFormat = "Файл должен иметь формат CSV. Не добавляйте пробелы (пустые места). Структура должна быть в точности:";
$Enter2passToChange = "Введите свой пароль дважды для того, чтобы изменить его. Или же оставьте поля пустыми.";
$TypeCurrentPassword = "Введите свой пароль дважды для того, чтобы изменить его. Или же оставьте поля пустыми.";
$AuthInfo = "Идентификация";
$ImageWrong = "Размер файла должен быть меньше, чем";
$password_request = "Вы просили разрешения переустановить свой пароль. Если Вы не просили, то игнорируйте это письмо.";

@ -1851,7 +1851,7 @@ $NewMessageInForum = "Objavljena nova poruka na forumu";
$FolderCreated = "Novi folder je kreiran";
$AgendaAdded = "Dodat novi dogadjaj u raspored";
$ShouldBeCSVFormat = "Fajl treba da bude u CSV formatu. Nemojte dodavati razmake. Struktura bi trebala da bude baš ovakva:";
$Enter2passToChange = "Unesite vašu lozinku dva puta da biste je promenili. U suprotnom ostavite polja prazna.";
$TypeCurrentPassword = "Unesite vašu lozinku dva puta da biste je promenili. U suprotnom ostavite polja prazna.";
$AuthInfo = "Autorizacija";
$ImageWrong = "Veličina fajla bi trebala da bude manja od";
$NewPass = "Nova Lozinka";

@ -2421,7 +2421,7 @@ $SendChatRequest = "发送回复给这个人";
$RequestDenied = "已拒绝请求.";
$UsageDatacreated = "已创建数据";
$ShouldBeCSVFormat = "文件应该是CSV格式,请不要加空格,结构应该是:";
$Enter2passToChange = "修改密码请重复输入两次,否则保持为空。";
$TypeCurrentPassword = "修改密码请重复输入两次,否则保持为空。";
$AuthInfo = "有效";
$ImageWrong = "文件尺寸要小于";
$password_request = "您已经请求重新设置您的密码, 如果您确认, 可以忽略此邮件, 点击重置链接重新设置您的密码.";

File diff suppressed because one or more lines are too long

@ -720,9 +720,9 @@ $ToExportLearnpathWithQuizYouHaveToSelectQuiz = "V primeru, da želite izvoziti
$ArchivesDirectoryNotWriteableContactAdmin = "Arhivska mapa, ki jo uporablja to orodje, ne omogoča pisalnega dostopa. Prosim da se obrnete na upravitelja platforme.";
$DestinationCourse = "Ciljni tečaj";
$ConvertToMultipleAnswer = "Pretvori v večkraten odgovor";
$CasMainActivateComment = "Omogočanje CAS avtentifikacije omogoči uporabnikom avtentifikacijo z njihovimi obstoječimi CAS avtentifikacijskimi podatki.<br>
Obiščite
<a href=\"settings.php?category=Plugins\">Vtičniki</a>
$CasMainActivateComment = "Omogočanje CAS avtentifikacije omogoči uporabnikom avtentifikacijo z njihovimi obstoječimi CAS avtentifikacijskimi podatki.<br>
Obiščite
<a href=\"settings.php?category=Plugins\">Vtičniki</a>
za dodajanje in prilagoditev 'CAS Prijava' gumba za vaš Chamilo portal.";
$UsersRegisteredInAnyGroup = "Uporabniki vpisani v katerokoli skupino";
$Camera = "Kamera";
@ -3868,7 +3868,7 @@ $NewMessageInForum = "Novo sporočilo je bilo objavljeno v forumu";
$FolderCreated = "Nova mapa je bila ustvarjena";
$AgendaAdded = "Dogodek je bil dodan";
$ShouldBeCSVFormat = "Datoteka mora biti v CSV obliki. Ne dodajajte presledkov. Zgradba datoteke mora biti natančno kot :";
$Enter2passToChange = "Za spremembo vnesite geslo dvakrat. Sicer pustite polji prazni.";
$TypeCurrentPassword = "Za spremembo vnesite geslo dvakrat. Sicer pustite polji prazni.";
$AuthInfo = "Avtentifikacija";
$ImageWrong = "Velikost datoteke mora biti manjša od";
$NewPass = "Novo geslo";
@ -5845,12 +5845,12 @@ $SearchProfileMatches = "Iskani profil ustreza";
$IsThisWhatYouWereLookingFor = "Je to tisto, kar ste iskali?";
$WhatSkillsAreYouLookingFor = "Katere veščine želite poiskati?";
$ProfileSearch = "Iskanje profila";
$CourseSettingsRegisterDirectLink = "V primeru, da je vaš tečaj javen ali odprt, lahko dodate direktno povezavo spodaj za pošiljanje vabila novim uporabnikom, da bodo po registraciji lahko direktno dostopili do tečaja. Dodatno lahko dodate parameter e=1 k URL; z nadomestitvijo vrednosti 1 z ID izbranega testa, ga npr. lahko pošljete direktno na ta test. ID testa lahko razberete iz URL po odprtju testa.
$CourseSettingsRegisterDirectLink = "V primeru, da je vaš tečaj javen ali odprt, lahko dodate direktno povezavo spodaj za pošiljanje vabila novim uporabnikom, da bodo po registraciji lahko direktno dostopili do tečaja. Dodatno lahko dodate parameter e=1 k URL; z nadomestitvijo vrednosti 1 z ID izbranega testa, ga npr. lahko pošljete direktno na ta test. ID testa lahko razberete iz URL po odprtju testa.
%s";
$DirectLink = "Direktna povezava";
$here = "tule";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "Nadaljuj z brskanjem po našem katalogu %s za vpis v želeni tečaj. Po vpisu se bo vpisan tečaj pojavil desno %s namesto tega sporočila.";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "<p>Pozdravljen <strong>%s</strong> in dobrodošel,</p>
$HelloXAsYouCanSeeYourCourseListIsEmpty = "<p>Pozdravljen <strong>%s</strong> in dobrodošel,</p>
<p>Kot vidiš, je tvoj seznam tečajev še prazen. To je zato, ker trenutno še nisi vpisan v nobenega izmed tečajev.</p>";
$UnsubscribeUsersAlreadyAddedInCourse = "Izpiši uporabnike že dodane v tečaj";
$ImportUsers = "Uvozi uporabnike";
@ -5932,13 +5932,13 @@ $ContactInformationHasBeenSent = "Kontaktna informacija je bila odposlana";
$EditExtraFieldOptions = "Možosti urejanja dodatnih polj";
$ExerciseDescriptionLabel = "Opis";
$UserInactivedSinceX = "Uporabnik neaktiven od %s";
$ContactInformationDescription = "Dragi uporabnik,<br />
<br />Pričenjate z uporabo ene boljših odprtokodnih platform namenjenih e-učenju in e-poučevanju, ki so trenutno dostopne na trgu. Kot večina drugih odprtokodnih projektov, je tudi ta podprt z veliko skupnostjo dijakov, študentov, učiteljev, razvijalcev in ustvarjalcev vsebin, ki želijo ta izdelek narediti čim kvalitetnejši.<br />
<br />
Z nekaj več informacij o vas, kot enem izmed pomembnejših uporabnikov, ki bo upravljal to platformo, bomo pridobili možnost zavedanja, da je naša programska oprema uporabljana, vi pa možnost, da ste obveščeni o organiziranih dogodkih, ki so za vas morebiti pomembni.<br />
<br />
Z izpolnitvijo tega obrazca, se strinjate, da vam lahko združenje Chamilo (Chamilo association) oziroma njeni člani posredujejo e-poštne informacije o pomembnejših dogodkih, nadgradnjah, spremembah v programski opremi Chamilo in njeni skupnosti. To bo v pomoč rasti skupnosti kot organizirani entiteti kjer se informacije izmenjujejo s stalnim upoštevanjem vaše zasebnosti in vašega razpoložljivega časa.<br />
<br />
$ContactInformationDescription = "Dragi uporabnik,<br />
<br />Pričenjate z uporabo ene boljših odprtokodnih platform namenjenih e-učenju in e-poučevanju, ki so trenutno dostopne na trgu. Kot večina drugih odprtokodnih projektov, je tudi ta podprt z veliko skupnostjo dijakov, študentov, učiteljev, razvijalcev in ustvarjalcev vsebin, ki želijo ta izdelek narediti čim kvalitetnejši.<br />
<br />
Z nekaj več informacij o vas, kot enem izmed pomembnejših uporabnikov, ki bo upravljal to platformo, bomo pridobili možnost zavedanja, da je naša programska oprema uporabljana, vi pa možnost, da ste obveščeni o organiziranih dogodkih, ki so za vas morebiti pomembni.<br />
<br />
Z izpolnitvijo tega obrazca, se strinjate, da vam lahko združenje Chamilo (Chamilo association) oziroma njeni člani posredujejo e-poštne informacije o pomembnejših dogodkih, nadgradnjah, spremembah v programski opremi Chamilo in njeni skupnosti. To bo v pomoč rasti skupnosti kot organizirani entiteti kjer se informacije izmenjujejo s stalnim upoštevanjem vaše zasebnosti in vašega razpoložljivega časa.<br />
<br />
Prosim pomnite, da <b>niste obvezani</b> k izpolnjevanju tega obrazca. Če želite ostati anonimni, bomo pač izgubili možnost, da vam ponudimo vse privilegije registriranega upravitelja portala. V vsakem primeru pa bomo spoštovali vašo odločitev. Enostavno pustite ta obrazec prazen in kliknite na gumb \"Nadaljuj\".<br /><br />";
$CompanyActivity = "Aktivnosti tvojega podjetja";
$PleaseAllowUsALittleTimeToSubscribeYouToOneOfOurCourses = "Prosim, da nam dopustiš nekaj časa da te vpišemo v enega naših tečajev. Če imaš občutek, da smo pozabili nate, kontaktiraj enega izmed upraviteljev portala. Običajno najdeš njihov kontakt v nogi te strani.";
@ -6073,7 +6073,7 @@ $CourseRequestAcceptedEmailText = "Vaša zahteva po tečaju je bila odobrena. No
$CourseRequestRejectedEmailSubject = "%s Zahteva po tečaju %s je bila zavrnjena.";
$CourseRequestRejectedEmailText = "Na našo žalost vas moramo obvestiti, da je bila vaša zahteva za kreiranje tečaja %s zavrnjena, ker ne ustreza zahtevam v pogojih rabe.";
$CourseValidationTermsAndConditionsLink = "Validacija tečajev - povezava k pogojem rabe";
$CourseValidationTermsAndConditionsLinkComment = "Predstavlja URL k dokuemntu \"Pogoji rabe\", ki je veljaven ob zahtevi po kreiranju tečaja. V primeru, da je naslov podan, mora uporabnik pred pošiljanjem zahteve prebrati in sprejeti pogoje predstavljene v dokumentu.<br />
$CourseValidationTermsAndConditionsLinkComment = "Predstavlja URL k dokuemntu \"Pogoji rabe\", ki je veljaven ob zahtevi po kreiranju tečaja. V primeru, da je naslov podan, mora uporabnik pred pošiljanjem zahteve prebrati in sprejeti pogoje predstavljene v dokumentu.<br />
V primeru, da ste aktivirali modul Chamila \"Pogoji rabe\" in želite, da se uporabi njegov dokument, pustite ta naslov prazen.";
$CourseCreationFailed = "Tečaj ni bil ustvarjen zaradi interne napake.";
$CourseRequestCreationFailed = "Zahteva po tečaju ni bila ustvarjena zaradi interne napake.";
@ -6094,8 +6094,8 @@ $SSOServerUnAuthURIComment = "Naslov strani, ki odjavi uporabnika iz SSO strežn
$SSOServerProtocolTitle = "Protokol SSO strežnika";
$SSOServerProtocolComment = "Niz znakov, ki označuje protokol domene SSO strežnika (priporočamo rabo https:// , če vaš strežnik to omogoča).";
$EnabledWirisTitle = "WIRIS matematični urejevalnik";
$EnabledWirisComment = "Omogoči WIRIS urejevalnik matematičnih izrazov. Z namestitvijo teha vtičnika, dobite Wiris urejevalnik in Wiris CAS.<br />
Ta aktivacija ni polno realizirana razen v primeru, da predhodno prenesete <a target=\"_blank\" href=\"http://www.wiris.com/es/plugins3/ckeditor/download\">PHP vtičnik za FCKeditro WIRIS in ga razširite v mapo main/inc/lib/fckeditor/editor/plugins/fck_editor_wiris/</a>.<br />
$EnabledWirisComment = "Omogoči WIRIS urejevalnik matematičnih izrazov. Z namestitvijo teha vtičnika, dobite Wiris urejevalnik in Wiris CAS.<br />
Ta aktivacija ni polno realizirana razen v primeru, da predhodno prenesete <a target=\"_blank\" href=\"http://www.wiris.com/es/plugins3/ckeditor/download\">PHP vtičnik za FCKeditro WIRIS in ga razširite v mapo main/inc/lib/fckeditor/editor/plugins/fck_editor_wiris/</a>.<br />
Tak način je potreben, ker je Wiris lastniška programska oprema in njegova storitev je <a target=\"_blank\" href=\"http://www.wiris.com/store/who-pays\">komercialna</a>. <br />Za prilagoditev vtičnika, uredite datoteko configuration.ini ali pa jo nadomestite z privzeto datoteko, ki je nameščena s Chamilo.";
$FileSavedAs = "Datoteka je bila shranjena kot";
$FileExportAs = "Datoeka je bila izvožena kot";
@ -6130,10 +6130,10 @@ $OnlyAccessFromYourGroup = "Dostop zgolj iz tvoje skupine";
$CreateAssignmentPage = "Ustvari posebno wiki stran, na kateri učitelj lahko opiše opravilo in ki se avtomatično poveže z wiki stranmi, kjer tečajniki izvajajo zadana opravila. Obe strani, učiteljeva in tečajnikova se kreirata avtomatično. V teh opravilih tečajniki lahko privzeto urejajo in pregledujejo zgolj njihove strani, je pa to možno naknadno tudi spremeniti.";
$UserFolders = "Mape uporabnikov";
$UserFolder = "Uporabnikova mapa";
$HelpUsersFolder = "INFORMACIJA, VIDNA ZGOLJ UČITELJEM:\nMapa uporabnikov vsebuje mapo za vsakega uporabnika, ki je dostopil do nje preko orodja dokumentov ali pa je vanjo poslal dokument preko urejevalnika na platformi. V primeru, da noben od naštetih dogodkov ni nastopil, uporabnikova mapa ni bila kreirana. V primeru skupin, se datoteke poslane preko urejevalnika platforme dodajo mapi skupine, ki je dosegljiva zgolj tečajnikom te skupine.<br /><br />
Uporabnikova mapa in vsa njena vsebina je privzeto skrita vsem ostalim tečajnikov, vendar vsak tečajnik lahko vidi vsebino svoje mape preko urejevalnika platforme. V primeru, da nek tečajnik pozna naslov datoteke ali mape drugega tečajnika, bo lahko do te vsebine tudi dostopil.<br /><br />
Če je mapa nekega tečajnika vidna, ostali tečajniki lahko vidijo, kaj ta mapa vsebuje. V tem primeru lahko tečajnik-lastnik mape (iz orodja dokumenti in zgolj za svoje mape/datoteke) ustvari in ureja spletne dokumente, pretvarja dokumente v predloge za osebno rabo, ustvarja in ureja slike v SVG in PNG formatu, pošilja dokumente, kreira mape, premika mape in datoteke, odstranjuje mape in datoteke, prenaša (gor/dol) arhive svojih map.<br /><br />
Še več, orodje dokumentov je sinhronizirano z upravljalcem datotek urejevalnika besedila platforme, tako da se spremembe v enem izmed njih manifestirajo tudi v drugem.<br /><br />
$HelpUsersFolder = "INFORMACIJA, VIDNA ZGOLJ UČITELJEM:\nMapa uporabnikov vsebuje mapo za vsakega uporabnika, ki je dostopil do nje preko orodja dokumentov ali pa je vanjo poslal dokument preko urejevalnika na platformi. V primeru, da noben od naštetih dogodkov ni nastopil, uporabnikova mapa ni bila kreirana. V primeru skupin, se datoteke poslane preko urejevalnika platforme dodajo mapi skupine, ki je dosegljiva zgolj tečajnikom te skupine.<br /><br />
Uporabnikova mapa in vsa njena vsebina je privzeto skrita vsem ostalim tečajnikov, vendar vsak tečajnik lahko vidi vsebino svoje mape preko urejevalnika platforme. V primeru, da nek tečajnik pozna naslov datoteke ali mape drugega tečajnika, bo lahko do te vsebine tudi dostopil.<br /><br />
Če je mapa nekega tečajnika vidna, ostali tečajniki lahko vidijo, kaj ta mapa vsebuje. V tem primeru lahko tečajnik-lastnik mape (iz orodja dokumenti in zgolj za svoje mape/datoteke) ustvari in ureja spletne dokumente, pretvarja dokumente v predloge za osebno rabo, ustvarja in ureja slike v SVG in PNG formatu, pošilja dokumente, kreira mape, premika mape in datoteke, odstranjuje mape in datoteke, prenaša (gor/dol) arhive svojih map.<br /><br />
Še več, orodje dokumentov je sinhronizirano z upravljalcem datotek urejevalnika besedila platforme, tako da se spremembe v enem izmed njih manifestirajo tudi v drugem.<br /><br />
Kot taka, uporabniška mapa ni zgolj mesto za odlaganje datotek, temveč postaja upravljalec dokumentov tečajnikov med trajanjem tečaja. In, ne pozabite, da vsak uporabnik lahko kopira vse datoteke, iz poljubne mape orodja dokumentov (če je, ali pa če ni, lastnik) v lasten portfolij ali osebne dokumente socialnega omrežja, ki mu je omogočen/dostopen.";
$HelpFolderChat = "INFORMACIJA, VIDNA ZGOLJ UČITELJEM:\nTa mapa vsebuje vse seje, ki so bile odprte v klepetu. Čeprav je seje klepeta lahko trivialna, pa je občasno njena vsebina lahko takšna, da lahko služi kot del izobraževalnega procesa, npr. kot dodaten vir, dokument, ... Da bi sejo vključili v vire tečaja brez spremembe vidljivosti te mape, naredite vidno zgolj datoteko in naredite nanjo povezavo iz elementa platforme, kjer boste ta vir uporabili.";
$HelpFolderCertificates = "INFORMACIJA VIDNA ZGOLJ UČITELJEM:\nTa mapa vsebuje različne predloge certifikatov, ki se izdajajo kot rezultat uspešnosti izvedbe (dela) učnega procesa.Ni priporočljivo, da to mapo naredite vidno vsem uporabnikom.";
@ -6316,7 +6316,7 @@ $MailNotifyInvitation = "Obvesti preko e-pošte o novem prejetem povabilu";
$MailNotifyMessage = "Obvesti preko e-pošte o novem prejetem osebnem sporočilu";
$MailNotifyGroupMessage = "Obvesti preko e-pošte o novem sporočilu, prejetem v skupini";
$SearchEnabledTitle = "Iskanje po besedilu";
$SearchEnabledComment = "Ta zmožnost dovoljuje indeksiranje večine dokumentov naloženih na platformo in zagotavlja iskanje uporabnikom po njihovi vsebini. Zmožnost ne omogoča indeksiranje prehodno že naloženih dokumentov, zato je pomembno, da jo vklopite (če iskanje želite) na začetku implementacije platforme.
$SearchEnabledComment = "Ta zmožnost dovoljuje indeksiranje večine dokumentov naloženih na platformo in zagotavlja iskanje uporabnikom po njihovi vsebini. Zmožnost ne omogoča indeksiranje prehodno že naloženih dokumentov, zato je pomembno, da jo vklopite (če iskanje želite) na začetku implementacije platforme.
Omogočena zagotavlja iskalno polje v seznamu tečajev za vsakega uporabnika. Iskanje rezultira je seznamu dokumentov, testov, objava forumov, kjer se iskana vsebina nahaja, filtrirana glede na to, do česa ima uporabnik platforme dostop.";
$SpecificSearchFieldsAvailable = "Uporabniška iskana polja, ki so na voljo";
$XapianModuleInstalled = "Xapian modul je nameščen";
@ -6964,33 +6964,33 @@ $GradebookEnableLockingTitle = "Dovoli zaklepanje ocenjevanja s strani učitelja
$GradebookEnableLockingComment = "Ko je omogočena, ta možnost omogoči zaklepanje poljubnega ocenjevanja s strani učitelja tečaja. Zaklepanje onemogoči vse nadaljne spremembe rezultatov s strani učitelja v tečaju in vseh virih, ki so uporabljeni pri ocenjevanju: testov, učnih poti, nalog, ... Edina vloga v okviru portala, ki ima možnost odklepanja je vloga administratorja. Učitelj bo pri zaklepanju informiran o tej možnosti. Odklepanje in zaklepanje redovalnic bo vedno registrirano v poročilih pomembnih aktivnosti sistema.";
$LdapDescriptionComment = "<div class=\"normal-message\"><br><ul><li>LDAP autentifikacija : <br>Glej I. spodaj za nastavitev LDAP <br>Glej II. spodaj za aktivacijo LDAP autentifikacije </li><br><br><li> Ažurirajte uporabnikove atribute, z LDAP podatki, po CAS autentifikaciji(glej <a href=\"settings.php?category=CAS\">CAS nastavitve </a>) : <br>Glej I. spodaj za nastavitev LDAP <br>CAS upravlja uporabnikovo autentifikacijo, LDAP aktivacija ni zahtevana. </li><br></ul></div><br><h4>I. LDAP nastavitev</h4><h5>Uredite datoteko main/auth/external_login/ldap.conf.php </h5>-&gt; Spremenite vrednosti tabele <code>&#36;extldap_config</code> <br><br>Parametri so <br><ul><li>base domain string (ex : 'base_dn' =&gt; 'DC=cblue,DC=be') </li><li>admin distinguished name (ex : 'admin_dn' =&gt;'CN=admin,dc=cblue,dc=be') </li><li>admin password (ex : 'admin_password' =&gt; '123456') </li><li>ldap host (ex : 'host' =&gt; array('1.2.3.4', '2.3.4.5', '3.4.5.6')) </li><li>filter (ex : 'filter' =&gt; '') </li><li>port (ex : 'port' =&gt; 389) </li><li>protocol version (2 or 3) (ex : 'protocol_version' =&gt; 3) </li><li>user_search (ex : 'user_search' =&gt; 'sAMAccountName=%username%') </li><li>encoding (ex : 'encoding' =&gt; 'UTF-8') </li><li>update_userinfo (ex : 'update_userinfo' =&gt; true) </li></ul>-&gt; Za nastavitev soodvisnosti med uporabnikom in LDAP atributi, vnesite spremembe v tabelo <code>&#36;extldap_user_correspondance</code> <br>Vrednosti v tabeli so &lt;chamilo_field&gt; =&gt; &gt;ldap_field&gt; <br>Struktura tabele je razložena v datoteki main/auth/external_login/ldap.conf.php<br><br><br><h4>II. Aktivacija LDAP autentifikacije </h4><h5>Odprite datoteko main/inc/conf/configuration.php </h5>-&gt; Odstranite komentar z vrstic <br>&#36;extAuthSource[\"extldap\"][\"login\"] =&#36;_configuration['root_sys'].&#36;_configuration['code_append'].\"auth/external_login/login.ldap.php\";<br>&#36;extAuthSource[\"extldap\"][\"newUser\"] =&#36;_configuration['root_sys'].&#36;_configuration['code_append'].\"auth/external_login/newUser.ldap.php\";<br><br>op. 1 : LDAP uporabniki uporabljajo ista polja za prijavo kot uporabniki platforme. <br>op. 2 : LDAP aktivacija doda menu Zunanja autentifikacija [LDAP] v \"dodaj ali spremeni\" uporabniške strani.";
$ShibbolethMainActivateTitle = "<h3>Shibboleth avtentifikacija</h3>";
$ShibbolethMainActivateComment = "Najrej morate nastavit Shibboleth za vaš spletni strežnik.
Za nastavitev delovanja s Chamilo, prilagodite vsebino datoteke
<h5>main/auth/shibboleth/config/aai.class.php</h5>
V skladu v danimi Shibboleth atributi, spremenite vrednosti objektov &#36;result
<ul>
<li>&#36;result-&gt;unique_id = 'mail';</li>
<li>&#36;result-&gt;firstname = 'cn';</li>
<li>&#36;result-&gt;lastname = 'uid';</li>
<li>&#36;result-&gt;email = 'mail';</li>
<li>&#36;result-&gt;language = '-';</li>
<li>&#36;result-&gt;gender = '-';</li>
<li>&#36;result-&gt;address = '-';</li>
<li>&#36;result-&gt;staff_category = '-';</li>
<li>&#36;result-&gt;home_organization_type = '-'; </li>
<li>&#36;result-&gt;home_organization = '-';</li>
<li>&#36;result-&gt;affiliation = '-';</li>
<li>&#36;result-&gt;persistent_id = '-';</li>
<li>...</li>
</ul>
$ShibbolethMainActivateComment = "Najrej morate nastavit Shibboleth za vaš spletni strežnik.
Za nastavitev delovanja s Chamilo, prilagodite vsebino datoteke
<h5>main/auth/shibboleth/config/aai.class.php</h5>
V skladu v danimi Shibboleth atributi, spremenite vrednosti objektov &#36;result
<ul>
<li>&#36;result-&gt;unique_id = 'mail';</li>
<li>&#36;result-&gt;firstname = 'cn';</li>
<li>&#36;result-&gt;lastname = 'uid';</li>
<li>&#36;result-&gt;email = 'mail';</li>
<li>&#36;result-&gt;language = '-';</li>
<li>&#36;result-&gt;gender = '-';</li>
<li>&#36;result-&gt;address = '-';</li>
<li>&#36;result-&gt;staff_category = '-';</li>
<li>&#36;result-&gt;home_organization_type = '-'; </li>
<li>&#36;result-&gt;home_organization = '-';</li>
<li>&#36;result-&gt;affiliation = '-';</li>
<li>&#36;result-&gt;persistent_id = '-';</li>
<li>...</li>
</ul>
Nato v področju <a href=\"settings.php?category=Plugins\">Vtičniki</a> omogočite in nastavite gumb Shibboleth login (logout) za vašo Chamilo platformo.";
$LdapDescriptionTitle = "<h3>LDAP avtentifikacija</h3>";
$FacebookMainActivateTitle = "<h3>Facebook avtentifikacija</h3>";
$FacebookMainActivateComment = "Najprej morate ustvariti Facebook Aplikacijo ( glej <a href=\"https://developers.facebook.com/apps\">https://developers.facebook.com/apps</a> ) s svojim Facebook računom. Izmed Facebook Apps parametrom, site URL vrednost mora biti vsebovati GET parameter 'action=fbconnect' (npr.: http://mychamilo.com/?action=fbconnect).<br />
Nato spremenite datoteko
<h5>main/auth/external_login/facebook.conf.php</h5>
tako, da nastavite vrednosti 'appld' in 'secret' za &#36;facebook_config.<br />
$FacebookMainActivateComment = "Najprej morate ustvariti Facebook Aplikacijo ( glej <a href=\"https://developers.facebook.com/apps\">https://developers.facebook.com/apps</a> ) s svojim Facebook računom. Izmed Facebook Apps parametrom, site URL vrednost mora biti vsebovati GET parameter 'action=fbconnect' (npr.: http://mychamilo.com/?action=fbconnect).<br />
Nato spremenite datoteko
<h5>main/auth/external_login/facebook.conf.php</h5>
tako, da nastavite vrednosti 'appld' in 'secret' za &#36;facebook_config.<br />
V razdelku <a href=\"settings.php?category=Plugin\">Plugins</a> omogočite in nastavite 'Facebook Login' gumb za vašo Chamilo platformo.";
$AnnouncementForGroup = "Obvestilo za skupino";
$AllGroups = "Vse skupine";

@ -265,11 +265,11 @@ $AreYouSureDeleteTestResultBeforeDateD = "¿Está seguro que desea eliminar los
$CleanStudentsResultsBeforeDate = "Eliminar todos los resultados antes de la fecha selecionada";
$HGlossary = "Ayuda del glosario";
$GlossaryContent = "Esta herramienta le permite crear términos de glosario para su curso, los cuales pueden luego ser usados en la herramienta de documentos";
$ForumContent = "<p>El foro es una herramienta de conversación para el trabajo escrito asíncrono. A diferencia del e-mail, un foro es para conversaciones públicas, semi-públicas o de grupos.</p>
<p>Para usar el foro de Chamilo, los alumnos del curso pueden simplemente usar su navegador - no requieren de ningun otro tipo de herramienta</p>
<p>Para organizar los foros, dar click en la herramienta de foros. Las conversaciones se organizan según la estructura siguiente: Categoría > Foro > Tema de conversación > Respuesta. Para permitir a los alumnos participar en los foros de manera ordenada y efectiva, es esencial crear primero categorías y foros. Luego, pertenece a los participantes crear temas de conversación y enviar respuestas. Por defecto, si el curso se ha creado con contenido de ejemplo, el foro contiene una única categoría, un foro, un tema de foro y una respuesta. Puede añadir foros a la categoría, cambiar su titulo o crear otras categorías dentro de las cuales podría entonces crear nuevos foros (no confunda categorías y foros, y recuerde que una categoría que no contiene foros es inútil y no se mostrará a los alumnos).</p>
<p>La descripción del foro puede incluir una lista de sus miembros, una definición de su propósito, una tarea, un objetivo, un tema, etc.</p>
<p>Los foros de grupos no son creados por la herramienta de foros directamente, sino por la herramienta de grupos, donde puede determinar si los foros serán públicos o privados, permitiendo al mismo tiempo a los miembros sus grupos compartir documentos y otros recursos</p>
$ForumContent = "<p>El foro es una herramienta de conversación para el trabajo escrito asíncrono. A diferencia del e-mail, un foro es para conversaciones públicas, semi-públicas o de grupos.</p>
<p>Para usar el foro de Chamilo, los alumnos del curso pueden simplemente usar su navegador - no requieren de ningun otro tipo de herramienta</p>
<p>Para organizar los foros, dar click en la herramienta de foros. Las conversaciones se organizan según la estructura siguiente: Categoría > Foro > Tema de conversación > Respuesta. Para permitir a los alumnos participar en los foros de manera ordenada y efectiva, es esencial crear primero categorías y foros. Luego, pertenece a los participantes crear temas de conversación y enviar respuestas. Por defecto, si el curso se ha creado con contenido de ejemplo, el foro contiene una única categoría, un foro, un tema de foro y una respuesta. Puede añadir foros a la categoría, cambiar su titulo o crear otras categorías dentro de las cuales podría entonces crear nuevos foros (no confunda categorías y foros, y recuerde que una categoría que no contiene foros es inútil y no se mostrará a los alumnos).</p>
<p>La descripción del foro puede incluir una lista de sus miembros, una definición de su propósito, una tarea, un objetivo, un tema, etc.</p>
<p>Los foros de grupos no son creados por la herramienta de foros directamente, sino por la herramienta de grupos, donde puede determinar si los foros serán públicos o privados, permitiendo al mismo tiempo a los miembros sus grupos compartir documentos y otros recursos</p>
<p><b>Tips de enseñanza:</b> Un foro de aprendizaje no es lo mismo que un foro de los que ve en internet. De un lado, no es posible que los alumnos modifiquen sus respuestas una vez que un tema de conversación haya sido cerrado. Esto es con el objetivo de valorar su contribución en el foro. Luego, algunos usuarios privilegiados (profesor, tutor, asistente) pueden corregir directamente las respuestas dentro del foro.<br />Para hacerlo, pueden seguir el procedimiento siguiente:<br />dar click en el icono de edición (lapiz amarillo) y marcarlo usando una funcionalidad de edición (color, subrayado, etc). Finalmente, otros alumnos pueden beneficiar de esta corrección visualizando el foro nuevamente. La misa idea puede ser aplicada entre alumnos pero requiere usar la herramienta de citación para luego indicar los elementos incorrectos (ya que no pueden editar directamente la respuesta de otro alumno)</p>";
$HForum = "Ayuda del foro";
$LoginToGoToThisCourse = "Conectarse para entrar al curso";
@ -330,19 +330,19 @@ $DeleteUsersNotInList = "Desinscribir los alumnos que no están en una sesión e
$IfSessionExistsUpdate = "Si la sesión existe, actualizarla con los datos del archivo";
$CreatedByXYOnZ = "Creado/a por <a href=\"%s\">%s</a> el %s";
$LoginWithExternalAccount = "Ingresar con una cuenta externa";
$ImportAikenQuizExplanationExample = "Este es el texto de la pregunta 1
A. Respuesta 1
B. Respuesta 2
C. Respuesta 3
ANSWER: B
Este es el texto de la pregunta 2 (notese la línea blanca arriba)
A. Respuesta 1
B. Respuesta 2
C. Respuesta 3
D. Respuesta 4
ANSWER: D
ANSWER_EXPLANATION: Este es un texto opcional de retroalimentación que aparecerá al costado de la respuesta correcta.
$ImportAikenQuizExplanationExample = "Este es el texto de la pregunta 1
A. Respuesta 1
B. Respuesta 2
C. Respuesta 3
ANSWER: B
Este es el texto de la pregunta 2 (notese la línea blanca arriba)
A. Respuesta 1
B. Respuesta 2
C. Respuesta 3
D. Respuesta 4
ANSWER: D
ANSWER_EXPLANATION: Este es un texto opcional de retroalimentación que aparecerá al costado de la respuesta correcta.
SCORE: 20";
$ImportAikenQuizExplanation = "El formato Aiken es un simple formato texto (archivo .txt) con varios bloques de preguntas, cada bloque separado por una línea blanca. La primera línea es la pregunta. Las líneas de respuestas tienen un prefijo de letra y punto, y la respuesta correcta sigue, con el prefijo 'ANSWER:'. Ver ejemplo a continuación.";
$ExerciseAikenErrorNoAnswerOptionGiven = "El archivo importado tiene por lo menos una pregunta sin respuesta (o las respuestas no incluyen la letra de prefijo requerida). Asegúrese de que cada pregunta tengo por lo mínimo una respuesta y que esté prefijada por una letra y un punto o una paréntesis, como sigue: A. Respuesta uno";
@ -432,16 +432,16 @@ $LatestVersionIs = "La última versión es";
$YourVersionNotUpToDate = "Su versión no está actualizada";
$Hotpotatoes = "Hotpotatoes";
$ZeroMeansNoQuestionWillBeSelectedMinusOneMeansThatAllQuestionsWillBeSelected = "-1 = Todas las preguntas serán seleccionadas. 0 = Ninguna pregunta será seleccionada.";
$EmailNotificationTemplateDescription = "Puede modificar el correo enviado a los usuarios al terminar el ejercicio. Puede usar los siguientes términos:
{{ student.username }}
{{ student.firstname }}
{{ student.lastname }}
{{ student.official_code }}
{{ exercise.title }}
{{ exercise.start_time }}
{{ exercise.end_time }}
{{ course.title }}
$EmailNotificationTemplateDescription = "Puede modificar el correo enviado a los usuarios al terminar el ejercicio. Puede usar los siguientes términos:
{{ student.username }}
{{ student.firstname }}
{{ student.lastname }}
{{ student.official_code }}
{{ exercise.title }}
{{ exercise.start_time }}
{{ exercise.end_time }}
{{ course.title }}
{{ course.code }}";
$EmailNotificationTemplate = "Plantilla del correo electrónico enviado al usuario al terminar el ejercicio.";
$ExerciseEndButtonDisconnect = "Desconexión de la plataforma";
@ -2641,16 +2641,16 @@ $NoPosts = "Sin publicaciones";
$WithoutAchievedSkills = "Sin competencias logradas";
$TypeMessage = "Por favor, escriba su mensaje";
$ConfirmReset = "¿Seguro que quiere borrar todos los mensajes?";
$MailCronCourseExpirationReminderBody = "Estimado %s,
Ha llegado a nuestra atención que no ha completado el curso %s aunque su fecha de vencimiento haya sido establecida al %s, quedando %s días para terminarlo.
Le recordamos que solo tiene la posibilidad de seguir este curso una vez al año, razón por la cual le invitamos con insistencia a completar su curso en el plazo que queda.
Puede regresar al curso conectándose a la plataforma en esta dirección: %s
Saludos cordiales,
$MailCronCourseExpirationReminderBody = "Estimado %s,
Ha llegado a nuestra atención que no ha completado el curso %s aunque su fecha de vencimiento haya sido establecida al %s, quedando %s días para terminarlo.
Le recordamos que solo tiene la posibilidad de seguir este curso una vez al año, razón por la cual le invitamos con insistencia a completar su curso en el plazo que queda.
Puede regresar al curso conectándose a la plataforma en esta dirección: %s
Saludos cordiales,
El equipo de %s";
$MailCronCourseExpirationReminderSubject = "Urgente: Recordatorio de vencimiento de curso %s";
$ExerciseAndLearningPath = "Ejercicios y lecciones";
@ -2896,7 +2896,7 @@ $TryAgain = "Intenta otra vez";
$SeeTheory = "Revisar la teoría";
$EndActivity = "Fin de la actividad";
$NoFeedback = "Examen (sin retroalimentación)";
$DirectFeedback = "Autoevaluación (retroalimentación inmediata)";
$DirectFeedback = "Prueba adaptativa con retroalimentación inmediata";
$FeedbackType = "Retro-alimentación";
$Scenario = "Escenario";
$VisitUrl = "Visitar esta dirección";
@ -3910,7 +3910,7 @@ $NewMessageInForum = "Ha sido publicado un nuevo mensaje en el foro";
$FolderCreated = "Ha sido creado un nuevo directorio";
$AgendaAdded = "Ha sido añadido un evento de la agenda";
$ShouldBeCSVFormat = "El archivo debe estar formato CSV. No añada espacios. La estructura debe ser exactamente :";
$Enter2passToChange = "Para cambiar la contraseña, introduzca la nueva contraseña en estos dos campos. Si desea mantener la actual, deje vacíos los dos campos.";
$TypeCurrentPassword = "Para cambiar la contraseña, introduzca primero su contraseña actual en este campo. Luego, introduzca la nueva contraseña en los dos campos a continuación. Si desea mantener la contraseña actual, deje simplemente estos 3 campos vacíos.";
$AuthInfo = "Autentificación";
$ImageWrong = "El archivo debe tener un tamaño menor de";
$NewPass = "Nueva contraseña";
@ -5830,7 +5830,7 @@ $Item = "Ítem";
$ConfigureDashboardPlugin = "Configurar el plugin del Panel de control";
$EditBlocks = "Editar bloques";
$Never = "Nunca";
$YourAccountIsActiveYouCanLoginAndCheckYourCourses = "Estimado usuario <br><br>
$YourAccountIsActiveYouCanLoginAndCheckYourCourses = "Estimado usuario <br><br>
Usted no esta activo en la plataforma, por favor inicie sesión nuevamente y revise sus cursos";
$SessionFields = "Campos de sesión";
$CopyLabelSuffix = "Copia";
@ -5888,12 +5888,12 @@ $SearchProfileMatches = "Buscar perfiles que correspondan";
$IsThisWhatYouWereLookingFor = "Corresponde a lo que busca?";
$WhatSkillsAreYouLookingFor = "Que competencias busca?";
$ProfileSearch = "Búsqueda de perfil";
$CourseSettingsRegisterDirectLink = "Si su curso es público o abierto, puede usar el enlace directo abajo para invitar a nuevos usuarios, de tal manera que estén enviados directamente en este curso al finalizar el formulario de registro al portal. Si desea, puede añadir el parámetro e=1 a este enlace, remplazando \"1\" por el ID del ejercicio, para mandar los usuarios directamente a un ejercicio o examen. El ID del ejercicio se puede obtener en la URL del ejercicio cuando le de clic para entrar al mismo.<br />
$CourseSettingsRegisterDirectLink = "Si su curso es público o abierto, puede usar el enlace directo abajo para invitar a nuevos usuarios, de tal manera que estén enviados directamente en este curso al finalizar el formulario de registro al portal. Si desea, puede añadir el parámetro e=1 a este enlace, remplazando \"1\" por el ID del ejercicio, para mandar los usuarios directamente a un ejercicio o examen. El ID del ejercicio se puede obtener en la URL del ejercicio cuando le de clic para entrar al mismo.<br />
%s";
$DirectLink = "Enlace directo";
$here = "aqui";
$GoAheadAndBrowseOurCourseCatalogXOnceRegisteredYouWillSeeTheCourseHereX = "Adelante, pulsa %s para acceder al catálogo de cursos e inscribirte en un curso que te interese. Una vez inscrito/a, el curso aparecerá en esta pantalla en lugar de este mensaje.";
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Hola %s, te damos la bienvenida,<br />
$HelloXAsYouCanSeeYourCourseListIsEmpty = "Hola %s, te damos la bienvenida,<br />
Como puedes ver, tu lista de cursos todavía está vacía. Esto es porque todavía no estás inscrito/a en ningún curso.";
$UnsubscribeUsersAlreadyAddedInCourse = "Desinscribir todos los alumnos ya inscritos";
$ImportUsers = "Importar usuarios";
@ -6105,7 +6105,7 @@ $CourseRequestLegalNote = "La información de esta solicitud de formación es co
$EnableCourseValidation = "Solicitud de cursos";
$EnableCourseValidationComment = "Cuando la solicitud de cursos está activada, un profesor no podrá crear un curso por si mismo sino que tendrá que rellenar una solicitud. El administrador de la plataforma revisará la solicitud y la aprobará o rechazará. Esta funcionalidad se basa en mensajes de correo electrónico automáticos por lo que debe asegurarse de que su instalación de Chamilo usa un servidor de correo y una dirección de correo dedicada a ello.";
$CourseRequestAskInfoEmailSubject = "%s Solicitud de información %s";
$CourseRequestAskInfoEmailText = "Hemos recibido su solicitud para la creación de un curso con el código %s. Antes de considerar su aprobación necesitamos alguna información adicional.\n\n
$CourseRequestAskInfoEmailText = "Hemos recibido su solicitud para la creación de un curso con el código %s. Antes de considerar su aprobación necesitamos alguna información adicional.\n\n
Por favor, realice una breve descripción del contenido del curso, los objetivos y los estudiantes u otro tipo de usuarios que vayan a participar. Si es su caso, mencione el nombre de la institución u órgano en nombre de la cual Usted ha hecho la solicitud.";
$CourseRequestAcceptedEmailSubject = "%s La petición del curso %s ha sido aprobada";
$CourseRequestAcceptedEmailText = "Su solicitud del curso %s ha sido aprobada. Un nuevo curso %s ha sido creado y Usted ha quedado inscrito en él como profesor.\n\nPodrá acceder al curso creado desde: %s";
@ -6156,9 +6156,9 @@ $AverageScore = "Puntuación media";
$LastConnexionDate = "Fecha de la última conexión";
$ToolVideoconference = "Videoconferencia";
$BigBlueButtonEnableTitle = "Herramienta de videoconferencia BigBlueButton";
$BigBlueButtonEnableComment = "Seleccione si desea habilitar la herramienta de videoconferencia BigBlueButton. Una vez activada, se mostrará como una herramienta en la página principal todos los curso. Los profesores podrán lanzar una videoconferencia en cualquier momento, pero los estudiantes sólo podrán unirse a una ya lanzada.
Si no dispone de un servidor BigBlueButton, pruebe a
<a href=\"http://bigbluebutton.org/\" target=\"_blank\">configurar uno</a> o pida ayuda a los <a href=\"http://www.chamilo.org/en/providers\" target=\"_blank\">proveedores oficiales de Chamilo</a>.
$BigBlueButtonEnableComment = "Seleccione si desea habilitar la herramienta de videoconferencia BigBlueButton. Una vez activada, se mostrará como una herramienta en la página principal todos los curso. Los profesores podrán lanzar una videoconferencia en cualquier momento, pero los estudiantes sólo podrán unirse a una ya lanzada.
Si no dispone de un servidor BigBlueButton, pruebe a
<a href=\"http://bigbluebutton.org/\" target=\"_blank\">configurar uno</a> o pida ayuda a los <a href=\"http://www.chamilo.org/en/providers\" target=\"_blank\">proveedores oficiales de Chamilo</a>.
BigBlueButton es libre, pero su instalación requiere ciertas habilidades técnicas que no todo el mundo posee. Puede instalarlo por su cuenta o buscar ayuda profesional con el consiguiente costo. En la lógica del software libre, nosotros le ofrecemos las herramientas para hacer más fácil su trabajo y le recomendamos profesionales (los proveedores oficiales de Chamilo) que serán capaces de ayudarle.";
$BigBlueButtonHostTitle = "Servidor BigBlueButton";
$BigBlueButtonHostComment = "Este es el nombre del servidor donde su servidor BigBlueButton está ejecutándose. Puede ser localhost, una dirección IP (ej., 192.168.14.54) o un nombre de dominio (por ej., my.video.com).";
@ -6169,14 +6169,14 @@ $OnlyAccessFromYourGroup = "Sólo accesible desde su grupo";
$CreateAssignmentPage = "Esto creará una página wiki especial en la que el profesor describe la tarea, la cual se enlazará automáticamente a las páginas wiki donde los estudiantes la realizarán. Tanto las página del docente como la de los estudiantes se crean automáticamente. En este tipo de tareas los estudiantes sólo podrán editar y ver sus páginas, aunque esto puede cambiarlo si lo desea.";
$UserFolders = "Carpetas de los usuarios";
$UserFolder = "Carpeta del usuario";
$HelpUsersFolder = "INFORMACIÓN SOLO VISIBLE POR EL PROFESORADO:\nLa carpeta de los usuarios contiene una carpeta de cada usuario que haya accedido a ella a través de la herramienta documentos, o bien que haya enviado algún fichero al curso a través del editor, salvo desde la herramienta grupos. Si ninguna de las dos circunstancias se ha producido la carpeta del usuario no estará creada. En el caso de los grupos, los archivos que se envíen a través del editor se depositarán en la carpeta de cada grupo, la cual sólo será accesible por los alumnos desde la herramienta grupos.
La carpeta de los usuarios y las carpetas que contiene de cada uno de ellos, se mantendrán por ocultas por defecto, si bien cada alumno podrá ver el contenido de la suya cuando acceda a inspeccionar los archivos del servidor a través del editor. No obstante, si un alumno conoce la dirección de un archivo de la carpeta de otro alumno podrá visualizarlo.
Si se hace visible la carpeta de los usuarios y la carpeta de uno o más alumnos, el resto de los alumnos podrán ver todo su contenido. En este caso, el alumno propietario de la carpeta también podrá desde la herramienta documentos (sólo dentro de su carpeta): crear y editar documentos web, convertir un documento web en una plantilla para uso personal, crear y editar dibujos SVG y PNG, grabar archivos de audio en formato WAV, convertir texto en audio en formato MP3, realizar capturas a través de su webcam, enviar documentos, crear carpetas, mover carpetas y archivos, borrar carpetas y archivos, y descargar copias de seguridad de su carpeta.
Por otra parte, la herramienta documentos se sincroniza con el gestor de archivos del editor web, así que los cambios en la gestión de los documentos realizados en una u otra afectarán a ambas.
$HelpUsersFolder = "INFORMACIÓN SOLO VISIBLE POR EL PROFESORADO:\nLa carpeta de los usuarios contiene una carpeta de cada usuario que haya accedido a ella a través de la herramienta documentos, o bien que haya enviado algún fichero al curso a través del editor, salvo desde la herramienta grupos. Si ninguna de las dos circunstancias se ha producido la carpeta del usuario no estará creada. En el caso de los grupos, los archivos que se envíen a través del editor se depositarán en la carpeta de cada grupo, la cual sólo será accesible por los alumnos desde la herramienta grupos.
La carpeta de los usuarios y las carpetas que contiene de cada uno de ellos, se mantendrán por ocultas por defecto, si bien cada alumno podrá ver el contenido de la suya cuando acceda a inspeccionar los archivos del servidor a través del editor. No obstante, si un alumno conoce la dirección de un archivo de la carpeta de otro alumno podrá visualizarlo.
Si se hace visible la carpeta de los usuarios y la carpeta de uno o más alumnos, el resto de los alumnos podrán ver todo su contenido. En este caso, el alumno propietario de la carpeta también podrá desde la herramienta documentos (sólo dentro de su carpeta): crear y editar documentos web, convertir un documento web en una plantilla para uso personal, crear y editar dibujos SVG y PNG, grabar archivos de audio en formato WAV, convertir texto en audio en formato MP3, realizar capturas a través de su webcam, enviar documentos, crear carpetas, mover carpetas y archivos, borrar carpetas y archivos, y descargar copias de seguridad de su carpeta.
Por otra parte, la herramienta documentos se sincroniza con el gestor de archivos del editor web, así que los cambios en la gestión de los documentos realizados en una u otra afectarán a ambas.
Así pues, la carpeta de usuario no sólo es un lugar para depositar los archivos, sino que se convierte en un completo gestor de los documentos que los estudiantes utilizan durante el curso. Además, recuerde que cualquier usuario podrá copiar un archivo, que sea visible, de cualquier carpeta de la herramienta documentos (sea o no la suya) a su portafolios o área personal de documentos de la red social, donde estará disponible para que lo pueda usar en otros cursos.";
$HelpFolderChat = "INFORMACIÓN SOLO VISIBLE POR EL PROFESORADO:\nEsta carpeta contiene todas las sesiones que se han realizado en el chat. Aunque muchas veces las sesiones en el chat pueden ser triviales, en otras pueden ser dignas de ser tratadas como un documento más de trabajo. Para ello, sin cambiar la visibilidad de esta carpeta, haga visible el archivo y enlácelo donde considere oportuno. No se recomienda hacer visible esta carpeta.";
$HelpFolderCertificates = "INFORMACIÓN SOLO VISIBLE POR EL PROFESORADO:\nEsta carpeta contiene los distintos modelos de certificados que se han creado para la herramienta Evaluaciones. No se recomienda hacer visible esta carpeta.";
@ -6190,7 +6190,7 @@ $UploadCorrections = "Subir correcciones";
$Text2AudioTitle = "Activar servicios de conversión de texto en audio";
$Text2AudioComment = "Herramienta on-line para convertir texto en voz. Utiliza tecnología y sistemas de síntesis del habla para ofrecer recursos de voz.";
$ShowUsersFoldersTitle = "Mostrar las carpetas de los usuarios en la herramienta documentos";
$ShowUsersFoldersComment = "
$ShowUsersFoldersComment = "
Esta opción le permitirá mostrar u ocultar a los profesores las carpetas que el sistema genera para cada usuario que visita la herramienta documentos o envía un archivo a través del editor web. Si muestra estas carpetas a los profesores, éstos podrán hacerlas visibles o no a los estudiantes y permitirán a cada estudiante tener un lugar específico en el curso donde, no sólo almacenar documentos, sino donde también podrán crear y modificar páginas web y poder exportarlas a pdf, realizar dibujos, realizar plantillas web personales, enviar archivos, así como crear, mover y eliminar subdirectorios y archivos, y sacar copias de seguridad de sus carpetas. Cada usuario del curso dispondrá de un completo gestor de documentos. Además, recuerde que cualquier usuario podrá copiar un archivo, que sea visible, de cualquier carpeta de la herramienta documentos (sea o no la suya) a su portafolios o área personal de documentos de la red social, donde estará disponible para que lo pueda usar en otros cursos.";
$ShowDefaultFoldersTitle = "Mostrar en la herramienta documentos las carpetas que contienen los recursos multimedia suministrados por defecto.";
$ShowDefaultFoldersComment = "Las carpetas de archivos multimedia suministradas por defecto contienen archivos de libre distribución organizados en las categorías de video, audio, imagen y animaciones flash que para utilizar en sus cursos. Aunque las oculte en la herramienta documentos, podrá seguir usándolas en el editor web de la plataforma.";
@ -6226,8 +6226,8 @@ $Pediaphon = "Usar los servicios de audio de Pediaphon";
$HelpPediaphon = "Admite textos con varios miles de caracteres, pudiéndose seleccionar varios tipos de voz masculinas y femeninas (según el idioma). Los archivos de audio se generarán y guardarán automáticamente en el directorio de Chamilo en el que Usted actualmente se encuentra.";
$FirstSelectALanguage = "Primero seleccione un idioma";
$MoveUserStats = "Mover los resultados de los usuarios desde/hacia una sesión de formación";
$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta herramienta avanzada le permite mejorar manualmente el seguimiento de los resultados de los usuarios cuando cambia de un modelo de cursos a un modelo de sesiones de formación. En una mayoría de casos, no necesitará usarla.<br />
En esta pantalla, puede comparar los resultados que los usuarios tienen en el contexto de un curso y en el contexto del mismo curso dentro de una sesión de formación.<br />
$CompareUserResultsBetweenCoursesAndCoursesInASession = "Esta herramienta avanzada le permite mejorar manualmente el seguimiento de los resultados de los usuarios cuando cambia de un modelo de cursos a un modelo de sesiones de formación. En una mayoría de casos, no necesitará usarla.<br />
En esta pantalla, puede comparar los resultados que los usuarios tienen en el contexto de un curso y en el contexto del mismo curso dentro de una sesión de formación.<br />
Una vez que decidida cuál es el mejor contexto para el seguimiento (resultados de ejercicios y seguimiento de lecciones), podrá moverlo de un curso a una sesión.";
$PDFExportWatermarkEnableTitle = "Marcas de agua en las exportaciones a PDF";
$PDFExportWatermarkEnableComment = "Si activa esta opción podrá cargar una imagen o un texto que serán automáticamente añadidos como marca de agua en los documentos resultantes de todas las exportaciones a PDF que realice el sistema.";
@ -6362,8 +6362,8 @@ $MailNotifyInvitation = "Notificar las invitaciones por correo electrónico";
$MailNotifyMessage = "Notificar los mensajes por correo electrónico";
$MailNotifyGroupMessage = "Notificar en los grupos los mensajes por correo electrónico";
$SearchEnabledTitle = "Búsqueda a texto completo";
$SearchEnabledComment = "Esta funcionalidad permite la indexación de la mayoría de los documentos subidos a su portal, con lo que permite la búsqueda para los usuarios.<br />
Esta funcionalidad no indexa los documentos que ya fueron subidos, por lo que es importante (si se quiere) activarla al comienzo de su implementación.<br />
$SearchEnabledComment = "Esta funcionalidad permite la indexación de la mayoría de los documentos subidos a su portal, con lo que permite la búsqueda para los usuarios.<br />
Esta funcionalidad no indexa los documentos que ya fueron subidos, por lo que es importante (si se quiere) activarla al comienzo de su implementación.<br />
Una vez activada, una caja de búsqueda aparecerá en la lista de cursos de cada usuario. Buscar un término específico suministra una lista de documentos, ejercicios o temas de foro correspondientes, filtrados dependiendo de su disponibilidad para el usuario.";
$SpecificSearchFieldsAvailable = "Campos de búsqueda personalizados disponibles";
$XapianModuleInstalled = "Módulo Xapian instalado";
@ -6661,7 +6661,7 @@ $DisableEndDate = "Deshabilitar fecha final";
$ForumCategories = "Categorías de foro";
$Copy = "Copiar";
$ArchiveDirCleanup = "Limpieza de caché y archivos temporales";
$ArchiveDirCleanupDescr = "Chamilo guarda una copia de los archivos temporales que genera (para los backups, las exportaciones, las copias, etc) dentro del directorio app/cache/. Pasado un tiempo, todo esto puede llegar a ocupar bastante espacio en el disco duro. Si hace clic en el siguiente botón ejecutará una limpieza manual de este directorio. Esta operación debería ser realizada regularmente mediante la utilidad cron de Linux, pero si esto no es posible en su entorno puede utilizar esta página para eliminar todos los archivos temporales cada cierto tiempo.
$ArchiveDirCleanupDescr = "Chamilo guarda una copia de los archivos temporales que genera (para los backups, las exportaciones, las copias, etc) dentro del directorio app/cache/. Pasado un tiempo, todo esto puede llegar a ocupar bastante espacio en el disco duro. Si hace clic en el siguiente botón ejecutará una limpieza manual de este directorio. Esta operación debería ser realizada regularmente mediante la utilidad cron de Linux, pero si esto no es posible en su entorno puede utilizar esta página para eliminar todos los archivos temporales cada cierto tiempo.
Esta opción limpia el caché de temas también.";
$ArchiveDirCleanupProceedButton = "Ejecutar la limpieza";
$ArchiveDirCleanupSucceeded = "El contenido del directorio app/cache/ ha sido eliminado.";
@ -7010,69 +7010,69 @@ $ResourceLockedByGradebook = "Esta opción no está disponible porque la activid
$GradebookLockedAlert = "Esta evaluación ha sido bloqueada y no puede ser desbloqueada. Si necesita realmente desbloquearla, por favor contacte el administrador de la plataforma, explicando su razón (sino podría ser considerado como un intento de fraude).";
$GradebookEnableLockingTitle = "Activar bloqueo de Evaluaciones por los profesores";
$GradebookEnableLockingComment = "Una vez activada, esta opción permitirá a los profesores bloquear cualquier evaluación dentro de su curso. Esto prohibirá al profesor cualquier modificación posterior de los resultados de sus alumnos en los recursos usados para esta evaluación: exámenes, lecciones, tareas, etc. El único rol autorizado a desbloquear una evaluación es el administrador. El profesor estará informado de esta posibilidad al intentar desbloquear la evaluación. El bloqueo como el desbloqueo estarán guardados en el registro de actividades importantes del sistema.";
$LdapDescriptionComment = "<div class=\"alert alert-info\">
<ul>
<li>Autentificación LDAP: <br>
Véase I. a continuación para configurar LDAP<br>
Véase II. a continuación para activar la autentificación LDAP
</li>
<li>Actualizar los atributos de usuario, con los datos de LDAP, después de la autentificación CAS (véase <a href=\"settings.php?category=CAS\">Configuración CAS</a>): <br>
Véase I. a continuación para configurar LDAP<br>
Para gestionar la autentificación de usuarios por CAS, no se requere la activación de LDAP.
</li>
</ul>
</div>
<h4>I. Configuración de LDAP</h4>
<h5>Editar el archivo app/config/auth.conf.php </h5>
<p>-&gt; Editar los valores del array <code>\$extldap_config</code></p>
<ul>
<li>base domain string (p. ej.: 'base_dn' =&gt; 'DC=cblue,DC=be')</li>
<li>admin distinguished name (p. ej.: 'admin_dn' =&gt;'CN=admin,dc=cblue,dc=be')</li>
<li>admin password (p. ej.: 'admin_password' =&gt; '123456') </li>
<li>ldap host (p. ej.: 'host' =&gt; array('1.2.3.4', '2.3.4.5', '3.4.5.6'))</li>
<li>filter (p. ej.: 'filter' =&gt; '') </li>
<li>port (p. ej.: 'port' =&gt; 389) </li>
<li>protocol version (2 or 3) (p. ej.: 'protocol_version' =&gt; 3)</li>
<li>user_search (p. ej.: 'user_search' =&gt; 'sAMAccountName=%username%') </li>
<li>encoding (p. ej.: 'encoding' =&gt; 'UTF-8')</li>
<li>update_userinfo (p. ej.: 'update_userinfo' =&gt; true) </li>
</ul>
<p>-&gt; Para actualizar las correspondencias entre los atributos de usuario y LDAP, editar el array <code>\$extldap_user_correspondance</code></p>
<p>Los valores del Array son &lt;chamilo_field&gt; =&gt; &gt;ldap_field&gt;</p><p>
</p>
<h4>II. Activar la atenticación LDAP</h4>
<h5>Editar el archivo app/config/configuration.php </h5>
<p>-&gt; Descomentar las líneas:</p>
<ul>
<li>
\$extAuthSource[\"extldap\"][\"login\"] = \$_configuration['root_sys'].\"main/auth/external_login/login.ldap.php\";</li>
<li>\$extAuthSource[\"extldap\"][\"newUser\"] = \$_configuration['root_sys'].\"main/auth/external_login/newUser.ldap.php\";</li>
</ul>
<p>N.B.: Los usuarios de LDAP usan los mismos campos que los usuarios de la plataforma para iniciar sesión.<br>
$LdapDescriptionComment = "<div class=\"alert alert-info\">
<ul>
<li>Autentificación LDAP: <br>
Véase I. a continuación para configurar LDAP<br>
Véase II. a continuación para activar la autentificación LDAP
</li>
<li>Actualizar los atributos de usuario, con los datos de LDAP, después de la autentificación CAS (véase <a href=\"settings.php?category=CAS\">Configuración CAS</a>): <br>
Véase I. a continuación para configurar LDAP<br>
Para gestionar la autentificación de usuarios por CAS, no se requere la activación de LDAP.
</li>
</ul>
</div>
<h4>I. Configuración de LDAP</h4>
<h5>Editar el archivo app/config/auth.conf.php </h5>
<p>-&gt; Editar los valores del array <code>\$extldap_config</code></p>
<ul>
<li>base domain string (p. ej.: 'base_dn' =&gt; 'DC=cblue,DC=be')</li>
<li>admin distinguished name (p. ej.: 'admin_dn' =&gt;'CN=admin,dc=cblue,dc=be')</li>
<li>admin password (p. ej.: 'admin_password' =&gt; '123456') </li>
<li>ldap host (p. ej.: 'host' =&gt; array('1.2.3.4', '2.3.4.5', '3.4.5.6'))</li>
<li>filter (p. ej.: 'filter' =&gt; '') </li>
<li>port (p. ej.: 'port' =&gt; 389) </li>
<li>protocol version (2 or 3) (p. ej.: 'protocol_version' =&gt; 3)</li>
<li>user_search (p. ej.: 'user_search' =&gt; 'sAMAccountName=%username%') </li>
<li>encoding (p. ej.: 'encoding' =&gt; 'UTF-8')</li>
<li>update_userinfo (p. ej.: 'update_userinfo' =&gt; true) </li>
</ul>
<p>-&gt; Para actualizar las correspondencias entre los atributos de usuario y LDAP, editar el array <code>\$extldap_user_correspondance</code></p>
<p>Los valores del Array son &lt;chamilo_field&gt; =&gt; &gt;ldap_field&gt;</p><p>
</p>
<h4>II. Activar la atenticación LDAP</h4>
<h5>Editar el archivo app/config/configuration.php </h5>
<p>-&gt; Descomentar las líneas:</p>
<ul>
<li>
\$extAuthSource[\"extldap\"][\"login\"] = \$_configuration['root_sys'].\"main/auth/external_login/login.ldap.php\";</li>
<li>\$extAuthSource[\"extldap\"][\"newUser\"] = \$_configuration['root_sys'].\"main/auth/external_login/newUser.ldap.php\";</li>
</ul>
<p>N.B.: Los usuarios de LDAP usan los mismos campos que los usuarios de la plataforma para iniciar sesión.<br>
N.B.: La activación LDAP agrega un menú \"Autentificación externa\" [LDAP] en las páginas de \"agregar o modificar\" usuarios.</p>";
$ShibbolethMainActivateTitle = "<h3>Autenticación Shibboleth</h3>";
$ShibbolethMainActivateComment = "En primer lugar, tiene que configurar Shibboleth para su servidor web.
Para configurarlo en Chamilo:
editar el archivo <strong> main/auth/shibboleth/config/aai.class.php</strong>
Modificar valores de \$result con el nombre de los atributos de Shibboleth
\$result->unique_id = 'mail';
\$result->firstname = 'cn';
\$result->lastname = 'uid';
\$result->email = 'mail';
\$result->language = '-';
\$result->gender = '-';
\$result->address = '-';
\$result->staff_category = '-';
\$result->home_organization_type = '-';
\$result->home_organization = '-';
\$result->affiliation = '-';
\$result->persistent_id = '-';
...
$ShibbolethMainActivateComment = "En primer lugar, tiene que configurar Shibboleth para su servidor web.
Para configurarlo en Chamilo:
editar el archivo <strong> main/auth/shibboleth/config/aai.class.php</strong>
Modificar valores de \$result con el nombre de los atributos de Shibboleth
\$result->unique_id = 'mail';
\$result->firstname = 'cn';
\$result->lastname = 'uid';
\$result->email = 'mail';
\$result->language = '-';
\$result->gender = '-';
\$result->address = '-';
\$result->staff_category = '-';
\$result->home_organization_type = '-';
\$result->home_organization = '-';
\$result->affiliation = '-';
\$result->persistent_id = '-';
...
Ir a Plug-in para añadir el botón 'Shibboleth Login' en su campus de Chamilo.";
$LdapDescriptionTitle = "<h3>Autentificacion LDAP</h3>";
$FacebookMainActivateTitle = "Autenticación con Facebook";
@ -7501,8 +7501,8 @@ $AreYouSureToSubscribe = "¿Está seguro de suscribirse?";
$CheckYourEmailAndFollowInstructions = "Revise su correo electrónico y siga las instrucciones.";
$LinkExpired = "Enlace expirado, por favor vuelva a iniciar el proceso.";
$ResetPasswordInstructions = "Instrucciones para el procedimiento de cambio de contraseña";
$ResetPasswordCommentWithUrl = "Ha recibido este mensaje porque Usted (o alguien que intenta hacerse pasar por Ud) ha pedido que su contraseña sea generada nuevamente. Para configurar una nueva contraseña, necesita activarla. Para ello, por favor de clic en el siguiente enlace: %s.
$ResetPasswordCommentWithUrl = "Ha recibido este mensaje porque Usted (o alguien que intenta hacerse pasar por Ud) ha pedido que su contraseña sea generada nuevamente. Para configurar una nueva contraseña, necesita activarla. Para ello, por favor de clic en el siguiente enlace: %s.
Si no ha pedido un cambio de contraseña, puede ignorar este mensaje. No obstante, si vuelve a recibirlo repetidamente, por favor comuníquese con el administrador de su portal.";
$CronRemindCourseExpirationActivateTitle = "Cron de Recordatorio de Expiración de Curso";
$CronRemindCourseExpirationActivateComment = "Habilitar el cron de envío de recordatorio de expiración de cursos";
@ -7511,14 +7511,14 @@ $CronRemindCourseExpirationFrequencyComment = "Número de días antes de la expi
$CronCourseFinishedActivateText = "Cron de finalización de curso";
$CronCourseFinishedActivateComment = "Activar el cron de finalización de curso";
$MailCronCourseFinishedSubject = "Fin del curso %s";
$MailCronCourseFinishedBody = "Estimado %s,
Gracias por participar en el curso %s. Esperamos que hayas aprendido y disfrutado del curso.
Puedes ver tu rendimiento a lo largo del curso en la sección Mi Avance.
Saludos cordiales,
$MailCronCourseFinishedBody = "Estimado %s,
Gracias por participar en el curso %s. Esperamos que hayas aprendido y disfrutado del curso.
Puedes ver tu rendimiento a lo largo del curso en la sección Mi Avance.
Saludos cordiales,
El equipo de %s";
$GenerateDefaultContent = "Generar contenido por defecto";
$ThanksForYourSubscription = "¡Gracias por su suscripción!";
@ -7740,8 +7740,8 @@ $LegalAccepted = "Acuerdo legal aceptado";
$LoadTermConditionsSectionTitle = "Cargar la sección de términos y condiciones";
$LoadTermConditionsSectionDescription = "El acuerdo legal aparecerá durante el login o cuando entre a un curso.";
$SendTermsSubject = "Su contrato de aprendizaje está listo para firmar.";
$SendTermsDescriptionToUrlX = "Hola,
$SendTermsDescriptionToUrlX = "Hola,
Su tutor le ha enviado s contrato de aprendizaje. Puede ir a firmarlo siguiendo esta URL: %s";
$UserXSignedTheAgreement = "El usuario %s ha firmado el acuerdo.";
$UserXSignedTheAgreementTheY = "El usuario %s ha firmado el acuerdo el %s.";
@ -7892,7 +7892,7 @@ $EditCourseCategoryToURL = "Editar categorías de cursos de una URL";
$VisibleToSelf = "Visible para si mismo";
$VisibleToOthers = "Visible por otros";
$UpgradeVersion = "Actualizar la versión de Chamilo LMS";
$CRSTablesIntro = "El script de instalación ha detectado tablas procedentes de versiones anteriores que podrían causar problemas durante el proceso de actualización.
$CRSTablesIntro = "El script de instalación ha detectado tablas procedentes de versiones anteriores que podrían causar problemas durante el proceso de actualización.
Por favor, haga clic en el botón de abajo para eliminarlas. Recomendamos seriamente hacer una copia de seguridad completa de estas antes de confirmar este último paso de instalación.";
$Removing = "Removiendo";
$CheckForCRSTables = "Comprobar si hay tablas de versiones anteriores";
@ -8038,12 +8038,12 @@ $SpecificDate = "Envío en fecha concreta";
$BaseDate = "Envío en base a fecha de inicio/fin de la sesión";
$AfterOrBefore = "Antes o después";
$Before = "Antes de";
$ScheduleAnnouncementDescription = "Este formulario permite programar anuncios/avisos para que sean enviados de manera automática a los alumnos que están realizando un curso en una sesión.
Existe dos tipos de anuncios que se pueden enviar:
Envío en una fecha concreta: En este caso se selecciona un día concreto para hacer el envío.
$ScheduleAnnouncementDescription = "Este formulario permite programar anuncios/avisos para que sean enviados de manera automática a los alumnos que están realizando un curso en una sesión.
Existe dos tipos de anuncios que se pueden enviar:
Envío en una fecha concreta: En este caso se selecciona un día concreto para hacer el envío.
Envío en base a la fecha de inicio/finalización de la sesión: en este caso se ha de indicar el número de días que han de pasar antes de enviar el anuncio. Y esos días pueden estar asociados a antes o después de la fecha de inicio/finalización. Por ejemplo: 3 días después de fecha de inicio.";
$MandatorySurveyNoAnswered = "Usted tiene pendiente una encuesta obligatoria. Para ingresar al curso, primero deberá completarla";
$ShowPreviousButton = "Mostrar el botón 'anterior'";
@ -8073,8 +8073,8 @@ $MyCoursePageCategoryIntroduction = "A continuación encontrará una lista de ca
$FeatureDisabledByAdministrator = "Funcionalidad desactivada por el administrador de la plataforma";
$SubscribeUsersToLpCategory = "Suscribir usuarios a la categoría de lecciones";
$SubscribeGroupsToLpCategory = "Suscribir grupos a la categoría de lecciones";
$UserLpSubscriptionDescription = "Tenga en cuenta que si la inscripción de los usuarios en una categoría está disponible, entonces si ya ha suscrito a usuarios a la categoría, esta inuscripcion en la categoria sobrepasara la inscripción de los usuarios aquí en la leccion
$UserLpSubscriptionDescription = "Tenga en cuenta que si la inscripción de los usuarios en una categoría está disponible, entonces si ya ha suscrito a usuarios a la categoría, esta inuscripcion en la categoria sobrepasara la inscripción de los usuarios aquí en la leccion
Tenga en cuenta que si la inscripción de los usuarios en una categoría está disponible, entonces, si ya ha suscrito a usuarios en la categoría, anulará la inscripción de usuarios aquí en la lección";
$UserLpCategorySubscriptionDescription = "Tenga en cuenta que la inscripción de los usuarios en una categoría sobre pasa la inscripción de los usuarios en las lecciones";
$FieldTypeSelectWithTextField = "Lista desplegable con campo de texto";
@ -8175,10 +8175,10 @@ $RedirectToTheDocumentList = "Redirigir a la lista de documentos";
$TheExerciseAutoLaunchSettingIsONStudentsWillBeRedirectToTheExerciseList = "La funcionalidad de lanzamiento automático de ejercicios está activada. Los estudiantes serán automáticamente redirigidos a la lista de ejercicios.";
$PostedExpirationDate = "Fecha límite publicada para enviar el trabajo (visible para el alumno)";
$BossAlertMsgSentToUserXTitle = "Mensaje de seguimiento sobre alumno %s";
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hola,<br/><br/>
El usuario %s ha enviado un mensaje de seguimiento sobre el alumno %s.<br/><br/>
$BossAlertUserXSentMessageToUserYWithLinkZ = "Hola,<br/><br/>
El usuario %s ha enviado un mensaje de seguimiento sobre el alumno %s.<br/><br/>
El mensaje se puede ver en %s";
$include_services = "Incluir los servicios";
$culqi_enable = "Activar Culqi";
@ -8220,11 +8220,11 @@ $ResultAccomplishedTest = "Resultados de la prueba dada";
$YourResultsByDiscipline = "Sus notas, disciplina por disciplina";
$ForComparisonYourLastResultToThisTest = "En comparación, su última nota para esta prueba";
$YourOverallResultForTheTest = "Su nota para la prueba en general";
$QuestionDegreeCertaintyHTMLMail = "Encontrará su nota a continuación para la prueba %s.<br />
Para ver más detalles:
<br /><br />
1. Conectarse a la plataforma (usuario/contraseña usual): <a href='%s'>Hacia la plataforma</a>.
<br /><br />
$QuestionDegreeCertaintyHTMLMail = "Encontrará su nota a continuación para la prueba %s.<br />
Para ver más detalles:
<br /><br />
1. Conectarse a la plataforma (usuario/contraseña usual): <a href='%s'>Hacia la plataforma</a>.
<br /><br />
2. Seguir este enlace: <a href='%s'>Ver resultados más detallados</a>.";
$DegreeOfCertaintyVerySure = "Muy seguro";
$DegreeOfCertaintyVerySureDescription = "Dio la respuesta correcta y estaba seguro de ella al 80% ¡Felicitaciones!";
@ -8286,8 +8286,8 @@ $SubSkill = "Sub-competencia";
$AddMultipleUsersToCalendar = "Agregar múltiples usuarios al calendario";
$UpdateCalendar = "Actualizar calendario";
$ControlPoint = "Punto de control";
$MessageQuestionCertainty = "Siga las instrucciones a continuación para ver sus resultados de la prueba '%s' a detalle:<br /><br />
1. Conéctese a la plataforma (con login/constraseña) en: %s<br />
$MessageQuestionCertainty = "Siga las instrucciones a continuación para ver sus resultados de la prueba '%s' a detalle:<br /><br />
1. Conéctese a la plataforma (con login/constraseña) en: %s<br />
2. De click en el enlace siguiente: Ms<br />";
$SessionMinDuration = "Duración mín de sesión";
$CanNotTranslate = "No se pudo traducir";
@ -8312,9 +8312,9 @@ $RemoveTerms = "Anular acuerdo de condiciones de uso";
$InformationRightToBeForgottenLinkX = "Puede encontrar más información sobre el derecho al olvido en la página siguiente: %s";
$ExplanationDeleteLegal = "Por favor indíquenos porqué desea eliminar su acuerda a nuestras condiciones de uso, para asegurar que lo podamos hacer de la mejor manera posible.";
$ExplanationDeleteAccount = "Por favor indíquenos porqué desea que eliminemos su cuenta, para asegurar que lo podamos hacer de la mejor manera.";
$WhyYouWantToDeleteYourLegalAgreement = "Puede solicitar a bajo la eliminación de su acuerdo a nuestras condiciones de uso o la eliminación de su cuenta.<br />
En el caso de la eliminación de su acuerdo, tendrá que volver a aceptar nuestras condiciones en su próxima conexión, pues no nos es posible proveerle una experiencia personalizada sin al mismo tiempo gestionar algunos de sus datos personales.<br />
En el caso de la eliminación completa de su cuenta, ésta será eliminada junta con todas sus suscripciones a cursos y toda la información relacionada con su cuenta.<br />
$WhyYouWantToDeleteYourLegalAgreement = "Puede solicitar a bajo la eliminación de su acuerdo a nuestras condiciones de uso o la eliminación de su cuenta.<br />
En el caso de la eliminación de su acuerdo, tendrá que volver a aceptar nuestras condiciones en su próxima conexión, pues no nos es posible proveerle una experiencia personalizada sin al mismo tiempo gestionar algunos de sus datos personales.<br />
En el caso de la eliminación completa de su cuenta, ésta será eliminada junta con todas sus suscripciones a cursos y toda la información relacionada con su cuenta.<br />
Por favor seleccione la opción correspondiente con mucho cuidado. En ambos casos, su solicitud será revisada por uno de nuestros administradores, con el fin de evitar cualquier malentendimiento y/o pérdida definitiva de sus datos.";
$PersonalDataPrivacy = "Protección de datos personales";
$RequestForAccountDeletion = "Pedido de eliminación de cuenta";
@ -8342,9 +8342,9 @@ $ProgressObtainedFromLPProgressAndTestsAverage = "Nota: Este progreso es obtenid
$CreateNewSurveyDoodle = "Crear una nueva encuesta de tipo Doodle";
$RemoveMultiplicateQuestions = "Eliminar las preguntas demultiplicadas";
$MultiplicateQuestions = "Multiplicar las preguntas";
$QuestionTags = "Puedes usar las etiquetas {{class_name}} y {{student_full_name}} en la pregunta para poder multiplicar las preguntas.
En la página de la lista de encuestas en la columna de acción, hay un botón para multiplicar las preguntas que buscará la etiqueta {{class_name}} y duplicará la pregunta para todas las clases inscritas al curso y le cambiará el nombre con el nombre de la clase.
También agregará un separador de página para hacer una nueva página para cada clase.
$QuestionTags = "Puedes usar las etiquetas {{class_name}} y {{student_full_name}} en la pregunta para poder multiplicar las preguntas.
En la página de la lista de encuestas en la columna de acción, hay un botón para multiplicar las preguntas que buscará la etiqueta {{class_name}} y duplicará la pregunta para todas las clases inscritas al curso y le cambiará el nombre con el nombre de la clase.
También agregará un separador de página para hacer una nueva página para cada clase.
Luego buscará la etiqueta {{student_full_name}} y duplicará la pregunta para todos los estudiantes de la clase (para cada clase) y le cambiará el nombre con el nombre completo del estudiante.";
$CreateMeeting = "Crear encuesta de reunión";
$QuestionForNextClass = "Preguntas para la siguiente clase";
@ -8448,4 +8448,13 @@ $HideTotalScore = "Esconder la puntuación total";
$HideQuestionScore = "Esconder la puntuación de preguntas";
$SaveAnswers = "Guardar respuestas";
$SaveAllAnswers = "Prellenar con las respuestas del intento anterior";
$SubscribeUsersToAllForumNotifications = "Inscripción automatica de todos los usuarios a todas las notificaciones de forum";
$ExerciseDirectPopUp = "Retroalimentación inmediata como pop-up";
$MinStartDate = "Primera conexion";
$MaxEndDate = "Ultima conexion";
$TotalDuration = "Tiempo total pasado";
$RealisationCertificate = "Certificado de logro";
$SurveysReport = "Reporte de encuestas";
$EnterYourNewPassword = "Introduzca su nueva contraseña aquí.";
$RepeatYourNewPassword = "Introduzca su nueva contraseña una vez más, para reducir la probabilidad de errores.";
?>

@ -1785,7 +1785,7 @@ $UsageDatacreated = "Datos de uso creados";
$SessionView = "Mostrar los cursos ordenados por sesiones";
$CourseView = "Mostrar toda la lista de cursos";
$ShouldBeCSVFormat = "El archivo debe estar formato CSV. No añada espacios. La estructura debe ser exactamente :";
$Enter2passToChange = "Para cambiar la contraseña, introduzca la nueva contraseña en estos dos campos. Si desea mantener la actual, deje vacíos ambos.";
$TypeCurrentPassword = "Para cambiar la contraseña, introduzca la nueva contraseña en estos dos campos. Si desea mantener la actual, deje vacíos ambos.";
$AuthInfo = "Autentificación";
$ImageWrong = "El archivo debe tener un tamaño menor de";
$password_request = "Ha solicitado restablecer su contraseña. Si no lo ha solicitado, simplemente ignore este mensaje.Para generar una nueva contraseña haga click sobre el link \"restablecer\".";

@ -1751,7 +1751,7 @@ $ClickToCommentAndGiveFeedback = "Klicka på följande länk för att kontroller
$StudentEmail = "Elevens e-post";
$AttemptVCC = "Följande uppgift har kontrollerats av din lärare.";
$Regards = "Hälsningar";
$AttemptVCCLong = "Följande uppgift %s har kontrollerats av din lärare.
$AttemptVCCLong = "Följande uppgift %s har kontrollerats av din lärare.
Klicka på länken nedanför för att se ditt resultat";
$DearStudentEmailIntroduction = "Hej,";
$EnableResults = "Visa resultat för elever";
@ -2317,7 +2317,7 @@ $NewMessageInForum = "Nytt meddelande postat till forumet";
$FolderCreated = "Ny mapp skapad";
$AgendaAdded = "Kalenderpost skapad";
$ShouldBeCSVFormat = "Filen skall vara i CSV format. Lägg inte till mellanrum. Strukturen skall hållas exakt:";
$Enter2passToChange = "För att ändra ditt lösenord, skriv in ditt nuvarande lösenord i fältet ovan och ditt nya lösenord i båda fälten nedan. För att bibehålla det aktuella lösenordet, lämna de tre fält tomma.";
$TypeCurrentPassword = "För att ändra ditt lösenord, skriv in ditt nuvarande lösenord i fältet ovan och ditt nya lösenord i båda fälten nedan. För att bibehålla det aktuella lösenordet, lämna de tre fält tomma.";
$AuthInfo = "Legitimering";
$ImageWrong = "Filstorleken skall vara mindre än";
$NewPass = "Nytt lösenord";
@ -3112,7 +3112,7 @@ $ToolStudentPublication = "Uppgifter";
$ToolSurvey = "Undersökning";
$ToolNotebook = "Anteckningsbok";
$ToolCourseProgress = "Kurs utveckling";
$YourAccountIsActiveYouCanLoginAndCheckYourCourses = "Hej,
$YourAccountIsActiveYouCanLoginAndCheckYourCourses = "Hej,
Ditt konto är nu aktiverat. Vänligen logga in för att förtsätta.";
$ContactInformation = "Kontaktuppgifter";
$MyFiles = "Mina filer";

@ -836,7 +836,7 @@ $MenuGeneral = "Tulong";
$UsersOnLineList = "Listahan ng mga gumagamit online";
$SystemAnnouncements = "Balita sa Portal";
$Login = "Login";
$Enter2passToChange = "Upang baguhin ang iyong password, ipasok ang iyong kasalukuyang password sa field sa itaas at ang iyong bagong password sa parehong field sa ibaba. Upang mapanatili ang kasalukuyang password, iwanan ang tatlong mga field ng bakante.";
$TypeCurrentPassword = "Upang baguhin ang iyong password, ipasok ang iyong kasalukuyang password sa field sa itaas at ang iyong bagong password sa parehong field sa ibaba. Upang mapanatili ang kasalukuyang password, iwanan ang tatlong mga field ng bakante.";
$NewPass = "Bagong password";
$UserPicture = "Larawan";
$ProfileReg = "Ang iyong bagong profile ay nai-save";

@ -1473,7 +1473,7 @@ $Productions = "ผลงาน";
$SendChatRequest = "สงขอความเชญรวมสนทนาออนไลน";
$RequestDenied = "ไมบคำเชญ";
$ShouldBeCSVFormat = "ไฟลองเปนCSV,อยาเวนวรรค, โครงสรางตองเปนดงน";
$Enter2passToChange = "การเปลยนรหสผานใหม ใหกรอกรหสผานทงใหมงสองชอง หากไมเปลยนกปลอยวางไว";
$TypeCurrentPassword = "การเปลยนรหสผานใหม ใหกรอกรหสผานทงใหมงสองชอง หากไมเปลยนกปลอยวางไว";
$AuthInfo = "การรบรองสทธ";
$ImageWrong = "ขนาดไฟลองไมเกน";
$password_request = "คณไดทำคำรองขอใหเปลยนรหสผานใหม ใหณยนยนระบบอกครงโดยการคลกท link หากคณเปลยนใจหรอไมใดทำคำรองเอง ใหลบหรอไมองสนใจอเมลฉบบน";

@ -2082,7 +2082,7 @@ $NewMessageInForum = "討論區新帖子";
$FolderCreated = "已創建新資料夾";
$AgendaAdded = "已新增日程項目";
$ShouldBeCSVFormat = "檔案應該是CSV格式,請不要加空格,架構應該是︰";
$Enter2passToChange = "修改密碼請重複輸入兩次,否則保持為空。";
$TypeCurrentPassword = "修改密碼請重複輸入兩次,否則保持為空。";
$AuthInfo = "有效";
$ImageWrong = "檔案尺寸要小於";
$password_request = "你要求重設密碼。若你並未提出此要求,請勿理會本郵件。";

@ -2229,7 +2229,7 @@ $NewMessageInForum = "Yeni Mesaj";
$FolderCreated = "Yeni klasör oluşturuldu";
$AgendaAdded = "Ajandaya eklendi";
$ShouldBeCSVFormat = "Dosya CSV formatında olmalıdır.Boşluk bırakmayın, yapı kesinlikle şu şekilde olmalıdır:";
$Enter2passToChange = "Şifre değişikliği için yeni şifrenizi iki kere girmelisiniz, aksi taktirde bu alanı boş bırakınız.";
$TypeCurrentPassword = "Şifre değişikliği için yeni şifrenizi iki kere girmelisiniz, aksi taktirde bu alanı boş bırakınız.";
$AuthInfo = "Giriş";
$ImageWrong = "Dosya boyutunun olabileceği büyüklük:";
$NewPass = "Yeni şifre";

@ -252,11 +252,6 @@ class learnpath
ORDER BY parent_item_id, display_order";
$res = Database::query($sql);
if ($debug) {
error_log('learnpath::__construct() '.__LINE__.' - query lp items: '.$sql);
error_log('-- Start while--');
}
$lp_item_id_list = [];
while ($row = Database::fetch_array($res)) {
$lp_item_id_list[] = $row['iid'];
@ -341,10 +336,6 @@ class learnpath
}
}
if ($debug) {
error_log('learnpath::__construct() '.__LINE__.' ----- end while ----');
}
if (!empty($lp_item_id_list)) {
$lp_item_id_list_to_string = implode("','", $lp_item_id_list);
if (!empty($lp_item_id_list_to_string)) {
@ -358,14 +349,6 @@ class learnpath
lp_view_id = ".$this->get_view_id()." AND
lp_item_id IN ('".$lp_item_id_list_to_string."')
ORDER BY view_count DESC ";
if ($debug) {
error_log(
'learnpath::__construct() - Selecting item_views: '.$sql,
0
);
}
$status_list = [];
$res = Database::query($sql);
while ($row = Database:: fetch_array($res)) {
@ -523,7 +506,7 @@ class learnpath
WHERE
c_id = $course_id AND
lp_id = ".$this->get_id()." AND
parent_item_id = ".$parent;
parent_item_id = $parent ";
$res_count = Database::query($sql);
$row = Database::fetch_array($res_count);
@ -1139,6 +1122,7 @@ class learnpath
public function delete_children_items($id)
{
$course_id = $this->course_info['real_id'];
$num = 0;
$id = (int) $id;
if (empty($id) || empty($course_id)) {
@ -1190,7 +1174,7 @@ class learnpath
$parent = $row['parent_item_id'];
$lp = $row['lp_id'];
// Delete children items.
$num = $this->delete_children_items($id);
$this->delete_children_items($id);
// Now delete the item.
$sql_del = "DELETE FROM $lp_item WHERE iid = $id";
Database::query($sql_del);
@ -3152,7 +3136,7 @@ class learnpath
}
$dirTypes = self::getChapterTypes();
$mycurrentitemid = $this->get_current_item_id();
$currentItemId = $this->get_current_item_id();
$list = [];
$classStatus = [
'not attempted' => 'scorm_not_attempted',
@ -3196,7 +3180,7 @@ class learnpath
$subtree['title'] = $title;
$subtree['class'] = $classStyle.' '.$cssStatus;
$subtree['url'] = $this->get_link('http', $subtree['id'], $tree);
$subtree['current_id'] = $mycurrentitemid;
$subtree['current_id'] = $currentItemId;
}
$list[] = $subtree;
}
@ -3218,7 +3202,7 @@ class learnpath
$toc_list = $this->get_toc();
}
// Temporary variables.
$mycurrentitemid = $this->get_current_item_id();
$currentItemId = $this->get_current_item_id();
$list = [];
$arrayList = [];
$classStatus = [
@ -3282,7 +3266,7 @@ class learnpath
} else {
$list['title'] = stripslashes($title);
$list['url'] = $this->get_link('http', $item['id'], $toc_list);
$list['current_id'] = $mycurrentitemid;
$list['current_id'] = $currentItemId;
}
$arrayList[] = $list;
}
@ -3347,6 +3331,14 @@ class learnpath
return 'N/A';
}
/**
* @return string
*/
public function getNameNoTags()
{
return strip_tags($this->get_name());
}
/**
* Gets a link to the resource from the present location, depending on item ID.
*
@ -5728,6 +5720,7 @@ class learnpath
'ref' => $ref,
'item_type' => $array[$i]['item_type'],
'title' => $array[$i]['title'],
'title_raw' => $array[$i]['title_raw'],
'path' => $path,
'description' => $array[$i]['description'],
'parent_item_id' => $array[$i]['parent_item_id'],
@ -5839,34 +5832,7 @@ class learnpath
public function processBuildMenuElements($update_audio = 'false')
{
$is_allowed_to_edit = api_is_allowed_to_edit(null, true);
$course_id = api_get_course_int_id();
$table = Database::get_course_table(TABLE_LP_ITEM);
$sql = "SELECT * FROM $table
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => Security::remove_XSS($row['title']),
'path' => $row['path'],
'description' => Security::remove_XSS($row['description']),
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
'display_order' => $row['display_order'],
'audio' => $row['audio'],
'prerequisite_max_score' => $row['prerequisite_max_score'],
'prerequisite_min_score' => $row['prerequisite_min_score'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
@ -5906,10 +5872,22 @@ class learnpath
[],
ICON_SIZE_TINY
);
$show = api_get_configuration_value('show_full_lp_item_title_in_edition');
$pluginCalendar = api_get_plugin_setting('learning_calendar', 'enabled') === 'true';
$plugin = null;
if ($pluginCalendar) {
$plugin = LearningCalendarPlugin::create();
}
for ($i = 0; $i < $countItems; $i++) {
$parent_id = $arrLP[$i]['parent_item_id'];
$title = $arrLP[$i]['title'];
$title_cut = cut($arrLP[$i]['title'], self::MAX_LP_ITEM_TITLE_LENGTH);
$title_cut = $arrLP[$i]['title_raw'];
if ($show === false) {
$title_cut = cut($arrLP[$i]['title'], self::MAX_LP_ITEM_TITLE_LENGTH);
}
// Link for the documents
if ($arrLP[$i]['item_type'] === 'document' || $arrLP[$i]['item_type'] == TOOL_READOUT_TEXT) {
$url = $mainUrl.'&action=view_item&mode=preview_document&id='.$arrLP[$i]['id'].'&lp_id='.$this->lp_id;
@ -5985,13 +5963,6 @@ class learnpath
$previewIcon = '';
$pluginCalendarIcon = '';
$orderIcons = '';
$pluginCalendar = api_get_plugin_setting('learning_calendar', 'enabled') === 'true';
$plugin = null;
if ($pluginCalendar) {
$plugin = LearningCalendarPlugin::create();
}
$pluginUrl = api_get_path(WEB_PLUGIN_PATH).'learning_calendar/start.php?';
if ($is_allowed_to_edit) {
@ -6332,7 +6303,6 @@ class learnpath
*/
public function return_new_tree($update_audio = 'false', $drop_element_here = false)
{
$return = '';
$result = $this->processBuildMenuElements($update_audio);
$list = '<ul id="lp_item_list">';
@ -6351,7 +6321,7 @@ class learnpath
}
$list .= '</ul>';
$return .= Display::panelCollapse(
$return = Display::panelCollapse(
$this->name,
$list,
'scorm-list',
@ -6383,9 +6353,9 @@ class learnpath
$item['type'] = $default_content[$item['load_data']]['item_type'];
}
$sub_list = '';
if (isset($item['type']) && $item['type'] == 'dir') {
if (isset($item['type']) && $item['type'] === 'dir') {
// empty value
$sub_list = Display::tag('li', '', ['class' => 'sub_item empty record li_container']);
$sub_list = Display::tag('li', '', ['class' => 'sub_item empty']);
}
if (empty($item['children'])) {
$sub_list = Display::tag('ul', $sub_list, ['id' => 'UL_'.$key, 'class' => 'record li_container']);
@ -6636,6 +6606,11 @@ class learnpath
}
}
if (empty($documentId)) {
$dir = api_remove_trailing_slash($dir);
$documentId = DocumentManager::get_document_id($course, $dir, 0);
}
$array = [
'dir' => $dir,
'filepath' => $filepath,
@ -7262,7 +7237,6 @@ class learnpath
{
$course_id = api_get_course_int_id();
$id = (int) $id;
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_quiz = Database::get_course_table(TABLE_QUIZ_TEST);
if ($id != 0 && is_array($extra_info)) {
@ -7289,30 +7263,7 @@ class learnpath
$parent = $extra_info['parent_item_id'];
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
'max_time_allowed' => $row['max_time_allowed'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
@ -7339,7 +7290,7 @@ class learnpath
$form->addHeader($legend);
if ($action != 'move') {
$form->addText('title', get_lang('Title'), true, ['id' => 'idTitle']);
$this->setItemTitle($form);
$defaults['title'] = $item_title;
}
@ -7429,13 +7380,13 @@ class learnpath
}
}
if ($action == 'add') {
if ($action === 'add') {
$form->addButtonSave(get_lang('AddExercise'), 'submit_button');
} else {
$form->addButtonSave(get_lang('EditCurrentExecice'), 'submit_button');
}
if ($action == 'move') {
if ($action === 'move') {
$form->addHidden('title', $item_title);
$form->addHidden('description', $item_description);
}
@ -7466,7 +7417,6 @@ class learnpath
{
$course_id = api_get_course_int_id();
$uploadPath = DIR_HOTPOTATOES; //defined in main_api
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
if ($id != 0 && is_array($extra_info)) {
$item_title = stripslashes($extra_info['title']);
@ -7474,9 +7424,9 @@ class learnpath
} elseif (is_numeric($extra_info)) {
$TBL_DOCUMENT = Database::get_course_table(TABLE_DOCUMENT);
$sql = "SELECT * FROM ".$TBL_DOCUMENT."
$sql = "SELECT * FROM $TBL_DOCUMENT
WHERE
c_id = ".$course_id." AND
c_id = $course_id AND
path LIKE '".$uploadPath."/%/%htm%' AND
iid = ".(int) $extra_info."
ORDER BY iid ASC";
@ -7495,35 +7445,12 @@ class learnpath
$item_description = '';
}
$parent = 0;
if ($id != 0 && is_array($extra_info)) {
$parent = $extra_info['parent_item_id'];
} else {
$parent = 0;
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['id'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
'max_time_allowed' => $row['max_time_allowed'],
];
}
$arrLP = $this->getItemsForForm();
$legend = '<legend>';
if ($action == 'add') {
$legend .= get_lang('CreateTheExercise');
@ -7547,9 +7474,7 @@ class learnpath
$return .= '<td class="input">';
$return .= '<select id="idParent" name="parent" onChange="javascript: load_cbo(this.value);" size="1">';
$return .= '<option class="top" value="0">'.$this->name.'</option>';
$arrHide = [
$id,
];
$arrHide = [$id];
if (count($arrLP) > 0) {
for ($i = 0; $i < count($arrLP); $i++) {
@ -7590,7 +7515,8 @@ class learnpath
$selected = '';
}
$return .= '<option '.$selected.'value="'.$arrLP[$i]['id'].'">'.get_lang('After').' "'.$arrLP[$i]['title'].'"</option>';
$return .= '<option '.$selected.'value="'.$arrLP[$i]['id'].'">'.
get_lang('After').' "'.$arrLP[$i]['title'].'"</option>';
}
}
@ -7658,9 +7584,11 @@ class learnpath
public function display_forum_form($action = 'add', $id = 0, $extra_info = '')
{
$course_id = api_get_course_int_id();
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_forum = Database::get_course_table(TABLE_FORUM);
$item_title = '';
$item_description = '';
if ($id != 0 && is_array($extra_info)) {
$item_title = stripslashes($extra_info['title']);
} elseif (is_numeric($extra_info)) {
@ -7673,41 +7601,12 @@ class learnpath
$item_title = $row['title'];
$item_description = $row['comment'];
} else {
$item_title = '';
$item_description = '';
}
$parent = 0;
if ($id != 0 && is_array($extra_info)) {
$parent = $extra_info['parent_item_id'];
} else {
$parent = 0;
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE
c_id = $course_id AND
lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
@ -7730,12 +7629,7 @@ class learnpath
$form->addHeader($legend);
if ($action != 'move') {
$form->addText(
'title',
get_lang('Title'),
true,
['id' => 'idTitle', 'class' => 'learnpath_item_form']
);
$this->setItemTitle($form);
$defaults['title'] = $item_title;
}
@ -7879,9 +7773,10 @@ class learnpath
if (empty($course_id)) {
return null;
}
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_forum = Database::get_course_table(TABLE_FORUM_THREAD);
$item_title = '';
$item_description = '';
if ($id != 0 && is_array($extra_info)) {
$item_title = stripslashes($extra_info['title']);
} elseif (is_numeric($extra_info)) {
@ -7893,40 +7788,14 @@ class learnpath
$item_title = $row['title'];
$item_description = '';
} else {
$item_title = '';
$item_description = '';
}
$parent = 0;
if ($id != 0 && is_array($extra_info)) {
$parent = $extra_info['parent_item_id'];
} else {
$parent = 0;
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
@ -8021,12 +7890,7 @@ class learnpath
}
if ($action != 'move') {
$form->addText(
'title',
get_lang('Title'),
true,
['id' => 'idTitle']
);
$this->setItemTitle($form);
$defaults['title'] = $item_title;
$id_prerequisite = 0;
@ -8148,7 +8012,8 @@ class learnpath
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'title' => $this->cleanItemTitle($row['title']),
'title_raw' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
@ -8168,7 +8033,7 @@ class learnpath
$url = api_get_self().'?'.api_get_cidreq().'&action='.$action.'&type='.$item_type.'&lp_id='.$this->lp_id;
$form = new FormValidator('form', 'POST', $url);
$form = new FormValidator('form_'.$item_type, 'POST', $url);
$defaults['title'] = api_html_entity_decode(
$item_title,
ENT_QUOTES,
@ -8182,7 +8047,7 @@ class learnpath
$charset = api_get_system_encoding();
for ($i = 0; $i < count($arrLP); $i++) {
if ($action != 'add') {
if ($arrLP[$i]['item_type'] == 'dir' && !in_array($arrLP[$i]['id'], $arrHide) &&
if ($arrLP[$i]['item_type'] === 'dir' && !in_array($arrLP[$i]['id'], $arrHide) &&
!in_array($arrLP[$i]['parent_item_id'], $arrHide)
) {
$arrHide[$arrLP[$i]['id']]['value'] = $arrLP[$i]['title'];
@ -8192,7 +8057,7 @@ class learnpath
}
}
} else {
if ($arrLP[$i]['item_type'] == 'dir') {
if ($arrLP[$i]['item_type'] === 'dir') {
$arrHide[$arrLP[$i]['id']]['value'] = $arrLP[$i]['title'];
$arrHide[$arrLP[$i]['id']]['padding'] = 20 + $arrLP[$i]['depth'] * 20;
if ($parent == $arrLP[$i]['id']) {
@ -8203,9 +8068,7 @@ class learnpath
}
if ($action != 'move') {
$form->addElement('text', 'title', get_lang('Title'));
$form->applyFilter('title', 'html_filter');
$form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
$this->setItemTitle($form);
} else {
$form->addElement('hidden', 'title');
}
@ -8217,7 +8080,7 @@ class learnpath
'',
[
'id' => 'idParent',
'onchange' => "javascript: load_cbo(this.value);",
'onchange' => 'javascript: load_cbo(this.value);',
]
);
@ -8237,6 +8100,7 @@ class learnpath
if (is_array($arrLP)) {
reset($arrLP);
}
$arrHide = [];
// POSITION
for ($i = 0; $i < count($arrLP); $i++) {
@ -8276,7 +8140,7 @@ class learnpath
}
// When new chapter add at the end
if ($action == 'add_item') {
if ($action === 'add_item') {
$position->setSelected($lastPosition);
}
@ -8287,7 +8151,7 @@ class learnpath
$form->addButtonSave(get_lang('SaveSection'), 'submit_button');
//fix in order to use the tab
if ($item_type == 'dir') {
if ($item_type === 'dir') {
$form->addElement('hidden', 'type', 'dir');
}
@ -8312,7 +8176,6 @@ class learnpath
);
$relative_prefix = '';
$editor_config = [
'ToolbarSet' => 'LearningPathDocuments',
'Width' => '100%',
@ -8371,7 +8234,6 @@ class learnpath
{
$course_id = api_get_course_int_id();
$_course = api_get_course_info();
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_doc = Database::get_course_table(TABLE_DOCUMENT);
$no_display_edit_textarea = false;
@ -8403,6 +8265,9 @@ class learnpath
}
}
}
$item_title = '';
$item_description = '';
if ($id != 0 && is_array($extra_info)) {
$item_title = stripslashes($extra_info['title']);
$item_description = stripslashes($extra_info['description']);
@ -8423,39 +8288,15 @@ class learnpath
$path_parts = pathinfo($row['path']);
$item_title = stripslashes($path_parts['filename']);
}
} else {
$item_title = '';
$item_description = '';
}
$return = '<legend>';
$parent = 0;
if ($id != 0 && is_array($extra_info)) {
$parent = $extra_info['parent_item_id'];
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
@ -8510,14 +8351,7 @@ class learnpath
if (isset($data['id'])) {
$defaults['directory_parent_id'] = $data['id'];
}
$form->addElement(
'text',
'title',
get_lang('Title'),
['id' => 'idTitle', 'class' => 'col-md-4']
);
$form->applyFilter('title', 'html_filter');
$this->setItemTitle($form);
}
$arrHide[0]['value'] = $this->name;
@ -8760,7 +8594,6 @@ class learnpath
{
$course_id = api_get_course_int_id();
$_course = api_get_course_info();
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_doc = Database::get_course_table(TABLE_DOCUMENT);
$no_display_edit_textarea = false;
@ -8777,6 +8610,8 @@ class learnpath
}
$no_display_add = false;
$item_title = '';
$item_description = '';
if ($id != 0 && is_array($extra_info)) {
$item_title = stripslashes($extra_info['title']);
$item_description = stripslashes($extra_info['description']);
@ -8795,44 +8630,19 @@ class learnpath
$path_parts = pathinfo($row['path']);
$item_title = stripslashes($path_parts['filename']);
}
} else {
$item_title = '';
$item_description = '';
}
$parent = 0;
if ($id != 0 && is_array($extra_info)) {
$parent = $extra_info['parent_item_id'];
} else {
$parent = 0;
}
$sql = "SELECT * FROM $tbl_lp_item WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
if ($action == 'add') {
if ($action === 'add') {
$formHeader = get_lang('CreateTheDocument');
} else {
$formHeader = get_lang('EditTheCurrentDocument');
@ -8883,14 +8693,7 @@ class learnpath
if (isset($data['id'])) {
$defaults['directory_parent_id'] = $data['id'];
}
$form->addElement(
'text',
'title',
get_lang('Title')
);
$form->applyFilter('title', 'trim');
$form->applyFilter('title', 'html_filter');
$this->setItemTitle($form);
$arrHide[0]['value'] = $this->name;
$arrHide[0]['padding'] = 20;
@ -9212,7 +9015,6 @@ class learnpath
public function display_link_form($action = 'add', $id = 0, $extra_info = '')
{
$course_id = api_get_course_int_id();
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_link = Database::get_course_table(TABLE_LINK);
$item_title = '';
@ -9246,28 +9048,7 @@ class learnpath
$parent = $extra_info['parent_item_id'];
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['id'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
@ -9284,7 +9065,7 @@ class learnpath
$form->addHeader($legend);
if ($action != 'move') {
$form->addText('title', get_lang('Title'), true, ['class' => 'learnpath_item_form']);
$this->setItemTitle($form);
$defaults['title'] = $item_title;
}
@ -9419,7 +9200,6 @@ class learnpath
$extra_info = ''
) {
$course_id = api_get_course_int_id();
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$tbl_publication = Database::get_course_table(TABLE_STUDENT_PUBLICATION);
$item_title = get_lang('Student_publication');
@ -9444,28 +9224,7 @@ class learnpath
$parent = $extra_info['parent_item_id'];
}
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'path' => $row['path'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
@ -9482,12 +9241,7 @@ class learnpath
}
if ($action != 'move') {
$form->addText(
'title',
get_lang('Title'),
true,
['class' => 'learnpath_item_form', 'id' => 'idTitle']
);
$this->setItemTitle($form);
}
$parentSelect = $form->addSelect(
@ -9709,6 +9463,7 @@ class learnpath
$return .= 'var child_value = new Array();'."\n\n";
$return .= 'child_name[0] = new Array();'."\n";
$return .= 'child_value[0] = new Array();'."\n\n";
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$sql = "SELECT * FROM ".$tbl_lp_item."
WHERE
@ -9719,7 +9474,9 @@ class learnpath
$res_zero = Database::query($sql);
$i = 0;
while ($row_zero = Database::fetch_array($res_zero)) {
$list = $this->getItemsForForm(true);
foreach ($list as $row_zero) {
if ($row_zero['item_type'] !== TOOL_LP_FINAL_ITEM) {
if ($row_zero['item_type'] == TOOL_QUIZ) {
$row_zero['title'] = Exercise::get_formated_title_variable($row_zero['title']);
@ -9729,6 +9486,7 @@ class learnpath
$return .= 'child_value[0]['.$i++.'] = "'.$row_zero['iid'].'";'."\n";
}
}
$return .= "\n";
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
@ -9745,7 +9503,7 @@ class learnpath
$return .= 'child_value['.$row['iid'].'] = new Array();'."\n\n";
while ($row_parent = Database::fetch_array($res_parent)) {
$js_var = json_encode(get_lang('After').' '.$row_parent['title']);
$js_var = json_encode(get_lang('After').' '.$this->cleanItemTitle($row_parent['title']));
$return .= 'child_name['.$row['iid'].']['.$i.'] = '.$js_var.' ;'."\n";
$return .= 'child_value['.$row['iid'].']['.$i++.'] = "'.$row_parent['iid'].'";'."\n";
}
@ -9895,7 +9653,6 @@ class learnpath
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
$result = Database::query($sql);
$arrLP = [];
$selectedMinScore = [];
$selectedMaxScore = [];
@ -9906,26 +9663,9 @@ class learnpath
$selectedMaxScore[$row['prerequisite']] = $row['prerequisite_max_score'];
}
$masteryScore[$row['iid']] = $row['mastery_score'];
$arrLP[] = [
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $row['title'],
'ref' => $row['ref'],
'description' => $row['description'],
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
'display_order' => $row['display_order'],
'prerequisite_min_score' => $row['prerequisite_min_score'],
'prerequisite_max_score' => $row['prerequisite_max_score'],
];
}
$arrLP = $this->getItemsForForm();
$this->tree_array($arrLP);
$arrLP = isset($this->arrMenu) ? $this->arrMenu : [];
unset($this->arrMenu);
@ -13621,6 +13361,82 @@ EOD;
return Display::img($path);
}
/**
* @param string $value
*
* @return string
*/
public function cleanItemTitle($value)
{
$value = Security::remove_XSS(strip_tags($value));
return $value;
}
/**
* @param FormValidator $form
*/
public function setItemTitle(FormValidator $form)
{
if (api_get_configuration_value('save_titles_as_html')) {
$form->addHtmlEditor(
'title',
get_lang('Title'),
true,
false,
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addText('title', get_lang('Title'), true, ['id' => 'idTitle', 'class' => 'learnpath_item_form']);
$form->applyFilter('title', 'trim');
$form->applyFilter('title', 'html_filter');
}
}
/**
* @return array
*/
public function getItemsForForm($addParentCondition = false)
{
$tbl_lp_item = Database::get_course_table(TABLE_LP_ITEM);
$course_id = api_get_course_int_id();
$sql = "SELECT * FROM $tbl_lp_item
WHERE c_id = $course_id AND lp_id = ".$this->lp_id;
if ($addParentCondition) {
$sql .= ' AND parent_item_id = 0 ';
}
$sql .= ' ORDER BY display_order ASC';
$result = Database::query($sql);
$arrLP = [];
while ($row = Database::fetch_array($result)) {
$arrLP[] = [
'iid' => $row['iid'],
'id' => $row['iid'],
'item_type' => $row['item_type'],
'title' => $this->cleanItemTitle($row['title']),
'title_raw' => $row['title'],
'path' => $row['path'],
'description' => Security::remove_XSS($row['description']),
'parent_item_id' => $row['parent_item_id'],
'previous_item_id' => $row['previous_item_id'],
'next_item_id' => $row['next_item_id'],
'display_order' => $row['display_order'],
'max_score' => $row['max_score'],
'min_score' => $row['min_score'],
'mastery_score' => $row['mastery_score'],
'prerequisite' => $row['prerequisite'],
'max_time_allowed' => $row['max_time_allowed'],
'prerequisite_min_score' => $row['prerequisite_min_score'],
'prerequisite_max_score' => $row['prerequisite_max_score'],
];
}
return $arrLP;
}
/**
* Get the depth level of LP item.
*

@ -91,12 +91,22 @@ $form = new FormValidator(
$form->addHeader(get_lang('AddLpToStart'));
// Title
if (api_get_configuration_value('save_titles_as_html')) {
$form->addHtmlEditor(
'lp_name',
get_lang('LPName'),
true,
false,
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addElement(
'text',
'lp_name',
api_ucfirst(get_lang('LPName')),
['autofocus' => 'autofocus']
);
}
$form->applyFilter('lp_name', 'html_filter');
$form->addRule('lp_name', get_lang('ThisFieldIsRequired'), 'required');

@ -40,7 +40,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=$learnpath_id&".api_get_cidreq(),
'name' => $lp->get_name(),
'name' => $lp->getNameNoTags(),
];
switch ($type) {

@ -37,7 +37,7 @@ if (api_get_configuration_value('save_titles_as_html')) {
get_lang('Name'),
true,
false,
['ToolbarSet' => 'Minimal', 'Height' => '100']
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addText('name', get_lang('Name'), true);

@ -99,7 +99,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=$lpId&".api_get_cidreq(),
'name' => $learnPath->get_name(),
'name' => $learnPath->getNameNoTags(),
];
switch ($type) {

@ -48,7 +48,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=$learnpath_id&".api_get_cidreq(),
"name" => Security::remove_XSS($learnPath->get_name()),
"name" => Security::remove_XSS($learnPath->getNameNoTags()),
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=add_item&type=step&lp_id=$learnpath_id&".api_get_cidreq(),
@ -84,7 +84,7 @@ if (isset($_POST['save_audio'])) {
if (count($lp_items_to_remove_audio) > 0) {
$sql = "UPDATE $tbl_lp_item SET audio = ''
WHERE iid IN (".$in.")";
$result = Database::query($sql);
Database::query($sql);
}
// Uploading the audio files.

@ -44,7 +44,7 @@ if (api_is_in_gradebook()) {
];
}
$interbreadcrumb[] = ['url' => 'lp_controller.php?action=list&'.api_get_cidreq(), 'name' => get_lang('LearningPaths')];
$interbreadcrumb[] = ['url' => '#', "name" => $learnPath->get_name()];
$interbreadcrumb[] = ['url' => '#', 'name' => $learnPath->getNameNoTags()];
// Theme calls.
$lp_theme_css = $learnPath->get_theme();

@ -103,7 +103,7 @@ if (api_is_in_gradebook()) {
];
}
// Define the 'doc.inc.php' as language file.
$nameTools = $learnPath->get_name();
$nameTools = $learnPath->getNameNoTags();
$interbreadcrumb[] = [
'url' => api_get_path(WEB_CODE_PATH).'lp/lp_list.php?'.api_get_cidreq(),
'name' => get_lang('Doc'),

@ -103,35 +103,123 @@ $htmlHeadXtra[] = '
var jItem = $("#"+ itemId);
var index = jItems.index(jItem);
var total = jItems.length;
switch (dir) {
case "up":
if (index != 0 && jItems[index - 1]) {
var subItems = $(jItems[index - 1]).find("li.sub_item");
/*var subItems = $(jItems[index - 1]).find("li.sub_item");
if (subItems.length >= 0) {
index = index - 1;
}*/
var subItems = $(jItems[index - 1]).find("li.sub_item");
var parentClass = $(jItems[index - 1]).parent().parent().attr("class");
var parentId = $(jItems[index]).parent().parent().attr("id");
var myParentId = $(jItems[index - 1]).parent().parent().attr("id");
//console.log(parentId + " - " + myParentId);
// We are brothers!
if (parentId == myParentId) {
console.log("Brothers");
console.log(subItems.length);
if (subItems.length > 0) {
var lastItem = $(jItems[index - 1]).find("li.sub_item");
parentIndex = jItems.index(lastItem);
console.log(parentIndex);
jItem.detach().insertAfter(lastItem);
//console.log("not classic");
} else {
//console.log("classic");
jItem.detach().insertBefore(jItems[index - 1]);
}
break;
}
//console.log(parentClass);
if (parentClass == "record li_container") {
// previous is a chapter
var lastItem = $(jItems[index - 1]).parent().parent().find("li.li_container").last();
parentIndex = jItems.index(lastItem);
//console.log(parentIndex);
jItem.detach().insertAfter(jItems[parentIndex]);
} else {
jItem.detach().insertBefore(jItems[index - 1]);
}
}
break;
case "down":
if (index != jItems.length - 1) {
if (index != total - 1) {
const originIndex = index;
// The element is a chapter with items
var subItems = jItem.find("li.li_container");
if (subItems.length >= 0) {
if (subItems.length > 0) {
index = subItems.length + index;
//console.log("element is a chapter with items");
//console.log("new index = " + index);
}
// is a chapter?
var subItems = $(jItems[index + 1]).find("li.sub_item");
if (subItems.length >= 0) {
index = index + 1;
// is a chapter?
// This is an element entering in a chapter
if (subItems.length > 0) {
// Check if im a child
var parentClass = jItem.parent().parent().attr("class");
//console.log(parentClass);
if (parentClass == "record li_container") {
// Parent position
var parentIndex = jItems.index(jItem.parent().parent());
//console.log(jItem.parent().parent().attr("id"));
//console.log(parentIndex);
jItem.detach().insertAfter(jItems[parentIndex]);
} else {
jItem.detach().insertAfter(subItems);
}
break;
}
var currentSubItems = $(jItems[index]).parent().find("li.sub_item");
//console.log("currentSubItems"+currentSubItems.length);
var parentId = $(jItems[originIndex]).parent().parent().attr("id");
var myParentId = $(jItems[index + 1]).parent().parent().attr("id");
//console.log("parent ids: "+ parentId + " - " + myParentId);
// We are brothers!
if (parentId == myParentId) {
if ((index + 1) < total) {
//console.log(index + 1);
//console.log("We are brothers");
jItem.detach().insertAfter(jItems[index + 1]);
}
break;
}
if (currentSubItems.length > 0) {
var parentIndex = jItems.index(jItem.parent().parent());
//console.log("has currentSubItems");
//console.log("id " + jItem.parent().parent().attr("id"));
//console.log("parentIndex: " + parentIndex);
if (parentIndex >= 0) {
jItem.detach().insertAfter(jItems[parentIndex]);
break;
}
}
//var lastItem = $(jItems[index + 1]).parent().parent().find("li.li_container").last();
if (subItems.length > 0) {
index = originIndex;
}
if ((index + 1) < total) {
//console.log(index + 1);
//console.log("changed");
jItem.detach().insertAfter(jItems[index + 1]);
}
}
break;
}
//console.log("rebuild");
buildLPtree($("#lp_item_list"), 0);
var order = "new_order="+ newOrderData + "&a=update_lp_item_order";
@ -405,6 +493,9 @@ if (isset($_POST['title'])) {
!empty($_POST['title'])
) {
$post_title = Exercise::format_title_variable($_POST['title']);
if (api_get_configuration_value('save_titles_as_html')) {
$post_title = $_POST['title'];
}
}
}
@ -512,7 +603,7 @@ switch ($action) {
}
}
$new_item_id = $_SESSION['oLP']->add_item(
$_SESSION['oLP']->add_item(
$parent,
$previous,
$type,
@ -533,7 +624,7 @@ switch ($action) {
);
}
$new_item_id = $_SESSION['oLP']->add_item(
$_SESSION['oLP']->add_item(
$parent,
$previous,
TOOL_READOUT_TEXT,
@ -545,7 +636,7 @@ switch ($action) {
} else {
// For all other item types than documents,
// load the item using the item type and path rather than its ID.
$new_item_id = $_SESSION['oLP']->add_item(
$_SESSION['oLP']->add_item(
$parent,
$previous,
$type,
@ -1096,6 +1187,7 @@ switch ($action) {
}
$_SESSION['oLP']->set_theme($_REQUEST['lp_theme']);
$hide_toc_frame = null;
if (isset($_REQUEST['hide_toc_frame']) && $_REQUEST['hide_toc_frame'] == 1) {
$hide_toc_frame = $_REQUEST['hide_toc_frame'];
} else {
@ -1105,6 +1197,7 @@ switch ($action) {
$_SESSION['oLP']->set_prerequisite(isset($_POST['prerequisites']) ? (int) $_POST['prerequisites'] : 0);
$_SESSION['oLP']->setAccumulateWorkTime(isset($_REQUEST['accumulate_work_time']) ? $_REQUEST['accumulate_work_time'] : 0);
$_SESSION['oLP']->set_use_max_score(isset($_POST['use_max_score']) ? 1 : 0);
$subscribeUsers = isset($_REQUEST['subscribe_users']) ? 1 : 0;
$_SESSION['oLP']->setSubscribeUsers($subscribeUsers);
@ -1120,6 +1213,7 @@ switch ($action) {
if (isset($_REQUEST['activate_end_date_check']) && $_REQUEST['activate_end_date_check'] == 1) {
$expired_on = $_REQUEST['expired_on'];
}
$_SESSION['oLP']->setCategoryId($_REQUEST['category_id']);
$_SESSION['oLP']->set_modified_on();
$_SESSION['oLP']->set_publicated_on($publicated_on);

@ -35,7 +35,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=".$lpId.'&'.api_get_cidreq(),
'name' => $learnPath->get_name(),
'name' => $learnPath->getNameNoTags(),
];
$htmlHeadXtra[] = '<script>
@ -65,10 +65,20 @@ $form = new FormValidator(
);
// Form title
$form->addElement('header', get_lang('EditLPSettings'));
$form->addElement('header', get_lang('Edit'));
// Title
$form->addElement('text', 'lp_name', api_ucfirst(get_lang('LearnpathTitle')), ['size' => 43]);
if (api_get_configuration_value('save_titles_as_html')) {
$form->addHtmlEditor(
'lp_name',
get_lang('LPName'),
true,
false,
['ToolbarSet' => 'TitleAsHtml']
);
} else {
$form->addElement('text', 'lp_name', api_ucfirst(get_lang('LearnpathTitle')), ['size' => 43]);
}
$form->applyFilter('lp_name', 'html_filter');
$form->addRule('lp_name', get_lang('ThisFieldIsRequired'), 'required');
$form->addElement('hidden', 'lp_encoding');
@ -111,7 +121,7 @@ if (strlen($learnPath->get_preview_image()) > 0) {
$form->addElement('label', get_lang('ImagePreview'), $show_preview_image);
$form->addElement('checkbox', 'remove_picture', null, get_lang('DelImage'));
}
$label = ($learnPath->get_preview_image() != '' ? get_lang('UpdateImage') : get_lang('AddImage'));
$label = $learnPath->get_preview_image() != '' ? get_lang('UpdateImage') : get_lang('AddImage');
$form->addElement('file', 'lp_preview_image', [$label, get_lang('ImageWillResizeMsg')]);
$form->addRule('lp_preview_image', get_lang('OnlyImagesAllowed'), 'filetype', ['jpg', 'jpeg', 'png', 'gif']);

@ -42,12 +42,9 @@ if (!$is_allowed_to_edit || $isStudentView) {
exit;
}
// From here on, we are admin because of the previous condition, so don't check anymore.
/** @var learnpath $learnPath */
$learnPath = Session::read('oLP');
$course_id = api_get_course_int_id();
$sql = "SELECT * FROM $tbl_lp
WHERE c_id = $course_id AND id = $learnpath_id";
$result = Database::query($sql);
$therow = Database::fetch_array($result);
/*
Course admin section
@ -65,7 +62,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=$learnpath_id&".api_get_cidreq(),
'name' => Security::remove_XSS($therow['name']),
'name' => $learnPath->getNameNoTags(),
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=add_item&type=step&lp_id=$learnpath_id&".api_get_cidreq(),

@ -49,7 +49,7 @@ $interbreadcrumb[] = [
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=build&lp_id=$learnpath_id",
'name' => stripslashes($lp->get_name()),
'name' => $lp->getNameNoTags(),
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=add_item&type=step&lp_id=$learnpath_id&".api_get_cidreq(),

@ -36,8 +36,7 @@ $plugin = BuyCoursesPlugin::create();
$checker = $plugin->isEnabled() && $plugin->get('include_services');
if ($checker) {
$userServiceSale = $plugin->getServiceSale(
null,
$userServiceSale = $plugin->getServiceSales(
$userId,
BuyCoursesPlugin::SERVICE_STATUS_COMPLETED,
BuyCoursesPlugin::SERVICE_TYPE_LP_FINAL_ITEM,

@ -59,7 +59,7 @@ if ($is_allowed_to_edit) {
];
$interbreadcrumb[] = [
'url' => api_get_self()."?action=add_item&type=step&lp_id=".$lp->lp_id."&isStudentView=false&".api_get_cidreq(),
'name' => $lp->get_name(),
'name' => $lp->getNameNoTags(),
];
$interbreadcrumb[] = ['url' => '#', 'name' => get_lang('Preview')];
echo return_breadcrumb($interbreadcrumb, null, null);

@ -316,7 +316,7 @@ foreach ($categories as $item) {
}
$url_start_lp = 'lp_controller.php?'.$cidReq.'&action=view&lp_id='.$id;
$name = Security::remove_XSS($details['lp_name']);
$name = strip_tags(Security::remove_XSS($details['lp_name']));
$extra = null;
if ($is_allowed_to_edit) {

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save