function handle(&$params)
 {
     $app =& Dataface_Application::getInstance();
     if (!isset($_POST['--confirm_invalidate'])) {
         return PEAR::raiseError("Cannot invalidate translations with a GET request.  Please provide the POST parameter '--confirm_invalidate'");
     }
     $record =& $app->getRecord();
     if (!$record) {
         return PEAR::raiseError("Attempt to invalidate translations on null record.  No record could be found to match the query parameters.");
     }
     import('Dataface/TranslationTool.php');
     $tt = new Dataface_TranslationTool();
     $res = $tt->markNewCanonicalVersion($record, $app->_conf['default_language']);
     if (PEAR::isError($res)) {
         return $res;
     }
     $query =& $app->getQuery();
     if (isset($query['--redirect'])) {
         header('Location: ' . $query['--redirect'] . '&--msg=' . urlencode("Translations successfully invalidated."));
         exit;
     } else {
         header('Location: ' . $record->getURL('-action=edit') . '&--msg=' . urlencode('Translations successfully invalidated.'));
         exit;
     }
 }
 function test_newCanonicalVersion()
 {
     $record = df_get_record('Profiles', array('id' => 10));
     $tt = new Dataface_TranslationTool();
     $this->assertEquals('2.00', $tt->markNewCanonicalVersion($record, 'en'));
     $this->assertEquals('3.00', $tt->markNewCanonicalVersion($record, 'en'));
     $this->assertEquals('2.00', $tt->markNewCanonicalVersion($record, 'fr'));
 }