Merge 1.10.x

1.10.x
Julio Montoya 10 years ago
commit f81f9aa5f9
  1. 34
      .travis.yml
  2. 20
      CONTRIBUTING.md
  3. 1
      README.md
  4. 10
      app/Resources/public/css/base.css
  5. 3
      composer.json
  6. 7
      main/admin/user_add.php
  7. 28
      main/auth/courses.php
  8. 9
      main/auth/courses_controller.php
  9. 6
      main/auth/inscription.php
  10. 3
      main/auth/profile.php
  11. 1512
      main/img/icons/svg/database.svg
  12. 69
      main/inc/ajax/chat.ajax.php
  13. 101
      main/inc/lib/VideoChat.php
  14. 20
      main/inc/lib/api.lib.php
  15. 14
      main/inc/lib/chat.lib.php
  16. 6
      main/inc/lib/course.lib.php
  17. 1
      main/inc/lib/database.constants.inc.php
  18. 13
      main/inc/lib/javascript/chat/css/chat.css
  19. 110
      main/inc/lib/javascript/chat/js/chat.js
  20. 43
      main/inc/lib/javascript/chat/video.php
  21. 1
      main/inc/lib/pdf.lib.php
  22. 37
      main/inc/lib/userportal.lib.php
  23. 5
      main/inc/local.inc.php
  24. 26
      main/install/configuration.dist.php
  25. 36
      main/install/data.sql
  26. 2
      main/install/database.sql
  27. 2
      main/lang/brazilian/trad4all.inc.php
  28. 21
      main/lang/english/trad4all.inc.php
  29. 363
      main/lang/romanian/trad4all.inc.php
  30. 3
      main/lang/spanish/trad4all.inc.php
  31. 2
      main/template/default/auth/sessions_catalog.tpl
  32. 58
      main/template/default/chat/video.tpl
  33. 20
      main/template/default/javascript/chat/start_video.tpl
  34. 3
      main/user/add_users_to_session.php
  35. 3
      main/user/resume_session.php
  36. 3
      main/user/session_list.php
  37. 5
      main/user/user.php
  38. 162
      src/Chamilo/CoreBundle/Entity/ChatVideo.php
  39. 67
      src/Chamilo/CoreBundle/Migrations/AbstractMigrationChamilo.php
  40. 7
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150504182600.php
  41. 73
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150505142900.php
  42. 229
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150507152600.php

@ -12,6 +12,7 @@ before_install:
- sudo apt-get install -qq php5-imagick php5-curl php5-intl php5-json php5-fpm php5-mysql php5-cli
before_script:
- php5 -v
- composer self-update
- composer global require "fxp/composer-asset-plugin:1.0.0"
- composer install -n
@ -28,23 +29,24 @@ before_script:
- sudo sed -e "s?%TRAVIS_BUILD_DIR%?$(pwd)?g" --in-place /etc/apache2/sites-available/default
- sudo service apache2 restart
# install Chash, a database, and then install Chamilo
#- git clone https://github.com/chamilo/chash
#- cd chash
#- composer install
#- composer update
#- php5 -d phar.readonly=0 createPhar.php
#- chmod +x chash.phar
#- sudo mv chash.phar /usr/local/bin/chash
- git clone https://github.com/chamilo/chash
- cd chash
- composer install
- composer update
- php5 -d phar.readonly=0 createPhar.php
- chmod +x chash.phar
- sudo mv chash.phar /usr/local/bin/chash
#- cd ..
- git clone -b nophpversioncheck --single-branch https://github.com/ywarnier/chamilo-cli-install.git
- cp chamilo-cli-install/chamilo-cli-installer.php main/install/
- mysql -u root -e 'create database chamilo'
#- git clone -b nophpversioncheck --single-branch https://github.com/ywarnier/chamilo-cli-install.git
#- cp chamilo-cli-install/chamilo-cli-installer.php main/install/
#- mysql -u root -e 'create database chamilo'
#- sudo chmod -R 0777 app/config app main/default_course_document/images main/lang
#- cd main/install/
#- sudo php5 chamilo-cli-installer.php -l admin -p admin -U travis -u 'http://localhost/' -X travis -L english -z 'admin@example.com' -f 'John' -g 'Doe' -b '555-5555' -c 'Test campus' -y 'Chamilo' -x 'https://chamilo.org'
#- cd ../..
# install Chamilo with Chash - see reference https://github.com/sonnym/travis-ci-drupal-module-example/blob/master/.travis.yml
- sudo chmod -R 0777 app/config app main/default_course_document/images main/lang
- cd main/install/
- sudo php5 chamilo-cli-installer.php -l admin -p admin -U travis -u 'http://localhost/' -X travis -L english -z 'admin@example.com' -f 'John' -g 'Doe' -b '555-5555' -c 'Test campus' -y 'Chamilo' -x 'https://chamilo.org'
- cd ../..
#- sudo chash chash:chamilo_install --no-interaction --sitename="Chamilo" --site_url="http://localhost/" --institution="Chamilo" --institution_url="https://chamilo.org" --encrypt_method="sha1" --firstname="John" --lastname="Doe" --language="english" --dbname="chamilo" --dbuser="root" --permissions_for_new_directories="0777" --permissions_for_new_files="0666" --username="admin" --password="admin" --email="admin@example.com" --phone="555-5555" 1.10.0 /home/travis/build/chamilo/chamilo-lms
- cd /home/travis/build/chamilo/chamilo-lms
- sudo chash chash:chamilo_install --no-interaction --sitename="Chamilo" --site_url="http://localhost/" --institution="Chamilo" --institution_url="https://chamilo.org" --encrypt_method="sha1" --firstname="John" --lastname="Doe" --language="english" --driver="pdo_mysql" --host="localhost" --port="3306" --dbname="chamilo" --dbuser="root" --permissions_for_new_directories="0777" --permissions_for_new_files="0666" --linux-user="www-data" --linux-group="www-data" --username="admin" --password="admin" --email="admin@example.com" --phone="555-5555" 1.10.x
script:
# - phpunit -c tests/phpunit
@ -54,4 +56,4 @@ script:
# configure notifications (email, IRC, campfire etc)
notifications:
# IRC notifications - disabled for creating a lot of noise on the channel
# irc: "irc.freenode.org#chamilo"
irc: "irc.freenode.org#chamilodev"

