<?php defined('SYSPATH') or die('No direct access allowed.'); /** * This class provides HOST Plugin Support * * @package Host * @category Plugins * @author Deon George * @copyright (c) 2009-2013 Open Source Billing * @license http://dev.osbill.net/license.html */ abstract class Host_Plugin implements Serializable { protected $hso; // Our Host Serve Object protected $_object; 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, ); // Required abstract classes abstract public function __get($key); abstract public function admin_update(); abstract public function manage_button(Model_Service_Plugin_Host $spho,$t); abstract public function admin_manage_button(Model_Host_Server $hso,$t); abstract protected function render_button($t,$sid,$u,$p); public function __construct(Model_Host_Server $hso) { $this->hso = $hso; } public function value($key,$value=NULL) { // If value is NULL, we are a getter if (is_null($value)) return isset($this->hso->provision_plugin_data[$key]) ? $this->hso->provision_plugin_data[$key] : NULL; else $this->hso->provision_plugin_data[$key] = $value; } } ?>