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 }}