예제 #1
0
파일: Settings.php 프로젝트: RobBickel/las
 /**
  * Qos method - save Qos settings
  *
  * @package     las
  * @version     1.0
  */
 public static function qos($settings)
 {
     $validation = new \Las\Extension\Validation();
     $validation->add('defaultClass', new Validator\InclusionIn(array('domain' => Services::priority())));
     $validation->add('enableQos', new Validator\InclusionIn(array('domain' => [0, 1])));
     $validation->add('highestRate', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('highestRate', null, $settings)))));
     $validation->add('highestRate', new Validator\Between(array('minimum' => 1, 'maximum' => Services::rate('highestRate'))));
     $validation->add('highestCeil', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('highestCeil', null, $settings)))));
     $validation->add('highRate', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('highRate', null, $settings)))));
     $validation->add('highRate', new Validator\Between(array('minimum' => 1, 'maximum' => Services::rate('highRate'))));
     $validation->add('highCeil', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('highCeil', null, $settings)))));
     $validation->add('mediumRate', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('mediumRate', null, $settings)))));
     $validation->add('mediumRate', new Validator\Between(array('minimum' => 1, 'maximum' => Services::rate('mediumRate'))));
     $validation->add('mediumCeil', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('mediumCeil', null, $settings)))));
     $validation->add('lowRate', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('lowRate', null, $settings)))));
     $validation->add('lowRate', new Validator\Between(array('minimum' => 1, 'maximum' => Services::rate('lowRate'))));
     $validation->add('lowCeil', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('lowCeil', null, $settings)))));
     $validation->add('lowestRate', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('lowestRate', null, $settings)))));
     $validation->add('lowestRate', new Validator\Between(array('minimum' => 1, 'maximum' => Services::rate('lowestRate'))));
     $validation->add('lowestCeil', new Validator\InclusionIn(array('domain' => array_keys(Settings::options('lowestCeil', null, $settings)))));
     $validation->setLabels(array('defaultClass' => __('Default class'), 'enableQos' => __('Enable qos'), 'highestRate' => __('Highest rate'), 'highestCeil' => __('Highest ceil'), 'highRate' => __('High rate'), 'highCeil' => __('High ceil'), 'mediumRate' => __('Medium rate'), 'mediumCeil' => __('Medium ceil'), 'lowRate' => __('Low rate'), 'lowCeil' => __('Low ceil'), 'lowestRate' => __('Lowest rate'), 'lowestCeil' => __('Lowest ceil')));
     return Settings::updateSettings($settings, $validation);
 }