protected function setSetting($type, $name, $value)
 {
     $object = Doctrine::getTable('MemberApplicationSetting')->createQuery()->where('type = ?', $type)->andWhere('member_application_id = ?', $this->getId())->andWhere('name = ?', $name)->fetchOne();
     if (!$object) {
         $object = new MemberApplicationSetting();
         $object->setMemberApplication($this);
         $object->setType($type);
         $object->setName($name);
     }
     $object->setValue($value);
     $object->save();
 }
 public function set($memberApplication, $type, $name, $value = null)
 {
     $setting = $this->createQuery()->where('member_application_id = ?', $memberApplication->getId())->andWhere('type = ?', $type)->andWhere('name = ?', $name)->fetchOne();
     if (!$setting) {
         $setting = new MemberApplicationSetting();
         $setting->setMemberApplication($memberApplication);
         $setting->setType($type);
         $setting->setName($name);
     }
     $setting->setValue($value);
     $setting->save();
     return $setting;
 }