action()) { case 'getclient': case 'getservice': case 'provision': $sid = $this->request->param('id'); $hso = ORM::factory('service',$sid)->plugin()->host_server; require Kohana::find_file('vendor',$hso->provision_plugin); $this->hs = new $hso->provision_plugin($hso); break; } } /** * Get Client Details from Host Server */ public function action_getclient() { $sid = $this->request->param('id'); print_r((string)$this->hs->get_client(ORM::factory('service',$sid))); } /** * Get Client Details from Host Server */ public function action_getservice() { $sid = $this->request->param('id'); print_r((string)$this->hs->get_service(ORM::factory('service',$sid))); } /** * List services that need to be provisioned */ public function action_provisionlist() { $mode = $this->request->param('id'); $cats = array(); if ($mode) $cats = ORM::factory('product_category')->list_bylistgroup($mode); foreach (ORM::Factory('service')->list_provision()->find_all() as $so) { $pc = array(); // Limit to show only those by the requested category. if ($cats) { if (! $so->product->avail_category OR ! preg_match('/^a:/',$so->product->avail_category)) continue; $pc = unserialize($so->product->avail_category); if (! array_intersect($pc,array_keys($cats))) continue; } echo $so->id(); switch ($mode) { case 'host': printf(' %s %s %s',$so->plugin(),$so->plugin()->host_server->name,$so->service_name()); break; default: } echo "\n"; } } /** * Add a domain for the client * * @param int $id Hosting ID (in OSB) * @return unknown_type */ public function action_provision() { $sid = $this->request->param('id'); $so = ORM::factory('service',$sid); // Provision Account // @todo Need a test to see if an account alerady exists. /* $result = $this->hs->add_client($so); print_r((string)$result); // Next need to get the ID from the account call to set the IP $result = $this->hs->setip(35); // @todo change this number print_r((string)$result); // Provision Domain $result = $this->hs->add_service($so); print_r((string)$result); // Set Limits $result = $this->hs->setlimits($so); print_r((string)$result); // Next need to get the ID for the domain to disable mail $result = $this->hs->disablemail(43); print_r((string)$result); */ } } ?>