Beispiel #1
0
 public function mergeFrom(Doctrine_Record $r)
 {
     $object = $this->getInvoker();
     if (!$r->exists() || !$object->exists()) {
         return false;
     }
     foreach ($r->getObjectTagsQuery()->execute() as $objectTag) {
         $q = LsQuery::getByModelAndFieldsQuery('ObjectTag', array('object_model' => get_class($object), 'object_id' => $object->id, 'tag_id' => $objectTag->tag_id));
         if (!$q->count()) {
             $objectTag->object_model = get_class($object);
             $objectTag->object_id = $object->id;
             $objectTag->save();
         } else {
             $objectTag->delete();
         }
     }
     return true;
 }