56 lines
1.4 KiB
PHP
56 lines
1.4 KiB
PHP
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
/**
|
|
* This class will take care of Domain Registrars.
|
|
*
|
|
* @package Domain
|
|
* @category Service
|
|
* @author Deon George
|
|
* @copyright (c) 2009-2013 Open Source Billing
|
|
* @license http://dev.osbill.net/license.html
|
|
*/
|
|
abstract class Service_Domain {
|
|
protected $so;
|
|
protected $fetchresult = NULL;
|
|
// @todo These options should be centrally defined
|
|
protected $curlopts = array(
|
|
CURLOPT_CONNECTTIMEOUT => 60,
|
|
CURLOPT_FAILONERROR => TRUE,
|
|
CURLOPT_FOLLOWLOCATION => FALSE,
|
|
CURLOPT_HEADER => FALSE,
|
|
CURLOPT_HTTPPROXYTUNNEL => FALSE,
|
|
CURLOPT_RETURNTRANSFER => TRUE,
|
|
CURLOPT_TIMEOUT => 30,
|
|
CURLOPT_SSL_VERIFYHOST => FALSE,
|
|
CURLOPT_SSL_VERIFYPEER => FALSE,
|
|
CURLOPT_VERBOSE => FALSE,
|
|
);
|
|
|
|
/**
|
|
* Setup this class. We need to get our supplier details out of the database.
|
|
*/
|
|
public function __construct($sid) {
|
|
$this->so = ORM::factory('Domain_Registrar',$sid);
|
|
}
|
|
|
|
/**
|
|
* Our HTML button that will enable us to manage this domain.
|
|
*/
|
|
abstract public function manage_button(Model_Service_Plugin_Domain $spdo,$t);
|
|
|
|
/**
|
|
* Return an instance of this class
|
|
*
|
|
* @return HeadImage
|
|
*/
|
|
public static function instance($supplier) {
|
|
$sc = sprintf('%s_%s',get_called_class(),$supplier);
|
|
|
|
if (! class_exists($sc))
|
|
throw new Kohana_Exception('Class doesnt exist for :supplier',array(':supplier'=>$supplier));
|
|
else
|
|
return new $sc;
|
|
}
|
|
}
|
|
?>
|