/** * Set Fee for current company service settings */ public function setFee($tier_id_array) { $this->Fee = ClientServiceSettings::getSumFeeByValues( $tier_id_array, $this->Additional_Users, $this->Additional_Projects, $this->Additional_Storage ); }
/** * Add client service settings for new clients * @param $clientID * @param bool $trial * @return ClientServiceSettings */ public static function addClientServiceSettings($clientID, $trial = true) { $clientID = intval($clientID); $settings = self::model()->findByAttributes(array( 'Client_ID' => $clientID, )); if (!$settings) { $settings = new ClientServiceSettings(); $settings->Client_ID = $clientID; $settings->Service_Level_ID = ServiceLevelSettings::DEFAULT_SERVICE_LEVEL; $settings->Additional_Users = ServiceLevelSettings::DEFAULT_ADD_USERS; $settings->Active_To = date('Y-m-d'); //$settings->Active_To = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 5, date('Y'))); //current days + 5 days /*$settings->Fee = ClientServiceSettings::getFeeByValues( ServiceLevelSettings::DEFAULT_SERVICE_LEVEL, ServiceLevelSettings::DEFAULT_ADD_USERS, ServiceLevelSettings::DEFAULT_ADD_PROJECTS, ServiceLevelSettings::DEFAULT_ADD_STORAGE );*/ $settings->Fee = ClientServiceSettings::getSumFeeByValues( explode(',',$settings->Service_Level_ID), // tier levels array $settings->Additional_Users, $settings->Additional_Projects, $settings->Additional_Storage ); $settings->save(); } if ($trial && $settings->Active_To <= date('Y-m-d')) { $addDays = $settings->service_level->Trial_Period; $dateOb = date_create(date('Y-m-d')); date_add($dateOb, date_interval_create_from_date_string($addDays . ' days')); $activeTo = date_format($dateOb, 'Y-m-d'); $settings->Active_To = $activeTo; $settings->save(); } return $settings; }