Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: