protected function getData($check = false)
    {
        $data = $this->getParameters();

        if ($this->hasRequestParameter('type')) {
            $type = $this->getRequestParameter('type');
            unset($data['type']);

            if ($type !== 'custom_input') {
                foreach ($data as $key => $value) {
                    $data[$type . '_' . $key] = $value;
                    unset($data[$key]);
                }
            }
        }

        $data = $this->mapData($data);

        if ($this->hasRequestParameter('school_name')) {
            $data[Storage::DIAGNOSTIC_SCHOOL_NAME] = \tao_helpers_Display::sanitizeXssHtml(trim($this->getRequestParameter('school_name')));
        }
        if ($this->hasRequestParameter('school_number')) {
            $data[Storage::DIAGNOSTIC_SCHOOL_NUMBER] = \tao_helpers_Display::sanitizeXssHtml(trim($this->getRequestParameter('school_number')));
        }

        if ($check) {
            if (!$this->hasRequestParameter('os')) {
                throw new \common_exception_MissingParameter('os');
            }
            if (!$this->hasRequestParameter('osVersion')) {
                throw new \common_exception_MissingParameter('osVersion');
            }
            if (!$this->hasRequestParameter('browser')) {
                throw new \common_exception_MissingParameter('browser');
            }
            if (!$this->hasRequestParameter('browserVersion')) {
                throw new \common_exception_MissingParameter('browserVersion');
            }
            $data['osVersion'] = preg_replace('/[^\w\.]/', '', $data['osVersion']);
            $data['browserVersion'] = preg_replace('/[^\w\.]/', '', $data['browserVersion']);
        }

        if (isset($_COOKIE['login'])) {
            $data['login'] = $_COOKIE['login'];
        } else {
            $data['login'] = 'Anonymous';
        }

        $user = \common_session_SessionManager::getSession()->getUser();
        if ($user && $user->getIdentifier()) {
            $data['user_id'] = $user->getIdentifier();
        }

        $data['version'] = $this->getServiceLocator()->get(\common_ext_ExtensionsManager::SERVICE_ID)->getExtensionById('taoClientDiagnostic')->getVersion();

        $data['ip'] = (!empty($_SERVER['HTTP_X_REAL_IP'])) ? $_SERVER['HTTP_X_REAL_IP'] : ((!empty($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : 'unknown');
        return $data;
    }
protected function getData($check = false)
    {
        $data = $this->getParameters();

        if ($this->hasRequestParameter('type')) {
            $type = $this->getRequestParameter('type');
            unset($data['type']);

            if ($type !== 'custom_input') {
                foreach ($data as $key => $value) {
                    $data[$type . '_' . $key] = $value;
                    unset($data[$key]);
                }
            }
        }

        $data = $this->mapData($data);

        if ($this->hasRequestParameter('school_name')) {
            $data[Storage::DIAGNOSTIC_SCHOOL_NAME] = \tao_helpers_Display::sanitizeXssHtml(trim($this->getRequestParameter('school_name')));
        }
        if ($this->hasRequestParameter('school_number')) {
            $data[Storage::DIAGNOSTIC_SCHOOL_NUMBER] = \tao_helpers_Display::sanitizeXssHtml(trim($this->getRequestParameter('school_number')));
        }

        if ($check) {
            if (!$this->hasRequestParameter('os')) {
                throw new \common_exception_MissingParameter('os');
            }
            if (!$this->hasRequestParameter('osVersion')) {
                throw new \common_exception_MissingParameter('osVersion');
            }
            if (!$this->hasRequestParameter('browser')) {
                throw new \common_exception_MissingParameter('browser');
            }
            if (!$this->hasRequestParameter('browserVersion')) {
                throw new \common_exception_MissingParameter('browserVersion');
            }
            $data['osVersion'] = preg_replace('/[^\w\.]/', '', $data['osVersion']);
            $data['browserVersion'] = preg_replace('/[^\w\.]/', '', $data['browserVersion']);
        }

        if (isset($_COOKIE['login'])) {
            $data['login'] = $_COOKIE['login'];
        } else {
            $data['login'] = 'Anonymous';
        }

        $user = \common_session_SessionManager::getSession()->getUser();
        if ($user && $user->getIdentifier()) {
            $data['user_id'] = $user->getIdentifier();
        }

        $data['version'] = $this->getServiceLocator()->get(\common_ext_ExtensionsManager::SERVICE_ID)->getExtensionById('taoClientDiagnostic')->getVersion();

        $data['ip'] = (!empty($_SERVER['HTTP_X_REAL_IP'])) ? $_SERVER['HTTP_X_REAL_IP'] : ((!empty($_SERVER['REMOTE_ADDR'])) ? $_SERVER['REMOTE_ADDR'] : 'unknown');
        return $data;
    }
protected function getData ( $ check = false ) { $ data = $ this -> getParameters ( ) ; if ( $ this -> hasRequestParameter ( 'type' ) ) { $ type = $ this -> getRequestParameter ( 'type' ) ; unset ( $ data [ 'type' ] ) ; if ( $ type !== 'custom_input' ) { foreach ( $ data as $ key => $ value ) { $ data [ $ type . '_' . $ key ] = $ value ; unset ( $ data [ $ key ] ) ; } } } $ data = $ this -> mapData ( $ data ) ; if ( $ this -> hasRequestParameter ( 'school_name' ) ) { $ data [ Storage :: DIAGNOSTIC_SCHOOL_NAME ] = \ tao_helpers_Display :: sanitizeXssHtml ( trim ( $ this -> getRequestParameter ( 'school_name' ) ) ) ; } if ( $ this -> hasRequestParameter ( 'school_number' ) ) { $ data [ Storage :: DIAGNOSTIC_SCHOOL_NUMBER ] = \ tao_helpers_Display :: sanitizeXssHtml ( trim ( $ this -> getRequestParameter ( 'school_number' ) ) ) ; } if ( $ check ) { if ( ! $ this -> hasRequestParameter ( 'os' ) ) { throw new \ common_exception_MissingParameter ( 'os' ) ; } if ( ! $ this -> hasRequestParameter ( 'osVersion' ) ) { throw new \ common_exception_MissingParameter ( 'osVersion' ) ; } if ( ! $ this -> hasRequestParameter ( 'browser' ) ) { throw new \ common_exception_MissingParameter ( 'browser' ) ; } if ( ! $ this -> hasRequestParameter ( 'browserVersion' ) ) { throw new \ common_exception_MissingParameter ( 'browserVersion' ) ; } $ data [ 'osVersion' ] = preg_replace ( '/[^\w\.]/' , '' , $ data [ 'osVersion' ] ) ; $ data [ 'browserVersion' ] = preg_replace ( '/[^\w\.]/' , '' , $ data [ 'browserVersion' ] ) ; } if ( isset ( $ _COOKIE [ 'login' ] ) ) { $ data [ 'login' ] = $ _COOKIE [ 'login' ] ; } else { $ data [ 'login' ] = 'Anonymous' ; } $ user = \ common_session_SessionManager :: getSession ( ) -> getUser ( ) ; if ( $ user && $ user -> getIdentifier ( ) ) { $ data [ 'user_id' ] = $ user -> getIdentifier ( ) ; } $ data [ 'version' ] = $ this -> getServiceLocator ( ) -> get ( \ common_ext_ExtensionsManager :: SERVICE_ID ) -> getExtensionById ( 'taoClientDiagnostic' ) -> getVersion ( ) ; $ data [ 'ip' ] = ( ! empty ( $ _SERVER [ 'HTTP_X_REAL_IP' ] ) ) ? $ _SERVER [ 'HTTP_X_REAL_IP' ] : ( ( ! empty ( $ _SERVER [ 'REMOTE_ADDR' ] ) ) ? $ _SERVER [ 'REMOTE_ADDR' ] : 'unknown' ) ; return $ data ; }
Fetch POST data
Get login by cookie
Get Ip
If check parameters is true, check mandatory parameters

@param bool $check
@return array
@throws \common_exception_MissingParameter
Fetch POST data Get login by cookie Get Ip If check parameters is true check mandatory parameters