array('foreign_key'=>'id','far_key'=>'domain_tld_id'), 'domain_registrar'=>array('foreign_key'=>'id','far_key'=>'domain_registrar_id'), 'service_plugin_host'=>array('through'=>'service','far_key'=>'service_id','foreign_key'=>'service_id'), ); protected $_belongs_to = array( 'service'=>array(), ); protected $_display_filters = array( 'domain_expire'=>array( array('Config::date',array(':value')), ), 'domain_name'=>array( array('strtoupper',array(':value')), ), 'registrar_lastsync'=>array( array('Config::date',array(':value')), ), ); // Required abstract functions public function admin_update() { return ''; } public function expire() { return $this->domain_expire; } public function name() { return sprintf('%s.%s',$this->display('domain_name'),$this->domain_TLD->display('name')); } public function service_name() { return sprintf('%s - %s',_('Domain Name License'),$this->name()); } public function service_view() { return View::factory('service/user/plugin/domain/view') ->set('so',$this); } public function username_value() { return $this->registrar_username; } public function password_value() { return $this->registrar_password; } /** * This provides us with a manage button to jump to the registrar * to manage the domain. */ public function manage_button($t='') { if (! parent::manage_button($t)) return NULL; return ($this->username_value() AND $this->password_value()) ? $this->domain_registrar->manage_button($this,$t) : _('Please contact us'); } public function manage_dns_button() { return $this->service_plugin_host->manage_button('service_plugin_host'); } } ?>