Internal - Debug installation, remove unused field, fix deprecations.

pull/3464/head
Julio Montoya 5 years ago
parent 0d65ce1e8b
commit 7bdca5f6ca
  1. 7
      public/main/extrafield/translate.php
  2. 5
      public/main/inc/lib/api.lib.php
  3. 2
      public/main/inc/lib/plugin.class.php
  4. 2
      public/main/inc/lib/sub_language.class.php
  5. 122
      public/main/install/data.sql
  6. 6
      public/main/install/index.php
  7. 16
      public/main/install/install.lib.php
  8. 36
      src/CoreBundle/Entity/Language.php
  9. 6
      src/CoreBundle/Migrations/AbstractMigrationChamilo.php
  10. 7
      src/CoreBundle/Migrations/Schema/V200/Version20.php

@ -59,7 +59,12 @@ if ($languageId) {
$languageInfo = api_get_language_info($languageId);
$form->addText(
'new_language',
[get_lang('Translation'), get_lang('If this term has already been translated, this operation will replace its translation for this sub-language.')]
[
get_lang('Translation'),
get_lang(
'If this term has already been translated, this operation will replace its translation for this sub-language.'
),
]
);
$form->addHidden('file_id', 0);
$form->addHidden('id', $languageInfo['parent_id']);

@ -4365,7 +4365,7 @@ function api_get_languages_to_array()
$result = Database::query($sql);
$languages = [];
while ($row = Database::fetch_array($result)) {
$languages[$row['dokeos_folder']] = $row['original_name'];
$languages[$row['english_name']] = $row['original_name'];
}
return $languages;
@ -4386,7 +4386,7 @@ function api_get_language_id($language)
}
$language = Database::escape_string($language);
$sql = "SELECT id FROM $tbl_language
WHERE dokeos_folder = '$language' LIMIT 1";
WHERE english_name = '$language' LIMIT 1";
$result = Database::query($sql);
$row = Database::fetch_array($result);
@ -4419,7 +4419,6 @@ function api_get_language_info($languageId)
'original_name' => $language->getOriginalName(),
'english_name' => $language->getEnglishName(),
'isocode' => $language->getIsocode(),
'dokeos_folder' => $language->getDokeosFolder(),
'available' => $language->getAvailable(),
'parent_id' => $language->getParent() ? $language->getParent()->getId() : null,
];

