function upgrade() { global $db; // copy each locationref entry to the sectionref $srs = $db->selectObjects('sectionref', "module = 'headlineController'"); foreach ($srs as $sr) { $sr->module = 'textController'; $db->updateObject($sr, 'sectionref'); } $lrs = $db->selectObjects('locationref', "module = 'headlineController'"); foreach ($lrs as $lr) { $lr->module = 'textController'; $db->updateObject($lr, 'locationref'); } $gps = $db->selectObjects('grouppermission', "module = 'headlineController'"); foreach ($gps as $gp) { $gp->module = 'textController'; $db->updateObject($gp, 'grouppermission'); } $ups = $db->selectObjects('userpermission', "module = 'headlineController'"); foreach ($ups as $up) { $up->module = 'textController'; $db->updateObject($up, 'userpermission'); } // convert each headline module to a text module $modules_converted = 0; $cns = $db->selectObjects('container', "internal LIKE '%headlineController%'"); foreach ($cns as $cn) { $cloc = expUnserialize($cn->internal); $cloc->mod = 'textController'; $cn->internal = serialize($cloc); $cn->view = 'showall'; $cn->action = 'showall'; $db->updateObject($cn, 'container'); $modules_converted += 1; } // create a text item for each headline item $headlines_converted = 0; $headlines = $db->selectObjects('headline', "1"); foreach ($headlines as $hl) { $text = new text(); $loc = expUnserialize($hl->location_data); $loc->mod = "text"; $text->location_data = serialize($loc); $text->title = $hl->title; $text->poster = $hl->poster; $text->save(); $text->created_at = $hl->created_at; $text->edited_at = $hl->edited_at; $text->update(); $headlines_converted += 1; } // FIXME - remove when final return "TEST - We're NOT removing the locationref table nor the files yet...<br>" . $modules_converted . " Headline modules were converted.<br>" . $headlines_converted . " Headlines were converted.<br>"; // delete headline table $db->dropTable('locationref'); // check if the headline controller files are there and remove them $files = array(BASE . "framework/modules/definitions/headline.php", BASE . "framework/modules/models/headline.php", BASE . "framework/modules/headline/"); // delete the files. $removed = 0; $errors = 0; foreach ($files as $file) { if (expUtil::isReallyWritable($file)) { unlink($file); $removed += 1; } else { $errors += 1; } } return $modules_converted . " Headline modules were converted.<br>" . $headlines_converted . " Headlines were converted.<br>" . $removed . " files were deleted.<br>" . $errors . " files could not be removed."; }