// get current user
$user = JFactory::getUser();
$uk_username = $user->username;
$uk_name = $user->name;
$uk_id = $user->id;
// get current datetime
$datetime = date('Y-m-d H:i:s');
// category is a databasejoin element and causes list to load duplicates because of the different languages
// we will insert the pk_id of joined table, so list will load the correct language value from the joined table only
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT gk_id FROM myTable_category WHERE pk_id = '{myTable___category}'";
$db->setQuery($query);
$myTable_category___gk_id___de = $db->loadResult();
// category is a databasejoin element and causes list to load duplicates because of the different languages
// we will insert the pk_id of joined table, so list will load the correct language value from the joined table only
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT pk_id FROM myTable_category WHERE gk_id = '".$myTable_category___gk_id___de."' AND language = 'en_GB'";
$db->setQuery($query);
$myTable_category___pk_id___en = $db->loadResult();
// category is a databasejoin element and causes list to load duplicates because of the different languages
// we will insert the pk_id of joined table, so list will load the correct language value from the joined table only
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT pk_id FROM myTable_category WHERE gk_id = '".$myTable_category___gk_id___de."' AND language = 'de_DE'";
$db->setQuery($query);
$myTable_category___pk_id___de = $db->loadResult();
// get row details
$pk_id = $formModel->getElementData('myTable___pk_id');
$sk_id = $formModel->getElementData('myTable___sk_id');
$gk_id = $formModel->getElementData('myTable___gk_id');
$label = $formModel->getElementData('myTable___label');
$description = $formModel->getElementData('myTable___description');
$video = $formModel->getElementData('myTable___video');
$language = $formModel->getElementData('myTable___language');
// element image value will loose escaping strings if pulled with $formModel->getElementData('myTable___image') only
// we will need to get the real escape string
$image = $formModel->getElementData('myTable___image');
$image = mysql_real_escape_string($image);
// insert duplicate depending on the language which already exists
if ($language == 'de_DE') {
// insert
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('uk_id', 'sk_id', 'gk_id', 'category', 'label', 'description', 'image', 'video', 'build_author', 'build_datetime', 'edit_author', 'edit_datetime', 'language', 'published');
$values = array();
// proper escaping/quotes should be done here
$values[] = "'".$uk_id."', '".$sk_id."', '".$gk_id."', '".$myTable_category___pk_id___en."', '".$label."', '".$description."', '".$image."', '".$video."', '".$uk_id."', '".$datetime."', '".$uk_id."', '".$datetime."', 'en_GB', '1'";
$query->insert($db->quoteName('myTable'));
$query->columns($columns);
$query->values($values);
$db->setQuery($query);
$db->query();
}
elseif ($language == 'en_GB') {
// insert
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('uk_id', 'sk_id', 'gk_id', 'category', 'label', 'description', 'image', 'video', 'build_author', 'build_datetime', 'edit_author', 'edit_datetime', 'language', 'published');
$values = array();
// proper escaping/quotes should be done here
$values[] = "'".$uk_id."', '".$sk_id."', '".$gk_id."', '".$myTable_category___pk_id___de."', '".$label."', '".$description."', '".$image."', '".$video."', '".$uk_id."', '".$datetime."', '".$uk_id."', '".$datetime."', 'de_DE', '1'";
$query->insert($db->quoteName('myTable'));
$query->columns($columns);
$query->values($values);
$db->setQuery($query);
$db->query();
}