public function prepareExport($id = 0) { $config = JFactory::getConfig(); $tmp_path = $config->get('tmp_path'); $tmp_dir = uniqid('cck_'); $path = $tmp_path . '/' . $tmp_dir; $extension = JCckDatabase::loadObject('SELECT name, type, element, folder FROM #__extensions WHERE extension_id=' . (int) $id); if (!$extension) { return; } jimport('cck.base.install.export'); $name = $extension->element; $prefix = CCK_Export::getPrefix($extension->type); $src = JPATH_SITE . '/plugins/' . $extension->folder . '/' . $extension->element; $xml = JCckDev::fromXML($src . '/' . $name . '.xml'); $version = isset($xml->version) ? '_' . $xml->version : ''; $filename = $prefix . '_' . $extension->folder . '_' . $name . $version; $path_zip = $tmp_path . '/' . $filename . '.zip'; if (!$filename) { return; } if ($src && JFolder::exists($src)) { JFolder::copy($src, $path); CCK_Export::clean($path); } CCK_Export::exportLanguage($src . '/' . $name . '.xml', JPATH_ADMINISTRATOR, $path); CCK_Export::findFields(array($src . '/tmpl/edit.php', $src . '/tmpl/edit2.php'), $path . '/install'); return CCK_Export::zip($path, $path_zip); }