@ -435,7 +435,7 @@ class Plugin
}
} elseif ($languageParentId > 0) {
$languageParentInfo = api_get_language_info($languageParentId);
$languageParentFolder = $languageParentInfo['dokeos_folder'];
$languageParentFolder = $languageParentInfo['english_name'];
$parentPath = "{$root}{$plugin_name}/lang/{$languageParentFolder}.php";
if (is_readable($parentPath)) {

@ -32,7 +32,7 @@ class SubLanguageManager
$rs = Database::query($sql);
$all_languages = [];
while ($row = Database::fetch_array($rs, 'ASSOC')) {
$all_languages[$row['dokeos_folder']] = $row;
$all_languages[$row['english_name']] = $row;
}
return $all_languages;

@ -1,67 +1,67 @@
-- After the database schema is created, the database is filled
-- with default values.
INSERT INTO language (original_name, english_name, isocode, dokeos_folder, available) VALUES
('العربية','arabic','ar','arabic',0),
('Asturianu','asturian','ast','asturian',0),
('Euskara','basque','eu','basque',1),
('বাংলা','bengali','bn','bengali',0),
('Bosanski','bosnian','bs','bosnian',1),
('Português do Brasil','brazilian','pt-BR','brazilian',1),
('Български','bulgarian','bg','bulgarian',1),
('Català','catalan','ca','catalan',0),
('Hrvatski','croatian','hr','croatian',0),
('Česky','czech','cs','czech',0),
('Dansk','danish','da','danish',0),
('دری','dari','prs','dari',0),
('Nederlands','dutch','nl','dutch',1),
('English','english','en','english',1),
('Esperanto','esperanto','eo','esperanto',0),
('Føroyskt', 'faroese', 'fo', 'faroese', 0),
('Suomi','finnish','fi','finnish',0),
('Français','french','fr','french',1),
('Furlan','friulian','fur','friulian',0),
('Galego','galician','gl','galician',1),
('ქართული','georgian','ka','georgian',0),
('Deutsch','german','de','german',1),
('Ελληνικά','greek','el','greek',1),
('עברית','hebrew','he','hebrew',0),
('हिन्दी','hindi','hi','hindi',0),
('Magyar','hungarian','hu','hungarian',1),
('Bahasa Indonesia','indonesian','id','indonesian',1),
('Italiano','italian','it','italian',1),
('日本語','japanese','ja','japanese',0),
('한국어','korean','ko','korean',0),
('Latviešu','latvian','lv','latvian',1),
('Lietuvių','lithuanian','lt','lithuanian',0),
('Македонски','macedonian','mk','macedonian',0),
('Bahasa Melayu','malay','ms','malay',0),
('Norsk','norwegian','no','norwegian',0),
('Occitan','occitan','oc','occitan',0),
('پښتو','pashto','ps','pashto',0),
('فارسی','persian','fa','persian',0),
('Polski','polish','pl','polish',1),
('Português europeu','portuguese','pt','portuguese',1),
('Runasimi','quechua_cusco','qu','quechua_cusco',0),
('Română','romanian','ro','romanian',0),
('Русский','russian','ru','russian',0),
('Srpski','serbian','sr','serbian',0),
('中文(简体)','simpl_chinese','zh','simpl_chinese',0),
('Slovenčina','slovak','sk','slovak',1),
('Slovenščina','slovenian','sl','slovenian',1),
('الصومالية','somali','so','somali',0),
('Español','spanish','es','spanish',1),
('Kiswahili','swahili','sw','swahili',0),
('Svenska','swedish','sv','swedish',0),
('Tagalog', 'tagalog', 'tl', 'tagalog',1),
('ไทย','thai','th','thai',0),
('Tibetan', 'tibetan', 'bo', 'tibetan', 0),
('繁體中文','trad_chinese','zh-TW','trad_chinese',0),
('Türkçe','turkish','tr','turkish',0),
('Українська','ukrainian','uk','ukrainian',0),
('Tiếng Việt','vietnamese','vi','vietnamese',0),
('isiXhosa', 'xhosa', 'xh', 'xhosa', 0),
('Yorùbá','yoruba','yo','yoruba',0);
INSERT INTO language (original_name, english_name, isocode, available) VALUES
('العربية','arabic','ar',0),
('Asturianu','asturian','ast',0),
('Euskara','basque','eu',1),
('বাংলা','bengali','bn',0),
('Bosanski','bosnian','bs',1),
('Português do Brasil','brazilian','pt-BR',1),
('Български','bulgarian','bg',1),
('Català','catalan','ca',0),
('Hrvatski','croatian','hr',0),
('Česky','czech','cs',0),
('Dansk','danish','da',0),
('دری','dari','prs',0),
('Nederlands','dutch','nl',1),
('English','english','en',1),
('Esperanto','esperanto','eo',0),
('Føroyskt', 'faroese', 'fo', 0),
('Suomi','finnish','fi',0),
('Français','french','fr',1),
('Furlan','friulian','fur',0),
('Galego','galician','gl',1),
('ქართული','georgian','ka',0),
('Deutsch','german','de',1),
('Ελληνικά','greek','el',1),
('עברית','hebrew','he',0),
('हिन्दी','hindi','hi',0),
('Magyar','hungarian','hu',1),
('Bahasa Indonesia','indonesian','id',1),
('Italiano','italian','it',1),
('日本語','japanese','ja',0),
('한국어','korean','ko',0),
('Latviešu','latvian','lv',1),
('Lietuvių','lithuanian','lt',0),
('Македонски','macedonian','mk',0),
('Bahasa Melayu','malay','ms',0),
('Norsk','norwegian','no',0),
('Occitan','occitan','oc',0),
('پښتو','pashto','ps',0),
('فارسی','persian','fa',0),
('Polski','polish','pl',1),
('Português europeu','portuguese','pt',1),
('Runasimi','quechua_cusco','qu',0),
('Română','romanian','ro',0),
('Русский','russian','ru',0),
('Srpski','serbian','sr',0),
('中文(简体)','simpl_chinese','zh',0),
('Slovenčina','slovak','sk',1),
('Slovenščina','slovenian','sl',1),
('الصومالية','somali','so',0),
('Español','spanish','es',1),
('Kiswahili','swahili','sw',0),
('Svenska','swedish','sv',0),
('Tagalog', 'tagalog', 'tl', 1),
('ไทย','thai','th',0),
('Tibetan', 'tibetan', 'bo', 0),
('繁體中文','trad_chinese','zh-TW',0),
('Türkçe','turkish','tr',0),
('Українська','ukrainian','uk',0),
('Tiếng Việt','vietnamese','vi',0),
('isiXhosa', 'xhosa', 'xh', 0),
('Yorùbá','yoruba','yo',0);
-- Set parent language to Spanish for all close-by languages, same for Italian, French, Portuguese and Chinese
UPDATE language SET parent_id = 49 WHERE english_name = 'quechua_cusco';

@ -637,20 +637,20 @@ if (isset($_POST['step2'])) {
updateEnvFile($distFile, $envFile, $params);
(new Dotenv())->load($envFile);
error_log("Boot kernel");
error_log('Load kernel');
// Load Symfony Kernel
$kernel = new Kernel('dev', true);
$application = new Application($kernel);
// Create database
error_log("Create database");
error_log('Create database');
$input = new ArrayInput([]);
$command = $application->find('doctrine:schema:create');
$result = $command->run($input, new ConsoleOutput());
// No errors
if (0 == $result) {
error_log('Delete session');
error_log('Delete PHP Session');
session_unset();
$_SESSION = [];
session_destroy();

@ -2852,11 +2852,11 @@ function updateEnvFile($distFile, $envFile, $params)
}
/**
* @param SymfonyContainer $container
* @param EntityManager $manager
*/
function installGroups($container, $manager)
function installGroups($manager)
{
error_log('installGroups');
// Creating fos_group (groups and roles)
$groups = [
[
@ -2970,8 +2970,7 @@ function upgradeWithContainer($container)
Container::setLegacyServices($container, false);
error_log('setLegacyServices');
$manager = Database::getManager();
installGroups($container, $manager);
error_log('installGroups');
installGroups($manager);
// @todo check if adminId = 1
installTools($container, $manager, true);
installSchemas($container, $manager, true);
@ -3087,7 +3086,7 @@ function finishInstallationWithContainer(
$manager->persist($ticketPriority);
$i++;
}
error_log("Save ticket data");
error_log('Save ticket data');
$manager->flush();
$table = Database::get_main_table(TABLE_TICKET_STATUS);
@ -3112,14 +3111,14 @@ function finishInstallationWithContainer(
$i++;
}
installGroups($container, $manager);
installGroups($manager);
error_log('Inserting data.sql');
// Inserting default data
$data = file_get_contents($sysPath.'public/main/install/data.sql');
$result = $manager->getConnection()->prepare($data);
$result->execute();
$result->closeCursor();
$result->free();
UserManager::setPasswordEncryption($encryptPassForm);
@ -3221,7 +3220,7 @@ function finishInstallationWithContainer(
Database::update(
Database::get_main_table(TABLE_MAIN_LANGUAGE),
['available' => 1],
['dokeos_folder = ?' => $languageForm]
['english_name = ?' => $languageForm]
);
// Install settings
@ -3270,6 +3269,7 @@ function getVersionTable()
*/
function installProfileSettings($installationProfile = '')
{
error_log('installProfileSettings');
if (empty($installationProfile)) {
return false;
}

@ -12,8 +12,7 @@ use Doctrine\ORM\Mapping as ORM;
*
* @ORM\Table(
* name="language",
* options={"row_format":"DYNAMIC"},
* indexes={@ORM\Index(name="idx_language_dokeos_folder", columns={"dokeos_folder"})}
* options={"row_format":"DYNAMIC"}
* )
* @ORM\Entity(repositoryClass="Chamilo\CoreBundle\Repository\LanguageRepository")
*/
@ -49,13 +48,6 @@ class Language
*/
protected $isocode;
/**
* @var string
*
* @ORM\Column(name="dokeos_folder", type="string", length=250, nullable=true)
*/
protected $dokeosFolder;
/**
* @var bool
*
@ -64,7 +56,7 @@ class Language
protected $available;
/**
* @var \Chamilo\CoreBundle\Entity\Language
* @var Language
* @ORM\ManyToOne(targetEntity="Language", inversedBy="subLanguages")
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", nullable=true)
*/
@ -156,30 +148,6 @@ class Language
return $this->isocode;
}
/**
* Set dokeosFolder.
*
* @param string $dokeosFolder
*
* @return Language
*/
public function setDokeosFolder($dokeosFolder)
{
$this->dokeosFolder = $dokeosFolder;
return $this;
}
/**
* Get dokeosFolder.
*
* @return string
*/
public function getDokeosFolder()
{
return $this->dokeosFolder;
}
/**
* Set available.
*

@ -27,7 +27,7 @@ abstract class AbstractMigrationChamilo extends AbstractMigration
public function getEntityManager()
{
if (empty($this->manager)) {
$params = $this->connection->getParams();
//$params = $this->connection->getParams();
/*
$dbParams = [
'driver' => 'pdo_mysql',
@ -37,13 +37,13 @@ abstract class AbstractMigrationChamilo extends AbstractMigration
'dbname' => $this->connection->getDatabase(),
'port' => $this->connection->getPort(),
];*/
$database = new \Database();
/*$database = new \Database();
$database->connect(
$params,
__DIR__.'/../../',
__DIR__.'/../../'
);
$this->manager = $database->getManager();
$this->manager = $database->getManager();*/
}
return $this->manager;

@ -102,7 +102,8 @@ class Version20 extends AbstractMigrationChamilo
$connection = $this->getEntityManager()->getConnection();
$sql = 'SELECT * FROM course_category';
$result = $connection->executeQuery($sql);
$all = $result->fetchAll();
//$all = $result->fetchAll();
$all = $result->fetchAllAssociative();
$categories = array_column($all, 'parent_id', 'id');
$categoryCodeList = array_column($all, 'id', 'code');
@ -914,7 +915,7 @@ class Version20 extends AbstractMigrationChamilo
$result = $connection
->executeQuery("SELECT COUNT(1) FROM settings_current WHERE variable = 'exercise_invisible_in_session' AND category = 'Session'");
$count = $result->fetch()[0];
$count = $result->fetchNumeric()[0];
if (empty($count)) {
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('exercise_invisible_in_session',NULL,'radio','Session','false','ExerciseInvisibleInSessionTitle','ExerciseInvisibleInSessionComment','',NULL, 1)");
@ -923,7 +924,7 @@ class Version20 extends AbstractMigrationChamilo
}
$result = $connection->executeQuery("SELECT COUNT(1) FROM settings_current WHERE variable = 'configure_exercise_visibility_in_course' AND category = 'Session'");
$count = $result->fetch()[0];
$count = $result->fetchNumeric()[0];
if (empty($count)) {
$this->addSql("INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('configure_exercise_visibility_in_course',NULL,'radio','Session','false','ConfigureExerciseVisibilityInCourseTitle','ConfigureExerciseVisibilityInCourseComment','',NULL, 1)");

Loading…
Cancel
Save