Index: branches/5.2.x/core/install/upgrades.php =================================================================== diff -u -r14092 -r14095 --- branches/5.2.x/core/install/upgrades.php (.../upgrades.php) (revision 14092) +++ branches/5.2.x/core/install/upgrades.php (.../upgrades.php) (revision 14095) @@ -1,6 +1,6 @@ Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ - $lang_count = $ml_helper->getLanguageCount(); - $this->Application->UnitConfigReader->iterateConfigs(Array (&$this, 'updateTextFields'), $lang_count); + $this->Application->UnitConfigReader->iterateConfigs(Array (&$this, 'updateTextFields'), $ml_helper->getLanguages()); } } @@ -75,10 +74,10 @@ * * @param string $prefix * @param Array $config_data - * @param int $language_count + * @param Array $languages * @return bool */ - function updateTextFields($prefix, &$config_data, $language_count) + function updateTextFields($prefix, &$config_data, $languages) { if (!isset($config_data['TableName']) || !isset($config_data['Fields'])) { // invalid config found or prefix not found @@ -96,8 +95,10 @@ foreach ($config_data['Fields'] as $field => $options) { if (isset($options['formatter']) && $options['formatter'] == 'kMultiLanguage' && !isset($options['master_field'])) { // update all l_ fields (new format) - for ($i = 1; $i <= $language_count; $i++) { - $ml_field = 'l'.$i.'_'.$field; + + foreach ($languages as $language_id) { + $ml_field = 'l'.$language_id.'_'.$field; + if ($table_structure[$ml_field]['Type'] == 'text') { $sqls[] = 'CHANGE '.$ml_field.' '.$ml_field.' TEXT NULL DEFAULT NULL'; } @@ -128,9 +129,9 @@ if ($mode == 'after') { // 1. get event ids based on their name and type combination $event_names = Array ( - 'USER.PSWD_'.EVENT_TYPE_ADMIN, - 'USER.PSWD_'.EVENT_TYPE_FRONTEND, - 'USER.PSWDC_'.EVENT_TYPE_FRONTEND, + 'USER.PSWD_' . EmailEvent::EVENT_TYPE_ADMIN, + 'USER.PSWD_' . EmailEvent::EVENT_TYPE_FRONTEND, + 'USER.PSWDC_' . EmailEvent::EVENT_TYPE_FRONTEND, ); $event_sql = Array (); @@ -616,17 +617,13 @@ $ml_helper =& $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ - $language_count = $ml_helper->getLanguageCount(); + $languages = $ml_helper->getLanguages(); $replace_sql = '%1$s = REPLACE(%1$s, "/kernel/user_files/", "/system/user_files/")'; $update_sqls = Array (); - for ($i = 1; $i <= $language_count; $i++) { - if (!$ml_helper->LanguageFound($i)) { - continue; - } - $field = 'l' . $i . '_Content'; - $update_sqls[] = sprintf($replace_sql, $field); + foreach ($languages as $language_id) { + $update_sqls[] = sprintf($replace_sql, 'l' . $language_id . '_Content'); } if ($update_sqls) { @@ -1170,7 +1167,7 @@ // partially delete events $sql = 'SELECT EventId FROM ' . TABLE_PREFIX . 'Events - WHERE (Event IN ("CATEGORY.APPROVE", "CATEGORY.DENY")) AND (Type = ' . EVENT_TYPE_ADMIN . ')'; + WHERE (Event IN ("CATEGORY.APPROVE", "CATEGORY.DENY")) AND (Type = ' . EmailEvent::EVENT_TYPE_ADMIN . ')'; $event_ids = $this->Conn->GetCol($sql); if ($event_ids) { @@ -1393,7 +1390,7 @@ } } - $updater =& $this->Application->recallObject('kPermCacheUpdater'); + $updater =& $this->Application->makeClass('kPermCacheUpdater'); /* @var $updater kPermCacheUpdater */ $updater->OneStepRun(); @@ -1442,16 +1439,14 @@ $ml_helper->createFields('phrases'); $ml_helper->createFields('emailevents'); + $languages = $ml_helper->getLanguages(); if ($this->Conn->TableFound(TABLE_PREFIX . 'EmailMessage')) { $email_message_helper =& $this->Application->recallObject('EmailMessageHelper'); /* @var $email_message_helper EmailMessageHelper */ - for ($language_id = 1; $language_id <= $ml_helper->languageCount; $language_id++) { - if (!$ml_helper->LanguageFound($language_id)) { - continue; - } + foreach ($languages as $language_id) { $sql = 'SELECT EmailMessageId, Template, EventId FROM ' . TABLE_PREFIX . 'EmailMessage WHERE LanguageId = ' . $language_id; @@ -1497,11 +1492,7 @@ $already_added = Array (); $primary_language_id = $this->Application->GetDefaultLanguageId(); - for ($language_id = 1; $language_id <= $ml_helper->languageCount; $language_id++) { - if (!$ml_helper->LanguageFound($language_id)) { - continue; - } - + foreach ($languages as $language_id) { $sql = 'SELECT Phrase, PhraseKey, Translation AS l' . $language_id . '_Translation, PhraseType, LastChanged, LastChangeIP, Module FROM ' . TABLE_PREFIX . 'Phrase WHERE LanguageId = ' . $language_id; @@ -1568,12 +1559,9 @@ /* @var $ml_helper kMultiLanguageHelper */ $ml_helper->createFields('country-state'); + $languages = $ml_helper->getLanguages(); - for ($language_id = 1; $language_id <= $ml_helper->languageCount; $language_id++) { - if (!$ml_helper->LanguageFound($language_id)) { - continue; - } - + foreach ($languages as $language_id) { $sub_select = ' SELECT l' . $language_id . '_Translation FROM ' . TABLE_PREFIX . 'Phrase WHERE Phrase = DestName'; @@ -1651,22 +1639,22 @@ continue; } - if ($event_data['Type'] == EVENT_TYPE_FRONTEND) { + if ($event_data['Type'] == EmailEvent::EVENT_TYPE_FRONTEND) { // from user $fields_hash = Array ( 'CustomSender' => 1, - 'SenderAddressType' => ADDRESS_TYPE_USER, + 'SenderAddressType' => EmailEvent::ADDRESS_TYPE_USER, 'SenderAddress' => $username ); } - if ($event_data['Type'] == EVENT_TYPE_ADMIN) { + if ($event_data['Type'] == EmailEvent::EVENT_TYPE_ADMIN) { // to user $records = Array ( Array ( - 'RecipientType' => RECIPIENT_TYPE_TO, + 'RecipientType' => EmailEvent::RECIPIENT_TYPE_TO, 'RecipientName' => '', - 'RecipientAddressType' => ADDRESS_TYPE_USER, + 'RecipientAddressType' => EmailEvent::ADDRESS_TYPE_USER, 'RecipientAddress' => $username ) );