function __isset($name)
 {
     if (strncmp($name, 'param_', 6) == 0) {
         $paramname = substr($name, 6);
         $params = unserialize($this->params);
         return isset($params[$paramname]);
     } else {
         return parent::__isset($name);
     }
 }
 /**
  * Magic set method to check if a custom field is set.  See __get.
  */
 public function __isset($name)
 {
     $prefix_len = strlen(self::CUSTOM_FIELD_PREFIX);
     if (strncmp($name, self::CUSTOM_FIELD_PREFIX, $prefix_len) == 0) {
         $this->_load_fields();
         $shortname = substr($name, $prefix_len);
         if (isset(self::$_fields[$this->get_field_context_level()][$shortname])) {
             // we have a custom field of the same name
             if (isset($this->_field_data[$shortname])) {
                 // we have data
                 return true;
             } else {
                 if (!$this->_fields_loaded && empty($this->_field_changed[$shortname])) {
                     // custom fields haven't been loaded yet (and the field
                     // hasn't been unset)
                     $this->_load_field_data();
                     return isset($this->_field_data[$shortname]);
                 }
             }
             return false;
         }
     }
     return parent::__isset($name);
 }