public function getPropertyValues( core_kernel_classes_Resource $resource,  core_kernel_classes_Property $property, $options = array())
    {
        $returnValue = array();

        
        $one = isset($options['one']) && $options['one'] == true ? true : false;
        if (isset($options['last'])) {
            throw new core_kernel_persistence_Exception('Option \'last\' no longer supported');
        }
		$platform = $this->getPersistence()->getPlatForm();
		
    	// Define language if required
		$lang = '';
		$defaultLg = '';
		if (isset($options['lg'])) {
			$lang = $options['lg'];
		} else {
            $lang = $this->getServiceLocator()->get(SessionService::SERVICE_ID)->getCurrentSession()->getDataLanguage();
            $default = $this->getServiceLocator()->get(UserLanguageServiceInterface::SERVICE_ID)->getDefaultLanguage();
            $defaultLg = ' OR l_language = ' . $this->getPersistence()->quote($default);
		}
		
        $query =  'SELECT object, l_language
        			FROM statements 
		    		WHERE subject = ? 
		    		AND predicate = ?
					AND (l_language = ? OR l_language = ' . $this->getPersistence()->quote('') . $defaultLg . ')
		    		AND '.$this->getModelReadSqlCondition();
        
    	
		if ($one) {
            // Select first
			$query .= ' ORDER BY id DESC';
			$query = $platform->limitStatement($query, 1, 0);
			$result = $this->getPersistence()->query($query,array($resource->getUri(), $property->getUri(), $lang));
		} else {
            // Select All
			$result = $this->getPersistence()->query($query,array($resource->getUri(), $property->getUri(), $lang));
		}
        
		// Treat the query result
        if ($result == true) {
        	if (isset($options['lg'])) {
                // If a language has been defined, do not filter result by language
		    	while ($row = $result->fetch()) {
					$returnValue[] = $this->getPersistence()->getPlatForm()->getPhpTextValue($row['object']);
				}
        	} else {
                // Filter result by language and return one set of values (User language in top priority, default language in second and the fallback language (null) in third)
                $returnValue = core_kernel_persistence_smoothsql_Utils::filterByLanguage($this->getPersistence(), $result->fetchAll(), 'l_language', $lang, $default);
        	}
        }
        
        return (array) $returnValue;
    }
public function getPropertyValues( core_kernel_classes_Resource $resource,  core_kernel_classes_Property $property, $options = array())
    {
        $returnValue = array();

        
        $one = isset($options['one']) && $options['one'] == true ? true : false;
        if (isset($options['last'])) {
            throw new core_kernel_persistence_Exception('Option \'last\' no longer supported');
        }
		$platform = $this->getPersistence()->getPlatForm();
		
    	// Define language if required
		$lang = '';
		$defaultLg = '';
		if (isset($options['lg'])) {
			$lang = $options['lg'];
		} else {
            $lang = $this->getServiceLocator()->get(SessionService::SERVICE_ID)->getCurrentSession()->getDataLanguage();
            $default = $this->getServiceLocator()->get(UserLanguageServiceInterface::SERVICE_ID)->getDefaultLanguage();
            $defaultLg = ' OR l_language = ' . $this->getPersistence()->quote($default);
		}
		
        $query =  'SELECT object, l_language
        			FROM statements 
		    		WHERE subject = ? 
		    		AND predicate = ?
					AND (l_language = ? OR l_language = ' . $this->getPersistence()->quote('') . $defaultLg . ')
		    		AND '.$this->getModelReadSqlCondition();
        
    	
		if ($one) {
            // Select first
			$query .= ' ORDER BY id DESC';
			$query = $platform->limitStatement($query, 1, 0);
			$result = $this->getPersistence()->query($query,array($resource->getUri(), $property->getUri(), $lang));
		} else {
            // Select All
			$result = $this->getPersistence()->query($query,array($resource->getUri(), $property->getUri(), $lang));
		}
        
		// Treat the query result
        if ($result == true) {
        	if (isset($options['lg'])) {
                // If a language has been defined, do not filter result by language
		    	while ($row = $result->fetch()) {
					$returnValue[] = $this->getPersistence()->getPlatForm()->getPhpTextValue($row['object']);
				}
        	} else {
                // Filter result by language and return one set of values (User language in top priority, default language in second and the fallback language (null) in third)
                $returnValue = core_kernel_persistence_smoothsql_Utils::filterByLanguage($this->getPersistence(), $result->fetchAll(), 'l_language', $lang, $default);
        	}
        }
        
        return (array) $returnValue;
    }
public function getPropertyValues ( core_kernel_classes_Resource $ resource , core_kernel_classes_Property $ property , $ options = array ( ) ) { $ returnValue = array ( ) ; $ one = isset ( $ options [ 'one' ] ) && $ options [ 'one' ] == true ? true : false ; if ( isset ( $ options [ 'last' ] ) ) { throw new core_kernel_persistence_Exception ( 'Option \'last\' no longer supported' ) ; } $ platform = $ this -> getPersistence ( ) -> getPlatForm ( ) ; // Define language if required $ lang = '' ; $ defaultLg = '' ; if ( isset ( $ options [ 'lg' ] ) ) { $ lang = $ options [ 'lg' ] ; } else { $ lang = $ this -> getServiceLocator ( ) -> get ( SessionService :: SERVICE_ID ) -> getCurrentSession ( ) -> getDataLanguage ( ) ; $ default = $ this -> getServiceLocator ( ) -> get ( UserLanguageServiceInterface :: SERVICE_ID ) -> getDefaultLanguage ( ) ; $ defaultLg = ' OR l_language = ' . $ this -> getPersistence ( ) -> quote ( $ default ) ; } $ query = 'SELECT object, l_language
        			FROM statements 
		    		WHERE subject = ? 
		    		AND predicate = ?
					AND (l_language = ? OR l_language = ' . $ this -> getPersistence ( ) -> quote ( '' ) . $ defaultLg . ')
		    		AND ' . $ this -> getModelReadSqlCondition ( ) ; if ( $ one ) { // Select first $ query .= ' ORDER BY id DESC' ; $ query = $ platform -> limitStatement ( $ query , 1 , 0 ) ; $ result = $ this -> getPersistence ( ) -> query ( $ query , array ( $ resource -> getUri ( ) , $ property -> getUri ( ) , $ lang ) ) ; } else { // Select All $ result = $ this -> getPersistence ( ) -> query ( $ query , array ( $ resource -> getUri ( ) , $ property -> getUri ( ) , $ lang ) ) ; } // Treat the query result if ( $ result == true ) { if ( isset ( $ options [ 'lg' ] ) ) { // If a language has been defined, do not filter result by language while ( $ row = $ result -> fetch ( ) ) { $ returnValue [ ] = $ this -> getPersistence ( ) -> getPlatForm ( ) -> getPhpTextValue ( $ row [ 'object' ] ) ; } } else { // Filter result by language and return one set of values (User language in top priority, default language in second and the fallback language (null) in third) $ returnValue = core_kernel_persistence_smoothsql_Utils :: filterByLanguage ( $ this -> getPersistence ( ) , $ result -> fetchAll ( ) , 'l_language' , $ lang , $ default ) ; } } return ( array ) $ returnValue ; }
Short description of method getPropertyValues

@access public
@author Joel Bout, <joel.bout@tudor.lu>
@param  Resource resource
@param  Property property
@param  array options
@return array
Short description of method getPropertyValues