/**
  * Delete an object from the database
  * @see icms_ipf_Handler::delete()
  *
  * @param mod_profile_Regstep $obj
  * @param bool $force
  * @return bool
  */
 public function delete(&$obj, $force = false)
 {
     if (parent::delete($obj, $force)) {
         $field_handler = icms_getModuleHandler('field', basename(dirname(dirname(__FILE__))), 'profile');
         return $field_handler->updateAll('step_id', 0, new icms_db_criteria_Item('step_id', $obj->getVar('step_id')));
     }
     return false;
 }
 /**
  * delete a profile field from the database
  *
  * @param object $obj reference to the object to delete
  * @param bool $force
  * @return bool FALSE if failed.
  **/
 public function delete(&$obj, $force = false)
 {
     $profile_handler = icms_getmodulehandler('profile', basename(dirname(dirname(__FILE__))), 'profile');
     $sql = "ALTER TABLE " . $profile_handler->table . " DROP " . $obj->getVar('field_name', 'n');
     if ($this->db->query($sql)) {
         if (!parent::delete($obj, $force)) {
             return false;
         }
         if ($obj->getVar('field_show') || $obj->getVar('field_edit')) {
             $profile_module = icms::handler('icms_module')->getByDirname(basename(dirname(dirname(__FILE__))));
             if (is_object($profile_module)) {
                 // Remove group permissions
                 $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('gperm_modid', $profile_module->getVar('mid')));
                 $criteria->add(new icms_db_criteria_Item('gperm_itemid', $obj->getVar('fieldid')));
                 return icms::handler('icms_member_groupperm')->deleteAll($criteria);
             }
         }
     }
     return false;
 }