<?php defined('SYSPATH') or die('No direct access allowed.'); /** * This class will take care of Domain Registrars. * * @package OSB * @subpackage Service * @category Helpers * @author Deon George * @copyright (c) 2010 Deon George * @license http://dev.leenooks.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($u,$p,$d); /** * 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; } } ?>