コード例 #1
0
ファイル: Installer.php プロジェクト: projectesIF/Sirius
 /**
  * Migrate serialized data in users_temp.
  *
  * @return void
  */
 public function upgrade_migrateSerialisedUserTemp()
 {
     $array = DBUtil::selectObjectArray('users_temp');
     foreach ($array as $obj) {
         if (DataUtil::is_serialized($obj['dynamics'])) {
             $obj['dynamics'] = serialize(DataUtil::mb_unserialize($obj['dynamics']));
         }
         DBUtil::updateObject($obj, 'users_temp', '', 'tid');
     }
 }
コード例 #2
0
 public function upgrade_fixSerializedData()
 {
     // fix serialised data in categories
     $objArray = DBUtil::selectObjectArray('categories_category');
     DBUtil::truncateTable('categories_category');
     foreach ($objArray as $category) {
         $data = DataUtil::mb_unserialize($category['display_name']);
         $category['display_name'] = serialize($data);
         $data = DataUtil::mb_unserialize($category['display_desc']);
         $category['display_desc'] = serialize($data);
         DBUtil::insertObject($category, 'categories_category', 'id', true, true);
     }
     return;
 }
コード例 #3
0
ファイル: Installer.php プロジェクト: robbrandt/Content
 protected function contentUpgrade_3_1_0($oldVersion)
 {
     $tables = DBUtil::getTables();
     // Fix serialisations
     foreach (array('content' => 'id', 'history' => 'id', 'translatedcontent' => 'contentId') as $table => $idField) {
         $obj = DBUtil::selectObjectArray('content_' . $table);
         foreach ($obj as $contentItem) {
             $data = DataUtil::mb_unserialize($contentItem['data']);
             $contentItem['data'] = serialize($data);
             DBUtil::updateObject($contentItem, 'content_' . $table, '', $idField, true);
         }
     }
     // Add active and visiblefor columns in content_content and update tables for indexes etc.
     DBUtil::changeTable('content_page');
     DBUtil::changeTable('content_content');
     // Fix language codes
     // Loop through tables to update
     foreach (array('page' => 'id', 'translatedcontent' => 'contentId', 'translatedpage' => 'pageId') as $tbl => $idField) {
         $table = 'content_' . $tbl;
         $obj = DBUtil::selectObjectArray($table);
         // if there are records in this table
         if (count($obj)) {
             $newobj = array();
             // Set up object to insert
             /// Loop through all records in the table
             foreach ($obj as $contentItem) {
                 // translate l3 -> l2
                 $l2 = ZLanguage::translateLegacyCode($contentItem['language']);
                 if ($l2) {
                     $newobj[] = array($idField => $contentItem[$idField], 'language' => $l2);
                 }
             }
             // If anything was updated, insert the object(s)
             if (count($newobj)) {
                 DBUtil::updateObjectArray($newobj, $table, false, $idField);
             }
         }
         // endif count($obj)
     }
     return true;
 }