protected function validate_scaleconfiguration($value) {
        $scaledefaultselected = false;
        $proficientselected = false;
        $scaleconfigurations = json_decode($value);

        if (is_array($scaleconfigurations)) {

            // The first element of the array contains the scale ID.
            $scaleinfo = array_shift($scaleconfigurations);
            if (empty($scaleinfo) || !isset($scaleinfo->scaleid) || $scaleinfo->scaleid != $this->get('scaleid')) {
                // This should never happen.
                return new lang_string('errorscaleconfiguration', 'core_competency');
            }

            // Walk through the array to find proficient and default values.
            foreach ($scaleconfigurations as $scaleconfiguration) {
                if (isset($scaleconfiguration->scaledefault) && $scaleconfiguration->scaledefault) {
                    $scaledefaultselected = true;
                }
                if (isset($scaleconfiguration->proficient) && $scaleconfiguration->proficient) {
                    $proficientselected = true;
                }
            }
        }

        if (!$scaledefaultselected || !$proficientselected) {
            return new lang_string('errorscaleconfiguration', 'core_competency');
        }

        return true;
    }
protected function validate_scaleconfiguration($value) {
        $scaledefaultselected = false;
        $proficientselected = false;
        $scaleconfigurations = json_decode($value);

        if (is_array($scaleconfigurations)) {

            // The first element of the array contains the scale ID.
            $scaleinfo = array_shift($scaleconfigurations);
            if (empty($scaleinfo) || !isset($scaleinfo->scaleid) || $scaleinfo->scaleid != $this->get('scaleid')) {
                // This should never happen.
                return new lang_string('errorscaleconfiguration', 'core_competency');
            }

            // Walk through the array to find proficient and default values.
            foreach ($scaleconfigurations as $scaleconfiguration) {
                if (isset($scaleconfiguration->scaledefault) && $scaleconfiguration->scaledefault) {
                    $scaledefaultselected = true;
                }
                if (isset($scaleconfiguration->proficient) && $scaleconfiguration->proficient) {
                    $proficientselected = true;
                }
            }
        }

        if (!$scaledefaultselected || !$proficientselected) {
            return new lang_string('errorscaleconfiguration', 'core_competency');
        }

        return true;
    }
protected function validate_scaleconfiguration ( $ value ) { $ scaledefaultselected = false ; $ proficientselected = false ; $ scaleconfigurations = json_decode ( $ value ) ; if ( is_array ( $ scaleconfigurations ) ) { // The first element of the array contains the scale ID. $ scaleinfo = array_shift ( $ scaleconfigurations ) ; if ( empty ( $ scaleinfo ) || ! isset ( $ scaleinfo -> scaleid ) || $ scaleinfo -> scaleid != $ this -> get ( 'scaleid' ) ) { // This should never happen. return new lang_string ( 'errorscaleconfiguration' , 'core_competency' ) ; } // Walk through the array to find proficient and default values. foreach ( $ scaleconfigurations as $ scaleconfiguration ) { if ( isset ( $ scaleconfiguration -> scaledefault ) && $ scaleconfiguration -> scaledefault ) { $ scaledefaultselected = true ; } if ( isset ( $ scaleconfiguration -> proficient ) && $ scaleconfiguration -> proficient ) { $ proficientselected = true ; } } } if ( ! $ scaledefaultselected || ! $ proficientselected ) { return new lang_string ( 'errorscaleconfiguration' , 'core_competency' ) ; } return true ; }
Validate the scale configuration.

@param  string $value The scale configuration.
@return bool|lang_string
Validate the scale configuration .