Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as PHP by registered user orionzfire ( 14 years ago )
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | GHCP API Service |
// +----------------------------------------------------------------------+
// | Copyright (c) (since 2003) Ecommerce Corporation |
// +----------------------------------------------------------------------+
//
// $Id: Feature.php 1133 2012-03-26 08:29:45Z dpop $
//
class Feature
{
/**
* const Feature ids
*/
/* Hosting features */
const FEATUREID_HOSTING_SETUP = 1;
const FEATUREID_HOSTING_PRODUCT = 2;
const FEATUREID_HOSTING_COLDFUSION = 5;
/* Domain features */
const FEATUREID_DOMAIN_SETUP = 3;
const FEATUREID_DOMAIN_PRODUCT = 4;
const FEATUREID_DOMAIN_PRIVACY = 128;
/* Webdesign features */
const FEATUREID_DESIGN_SETUP = 6;
const FEATUREID_DESIGN_PRODUCT = 7;
/* VPS features */
const FEATUREID_VPS_SETUP = 44;
const FEATUREID_VPS_PRODUCT = 45;
const FEATUREID_VPS_IP = 47;
const FEATUREID_VPS_FANTASTICO = 49;
const FEATUREID_VPS_MANAGED_50 = 50;
const FEATUREID_VPS_MANAGED_200 = 51;
const FEATUREID_VPS_MANAGED = 52;
const FEATUREID_VPS_PLESK_POWERPACK = 126;
/* VDC GROUP features */
const GROUPID_VDC_DEFAULT = 1;
const GROUPID_VDC_STORAGE = 2;
const GROUPID_VDC_IP_RANGE = 3;
const GROUPID_VDC_SUPPORT = 4;
const GROUPID_VDC_OS = 5;
const GROUPID_VDC_CP = 6;
const GROUPID_VDC_DATABASE = 7;
const GROUPID_VDC_NOGROUP = 9;
/* VDC features */
const FEATUREID_VDC_SETUP = 100;
const FEATUREID_VDC_PRODUCT = 101;
const FEATUREID_VDC_CPU = 102;
const FEATUREID_VDC_MEMORY = 103;
const FEATUREID_VDC_BANDWIDTH = 104;
const FEATUREID_VDC_STORAGE1 = 105;
const FEATUREID_VDC_STORAGE2 = 106;
const FEATUREID_VDC_STORAGE3 = 107;
const FEATUREID_VDC_IPADDRESS = 108;
const FEATUREID_VDC_SILVERSUPPORT = 109;
const FEATUREID_VDC_GOLDSUPPORT = 110;
const FEATUREID_VDC_PLATINUMSUPPORT = 111;
/* const Feature param ids */
const PARAMID_HSPHERE_PLANID = 1;
const PARAMID_HSPHERE_COMPANYID = 2;
/* default feature count */
const DEFAULT_COUNT = 1;
/**
* Mapper from feature id to feature_group
* @var array $feature_mapper
*/
public static $feature_mapper = array
(
self::FEATUREID_HOSTING_SETUP => \FeatureType::GROUPID_SETUP,
self::FEATUREID_HOSTING_PRODUCT => \FeatureType::GROUPID_PRODUCT,
self::FEATUREID_HOSTING_COLDFUSION => \FeatureType::GROUPID_COLDFUSION,
self::FEATUREID_VPS_SETUP => \FeatureType::GROUPID_SETUP,
self::FEATUREID_VPS_PRODUCT => \FeatureType::GROUPID_PRODUCT,
self::FEATUREID_VPS_IP => \FeatureType::GROUPID_IP,
self::FEATUREID_VPS_FANTASTICO => \FeatureType::GROUPID_FANTASTICO,
self::FEATUREID_VPS_PLESK_POWERPACK => \FeatureType::GROUPID_POWERPACK,
self::FEATUREID_VPS_MANAGED => \FeatureType::GROUPID_SUPPORT,
self::FEATUREID_VPS_MANAGED_50 => \FeatureType::GROUPID_SUPPORT,
self::FEATUREID_VPS_MANAGED_200 => \FeatureType::GROUPID_SUPPORT
);
/**
* var that contains database connection object
*
* @var \Connection $db
*/
protected $db;
/**
* Billing construct
*
* @param \Connection $o_db
*/
public function __construct($o_db)
{
//-- initialize the db object
$this->db = $o_db;
}
/**
* Function SetDb explicitly sets the database connection to use.
*
* @param \Connection $o_db The database connection.
*/
public function setDb($o_db)
{
$this->db = $o_db;
}
/**
* Gets feature related params from needed tables.
* @param int $i_featureid feature id
* @param int $i_productid product id
* @return array the feature param data
*/
public function getParam($i_featureid, $i_productid)
{
$sql = 'SELECT fp.param_name,
pfp.param_value
FROM product_feature_param pfp
INNER JOIN feature_param fp USING (feature_paramid)
WHERE pfp.productid = ?
AND fp.featureid = ?';
//-- Feature data.
return $this->o_db->getAssoc($sql, array($i_productid, $i_featureid), array(\PDO::PARAM_INT, \PDO::PARAM_INT));
}
}
Revise this Paste