From 7bdca5f6ca7dff4298770ae1f413eed3e7facd79 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Tue, 22 Sep 2020 08:35:13 +0200 Subject: [PATCH] Internal - Debug installation, remove unused field, fix deprecations. --- public/main/extrafield/translate.php | 7 +- public/main/inc/lib/api.lib.php | 5 +- public/main/inc/lib/plugin.class.php | 2 +- public/main/inc/lib/sub_language.class.php | 2 +- public/main/install/data.sql | 122 +++++++++--------- public/main/install/index.php | 6 +- public/main/install/install.lib.php | 16 +-- src/CoreBundle/Entity/Language.php | 36 +----- .../Migrations/AbstractMigrationChamilo.php | 6 +- .../Migrations/Schema/V200/Version20.php | 7 +- 10 files changed, 91 insertions(+), 118 deletions(-) diff --git a/public/main/extrafield/translate.php b/public/main/extrafield/translate.php index 2a5b460f5f..c1b222bee8 100644 --- a/public/main/extrafield/translate.php +++ b/public/main/extrafield/translate.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']); diff --git a/public/main/inc/lib/api.lib.php b/public/main/inc/lib/api.lib.php index 7bed824c1f..7960362300 100644 --- a/public/main/inc/lib/api.lib.php +++ b/public/main/inc/lib/api.lib.php @@ -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, ]; diff --git a/public/main/inc/lib/plugin.class.php b/public/main/inc/lib/plugin.class.php index c12d8f0829..1df47da181 100644 --- a/public/main/inc/lib/plugin.class.php +++ b/public/main/inc/lib/plugin.class.php @@ -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)) { diff --git a/public/main/inc/lib/sub_language.class.php b/public/main/inc/lib/sub_language.class.php index f63b2b0c19..cd21ea0d5e 100644 --- a/public/main/inc/lib/sub_language.class.php +++ b/public/main/inc/lib/sub_language.class.php @@ -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; diff --git a/public/main/install/data.sql b/public/main/install/data.sql index 9b11a48896..2e7998e0e9 100644 --- a/public/main/install/data.sql +++ b/public/main/install/data.sql @@ -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'; diff --git a/public/main/install/index.php b/public/main/install/index.php index e0eda3ac0e..71bfb64f48 100644 --- a/public/main/install/index.php +++ b/public/main/install/index.php @@ -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(); diff --git a/public/main/install/install.lib.php b/public/main/install/install.lib.php index 7f1b4f890b..6d5860aa05 100644 --- a/public/main/install/install.lib.php +++ b/public/main/install/install.lib.php @@ -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; } diff --git a/src/CoreBundle/Entity/Language.php b/src/CoreBundle/Entity/Language.php index 1c67bb43a7..37db116069 100644 --- a/src/CoreBundle/Entity/Language.php +++ b/src/CoreBundle/Entity/Language.php @@ -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. * diff --git a/src/CoreBundle/Migrations/AbstractMigrationChamilo.php b/src/CoreBundle/Migrations/AbstractMigrationChamilo.php index 0a92f98d28..dda38255c4 100644 --- a/src/CoreBundle/Migrations/AbstractMigrationChamilo.php +++ b/src/CoreBundle/Migrations/AbstractMigrationChamilo.php @@ -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; diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20.php b/src/CoreBundle/Migrations/Schema/V200/Version20.php index a0f714b156..dc05c1aaf7 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20.php @@ -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)");