public function addTerm($term_name, $category = false) { if (is_numeric($term_name)) { $term = TermPeer::retrieveByPk($term_name); } else { $slug = sfPropelActAsSluggableBehaviorUtils::stripText(ForgeToolkit::normalizeTag($term_name), '_'); $term = TermPeer::retrieveBySlug($slug); } if (!$term) { $term = new Term(); $term->setTitle(ForgeToolkit::normalizeTag($term_name)); $term->setCategory(false); $term->save(); } try { $rel = new TermRelationship(); $rel->setTerm($term); $rel->setPlugin($this); $rel->save(); } catch (PropelException $e) { // avoid duplicates } }