private function addCategory($language, $title, $url)
{
// db
$db = $this->getDB();
// get sequence for widget
$sequenceExtra = $db->getVar('SELECT MAX(i.sequence) + 1
FROM modules_extras AS i
WHERE i.module = ?', array('faq'));
// build array
$item['meta_id'] = $this->insertMeta($title, $title, $title, $url);
$item['extra_id'] = $this->insertExtra('Faq', ModuleExtraType::widget(), 'Faq', 'CategoryList', null, 'N', $sequenceExtra);
$item['language'] = (string) $language;
$item['title'] = (string) $title;
$item['sequence'] = 1;
// insert category
$item['id'] = (int) $db->insert('faq_categories', $item);
// build data for widget
$extra['data'] = serialize(array('id' => $item['id'], 'extra_label' => 'Category: ' . $item['title'], 'language' => $item['language'], 'edit_url' => '/private/' . $language . '/faq/edit_category?id=' . $item['id']));
// update widget
$db->update('modules_extras', $extra, 'id = ? AND module = ? AND type = ? AND action = ?', array($item['extra_id'], 'faq', ModuleExtraType::WIDGET, 'category_list'));
return $item['id'];
}