diff --git a/main/admin/user_add.php b/main/admin/user_add.php
index e3e23516ff..1c352d13f4 100644
--- a/main/admin/user_add.php
+++ b/main/admin/user_add.php
@@ -146,25 +146,6 @@ if (api_get_setting('profile.login_is_email') != 'true') {
$group = array();
$auth_sources = 0; //make available wider as we need it in case of form reset (see below)
$nb_ext_auth_source_added = 0;
-/*
-if (isset($extAuthSource) && count($extAuthSource) > 0) {
- $auth_sources = array();
- foreach ($extAuthSource as $key => $info) {
- // @todo : make uniform external authentification configuration (ex : cas and external_login ldap)
- // Special case for CAS. CAS is activated from Chamilo > Administration > Configuration > CAS
- // extAuthSource always on for CAS even if not activated
- // same action for file user_edit.php
- if (($key == CAS_AUTH_SOURCE && api_get_setting('cas_activate') === 'true') || ($key != CAS_AUTH_SOURCE)) {
- $auth_sources[$key] = $key;
- $nb_ext_auth_source_added++;
- }
- }
- if ($nb_ext_auth_source_added > 0) {
- $group[] = $form->createElement('radio', 'password_auto', null, get_lang('ExternalAuthentication').' ', 2);
- $group[] = $form->createElement('select', 'auth_source', null, $auth_sources);
- $group[] = $form->createElement('static', '', '', '
');
- }
-}*/
$group[] = $form->createElement('radio', 'password_auto', get_lang('Password'), get_lang('AutoGeneratePassword').'
', 1);
$group[] = $form->createElement('radio', 'password_auto', 'id="radio_user_password"', null, 0);
@@ -185,7 +166,12 @@ $form->addElement(
'status',
get_lang('Profile'),
$status,
- array('id' => 'status_select', 'class' => 'chzn-select', 'onchange' => 'javascript: display_drh_list();')
+ array(
+ 'id' => 'status_select',
+ 'class' => 'chzn-select',
+ 'onchange' => 'javascript: display_drh_list();',
+ 'multiple' => 'multiple'
+ )
);
//drh list (display only if student)
@@ -200,17 +186,6 @@ if (isset($drh_list) && is_array($drh_list)) {
}
}
$form->addElement('html', '');
-/*
-if (api_is_platform_admin()) {
- // Platform admin
- $group = array();
- $group[] = $form->createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('Yes'), 1);
- $group[] = $form->createElement('radio', 'platform_admin', 'id="id_platform_admin"', get_lang('No'), 0);
- //$display = ($_POST['status'] == STUDENT || !isset($_POST['status'])) ? 'none' : 'block';
- $form->addElement('html', '
');
- $form->addGroup($group, 'admin', get_lang('PlatformAdmin'), ' ');
- $form->addElement('html', '
');
-}*/
$form->addElement('select_language', 'language', get_lang('Language'), null);
@@ -224,10 +199,9 @@ $form->addElement('radio', 'radio_expiration_date', get_lang('ExpirationDate'),
$group = array ();
$group[] = $form->createElement('radio', 'radio_expiration_date', null, get_lang('On'), 1);
$group[] = $form->createElement(
- 'datepicker',
+ 'date_time_picker',
'expiration_date',
- null,
- array('form_name' => $form->getAttribute('name'), 'onchange' => 'javascript: enable_expiration_date();')
+ array('onchange' => 'javascript: enable_expiration_date();')
);
$form->addGroup($group, 'max_member_group', null, '', false);
// Active account or inactive account
@@ -252,12 +226,8 @@ $defaults['admin']['platform_admin'] = 0;
$defaults['mail']['send_mail'] = 1;
$defaults['password']['password_auto'] = 1;
$defaults['active'] = 1;
-$defaults['expiration_date'] = array();
$days = api_get_setting('profile.account_valid_duration');
$time = strtotime('+'.$days.' day');
-$defaults['expiration_date']['d'] = date('d', $time);
-$defaults['expiration_date']['F'] = date('m', $time);
-$defaults['expiration_date']['Y'] = date('Y', $time);
$defaults['radio_expiration_date'] = 0;
$defaults['status'] = STUDENT;
$defaults = array_merge($defaults, $extra_data);
diff --git a/main/admin/user_edit.php b/main/admin/user_edit.php
index 7036ebda54..86cdf78d0e 100644
--- a/main/admin/user_edit.php
+++ b/main/admin/user_edit.php
@@ -240,7 +240,7 @@ if (!$user_data['platform_admin']) {
$form->addElement('radio', 'radio_expiration_date', get_lang('ExpirationDate'), get_lang('NeverExpires'), 0);
$group = array ();
$group[] = $form->createElement('radio', 'radio_expiration_date', null, get_lang('On'), 1);
- $group[] = $form->createElement('datepicker', 'expiration_date', null, array('form_name' => $form->getAttribute('name'), 'onchange' => 'javascript: enable_expiration_date();'));
+ $group[] = $form->createElement('date_time_picker', 'expiration_date', array('onchange' => 'javascript: enable_expiration_date();'));
$form->addGroup($group, 'max_member_group', null, '', false);
// Active account or inactive account
@@ -271,20 +271,8 @@ $expiration_date = $user_data['expiration_date'];
if ($expiration_date == '0000-00-00 00:00:00') {
$user_data['radio_expiration_date'] = 0;
- $user_data['expiration_date'] = array();
- $user_data['expiration_date']['d'] = date('d');
- $user_data['expiration_date']['F'] = date('m');
- $user_data['expiration_date']['Y'] = date('Y');
} else {
$user_data['radio_expiration_date'] = 1;
-
- $user_data['expiration_date'] = array();
- $user_data['expiration_date']['d'] = substr($expiration_date, 8, 2);
- $user_data['expiration_date']['F'] = substr($expiration_date, 5, 2);
- $user_data['expiration_date']['Y'] = substr($expiration_date, 0, 4);
-
- $user_data['expiration_date']['H'] = substr($expiration_date, 11, 2);
- $user_data['expiration_date']['i'] = substr($expiration_date, 14, 2);
}
$user = Database::getManager()->getRepository('ChamiloUserBundle:User')->find($user_data['user_id']);
@@ -340,7 +328,7 @@ if ($form->validate()) {
$language = $user['language'];
if (isset($user['radio_expiration_date']) && $user['radio_expiration_date'] == '1') {
- $expiration_date = new \DateTime(Text::return_datetime_from_array($user['expiration_date']));
+ $expiration_date = new \DateTime($user['expiration_date']);
} else {
$expiration_date = null;
}
diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php
index 5a971f27e1..7662975b82 100644
--- a/main/inc/lib/api.lib.php
+++ b/main/inc/lib/api.lib.php
@@ -6399,7 +6399,7 @@ function api_get_user_language()
// Last chance we get the platform language
if (empty($user_language)) {
- $user_language = api_get_setting('platformLanguage');
+ $user_language = Container::getTranslator()->getLocale();
}
return $user_language;
}
diff --git a/main/inc/lib/internationalization.lib.php b/main/inc/lib/internationalization.lib.php
index 3797fbb0f5..9e075b887d 100644
--- a/main/inc/lib/internationalization.lib.php
+++ b/main/inc/lib/internationalization.lib.php
@@ -10,7 +10,7 @@
* @author More authors, mentioned in the correpsonding fragments of this source.
* @package chamilo.library
*/
-use \ChamiloSession as Session;
+use Patchwork\Utf8 as u;
use Chamilo\CoreBundle\Framework\Container;
use Symfony\Component\Intl\DateFormatter\IntlDateFormatter;
@@ -51,11 +51,19 @@ define('PERSON_NAME_DATA_EXPORT', PERSON_NAME_EASTERN_ORDER); // Contextual: for
function get_lang($variable)
{
$defaultDomain = 'all';
- $translated = Container::getTranslator()->trans($variable, array(), $defaultDomain);
+ $translated = Container::getTranslator()->trans(
+ $variable,
+ array(),
+ $defaultDomain
+ );
if ($translated == $variable) {
// Check the langVariable for BC
- $translated = Container::getTranslator()->trans("lang$variable", array(), $defaultDomain);
+ $translated = Container::getTranslator()->trans(
+ "lang$variable",
+ array(),
+ $defaultDomain
+ );
if ($translated == "lang$variable") {
return $variable;
}
@@ -65,7 +73,9 @@ function get_lang($variable)
/**
* Gets the current interface language.
- * @return string The current language of the interface.
+ * @deprecated use translator
+ * @return string The current language of the interface.
+ *
*/
function api_get_interface_language($purified = false, $check_sub_language = false)
{
@@ -948,9 +958,8 @@ function _api_mb_internal_encoding()
*/
function api_transliterate($string, $unknown = '?', $from_encoding = null)
-{ return $string;
+{
return URLify::transliterate($string);
- //return u::toAscii($string, $unknown);
}
/**
diff --git a/src/Chamilo/CoreBundle/Controller/Admin/AdminController.php b/src/Chamilo/CoreBundle/Controller/Admin/AdminController.php
index d0d9415441..a3316a45c2 100644
--- a/src/Chamilo/CoreBundle/Controller/Admin/AdminController.php
+++ b/src/Chamilo/CoreBundle/Controller/Admin/AdminController.php
@@ -75,7 +75,8 @@ class AdminController extends BaseController
$items[] = array('url' => $adminUrl.'ldap_users_list.php', 'label' => get_lang('ImportLDAPUsersIntoPlatform'));
}
$items[] = array('url' => $adminUrl.'extra_fields.php?type=user', 'label' => get_lang('ManageUserFields'));
- $items[] = array('url'=> api_get_path(WEB_PUBLIC_PATH).'admin/administrator/roles', 'label' => get_lang('Roles'));
+ /*$items[] = array('url'=> api_get_path(WEB_PUBLIC_PATH)
+ .'admin/administrator/roles', 'label' => get_lang('Roles'));*/
} else {
$items = array(
array('url' => $adminUrl.'user_list.php', 'label' => get_lang('UserList')),
@@ -100,7 +101,7 @@ class AdminController extends BaseController
$items = array();
$items[] = array('url' => $adminUrl.'course_list.php', 'label' => get_lang('CourseList'));
- if (api_get_setting('course_validation') != 'true') {
+ if (api_get_setting('course.course_validation') != 'true') {
$items[] = array('url' => $adminUrl.'course_add.php', 'label' => get_lang('AddCourse'));
} else {
$items[] = array('url' => $adminUrl.'course_request_review.php', 'label' => get_lang('ReviewCourseRequests'));
@@ -116,7 +117,8 @@ class AdminController extends BaseController
$items[] = array('url' => $adminUrl.'extra_fields.php?type=course', 'label' => get_lang('ManageCourseFields'));
$items[] = array('url' => $adminUrl.'extra_fields.php?type=question', 'label' => get_lang('ManageQuestionFields'));
- if (api_get_setting('gradebook_enable_grade_model') == 'true') {
+ if (api_get_setting('gradebook.gradebook_enable_grade_model') ==
+ 'true') {
$items[] = array('url' => $adminUrl.'grade_models.php', 'label' => get_lang('GradeModel'));
}
@@ -148,7 +150,7 @@ class AdminController extends BaseController
/* Event settings */
- if (api_get_setting('activate_email_template') == 'true') {
+ if (api_get_setting('mail.activate_email_template') == 'true') {
$items[] = array('url' => $adminUrl.'event_controller.php?action=listing', 'label' => get_lang('EventMessageManagement'));
}
@@ -158,10 +160,8 @@ class AdminController extends BaseController
}
}
- if (api_get_setting('allow_reservation') == 'true') {
- //$items[] = array('url' => $adminUrl.'../reservation/m_category.php', 'label' => get_lang('BookingSystem'));
- }
- if (api_get_setting('allow_terms_conditions') == 'true') {
+ if (api_get_setting('registration.allow_terms_conditions') ==
+ 'true') {
$items[] = array('url' => $adminUrl.'legal_add.php', 'label' => get_lang('TermsAndConditions'));
}
$blocks['platform']['items'] = $items;
@@ -176,7 +176,7 @@ class AdminController extends BaseController
$items = array();
$items[] = array('url'=> api_get_path(WEB_CODE_PATH).'session/session_list.php', 'label' => get_lang('ListSession'));
$items[] = array('url'=> api_get_path(WEB_CODE_PATH).'session/session_add.php', 'label' => get_lang('AddSession'));
- $items[] = array('url'=> 'session_category_list.php', 'label' => get_lang('ListSessionCategory'));
+ $items[] = array('url'=> $adminUrl.'session_category_list.php', 'label' => get_lang('ListSessionCategory'));
$items[] = array('url'=> api_get_path(WEB_CODE_PATH).'session/session_import.php', 'label' => get_lang('ImportSessionListXMLCSV'));
if (isset($extAuthSource) && isset($extAuthSource['ldap']) && count($extAuthSource['ldap']) > 0) {
$items[] = array('url' => $adminUrl.'ldap_import_students_to_session.php', 'label' => get_lang('ImportLDAPUsersIntoSession'));
@@ -221,7 +221,7 @@ class AdminController extends BaseController
$blocks['settings']['search_form'] = null;
//Skills
- if (api_get_setting('allow_skills_tool') == 'true') {
+ if (api_get_setting('skill.allow_skills_tool') == 'true') {
$blocks['skills']['icon'] = \Display::return_icon('logo.png', get_lang('Skills'), array(), ICON_SIZE_SMALL, false);
$blocks['skills']['label'] = get_lang('Skills');
diff --git a/src/Chamilo/CoreBundle/EventListener/LegacyListener.php b/src/Chamilo/CoreBundle/EventListener/LegacyListener.php
index 6f7c1925fc..72167c581a 100644
--- a/src/Chamilo/CoreBundle/EventListener/LegacyListener.php
+++ b/src/Chamilo/CoreBundle/EventListener/LegacyListener.php
@@ -125,7 +125,7 @@ class LegacyListener
}
$request->getSession()->set('url_id', $siteId);
-
+/*
// Loading portal settings from DB.
$settingsRefreshInfo = $em->getRepository('ChamiloCoreBundle:SettingsCurrent')->findOneByVariable('settings_latest_update');
$settingsLatestUpdate = !empty($settingsRefreshInfo) ? $settingsRefreshInfo->getSelectedValue() : null;
@@ -140,7 +140,7 @@ class LegacyListener
) {
api_set_settings_and_plugins();
}
- }
+ }*/
}
/**
diff --git a/src/Chamilo/CoreBundle/Framework/Container.php b/src/Chamilo/CoreBundle/Framework/Container.php
index f0e302e499..d61edd6024 100644
--- a/src/Chamilo/CoreBundle/Framework/Container.php
+++ b/src/Chamilo/CoreBundle/Framework/Container.php
@@ -4,7 +4,7 @@
namespace Chamilo\CoreBundle\Framework;
use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\HttpFoundation\Session\SessionInterface;
+use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\Security\Core\Role\RoleHierarchy;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
@@ -131,7 +131,7 @@ class Container
}
/**
- * @return SessionInterface;
+ * @return Session;
*/
public static function getSession()
{
@@ -232,4 +232,14 @@ class Container
{
return self::$container->get('event_dispatcher');
}
+
+ /**
+ * @param string $message
+ * @param string $type
+ */
+ public static function addMessage($message, $type)
+ {
+ $session = self::getSession();
+ $session->getFlashBag()->add($type, $message);
+ }
}
diff --git a/src/Chamilo/CoreBundle/Resources/views/Mailer/Default/default.text.twig b/src/Chamilo/CoreBundle/Resources/views/Mailer/Default/default.text.twig
new file mode 100644
index 0000000000..cddd07099f
--- /dev/null
+++ b/src/Chamilo/CoreBundle/Resources/views/Mailer/Default/default.text.twig
@@ -0,0 +1 @@
+{{ content }}