/**
  * Load the form according to the given action.
  * @param STORABLE $obj
  * @param string $load_action Can be {@link Form_load_action_default}, {@link Form_load_action_object} or {@link Form_load_action_clone}.
  * @access private
  */
 protected function _process_load_action($obj, $load_action)
 {
     if (strcmp($this->button, Form_default_button_title) == 0) {
         switch ($load_action) {
             case Form_load_action_default:
                 $this->button_icon = '{icons}indicators/created';
                 $this->button = 'Create';
                 break;
             case Form_load_action_object:
                 $this->button_icon = '{icons}buttons/save';
                 $this->button = 'Save';
                 break;
             case Form_load_action_clone:
                 $this->button = 'Create';
                 $this->button_icon = '{icons}buttons/clone';
                 break;
         }
     }
     if ($load_action == Form_load_action_clone) {
         $this->load_from_clone($obj);
     } else {
         parent::_process_load_action($obj, $load_action);
     }
 }
 /**
  * Initialize the form's fields with default values and visibilities.
  */
 public function load_with_defaults()
 {
     parent::load_with_defaults();
     $this->set_value('send_as_html', $this->context->mail_options->send_as_html);
     if (isset($this->login)) {
         if (!$this->login->is_anonymous()) {
             $this->set_value('sender_name', $this->login->real_name());
             $this->set_value('sender_email', $this->login->email);
         }
     }
 }
 /**
  * Load form fields from this object.
  * @param object $obj
  */
 public function load_from_object($obj)
 {
     parent::load_from_object($obj);
     if (isset($obj->id)) {
         $this->set_value('id', $obj->id);
     }
 }