function setLetterTopics($letter_id, $topics_ids) { global $application; if (!is_array($topics_ids)) { $topics_ids = array($topics_ids); } $tables = $this->getTables(); $ntables = modApiFunc('Newsletter', 'getTables'); $ltable = 'newsletter_topics'; $lcolumns =& $ntables[$ltable]['columns']; $dquery = new DB_Delete($ltable); $dquery->WhereValue($lcolumns['letter_id'], DB_EQ, $letter_id); $application->db->getDB_Result($dquery); $iquery = new DB_Multiple_Insert($ltable); $iquery->setModifiers(DB_IGNORE); $iquery->setInsertFields(array('letter_id', 'topic_id')); foreach ($topics_ids as $topic_id) { $iquery->addInsertValuesArray(array('letter_id' => $letter_id, 'topic_id' => $topic_id)); } $application->db->getDB_Result($iquery); }