public function getFieldsConfig() {
		$cachePath = 'local_fields_fields_schema';
		$cached = Cache::read($cachePath, CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB);
		if ($cached !== false) {
			return $cached;
		}

		$result = [];
		$schema = $this->schema();
		$ldapFieldsInfo = $this->_modelConfigSync->getLdapFieldsInfo();
		$bindModelFields = $this->_getListBindModelFields();
		foreach ($schema as $fieldName => $fieldInfo) {
			switch ($fieldName) {
				case CAKE_LDAP_LDAP_ATTRIBUTE_OBJECT_GUID:
					$type = 'guid';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_BIRTHDAY:
					$type = 'date';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_PHOTO:
					$type = 'photo';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_MAIL:
					$type = 'mail';
					break;
				default:
					$type = $fieldInfo['type'];
			}
			$truncate = (bool)Hash::get($ldapFieldsInfo, $fieldName . '.truncate');
			$result[$this->alias . '.' . $fieldName] = compact('type', 'truncate');
		}

		foreach ($bindModelFields as $fieldName => $bindFieldName) {
			switch ($fieldName) {
				case CAKE_LDAP_LDAP_ATTRIBUTE_DEPARTMENT:
					//$type = 'department';
					$type = 'string';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_MANAGER:
					$type = 'manager';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER:
				case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER:
					$type = 'string';
					break;
			}
			$truncate = (bool)Hash::get($ldapFieldsInfo, $fieldName . '.truncate');
			$result[$bindFieldName] = compact('type', 'truncate');
		}

		$extendFieldsConfig = $this->getExtendFieldsConfig();
		if (!empty($extendFieldsConfig) && is_array($extendFieldsConfig)) {
			$result += $extendFieldsConfig;
		}
		Cache::write($cachePath, $result, CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB);

		return $result;
	}
public function getFieldsConfig() {
		$cachePath = 'local_fields_fields_schema';
		$cached = Cache::read($cachePath, CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB);
		if ($cached !== false) {
			return $cached;
		}

		$result = [];
		$schema = $this->schema();
		$ldapFieldsInfo = $this->_modelConfigSync->getLdapFieldsInfo();
		$bindModelFields = $this->_getListBindModelFields();
		foreach ($schema as $fieldName => $fieldInfo) {
			switch ($fieldName) {
				case CAKE_LDAP_LDAP_ATTRIBUTE_OBJECT_GUID:
					$type = 'guid';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_BIRTHDAY:
					$type = 'date';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_PHOTO:
					$type = 'photo';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_MAIL:
					$type = 'mail';
					break;
				default:
					$type = $fieldInfo['type'];
			}
			$truncate = (bool)Hash::get($ldapFieldsInfo, $fieldName . '.truncate');
			$result[$this->alias . '.' . $fieldName] = compact('type', 'truncate');
		}

		foreach ($bindModelFields as $fieldName => $bindFieldName) {
			switch ($fieldName) {
				case CAKE_LDAP_LDAP_ATTRIBUTE_DEPARTMENT:
					//$type = 'department';
					$type = 'string';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_MANAGER:
					$type = 'manager';
					break;
				case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER:
				case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER:
					$type = 'string';
					break;
			}
			$truncate = (bool)Hash::get($ldapFieldsInfo, $fieldName . '.truncate');
			$result[$bindFieldName] = compact('type', 'truncate');
		}

		$extendFieldsConfig = $this->getExtendFieldsConfig();
		if (!empty($extendFieldsConfig) && is_array($extendFieldsConfig)) {
			$result += $extendFieldsConfig;
		}
		Cache::write($cachePath, $result, CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB);

		return $result;
	}
public function getFieldsConfig ( ) { $ cachePath = 'local_fields_fields_schema' ; $ cached = Cache :: read ( $ cachePath , CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB ) ; if ( $ cached !== false ) { return $ cached ; } $ result = [ ] ; $ schema = $ this -> schema ( ) ; $ ldapFieldsInfo = $ this -> _modelConfigSync -> getLdapFieldsInfo ( ) ; $ bindModelFields = $ this -> _getListBindModelFields ( ) ; foreach ( $ schema as $ fieldName => $ fieldInfo ) { switch ( $ fieldName ) { case CAKE_LDAP_LDAP_ATTRIBUTE_OBJECT_GUID : $ type = 'guid' ; break ; case CAKE_LDAP_LDAP_ATTRIBUTE_BIRTHDAY : $ type = 'date' ; break ; case CAKE_LDAP_LDAP_ATTRIBUTE_PHOTO : $ type = 'photo' ; break ; case CAKE_LDAP_LDAP_ATTRIBUTE_MAIL : $ type = 'mail' ; break ; default : $ type = $ fieldInfo [ 'type' ] ; } $ truncate = ( bool ) Hash :: get ( $ ldapFieldsInfo , $ fieldName . '.truncate' ) ; $ result [ $ this -> alias . '.' . $ fieldName ] = compact ( 'type' , 'truncate' ) ; } foreach ( $ bindModelFields as $ fieldName => $ bindFieldName ) { switch ( $ fieldName ) { case CAKE_LDAP_LDAP_ATTRIBUTE_DEPARTMENT : //$type = 'department'; $ type = 'string' ; break ; case CAKE_LDAP_LDAP_ATTRIBUTE_MANAGER : $ type = 'manager' ; break ; case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_TELEPHONE_NUMBER : case CAKE_LDAP_LDAP_ATTRIBUTE_OTHER_MOBILE_TELEPHONE_NUMBER : $ type = 'string' ; break ; } $ truncate = ( bool ) Hash :: get ( $ ldapFieldsInfo , $ fieldName . '.truncate' ) ; $ result [ $ bindFieldName ] = compact ( 'type' , 'truncate' ) ; } $ extendFieldsConfig = $ this -> getExtendFieldsConfig ( ) ; if ( ! empty ( $ extendFieldsConfig ) && is_array ( $ extendFieldsConfig ) ) { $ result += $ extendFieldsConfig ; } Cache :: write ( $ cachePath , $ result , CAKE_LDAP_CACHE_KEY_LDAP_SYNC_DB ) ; return $ result ; }
Return fields configuration for helper

@return array Return array fields configuration.
Return fields configuration for helper