commit
fea989db79
@ -0,0 +1,101 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
use \Chamilo\CoreBundle\Entity\ExtraField; |
||||
use Chamilo\CoreBundle\Entity\Skill; |
||||
use Chamilo\CoreBundle\Entity\Language; |
||||
|
||||
$cidReset = true; |
||||
|
||||
require_once __DIR__.'/../inc/global.inc.php'; |
||||
|
||||
api_protect_admin_script(); |
||||
|
||||
$em = Database::getManager(); |
||||
|
||||
$skill = null; |
||||
$extraFieldOption = null; |
||||
$variableLanguage = null; |
||||
$originalName = null; |
||||
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'name'; |
||||
|
||||
if (isset($_GET['skill'])) { |
||||
/** @var Skill $skill */ |
||||
$skill = $em->find('ChamiloCoreBundle:Skill', intval($_GET['skill'])); |
||||
|
||||
if ($action === 'name') { |
||||
$variableLanguage = '$Skill'.api_underscore_to_camel_case( |
||||
str_replace(' ', '_', $skill->getName(false)) |
||||
); |
||||
$originalName = $skill->getName(false); |
||||
} elseif ($action === 'code') { |
||||
$variableLanguage = '$SkillCode'.api_underscore_to_camel_case( |
||||
str_replace(' ', '_', $skill->getShortCode(false)) |
||||
); |
||||
$originalName = $skill->getShortCode(false); |
||||
} |
||||
} |
||||
|
||||
if (!$skill || empty($variableLanguage)) { |
||||
api_not_allowed(true); |
||||
} |
||||
|
||||
if (empty($originalName)) { |
||||
Display::addFlash( |
||||
Display::return_message(get_lang('CanNotTranslate'), 'error') |
||||
); |
||||
header('Location: '.api_get_path(WEB_CODE_PATH).'admin/skill_edit.php?id='.$skill->getId()); |
||||
exit; |
||||
} |
||||
|
||||
$languageId = isset($_GET['sub_language']) ? intval($_GET['sub_language']) : 0; |
||||
|
||||
$languages = $em |
||||
->getRepository('ChamiloCoreBundle:Language') |
||||
->findAllPlatformSubLanguages(); |
||||
|
||||
$languagesOptions = [0 => get_lang('None')]; |
||||
|
||||
/** @var Language $language */ |
||||
foreach ($languages as $language) { |
||||
$languagesOptions[$language->getId()] = $language->getOriginalName(); |
||||
} |
||||
|
||||
$translateUrl = api_get_path(WEB_CODE_PATH).'admin/sub_language_ajax.inc.php?skill='.$skill->getId(); |
||||
|
||||
$form = new FormValidator('new_lang_variable', 'POST', $translateUrl); |
||||
$form->addHeader(get_lang('AddWordForTheSubLanguage')); |
||||
$form->addText('variable_language', get_lang('LanguageVariable'), false); |
||||
$form->addText('original_name', get_lang('OriginalName'), false); |
||||
$form->addSelect('sub_language', [get_lang('SubLanguage'), get_lang('OnlyActiveSubLanguagesAreListed')], $languagesOptions); |
||||
|
||||
if ($languageId) { |
||||
$languageInfo = api_get_language_info($languageId); |
||||
|
||||
$form->addText('new_language', [get_lang('Translation'), get_lang('IfThisTranslationExistsThisWillReplaceTheTerm')]); |
||||
$form->addHidden('file_id', 0); |
||||
$form->addHidden('id', $languageInfo['parent_id']); |
||||
$form->addHidden('sub', $languageInfo['id']); |
||||
$form->addHidden('sub_language_id', $languageInfo['id']); |
||||
$form->addHidden('redirect', true); |
||||
$form->addButtonSave(get_lang('Save')); |
||||
} |
||||
|
||||
$form->setDefaults([ |
||||
'variable_language' => $variableLanguage, |
||||
'original_name' => $originalName, |
||||
'sub_language' => $languageId, |
||||
'new_language' => $action === 'code' ? $skill->getShortCode() : $skill->getName() |
||||
]); |
||||
$form->addRule('sub_language', get_lang('Required'), 'required'); |
||||
$form->freeze(['variable_language', 'original_name']); |
||||
|
||||
$interbreadcrumb[] = ['url' => 'index.php', 'name' => get_lang('PlatformAdmin')]; |
||||
$interbreadcrumb[] = ['url' => 'skill_list.php', 'name' => get_lang('ManageSkills')]; |
||||
|
||||
$view = new Template(get_lang('AddWordForTheSubLanguage')); |
||||
$view->assign('form', $form->returnForm()); |
||||
$template = $view->get_template('extrafield/translate.tpl'); |
||||
$content = $view->fetch($template); |
||||
$view->assign('content', $content); |
||||
$view->display_one_col_template(); |
||||
Loading…
Reference in new issue