public function revert($pk, $type) { $db = $this->getDbo(); $table = $this->getTable(); if (!$pk || !$type) { return false; } $table->load($pk); if (JCck::getConfig_Param('version_revert', 1) == 1) { Helper_Version::createVersion($type, $table->e_id, JText::sprintf('COM_CCK_VERSION_AUTO_BEFORE_REVERT', $table->e_version)); } $row = JTable::getInstance($type, 'CCK_Table'); $row->load($table->e_id); $core = JCckDev::fromJSON($table->e_core); if (isset($row->asset_id) && $row->asset_id && isset($core['rules'])) { JCckDatabase::execute('UPDATE #__assets SET rules = "' . $db->escape($core['rules']) . '" WHERE id = ' . (int) $row->asset_id); } // More if ($type == 'search') { $clients = array(1 => 'search', 2 => 'filter', 3 => 'list', 4 => 'item', 5 => 'order'); } else { $clients = array(1 => 'admin', 2 => 'site', 3 => 'intro', 4 => 'content'); } foreach ($clients as $i => $client) { $name = 'e_more' . $i; $this->_revert_more($type, $client, $table->e_id, $table->{$name}); } // Override if ($row->version && $row->version != $table->e_version) { $core['version'] = ++$row->version; } $core['checked_out'] = 0; $core['checked_out_time'] = '0000-00-00 00:00:00'; $row->bind($core); $row->check(); $row->store(); return true; }
public function version($pks) { foreach ($pks as $pk) { Helper_Version::createVersion('search', $pk, '', true); } return true; }