@ -3,7 +3,25 @@ Contributing
Chamilo LMS is a free software, community-driven project.
If you'd like to contribute, please read the following document:
Chamilo LMS is an LAMP-based e-learning web platform that focuses on providing an easy-to-use
environment for teachers to improve both the quality and availability of their
educational material, and on providing students with an awesome learning platform.
We are a relatively small development team and greatly welcome any contribution
from the outside world, although we will thoroughly review them before integration,
to make sure they do not introduce security vulnerabilities or degrade the ease
of use of the platform.
The 1.10.x (that you're currently looking at) is a development branch for the
1.10.0 release, that we hope to be releasing around mid-2015. It is a
transitional version that partially uses a series of Symfony 2 modules but relies
heavily on Composer to manage the dependencies towards common libraries. Version
2.0 has already been worked a lot on, and has served as an inspiration for 1.10.0,
but due to the huge success of the 1.9.x series, we decided to take a transitional
step towards 2.0 to ensure a smooth migration of all our user base to the newer
version (to be released sometime in 2016).
If you'd like to contribute to this project, please read the following document:
* [Coding conventions][1]: The main conventions document
* [PSR-1][2]: PSR-1 are standard conventions rules we use as a base (conversion of old code still in progress)

@ -3,6 +3,7 @@
[![Build Status](https://travis-ci.org/chamilo/chamilo-lms.svg?branch=1.10.x)](https://travis-ci.org/chamilo/chamilo-lms)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/chamilo/chamilo-lms/badges/quality-score.png?b=1.10.x)](https://scrutinizer-ci.com/g/chamilo/chamilo-lms/?branch=1.10.x)
[![Code Coverage](https://scrutinizer-ci.com/g/chamilo/chamilo-lms/badges/coverage.png?b=1.10.x)](https://scrutinizer-ci.com/g/chamilo/chamilo-lms/?branch=1.10.x)
[![Bountysource](https://www.bountysource.com/badge/team?team_id=12439&style=raised)](https://www.bountysource.com/teams/chamilo?utm_source=chamilo&utm_medium=shield&utm_campaign=raised)
## Installation

@ -5953,4 +5953,12 @@ ul.exercise-draggable-answer li {
._jsPlumb_endpoint {
z-index: 50;
}
}
/*** Video chat ***/
video#chat-local-video,
div#chat-remote-video video {
display: block;
height: auto;
width: 100%;
}

@ -71,7 +71,8 @@
"bower-asset/mediaelement": "@stable",
"bower-asset/modernizr": "2.8.*",
"bower-asset/jqueryui-timepicker-addon": "@stable",
"bower-asset/imageMap-resizer": "0.5.3"
"bower-asset/imageMap-resizer": "0.5.3",
"bower-asset/simplewebrtc": "@stable"
},
"require-dev": {
"behat/behat": "2.5.*@stable",

@ -20,9 +20,8 @@ $is_platform_admin = api_is_platform_admin() ? 1 : 0;
$message = null;
$htmlHeadXtra[] = api_get_password_checker_js('#username', '#password');
if (isset($_configuration['allow_strength_pass_checker']) &&
$_configuration['allow_strength_pass_checker']
) {
$checkPass = api_get_setting('allow_strength_pass_checker');
if ($checkPass == 'true') {
$htmlHeadXtra[] = '
<script>
$(document).ready(function() {
@ -183,7 +182,7 @@ $group[] = $form->createElement('password', 'password', null, array('id'=> 'pass
$form->addGroup($group, 'password', get_lang('Password'), '');
if (isset($_configuration['allow_strength_pass_checker']) && $_configuration['allow_strength_pass_checker']) {
if ($checkPass) {
$form->addElement('label', null, '<div id="password_progress" style="display:none"></div>');
}

@ -219,7 +219,31 @@ switch ($action) {
$courses_controller->sessionsList($action, $nameTools, $limit);
break;
case 'subscribe_to_session':
SessionManager::suscribe_users_to_session($_GET['session_id'], array($_GET['user_id']));
header('Location: courses.php');
$registrationAllowed = api_get_configuration_value('catalog_allow_session_auto_subscription');
if ($registrationAllowed) {
SessionManager::suscribe_users_to_session(
$_GET['session_id'],
array($_GET['user_id'])
);
$coursesList = SessionManager::get_course_list_by_session_id($_GET['session_id']);
$count = count($coursesList);
$url = '';
if ($count <= 0) {
// no course in session -> return to catalog
$url = api_get_path(WEB_CODE_PATH) . 'auth/courses.php';
} elseif ($count == 1) {
// only one course, so redirect directly to this course
foreach ($coursesList as $course) {
$url = api_get_path(WEB_COURSE_PATH) . $course['directory'] . '/index.php?id_session=' . intval($_GET['session_id']);
}
} else {
$url = api_get_path(WEB_CODE_PATH) . 'session/index.php?session_id=' . intval($_GET['session_id']);
}
header('Location: ' . $url);
exit;
}
//else show error message?
break;
}

@ -491,7 +491,7 @@ class CoursesController
* @param boolean Session autosubscription set. False by default.
* @return string The button
*/
public function getRegisterInSessionButton($sessionData, $catalogSessionAutoSubscriptionAllowed = false)
public function getRegisteredInSessionButton($sessionData, $catalogSessionAutoSubscriptionAllowed = false)
{
$url = $catalogSessionAutoSubscriptionAllowed ?
api_get_path(WEB_CODE_PATH)."auth/courses.php?action=subscribe_to_session&session_id=".
@ -522,7 +522,7 @@ class CoursesController
* Generate a label if the user has been registered in session
* @return string The label
*/
public function getAlreadyRegisterInSessionLabel()
public function getAlreadyRegisteredInSessionLabel()
{
$icon = Display::return_icon('students.gif', get_lang('Student'));
@ -586,7 +586,7 @@ class CoursesController
'is_subscribed' => $session['is_subscribed'],
'icon' => $this->getSessionIcon($session['name']),
'date' => SessionManager::getSessionFormattedDate($session),
'subscribe_button' => $this->getRegisterInSessionButton(
'subscribe_button' => $this->getRegisteredInSessionButton(
$session[$key],
$catalogSessionAutoSubscriptionAllowed
),
@ -600,6 +600,7 @@ class CoursesController
$tpl->assign('action', $action);
$tpl->assign('showCourses', CoursesAndSessionsCatalog::showCourses());
$tpl->assign('showSessions', CoursesAndSessionsCatalog::showSessions());
$tpl->assign('showTutor', (api_get_setting('show_session_coach')==='true' ? true : false));
$tpl->assign('api_get_self', api_get_self());
$tpl->assign('sessionUrl', $sessionUrl);
$tpl->assign('courseUrl', $courseUrl);
@ -614,7 +615,7 @@ class CoursesController
$tpl->assign('searchDate', $date);
$tpl->assign('web_session_courses_ajax_url', api_get_path(WEB_AJAX_PATH) . 'course.ajax.php');
$tpl->assign('sessions_blocks', $sessionsBlocks);
$tpl->assign('already_subscribed_label', $this->getAlreadyRegisterInSessionLabel());
$tpl->assign('already_subscribed_label', $this->getAlreadyRegisteredInSessionLabel());
$contentTemplate = $tpl->get_template('auth/sessions_catalog.tpl');

@ -109,7 +109,8 @@ if ($user_already_registered_show_terms == false) {
// PASSWORD
$form->addElement('password', 'pass1', get_lang('Pass'), array('id' => 'pass1', 'size' => 20, 'autocomplete' => 'off'));
if (isset($_configuration['allow_strength_pass_checker']) && $_configuration['allow_strength_pass_checker']) {
$checkPass = api_get_setting('allow_strength_pass_checker');
if ($checkPass == 'true') {
$form->addElement('label', null, '<div id="password_progress"></div>');
}
@ -150,7 +151,8 @@ if ($user_already_registered_show_terms == false) {
$form->addElement('radio', 'status', null, get_lang('RegAdmin'), COURSEMANAGER);
}
$allowCaptcha = isset($_configuration['allow_captcha']) ? $_configuration['allow_captcha'] : false;
$captcha = api_get_setting('allow_captcha');
$allowCaptcha = $captcha == 'true';
if ($allowCaptcha) {
$ajax = api_get_path(WEB_AJAX_PATH).'form.ajax.php?a=get_captcha';

@ -307,7 +307,8 @@ if (is_platform_authentication() &&
$form->addElement('password', 'password0', array(get_lang('Pass'), get_lang('Enter2passToChange')), array('size' => 40));
$form->addElement('password', 'password1', get_lang('NewPass'), array('id'=> 'password1', 'size' => 40));
if (isset($_configuration['allow_strength_pass_checker']) && $_configuration['allow_strength_pass_checker']) {
$checkPass = api_get_setting('allow_strength_pass_checker');
if ($checkPass == 'true') {
$form->addElement('label', null, '<div id="password_progress"></div>');
}
$form->addElement('password', 'password2', get_lang('Confirmation'), array('size' => 40));

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@ -69,6 +69,75 @@ switch ($action) {
$status = isset($_REQUEST['status']) ? intval($_REQUEST['status']) : 0;
$chat->setUserStatus($status);
break;
case 'start_video':
$room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id);
if ($room !== false) {
$videoChatLink = Display::url(
Display::tag(
'i',
null,
['class' => 'fa fa-video-camera']
) . "&nbsp;" . get_lang('StartVideoChat'),
api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room={$room['room_name']}"
);
$chat->send(api_get_user_id(), $to_user_id, $videoChatLink, false);
echo Display::tag('p', $videoChatLink, ['class' => 'lead']);
break;
}
$form = new FormValidator('start_video_chat');
$form->addText('chat_room_name', get_lang('ChatRoomName'), false);
$form->addHidden('to', $to_user_id);
$form->addButtonSend(get_lang('Create'));
$template = new Template();
$template->assign('form', $form->returnForm());
echo $template->fetch('default/javascript/chat/start_video.tpl');
break;
case 'create_room':
$room = VideoChat::getChatRoomByUsers(api_get_user_id(), $to_user_id);
$createdRoom = false;
if ($room === false) {
$roomName = isset($_REQUEST['room_name']) ? Security::remove_XSS($_REQUEST['room_name']) : null;
if (VideoChat::nameExists($roomName)) {
echo Display::return_message(get_lang('TheVideoChatRoomXNameAlreadyExists'), 'error');
break;
}
$createdRoom = VideoChat::createRoom($roomName, api_get_user_id(), $to_user_id);
} else {
$roomName = $room['room_name'];
$createdRoom = true;
}
if ($createdRoom === false) {
echo Display::return_message(get_lang('ChatRoomNotCreated'), 'error');
break;
}
$videoChatLink = Display::url(
Display::tag(
'i',
null,
['class' => 'fa fa-video-camera']
) . "&nbsp;" . get_lang('StartVideoChat'),
api_get_path(WEB_LIBRARY_JS_PATH) . "chat/video.php?room=$roomName"
);
$chat->send(api_get_user_id(), $to_user_id, $videoChatLink, false);
echo Display::tag('p', $videoChatLink, ['class' => 'lead']);
break;
case 'notify_not_support':
$chat->send(api_get_user_id(), $to_user_id, get_lang('TheXUserBrowserDoesNotSupportWebRTC'));
break;
default:
echo '';
}

@ -0,0 +1,101 @@
<?php
/* For licensing terms, see /license.txt */
/**
* VideoChat class
*
* This class provides methods for video chat management.
*
* @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
*/
class VideoChat
{
/**
* Get the video chat info by its users
* @param int $user1 User id
* @param int $user2 Other user id
* @return array The video chat info. Otherwise return false
*/
public static function getChatRoomByUsers($user1, $user2)
{
$user1 = intval($user1);
$user2 = intval($user2);
if (empty($user1) || empty($user2)) {
return false;
}
return Database::select(
'*',
Database::get_main_table(TABLE_MAIN_CHAT_VIDEO),
[
'where' => [
'(from_user = ? AND to_user = ?)' => [$user1, $user2],
'OR (from_user = ? AND to_user = ?)' => [$user2, $user1]
]
],
'first'
);
}
/**
* Create a video chat
* @param string $name The video chat name
* @param int $fromUser The sender user
* @param int $toUser The receiver user
* @return int The created video chat id. Otherwise return false
*/
public static function createRoom($name, $fromUser, $toUser)
{
return Database::insert(
Database::get_main_table(TABLE_MAIN_CHAT_VIDEO),
[
'from_user' => intval($fromUser),
'to_user' => intval($toUser),
'room_name' => $name,
'datetime' => api_get_utc_datetime()
]
);
}
/**
* Check if the video chat exists by its room name
* @param string $name The video chat name
* @return boolean
*/
public static function nameExists($name)
{
$resultData = Database::select(
'COUNT(1) AS count',
Database::get_main_table(TABLE_MAIN_CHAT_VIDEO),
[
'where' => ['room_name = ?' => $name]
],
'first'
);
if ($resultData !== false) {
return $resultData['count'] > 0;
}
return false;
}
/**
* Get the video chat info by its room name
* @param string $name The video chat name
* @return array The video chat info. Otherwise return false
*/
public static function getChatRoomByName($name)
{
return Database::select(
'*',
Database::get_main_table(TABLE_MAIN_CHAT_VIDEO),
[
'where' => ['room_name = ?' => $name]
],
'first'
);
}
}

@ -994,15 +994,11 @@ function api_is_facebook_auth_activated() {
* Return the $_configuration of displaying group forum in the general forum tool of a course or not
* is true by default
* @return bool
* @todo : in 1.10 replace this with a platform parameter in the database
*/
function apiGetDisplayGroupsForumInGeneralTool() {
global $_configuration;
if (isset($_configuration['display_groups_forum_in_general_tool'])) {
return $_configuration['display_groups_forum_in_general_tool'];
}
return true;
$a = api_get_setting('display_groups_forum_in_general_tool');
return $a == 'true';
}
/**
@ -7144,7 +7140,8 @@ function api_get_user_info_from_official_code($official_code = '')
function api_get_password_checker_js($usernameInputId, $passwordInputid)
{
global $_configuration;
$useStrengthPassChecker = isset($_configuration['allow_strength_pass_checker']) ? $_configuration['allow_strength_pass_checker'] : false;
$checkPass = api_get_setting('allow_strength_pass_checker');
$useStrengthPassChecker = $checkPass == 'true';
if ($useStrengthPassChecker == false) {
return null;
@ -7208,7 +7205,7 @@ function api_block_account_captcha($username)
return false;
}
global $_configuration;
$minutesToBlock = isset($_configuration['captcha_time_to_block']) ? $_configuration['captcha_time_to_block'] : 10;
$minutesToBlock = api_get_setting('captcha_time_to_block');
$time = time() + $minutesToBlock*60;
UserManager::update_extra_field_value($userInfo['user_id'], 'captcha_blocked_until_date', api_get_utc_datetime($time));
}
@ -7283,11 +7280,8 @@ function api_remove_tags_with_space($in_html, $in_double_quote_replace = true) {
*/
function api_drh_can_access_all_session_content()
{
global $_configuration;
if (isset($_configuration['drh_can_access_all_session_content'])) {
return $_configuration['drh_can_access_all_session_content'];
}
return false;
$a = api_get_setting('drh_can_access_all_session_content');
return $a == 'true';
}
/**

@ -172,7 +172,7 @@ class Chat extends Model
* @param string Message
* @return void Prints "1"
*/
public function send($from_user_id, $to_user_id, $message)
public function send($from_user_id, $to_user_id, $message, $printResult = true)
{
$user_friend_relation = SocialManager::get_relation_between_contacts($from_user_id, $to_user_id);
if ($user_friend_relation == USER_RELATION_TYPE_FRIEND) {
@ -207,11 +207,15 @@ class Chat extends Model
$this->save($params);
}
echo "1";
exit;
if ($printResult) {
echo "1";
exit;
}
} else {
echo "0";
exit;
if ($printResult) {
echo "0";
exit;
}
}
}

@ -126,13 +126,14 @@ class CourseManager
}
// If parameter defined, copy the contents from a specific
// template course into this new course
if (!empty($_configuration['course_creation_use_template'])) {
$template = api_get_setting('course_creation_use_template');
if (!empty($template)) {
// Include the necessary libraries to generate a course copy
require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseBuilder.class.php';
require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseRestorer.class.php';
require_once api_get_path(SYS_CODE_PATH) . 'coursecopy/classes/CourseSelectForm.class.php';
// Call the course copy object
$originCourse = api_get_course_info_by_id($_configuration['course_creation_use_template']);
$originCourse = api_get_course_info_by_id($template);
$originCourse['official_code'] = $originCourse['code'];
$cb = new CourseBuilder(null, $originCourse);
$course = $cb->build(null, $originCourse['code']);
@ -790,7 +791,6 @@ class CourseManager
'sort' => $max_sort + 1,
'user_course_cat' => $userCourseCategoryId
];
error_log(print_r($params, 1));
$insertId = Database::insert($course_user_table, $params);
return $insertId;

@ -334,6 +334,7 @@ define('TABLE_MAIN_SKILL_REL_PROFILE', 'skill_rel_profile');
define('TABLE_MAIN_CHAT', 'chat');
define('TABLE_TIMELINE', 'timeline');
define('TABLE_MAIN_CHAT_VIDEO', 'chat_video');
// Gradebook model
define('TABLE_GRADE_MODEL', 'grade_model');

@ -8,7 +8,7 @@
display: block;
}
.chatboxheadmain {
padding:7px 7px 7px 0px;
padding: 5px;
color: #333333;
background-color: #EBEEF4;
border-top: 1px solid rgba(29, 49, 91, 0.3);
@ -45,20 +45,23 @@
width:16px;
display:inline;
float:left;
padding: 0px 4px 0px 4px;
}
.chatboxtitle {
font-weight: bold;
float: left;
font-size: 13px;
width: 160px;
width: 130px;
cursor:pointer;
overflow: hidden;
padding-left: 2px;
text-overflow: ellipsis;
white-space: nowrap;
}
.chatboxhead {
/* background-color: #222; */
padding:7px 7px 7px 0px;
padding: 5px;
color: #ffffff;
border-right:1px solid #222;
border-left:1px solid #222;
@ -99,7 +102,7 @@
font-size: 13px;
color: #333333;
height:200px;
width:209px;
width:225px;
overflow-y:auto;
overflow-x:auto;
padding:7px;

@ -352,20 +352,99 @@ function createChatBox(user_id, chatboxtitle, minimizeChatBox, online) {
user_is_online = return_online_user(user_id, online);
$("<div />" ).attr("id","chatbox_"+user_id)
.addClass("chatbox")
.html('<div class="chatboxhead">\n\
'+user_is_online+' \n\
<div class="chatboxtitle">'+chatboxtitle+'</div>\n\
<div class="chatboxoptions">\n\
<a class="togglelink" rel="'+user_id+'" href="javascript:void(0)" > _ </a>&nbsp;\n\
<a class="closelink" rel="'+user_id+'" href="javascript:void(0)">X</a></div>\n\
<br clear="all"/></div>\n\
<div class="chatboxcontent"></div>\n\
<div class="chatboxinput"><textarea class="chatboxtextarea" onkeydown="javascript:return checkChatBoxInputKey(event,this,\''+user_id+'\');"></textarea></div>')
.appendTo($( "body" ));
var chatbox = $('<div>')
.attr({
id: 'chatbox_' + user_id
})
.addClass('chatbox')
.css('bottom', 0);
var chatboxHead = $('<div>')
.addClass('chatboxhead')
.append(user_is_online);
$('<div>')
.addClass('chatboxtitle')
.append(chatboxtitle)
.appendTo(chatboxHead);
var chatboxoptions = $('<div>')
.addClass('chatboxoptions')
.appendTo(chatboxHead);
if (!!Modernizr.prefixed('RTCPeerConnection', window)) {
$('<a>')
.addClass('btn btn-xs')
.attr({
href: '#'
})
.html('<i class="fa fa-video-camera"></i>')
.on('click', function(e) {
e.preventDefault();
var createForm = $.get(
ajax_url,
{
action: 'start_video',
to: user_id
}
);
$.when(createForm).done(function(response) {
$('#global-modal')
.find('.modal-dialog')
.removeClass('modal-lg');
$("#chatbox_"+user_id).css('bottom', '0px');
$('#global-modal')
.find('.modal-body')
.html(response);
$('#global-modal').modal('show');
});
})
.appendTo(chatboxoptions);
}
$('<a>')
.addClass('btn btn-xs togglelink')
.attr({
href: 'javascript:void(0)',
rel: user_id
})
.html('<i class="fa fa-toggle-down"></i>')
.appendTo(chatboxoptions);
$('<a>')
.addClass('btn btn-xs closelink')
.attr({
href: 'javascript:void(0)',
rel: user_id
})
.html('<i class="fa fa-close"></i>')
.appendTo(chatboxoptions);
$('<br>')
.attr('clear', 'all')
.appendTo(chatboxHead);
var chatboxContent = $('<div>')
.addClass('chatboxcontent');
var chatboxInput = $('<div>')
.addClass('chatboxinput');
$('<textarea>')
.addClass('chatboxtextarea')
.on('keydown', function(e) {
return checkChatBoxInputKey(e.originalEvent, this, user_id);
})
.appendTo(chatboxInput);
chatbox
.append(chatboxHead)
.append(chatboxContent)
.append(chatboxInput)
.appendTo('body');
chatBoxeslength = 0;
@ -398,6 +477,7 @@ function createChatBox(user_id, chatboxtitle, minimizeChatBox, online) {
}
if (minimize == 1) {
$('.togglelink').html('<i class="fa fa-toggle-up"></i>');
$('#chatbox_'+user_id+' .chatboxcontent').css('display','none');
$('#chatbox_'+user_id+' .chatboxinput').css('display','none');
}
@ -481,6 +561,8 @@ function toggleChatBoxGrowth(user_id) {
$('#chatbox_'+user_id+' .chatboxcontent').css('display','block');
$('#chatbox_'+user_id+' .chatboxinput').css('display','block');
$("#chatbox_"+user_id+" .chatboxcontent").scrollTop($("#chatbox_"+user_id+" .chatboxcontent")[0].scrollHeight);
$('.togglelink').html('<i class="fa fa-toggle-down"></i>');
} else {
var newCookie = user_id;
if ($.cookie('chatbox_minimized')) {
@ -489,6 +571,8 @@ function toggleChatBoxGrowth(user_id) {
$.cookie('chatbox_minimized',newCookie);
$('#chatbox_'+user_id+' .chatboxcontent').css('display','none');
$('#chatbox_'+user_id+' .chatboxinput').css('display','none');
$('.togglelink').html('<i class="fa fa-toggle-up"></i>');
}
}

@ -0,0 +1,43 @@
<?php
/* For licensing terms, see /license.txt */
require_once '../../../global.inc.php';
if (api_is_anonymous()) {
api_not_allowed(true);
}
$roomName = isset($_GET['room']) ? $_GET['room'] : null;
$room = VideoChat::getChatRoomByName($roomName);
if ($room === false) {
Header::location(api_get_path(WEB_PATH));
}
$isSender = $room['from_user'] == api_get_user_id();
$isReceiver = $room['to_user'] == api_get_user_id();
if (!$isSender && !$isReceiver) {
Header::location(api_get_path(WEB_PATH));
}
if ($isSender) {
$chatUser = api_get_user_info($room['to_user']);
} elseif ($isReceiver) {
$chatUser = api_get_user_info($room['from_user']);
}
$htmlHeadXtra[] = '<script type="text/javascript" src="'
. api_get_path(WEB_PATH) . 'web/assets/simplewebrtc/latest.js'
. '"></script>' . "\n";
$template = new Template();
$template->assign('room_name', $room['room_name']);
$template->assign('chat_user', $chatUser);
$content = $template->fetch('default/chat/video.tpl');
$template->assign('header', $room['room_name']);
$template->assign('content', $content);
$template->assign('message', Display::return_message(get_lang('BroswerDoesNotSupportWebRTC'), 'warning'));
$template->display_one_col_template();

@ -444,6 +444,7 @@ class PDF
$pdf_name = api_replace_dangerous_char($pdf_name);
$output_file = $pdf_name.'.pdf';
}
$output_file = api_get_path(SYS_ARCHIVE_PATH) . $output_file;
$this->pdf->Output($output_file, $outputMode); // F to save the pdf in a file
if ($outputMode == 'F') {
// Do NOT exit when export to file

@ -92,7 +92,11 @@ class IndexManager
}
function return_announcements($show_slide = true) {
// Display System announcements
//// Display System announcements
$hideAnnouncements = api_get_setting('hide_global_announcements_when_not_connected');
if ($hideAnnouncements == 'true' && empty($userId)) {
return null;
}
$announcement = isset($_GET['announcement']) ? $_GET['announcement'] : null;
$announcement = intval($announcement);
@ -234,9 +238,8 @@ class IndexManager
$html = api_to_system_encoding($open, api_detect_encoding(strip_tags($open)));
} else {
// Hiding home top when user not connected.
if (isset($_configuration['hide_home_top_when_connected']) &&
$_configuration['hide_home_top_when_connected'] && !empty($userId)
) {
$hideTop = api_get_setting('hide_home_top_when_connected');
if ($hideTop == 'true' && !empty($userId)) {
return $html;
}
@ -747,7 +750,8 @@ class IndexManager
global $_configuration;
// Captcha
$allowCaptcha = isset($_configuration['allow_captcha']) ? $_configuration['allow_captcha'] : false;
$captcha = api_get_setting('allow_captcha');
$allowCaptcha = $captcha == 'true';
if ($allowCaptcha) {
$useCaptcha = isset($_SESSION['loginFailed']) ? $_SESSION['loginFailed'] : null;
@ -1427,13 +1431,18 @@ class IndexManager
*/
public function returnCertificatesSearchBlock()
{
$certificatesItem = Display::tag(
'li',
Display::url(
get_lang('MyCertificates'),
api_get_path(WEB_CODE_PATH) . "gradebook/my_certificates.php"
)
);
$certificatesItem = null;
if (!api_is_anonymous()) {
$certificatesItem = Display::tag(
'li',
Display::url(
get_lang('MyCertificates'),
api_get_path(WEB_CODE_PATH) . "gradebook/my_certificates.php"
)
);
}
$searchItem = null;
@ -1447,6 +1456,10 @@ class IndexManager
);
}
if (empty($certificatesItem) && empty($searchItem)) {
return null;
}
return Display::panel(
Display::tag(
'ul',

@ -250,7 +250,8 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) {
$result = Database::query($sql);
$captchaValidated = true;
$allowCaptcha = isset($_configuration['allow_captcha']) ? $_configuration['allow_captcha'] : false;
$captcha = api_get_setting('allow_captcha');
$allowCaptcha = $captcha == 'true';
if (Database::num_rows($result) > 0) {
$uData = Database::fetch_array($result, 'ASSOC');
@ -448,7 +449,7 @@ if (!empty($_SESSION['_user']['user_id']) && !($login || $logout)) {
$_SESSION['loginFailedCount'] = 1;
}
$numberMistakesToBlockAccount = isset($_configuration['captcha_number_mistakes_to_block_account']) ? $_configuration['captcha_number_mistakes_to_block_account'] : 10;
$numberMistakesToBlockAccount = api_get_setting('captcha_number_mistakes_to_block_account');
if (isset($_SESSION['loginFailedCount'])) {
if ($_SESSION['loginFailedCount'] >= $numberMistakesToBlockAccount) {

@ -138,8 +138,6 @@ $_configuration['cdn'] = array(
/**
* Misc. settings
*/
// Verbose backup
$_configuration['verbose_backup'] = false;
// security word for password recovery
$_configuration['security_key'] = '{SECURITY_KEY}';
// Hash function method
@ -161,32 +159,12 @@ $_configuration['system_stable'] = NEW_VERSION_STABLE;
/**
* Settings to be included as settings_current in future versions
*/
// Hide the main home section for connected users (to show announcements instead)
//$_configuration['hide_home_top_when_connected'] = true;
// Hide the global announcements for non-connected users
//$_configuration['hide_global_announcements_when_not_connected'] = true;
// Use this course as template for all new courses (define course real ID as value)
//$_configuration['course_creation_use_template'] = 14;
// Uncomment the following to prevent all admins to use the "login as" feature
//$_configuration['login_as_forbidden_globally'] = true;
// Add password strength checker
//$_configuration['allow_strength_pass_checker'] = true;
// Enable captcha
//$_configuration['enable_captcha'] = true;
//$_configuration['allow_captcha'] = true;
// Prevent account from logging in for a certain amount of time
// if captcha is wrong for the specified number of times
//$_configuration['captcha_number_mistakes_to_block_account'] = 5;
// Prevent account from logging in for the specified number of minutes
//$_configuration['captcha_time_to_block'] = 5;//minutes
// Allow DRH role to access all content and users from the sessions he follows
//$_configuration['drh_can_access_all_session_content'] = true;
// Display group's forum in general forum tool
//$_configuration['display_groups_forum_in_general_tool'] = true;
// Boost query on last connection time
//$_configuration['save_user_last_login'] = true;
// Allow course tutors in sessions to add existing students to their session
//$_configuration['allow_tutors_to_assign_students_to_session'] = 'false';
// Allow select the return link in the LP view
//$_configuration['allow_lp_return_link'] = false;
// If true the export link is blocked.

@ -1626,4 +1626,38 @@ INSERT INTO sequence_type_entity VALUES
(2,'Quiz', 'Quiz and Tests','c_quiz'),
(3,'LpItem', 'Items of a Learning Path','c_lp_item');
UPDATE settings_current SET selected_value = '1.10.0.37' WHERE variable = 'chamilo_database_version';
-- Version 1.10.0.39
INSERT INTO settings_current
(variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable)
VALUES
('hide_home_top_when_connected', '', 'radio', 'Platform', 'false', 'HideHomeTopContentWhenLoggedInText', 'HideHomeTopContentWhenLoggedInComment', NULL, '', true),
('hide_global_announcements_when_not_connected','','radio','Platform','false', 'HideGlobalAnnouncementsWhenNotLoggedInText','HideGlobalAnnouncementsWhenNotLoggedInComment',NULL,'', true),
('course_creation_use_template','','textfield','Course','','CourseCreationUsesTemplateText','CourseCreationUsesTemplateComment',NULL,'',true),
('allow_strength_pass_checker','','radio','Security','true','EnablePasswordStrengthCheckerText','EnablePasswordStrengthCheckerComment',NULL,'',true),
('allow_captcha','','radio','Security','false','EnableCaptchaText','EnableCaptchaComment',NULL,'',true),
('captcha_number_mistakes_to_block_account','','textfield','Security',5,'CaptchaNumberOfMistakesBeforeBlockingAccountText','CaptchaNumberOfMistakesBeforeBlockingAccountComment',NULL,'',true),
('captcha_time_to_block','','textfield','Security',5,'CaptchaTimeAccountIsLockedText','CaptchaTimeAccountIsLockedComment',NULL,'',true),
('drh_can_access_all_session_content','','radio','Session','true','DRHAccessToAllSessionContentText','DRHAccessToAllSessionContentComment',NULL,'',true),
('display_groups_forum_in_general_tool','','radio','Tools','true','ShowGroupForaInGeneralToolText','ShowGroupForaInGeneralToolComment',NULL,'',true),
('allow_tutors_to_assign_students_to_session','','radio','Session','false','TutorsCanAssignStudentsToSessionsText','TutorsCanAssignStudentsToSessionsComment',NULL,'',true);
INSERT INTO settings_options (variable, value, display_text)
VALUES
('hide_home_top_when_connected','true','Yes'),
('hide_home_top_when_connected','false','No'),
('hide_global_announcements_when_not_connected','true','Yes'),
('hide_global_announcements_when_not_connected','false','No'),
('allow_strength_pass_checker','true','Yes'),
('allow_strength_pass_checker','false','No'),
('allow_captcha','true','Yes'),
('allow_captcha','false','No'),
('drh_can_access_all_session_content','true','Yes'),
('drh_can_access_all_session_content','false','No'),
('display_groups_forum_in_general_tool','true','Yes'),
('display_groups_forum_in_general_tool','false','No'),
('allow_tutors_to_assign_students_to_session','true','Yes'),
('allow_tutors_to_assign_students_to_session','false','No');
UPDATE settings_current SET selected_value = '1.10.0.39' WHERE variable = 'chamilo_database_version';

@ -4603,5 +4603,5 @@ CREATE TABLE c_attendance_calendar_rel_group (
-- Version
LOCK TABLES settings_current WRITE;
UPDATE settings_current SET selected_value = '1.10.0.36' WHERE variable = 'chamilo_database_version';
UPDATE settings_current SET selected_value = '1.10.0.39' WHERE variable = 'chamilo_database_version';
UNLOCK TABLES;

@ -5610,7 +5610,7 @@ $ToolGlossary = "Glossário";
$ToolAttendance = "Chamada";
$ToolCalendarEvent = "Agenda";
$ToolForum = "Fóruns";
$ToolDropbox = "Compartilhamento de arquivos";
$ToolDropbox = "Compartilhar arquivos";
$ToolUser = "Usuários";
$ToolGroup = "Grupos";
$ToolChat = "Chat";

@ -7245,4 +7245,25 @@ $Readable = "Readable";
$NotReadable = "Not readable";
$DefaultInstallAdminFirstname = "John";
$DefaultInstallAdminLastname = "Doe";
$AttendanceUpdated = "Attendances updated";
$HideHomeTopContentWhenLoggedInText = "Hide top content on homepage when logged in";
$HideHomeTopContentWhenLoggedInComment = "On the platform homepage, this option allows you to hide the introduction block (to leave only the announcements, for example), for all users that are already logged in. The general introduction block will still appear to users not already logged in.";
$HideGlobalAnnouncementsWhenNotLoggedInText = "Hide global announcements for anonymous";
$HideGlobalAnnouncementsWhenNotLoggedInComment = "Hide platform announcements from anonymous users, and only show them to authenticated users.";
$CourseCreationUsesTemplateText = "Use template course for new courses";
$CourseCreationUsesTemplateComment = "Set this to use the same template course (identified by its course numeric ID in the database) for all new courses that will be created on the platform. Please note that, if not properly planned, this setting might have a massive impact on space usage. The template course will be used as if the teacher did a copy of the course with the course backup tools, so no user content is copied, only teacher material. All other course-backup rules apply.";
$EnablePasswordStrengthCheckerText = "Password strength checker";
$EnablePasswordStrengthCheckerComment = "Enable this option to add a visual indicator of password strength, when the user changes his/her password. This will NOT prevent bad passwords to be added, it only acts as a visual helper.";
$EnableCaptchaText = "CAPTCHA";
$EnableCaptchaComment = "Enable a CAPTCHA on the login form to avoid password hammering";
$CaptchaNumberOfMistakesBeforeBlockingAccountText = "CAPTCHA mistakes allowance";
$CaptchaNumberOfMistakesBeforeBlockingAccountComment = "The number of times a user can make a mistake on the CAPTCHA box before his account is locked out.";
$CaptchaTimeAccountIsLockedText = "CAPTCHA account locking time";
$CaptchaTimeAccountIsLockedComment = "If the user reaches the maximum allowance for login mistakes (when using the CAPTCHA), his/her account will be locked for this number of minutes.";
$DRHAccessToAllSessionContentText = "HR directors access all session content";
$DRHAccessToAllSessionContentComment = "If enabled, human resources directors will get access to all content and users from the sessions (s)he follows.";
$ShowGroupForaInGeneralToolText = "Display group forums in general forum";
$ShowGroupForaInGeneralToolComment = "Display group forums in the forum tool at the course level. This option is enabled by default (in this case, group forum individual visibilities still act as an additional criteria). If disabled, group forums will only be visible through the group tool, be them public or not.";
$TutorsCanAssignStudentsToSessionsText = "Tutors can assign students to sessions";
$TutorsCanAssignStudentsToSessionsComment = "When enabled, course coaches/tutors in sessions can subscribe new users to their session. This option is otherwise only available to administrators and session administrators.";
?>

@ -23,7 +23,7 @@ $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 /> \ NDacă care le consideră necesare, secțiunea de ajutor a browser-ului dumneavoastră vă va spune despre procedurile pentru a seta cookie-uri. <br /> <br /> \ nPentru mai multe informații cu privire la cookie-uri, puteți vizita site-ul <a href=\";
$HelpCookieUsageValidation = "Pentru buna funcționare a acestui site și măsurare utilizarii sale, această platformă foloseste cookie-uri.<br /><br />\nDacă consideră necesar, secțiunea de ajutor a browser-ului dumneavoastră vă va spune despre prcedimientos pentru a seta cookie-uri.<br /><br />\ nPentru 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";
$TemplateCertificateTitle = " Certificat";
@ -31,7 +31,7 @@ $ResultsVisibility = "Vizibilitatea rezultatelor";
$DownloadCertificate = "Descarca certificatul";
$PortalActiveCoursesLimitReached = ", apoi încercați să creați din nou acest curs. pentru a crește numărul maxim de cursuri active permise in instalatia Chamilo, vă rugăm să contactați furnizorul dvs. de găzduire sau, dacă este necesar, upgrade la un plan superior de hosting.";
$WelcomeToInstitution = "Bine ai venit la campus de %s";
$WelcomeToSiteName = "Bine ati venit";
$WelcomeToSiteName = "Bine ati venit/ la %s";
$RequestAccess = "Cerere acces";
$Formula = "Formula";
$MultipleConnectionsAreNotAllow = "Acest utilizator este deja conectat";
@ -63,6 +63,7 @@ $ActivateAudioRecorder = "Activați înregistrare vocală";
$StartSpeaking = "Vorbește acum";
$AssignedCourses = "Cursuri alocate";
$QuestionEditionNotAvailableBecauseItIsAlreadyAnsweredHoweverYouCanCopyItAndModifyTheCopy = "Nu puteți edita întrebare pentru că cineva deja a răspunso. Cu toate acestea, aveți posibilitatea să copiați și să modificați această copie.";
$SessionDurationDescription = "Durata sesiunilor vă permite să setați un număr de zile pentru a accesa o sesiune care a pornit de la prima accesare elev la aceeași sesiune. Până atunci, nu începe numărarea aceste zile. În acest fel, puteți adăuga o sesiune cu acces 'timp de 15 zile' mai degrabă decât o anumită dată de început și sfârșit, și așa avand elevi care pot începe cu o mai mare flexibilitate.";
$SessionDurationTitle = "Durata sesiunii";
$CoachAndStudent = "Tutor și elev";
$Serie = "Serie";
@ -128,7 +129,8 @@ $DRH = "Director de resurse umane";
$Global = "Global";
$QuestionTitle = "Titlu intrebarii";
$QuestionId = "ID intrebarii";
$ExportExcel = "Exporta in format Excel";
$ExerciseId = "ID exercitiului";
$ExportExcel = "Exportati Excel";
$CompanyReportResumed = "Rezumat raport corporativă";
$CompanyReport = "Raport corporativă";
$Report = "Raport";
@ -138,6 +140,7 @@ $UserMustHaveTheDrhRole = "Utilizatorii trebuie să aibă rolul de director de r
$NothingToAdd = "Nimic pentru a adăuga";
$NoStudentsFoundForSession = "Niciun elev găsit pentru sesiune";
$NoDestinationSessionProvided = "Sesiunea țintă nu a fost indicata";
$SessionXSkipped = "Sesiunea %s ignorată";
$CheckDates = "Validați datele";
$CreateACategory = "Creați o categorie";
$PriorityOfMessage = "Tipul de mesaj";
@ -145,13 +148,36 @@ $ModifyDate = "Data de modificare";
$Weep = "Plange";
$LatestChanges = "Ultimele schimbari";
$FinalScore = "Nota finală";
$ErrorWritingXMLFile = "A apărut o eroare la scrierea fișierului XML. Contactați administratorul pentru a verifica registrele de erori.";
$TeacherXInSession = "Tutor în sesiune: %s";
$DeleteAttachment = "Eliminați fisierul atașat";
$EditingThisEventWillRemoveItFromTheSerie = "Editand acest eveniment il va elimina din lista de evenimente, din care face acum parte";
$EnterTheCharactersYouReadInTheImage = "Introduceți caracterele pe care le vedeți în imagine";
$YouDontHaveAnInstitutionAccount = "Dacă nu aveți cont instituțional";
$LoginWithYourAccount = "Autentifica-te cu contul tău";
$YouHaveAnInstitutionalAccount = "Dacă aveți cont instituțional";
$NoActionAvailable = "Nu sunt actiuni disponibile";
$Coaches = "Tutori";
$ShowDescription = "Arată descrierea";
$HumanResourcesManagerShouldNotBeRegisteredToCourses = "Directorii de resurse umane nu pot fi înregistrati direct la cursuri (în locul sau,ar trebui 'urmariti' ). Utilizatorii care corespund acestui profil nu au fost înregistrati.";
$CleanAndUpdateCourseCoaches = "Curatati si actualizati tutorii de cursuri";
$NoPDFFoundAtRoot = "Nu sau gasit PDF-uri la rădăcina:trebuie să puneti PDF-uri în rădăcina fișierului zip (fără folder intermediar)";
$PDFsMustLookLike = "PDF-urile trebuie sa arate asa:";
$ImportZipFileLocation = "Localizarea fișierului de import zip";
$YouMustImportAZipFile = "Trebuie să importe ca fișier zip";
$ImportPDFIntroToCourses = "Importati instructiuni de cursuri in PDF";
$SubscribeTeachersToSession = "Inscrieti profesori la sesiuni";
$SubscribeStudentsToSession = "Inscrieti elevi la sesiuni";
$ManageCourseCategories = "Gestionarea categoriilor de cursuri";
$CourseCategoryListInX = "Categorii de cursuri pe site-ul %s:";
$CourseCategoryInPlatform = "Categorii de cursuri disponibile";
$UserGroupBelongURL = "Grupul aparține acum grupului selectat";
$AtLeastOneUserGroupAndOneURL = "Trebuie să selectați cel puțin un grup și un site";
$AgendaList = "Lista agenda";
$Calendar = "Calendariu";
$CustomRange = "Rang personalizat";
$ThisWeek = "Săptămâna aceasta";
$SendToUsersInSessions = "Trimite utilizatorilor de toate sesiunile de acest curs";
$ParametersNotFound = "Parametrii nu a fost găsit";
$UsersToAdd = "Utilizatorii adăugați";
$DocumentsAdded = "Documente adăugate";
@ -165,6 +191,7 @@ $AccountBlockedByCaptcha = "Cont blocat de CAPTCHA.";
$CatchScreenCasts = "Captură imagine sau video";
$View = "Vezi";
$AmountSubmitted = "Suma trimisa";
$InstallWarningCouldNotInterpretPHP = "Avertisment: Programul de instalare a întâlnit o eroare în timp ce încerca să acceseze fișierul de test %s. Se pare că script PHP nu poate fi interpretat. Acest lucru ar putea fi un semnal precursor de probleme la crearea de noi cursuri. Verificați manualul de instalare pentru mai multe informații cu privire la permisiuni. Dacă instalați un site prin stabilirea unui URL care nu există încă, probabil puteți ignora acest mesaj.";
$BeforeX = "Înainte de %s";
$AfterX = "Dupa %s";
$ExportSettingsAsXLS = "Exportati parametrii în .xls";
@ -173,6 +200,19 @@ $DeleteThisItem = "Ștergeți acest element";
$RecordYourVoice = "Înregistrați vocea ta";
$RecordIsNotAvailable = "Nicio înregistrare disponibila";
$WorkNumberSubmitted = "Sarcini primite";
$ClassIdDoesntExists = "ID clasei nu există";
$WithoutCategory = "Fara categorie";
$IncorrectScore = "Punctaj incorect";
$CorrectScore = "Punctaj corect";
$UseCustomScoreForAllQuestions = "Utilizați punctaj personalizabil pentru toate întrebările.";
$YouShouldAddItemsBeforeAttachAudio = "Ar trebui să adaugati câteva elemente la lecție, altfel nu se poate atașa fișiere audio";
$InactiveDays = "Zile inactive";
$FollowedHumanResources = "Directori RRHH urmati";
$TheTextYouEnteredDoesNotMatchThePicture = "Text introdus nu se potrivește cu imaginea.";
$RemoveOldRelationships = "Eliminați relațiile anterioare";
$ImportSessionDrhList = "Importati lista de directori RRHH in sesiuni";
$FollowedStudents = "Elevii urmati";
$FollowedTeachers = "Profesori urmati";
$AllowOnlyFiles = "Numai fișiere";
$AllowOnlyText = "Doar răspuns on-line";
$AllowFileOrText = "Permiteți fișiere și răspunsuri on-line";
@ -190,6 +230,7 @@ $SelectADateOnTheCalendar = "Selectați o dată din calendar";
$AreYouSureDeleteTestResultBeforeDateD = "Sunteți sigur că doriți să ștergeți rezultatele acestui exercițiu înainte de această dată?";
$CleanStudentsResultsBeforeDate = "Eliminați toate rezultatele înainte de data selectată";
$HGlossary = "Ajutor glosar";
$GlossaryContent = "Acest instrument vă permite să creați termeni glosar pentru cursul sau, care pot fi apoi utilizate în instrumentul de documente";
$FeedbackDisplayOptions = "Felul in care se va arata comentariul pentru fiecare intrebare.Aceasta optiune va arata cum un elev va vedea (sau nu) comentariile (retro-alimentare).Recomandam evaluarea a mai multe optiuni inainte de a invita elevii de a participa la proba";
$SurveysProgress = "Progresul sondajului";
$SurveysLeft = "Sondaj incomplect";
@ -311,6 +352,7 @@ $VersionUpToDate = "Versiunea dvs. este actualizată";
$LatestVersionIs = "Ultima versiune este";
$YourVersionNotUpToDate = "Versiunea dvs. este actualizată";
$Hotpotatoes = "HotPotatoes";
$EmailNotificationTemplateDescription = "Sablonul de e-mail trimis utilizatorului la finalizarea exercițiul.";
$EmailNotificationTemplate = "Sablonul din email trimis uzuarului la terminarea exercitiului.";
$ExerciseEndButtonDisconnect = "Deconectare de la platforma";
$ExerciseEndButtonExerciseHome = "Lista de exerciții";
@ -318,21 +360,21 @@ $ExerciseEndButtonCourseHome = "Pagina principala a cursului";
$ExerciseEndButton = "Buton pentru a finaliza exercițiul";
$HideQuestionTitle = "Ascunde titlul întrebarii";
$QuestionSelection = "Întrebări selectate";
$OrderedCategoriesByParentWithQuestionsRandom = "Categorii ordenate in functie de categoria tata,cu intrebari dezordenate";
$OrderedCategoriesByParentWithQuestionsOrdered = "Categorii ordenate in functie de categoria tatal,cu intrebari ordenate";
$RandomCategoriesWithRandomQuestionsNoQuestionGrouped = "Categorii alese la alegere,cu intrebari dezordenate,fara intrebari in grup";
$RandomCategoriesWithQuestionsOrderedNoQuestionGrouped = "Categorii alese la alegere,cu intrebari ordenate,fara intrebari in grup";
$RandomCategoriesWithRandomQuestions = "Categorii alese la alegere,cu intrebari dezordenate";
$OrderedCategoriesAlphabeticallyWithRandomQuestions = "Categorii ordenate(alfabetic),cu intrebari dezordenate";
$RandomCategoriesWithQuestionsOrdered = "Categorii alese la alegere,cu intrebari ordenate";
$OrderedCategoriesAlphabeticallyWithQuestionsOrdered = "Categorii ordenate alfabetic,cu intrebari ordenate";
$OrderedCategoriesByParentWithQuestionsRandom = "Categorii sortate pe categorii tata, cu intrebari dezordonate";
$OrderedCategoriesByParentWithQuestionsOrdered = "Categorii sortate pe categorii tata, cu intrebari ordonate";
$RandomCategoriesWithRandomQuestionsNoQuestionGrouped = "Categorii luate aleatorii, cu intrebari dezordonate, fara întrebări adunate";
$RandomCategoriesWithQuestionsOrderedNoQuestionGrouped = "Categorii luate aleatorii, cu intrebari ordonate, fara întrebări adunate";
$RandomCategoriesWithRandomQuestions = "Categorii luate aleatorii, cu intrebari dezordonate";
$OrderedCategoriesAlphabeticallyWithRandomQuestions = "Categorii ordenate (alfabetic), cu intrebari dezordonate";
$RandomCategoriesWithQuestionsOrdered = "Categorii luate aleatorii, cu intrebari ordonate";
$OrderedCategoriesAlphabeticallyWithQuestionsOrdered = "Categorii ordenate alfabetic, cu intrebari ordonate";
$UsingCategories = "Utilizare categorii";
$OrderedByUser = "Ordenat în funcție de lista de întrebări";
$ToReview = "Pentru revizie";
$Unanswered = "Fara raspuns";
$CurrentQuestion = "Intrebare actuala";
$MediaQuestions = "Anunturi partajate";
$CourseCategoriesAreGlobal = "Categoriile de cursuri sunt globale în configurarea mai multe portaluri, dar schimbările sunt permise numai în sesiunea administrativ portalului principal.";
$MediaQuestions = "Declarații impartite";
$CourseCategoriesAreGlobal = "Categoriile de cursuri sunt globale în configurarea mai multori portaluri, dar schimbările sunt permise numai în sesiunea administrativa a portalului principal.";
$CareerUpdated = "Cariera actualizata sadisfactorie";
$UserIsNotATeacher = "Utilizatorul nu este un profesor.";
$ShowAllEvents = "Arată toate evenimentele";
@ -373,7 +415,7 @@ $MyTextHere = "Textul meu aici";
$CopiedAsAnnouncement = "Copiat ca anunț";
$NewAnnouncement = "Anunt nou";
$UpcomingEvent = "Evenimentul următor";
$RepeatedEvent = "Eveniment repetitiv";
$RepeatedEvent = "Eveniment periodic";
$RepeatType = "Periodicitate";
$RepeatDaily = "Zilnica";
$RepeatWeekly = "Saptamanal";
@ -387,18 +429,18 @@ $ICalFileImport = "Importati un fișier iCal/ics";
$AllUsersOfThePlatform = "Toți utilizatorii Platformei";
$GlobalEvent = "Evenimentul plataformei";
$ModifyEvent = "Modificati evenimentul";
$EndDateCannotBeBeforeTheStartDate = "Data finala nu poate fi inainte de data de inceput";
$ItemForUserSelection = "Selecteaza utilizatorii";
$IsNotiCalFormatFile = "Aceasta fisier nu este un fisier iCal.";
$EndDateCannotBeBeforeTheStartDate = "Data limită nu trebuie să fie mai mică decât data de începere";
$ItemForUserSelection = "Eveniment direcționat către o selectie de utilizatori";
$IsNotiCalFormatFile = "Acesta nu este un fișier iCal";
$RepeatEvent = "Repetați evenimentul";
$ScormVersion = "Versiune";
$ScormRestarted = "Toate lectiile sunt incomplete";
$ScormNoNext = "Aceasta este ultima lectie";
$ScormNoPrev = "Aceasta este prima lectie";
$ScormRestarted = "Nici un obiect de învățare a fost finalizat.";
$ScormNoNext = "Acesta este ultimul obiectiv de învățăre.";
$ScormNoPrev = "Acesta este primul obiectiv de învățăre.";
$ScormTime = "Timp";
$ScormNoOrder = "Nu exista o ordine prestabilita, poti viziona oricare lectie";
$ScormNoOrder = "Nu există nici o ordine stabilita, puteți să faceți clic pe orice lecție.";
$ScormScore = "Punctaj";
$ScormLessonTitle = "Titlul lectiei";
$ScormLessonTitle = "Titlu secțiunii";
$ScormStatus = "Statutul";
$ScormToEnter = "Pentru a intra in";
$ScormFirstNeedTo = "Prima data trebuie sa terminati";
@ -423,7 +465,7 @@ $ScormFullScreen = "Ecran complet";
$ScormNotAttempted = "Fără încercari";
$Local = "Local";
$Remote = "La distanta";
$Autodetect = "Auto-detectare";
$Autodetect = "Auto detectare";
$AccomplishedStepsTotal = "Total de secțiuni realizate";
$AreYouSureToDeleteSteps = "Sunteți sigur că doriți să ștergeți aceste elemente?";
$Origin = "Origine";
@ -432,14 +474,14 @@ $Remote = "La distanta";
$FileToUpload = "Fișier pentru trimitere";
$ContentMaker = "Creator de conținute";
$ContentProximity = "Localizarea conținutului";
$UploadLocalFileFromGarbageDir = "Incarca fisierul local din folderul principal/gunoi";
$ThisItemIsNotExportable = "Acest termen nu este compatibil in SCORM. Nu poate fi exportat.";
$UploadLocalFileFromGarbageDir = "Trimite pachet .zip local din directoriu de fisiere/";
$ThisItemIsNotExportable = "Acest obiect de învățare nu este compatibil cu SCORM. Din acest motiv, nu este exportabil.";
$MoveCurrentChapter = "Mutați capitolul actual";
$GenericScorm = "SCORM generic";
$UnknownPackageFormat = "Pachetul nu poate fi recunoscut. Asigurati-va ca este creat in mod corect si fara erori. Problemele sunt posibile datorita formatului Zip sau marimii prea mari a documentelor. Utilizati minim optiunile zip daca nu sunteti sigur de ZIP.";
$UnknownPackageFormat = "Formatul acestui pachet nu a fost recunoscut. Vă rugăm, să verificați acest lucru este un pachet valid.";
$MoveTheCurrentForum = "Mutați forumul actual";
$WarningWhenEditingScorm = "Atentie! In cazul in care schimati continutul SCORM, puteti provoca daune cursului.";
$MessageEmptyMessageOrSubject = "Va rog,scrieti titlu si textul mesajului";
$WarningWhenEditingScorm = "¡ Observați ! Daca editati conținutul unui element SCORM, poate modifica raportul secvenței de formare sau deteriorarea obiectul.";
$MessageEmptyMessageOrSubject = "Vă rugăm să introduceți titlul și textul mesajului";
$Messages = "Mesaje";
$NewMessage = "Mesaj nou";
$DeleteSelectedMessages = "Ștergeți mesajele selectate";
@ -450,9 +492,9 @@ $MessageSentTo = "Mesajul a fost trimis la";
$SendMessageTo = "Trimis la";
$Myself = "Eu insumi";
$InvalidMessageId = "Mesajul de răspuns id este invalid.";
$ErrorSendingMessage = "Se a produs o eroare in timp ce incerca a trimite mesajul";
$SureYouWantToDeleteSelectedMessages = "Sunteti sigur ca doriti sa stergeti mesajele selectate?";
$SelectedMessagesDeleted = "Mesajele selectate vor fi sterse";
$ErrorSendingMessage = "A apărut o eroare în timp ce încerca a trimite mesajul.";
$SureYouWantToDeleteSelectedMessages = "Sigur doriți să ștergeți mesajele selectate?";
$SelectedMessagesDeleted = "Mesajele selectate au fost șterse";
$EnterTitle = "Introduceți un titlu";
$TypeYourMessage = "Introduceti mesajul";
$MessageDeleted = "Mesajul a fost șters";
@ -460,7 +502,7 @@ $ConfirmDeleteMessage = "Sunteți sigur că doriți să ștergeți acest mesaj?"
$DeleteMessage = "Ștergeți mesajul";
$ReadMessage = "Cititi";
$SendInviteMessage = "Trimite mesajul de invitație";
$SendMessageInvitation = "¿ Sunteti sigur ca doriti sa trimitei invitatiile uzuarilor selecctionati?";
$SendMessageInvitation = "Esti sigur ca vrei să trimiți invitații utilizatorilor selectionati?";
$MessageTool = "Instrumentul mesaje";
$WriteAMessage = "Scrieți un mesaj";
$AlreadyReadMessage = "Mesaj citit";
@ -475,19 +517,19 @@ $Confidentiality = "Confidential";
$Unsubscription = "Anulati înscrierea";
$PrivOpen = "Acces privat, inscriere deschisa";
$Forbidden = "Dumneavoastra nu sunteti înregistrati ca responsabil pentru acest curs";
$CourseAccessConfigTip = "In mod implicit cursul dumneavoastra este public. Dar puteti modifica nivelul de confidentialitate mai sus.";
$OpenToTheWorld = "Deschis- accesul este permis tuturor";
$OpenToThePlatform = "Deschis- accesul este permis tuturor utilizatorilor inscrisi pe platforma";
$CourseAccessConfigTip = "În mod implicit cursul este public. Dar dumneavoastra puteți defini nivelul de confidențialitate butoanele de mai sus.";
$OpenToTheWorld = "Public - acces autorizat la orice persoana";
$OpenToThePlatform = "Deschis - acces permis doar pentru utilizatorii înregistrați in platforma";
$OpenToThePlatform = "Deschis - accesul permis doar utilizatorilor inregistrati pe aceasta platforma";
$TipLang = "Aceasta este limba pe care vizitatorii o vor vedea.";
$Vid = "Video";
$Work = "Contributii";
$Work = "Munci";
$ProgramMenu = "Programul cursului";
$Stats = "Statistici";
$UplPage = "Incarcati pagina si atasati linkul la Pagina principala";
$LinkSite = "Adaugare link catre pagina in pagina principala \"home\"";
$UplPage = "Trimiteti o pagina si legati-o la cea principala";
$LinkSite = "Adauga un link web in pagina principală";
$HasDel = "a fost șters";
$ByDel = "Stergea acestei zone va distruge definitiv continutul ei (documente, linkuri, etc.), utilizatorii, cursurile legate de aceasta zona. <p> Doriti stergerea zonei?";
$ByDel = "Daca stergeti acest site web a acestui curs, veti sterge toate documentele care contine si toti membrii sai inceteaza sa fie inscrisa in ea. <p>Sunteti sigur ca doriți să eliminați acest curs?";
$Y = "Da";
$N = "Nu";
$DepartmentUrl = "URL departamentului";
@ -520,55 +562,55 @@ $Subscription = "Inscriere";
$CourseAccess = "Accesul la cursul";
$ConfirmBackup = "Doriti salvarea acestei zone de curs?";
$CreateSite = "Creați un curs";
$RestoreDescription = "Cursul se afla intr-un fisier arhiva care poate fi selectat mai jos.<br><br>Odata ce apesi butonul \"Restaureaza\", arhiva va fi decompresata si cursul recreat.";
$RestoreNotice = "Acest script nu permite inca restaurarea automata a utilizatorilor, dar datele salvate in \"users.csv\" sunt suficiente pentru administratorul de sistem in vederea restaurarii manuale.";
$RestoreDescription = ", fișierul se va decomprima și cursul va fi creat din nou.";
$RestoreNotice = " sunt suficiente pentru administrator.";
$AvailableArchives = "Lista de fișiere disponibile";
$NoArchive = "Nu ati selectat nici un fișier";
$ArchiveNotFound = "Nu a fost găsit niciun fisier";
$ArchiveUncompressed = "Acesta este decomprimat și fișierul este instalat.";
$CsvPutIntoDocTool = "Fisierul \"users.csv\" a fost pus in Documente.";
$CsvPutIntoDocTool = " a fost mutate în instrumentul documente.";
$BackH = "a reveni la pagina principala";
$OtherCategory = "Altă categorie";
$AllowedToUnsubscribe = "Utilizatorii se pot dezabona de la acest curs";
$NotAllowedToUnsubscribe = "Utilizatorii nu se pot dezabona de la acest curs";
$CourseVisibilityClosed = "Închis - nu ai acces la acest curs";
$CourseVisibilityClosed = "Inchis - fara acces la acest curs";
$CourseVisibilityClosed = "Inchis - fara acces la acest curs";
$CourseVisibilityModified = "Modificat";
$CourseVisibilityModified = "Modificat (setări mai detaliate specificate prin sistemul de roluri-permise ale sistemului)";
$WorkEmailAlert = "Avizati prin e-mail trimiterea unei sarcini";
$WorkEmailAlertActivate = "Activati avizarea prin e-mail de trimiterea unei sarcini";
$WorkEmailAlertDeactivate = "Dezactivati avizarea prin e-mail de trimiterea unei sarcini";
$DropboxEmailAlert = "Alerta prin e-mail la expedierea de mesaj";
$DropboxEmailAlertActivate = "Activeaza e-mail la primirea de mesaj";
$DropboxEmailAlertDeactivate = "dezactiveaza e-mail de avertizare la primirea de mesaj";
$AllowUserEditAgenda = "Permite utilizatorilor sa editeze agenda cursului";
$AllowUserEditAgendaActivate = "Activeaza editarea agendei cursului de catre utilizatori";
$AllowUserEditAgendaDeactivate = "Dezactiveaza editarea agendei cursului de catre utilizatori";
$AllowUserEditAnnouncement = "Permite utilizatorilor sa editeze anunturile cursului";
$AllowUserEditAnnouncementActivate = "Activeaza editarea de catre utilizatori";
$AllowUserEditAnnouncementDeactivate = "Dezactiveaza editarea de catre utilizatori";
$OrInTime = "sau in";
$DropboxEmailAlert = "Activați notificare prin email cand se primeste o trimitere in documente partajate";
$DropboxEmailAlertActivate = "Activați notificare prin email de primirea de noi trimiteri in documente partajate";
$DropboxEmailAlertDeactivate = "Dezactivați notificare prin email de primirea de noi trimiteri in documente partajate";
$AllowUserEditAgenda = "Permite utilizatorilor să editeze agenda cursului";
$AllowUserEditAgendaActivate = "Activați edițiea de utilizatori de pe agenda cursului";
$AllowUserEditAgendaDeactivate = "Dezactivați edițiea de utilizatori din agenda de curs";
$AllowUserEditAnnouncement = "Permite utilizatorilor să editeze anunțuri de curs";
$AllowUserEditAnnouncementActivate = "Permite editarea de utilizatori";
$AllowUserEditAnnouncementDeactivate = "Dezactivați ediția de utilizatori";
$OrInTime = "sau inauntru";
$CourseRegistrationPassword = "Parola de inregistrare in curs";
$DescriptionDeleteCourse = "Apasa pe aceasta legatura pentru a elimina orice urma a cursului pe server.<br><br>Aceasta optiune trebuie utilizata cu precautie maxima!";
$DescriptionCopyCourse = "Chamilo introduce posibilitatea de duplicare a intregului curs sau fragmente din acesta fata de alt curs, care pot fi inital goale.<br><br>Singura preconditie este de a avea un curs care sa contina cateva documente, reclame, forumuri... si un al 2-lea curs care nu contine elementele din primul !";
$DescriptionRecycleCourse = "Aceasta unealta goleste cursul de elementele selectate, sau de toate elementele pe care le contine. Elimina documentele, forumurile, legaturile... Aceasta procedura poate fi implementata la safarsitul anului universitar. Desigur, inaintea \"reciclarii\", va trebui sa aveti grija sa salvati intregul curs.";
$QuizEmailAlert = "Alerta prin e-mail la trimiterea unui nou quiz";
$QuizEmailAlertActivate = "Activeaza trimiterea e-mail cand utilizatorul trimite raspunsuri la un nou quiz";
$QuizEmailAlertDeactivate = "Dezactiveaza alerta prin e-mail cand se trimit raspunsuri noi la quiz-uri";
$AllowUserImageForum = "Imagine utilizator in forum";
$AllowUserImageForumActivate = "Afiseaza imaginile utilizatorilor in forum";
$AllowUserImageForumDeactivate = "Ascunde imaginile utilizatorilor in forum";
$AllowLearningPathTheme = "Activeaza tema de stil pentru calea de invatare";
$DescriptionDeleteCourse = "Apăsați acest link pentru a îndepărta orice urma ale cursului de pe serverul...<br><br>¡ Această funcție trebuie utilizata cu prudență extremă !";
$DescriptionCopyCourse = "Chamilo permite a copia, partial sau total, un curs în altul; pentru aceasta cursului de destinație trebuie să fie gol.<br><br /> Singura conditie este de a avea un curs care conține unele documente, reclame, forumuri... si un al doilea curs care nu conține elementele întâi. Vă recomandăm să utilizați instrumentul \"Empty acest curs\" nu pentru a aduce probleme viitoare cu conținutul său.";
$DescriptionRecycleCourse = "Acesta utilitate elimină parțial sau total conținutul diverselor instrumente ale unui curs. Șterge documente, forumuri, link-uri... Acesta utilitate poate rula la sfârșitul unui antrenament sau un an universitar. Desigur, înainte de \"reciclare\", aveti grijă să facă o copie de siguranță completă, desigur!";
$QuizEmailAlert = "Alertati prin e-mail atunci când un nou exercițiu este trimis";
$QuizEmailAlertActivate = "Activați notificare prin email de răspunsuri care au fost trimise la un exercițiu";
$QuizEmailAlertDeactivate = "Dezactivați notificare prin email de răspunsuri care au fost trimise la un exercițiu";
$AllowUserImageForum = "Imaginea utilizatoriilor in forumuri";
$AllowUserImageForumActivate = "Aratati fotografiile utilizatorilor in forumuri";
$AllowUserImageForumDeactivate = "Ascundeti fotografiile utilizatorilor in forumuri";
$AllowLearningPathTheme = "Permis stiluri in lecții";
$AllowLearningPathThemeAllow = "Permis";
$AllowLearningPathThemeDisallow = "Interzis";
$ConfigChat = "Setari chat";
$AllowOpenchatWindow = "Deschidere chat in fereastra noua";
$AllowOpenChatWindowActivate = "Activarea deschide chat in fereastra noua";
$AllowOpenChatWindowDeactivate = "Dezactivarea deschide chat in fereastra noua";
$NewUserEmailAlert = "Avizati prin e-mail autoinscrierea unui nou uzuar";
$NewUserEmailAlertEnable = "Activati avizul prin e-mail a profesorului de curs de la autoinscrierea a unui uzuariu nou";
$NewUserEmailAlertToTeacharAndTutor = "Activati avizul prin e-mail a profesorului si a tutorilor de curs de la autoinscrierea a unui uzuariu nou";
$NewUserEmailAlertDisable = "Dezactivati avizul prin e-mail de autoinscrierea unui nou uzuar in curs";
$PressAgain = "Apasa 'Memorare' din nou...";
$AllowLearningPathThemeDisallow = "Nepermis";
$ConfigChat = "Setări chat";
$AllowOpenchatWindow = "Deschideti chat-ul într-o fereastră nouă";
$AllowOpenChatWindowActivate = "Activați deschis chat-ul într-o fereastră nouă";
$AllowOpenChatWindowDeactivate = "Dezactivați deschis chat-ul într-o fereastră nouă";
$NewUserEmailAlert = "Activați notificare prin email de autoinscriere a unui nou utilizator.";
$NewUserEmailAlertEnable = "Activați notificare prin email la profesor de autoinscriere a unui nou utilizator.";
$NewUserEmailAlertToTeacharAndTutor = "Activați notificare prin email la profesor și tutorii de autoinscriere a unui nou utilizator.";
$NewUserEmailAlertDisable = "Dezactivați notificarea prin email de la autoinscrierea unui nou utilizator în curs.";
$PressAgain = "Apăsați din nou 'Salvați' ...";
$Rights = "Drepturile de utilizare";
$Version = "Versiune";
$StatusTip = "selectare din listă";
@ -577,7 +619,7 @@ $AuthorTip = "in format VCARD";
$Format = "Format";
$FormatTip = "selectare din listă";
$Statuses = "schita:schita,, final:final,, revizuit:revizuit,, indisponibil:indisponibil";
$Costs = ":nu:gratis,, da:contra cost";
$Costs = ":nu:gratis,, da:nu este gratis, trebuie platit";
$Copyrights = ":da:copyright,, nu:fara copyright";
$Formats = ":text/plain;iso-8859-2:text/plain;iso-8859-2,, text/plain;utf-8:text/plain;utf-8,, text/html;iso-8859-2:text/html;iso-8859-2,, text/html;utf-8:text/html;utf-8,, inode/directory:Folder,, application/msword:MsWord,, application/octet-stream:Octet stream,, application/pdf:PDF,, application/postscript:PostScript,, application/rtf:RTF,, application/vnd.ms-excel:MsExcel,, application/vnd.ms-powerpoint:MsPowerpoint,, application/xml;iso-8859-2:XML;iso-8859-2,, application/xml;utf-8:XML;utf-8,, application/zip:ZIP";
$LngResTypes = "exercise:exercitiu,, simulation:simulare,, questionnaire:chestionare,, diagram:diagrama,, figure:figura,, graph:grafic,, index:index,, slide:slide,, table:tabel,, narrative text:text narativ,, exam:examen,, experiment:experiment,, problem statement:problema,, self assessment:realizari personale,, lecture:lectura";
@ -599,9 +641,9 @@ $FullRecycle = "Reciclată complet";
$RecycleCourse = "Reciclați cursul";
$RecycleFinished = "Reciclarea este completă";
$RecycleWarning = "Avertisment: folosirea acestei unelte va determina stergere anumitor parti din cursul dumneavoastra.Nu se poate reface. Va sfatuim sa efectuati o <a href=\"create_backup.php\">copie de rezerva</a> inainte de a intrebuinta aceasta unealta de reciclare.";
$SameFilename = "Ce trebuie sa se faca cu fisierele importate care au acelasi nume cu fisierele existente?";
$SameFilename = "Ce se poate face cu fișierele importate care au același nume ca și altele existente?";
$SameFilenameSkip = "Treci peste fișierele cu același nume";
$SameFilenameRename = "Redenumirea fisierului (ex.: fisier.pdf devine fisier_1.pdf)";
$SameFilenameRename = "Redenumiți fișierul (expemplu fișieru.pdf devine fișier _1.pdf)";
$SameFilenameOverwrite = "Suprascrie fișierul";
$SelectDestinationCourse = "Selectați cursul de destinație";
$FullCopy = "Copie completă";
@ -613,17 +655,18 @@ $IncludeQuestionPool = "Includeți magazia de întrebări";
$LocalFile = "Fișier local";
$ServerFile = "Fisierul serverului";
$NoBackupsAvailable = "nu ai copie de rezerva disponibila";
$NoDestinationCoursesAvailable = "Nu mai sunt cursuri in care d-voastra sunteti administratorul. Nu puteti copia continutul la un alt curs.";
$NoDestinationCoursesAvailable = "Nu sunt disponibile un curs de destin";
$ImportBackupInfo = "Importa o copie de rezerva. Vei putea sa transferi copia de rezerva de pe calculatorul tau sau poti folosi o copie de rezerva de pe server.";
$CreateBackupInfo = "Creaza o copie de rezerva a acestui curs. Selecteaza componentele cursului pentru a le pune in copia de rezerva.";
$ToolIntro = "Texte introductive";
$UploadError = "Incarcare esuata, va rugam verificati dimensiunea maxima a fisierului si drepturile asupra directorului.";
$DocumentsWillBeAddedToo = "Se vor adauga si documente";
$ToExportLearnpathWithQuizYouHaveToSelectQuiz = "Daca doriti sa exportati o cale de invatare ce contine un test, trebuie sa va asigurati ca testele respective vor fi adaugate in export deci, va trebui sa le selectati din lista de teste.";
$ArchivesDirectoryNotWriteableContactAdmin = "Directorul cu arhivele utilizat de acest instrument este needitabil. Va rugam contactati administratorul platformei.";
$DestinationCourse = "Cursul destinatie";
$CasMainActivateComment = "Activarea indentificarii CAS permite uzuarilor a se indentifica cu acreditarea CAS";
$UsersRegisteredInAnyGroup = "Uzuar registrat in niciun curs";
$UploadError = "Eroare de trimitere, verificați dimensiunea maxima a fișierului si permisele directorului.";
$DocumentsWillBeAddedToo = "Documentele vor fi de asemenea adăugate";
$ToExportLearnpathWithQuizYouHaveToSelectQuiz = "Dacă doriti sa exportați o lecție care conține exerciții, trebuie să vă asigurați că aceste exerciții au fost incluse în export; pentru asta va trebui selectat în lista de exerciții.";
$ArchivesDirectoryNotWriteableContactAdmin = " folosit de acest instrument nu permite permisiuni de scriere. Contactați administratorul platformei.";
$DestinationCourse = "Curs de destin";
$ConvertToMultipleAnswer = "Conversia la raspuns multiplu";
$CasMainActivateComment = "Activand autentificarea CAS permite utilizatorilor să se autentifice cu acreditările lor CAS";
$UsersRegisteredInAnyGroup = "Utilizator inregistrat în niciun curs";
$Camera = "Camera";
$Microphone = "Microfon";
$DeleteStream = "Eliminati stream";
@ -641,36 +684,36 @@ $NewPoll = "Sondaj nou";
$CreateNewPoll = "Creeaza un nou sondaj pentru această sala";
$Question = "Intrebare";
$PollType = "Tipul de sondaj:";
$InfoConnectedUsersGetNotifiedOfThisPoll = "Edita informaţii: fiecare utilizator conectat in acest spatiu va fi un mesaj ca acest nou sondaj de opinie este disponibil.";
$InfoConnectedUsersGetNotifiedOfThisPoll = "Info: Fiecare utilizator conectat la această cameră va primi o notificare de acest nou sondaj.";
$YesNo = "Da / Nu";
$Numeric1To10 = "Numeric de la 1 la 10";
$Poll = "Sondaj";
$YouHaveToBecomeModeratorOfThisRoomToStartPolls = "Trebuie sa fiti moderator al acestui domeniu ca sa face sondaje.";
$YouHaveToBecomeModeratorOfThisRoomToStartPolls = "Dumneavoastra trebuie să fie un moderator de această cameră pentru a realiza sondaje.";
$YourVoteHasBeenSent = "Votul tău a fost trimis";
$YouAlreadyVotedForThisPoll = "Ati votat.";
$YouAlreadyVotedForThisPoll = "Deja au votat in acest sondaj";
$VoteButton = "Votati";
$YourAnswer = "Raspunsul sau";
$WantsToKnow = "vreau sa stiu:";
$PollResults = "Rezultatul sonsajului";
$ThereIsNoPoll = "Nu e nici un sondaj disponibil.";
$MeetingMode = "Sedinta (max. 4 locuri)";
$ConferenceMaxSeats = "Conferinta (max. 50 locuri)";
$ThereIsNoPoll = "Nu este disponibil nicun sondaj.";
$MeetingMode = "Mod reuniune (maxim 4 locuri)";
$ConferenceMaxSeats = "Conferință (maxim 50 locuri)";
$RemainingSeats = "Locuri rămase";
$AlreadyIn = "Deja conectat";
$CheckIn = "Check in";
$TheModeratorHasLeft = "Moderatorul acestei conferinte a parasit incaperea.";
$SystemMessage = "Mesajul sistemului";
$ChooseDevices = "Alege echipamente";
$ChooseCam = "Alege camera:";
$ChooseMic = "Alege microfon:";
$YouHaveToReconnectSoThatTheChangesTakeEffect = "Trebuie sa va logati din nou daca doriti sa faceti schimbari.";
$ChangeSettings = "Schimba setarile.";
$CourseLanguage = "Limba cursului";
$ConfirmClearWhiteboard = "Confirmati ca doriti sa stergeti tabla";
$ShouldWitheboardBeClearedBeforeNewImage = "Trebuie tabla sa fie golita inainte de adaugarea unui noi imagini?";
$DontAskMeAgain = "Nu mai pune aceasta intrebare";
$ShowConfirmationBeforeClearingWhiteboard = "Cere confirmare inainte de a fi totul sters";
$ClearDrawArea = "Goleste spatiul de desenat";
$CheckIn = "Verificați conexiunea";
$TheModeratorHasLeft = "Moderatorul acestei conferințe a părăsit sala.";
$SystemMessage = "Mesajul de sistem";
$ChooseDevices = "Selectați dispozitive";
$ChooseCam = "Selectați camera";
$ChooseMic = "Selectați Microfonul:";
$YouHaveToReconnectSoThatTheChangesTakeEffect = "Trebuie să va reconectați pentru ca modificările să aibă efect.";
$ChangeSettings = "Schimbati parametrii";
$CourseLanguage = "Limba cursului:";
$ConfirmClearWhiteboard = "Confirmați curatirea tablei";
$ShouldWitheboardBeClearedBeforeNewImage = "Doriți să ștergeți cu tabla înainte de a adăuga o nouă imagine ?";
$DontAskMeAgain = "Nu întreba din nou";
$ShowConfirmationBeforeClearingWhiteboard = "Cereti confirmare înainte de a șterge tabla";
$ClearDrawArea = "Sterge tabla";
$Undo = "Anula";
$Redo = "Refaceți";
$SelectAnObject = "Selectați un obiect";
@ -717,25 +760,25 @@ $EnableIframeInclusionComment = "Permite iframes ineditorul HTML a marii capacit
$AddedToLPCannotBeAccessed = "Acest exercițiu a fost inclus într-o secvență de învățare, care nu pot fi accesate direct de către elevi de aici. Dacă vreti sa puneti acelasi exercitiu disponibil prin intermediul instrumentului exerciții, făceti o copie facand click pe iconul pictograma.";
$EnableIframeInclusionTitle = "Permite iframes in editorul HTML";
$MailTemplateRegistrationMessage = "Stimatul((firstname)) ((lastname)),\n\nA fost registrat en ((sitename)) cu urmatoarea configuratie:\n\nNume de uzuariu : ((username))\nParola:((password))\n\nLa adresa de ((sitename)) este : ((url))\n\nDaca are vreo dificultate,contactati cu noi.\n\nSalutari:\n((admin_name)) ((admin_surname)).";
$Explanation = "Odata ce vei apasa OK,un site de internet cu Forum, Agenda, Document manager etc. va fi creat. Contul tau, in calitate de creator al siteului iti permite sa-l modifici dupa cerintele tale.";
$CodeTaken = "Codul acestui curs este deja folosit. <br />Foloseste butonul <b>Inapoi</b> al browserului si incearca din nou.";
$Explanation = "De indata ce ati apasat pe butonul \"Creaza cursul\" se va crea situl web a cursului, in care va dispune de mai multiple instrumente care pot configura pentru a da cursului un aspect definit: Test sau Exercitii, Proiecte sau Blogs, Wikis, Teme, Creator si vizualizator de Lectii in formatul SCORM, Sondaje si mai multe. Identificarea ca creatorul acestui site va face automat profesor al cursului, care va permite modificarea sa potrivit nevoilor dumneavoastră.";
$CodeTaken = "Acest cod a cursului este deja folosit de un alt curs. <br /> Folosiți butonul inapoi al browser-ului și începe din nou.";
$ExerciceEx = "Exercitiu de exemplu";
$Antique = "Ironia";
$SocraticIrony = "Ironia socratica este...";
$ManyAnswers = "(pot exista mai multe răspunsuri corecte)";
$Ridiculise = "Ridicularea interlocutorul pentru al face să isi recunoască greșeala.";
$NoPsychology = "Nu. Ironia socratica nu e o problema de psihologie, necesita argumente.";
$AdmitError = "Admite eroarea proprie de a invita interlocutorul sa procedeze la fel.";
$NoSeduction = "Nu. Ironia socratica nu este o strategie de seductie sau o metoda bazata pe exemple.";
$Force = "Determina interlocultorul, printr-o serie de intrebari si sub-intrebari sa admita ca nu stie ceea ce afirma ca stie.";
$Indeed = "Ironie socratica este metoda interogativa. Grecescul \"eirotao\" se traduce prin \"a pune intrebari\".";
$Contradiction = "Utilizeaza principiul non-contradictiei pentru a forta interlocutorul catre un sfarsit de drum.";
$NotFalse = "Acest raspuns nu este fals. Este adevarat ca dezvaluirea ignorantei interlocutorului inseamna a arata conditiile contradictorii determinate de premisele sale.";
$AddPageHome = "Trimite pe server pagina si link-ul catre Pagina Principala.";
$ModifyInfo = "Setarile cursului";
$NoPsychology = "Nu. Ironia socratică nu se aplică la domeniul psihologiei, dar se aplica in cel de argumentare.";
$AdmitError = "Recunoaște erori proprii pentru a invita interlocutorul sa faca acelasi lucru.";
$NoSeduction = "Nu există o strategie de seductie sau o metodă bazată pe exemplul.";
$Force = "A forța interlocutorul printr-o serie de întrebări și probleme să recunoască faptul că nu știe ce pretinde să știe.";
$Indeed = ".";
$Contradiction = "Folosind principiul de nu contradicție pentru a aduce interlocutorul intr-o fundatura.";
$NotFalse = "Corect. Desigur demonstrarea ignoranței a apelantului se face aratănd contradicțiile care duc la ipotezele lor.";
$AddPageHome = "Trimiteti o pagină și link către pagina de start";
$ModifyInfo = "Descrierea cursului";
$CourseDesc = "Descrierea cursului";
$AgendaTitle = "Marti 11 decembrie- Prima intalnire. Camera: LIN 18";
$AgendaText = "Introducere generala in managementul proiectelor";
$AgendaTitle = "Marți 11 decembrie 14:00 : Prima ședință - Locație: Sud 18";
$AgendaText = "Introducere generală a managementului de proiecte";
$Micro = "Interviuri in strada";
$Google = "Motor de cautare puternic";
$IntroductionTwo = "Această pagină permite orcarui utilizator sau grup a trimite documente.";
@ -746,34 +789,34 @@ $CatagoryMain = "Principal";
$CatagoryGroup = "Forumuri de grupuri";
$Ln = "Limba";
$FieldsRequ = "Toate campurile sunt obligatorii";
$Ex = "ex. <i>Management Inovativ</i>";
$Ex = "De exemplu: <i>Managementul Inovatiei</i>";
$Fac = "Categoria";
$TargetFac = "Acesta este departamentul sau orice alta categorie unde cursul este distribuit";
$TargetFac = "Acest câmp trebuie să conțină facultății, departamentului sau orice altă categorie care este parte a acestui curs";
$Doubt = "Dacă aveți dubii cu privire la codul sau titlul exact consultati in";
$Program = "Programul Cursului. In cazul in care cursul nu are cod, oricare ar fi motivul, inventati unul. De exemplu <i>INOVATIE</i> in cazul in care cursul este despre Managamentul Inovativ";
$Program = "Program de curs</a>. În cazul în care site-ul pe care doriți să il creați nu corespunde unui curs existent, puteți face unul. De exemplu <i>INOVATIE</i> în cazul în care este un program de instruire privind managementul inovației";
$Scormtool = "Lecții";
$Scormbuildertool = "Calea de constructie Scorm";
$Pathbuildertool = "Constructia caii de invatare";
$Scormbuildertool = "Constructor de lectii SCORM";
$Pathbuildertool = "Constructor de lectii";
$OnlineConference = "Conferința Online";
$AgendaCreationTitle = "Creare de curs";
$AgendaCreationContenu = "Cursul a fost creat in momentula cesta.";
$OnlineDescription = "Descrierea conferintei";
$AgendaCreationContenu = "Cursul a fost creat la această dată";
$OnlineDescription = "Descriere Conferintei on-line";
$Only = "Numai";
$RandomLanguage = "Amesteca selectia in limbile disponibile";
$RandomLanguage = "Selectați din limbile disponibile";
$ForumLanguage = "engleza";
$NewCourse = "Curs Nou";
$AddNewCourse = "Adauga noua arie de curs";
$OtherProperties = "Alte proprietati gasite in arhiva";
$AddNewCourse = "Creați un nou curs";
$OtherProperties = "Alte proprietăți ale fișierului";
$SysId = "ID Sistemului";
$ScoreShow = "Arată rezultatele";
$Visibility = "Visibilitate";
$VersionDb = "Versiunea bazei de date";
$Expire = "Data de expirare";
$ChoseFile = "Selectați fisierul";
$FtpFileTips = "Fiser pe un server FTP";
$HttpFileTips = "Fiser pe un server de net (HTTP)";
$LocalFileTips = "Fiser pe platforma serverului";
$PostFileTips = "Fisier pe calculatorul tau";
$FtpFileTips = "Daca fișierul este pe un alt calculator și este accesibil prin ftp";
$HttpFileTips = "Daca fișierul este pe un alt calculator și este accesibil prin http";
$LocalFileTips = "Dacă fișierul este stocat într-un curs de campus";
$PostFileTips = "Dacă fișierul este in computer";
$Minimum = "minim";
$Maximum = "maxim";
$RestoreACourse = "restabiliti un curs";
@ -786,7 +829,7 @@ $ExampleForumCategory = "Exemplu de Categorie de Forum";
$ExampleForum = "Exemplul forum";
$ExampleThread = "Exemplu de tema pentru dezbatere";
$ExampleThreadContent = "Exemplu de conținut";
$IntroductionWiki = "Cuvantul Wiki este prescurtarea de la WikiWikiWeb. Wikiwiki este un cuvant in hawaiana ce inseamna rapid sau viteza. Intr-un wiki, utilizatorii pot scrie paginile impreuna. Daca o persoana scrie ceva gresit, o alta persoana o poate corecta. Urmatoarea persoana poate adauga ceva nou. De aceea, pagina devine din ce in ce mai buna pe masura ce este modificata.";
$IntroductionWiki = "Cuvântul Wiki este o abreviere de WikiWikiWeb. Wikiwiki este un cuvânt care înseamnă in Hawaiian rapid. Într-un Wiki utilizatorii pot scrie pagini împreună. În cazul în care o persoană scrie ceva gresit, următoarele poate corecta acest lucru. Această din urmă poate adăuga, de asemenea, elemente noi la pagina. Asa pagina se îmbunătățește cu modificări succesive care sunt înregistrate în istorie.";
$CreateCourseArea = "Creați curs";
$CreateCourse = "Creați curs";
$TitleNotification = "De la ultima ta vizită";
@ -812,21 +855,21 @@ $MailTemplateRegistrationTitle = "Utilizator nou in ((sitename))";
$Unsubscribe = "Dezabonare";
$AlreadyRegisteredToCourse = "Deja este înregistrat în curs";
$ShowFeedback = "Arată comentariul";
$GiveFeedback = "Trimite / Editeaza Feedback";
$JustUploadInSelect = "---Doar Transfer---";
$GiveFeedback = "Adaugă / Modifică un comentariu";
$JustUploadInSelect = "---Transfer la mine---";
$MailingNothingFor = "Nimic pentru";
$MailingFileNotRegistered = "(nu esti inscris la acest curs)";
$MailingFileNotRegistered = "(nu înscriși în acest curs)";
$MailingFileSentTo = "trimis la";
$MailingFileIsFor = "este pentru";
$ClickKw = "Faceți clic pe arborele de cuvinte cheie pentru a selecta sau deselecta selectia sa.";
$KwHelp = "<br/> Apasa pe \"+\" pentru a deschide \"-\" pentru a inchide, \"++\" pentru a deschide toate \"--\" pentru inchidere toate.<br/> <br/> Anularea tuturor cuvintelor cheie selectate prin inchidere arborelui si deschiderea sa din nou cu butonul + .<br/> Apasa Alt si \"+\" pentru a cauta cuvinte cheie originare in arbore.<br/> <br/>Apasa Alt pentru a selecta cuv cheie fara termeni expandati sau deselectare cuvinte cheie cu termeni expandati.<br/> <br/> Daca schimbati limba de descriere, nu adaugati cuvinte cheie simultan.<br/><br/>";
$SearchCrit = "Un cuvant per linie !";
$KwHelp = "<br/>Faceți clic pe butonul '+' pentru a deschide in butonul '-' pentru a închide în butonul '++' pentru a deschide toate,in butonul '--' pentru a închide toate.<br/>Anulati selectia tuturor cuvintelor cheie închitand copacul și deschiderea acestuia din nou cu butonul '+'.<br/>Alt-clic '+' caută cuvintele cheie originale în copac.<br/><br/>Alt-clic selectati cuvintele cheie fără termeni mai largi sau deselecteaza cuvintele cheie cu termeni mai largi. <br/><br/>Pentru a schimba limba descrierii, nu o faceti în timp ce adăugati cuvinte cheie/><br/>";
$SearchCrit = "¡ Un cuvânt pe fiecare rând !";
$NoKeywords = "Acest curs nu are cuvinte cheie";
$KwCacheProblem = "Chache-ul cuvantului cheie nu poate fi deschis";
$CourseKwds = "Acest document contine cuvintele cheie ale cursului";
$KwCacheProblem = "Cuvântul cheie nu poate fi deschis";
$CourseKwds = "Acest document conține cuvinte cheie ale cursului";
$KwdsInMD = "cuvinte cheie folosite in MD";
$KwdRefs = "referintele cuvantului cheie";
$NonCourseKwds = "Cuvinte cheie non-curs";
$KwdRefs = "referințe cuvinte cheie";
$NonCourseKwds = "Cuvinte cheie care nu apartin cursului";
$KwdsUse = "Cuvintele cheie ale cursului (bold = nu sunt folosite)";
$TotalMDEs = "Numarul total al intrarilor de linkuri MD:";
$ForumDeleted = "Forum sters";
@ -5882,21 +5925,29 @@ $ChatFiles = "Istoria conversații în chat-ul";
$Flash = "Bliț";
$Video = "Video";
$Images = "Imagini";
$ShowDefaultFoldersTitle = "Arată în instrumente de documente folderele care conțin resurse multimedia furnizate în mod implicit.";
$ShowDefaultFoldersComment = "Folderele care contin fișiere multimedia furnizate în mod implicit contine archive gratuite în categoriile de video, audio, imagini și animații Flash pentru a utiliza în cursurile lor. În timp ce ascunde în instrumentul documente, puteți să vă păstrați folosind editorul web a platformei.";
$ShowChatFolderTitle = "Arată dosarul istoric de conversații de chat";
$ShowChatFolderComment = "Acest lucru va arăta profesorilor folderul care conține toate ședințele care au fost făcute în chat,avand optiunea sa le faca vizibile sau nu,a elevilor și să le utilizeze ca un recurs.";
$EnabledStudentExport2PDFTitle = "Permiteți elevilor să exporte documente web la documente format PDF,in instrumente documente si wiki";
$EnabledStudentExport2PDFComment = "Această funcție este activată în mod implicit, dar dacă abuzul de suprasarcină a serverul, sau de formare profesională specific medii, poate doriți dezactivarea în toate cursurile.";
$EnabledInsertHtmlTitle = "Permiteți introducerea Widgets";
$EnabledInsertHtmlComment = "Acest lucru vă va permite să încorporați pe site-urile lor video preferate și aplicații, cum ar fi Vimeo sau SlideShare și tot felul de widget-uri și gadget-uri";
$ShowDefaultFoldersTitle = "Arată în instrumentul documente folderele care conțin resurse multimedia furnizate în mod implicit.";
$ShowDefaultFoldersComment = "Fișiere multimedia furnizate în mod implicit contin fisiere de distribuire gratuită în categoriile de video, audio, imagini și animații flash pentru a utiliza în cursurile lor. Chiar daca sunt ascunse în instrumentul documente, puteți să folositi editorul web a platformei.";
$ShowChatFolderTitle = "Arată folderul istoric de conversații de chat.";
$ShowChatFolderComment = "Acest lucru va arăta profesorilor folderul care conține toate ședințele care au fost făcute în chat, putand a le face vizibile sau nu elevilor și să le utilizeze ca o resursă.";
$EnabledStudentExport2PDFTitle = "Permiteți elevilor să exporte documente web la documente format PDF in instrumentul documente si wiki";
$EnabledStudentExport2PDFComment = "Această prezentare este activată în mod implicit, dar în caz de suprasarcină a serverului, sau medii specifice de instruire, poate doriți sa o dezactivati în toate cursurile.";
$EnabledInsertHtmlTitle = "Permiteți introducerea de Widgets";
$EnabledInsertHtmlComment = "Acest lucru vă va permite să încorporați pe site-urile voastre video și aplicații preferate, cum ar fi vimeo sau slideshare și tot felul de widget-uri și gadget-uri";
$CreateAudio = "Creați audio";
$InsertText2Audio = "Introduceți textul pe care doriți să se convertească intr-un fișier audio";
$HelpText2Audio = "Transforma textul sau in voce";
$BuildMP3 = "Generarea mp3";
$Voice = "Voce";
$Female = "Femenin";
$Male = "Masculin";
$IncludeAsciiMathMlTitle = "Incărcare de fisier ASCIIMathML.js pentru toate paginile platformei";
$IncludeAsciiMathMlComment = ", dar și în alte instrumente ale platformei.";
$CourseHideToolsTitle = "Ascunde instrumentele profesorilor";
$CourseHideToolsComment = "Selectați instrumentele pe care doriți să le ascundeți profesorul. Aceasta va interzice accesul la instrument.";
$IncludeAsciiMathMlTitle = "Incarcati fisierul ASCIIMathML.js pentru toate paginile din plataforma";
$IncludeAsciiMathMlComment = "Activați aceast parametru dacă doriți să se afișeze formule matematice bazate pe ASCIIMathML si grafice matematice bazate in ASCIIsvg, nu numai în instrumentul \"Documente\", dar și în alte instrumente ale platformei.";
$CourseHideToolsTitle = "Ascunde instrumentele de profesori";
$CourseHideToolsComment = "Selectați instrumentele pe care doriți să le ascundeți de profesor. Aceasta va interzice accesul la instrument.";
$GoogleAudio = "Utilizati serviciile audio de Google";
$vozMe = "Utilizati serviciile audio de vozMe";
$HelpGoogleAudio = "Suportă până la 100 de caractere, sprijinind o mare varietate de limbi. Fișierele sunt generate și salvate automat in directorul Chamilo în care se afla în prezent.";
$HelpvozMe = "Suporta text cu mai multe mii de caractere, fiind capabil de a selecta diferite tipuri de voce: masculina și femenima.Cu toate acestea, lucrati cu mai puține limbi, calitatea audio este mai mică și va trebui să descărcați fișierele manual într-o fereastră nouă.";
$SaveMP3 = "Pastrati mp3";
$OpenInANewWindow = "Deschideti o fereastra noua";
$Speed = "Viteza";
@ -5904,8 +5955,10 @@ $GoFaster = "Mai rapid";
$Fast = "Rapid";
$Slow = "Lent";
$SlowDown = "Mai lent";
$Pediaphon = "Utilizati serviciile audio de Pediaphon";
$HelpPediaphon = "Suporta text cu mai multe mii de caractere, fiind capabil de a selecta diferite tipuri de voce masculina și voce femenima (depinde de limbă). Fișierele audio vor fi generate și salvate automat in directoriu Chamilo în care vă aflați.";
$FirstSelectALanguage = "Mai întâi selectați o limbă";
$MoveUserStats = "Mutati rezultatele de la utilizatori de / la o sesiune de formare";
$MoveUserStats = "Mutati rezultatele de la utilizatori de la/la o sesiune de formare";
$AddWaterMark = "Încărcați o imagine pentru marci de apa";
$ExerciseMinScoreTitle = "Scor minim de exerciții";
$ExerciseMaxScoreTitle = "Scor maxim de exerciții";

@ -7273,5 +7273,6 @@ $ForumThreadPeerScoringStudentComment = "Para obtener su resultado en este tema
$Readable = "Accesible en lectura";
$NotReadable = "No accesible en lectura";
$DefaultInstallAdminFirstname = "Juan";
$DefaultInstallAdminLastname = "Perez";
$DefaultInstallAdminLastname = "Pérez";
$AttendanceUpdated = "Asistencias actualizadas";
?>

@ -121,9 +121,11 @@
<div class="panel-body">
<div class="row">
<div class="col-md-9">
{% if showTutor %}
<div class="tutor">
<img src="{{ 'teacher.png' | icon(22) }}" width="16"> {{ 'GeneralCoach' | get_lang }} {{ session.coach_name }}
</div>
{% endif %}
<a id="list-course" class="btn btn-default" data-toggle="collapse" href="#session-{{ session.id }}-courses">
{{ 'CourseList' | get_lang }}
</a>

@ -0,0 +1,58 @@
<p class="lead">{{ "ChatWithXUser"|get_lang|format(chat_user.complete_name) }}</p>
<div class="row" id="chat-video-panel">
<div class="col-sm-3">
<div class="thumbnail">
<video id="chat-local-video" class="skip"></video>
</div>
</div>
<div class="col-sm-9">
<div class="thumbnail" id="chat-remote-video"></div>
</div>
</div>
<script>
(function() {
var VideoChat = {
init: function() {
var isCompatible = !!Modernizr.prefixed('RTCPeerConnection', window);
var notifyNotSupport = function() {
$.get('{{ _p.web_ajax }}chat.ajax.php', {
action: 'notify_not_support',
to: {{ chat_user.id }}
});
};
var startVideoChat = function() {
var webRTC = new SimpleWebRTC({
localVideoEl: 'chat-local-video',
remoteVideosEl: 'chat-remote-video',
autoRequestMedia: true
});
webRTC.on('readyToCall', function() {
webRTC.joinRoom('{{ room_name }}');
});
webRTC.on('videoAdded', function (video, peer) {
$(video).addClass('skip');
});
};
if (!isCompatible) {
notifyNotSupport();
$('#chat-video-panel').remove();
return;
}
$('#messages').remove();
startVideoChat();
}
};
$(document).on('ready', function() {
VideoChat.init();
});
})();
</script>

@ -0,0 +1,20 @@
{{ form }}
<script>
$('form[name="start_video_chat"]').on('submit', function(e) {
e.preventDefault();
var createChatRoom = $.post(
'{{ _p.web_ajax }}chat.ajax.php',
{
room_name: $(this).find('input[name="chat_room_name"]').val(),
to: $(this).find('input[name="to"]').val(),
action: 'create_room'
}
);
$.when(createChatRoom).done(function(response) {
$('#global-modal').find('.modal-body').html(response);
});
});
</script>

@ -26,7 +26,8 @@ if (api_is_platform_admin()) {
$interbreadcrumb[] = array('url' => 'session_list.php','name' => get_lang('SessionList'));
$interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$id_session,"name" => get_lang('SessionOverview'));
}
if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$allowTutors = api_get_setting('allow_tutors_to_assign_students_to_session');
if($allowTutors == 'true') {
// Database Table Definitions
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_course = Database::get_main_table(TABLE_MAIN_COURSE);

@ -18,7 +18,8 @@ SessionManager::protect_teacher_session_edit($id_session);
$tool_name = get_lang('SessionOverview');
if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$allowTutors = api_get_setting('allow_tutors_to_assign_students_to_session');
if($allowTutors == 'true') {
// Database Table Definitions
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_session_rel_class = Database::get_main_table(TABLE_MAIN_SESSION_CLASS);

@ -23,7 +23,8 @@ $idChecked = $_REQUEST['idChecked'];
$tool_name = get_lang('SessionList');
Display::display_header($tool_name);
if($_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$allowTutors = api_get_setting('allow_tutors_to_assign_students_to_session');
if($allowTutors == 'true') {
$error_message = ''; // Avoid conflict with the global variable $error_msg (array type) in add_course.conf.php.
if (isset($_GET['action']) && $_GET['action'] == 'show_message') {

@ -506,9 +506,8 @@ if (api_is_allowed_to_edit(null, true)) {
$actions .= ' <a class="btn btn-default" href="class.php?'.api_get_cidreq().'">'.get_lang('Classes').'</a>';
}
if (api_is_allowed_to_edit() &&
isset($_configuration['allow_tutors_to_assign_students_to_session']) &&
$_configuration['allow_tutors_to_assign_students_to_session'] == 'true') {
$allowTutors = api_get_setting('allow_tutors_to_assign_students_to_session');
if (api_is_allowed_to_edit() && $allowTutors == 'true') {
$actions .= ' <a class="btn btn-default" href="session_list.php?'.api_get_cidreq().'">'.get_lang('Sessions').'</a>';
}

@ -0,0 +1,162 @@
<?php
namespace Chamilo\CoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Chat
*
* @ORM\Table(
* name="chat_video", indexes={
* @ORM\Index(name="idx_chat_video_to_user", columns={"to_user"}),
* @ORM\Index(name="idx_chat_video_from_user", columns={"from_user"}),
* @ORM\Index(name="idx_chat_video_users", columns={"from_user", "to_user"}),
* @ORM\Index(name="idx_chat_video_room_name", columns={"room_name"})
* }
* )
* @ORM\Entity
*/
class ChatVideo
{
/**
* @var integer
*
* @ORM\Column(name="from_user", type="integer", nullable=true)
*/
private $fromUser;
/**
* @var integer
*
* @ORM\Column(name="to_user", type="integer", nullable=true)
*/
private $toUser;
/**
* @var string
*
* @ORM\Column(name="room_name", type="string", nullable=false)
*/
private $roomName;
/**
* @var \DateTime
*
* @ORM\Column(name="datetime", type="datetime", nullable=false)
*/
private $datetime;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* Set fromUser
*
* @param integer $fromUser
* @return Chat
*/
public function setFromUser($fromUser)
{
$this->fromUser = $fromUser;
return $this;
}
/**
* Get fromUser
*
* @return integer
*/
public function getFromUser()
{
return $this->fromUser;
}
/**
* Set toUser
*
* @param integer $toUser
* @return Chat
*/
public function setToUser($toUser)
{
$this->toUser = $toUser;
return $this;
}
/**
* Get toUser
*
* @return integer
*/
public function getToUser()
{
return $this->toUser;
}
/**
* Set room_name
*
* @param string $roomName
* @return Chat
*/
public function setRoomName($roomName)
{
$this->roomName = $roomName;
return $this;
}
/**
* Get room_name
*
* @return string
*/
public function getRoomName()
{
return $this->roomName;
}
/**
* Set datetime
*
* @param \DateTime $datetime
* @return Chat
*/
public function setDatetime($datetime)
{
$this->datetime = $datetime;
return $this;
}
/**
* Get datetime
*
* @return \DateTime
*/
public function getDatetime()
{
return $this->datetime;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}

@ -2,6 +2,8 @@
namespace Chamilo\CoreBundle\Migrations;
use Chamilo\CoreBundle\Entity\SettingsCurrent;
use Chamilo\CoreBundle\Entity\SettingsOptions;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\ORM\EntityManager;
@ -28,4 +30,69 @@ abstract class AbstractMigrationChamilo extends AbstractMigration
{
return $this->manager;
}
/**
* Speeds up SettingsCurrent creation
* @param string $variable The variable itself
* @param string $subKey The subkey
* @param string $type The type of setting (text, radio, select, etc)
* @param string $category The category (Platform, User, etc)
* @param string $selectedValue The default value
* @param string $title The setting title string name
* @param string $comment The setting comment string name
* @param string $scope The scope
* @param string $subKeyText Text if there is a subKey
* @param int $accessUrl What URL it is for
* @param bool $accessUrlChangeable Whether it can be changed on each url
* @param bool $accessUrlLocked Whether the setting for the current URL is locked to the current value
* @param array $options Optional array in case of a radio-type field, to insert options
*/
public function addSettingCurrent(
$variable,
$subKey = '',
$type,
$category,
$selectedValue,
$title,
$comment,
$scope = null,
$subKeyText = '',
$accessUrl = 1,
$accessUrlChangeable = false,
$accessUrlLocked = true,
$options = array()
) {
$setting = new SettingsCurrent();
$setting->setVariable($variable);
$setting->setSubkey($subKey);
$setting->setType($type);
$setting->setCategory($category);
$setting->setSelectedValue($selectedValue);
$setting->setTitle($title);
$setting->setComment($comment);
$setting->setScope($scope);
$setting->setSubkeytext($subKeyText);
$setting->setAccessUrl($accessUrl);
$setting->setAccessUrlChangeable($accessUrlChangeable);
$setting->setAccessUrlLocked($accessUrlLocked);
$this->getEntityManager()->persist($setting);
$this->getEntityManager()->flush();
if (count($options) > 0) {
foreach ($options as $option) {
$option = new SettingsOptions();
$option->setVariable($variable);
$option->setValue($option['value']);
if (empty($option['text'])) {
if ($option['value'] == 'true') {
$option['text'] = 'Yes';
} else {
$option['text'] = 'No';
}
}
$option->setDisplayText($option['text']);
$this->getEntityManager()->persis($option);
$this->getEntityManager()->flush();
}
}
}
}

@ -60,5 +60,12 @@ class Version20150504182600 extends AbstractMigrationChamilo
*/
public function down(Schema $schema)
{
$this->addSql("
UPDATE language SET parent_id = 0 WHERE english_name IN ('trad_chinese', 'brazilian', 'occitan', 'friulian', 'asturian', 'catalan', 'esperanto', 'galician', 'quechua_cusco')
");
$this->addSql("
UPDATE settings_current SET selected_value = '1.10.0.36' WHERE variable = 'chamilo_database_version'
");
}
}

@ -0,0 +1,73 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\CoreBundle\Migrations\Schema\V110;
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Types\Type;
/**
* Class Version20150505142900
*
* @package Chamilo\CoreBundle\Migrations\Schema\v1
*/
class Version20150505142900 extends AbstractMigrationChamilo
{
/**
* @param Schema $schema
*
* @throws \Doctrine\DBAL\Schema\SchemaException
*/
public function up(Schema $schema)
{
// Create table for video chat
$chatVideoTable = $schema->createTable('chat_video');
$chatVideoTable->addColumn(
'id',
Type::INTEGER,
['unsigned' => true, 'autoincrement' => true, 'notnull' => true]
);
$chatVideoTable->addColumn(
'from_user',
Type::INTEGER,
['unsigned' => true, 'notnull' => true]
);
$chatVideoTable->addColumn(
'to_user',
Type::INTEGER,
['unsigned' => true, 'notnull' => true]
);
$chatVideoTable->addColumn(
'room_name',
Type::STRING,
['length' => 255, 'notnull' => true]
);
$chatVideoTable->addColumn(
'datetime',
Type::DATETIME,
['notnull' => true]
);
$chatVideoTable->setPrimaryKey(['id']);
$chatVideoTable->addIndex(['from_user'], 'idx_chat_video_from_user');
$chatVideoTable->addIndex(['to_user'], 'idx_chat_video_to_user');
$chatVideoTable->addIndex(['from_user', 'to_user'], 'idx_chat_video_users');
$chatVideoTable->addIndex(['room_name'], 'idx_chat_video_room_name');
$this->addSql("
UPDATE settings_current SET selected_value = '1.10.0.38' WHERE variable = 'chamilo_database_version'
");
}
/**
* We don't allow downgrades yet
* @param Schema $schema
*/
public function down(Schema $schema)
{
$schema->dropTable('chat_video');
$this->addSql("
UPDATE settings_current SET selected_value = '1.10.0.37' WHERE variable = 'chamilo_database_version'
");
}
}

@ -0,0 +1,229 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\CoreBundle\Migrations\Schema\V110;
use Chamilo\CoreBundle\Entity\SettingsCurrent;
use Chamilo\CoreBundle\Migrations\AbstractMigrationChamilo;
use Doctrine\DBAL\Schema\Schema;
/**
* Class Version20150507152600
*
* @package Chamilo\CoreBundle\Migrations\Schema\v1
*/
class Version20150507152600 extends AbstractMigrationChamilo
{
/**
* @param Schema $schema
*
* @throws \Doctrine\DBAL\Schema\SchemaException
*/
public function up(Schema $schema)
{
// Move some settings from configuration.php to the database
// Current settings categories are:
// Platform, Course, Session, Languages, User, Tools, Editor, Security,
// Tuning, Gradebook, Timezones, Tracking, Search, stylesheets (lowercase),
// LDAP, CAS, Shibboleth, Facebook
// Setting $_configuration['hide_home_top_when_connected'] = true;
$value = api_get_configuration_value('hide_home_top_when_connected');
$this->addSettingCurrent(
'hide_home_top_when_connected',
'',
'radio',
'Platform',
($value?'true':'false'),
'HideHomeTopContentWhenLoggedInText',
'HideHomeTopContentWhenLoggedInComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Hide the global announcements for non-connected users
//$_configuration['hide_global_announcements_when_not_connected'] = true;
$value = api_get_configuration_value('hide_global_announcements_when_not_connected');
$this->addSettingCurrent(
'hide_global_announcements_when_not_connected',
'',
'radio',
'Platform',
($value?'true':'false'),
'HideGlobalAnnouncementsWhenNotLoggedInText',
'HideGlobalAnnouncementsWhenNotLoggedInComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Use this course as template for all new courses (define course real ID as value)
//$_configuration['course_creation_use_template'] = 14;
$value = api_get_configuration_value('course_creation_use_template');
$this->addSettingCurrent(
'course_creation_use_template',
'',
'textfield',
'Course',
($value?$value:''),
'CourseCreationUsesTemplateText',
'CourseCreationUsesTemplateComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Add password strength checker
//$_configuration['allow_strength_pass_checker'] = true;
$value = api_get_configuration_value('allow_strength_pass_checker');
$this->addSettingCurrent(
'allow_strength_pass_checker',
'',
'radio',
'Security',
($value?'true':'false'),
'EnablePasswordStrengthCheckerText',
'EnablePasswordStrengthCheckerComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Enable captcha
//$_configuration['allow_captcha'] = true;
$value = api_get_configuration_value('allow_captcha');
$this->addSettingCurrent(
'allow_captcha',
'',
'radio',
'Security',
($value?'true':'false'),
'EnableCaptchaText',
'EnableCaptchaComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Prevent account from logging in for a certain amount of time
// if captcha is wrong for the specified number of times
//$_configuration['captcha_number_mistakes_to_block_account'] = 5;
$value = api_get_configuration_value('captcha_number_mistakes_to_block_account');
$this->addSettingCurrent(
'captcha_number_mistakes_to_block_account',
'',
'textfield',
'Security',
($value?$value:5),
'CaptchaNumberOfMistakesBeforeBlockingAccountText',
'CaptchaNumberOfMistakesBeforeBlockingAccountComment',
null,
'',
null,
true,
null
);
// Prevent account from logging in for the specified number of minutes
//$_configuration['captcha_time_to_block'] = 5;//minutes
$value = api_get_configuration_value('captcha_time_to_block');
$this->addSettingCurrent(
'captcha_time_to_block',
'',
'textfield',
'Security',
($value?$value:5),
'CaptchaTimeAccountIsLockedText',
'CaptchaTimeAccountIsLockedComment',
null,
'',
null,
true,
null
);
// Allow DRH role to access all content and users from the sessions he follows
//$_configuration['drh_can_access_all_session_content'] = true;
$value = api_get_configuration_value('drh_can_access_all_session_content');
$this->addSettingCurrent(
'drh_can_access_all_session_content',
'',
'radio',
'Session',
($value?'true':'false'),
'DRHAccessToAllSessionContentText',
'DRHAccessToAllSessionContentComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Display group's forum in general forum tool
//$_configuration['display_groups_forum_in_general_tool'] = true;
$value = api_get_configuration_value('display_groups_forum_in_general_tool');
$this->addSettingCurrent(
'display_groups_forum_in_general_tool',
'',
'radio',
'Tools',
($value?'true':'false'),
'ShowGroupForaInGeneralToolText',
'ShowGroupForaInGeneralToolComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
// Allow course tutors in sessions to add existing students to their session
//$_configuration['allow_tutors_to_assign_students_to_session'] = 'false';
$value = api_get_configuration_value('allow_tutors_to_assign_students_to_session');
$this->addSettingCurrent(
'allow_tutors_to_assign_students_to_session',
'',
'radio',
'Session',
($value?'true':'false'),
'TutorsCanAssignStudentsToSessionsText',
'TutorsCanAssignStudentsToSessionsComment',
null,
'',
null,
true,
null,
[0 => ['value' => 'true', 'text' => 'Yes'], 1 => ['value' => 'false', 'text' => 'No']]
);
$this->addSql("
UPDATE settings_current SET selected_value = '1.10.0.39' WHERE variable = 'chamilo_database_version'
");
}
/**
* We don't allow downgrades yet
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql("
DELETE FROM settings_options WHERE variable IN ('hide_home_top_when_connected', 'hide_global_announcements_when_not_connected', 'course_creation_use_template', 'allow_strength_pass_checker', 'allow_captcha', 'captcha_number_mistakes_to_block_account', 'captcha_time_to_block', 'drh_can_access_all_session_content', 'display_groups_forum_in_general_tool', 'allow_tutors_to_assign_students_to_session')
");
$this->addSql("
DELETE FROM settings_current WHERE variable IN ('hide_home_top_when_connected', 'hide_global_announcements_when_not_connected', 'course_creation_use_template', 'allow_strength_pass_checker', 'allow_captcha', 'captcha_number_mistakes_to_block_account', 'captcha_time_to_block', 'drh_can_access_all_session_content', 'display_groups_forum_in_general_tool', 'allow_tutors_to_assign_students_to_session')
");
$this->addSql("
UPDATE settings_current SET selected_value = '1.10.0.38' WHERE variable = 'chamilo_database_version'
");
}
}
Loading…
Cancel
Save